* @author Loic Vinet */ class basket extends dbquery { /** * @access private * @var integer */ private $the_start; /** * Redefinition of the user object constructor : configure the SQL argument order by */ function __construct() { // configure the sql argument order by if(isset($_GET['start'])) { $this->the_start = strip_tags($_GET['start']); } else { $this->the_start = 0; } } /** * Lists the letters of the alphabet to list the baskets */ public function basketlistletters() { ?>

: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z -

connect(); $this->query("select count(*) as total from ".$table_name); $nb_total_1 = $this->fetch_object(); $nb_total = $nb_total_1->total; // define the defaults values $nb_pages = ceil($nb_total/$nb_show); $link = "index.php?page=".$page_name."&start=".$this->the_start."&order=".$this->orderby.$what; if($nb_pages > 1) { $next_start = 0; $page_list1 = '

'; $lastpage = 0; for($i = 0;$i <> $nb_pages; $i++) { $page_name = $i + 1; $the_line = $i + 1; if($this->the_start == $next_start) { $page_list1 .= ""; $page_list2 .= ""; } else { $page_list1 .= ""; $page_list2 .= ""; } $next_start = $next_start + $nb_show; $lastpage = $next_start; } $lastpage = $lastpage - $nb_show; $previous = ""; $next = ""; if($this->the_start > 0) { $start_prev = $this->the_start - $nb_show; $previous = ''; } if($this->the_start <> $lastpage) { $start_next = $this->the_start + $nb_show; $next = ''; } $page_list1 = $page_list1.""; $page_list2 = $page_list2.""; if($previous <> '' || $next <> '') { if(empty($previous)) { $previous = " "; } if(empty($next)) { $next = " "; } $page_list1 .= $previous." ".$next.'

'; $page_list2 .= $previous." ".$next.'

'; } } $this->query("select * from ".$table_name." ".$where." ".$this->sqlorderby." limit ".$this->the_start.",".$nb_show); echo '

'.$title.'

'; $this->basketlistletters(); echo $page_list1; ?> fetch_object()) { if($color == ' class="col"') { $color = ''; } else { $color = ' class="col"'; } ?> >
BASKET_ID; ?> show($line->BASKET_NAME); ?> show($line->BASKET_DESC); ?> IS_GENERIC == 'N') { echo ''._DELETE.''; } ?>
query("select BASKET_ID, BASKET_NAME from ".$_SESSION['tablename']['baskets']." where IS_GENERIC = 'N' order by basket_name"); while($line = $this->fetch_object()) { array_push($_SESSION['m_admin']['non_generic_basket'], array("BASKET_ID" => $line->BASKET_ID, "BASKET_NAME" => $func->show($line->BASKET_NAME))); } $this->query("select group_id, group_desc from ".$_SESSION['tablename']['usergroups']." order by group_desc "); $_SESSION['groups'] = array(); $line = ""; while($line = $this->fetch_object()) { array_push($_SESSION['groups'], array('ID' =>$line->group_id, 'LABEL' => $func->show($line->group_desc))); } $_SESSION['services'] = array(); $this->query("select ID, SERVICE from ".$_SESSION['tablename']['services']." where ENABLED = 'Y' order by service"); while($line = $this->fetch_object()) { array_push($_SESSION['services'], array("ID"=>$line->ID, "LABEL" => $func->show($line->SERVICE))); } $_SESSION['m_admin']['load_groupbasket'] = true; } /** * Load data from the groupbasket table in the session ( $_SESSION['m_admin']['basket']['groups'] array) * * @param string $id basket identifier */ private function load_groupbasket($id) { $func = new functions(); $this->connect(); $_SESSION['m_admin']['basket']['groups'] = array(); $i =0; $this->query("select gb.GROUP_ID, gb.CAN_REDIRECT, gb.CAN_DELETE, gb.CAN_INSERT, gb.REDIRECT_BASKETLIST, gb.REDIRECT_GROUPLIST, gb.SEQUENCE, gb.RESULT_PAGE, u.GROUP_DESC, gb.FKID_DYNAMIC_ARRAY FROM ".$_SESSION['tablename']['groupbasket']." gb, ".$_SESSION['tablename']['usergroups']." u where gb.BASKET_ID = '".$id."' and gb.GROUP_ID = u.GROUP_ID order by u.GROUP_DESC"); while($line2 = $this->fetch_object()) { $_SESSION['m_admin']['basket']['groups'][$i] = array("GROUP_ID" => $line2->GROUP_ID , "GROUP_LABEL" => $func->show($line2->GROUP_DESC), $line2->GROUP_DESC, "REDIRECT" => $line2->CAN_REDIRECT , "DEL" => $line2->CAN_DELETE , "DUPLIQ" => $line2->CAN_INSERT , "BASKET_LIST" => $line2->REDIRECT_BASKETLIST , "GROUP_LIST" => $line2->REDIRECT_GROUPLIST , "SEQUENCE" => $line2->SEQUENCE, "RESULT_PAGE" => $line2->RESULT_PAGE, "FKID_DYNAMIC_ARRAY" => $line2->FKID_DYNAMIC_ARRAY); $i++; } $_SESSION['m_admin']['groupbasket'] = false ; } /** * Form for the management of the basket. * * @param string $mode administrator mode (modification, suspension, authorization, delete) * @param string $id group identifier (empty by default) */ public function formbasket($mode,$id = "") { $func = new functions(); $state = true; if($mode == "up") { $_SESSION['m_admin']['mode'] = "up"; if(empty($_SESSION['error'])) { $this->connect(); $this->query("select * from ".$_SESSION['tablename']['baskets']." where BASKET_ID = '".$id."' and ENABLED= 'Y'"); if($this->nb_result() == 0) { $_SESSION['error'] = _BASKET_MISSING; $state = false; } else { $_SESSION['m_admin']['basket']['basketId'] = $id; $line = $this->fetch_object(); $_SESSION['m_admin']['basket']['desc'] = $func->show($line->BASKET_DESC); $_SESSION['m_admin']['basket']['name'] = $func->show($line->BASKET_NAME); $_SESSION['m_admin']['basket']['select'] = $line->BASKET_SELECT; $_SESSION['m_admin']['basket']['clause'] = $line->BASKET_CLAUSE; $_SESSION['m_admin']['basket']['group_by'] = $line->BASKET_GROUP_BY; $_SESSION['m_admin']['basket']['order_by'] = $line->BASKET_ORDER_BY; $_SESSION['m_admin']['basket']['limit'] = $line->BASKET_LIMIT; $_SESSION['m_admin']['basket']['is_generic'] = $line->IS_GENERIC; $_SESSION['m_admin']['basket']['is_global'] = $line->IS_GLOBAL; $_SESSION['m_admin']['basket']['locktime'] = $line->LOCK_TIME; $_SESSION['m_admin']['basket']['is_lockable'] = $line->IS_LOCKABLE; $_SESSION['m_admin']['basket']['table'] = $line->RES_TABLE; $_SESSION['m_admin']['basket']['gdd_basket'] = $line->GDD_BASKET; $_SESSION['m_admin']['basket']['other_link'] = $line->OTHER_LINK; if (! isset($_SESSION['m_admin']['load_groupbasket']) || $_SESSION['m_admin']['load_groupbasket'] == true) { $this->load_groupbasket($id); $_SESSION['m_admin']['groupbasket'] = false ; } } } } if($mode == "add") { echo '

'._BASKET_ADDITION.'

'; } elseif($mode == "up") { echo '

'._BASKET_MODIFICATION.'

'; } ?>




"._BASKET.' '._UNKNOWN."



"; } else { ?>
" class="forms addforms">

/>*

*

.

*

/>*

/>*

/>*

/>*

/>

"._TYPE_BASKET." ("._SELECT_ONE_TYPE.")

"; } if($_SESSION['config']['gdd']=="true") { echo"

"; } if($_SESSION['config']['other_link']=="true") { echo"

"; } ######################################################## ?>

wash($_POST['basketId'], "alphanum", _THE_ID); } if($mode == "up") { $_SESSION['m_admin']['basket']['basketId'] = $func->wash($_POST['id'], "alphanum", _THE_ID); } $_SESSION['m_admin']['basket']['name'] = $func->wash($_POST['basketname'], "no", _WORDING); if (isset($_POST['basketdesc']) && !empty($_POST['basketdesc'])) { $_SESSION['m_admin']['basket']['desc'] = $func->wash($_POST['basketdesc'], "no", _THE_DESC); } else { $_SESSION['m_admin']['basket']['desc'] = ''; } if (isset($_POST['basketselect']) && !empty($_POST['basketselect'])) { $_SESSION['m_admin']['basket']['select'] = trim($_POST['basketselect']); } else { $_SESSION['m_admin']['basket']['select'] = '*'; } $_SESSION['m_admin']['basket']['table'] = $func->wash($_POST['baskettable'], "no", _THE_TABLE); if (isset($_POST['basketclause']) && !empty($_POST['basketclause'])) { $_SESSION['m_admin']['basket']['clause'] = trim($_POST['basketclause']); } else { $_SESSION['m_admin']['basket']['clause'] = ' 1 '; } if (isset($_POST['basketgroup_by']) && !empty($_POST['basketgroup_by'])) { $_SESSION['m_admin']['basket']['group_by'] = trim($_POST['basketgroup_by']); } else { $_SESSION['m_admin']['basket']['group_by'] = ''; } if (isset($_POST['basketorder_by']) && !empty($_POST['basketorder_by'])) { $_SESSION['m_admin']['basket']['order_by'] = trim($_POST['basketorder_by']); } else { $_SESSION['m_admin']['basket']['order_by'] = ''; } if (isset($_POST['basketlimit']) && !empty($_POST['basketlimit'])) { $_SESSION['m_admin']['basket']['limit'] = trim($_POST['basketlimit']); } else { $_SESSION['m_admin']['basket']['limit'] = ''; } if (isset($_POST['global']) && !empty($_POST['global'])) { $_SESSION['m_admin']['basket']['is_global'] = $_POST['global']; if (isset($_POST['locktime']) && !empty($_POST['locktime'])) { $_SESSION['m_admin']['basket']['locktime'] = $func->wash($_POST['locktime'], "num", _LOCK_TIME); } else { $_SESSION['m_admin']['basket']['locktime'] = '60'; } } else { $_SESSION['m_admin']['basket']['is_global'] = 'N'; $_SESSION['m_admin']['basket']['locktime'] = ''; } if (isset($_POST['gdd_basket']) && !empty($_POST['gdd_basket'])) { $_SESSION['m_admin']['basket']['gdd_basket'] = $_POST['gdd_basket']; } else { $_SESSION['m_admin']['basket']['gdd_basket'] = 'N'; } if (isset($_POST['other_link']) && !empty($_POST['other_link'])) { $_SESSION['m_admin']['basket']['other_link'] = $_POST['other_link']; } else { $_SESSION['m_admin']['basket']['other_link'] = 'N'; } #################################################### ### On verifie si on a bien qu'un seul checkbox de cocher ### pour la gdd et other_link #################################################### if($_SESSION['m_admin']['basket']['other_link']=="Y" AND $_SESSION['m_admin']['basket']['gdd_basket'] == 'Y') { $func->add_error(_MULTI_TYPE_BASKET, ""); } #################################################### } /** * Add ou modify baskets in the database * * @param string $mode up or add */ public function addupbasket($mode) { // add ou modify basket in the database $this->basketinfo($mode); if(!empty($_SESSION['error'])) { if($mode == "up") { if(!empty($_SESSION['m_admin']['basket']['basketId'])) { header("location: index.php?page=basket_up&id=".$_SESSION['m_admin']['basket']['basketId']); exit; } else { header("location: index.php?page=basket"); exit; } } elseif($mode == "add") { header("location: index.php?page=basket_add"); exit; } } else { $this->connect(); if($mode == "add") { $this->query("select BASKET_ID from ".$_SESSION['tablename']['baskets']." where BASKET_ID= '".$_SESSION['m_admin']['basket']['basketId']."'"); if($this->nb_result() > 0) { $_SESSION['error'] = $_SESSION['m_admin']['basket']['basketId']." "._ALREADY_EXISTS."
"; header("location: index.php?page=basket_add"); exit; } else { if( !isset($_SESSION['m_admin']['basket']['select']) || empty($_SESSION['m_admin']['basket']['select']) ) $_SESSION['m_admin']['basket']['select'] = "*"; $query_insert = "INSERT INTO ".$_SESSION['tablename']['baskets']." ( RES_TABLE, BASKET_ID, BASKET_NAME, BASKET_DESC, BASKET_SELECT, BASKET_CLAUSE, BASKET_GROUP_BY, BASKET_ORDER_BY, BASKET_LIMIT, IS_GLOBAL, LOCK_TIME, GDD_BASKET, OTHER_LINK"; $query_values = " ) VALUES ( '".$_SESSION['m_admin']['basket']['table']."', '".$_SESSION['m_admin']['basket']['basketId']."', '".$_SESSION['m_admin']['basket']['name']."', '".$_SESSION['m_admin']['basket']['desc']."', '".$_SESSION['m_admin']['basket']['select']."', '".$_SESSION['m_admin']['basket']['clause']."', '".$_SESSION['m_admin']['basket']['group_by']."', '".$_SESSION['m_admin']['basket']['order_by']."', '".$_SESSION['m_admin']['basket']['limit']."', '".$_SESSION['m_admin']['basket']['is_global']."', '".$_SESSION['m_admin']['basket']['locktime']."', '".$_SESSION['m_admin']['basket']['gdd_basket']."', '".$_SESSION['m_admin']['basket']['other_link']."'"; $this->query($query_insert.$query_values.")"); $syntax = $this->where_test(); if( $syntax !== true ) { $_SESSION['error'] .= _SYNTAX_ERROR_WHERE_CLAUSE." : ".$syntax; header("location: index.php?page=basket_up&id=".$_SESSION['m_admin']['basket']['basketId']); exit; } else { $this->load_db(); if($_SESSION['history']['basketadd'] == "true") { require_once("class_history.php"); $hist = new history(); $hist->add($_SESSION['tablename']['baskets'], $_SESSION['m_admin']['basket']['basketId'],"ADD",_BASKET_ADDED." : ".$_SESSION['m_admin']['basket']['basketId']); } $this->clearbasketinfos(); $_SESSION['error'] = _BASKET_ADDED; header("location: index.php?page=basket"); exit; } } } elseif($mode == "up") { if( !isset($_SESSION['m_admin']['basket']['select']) || empty($_SESSION['m_admin']['basket']['select']) ) $_SESSION['m_admin']['basket']['select'] = "*"; $query_update = "UPDATE ".$_SESSION['tablename']['baskets']." SET BASKET_NAME = '".$_SESSION['m_admin']['basket']['name']."' , RES_TABLE = '".$_SESSION['m_admin']['basket']['table']."', BASKET_DESC = '".$_SESSION['m_admin']['basket']['desc']."', BASKET_SELECT = '".$_SESSION['m_admin']['basket']['select']."', BASKET_GROUP_BY = '".$_SESSION['m_admin']['basket']['group_by']."', BASKET_ORDER_BY = '".$_SESSION['m_admin']['basket']['order_by']."', BASKET_LIMIT = '".$_SESSION['m_admin']['basket']['limit']."', IS_GLOBAL = '".$_SESSION['m_admin']['basket']['is_global']."', LOCK_TIME = '".$_SESSION['m_admin']['basket']['locktime']."', GDD_BASKET = '".$_SESSION['m_admin']['basket']['gdd_basket']."', OTHER_LINK = '".$_SESSION['m_admin']['basket']['other_link']."'"; $query_clause = ", BASKET_CLAUSE = '".$_SESSION['m_admin']['basket']['clause']."'"; $query_where = " WHERE BASKET_ID = '".$_SESSION['m_admin']['basket']['basketId']."'"; $this->query($query_update.$query_clause.$query_where); require_once("class_security.php"); $sec = new security(); $syntax = $this -> where_test(); if($syntax !== true) { $_SESSION['error'] .= _SYNTAX_ERROR_WHERE_CLAUSE." : ".$syntax; header("location: index.php?page=basket_up&id=".$_SESSION['m_admin']['basket']['basketId']); exit; } else { $this->load_db(); if($_SESSION['history']['basketup'] == "true") { require_once("class_history.php"); $hist = new history(); $hist->add($_SESSION['tablename']['baskets'], $_SESSION['m_admin']['basket']['basketId'],"UP",_BASKET_UPDATE." : ".$_SESSION['m_admin']['basket']['basketId']); } $this->clearbasketinfos(); $_SESSION['error'] = _BASKET_UPDATED; header("location: index.php?page=basket"); exit; } } } } /** * Clean the $_SESSION['m_admin']['basket'] array */ private function clearbasketinfos() { // clear the users add or modification vars $_SESSION['m_admin']['basket'] = array(); $_SESSION['m_admin']['basket']['basketId'] = ""; $_SESSION['m_admin']['basket']['desc'] = ""; $_SESSION['m_admin']['basket']['name'] = ""; $_SESSION['m_admin']['basket']['table'] = ""; $_SESSION['m_admin']['basket']['clause'] = ""; $_SESSION['m_admin']['basket']['is_generic'] = ""; $_SESSION['m_admin']['basket']['is_global'] = ""; $_SESSION['m_admin']['basket']['locktime'] = ""; $_SESSION['m_admin']['basket']['select'] =""; $_SESSION['m_admin']['basket']['group_by'] =""; $_SESSION['m_admin']['basket']['order_by'] =""; $_SESSION['m_admin']['basket']['limit'] =""; $_SESSION['m_admin']['basket']['groups'] = array(); $_SESSION['m_admin']['basket']['gdd_basket'] = ""; $_SESSION['m_admin']['basket']['other_link'] = ""; } /** * Check the basket where clause */ public function where_test() { $_SESSION['error'] =""; $link = mysql_connect( $_SESSION['config']['databaseserver'],$_SESSION['config']['databaseuser'], $_SESSION['config']['databasepassword']); if(!$link) { } else { $db = mysql_select_db($_SESSION['config']['databasename'], $link); } $where = ""; if( !empty ($_SESSION['m_admin']['basket']['clause'])) { $where = " where ".$_SESSION['m_admin']['basket']['clause'] ; $where = str_replace("\\", "", $where); $where = str_replace("@user", "'".$_SESSION['user']['UserId']."'", $where); $where = str_replace("@groupuser", "('".$_SESSION['user']['primarygroup']."')", $where); $where = str_replace("@my_entity", "('".$_SESSION['user']['department']."')", $where); if( count($_SESSION['user']['services']) > 0 ) { $entities = ''; for($i=0; $i 0 ) { $groupeGdd = ''; for($i=0; $iconnect(); $this->query("DELETE FROM ".$_SESSION['tablename']['groupbasket'] ." where BASKET_ID = '".$_SESSION['m_admin']['basket']['basketId']."'"); //$this->show(); $grouplistetmp =""; for($i=0; $i < count($_SESSION['m_admin']['basket']['groups'] ); $i++) { $grouplistetmp = $_SESSION['m_admin']['basket']['groups'][$i]['GROUP_LIST']; $grouplistetmp = str_replace("'", "\'", $_SESSION['m_admin']['basket']['groups'][$i]['GROUP_LIST']); //$grouplistetmp = str_replace("''''", "''", $grouplistetmp ); $temp = preg_replace("/^,/", "", trim($_SESSION['m_admin']['basket']['groups'][$i]['BASKET_LIST'])); $temp = str_replace("''", "'", $temp); $temp = addslashes($temp); $this->query("INSERT INTO ".$_SESSION['tablename']['groupbasket']." VALUES ('".$_SESSION['m_admin']['basket']['groups'][$i]['GROUP_ID']."', '".$_SESSION['m_admin']['basket']['basketId']."', ".$_SESSION['m_admin']['basket']['groups'][$i]['SEQUENCE'].", '".$temp."', '".$grouplistetmp."' ,'".$_SESSION['m_admin']['basket']['groups'][$i]['REDIRECT']."', '".$_SESSION['m_admin']['basket']['groups'][$i]['DEL']."','".$_SESSION['m_admin']['basket']['groups'][$i]['DUPLIQ']."', '".$_SESSION['m_admin']['basket']['groups'][$i]['RESULT_PAGE']."', '".$_SESSION['m_admin']['basket']['groups'][$i]['FKID_DYNAMIC_ARRAY']."' )"); // $this->show(); } //exit; } /** * Allow, suspend or delete basket in the database * * @param string $id basket identifier * @param string $mode allow, ban or del */ public function adminbasket($id,$mode) { if(!empty($_SESSION['error'])) { header("location: index.php?page=basket"); exit; } else { $this->connect(); $this->query("select BASKET_ID from ".$_SESSION['tablename']['baskets']." where BASKET_ID = '".$id."'"); if($this->nb_result() == 0) { $_SESSION['error'] = _BASKET_MISSING; header("location: index.php?page=basket"); exit; } else { $info = $this->fetch_object(); if($mode == "allow") { $this->query("Update ".$_SESSION['tablename']['baskets']." set enabled = 'Y' where BASKET_ID = '".$id."'", "no"); if($_SESSION['history']['basketval'] == "true") { require_once("class_history.php"); $users = new history(); $users->add($_SESSION['tablename']['baskets'], $id,"VAL",_BASKET_AUTORIZATION." : ".$id); } $_SESSION['error'] = _AUTORIZED_BASKET; } elseif($mode == "ban") { $this->query("Update ".$_SESSION['tablename']['baskets']." set enabled = 'N' where basket_id = '".$id."'", "no"); if($_SESSION['history']['basketban'] == "true") { require_once("class_history.php"); $users = new history(); $users->add($_SESSION['tablename']['baskets'], $id,"BAN",_BASKET_SUSPENSION." : ".$id); } $_SESSION['error'] = _SUSPENDED_BASKET; } elseif($mode == "del" ) { $this->query("delete from ".$_SESSION['tablename']['baskets']." where basket_id = '".$id."'"); $this->query("delete from ".$_SESSION['tablename']['groupbasket']." where basket_id = '".$id."'"); if($_SESSION['history']['basketdel'] == "true") { require_once("class_history.php"); $users = new history(); $users->add($_SESSION['tablename']['baskets'], $id,"DEL",_BASKET_DELETION." : ".$id); } $_SESSION['error'] = _BASKET_DELETION; } header("location: index.php?page=basket"); exit; } } } ///////////////////////////// /** * Load the current basket into session * * @param $id basket string basket identifier of the basket to load */ public function load_current_basket($id_basket) { $_SESSION['current_basket'] = array(); $_SESSION['current_basket']['id'] = trim($id_basket); $ind = -1; for($i=0; $i < count($_SESSION['user']['baskets']); $i++) { if($_SESSION['user']['baskets'][$i]['basket_id'] == $_SESSION['current_basket']['id']) { $ind = $i; break; } } if($ind > -1) { $_SESSION['current_basket']['table'] = $_SESSION['user']['baskets'][$ind]['table']; $_SESSION['current_basket']['page'] =$_SESSION['user']['baskets'][$ind]['result_page']; $_SESSION['current_basket']['label'] = $_SESSION['user']['baskets'][$ind]['name']; $_SESSION['current_basket']['clause'] = $_SESSION['user']['baskets'][$ind]['clause']; $_SESSION['current_basket']['select'] = $_SESSION['user']['baskets'][$ind]['select']; $_SESSION['current_basket']['group_by'] = $_SESSION['user']['baskets'][$ind]['group_by']; $_SESSION['current_basket']['order_by'] = $_SESSION['user']['baskets'][$ind]['order_by']; $_SESSION['current_basket']['limit'] = $_SESSION['user']['baskets'][$ind]['limit']; $_SESSION['current_basket']['is_global'] = $_SESSION['user']['baskets'][$ind]['is_global']; $_SESSION['current_basket']['locktime'] = $_SESSION['user']['baskets'][$ind]['locktime']; $_SESSION['current_basket']['can_insert'] = $_SESSION['user']['baskets'][$ind]['can_insert']; $_SESSION['current_basket']['can_modify'] = $_SESSION['user']['baskets'][$ind]['can_modify']; $_SESSION['current_basket']['can_delete'] = $_SESSION['user']['baskets'][$ind]['can_delete']; $_SESSION['current_basket']['can_redirect'] = $_SESSION['user']['baskets'][$ind]['can_redirect']; $_SESSION['current_basket']['redirect_services'] = $_SESSION['user']['baskets'][$ind]['redirect_services']; $_SESSION['current_basket']['redirect_users'] = $_SESSION['user']['baskets'][$ind]['redirect_users']; $_SESSION['current_basket']['gdd_basket'] = $_SESSION['user']['baskets'][$ind]['gdd_basket']; $_SESSION['current_basket']['other_link'] = $_SESSION['user']['baskets'][$ind]['other_link']; $_SESSION['current_basket']['fkid_dynamic_array'] = $_SESSION['user']['baskets'][$ind]['fkid_dynamic_array']; } $_SESSION['current_basket']['no_action'] = false; $_SESSION['current_basket']['basket_owner'] = $_SESSION['user']['baskets'][$ind]['basket_owner']; $_SESSION['current_basket']['abs_basket'] = $_SESSION['user']['baskets'][$ind]['abs_basket']; if($_SESSION['current_basket']['can_delete'] == false && $_SESSION['current_basket']['can_redirect'] <> 'Y') { $_SESSION['current_basket']['no_action'] = true; } if(preg_match('/.php$/', $_SESSION['current_basket']['page'])) { header('location:'.$_SESSION['current_basket']['page']); } else { header('location:index.php?page='.$_SESSION['current_basket']['page']); } } ///////////////////////////// /** * Load the current basket into session * * @param $id basket string basket identifier of the basket to load */ public function load_current_basket_gdd($id_basket) { $_SESSION['current_basket'] = array(); $_SESSION['current_basket']['id'] = trim($id_basket); $ind = -1; for($i=0; $i < count($_SESSION['user']['baskets_gdd']); $i++) { if($_SESSION['user']['baskets_gdd'][$i]['basket_id'] == $_SESSION['current_basket']['id']) { $ind = $i; break; } } if($ind > -1) { $_SESSION['current_basket']['table'] = $_SESSION['user']['baskets_gdd'][$ind]['table']; $_SESSION['current_basket']['page'] =$_SESSION['user']['baskets_gdd'][$ind]['result_page']; $_SESSION['current_basket']['label'] = $_SESSION['user']['baskets_gdd'][$ind]['name']; $_SESSION['current_basket']['clause'] = $_SESSION['user']['baskets_gdd'][$ind]['clause']; $_SESSION['current_basket']['select'] = $_SESSION['user']['baskets_gdd'][$ind]['select']; $_SESSION['current_basket']['group_by'] = $_SESSION['user']['baskets_gdd'][$ind]['group_by']; $_SESSION['current_basket']['order_by'] = $_SESSION['user']['baskets_gdd'][$ind]['order_by']; $_SESSION['current_basket']['limit'] = $_SESSION['user']['baskets_gdd'][$ind]['limit']; $_SESSION['current_basket']['is_global'] = $_SESSION['user']['baskets_gdd'][$ind]['is_global']; $_SESSION['current_basket']['locktime'] = $_SESSION['user']['baskets_gdd'][$ind]['locktime']; $_SESSION['current_basket']['can_insert'] = $_SESSION['user']['baskets_gdd'][$ind]['can_insert']; $_SESSION['current_basket']['can_modify'] = $_SESSION['user']['baskets_gdd'][$ind]['can_modify']; $_SESSION['current_basket']['can_delete'] = $_SESSION['user']['baskets_gdd'][$ind]['can_delete']; $_SESSION['current_basket']['can_redirect'] = $_SESSION['user']['baskets_gdd'][$ind]['can_redirect']; $_SESSION['current_basket']['redirect_services'] = $_SESSION['user']['baskets_gdd'][$ind]['redirect_services']; $_SESSION['current_basket']['redirect_users'] = $_SESSION['user']['baskets_gdd'][$ind]['redirect_users']; $_SESSION['current_basket']['gdd_basket'] = $_SESSION['user']['baskets_gdd'][$ind]['gdd_basket']; $_SESSION['current_basket']['fkid_dynamic_array'] = $_SESSION['user']['baskets_gdd'][$ind]['fkid_dynamic_array']; } $_SESSION['current_basket']['no_action'] = false; $_SESSION['current_basket']['basket_owner'] = $_SESSION['user']['baskets_gdd'][$ind]['basket_owner']; $_SESSION['current_basket']['abs_basket'] = $_SESSION['user']['baskets_gdd'][$ind]['abs_basket']; if($_SESSION['current_basket']['can_delete'] == false && $_SESSION['current_basket']['can_redirect'] <> 'Y') { $_SESSION['current_basket']['no_action'] = true; } if(preg_match('/.php$/', $_SESSION['current_basket']['page'])) { header('location:'.$_SESSION['current_basket']['page']); } else { header('location:index.php?page='.$_SESSION['current_basket']['page']); } } ///////////////////////////// /** * Load the current basket into session * * @param $id basket string basket identifier of the basket to load */ public function load_current_other_link($id_basket) { $_SESSION['current_basket'] = array(); $_SESSION['current_basket']['id'] = trim($id_basket); $ind = -1; for($i=0; $i < count($_SESSION['user']['other_link']); $i++) { if($_SESSION['user']['other_link'][$i]['basket_id'] == $_SESSION['current_basket']['id']) { $ind = $i; break; } } if($ind > -1) { $_SESSION['current_basket']['table'] = $_SESSION['user']['other_link'][$ind]['table']; $_SESSION['current_basket']['page'] =$_SESSION['user']['other_link'][$ind]['result_page']; $_SESSION['current_basket']['label'] = $_SESSION['user']['other_link'][$ind]['name']; $_SESSION['current_basket']['clause'] = $_SESSION['user']['other_link'][$ind]['clause']; $_SESSION['current_basket']['select'] = $_SESSION['user']['other_link'][$ind]['select']; $_SESSION['current_basket']['group_by'] = $_SESSION['user']['other_link'][$ind]['group_by']; $_SESSION['current_basket']['order_by'] = $_SESSION['user']['other_link'][$ind]['order_by']; $_SESSION['current_basket']['limit'] = $_SESSION['user']['other_link'][$ind]['limit']; $_SESSION['current_basket']['is_global'] = $_SESSION['user']['other_link'][$ind]['is_global']; $_SESSION['current_basket']['locktime'] = $_SESSION['user']['other_link'][$ind]['locktime']; $_SESSION['current_basket']['can_insert'] = $_SESSION['user']['other_link'][$ind]['can_insert']; $_SESSION['current_basket']['can_modify'] = $_SESSION['user']['other_link'][$ind]['can_modify']; $_SESSION['current_basket']['can_delete'] = $_SESSION['user']['other_link'][$ind]['can_delete']; $_SESSION['current_basket']['can_redirect'] = $_SESSION['user']['other_link'][$ind]['can_redirect']; $_SESSION['current_basket']['redirect_services'] = $_SESSION['user']['other_link'][$ind]['redirect_services']; $_SESSION['current_basket']['redirect_users'] = $_SESSION['user']['other_link'][$ind]['redirect_users']; $_SESSION['current_basket']['other_link'] = $_SESSION['user']['other_link'][$ind]['other_link']; $_SESSION['current_basket']['fkid_dynamic_array'] = $_SESSION['user']['other_link'][$ind]['fkid_dynamic_array']; } $_SESSION['current_basket']['no_action'] = false; $_SESSION['current_basket']['basket_owner'] = $_SESSION['user']['other_link'][$ind]['basket_owner']; $_SESSION['current_basket']['abs_basket'] = $_SESSION['user']['other_link'][$ind]['abs_basket']; if($_SESSION['current_basket']['can_delete'] == false && $_SESSION['current_basket']['can_redirect'] <> 'Y') { $_SESSION['current_basket']['no_action'] = true; } if(preg_match('/.php$/', $_SESSION['current_basket']['page'])) { header('location:'.$_SESSION['current_basket']['page']); } else { header('location:index.php?page='.$_SESSION['current_basket']['page']); } } /** * Returns in a string the form to redirect baskets to users during leaving * * @param $result array Array of the baskets to redirect * @param $nb_total integer Number of baskets to redirect * @param $user_id string Owner of the baskets (identifier) * @param $used_css string CSS to use in displaying */ public function redirect_my_baskets_list($result, $nb_total, $user_id, $used_css = 'listing spec') { $nb_show = $_SESSION['config']['nblinetoshow']; ob_start(); ?>

>

connect(); $this->query("SELECT gb.basket_id FROM ".$_SESSION['tablename']['usergroup_content']." uc, ".$_SESSION['tablename']['groupbasket']." gb WHERE uc.user_id = '".$user_id."' AND uc.primary_group = 'Y' AND uc.group_id = gb.group_id"); $nb = $this->nb_result(); $this->query("select basket_id from ".$_SESSION['tablename']['missing_user']." mu where new_user = '".$user_id."'"); return $nb+$this->nb_result(); } } /** * Returns in an array the baskets of a given user (Including the redirected baskets) * * @param $user_id string Owner of the baskets (identifier) */ public function get_baskets($user_id) { $this->connect(); $this->query("select b.basket_id, b.basket_name from ".$_SESSION['tablename']['baskets']." b, ".$_SESSION['tablename']['usergroup_content']." uc, ".$_SESSION['tablename']['groupbasket']." gb, ".$_SESSION['tablename']['usergroups']." u where uc.user_id = '".$user_id."' and uc.primary_group = 'Y' and gb.group_id = uc.group_id and b.basket_id = gb.basket_id and u.group_id = gb.group_id and u.enabled = 'Y' "); //$this->show(); $tab = array(); while($res = $this->fetch_object()) { array_push($tab, array('basket_id' => $res->basket_id, 'name' => $res->basket_name, 'is_virtual' => 'N', 'basket_owner' =>'', 'abs_basket' => false)); } return array_merge($tab, $this->get_abs_baskets($user_id)); } /** * Returns in an array the redirected baskets of a given user * * @param $user_id string Owner of the baskets (identifier) */ public function get_abs_baskets($user_id) { $this->connect(); $this->query("select basket_id, is_virtual, basket_owner from ".$_SESSION['tablename']['missing_user']." mu where user_abs = '".$user_id."'"); $db = new dbquery(); $db->connect(); $tab = array(); while( $res = $this->fetch_object()) { $basket_id = $res->basket_id; $basket_owner = $res->basket_owner; $is_virtual = $res->is_virtual; $db->query("select basket_name from ".$_SESSION ['tablename']['baskets']." where basket_id ='".$basket_id."'"); $res2 = $db->fetch_object(); $basket_name = $res2->basket_name; if($is_virtual == 'Y' && $basket_owner <> '') { $db->query("select firstname, lastname from ".$_SESSION['tablename']['users']." where user_id = '".$basket_owner."'"); $res2 = $db->fetch_object(); $user_name = $res2->firstname.' '.$res2->lastname; $basket_name .= "(".$user_name.")"; } else { $basket_owner = $user_id; } array_push($tab, array('basket_id' => $basket_id, 'name' => $basket_name, 'is_virtual' => $is_virtual, 'basket_owner' => $basket_owner, 'abs_basket' => true)); } return $tab; } /** * Returns in an array all the data of a basket for a user (checks if the basket is a redirected one and then if already a virtual one) * * @param $basket_id string Basket identifier * @param $user_id string User identifier */ public function get_baskets_data($basket_id, $user_id) { $tab = array(); $this->connect(); $Vls_basket_all_group = $_SESSION['config']['basket_all_group']; if($Vls_basket_all_group) { ########################################################### ### On regarde d'abord sur le groupe primaire ########################################################### $this->query(" SELECT * FROM ".$_SESSION['tablename']['baskets']." b, ".$_SESSION['tablename']['groupbasket']." g WHERE b.basket_id = '".$basket_id."' AND b.enabled = 'Y' AND g.group_id = '".$_SESSION['user']['primarygroup']."' AND g.BASKET_ID = b.BASKET_ID " ); $res = $this->fetch_object(); $tab['basket_id'] = $res->BASKET_ID; if($tab['basket_id']=="") { ########################################################### $Vls_liste_groupe = "AND ("; for($i=0; $iquery(" SELECT * FROM ".$_SESSION['tablename']['baskets']." b, ".$_SESSION['tablename']['groupbasket']." g WHERE b.basket_id = '".$basket_id."' AND b.enabled = 'Y' ".$Vls_liste_groupe." AND g.BASKET_ID = b.BASKET_ID " ); $res = $this->fetch_object(); } } else { $this->query(" SELECT * FROM ".$_SESSION['tablename']['baskets']." b, ".$_SESSION['tablename']['groupbasket']." g WHERE b.basket_id = '".$basket_id."' AND b.enabled = 'Y' AND g.group_id = '".$_SESSION['user']['primarygroup']."' AND g.BASKET_ID = b.BASKET_ID " ); $res = $this->fetch_object(); } //$res = $this->fetch_object(); $tab['basket_id'] = $res->BASKET_ID; $tab['table'] = $res->RES_TABLE; $tab['desc'] = $res->BASKET_DESC; $tab['name'] = $res->BASKET_NAME; $tab['clause'] = $res->BASKET_CLAUSE; $tab['is_global'] = $res->IS_GLOBAL; $tab['locktime'] = $res->LOCK_TIME; $tab['gdd_basket'] = $res->GDD_BASKET; $tab['other_link'] = $res->OTHER_LINK; $tab['fkid_dynamic_array'] = $res->FKID_DYNAMIC_ARRAY; if( !empty($res->BASKET_SELECT) ) $tab['select'] = $res->BASKET_SELECT; if( !empty($res->BASKET_GROUP_BY) ) $tab['group_by'] = $res->BASKET_GROUP_BY; if( !empty($res->BASKET_ORDER_BY) ) $tab['order_by'] = $res->BASKET_ORDER_BY; if( !empty($res->BASKET_LIMIT) ) $tab['limit'] = $res->BASKET_LIMIT; $is_virtual = 'N'; $basket_owner = ''; $abs_basket = false; /// TO DO : Test if tmp_user is empty if($user_id <> $_SESSION['user']['UserId']) { $this->query("select group_id from ".$_SESSION['tablename']['usergroup_content']." where primary_group = 'Y' and user_id = '".$user_id."'"); $res = $this->fetch_object(); $primary_group = $res->group_id; } else { $primary_group = $_SESSION['user']['primarygroup']; } if($Vls_basket_all_group) { $this->query("select sequence, can_redirect, can_delete, can_insert, result_page, redirect_basketlist, redirect_grouplist FROM ".$_SESSION['tablename']['groupbasket']." WHERE group_id = '".$primary_group."' and basket_id = '".$basket_id."' "); $res = $this->fetch_object(); if($res->result_page=="") { $Vls_liste_groupe = "("; for($i=0; $iquery("select sequence, can_redirect, can_delete, can_insert, result_page, redirect_basketlist, redirect_grouplist FROM ".$_SESSION['tablename']['groupbasket']." WHERE ".$Vls_liste_groupe." AND basket_id = '".$basket_id."' "); } else { $this->query("select sequence, can_redirect, can_delete, can_insert, result_page, redirect_basketlist, redirect_grouplist FROM ".$_SESSION['tablename']['groupbasket']." WHERE group_id = '".$primary_group."' and basket_id = '".$basket_id."' "); } } else { $this->query("select sequence, can_redirect, can_delete, can_insert, result_page, redirect_basketlist, redirect_grouplist FROM ".$_SESSION['tablename']['groupbasket']." WHERE group_id = '".$primary_group."' and basket_id = '".$basket_id."' "); } $res = $this->fetch_object(); $tab['can_insert'] = $res->can_insert; $tab['can_redirect'] = $res->can_redirect; $tab['can_delete'] = $res->can_delete; $tab['result_page'] = $res->result_page; $tab['is_virtual'] = $is_virtual; $tab['basket_owner'] = $basket_owner; $tab['redirect_services'] = trim(stripslashes($res->redirect_basketlist)); $tab['redirect_users'] = trim(stripslashes($res->redirect_grouplist)); $tab['abs_basket'] = $abs_basket; $user = "'".$user_id."'"; if($user_id <> $_SESSION['user']['UserId']) { $this->query("select department from ".$_SESSION['tablename']['users']." where user_id = '".$user_id."'"); $res = $this->fetch_object(); $entity = "'".$res->department."'"; $my_entities = $_SESSION['user']['services']; } else { $entity = "'".$_SESSION['user']['department']."'"; $my_entities = $_SESSION['user']['services']; } $tab['clause'] = str_replace("@user", $user , $tab['clause']); $tab['clause'] = str_replace("@my_entity",$entity , $tab['clause']); if( count($my_entities) > 0) { $entities = ''; for($i=0; $i 0 ) { $groupeGdd = ''; for($i=0; $iconnect(); $this->query(" select basket_id, res_table, basket_name, basket_desc, basket_clause, is_global, lock_time, gdd_basket, other_link, BASKET_SELECT, BASKET_GROUP_BY, BASKET_ORDER_BY, BASKET_LIMIT from ".$_SESSION['tablename']['baskets']." where basket_id = '".$basket_id."' and enabled = 'Y' "); $res = $this->fetch_object(); $tab['basket_id'] = $res->basket_id; $tab['table'] = $res->res_table; $tab['desc'] = $res->basket_desc; $tab['name'] = $res->basket_name; $tab['clause'] = $res->basket_clause; $tab['is_global'] = $res->is_global; $tab['locktime'] = $res->lock_time; $tab['gdd_basket'] = $res->gdd_basket; $tab['other_link'] = $res->other_link; if( !empty($res->BASKET_SELECT) ) $tab['select'] = $res->BASKET_SELECT; if( !empty($res->BASKET_GROUP_BY) ) $tab['group_by'] = $res->BASKET_GROUP_BY; if( !empty($res->BASKET_ORDER_BY) ) $tab['order_by'] = $res->BASKET_ORDER_BY; if( !empty($res->BASKET_LIMIT) ) $tab['limit'] = $res->BASKET_LIMIT; $this->query("select user_abs, is_virtual, basket_owner from ".$_SESSION['tablename']['missing_user']." where basket_id = '".$basket_id."' and new_user = '".$user_id."' and system_id = ".$system_id); $abs_basket = true; $res = $this->fetch_object(); $is_virtual = $res->is_virtual; $basket_owner = $res->basket_owner; $user_abs = $res->user_abs; ############################################################ ### recherche du groupe primaire du user abs ############################################################ if($basket_owner!="") { $this->query(" select GROUP_ID from usergroup_content where USER_ID = '$basket_owner' and PRIMARY_GROUP = 'Y' "); } else { $this->query(" select GROUP_ID from usergroup_content where USER_ID = '$user_abs' and PRIMARY_GROUP = 'Y' "); } $res = $this->fetch_object(); $Vls_primary_group = $res->GROUP_ID; ############################################################ ### récupération de l'id de tableau dynamique ############################################################ $this->query(" select fkid_dynamic_array from ".$_SESSION['tablename']['groupbasket']." where group_id = '$Vls_primary_group' AND BASKET_ID = '".$basket_id."' "); $res = $this->fetch_object(); $tab['fkid_dynamic_array'] = $res->fkid_dynamic_array; ############################################################ if(empty($basket_owner)) { $basket_owner = $user_abs; } if($is_virtual == 'N') { $tmp_user = $user_abs; $this->query("select firstname, lastname from ".$_SESSION['tablename']['users']." where user_id ='".$user_abs."'"); $res = $this->fetch_object(); $name_user_abs = $res->firstname.' '.$res->lastname; $tab['name'] .= " (".$name_user_abs.")"; $tab['desc'] .= " (".$name_user_abs.")"; $tab['basket_id'] .= "_".$user_abs; } else { $tmp_user = $basket_owner; /// TO DO : test if basket_owner empty $this->query("select firstname, lastname from ".$_SESSION['tablename']['users']." where user_id ='".$basket_owner."'"); $res = $this->fetch_object(); $name_basket_owner = $res->firstname.' '.$res->lastname; $tab['name'] .= " (".$name_basket_owner.")"; $tab['desc'] .= " (".$name_basket_owner.")"; $tab['basket_id'] .= "_".$basket_owner; } /// TO DO : Test if tmp_user is empty if($tmp_user <> $_SESSION['user']['UserId']) { $this->query("select group_id from ".$_SESSION['tablename']['usergroup_content']." where primary_group = 'Y' and user_id = '".$tmp_user."'"); $res = $this->fetch_object(); $primary_group = $res->group_id; } else { $primary_group = $_SESSION['user']['primarygroup']; } $this->query("select sequence, can_redirect, can_delete, can_insert, result_page, redirect_basketlist, redirect_grouplist from ".$_SESSION['tablename']['groupbasket']." where group_id = '".$primary_group."' and basket_id = '".$basket_id."' "); $res = $this->fetch_object(); $tab['can_insert'] = $res->can_insert; $tab['can_redirect'] = $res->can_redirect; $tab['can_delete'] = $res->can_delete; $tab['result_page'] = $res->result_page; $tab['is_virtual'] = $is_virtual; $tab['basket_owner'] = $basket_owner; $tab['redirect_services'] = trim(stripslashes($res->redirect_basketlist)); $tab['redirect_users'] = trim(stripslashes($res->redirect_grouplist)); $tab['abs_basket'] = $abs_basket; $user = "'".$tmp_user."'"; if($tmp_user <> $_SESSION['user']['UserId']) { $this->query("select department from ".$_SESSION['tablename']['users']." where user_id = '".$tmp_user."'"); $res = $this->fetch_object(); $entity = "'".$res->department."'"; $my_entities = $_SESSION['user']['services']; } else { $entity = "'".$_SESSION['user']['department']."'"; $my_entities = $_SESSION['user']['services']; } $tab['clause'] = str_replace("@user", $user , $tab['clause']); $tab['clause'] = str_replace("@my_entity",$entity , $tab['clause']); if( count($my_entities) > 0) { $entities = ''; for($i=0; $i 0 ) { $groupeGdd = ''; for($i=0; $iconnect(); require_once("class_users.php"); $users = new users(); $array_dep = array(); $tab_services = array(); if($user_id == $_SESSION['user']['UserId']) { $arr_groups = $_SESSION['user']['groups']; } else { $arr_tmp = $users->load_groups($user_id); $arr_groups = $arr_tmp[1]; } for($i=0; $i < count($arr_groups); $i++) { if($arr_groups[$i]['CONSULT_GROUP'] == 'Y') { $this->query("select WHERE_CLAUSE from ".$_SESSION['tablename']['security']." where GROUP_ID = '".$arr_groups[$i]['GROUP_ID']."' and RES_TABLE = '".$_SESSION['ressources'][0]['tablename']."' and WHERE_CLAUSE like '%DESTINATION IN%' "); //$this->show(); $line = $this->fetch_object(); $tmp = trim($line->WHERE_CLAUSE); $tmp = str_replace("DESTINATION IN (", "", $tmp); $tmp = str_replace(")", "", $tmp); $tmp = str_replace("'", "", $tmp); if(preg_match("/,/",$tmp)) { $tab = array(); $tab = explode(",", $tmp); for($j=0; $j< count($tab); $j++) { if(!in_array(trim($tab[$j]), $tab_services)) { array_push($tab_services, trim($tab[$j])); } } } else { if(!in_array(trim($tmp), $tab_services) && !empty($tmp)) { array_push($tab_services, trim($tmp)); } } } } for($i=0; $i < count($tab_services); $i++) { $this->query("select * from ".$_SESSION['tablename']['services']." where ID = '".$tab_services[$i]."'"); //$this->show(); if($this->nb_result() > 0) { $line = $this->fetch_object(); array_push($array_dep, array( 'ID' => $tab_services[$i], 'LABEL' => $line->SERVICE, 'ENABLED' => $line->ENABLED)); } } function cmp($a, $b) { return strcmp($a["LABEL"], $b["LABEL"]); } usort($array_dep, "cmp"); return $array_dep; } /** * Loads status from users and create var when he's missing. * */ public function load_activity_user() { $the_user = $_SESSION['user']['UserId']; $this->connect(); $this->query("select status from ".$_SESSION['tablename']['users']." where user_id = '".$_SESSION['user']['UserId']."'"); $line = $this->fetch_object(); if ($line->status == 'ABS') { $_SESSION['abs_user_status'] = true; } else { $_SESSION['abs_user_status'] = false; } } /** * Loads the baskets datas into session variables * */ public function load_basket() { $_SESSION['user']['baskets'] = array(); ######################################################################################################################## ### On fait une recherche de bannette sur tous les groupes de l'utilsateur ou seulement sur le groupe primaire ######################################################################################################################## $Vls_basket_all_group = $_SESSION['config']['basket_all_group']; if($Vls_basket_all_group) { $Vls_liste_groupe = "AND ("; for($i=0; $iquery("select DISTINCT ".$_SESSION['tablename']['groupbasket'].".basket_id from ".$_SESSION['tablename']['groupbasket'].", ".$_SESSION['tablename']['baskets']." WHERE ".$_SESSION['tablename']['baskets'].".basket_id = ".$_SESSION['tablename']['groupbasket'].".basket_id ".$Vls_liste_groupe." AND ".$_SESSION['tablename']['baskets'].".gdd_basket = 'N' AND ".$_SESSION['tablename']['baskets'].".other_link = 'N' ORDER BY ".$_SESSION['tablename']['baskets'].".basket_name"); } else { $db = new dbquery(); $db->query("select ".$_SESSION['tablename']['groupbasket'].".basket_id from ".$_SESSION['tablename']['groupbasket'].", ".$_SESSION['tablename']['baskets']." WHERE ".$_SESSION['tablename']['baskets'].".basket_id = ".$_SESSION['tablename']['groupbasket'].".basket_id AND ".$_SESSION['tablename']['groupbasket'].".group_id = '".$_SESSION['user']['primarygroup']."' AND ".$_SESSION['tablename']['baskets'].".gdd_basket = 'N' AND ".$_SESSION['tablename']['baskets'].".other_link = 'N' ORDER BY ".$_SESSION['tablename']['baskets'].".basket_name"); } $Vlt_liste_basket = array(); // $db->show(); while($res = $db->fetch_object()) { $Vls_id_basket = $res->basket_id; if(!in_array($Vls_id_basket, $Vlt_liste_basket)) { $Vlt_liste_basket[] = $Vls_id_basket; $tmp = $this->get_baskets_data($res->basket_id, $_SESSION['user']['UserId']); //$this->show_array($tmp); array_push($_SESSION['user']['baskets'], $tmp ); } } } /** * Loads a virtual basket to process mail when an user is missing. * */ public function load_basket_abs() { $db = new dbquery(); $db->connect(); $db->query("select system_id, basket_id from ".$_SESSION['tablename']['missing_user']." where new_user = '".$_SESSION['user']['UserId']."' "); //$db->show(); while($res = $db->fetch_object()) { array_push($_SESSION['user']['baskets'], $this->get_abs_baskets_data($res->basket_id, $_SESSION['user']['UserId'], $res->system_id)); } } /** * Loads the baskets GDD datas into session variables * */ public function load_basket_gdd() { $_SESSION['user']['baskets_gdd'] = array(); ######################################################################################################################## ### On fait une recherche de bannette sur tous les groupes de l'utilsateur ou seulement sur le groupe primaire ######################################################################################################################## $Vls_basket_all_group = $_SESSION['config']['basket_all_group']; if($Vls_basket_all_group) { $Vls_liste_groupe = "AND ("; for($i=0; $iquery("select ".$_SESSION['tablename']['groupbasket'].".basket_id from ".$_SESSION['tablename']['groupbasket'].", ".$_SESSION['tablename']['baskets']." WHERE ".$_SESSION['tablename']['baskets'].".basket_id = ".$_SESSION['tablename']['groupbasket'].".basket_id ".$Vls_liste_groupe." AND ".$_SESSION['tablename']['baskets'].".gdd_basket = 'Y' ORDER BY ".$_SESSION['tablename']['baskets'].".basket_name"); } else { $db = new dbquery(); $db->query("select ".$_SESSION['tablename']['groupbasket'].".basket_id from ".$_SESSION['tablename']['groupbasket'].", ".$_SESSION['tablename']['baskets']." WHERE ".$_SESSION['tablename']['baskets'].".basket_id = ".$_SESSION['tablename']['groupbasket'].".basket_id AND ".$_SESSION['tablename']['groupbasket'].".group_id = '".$_SESSION['user']['primarygroup']."' AND ".$_SESSION['tablename']['baskets'].".gdd_basket = 'Y' ORDER BY ".$_SESSION['tablename']['baskets'].".basket_name"); } $Vlt_liste_basket = array(); // $db->show(); while($res = $db->fetch_object()) { /* MERGE ? $tmp = array(); $tmp['basket_id'] = $line->basket_id."_".$line->user_abs; $tmp['table'] = $line->res_table; $tmp['page'] = "mail_process"; $tmp['desc'] = _PROCESS_MAIL_OF." ".$line->firstname.' '.$line->lastname; $tmp['name'] = _PROCESS_MAIL_OF." ".$line->firstname.' '.$line->lastname; $tmp['clause']= "( ( status='NEW' or status='COU' ) AND dest_user ='".$line->user_abs."' )"; $tmp['can_insert']=1; $tmp['can_modify']=1; $tmp['can_delete'] = 1; $tmp['can_redirect'] = "Y"; */ $Vls_id_basket = $res->basket_id; if(!in_array($Vls_id_basket, $Vlt_liste_basket)) { $Vlt_liste_basket[] = $Vls_id_basket; $tmp = $this->get_baskets_data($res->basket_id, $_SESSION['user']['UserId']); //$this->show_array($tmp); array_push($_SESSION['user']['baskets_gdd'], $tmp ); } } } /** * Loads the baskets other link datas into session variables * */ public function load_other_link() { $_SESSION['user']['other_link'] = array(); /* MERGE ? array_push ($_SESSION['user']['baskets'], $tmp); */ ######################################################################################################################## ### On fait une recherche de bannette sur tous les groupes de l'utilsateur ou seulement sur le groupe primaire ######################################################################################################################## $Vls_basket_all_group = $_SESSION['config']['basket_all_group']; if($Vls_basket_all_group) { $Vls_liste_groupe = "AND ("; for($i=0; $iquery("select ".$_SESSION['tablename']['groupbasket'].".basket_id from ".$_SESSION['tablename']['groupbasket'].", ".$_SESSION['tablename']['baskets']." WHERE ".$_SESSION['tablename']['baskets'].".basket_id = ".$_SESSION['tablename']['groupbasket'].".basket_id ".$Vls_liste_groupe." AND ".$_SESSION['tablename']['baskets'].".other_link = 'Y' ORDER BY ".$_SESSION['tablename']['baskets'].".basket_name"); } else { $db = new dbquery(); $db->query("select ".$_SESSION['tablename']['groupbasket'].".basket_id from ".$_SESSION['tablename']['groupbasket'].", ".$_SESSION['tablename']['baskets']." WHERE ".$_SESSION['tablename']['baskets'].".basket_id = ".$_SESSION['tablename']['groupbasket'].".basket_id AND ".$_SESSION['tablename']['groupbasket'].".group_id = '".$_SESSION['user']['primarygroup']."' AND ".$_SESSION['tablename']['baskets'].".other_link = 'Y' ORDER BY ".$_SESSION['tablename']['baskets'].".basket_name"); } $Vlt_liste_basket = array(); // $db->show(); while($res = $db->fetch_object()) { $Vls_id_basket = $res->basket_id; if(!in_array($Vls_id_basket, $Vlt_liste_basket)) { $Vlt_liste_basket[] = $Vls_id_basket; $tmp = $this->get_baskets_data($res->basket_id, $_SESSION['user']['UserId']); //$this->show_array($tmp); array_push($_SESSION['user']['other_link'], $tmp ); } } } public function get_baskets_pages() { $_SESSION['basket_page'] = array(); $xmlfile = simplexml_load_file("xml/basketpage.xml"); $i =0; foreach($xmlfile->BASKETPAGE as $BASKETPAGE) { $_SESSION['basket_page'][$i] = array("ID" => utf8_decode((string) $BASKETPAGE->NAME), "LABEL" => utf8_decode((string) $BASKETPAGE->LABEL)); $i++; } } } ?>