|
|
@@ -13,9 +13,6 @@ Lib::loadClass('FilterFactory');
|
|
|
class ProcesMenu {
|
|
|
|
|
|
var $MENU_SELECT_PROCES;
|
|
|
- var $CRM_PROCES_USERA_UZYTY_MAP = null;
|
|
|
- var $CRM_PROCES_USERA_UZYTY_MAP_PROCES_INIT;
|
|
|
- var $CRM_PROCES_USERA_WYKONANE_TESTY;
|
|
|
var $_wynik_testu;
|
|
|
var $_wynik_testu_unactual;
|
|
|
var $error;// errory niedopuszczajace do uruchomienia
|
|
|
@@ -40,10 +37,11 @@ class ProcesMenu {
|
|
|
die('Error Acl');
|
|
|
}
|
|
|
|
|
|
- $this->CRM_PROCES_USERA_UZYTY_MAP = $this->_acl->getUsedProcesMap();
|
|
|
-
|
|
|
// TODO: run only if needed
|
|
|
- $this->_generate_wyniki_testow();
|
|
|
+ if ('1' == V::get('_CLEAN_CACHE', '', $_POST)) {
|
|
|
+ $this->_cleanTestsCache();
|
|
|
+ }
|
|
|
+ $this->_generateTestResults();
|
|
|
}
|
|
|
|
|
|
static function getInstance() {
|
|
|
@@ -78,53 +76,69 @@ class ProcesMenu {
|
|
|
/**
|
|
|
* @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);
|
|
|
- }
|
|
|
+ function getUserTests() {
|
|
|
+ if ($this->_user_id <= 0) {
|
|
|
+ throw new Exception("User id not set");
|
|
|
+ }
|
|
|
|
|
|
- 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;
|
|
|
+ $testy_arr = array();
|
|
|
+ $ses_cache_key = 'CRM_PROCES_USERA_WYKONANE_TESTY-' . $this->_user_id;
|
|
|
+ if (!$this->_isTestsInCache()) {
|
|
|
+ $usedProcesInitIds = $this->_acl->getUsedUserProcesInitIds();
|
|
|
+ DBG::_('DBG_PM', '1', "usedProcesInitIds", $usedProcesInitIds, __CLASS__, __FUNCTION__, __LINE__ );
|
|
|
+ if (!empty($usedProcesInitIds)) {
|
|
|
+ $testy_arr = ProcesTestyHelper::get_tetsy_stats($this->_user_id, 0, $usedProcesInitIds);
|
|
|
+
|
|
|
+ // check if tests are actual - proces steps may change
|
|
|
+ if (!empty($testy_arr)) {
|
|
|
+ foreach ($usedProcesInitIds as $k_proces_id) {
|
|
|
+ $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;
|
|
|
}
|
|
|
- $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'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">'."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'</pre>';}
|
|
|
- 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;
|
|
|
- }
|
|
|
+ }
|
|
|
+ if (!$last_test || $last_test->TEST_END == '0000-00-00') {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $max_update_date = $this->_acl->getProcesMaxUpdateDate($k_proces_id);
|
|
|
+ if ($max_update_date) {
|
|
|
+ $max_update_date = substr($max_update_date, 0, 10);
|
|
|
+ $test_end = substr($last_test->TEST_END, 0, 10);
|
|
|
+ DBG::_('DBG_PM', '1', "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) . ")", $last_test, __CLASS__, __FUNCTION__, __LINE__ );
|
|
|
+ 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];
|
|
|
+ $this->_setTestsCache($testy_arr);
|
|
|
}
|
|
|
- return $testy_arr;
|
|
|
+ return $this->_getTestsFromCache();
|
|
|
+ }
|
|
|
+
|
|
|
+ private function _cleanTestsCache() {
|
|
|
+ $ses_cache_key = "CRM_PROCES_USERA_WYKONANE_TESTY-{$this->_user_id}";
|
|
|
+ unset($_SESSION[$ses_cache_key]);
|
|
|
+ }
|
|
|
+
|
|
|
+ private function _isTestsInCache() {
|
|
|
+ $ses_cache_key = "CRM_PROCES_USERA_WYKONANE_TESTY-{$this->_user_id}";
|
|
|
+ return isset($_SESSION[$ses_cache_key]);
|
|
|
+ }
|
|
|
+
|
|
|
+ private function _getTestsFromCache() {
|
|
|
+ $ses_cache_key = "CRM_PROCES_USERA_WYKONANE_TESTY-{$this->_user_id}";
|
|
|
+ return $_SESSION[$ses_cache_key];
|
|
|
+ }
|
|
|
+
|
|
|
+ private function _setTestsCache($tests) {
|
|
|
+ $ses_cache_key = "CRM_PROCES_USERA_WYKONANE_TESTY-{$this->_user_id}";
|
|
|
+ $_SESSION[$ses_cache_key] = $tests;
|
|
|
}
|
|
|
|
|
|
function setError($error) {
|
|
|
@@ -190,6 +204,12 @@ class ProcesMenu {
|
|
|
$idZasobowUsera = array_keys($userGroups);
|
|
|
$idZasobowUsera = reset($idZasobowUsera);
|
|
|
?>
|
|
|
+<div class="container" style="margin-top:10px;">
|
|
|
+ <form action="" method="post" class="inline-form">
|
|
|
+ <input type="hidden" name="_CLEAN_CACHE" value="1">
|
|
|
+ <button type="submit" class="btn btn-xs btn-warning pull-right">odśwież</button>
|
|
|
+ </form>
|
|
|
+</div>
|
|
|
<?php foreach ($procesyInitGroup as $vProcesGroup) : ?>
|
|
|
<div class="container tbl-wyniki-testow page-header">
|
|
|
<h3>
|
|
|
@@ -1059,10 +1079,10 @@ jQuery(document).ready(function() {
|
|
|
/**
|
|
|
* Generates wyniki
|
|
|
*/
|
|
|
- function _generate_wyniki_testow() {
|
|
|
+ private function _generateTestResults() {
|
|
|
$this->_wynik_testu = array();// WYNIK_TESTU_PROCESU
|
|
|
$this->_wynik_testu_unactual = array();
|
|
|
- $this_CRM_PROCES_USERA_WYKONANE_TESTY = $this->get_wykonane_testy();
|
|
|
+ $this_CRM_PROCES_USERA_WYKONANE_TESTY = $this->getUserTests();
|
|
|
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
|
|
|
@@ -1117,7 +1137,7 @@ jQuery(document).ready(function() {
|
|
|
}
|
|
|
|
|
|
function get_actual_tests_count($type = null) {
|
|
|
- $this_CRM_PROCES_USERA_WYKONANE_TESTY = $this->get_wykonane_testy();
|
|
|
+ $this_CRM_PROCES_USERA_WYKONANE_TESTY = $this->getUserTests();
|
|
|
if ($type == 'TEORETYCZNY') {
|
|
|
$testy_teoretyczne = 0;
|
|
|
foreach ($this_CRM_PROCES_USERA_WYKONANE_TESTY as $int => $v_test) {
|
|
|
@@ -1142,207 +1162,6 @@ jQuery(document).ready(function() {
|
|
|
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 "<br. . . Dodaje dla:".$r->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 "<BR> DODAJ opis dla zasobu ".$r->ID_ZASOB." w postaci <pre>".$_SESSION[$r->PARENT_ZASOB_DESC."_COLUMN"]['DESC_TO_LANG'][$r->ZASOB_DESC]."</pre>";
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // ! 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 "<br><font color=red>L2375 Brak definicji w systemie opisanej procesami tabeli <b>".$ses_column_name."</b></font>";
|
|
|
- }
|
|
|
- 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 "<br><font color=red>Brak spojnosci definicji dla kolumny : ".$ses_column_name."[<b>".$k_name."</b>] </font>";
|
|
|
- }
|
|
|
- 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
|
|
|
*/
|