0) { $_GET['EDIT'] = $edit_id; } $tbl = 'CRM_PROCES'; $tbl_conf = Column::getInstance($tbl); if (!$tbl_conf) { echo'
'."Brak konfiguracji dla ".$tbl."!".'
'; return; } $visible_cols = $tbl_conf->getVisibleFieldList(); // form decorators: $tbl_search_params = array(); $tbl_search_params['ID'] = 'ID'; $tbl_search_params['PARENT_ID'] = 'P_ID'; $tbl_search_params['TYPE'] = 'TYPE'; $tbl_search_params['DESC'] = 'DESC'; $tbl_search_params['OPIS'] = 'OPIS'; $tbl_search_params['DESC_PL'] = 'DESC_PL'; $tbl_search_params['TAGS'] = 'TAGS'; $tbl_search_params['A_STATUS'] = 'A_STATUS'; $tbl_search_params['L_APPOITMENT_USER'] = 'L_APPOITMENT_USER'; $tbl_search_params['L_APPOITMENT_DATE'] = 'L_APPOITMENT_DATE'; $tbl_search_params['L_APPOITMENT_INFO'] = 'L_APPOITMENT_INFO'; $tbl_search_params['A_ADM_COMPANY'] = 'A_ADM_COMPANY'; $tbl_search_params['IF_TRUE_GOTO'] = 'IF_TRUE_GOTO'; $tbl_search_params['IF_TRUE_GOTO_FLAG'] = 'IF_TRUE_GOTO_FLAG'; $tbl_search_params['A_RECORD_CREATE_AUTHOR'] = 'A_RECORD_CREATE_AUTHOR'; $tbl_search_params['A_RECORD_CREATE_DATE'] = 'A_RECORD_CREATE_DATE'; $tbl_search_params['A_RECORD_UPDATE_AUTHOR'] = 'A_RECORD_UPDATE_AUTHOR'; $tbl_search_params['A_RECORD_UPDATE_DATE'] = 'A_RECORD_UPDATE_DATE'; Lib::loadClass('FilterLast'); $filter_last = new FilterLast( $_REQUEST, $tbl, 'session'); $filter_last->add_filter( 'last_id', array('filtr_id','filtr_search_id','ID','EDIT'), "Ostatnio uzywane ID", 'int' ); $filter_last->_save_args();// save args from request {// TABLE - Filter $tbl = 'CRM_PROCES'; $tbl_filter = new stdClass(); $tbl_filter->key = 'tbl-'.$tbl; $tbl_filter->filters = array(); // TODO: stronicowanie $tbl_filter->filters: _page_nr, _limit, _total (need sql - only after change params) // read args from session, or get dafault values foreach ($tbl_search_params as $k => $req_field_name) { $tbl_filter->filters[$req_field_name] = V::get($req_field_name, '%', $_SESSION[$tbl_filter->key]); }//end foreach // read args from $_GET if isset foreach ($tbl_search_params as $k => $req_field_name) { if (isset($_GET[$req_field_name])) { $tbl_filter->filters[$req_field_name] = $_GET[$req_field_name]; } }//end foreach // save args in session and $_GET foreach ($tbl_filter->filters as $req_field_name => $v) { $_SESSION[$tbl_filter->key][$req_field_name] = $v; $_GET[$req_field_name] = $v; }//end foreach echo''; }// TABLE - Filter {// TREE - Filter $tbl = 'CRM_PROCES'; $tree_procesy_filter = get_filter_for_table( $tbl ); $tree_procesy_filter->set_trash( 'filtr_id', -1 ); {// zapisz stan - ajax function to save filters stan and opened tree nodes, etc. $filtr_ses_key = $tree_procesy_filter->_key; $cookie_key = 'TREE_'.$tbl; $profile_key = 'Filtr_'.$filtr_ses_key; if (V::get('save_profile', '', $_REQUEST)) { $profile_val = array(); $profile_val['filtr'] = $_SESSION[$filtr_ses_key]; $profile_val['tree'] = $_COOKIE[$cookie_key];// cookie key from Tree class - 'TREE_'. $tbl @see __construct User::setProfile($profile_key, $profile_val); $ret = User::saveProfile(); } else if (V::get('load_profile', '', $_REQUEST)) { //User::loadProfile();// proile is loaded in USERS_COLUMN_INIT after login $profile_val = User::getProfile($profile_key); $_COOKIE[$cookie_key] = $profile_val['tree']; echo''; $_SESSION[$filtr_ses_key] = $profile_val['filtr']; $tree_procesy_filter->_read_args( true );// force load args from session } }// zapisz stan - ajax function to save filters stan and opened tree nodes, etc. $tree_procesy_filter->_save_args();// force save_args (execute at the end of show_filters) echo''; }// TREE - Filter echo'| '; echo App::link("C", array('function_init'=>"fun_USERS_COLUMN", 'arg'=>"edit"), array('title'=>"Ustawienia", 'ico'=>'excel.gif', 'ico_height'=>'12')); echo' | '; foreach ($visible_cols as $field_id => $field_name) { $v = V::get($field_name, str_replace('_', ' ', $field_name), $table_view['head']); echo''; echo $v; if ($field_name != 'ID') { echo ' '; echo App::link("X", array('function_init'=>"fun_USERS_COLUMN", 'arg'=>"hide", 'col_id'=>$field_id), array('title'=>"Ukryj kolumne", 'ico'=>'shutdown.gif', 'ico_height'=>11)); } echo' | '."\n"; }//end foreach echo'|
|---|---|---|
| '; if (User_is_admin()) { echo App::link("Edit", "?EDIT=".$r->ID, array('id'=>$r->ID, 'title'=>"Edytuj", 'ico'=>'edit.png')); } echo' | '; foreach ($visible_cols as $field_id => $field_name) { if ($field_name == 'ID') { echo''; if (User_is_admin()) { echo App::link($r->ID, "?EDIT=".$r->ID."#".$r->ID, array('id'=>$r->ID, 'title'=>'Edytuj')); } else { echo $r->ID; } echo ' | '; } else { echo''.$r->$field_name.' | '; } } echo'
';
{
echo'| '; echo "DRZEWO "; if ($_SESSION['ZWIN_DRZEWO']) { echo App::link("ROZWIN", "?ROZWIN_DRZEWO=1#tree"); } else { echo App::link("ZWIN", "?ZWIN_DRZEWO=1#tree"); } echo' | '; echo''; echo " / "; echo' | '; echo''; echo "PROCESY "; if ($_SESSION['ROZWIN']) { echo App::link("ZWIN", "?TREE_ZWIN=1#tree"); } else { echo App::link("ROZWIN", "?TREE_ROZWIN=1#tree"); } echo' | '; echo''; echo " / "; echo' | '; echo''; echo "ZASOBY "; if ($_SESSION['ROZWIN_ZASOBY']) { echo App::link("ZWIN", "?TREE_ZASOBY_ZWIN=1#tree"); } else { echo App::link("ROZWIN", "?TREE_ZASOBY_ROZWIN=1#tree"); } echo' | '; echo''; echo " / "; echo' | '; echo''; echo "OPISY "; if ($_SESSION['ROZWIN_OPIS']) { echo App::link("ZWIN", "?TREE_OPISY_ZWIN=1#tree"); } else { echo App::link("ROZWIN", "?TREE_OPISY_ROZWIN=1#tree"); } echo' | '; echo''; echo " / "; echo' | '; echo''; $js = "window.location.href='#TREE'+this.form.id.value;return false;"; echo ''."\n"; echo' | '; echo''; echo " / "; echo' | '; echo''; echo'Widok '; echo App::link("NOWY", "?filtr_view=NOWY"); echo' | '; { echo''; echo " / "; echo' | '; echo''; echo''; echo' | '; } echo'
| '; echo' | '; echo' | '.number_format(($t[0] - $last_time), 6).' | '; echo'
| '.$t[0].' | '; echo''.$t[1].' | '; echo''; echo' |
';print_r($db);echo''; //echo'
';print_r($_SERVER);echo''; } } function fun_CRM_PROCES_ADD() { $redirect = "?task=".App::get_task(); $msg = ''; $sql_obj = new stdClass(); $tbl_name = 'CRM_PROCES'; Lib::loadClass('Column'); $tbl_conf = Column::getInstance($tbl_name); if (!$tbl_conf) { return; } foreach ($tbl_conf->getFieldList() as $field_id => $field_name) { if ($tbl_conf->allowCreate($field_name)) { $post_arg_name = 'ADD_' . $field_name; if (isset($_POST[$post_arg_name])) { $sql_obj->$field_name = $_POST[$post_arg_name]; } } }//end foreach // nowy na koniec listy $sql = "select max(t.`SORT_PRIO`) as MAX_SORT_PRIO from `CRM_PROCES` as t where t.`PARENT_ID`='".$sql_obj->PARENT_ID."' "; $res = DB::query( $sql ); while ($r = DB::fetch( $res )) { $sql_obj->SORT_PRIO = $r->MAX_SORT_PRIO + 1; } //TODO: post verify $new_id = DB::ADD_NEW_OBJ('CRM_PROCES', $sql_obj); if (V::get('DEBUG', '', $_SESSION)) App::add_msg("PASSED(1) NEW RECORD ID($new_id)"); if ($new_id > 0) { App::add_msg("Dodano nowy rekord (ID ".$new_id.")"); $redirect .= "&EDIT=".$new_id; } else { App::add_error("Error przy dodawaniu rekordu!"); } App::redirect($redirect, $msg); } /** * @param $_POST['EDIT'] - ID rekordu */ function fun_CRM_PROCES_EDIT() { $redirect = "?task=".App::get_task(); $msg = ''; $sql_obj = new stdClass(); $tbl_name = 'CRM_PROCES'; $sql_obj->ID = V::get('EDIT_ID', '', $_POST, 'int'); // TODO: fields can be hidden Lib::loadClass('Column'); $tbl_conf = Column::getInstance($tbl_name); if (!$tbl_conf) { return; } foreach ($tbl_conf->getFieldList() as $field_id => $field_name) { if ($tbl_conf->allowWrite($field_name)) { $post_arg_name = 'EDIT_' . $field_name; if (isset($_POST[$post_arg_name])) { // TODO: convert field types? $sql_obj->$field_name = $_POST[$post_arg_name]; } } }//end foreach $redirect .= "&EDIT=".$sql_obj->ID; //TODO: post verify $id = $sql_obj->ID; $affected = DB::UPDATE_OBJ( 'CRM_PROCES', $sql_obj ); if (V::get('DEBUG', '', $_SESSION)) App::add_msg("PASSED($affected)"); if ($affected == 2) { App::add_msg("Zmieniono rekord (ID ".$id.")"); } else if ($affected == 1) { App::add_msg("Zmieniono rekord (ID ".$id.") (Error: nie zapisano hostorii)"); } else if ($affected < 0) { App::add_error("Blad podczas edytowania rekordu - nic nie zmieniono"); } App::redirect($redirect, $msg); } function fun_CRM_PROCES_clean_trash() { $db = DB::getDB(); if (!$db) { echo '
' . "No DB!" . '
'; return; } else if ($db->has_errors()) { echo '' . "Error DB: " . implode('
', $db->get_errors()) . '
' . "Usunięto " . $affected_total . " rekordów." . '
'; }