MENU_SELECT_PROCES_DATA = V::get('MENU_SELECT_PROCES_DATA', null, $_SESSION);// URL $this->_user_id = User::getID(); if (User::isAdmin()) { $this->_user_id = V::get('_user_id', 0, $_POST, 'int'); if (!$this->_user_id) { $this->_user_id = User::getID(); } } $this->_acl = UsersHelper::getUserAcl($this->_user_id); if (!$this->_acl) { die('Error Acl'); } // TODO: TEST if ('' != V::get('DBG', '', $_GET)) { echo '
'; //$this->_acl->old(); echo '
'; echo '
'; $this->_acl->old_fixed(); echo '
'; } $this->CRM_PROCES_USERA_UZYTY_MAP = $this->_acl->getUsedProcesMap(); // TODO: run only if needed $this->_generate_wyniki_testow(); } static function getInstance() { static $_instance = null; if (!$_instance) { $_instance = new ProcesMenu(); } return $_instance; } function show() { static $_menu_showed = false; if (!$_menu_showed) { $actionName = V::get('_action', 'menu', $_REQUEST); // podglad testów pracownika if (User::isAdmin() && $this->_user_id != User::getID()) { $actionName = 'showMyTests'; } $actionName .= 'Action'; if (method_exists($this, $actionName)) { $this->{$actionName}(); } //$this->show_menu_with_process(); $_menu_showed = true; } } /** * @return Array */ function get_wykonane_testy() { $testy_arr = array(); if ($this->_user_id > 0) { $ses_cache_key = 'CRM_PROCES_USERA_WYKONANE_TESTY-' . $this->_user_id; if ('1' == V::get('_CLEAN_CACHE', '', $_GET)) unset($_SESSION[$ses_cache_key]);// TODO: DBG if (!isset($_SESSION[$ses_cache_key])) { $proces_map = $this->_acl->getUsedProcesMap(); if (!empty($proces_map)) { $testy_arr = ProcesTestyHelper::get_tetsy_stats($this->_user_id, 0, array_keys($proces_map));// 30000000 => 0 // check if tests are actual - proces steps may change if (!empty($testy_arr)) { $procesy_steps = array(); foreach ($testy_arr as $v_test) { $procesy_steps[$v_test->ID_PROCES_INIT] = V::get($v_test->ID_PROCES_INIT, null, $proces_map); } foreach ($procesy_steps as $k_proces_id => $v_steps_arr) { $last_test = null; foreach ($testy_arr as $k_ind => $v_test) { if ($v_test->ID_PROCES_INIT == $k_proces_id) { $last_test = $v_test; $last_test->test_ind = $k_ind; break; } } if (!$last_test || $last_test->TEST_END == '0000-00-00') { continue; } $max_update_date = ProcesTestyHelper::get_max_update_date($v_steps_arr); if ($max_update_date) { $max_update_date = substr($max_update_date, 0, 10); $test_end = substr($last_test->TEST_END, 0, 10); if('1' == V::get('DBG_PM', '', $_GET)){echo'
'."P_INIT({$k_proces_id}) max_update_date({$max_update_date}) TEST_END({$last_test->TEST_END}) not actual(" . ($max_update_date > $last_test->TEST_END) . ")".' (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($last_test);echo'
';} if ($max_update_date > $test_end) { $testy_arr[$last_test->test_ind]->unactual = $max_update_date; $testy_arr[$last_test->test_ind]->unactualId = $last_test->ID; } } } } } $_SESSION[$ses_cache_key] = $testy_arr; } return $_SESSION[$ses_cache_key]; } return $testy_arr; } function setError($error) { $this->error[] = $error; } function ifError() {// TODO: RMME if (!empty($this->error)) { return true; } else { DEBUG_S(-1,'Wydarzyły się błędy uniemożliwiające kontynuacje pracy modułu',$this->error,__FILE__,__FUNCTION__,__LINE__); die(); return false; } } function set_current_menu($new_menu) { $this->MENU_SELECT_PROCES = $new_menu; } /** * Set $_SESSION['MENU_SELECT_PROCES_DATA'] from $this->MENU_SELECT_PROCES_DATA */ function set_current_menu_data() { $_SESSION['MENU_SELECT_PROCES_DATA'] = array(); foreach ($this->MENU_SELECT_PROCES_DATA as $k_ind => $v_arr) { if (!empty($v_arr)) { $_SESSION['MENU_SELECT_PROCES_DATA'][$k_ind] = $v_arr; } } } function showMyTestsAction() { $this->menuAction(); $userAcl = User::getAcl(); $procesyInitGroup = $this->getUsedProcesInitGroupedList(); if (empty($procesyInitGroup)) { echo '

' . "Brak przypisanych procesów." . '

'; return; } ?> _acl->fetchGroups(); $idZasobowUsera = array_keys($userGroups); $idZasobowUsera = reset($idZasobowUsera); ?>
sub as $proces_id => $proces_desc) : ?> get_ocena_testu($proces_id, 'TEORETYCZNY'); $wynik_teoretyczny_value = $this->get_ocena_testu_value($proces_id, 'TEORETYCZNY'); if ($wynik_teoretyczny == 'BRAK_PYTAN') { $wynik_teoretyczny_value = ''; } $wynik_praktyczny = $this->get_ocena_testu($proces_id, 'PRAKTYCZNY'); $wynik_unactual = $this->isTestUnactual($proces_id, 'TEORETYCZNY'); ?>
{}
  • getPermsProcesId() == $proces_id) : ?> Wyłącz filtr uprawnien dla Uruchom filtr uprawnien dla
  • Wykonaj test teoretyczny dla
  • Test teoretyczny: ()
  • Test praktyczny:
  • Uwaga! Test nieaktualny: unactualId) : ?> popraw
    TEST_END; ?> - zakończenie testu
    unactual; ?> - ostatnia zmiana w procesie
    = 4) : $i = 0; ?>
    _acl->getUsedProcesInitList(); if (empty($procesyInitList)) { return; } $sqlProcesyInitIds = implode(",", array_keys($procesyInitList)); $sql = "select p.`ID`, p.`PARENT_ID`, pp.`DESC` as pp__DESC from `CRM_PROCES` as p join `CRM_PROCES` as pp on(pp.`ID`=p.`PARENT_ID`) where p.`ID` in({$sqlProcesyInitIds}) "; $groupedProcesyInit = array(); $db = DB::getDB(); $res = $db->query($sql); while ($r = $db->fetch($res)) { if (!array_key_exists($r->PARENT_ID, $procesyInitGroup)) { $procesyInitGroup[$r->PARENT_ID] = (object)array('nr'=>$r->PARENT_ID, 'label'=>$r->pp__DESC, 'sub'=>array()); } $procesyInitGroup[$r->PARENT_ID]->sub[$r->ID] = $procesyInitList[$r->ID]; $groupedProcesyInit[] = $r->ID; } $ungroupedProcesyInit = array_diff(array_keys($procesyInitList), $groupedProcesyInit); if (!empty($ungroupedProcesyInit)) { $procesyInitGroup[$r->PARENT_ID] = (object)array('nr'=>null, 'label'=>"Pozostałe", 'sub'=>array()); foreach ($ungroupedProcesyInit as $nr) { $procesyInitGroup[$r->PARENT_ID]->sub[$nr] = $procesyInitList[$nr]; } } return $procesyInitGroup; } function menuAction() { $testy_teoretyczne = $this->get_actual_tests_count('TEORETYCZNY'); $testy_praktyczne = $this->get_actual_tests_count('PRAKTYCZNY'); $procesy_init_arr = $this->_acl->getUsedProcesInitIds(); $proces_cnt = count($procesy_init_arr); $testy_ok = $this->get_actual_tests_count(); $MojeTestyTitle = "Ilość Procesów: {$proces_cnt}, Aktualnych testów: {$testy_ok}, Teoretycznych: {$testy_teoretyczne}, Praktycznych: {$testy_praktyczne}"; $userAcl = User::getAcl(); $tbls = $userAcl->getTablesAcl(); $urls = $userAcl->getUrls(); $outMenus = array(); $outBtnsMenus = array(); if (!empty($tbls)) { foreach ($tbls as $kZasobID => $vTblAcl) { $outMenus[$kZasobID] = $vTblAcl->getLongLabel(); if ($userAcl->getPermsProcesId()) { $outBtnsMenus[$kZasobID] = $vTblAcl->getRawLabel(); } } } asort($outMenus); if ($userAcl->getPermsProcesId()) { asort($outBtnsMenus); } $outUrls = array(); if (!empty($urls)) { /** * [147] => Array( * [TYPE] => URL * [DESC] => ?MENU_INIT=DODAJ_REKORDY_MIESZKAN_FUNC * [OPIS] => Narzedzie do wprowadzania zasobow mieszkan indywidualnych */ foreach ($urls as $kZasobID => $vTitle) { $outUrls[$kZasobID] = $vTitle; } } asort($outUrls); $active = ''; $script_name = V::get('SCRIPT_NAME', '', $_SERVER); if (false !== strpos($script_name, 'index.php')) { $menu_init = V::get('MENU_INIT', '', $_GET); switch ($menu_init) { case 'VIEWTABLE_AJAX': $active = 'menu'; break; case 'VIEWTABLE_KONTAKTY': $active = 'kontakty'; break; default: { $fun_init = V::get('FUNCTION_INIT', '', $_GET); switch ($fun_init) { case 'MENU_SELECT_PROCES': $active = 'testy_moje'; break; case 'PRZYPOMNIJ_FUNC': $active = 'przypomnij'; break; case 'PRZYPOMNIJ': $active = 'przypomnij'; break; default: } } } } else if (false !== strpos($script_name, 'procesy5.php')) { $task = V::get('task', '', $_GET); switch ($task) { case 'CRM_PROCES': $active = 'procesy'; break; case 'CRM_LISTA_ZASOBOW': $active = 'zasoby'; break; case 'CRM_WYSWIETL_OBOWIAZKI': $active = 'obowiazki'; break; case 'CRM_TESTY': $active = 'testy'; break; case 'CRM_TESTY_WYNIKI': $active = 'testy_wyniki'; break; case 'CRM_SEARCH': $active = 'search'; break; default: // testy_moje ?FUNCTION_INIT=MENU_SELECT_PROCES&MENU_SELECT_PROCES=show_menu_with_process => _action=showMyTests } } /* * $_SESSION['USER_PROFILE'][section][key] = val; */ $userBookmarks = UserBookmarks::getInstance(); $bookmarksJson = array(); $bookmarks = $userBookmarks->getBookmarks(); foreach ($bookmarks as $kZasobID => $vClass) { if (array_key_exists($kZasobID, $tbls)) { $bookmarksJson[] = (object)array('id'=>$kZasobID, 'name'=>$tbls[$kZasobID]->getName(), 'label'=>$tbls[$kZasobID]->getRawLabel(), 'opis'=>$tbls[$kZasobID]->getOpis(), 'type'=>'menu', 'class'=>$vClass); } else if (array_key_exists($kZasobID, $urls)) { $bookmarksJson[] = (object)array('id'=>$kZasobID, 'name'=>$urls[$kZasobID], 'type'=>'url', 'class'=>$vClass); } } $userGroupIdsCSV = User::getGroupsIds(); $userGroupIdsCSV = implode(',', $userGroupIdsCSV); $typeSpecialUserId = null; if (User::isAdmin()) { $typeSpecialUserId = TypespecialVariable::getInstance(-1, '__USER_ID'); } $typeSpecialZasob = TypespecialVariable::getInstance(-1, '__ZASOB'); $treeZasobyFilter = FilterFactory::build('CRM_LISTA_ZASOBOW'); $lastZasobyFiltrIds = $treeZasobyFilter->get_arg('filtr_id'); $userProcesIdsCSV = $this->_acl->getUsedProcesInitIds(); $userProcesIdsCSV = implode(',', $userProcesIdsCSV); $typeSpecialProces = TypespecialVariable::getInstance(-1, '__PROCES'); $treeProcesyFilter = FilterFactory::build('CRM_PROCES'); $lastProcesyFiltrIds = $treeProcesyFilter->get_arg('filtr_id'); $menuProcesViewedTblId = 0; if ('VIEWTABLE_AJAX' == V::get('MENU_INIT', '', $_REQUEST)) { $menuProcesViewedTblId = V::get('ZASOB_ID', 0, $_REQUEST, 'int'); } ?> getPermsProcesId()) : ?>
    Wyłącz filtr uprawnień: getPermsProcesId(); ?> $vName) : ?> $vTitle) : ?>
    _wynik_testu = array();// WYNIK_TESTU_PROCESU $this->_wynik_testu_unactual = array(); $this_CRM_PROCES_USERA_WYKONANE_TESTY = $this->get_wykonane_testy(); foreach ($this_CRM_PROCES_USERA_WYKONANE_TESTY as $v_test) { if (isset($this->_wynik_testu[$v_test->ID_PROCES_INIT][$v_test->TEST_TYPE])) { continue;// only first } $this->_wynik_testu[$v_test->ID_PROCES_INIT][$v_test->TEST_TYPE] = $v_test->OCENA; if (!empty($v_test->unactual)) { $x_test = new stdClass(); $x_test->TEST_END = substr($v_test->TEST_END, 0, 10); $x_test->unactual = substr($v_test->unactual, 0, 10); $x_test->unactualId = $v_test->unactualId; $this->_wynik_testu_unactual[$v_test->ID_PROCES_INIT][$v_test->TEST_TYPE] = $x_test; } } } function get_ocena_testu($proces_id, $typ) { $ocena = $this->get_ocena_testu_value($proces_id, $typ); if (!$ocena) { return 'BRAK_TESTU'; } else if ($ocena == -1) { return 'BRAK_PYTAN'; } else if ($ocena == 3) { return 'IDEALNY'; } else if ($ocena < 2) { return 'NIEDOSTATECZNY'; } else if($ocena < 2.5) { return 'DOSTATECZNY'; } else { return 'DOBRY'; } } function get_ocena_testu_value($proces_id, $typ) { if (isset($this->_wynik_testu[$proces_id][$typ])) { return $this->_wynik_testu[$proces_id][$typ]; } return null; } function isTestUnactual($proces_id, $typ) { if (isset($this->_wynik_testu_unactual[$proces_id][$typ])) { return $this->_wynik_testu_unactual[$proces_id][$typ]; } return false; } function get_actual_tests_count($type = null) { $this_CRM_PROCES_USERA_WYKONANE_TESTY = $this->get_wykonane_testy(); if ($type == 'TEORETYCZNY') { $testy_teoretyczne = 0; foreach ($this_CRM_PROCES_USERA_WYKONANE_TESTY as $int => $v_test) { if ($v_test->TEST_TYPE=='TEORETYCZNY') { if ($v_test->OCENA > 2.5) $testy_teoretyczne++; } } return $testy_teoretyczne; } else if ($type == 'PRAKTYCZNY') { $testy_praktyczne = 0; foreach ($this_CRM_PROCES_USERA_WYKONANE_TESTY as $int => $v_test) { if ($v_test->TEST_TYPE=='PRAKTYCZNY') { if ($v_test->OCENA > 2.5) $testy_praktyczne++; } } return $testy_praktyczne; } else if ($type == null) { return count($this_CRM_PROCES_USERA_WYKONANE_TESTY); } return 0; } function wylacz_filtr_uprawnien_dla_procesu() {// TODO: RMME => _action=setPermsAll unset($this->MENU_SELECT_PROCES_DATA['uruchom_filtr_uprawnien_dla_procesu']);// usun tryb jednego procesu $this->set_current_menu_data();// zapisz do sesji $this->set_perms_for_process();// domyslnie pusty włącza } function uruchom_filtr_uprawnien_dla_procesu() {// TODO: RMME => _action=setPermsByProces $proces_to_filter = V::get('ID_PROCES', '', $_REQUEST); $map = $this->_acl->getUsedProcesMap(); if (!in_array($proces_to_filter, $map)) {// TODO: chyba array_key_exists ? $this->setError(" Nie ma takiego procesu dla usera aby ustawic dla niego filtry"); } $this->ifError();// ? // TODO: RMME //szukam tabeli do ustalenia permow $this->unset_all_perms(); $this->MENU_SELECT_PROCES_DATA['uruchom_filtr_uprawnien_dla_procesu'] = $proces_to_filter; $this->set_current_menu_data(); $this->set_perms_for_process($proces_to_filter); $this->set_current_menu_data(); //$this->set_current_menu('show_menu_with_process'); //$this->show_menu_with_process(); } function unset_all_perms() { $dbg_czysc_permy = true;// @from USERS_FIELDS_PROFILE_INIT() foreach ($_SESSION as $ses_col_name => $col_vars) { if (!is_array($col_vars) || empty($col_vars)) continue; if ('_COLUMN' != substr($ses_col_name, -1 * strlen('_COLUMN'))) { continue; } if (empty($col_vars['PERMEDIT'])) continue; if ($dbg_czysc_permy) { foreach ($col_vars['PERMEDIT'] as $col_perm_ind => $col_perm_value) { if ($col_perm_ind != 'ID') { $_SESSION[$ses_col_name]['PERMEDIT'][$col_perm_ind] = ""; } } } } if (isset($_SESSION['MENU_SELECT_PROCES_DATA']['MENU_COLUMN'])) { foreach ($_SESSION['MENU_SELECT_PROCES_DATA']['MENU_COLUMN'] as $zasob => $val) { unset($this->MENU_SELECT_PROCES_DATA['MENU_COLUMN'][$zasob]); unset($_SESSION['MENU_SELECT_PROCES_DATA']['MENU_COLUMN'][$zasob]); } } } function set_perms_for_process($proces_to_filter = null) {// => setPermsByProcesAction if ($proces_to_filter) { $map = $this->_acl->getUsedProcesMap(); if (array_key_exists($proces_to_filter, $map)) { $CRM_PROCES_USERA_UZYTY = $map[$proces_to_filter]; } else { $CRM_PROCES_USERA_UZYTY = array(); } } else { $CRM_PROCES_USERA_UZYTY = $this->_acl->getUsedProcesIds(); } if (!empty($CRM_PROCES_USERA_UZYTY)) { return; } // ! @2013-02-11 zerzniete z USERS_FIELDS_PROFILE_INIT ! $CRM_WSKAZNIK_PROCES_WSKAZNIK_TREE = array(); $CRM_TREE_WSKAZNIK_NARZEDZIE = array(); $TREE_CRM_WSKAZNIK_CONF = array(); $TREE_CRM_WSKAZNIK_SORT_PRIO = array(); $db = DB::getDB(); //kopiuje tabele ze wskaznikow $sql = "select t1.`ID_PROCES` , t1.`ID_ZASOB` , replace(t2.`FORM_TREAT`, ',', '') as FORM_TREAT , t3.`DESC` as ZASOB_DESC , t3.`TYPE` , t4.`DESC` as PARENT_ZASOB_DESC , t4.`TYPE` as PARENT_TYPE , t3.`SORT_PRIO` as z__SORT_PRIO , t3.`OPIS` as ZASOB_OPIS , t1.`ID` as ID_WSKAZNIK from `CRM_WSKAZNIK` as t1 left join `CRM_PRZYPADEK` as t2 on (t1.ID_PRZYPADEK=t2.ID) left join `CRM_LISTA_ZASOBOW` as t3 on (t3.ID=t1.ID_ZASOB) left join `CRM_LISTA_ZASOBOW` as t4 on (t4.ID=t3.PARENT_ID) where ( ( t3.`TYPE`='KOMORKA' and t4.`TYPE`='TABELA' ) or (t3.`TYPE`='NARZEDZIE') or (t3.`TYPE`='URL') ) and t1.`A_STATUS` in('NORMAL', 'WAITING') and t1.`ID_PROCES` in(" . implode(",", $CRM_PROCES_USERA_UZYTY) . ") "; $res = $db->query($sql); if (!$res) { return; } while ($r = $db->fetch($res)) { if ($r->TYPE == 'NARZEDZIE') { if (isset($CRM_TREE_WSKAZNIK_NARZEDZIE[$r->ID_ZASOB])) { $CRM_TREE_WSKAZNIK_NARZEDZIE[$r->ID_ZASOB] .= $r->FORM_TREAT; } else { $CRM_TREE_WSKAZNIK_NARZEDZIE[$r->ID_ZASOB] = $r->FORM_TREAT; } $CRM_WSKAZNIK_PROCES_WSKAZNIK_TREE[$r->ID_PROCES][] = $r->ID_WSKAZNIK;//ustawiam wskaznik od procesu, jak user wybierze proces do roboty, to ja poznam co moze mu sie pojawic } else if ($r->TYPE == 'URL') { $CRM_WSKAZNIK_PROCES_WSKAZNIK_TREE[$r->ID_PROCES][] = $r->ID_WSKAZNIK;//ustawiam wskaznik od procesu, jak user wybierze proces do roboty, to ja poznam co moze mu sie pojawic $_SESSION['MENU_SELECT_PROCES_DATA']['MENU_COLUMN'][$r->ID_ZASOB]['TYPE'] = $r->TYPE; $_SESSION['MENU_SELECT_PROCES_DATA']['MENU_COLUMN'][$r->ID_ZASOB]['DESC'] = $r->ZASOB_DESC; $_SESSION['MENU_SELECT_PROCES_DATA']['MENU_COLUMN'][$r->ID_ZASOB]['OPIS'] = $r->ZASOB_OPIS; } else { if ($r->PARENT_TYPE == 'TABELA') { $CRM_WSKAZNIK_PROCES_WSKAZNIK_TREE[$r->ID_PROCES][] = $r->ID_WSKAZNIK;//ustawiam wskaznik od procesu, jak user wybierze proces do roboty, to ja poznam co moze mu sie pojawic if (isset($r->FORM_TREAT)) { if (isset($TREE_CRM_WSKAZNIK_CONF[$r->PARENT_ZASOB_DESC][$r->ZASOB_DESC])) { $TREE_CRM_WSKAZNIK_CONF[$r->PARENT_ZASOB_DESC][$r->ZASOB_DESC] .= $r->FORM_TREAT; } else { $TREE_CRM_WSKAZNIK_CONF[$r->PARENT_ZASOB_DESC][$r->ZASOB_DESC] = $r->FORM_TREAT; } // echo "PARENT_ZASOB_DESC." ".$r->ZASOB_DESC." = ".$r->FORM_TREAT; } $TREE_CRM_WSKAZNIK_SORT_PRIO[$r->PARENT_ZASOB_DESC][$r->ZASOB_DESC] = $r->z__SORT_PRIO; //@2012-10-10 by SQIX : dodajemy opus kolumny z opisu zasobow if ($r->ZASOB_OPIS) { $_SESSION[$r->PARENT_ZASOB_DESC."_COLUMN"]['DESC_TO_LANG'][$r->ZASOB_DESC] = $r->ZASOB_OPIS; } else if (isset($_SESSION[$r->PARENT_ZASOB_DESC."_COLUMN"]['DESC_TO_LANG'][$r->ZASOB_DESC]) && strlen($_SESSION[$r->PARENT_ZASOB_DESC."_COLUMN"]['DESC_TO_LANG'][$r->ZASOB_DESC]) > 1 ) { echo "
    DODAJ opis dla zasobu ".$r->ID_ZASOB." w postaci
    ".$_SESSION[$r->PARENT_ZASOB_DESC."_COLUMN"]['DESC_TO_LANG'][$r->ZASOB_DESC]."
    "; } } } } // ! nizej uruchamiamy permy na podstawie wynikow co umozliwialy procesy foreach ($TREE_CRM_WSKAZNIK_CONF as $ses_column_name => $field_perms_arr) { foreach ($field_perms_arr as $k_name => $v_perm) { $v_perm = str_split($v_perm); $v_perm = array_unique($v_perm); $v_perm = implode("", $v_perm); //if(isset($_SESSION[$ses_column_name."_COLUMN"]['PERMEDIT'][$k_name])) $_SESSION[$ses_column_name."_COLUMN"]['PERMEDIT'][$k_name] = $v_perm; //else $_SESSION[$ses_column_name."_COLUMN"]['PERMEDIT'][$k_name] = $v_perm."RWX"; //dokladamy permy do istniejacych!!! @2012-10-21- najlepsze na okres przejsciowy do generowania procesow! $debug_perms[]="_SESSION['".$ses_column_name."_COLUMN']['PERMEDIT'][".$k_name."]']=".$v_perm; //jezeli jest w kolumnie ID==W , to znaczy, ze mozna dodawac nowy rekord if ($k_name == 'ID' && strstr($v_perm, 'W')) { $_SESSION[$ses_column_name."_COLUMN"]['FUNCPERMEDIT']['NEW_RECORD'] = "RWXC"; $_SESSION[$ses_column_name."_COLUMN"]['FUNCPERMEDIT']['TABLE_INSERTDB'] = "RWXC"; } //jezeli jest funkcja powiazana to uprawnienia dostajemy takie same jak z komorki do tej funkcji! if (isset($_SESSION[$ses_column_name."_COLUMN"]['TYPESPECIAL'][$k_name])) { $debug_perms[]="_SESSION['".$ses_column_name."_COLUMN']['FUNCPERMEDIT']['".$_SESSION[$ses_column_name."_COLUMN"]['TYPESPECIAL'][$k_name]."']=".$v_perm; $_SESSION[$ses_column_name."_COLUMN"]['FUNCPERMEDIT'][$_SESSION[$ses_column_name."_COLUMN"]['TYPESPECIAL'][$k_name]] = $v_perm; } } {// sort DESC by ZASOB.SORT_PRIO $desc_to_sort = array(); if (!isset($_SESSION[$ses_column_name."_COLUMN"]['DESC'])) { //echo "
    L2375 Brak definicji w systemie opisanej procesami tabeli ".$ses_column_name.""; } else foreach ($_SESSION[$ses_column_name."_COLUMN"]['DESC'] as $k_ind => $v_val) { $desc_to_sort[$v_val] = $k_ind; } $TREE_CRM_WSKAZNIK_SORT_PRIO[$ses_column_name]; asort($TREE_CRM_WSKAZNIK_SORT_PRIO[$ses_column_name]); $new_desc = array(); foreach ($TREE_CRM_WSKAZNIK_SORT_PRIO[$ses_column_name] as $k_name => $v_sort_prio) { if (!isset($desc_to_sort[$k_name])) { //echo "
    Brak spojnosci definicji dla kolumny : ".$ses_column_name."[".$k_name."] "; } else { $new_desc[$desc_to_sort[$k_name]] = $k_name; } } // add columns foreach ($desc_to_sort as $k_name => $v_ind) { $new_desc[$v_ind] = $k_name; } $_SESSION[$ses_column_name."_COLUMN"]['DESC'] = $new_desc; }// sort DESC by ZASOB.SORT_PRIO } } /** * URL: _action=setPermsAll */ function setPermsAllAction() { $userAcl = User::getAcl(); $userAcl->fetchAllPerms(true); $this->menuAction(); } /** * URL: _action=setPermsByProces */ function setPermsByProcesAction() { $procesID = V::get('id_proces', 0, $_GET, 'int'); if ($procesID <= 0) { echo '
    ' . "Brak ID Procesu" . '
    '; return; } $userAcl = User::getAcl(); if ($userAcl->getPermsProcesId() == $procesID) { $this->menuAction(); echo '
    ' . "Uprawnienia dla ID Procesu {$procesID} już zostały ustawione" . '
    '; return; } $db = DB::getDB(); $proces = $db->get_by_id('CRM_PROCES', $procesID); if ($proces->TYPE != 'PROCES_INIT') { $this->menuAction(); echo '
    ' . "Proces nie jest typu PROCES_INIT" . '
    '; return; } $userAcl = User::getAcl(); $procesStepList = $userAcl->getUsedProcesIds($procesID); if (empty($procesStepList)) { $this->menuAction(); echo '
    ' . "Nie ma takiego procesu dla usera aby ustawic dla niego filtry" . '
    '; return; } $userAcl->fetchProcesPerms($procesID, true); $this->menuAction(); } function show_url_menu() {// TODO: raneme; show all tables and actions by selected proces if in proces perm if (isset($_SESSION['MENU_SELECT_PROCES_DATA']['MENU_COLUMN'])) { ?>
    Narzędzia
    4680 //$sql='update CRM_TESTY set A_RECORD_CREATE_AUTHOR='smagielm' where A_RECORD_CREATE_AUTHOR='Kandydat.4673'; //$sql='update CRM_TESTY set A_RECORD_UPDATE_AUTHOR='smagielm' where A_RECORD_UPDATE_AUTHOR='Kandydat.4673'; //$sql="update CRM_TESTY set ID_TESTER='4680' where ID_TESTER='4673'"; } }