getMessage(); } if(isset($_REQUEST['scheme_submit'])){ // Action to do with db validate_cs_submit(); } else { // Display to do if(isset($_REQUEST['id']) && !empty($_REQUEST['id'])) $mr_scheme_id = $_REQUEST['id']; $state = true; switch ($mode) { case "up" : $state=display_up($mr_scheme_id); location_bar_management($mode); break; case "add" : display_add(); location_bar_management($mode); break; case "del" : display_del($mr_scheme_id); break; case "list" : $cs_list=display_list(); location_bar_management($mode); break; } include('classification_scheme_management.php'); } // END of main block /////// PRIVATE BLOCK /** * Initialize session variables */ function init_session() { $_SESSION['m_admin']['classification_scheme'] = array(); } /** * Management of the location bar */ function location_bar_management($mode){ $page_labels = array('add' => _ADDITION, 'up' => _MODIFICATION, 'list' => _SCHEME_LIST); $page_ids = array('add' => 'scheme_add', 'up' => 'scheme_up', 'list' => 'scheme_list'); $init = false; if(isset($_REQUEST['reinit']) && $_REQUEST['reinit'] == "true") { $init = true; } $level = ""; if(isset($_REQUEST['level']) && $_REQUEST['level'] == 2 || $_REQUEST['level'] == 3 || $_REQUEST['level'] == 4 || $_REQUEST['level'] == 1) { $level = $_REQUEST['level']; } $page_path = $_SESSION['config']['businessappurl'].'index.php?page=classification_scheme_management_controler&module=moreq&mode='.$mode; $page_label = $page_labels[$mode]; $page_id = $page_ids[$mode]; $ct=new core_tools(); $ct->manage_location_bar($page_path, $page_label, $page_id, $init, $level); } /** * Validate a submit (add or up), * up to saving object */ function validate_cs_submit(){ $f=new functions(); $mr_scheme = new mr_classification_scheme(); if(isset($_REQUEST['id']) && !empty($_REQUEST['id'])){ // Update, so values exist $mr_scheme->mr_classification_scheme_id=$f->protect_string_db($f->wash($_REQUEST['id'], "num", _ID." ")); $mr_scheme->mr_full_classification_code=$f->protect_string_db($f->wash($_REQUEST['code'], "no", _CS_CODE." ", 'yes', 0, 800)); } $mr_scheme->mr_title=$f->protect_string_db($f->wash($_REQUEST['title'], "no", _DESC." ", 'yes', 0, 255)); $mr_scheme->mr_description=$f->protect_string_db($f->wash($_REQUEST['desc'], "no", _DESC." ", 'yes', 0, 800)); $status= array(); $status['order']=$_REQUEST['order']; $status['order_field']=$_REQUEST['order_field']; $status['what']=$_REQUEST['what']; $status['start']=$_REQUEST['start']; if(!empty($_SESSION['error'])) { // Error management depending of mode put_in_session("status",$status); put_in_session("classification_scheme",$mr_scheme->getArray()); switch ($mode) { case "up": if(!empty($id)) { header("location: ".$_SESSION['config']['businessappurl']."index.php?page=classification_scheme_management_controler&mode=up&id=".$_SESSION['m_admin']['classification_scheme']['ID']."&module=moreq"); } else { header("location: ".$_SESSION['config']['businessappurl']."index.php?page=classification_scheme_management_controler&mode=list&module=moreq&order=".$status['order']."&order_field=".$status['order_field']."&start=".$status['start']."&what=".$status['what']); } exit; case "add": header("location: ".$_SESSION['config']['businessappurl']."index.php?page=classification_scheme_management_controler&mode=add&module=moreq"); exit; } } else { // Saving given object $mr_scheme=mr_classification_scheme_controler::save($mr_scheme); /* TODO : historisation géré par mr_classification_scheme_controler ou ici ? if($_SESSION['history']['classificationschemeadd'] == "true" && $mode == "add") { require_once("core".DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_history.php"); $hist = new history(); $hist->add(_CLASSIFICATION_SCHEME_TABLE_NAME, $scheme_id,"ADD",_CLASSIFICATION_SCHEME_ADDED." : ".functions::protect_string_db($scheme_id), $_SESSION['config']['databasetype']); } elseif($_SESSION['history']['classificationschemeup'] == "true" && $mode == "up") { require_once("core".DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_history.php"); $hist = new history(); $hist->add(_CLASSIFICATION_SCHEME_TABLE_NAME, $status_id,"UP",_CLASSIFICATION_SCHEME_MODIFIED." : ".functions::protect_string_db($status_id), $_SESSION['config']['databasetype']); } */ if($mode == "add") $_SESSION['error'] = _CLASSIFICATION_SCHEME_ADDED; else // Up $_SESSION['error'] = _CLASSIFICATION_SCHEME_MODIFIED; // put_in_session("classification_scheme",$scheme->getArray()); header("location: ".$_SESSION['config']['businessappurl']."index.php?page=classification_scheme_management_controler&mode=list&module=moreq&order=".$status['order']."&order_field=".$status['order_field']."&start=".$status['start']."&what=".$status['what']); } } /** * Initialize session parameters for update display * @param Long $scheme_id */ function display_up($mr_scheme_id){ $state=true; $cs = mr_classification_scheme_controler::get($mr_scheme_id ); if(empty($cs)) $state = false; else put_in_session("classification_scheme",$cs->getArray()); return $state; } /** * Initialize session parameters for add display with given scheme */ function display_add(){ if(!isset($_SESSION['m_admin']['classification_scheme'])) { init_session(); } } /** * Initialize session parameters for list display */ function display_list(){ $_SESSION['m_admin'] = array(); init_session(); $select[_CLASSIFICATION_SCHEME_TABLE_NAME] = array(); array_push($select[_CLASSIFICATION_SCHEME_TABLE_NAME],"mr_classification_scheme_id", "mr_title","mr_description","mr_full_classification_code"); $where = ""; $what = functions::protect_string_db($_REQUEST['what']); if($_SESSION['config']['databasetype'] == "POSTGRESQL") // PG particularity $where .= " (mr_title ilike '".functions::protect_string_db($what,$_SESSION['config']['databasetype'])."%' ) "; else $where .= " (mr_title like '".functions::protect_string_db($what,$_SESSION['config']['databasetype'])."%' ) "; // Checking order and order_field values $order = 'asc'; if(isset($_REQUEST['order']) && !empty($_REQUEST['order'])) $order = trim($_REQUEST['order']); $field = 'mr_title'; if(isset($_REQUEST['order_field']) && !empty($_REQUEST['order_field'])) $field = trim($_REQUEST['order_field']); $orderstr = list_show::define_order($order, $field); $request = new request(); $tab=$request->select($select,$where,$orderstr,$_SESSION['config']['databasetype']); for ($i=0;$i $value){ // echo "Key: $key Value: $value f:".functions::show_string($value)." // "; $_SESSION['m_admin'][$type][$key]=functions::show_string($value); } } ?>