*/ class workflow extends dbquery { /*public function load_workflow() { $_SESSION['workflow'] = array(); $xmlfile = simplexml_load_file("xml/workflow.xml"); $order = ""; $type = ""; $i =0; foreach($xmlfile->WORKFLOW as $WORKFLOW) { $type = utf8_decode((string) $WORKFLOW->TYPE_DOC); $_SESSION['workflow'][$type] = array(); foreach($WORKFLOW->SEQUENCE as $SEQUENCE) { $order = utf8_decode((string) $SEQUENCE->ORDER); $_SESSION['workflow'][$type][$order] = array( "LABEL" => utf8_decode((string) $SEQUENCE->LABEL), "STATUS_PREV" => utf8_decode((string) $SEQUENCE->STATUS_PREV), "STATUS_NEXT" => utf8_decode((string) $SEQUENCE->STATUS_NEXT)); } $i++; } }*/ public function loardWorkflowParameters() { if(!isset($_SESSION['workflow']) || empty($_SESSION['workflow'])){ $xmlWorkflow = simplexml_load_file("xml/workflow.xml"); $_SESSION['workflow']['doctypes'] = array(); foreach($xmlWorkflow->DOCTYPE as $docType){ $_SESSION['workflow']['doctypes'][] = (string)$docType->ID; } } } public function type_have_workflow($type) { $wf = false; if(isset($_SESSION['workflow']['doctypes']) && (count($_SESSION['workflow']['doctypes']) > 0) && in_array($type, $_SESSION['workflow']['doctypes'])){ $wf = true; } return $wf; } public function have_tiket($res_id) { $this->connect(); $this->query("select * from ".$_SESSION['tablename']['tickets']." where RES_ID = '".$res_id."'"); if($this->nb_result() == 0) { return false; } else { $line = $this->fetch_object(); return $line->TICKET_ID; } } /** * Loard the amounts of a ticket * * @param int $theTicket the ID if ticket */ public function loardTicketAmounts($theTicket) { $_SESSION['ticket']['amounts'] = array(); $this->connect(); $this->query("SELECT * FROM ".$_SESSION['tablename']['tickets_amounts']." WHERE TICKET_ID = '".$theTicket."'"); while($line = $this->fetch_object()){ $_SESSION['ticket']['amounts'][$line->NUM_MANDATE] = array('date'=>$this->format_date($line->DATE_MANDATE), 'amount'=>$line->AMOUNT); } } /** * Form to add or modify schedule * * @param string $mode up or add * @param integer $id schedule identifier, empty by default */ public function formTicket($mode, $id = "") { $state = true; if($mode == "up") { if(empty($_SESSION['error'])) { $this->connect(); $this->query("SELECT * FROM ".$_SESSION['tablename']['tickets']." WHERE TICKET_ID = '".$id."'"); if($this->nb_result() == 0) { $_SESSION['error'] = _TICKET.' '._UNKNOWN; $state = false; } else { $line = $this->fetch_object(); $_SESSION['ticket']['ticketId'] = $line->TICKET_ID; $_SESSION['ticket']['resId'] = $line->RES_ID; $_SESSION['ticket']['marcketNum'] = $line->MARKET_NUM; $_SESSION['ticket']['isAdapted'] = $line->IS_ADAPTED; $_SESSION['ticket']['isFormalized'] = $line->IS_FORMALIZED; $_SESSION['ticket']['credit'] = $line->CREDIT_ACCOUNT; $_SESSION['ticket']['inventory'] = $line->INVENTORY_IDENT; $_SESSION['ticket']['imputation'] = $line->IMPUTATION; $_SESSION['ticket']['marketSubject'] = $line->MARKET_SUBJECT; $_SESSION['ticket']['holder'] = $line->HOLDER; $_SESSION['ticket']['amountMandate'] = $line->AMOUNT_TO_MANDATE; $_SESSION['ticket']['engagement'] = $line->ENGAGEMENT; $_SESSION['ticket']['totalMarket'] = $line->TOTAL_MARKET; $_SESSION['ticket']['piece'] = $line->PIECE; $_SESSION['ticket']['exercice'] = $line->EXERCICE; // chargement des montants $this->loardTicketAmounts($_SESSION['ticket']['ticketId']); } } echo '

'._TICKET_MODIFICATION.'

'; } elseif($mode == "add"){ $this->clearticketsinfos(); echo '

'._TICKET_ADDITION.'

'; } if($state == false) { echo "



"._TICKET.' '._UNKNOWN."



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

" />



name="marche" value="0" />  :
name="marche" value="1" />  :
:
:








0){ $i = 1; $total = 0; foreach ($_SESSION['ticket']['amounts'] as $key => $value) { $total += floatval($value['amount']); ?>
  
 
/>
/>

wash($_POST['id'], "nick", _TICKET_ID); } $_SESSION['ticket']['isAdapted'] = 'N'; $_SESSION['ticket']['isFormalized'] = 'N'; if($_POST['marche'] == '1'){ $_SESSION['ticket']['marcketNum'] = $_POST['numFormalise']; $_SESSION['ticket']['isFormalized'] = 'Y'; } elseif($_POST['marche'] == '0'){ $_SESSION['ticket']['marcketNum'] = $_POST['numAdapte']; $_SESSION['ticket']['isAdapted'] = 'Y'; } $_SESSION['ticket']['resId'] = $_POST['resId']; $_SESSION['ticket']['credit'] = $_POST['compte']; $_SESSION['ticket']['inventory'] = $_POST['IdentInventaire']; $_SESSION['ticket']['imputation'] = $_POST['imputation']; $_SESSION['ticket']['marketSubject'] = $_POST['objetMarche']; $_SESSION['ticket']['holder'] = $_POST['titulaire']; $_SESSION['ticket']['amountMandate'] = $_POST['montantMandater']; $_SESSION['ticket']['engagement'] = $_POST['numEngagement']; $_SESSION['ticket']['totalMarket'] = $_POST['montantMarche']; $_SESSION['ticket']['piece'] = $_POST['piece']; $_SESSION['ticket']['exercice'] = $_POST['exercice']; } /** * Clear the tickets add or modification vars */ public function clearticketsinfos() { $_SESSION['ticket'] = array(); $_SESSION['ticket']['ticketId'] = ''; $_SESSION['ticket']['resId'] = ''; $_SESSION['ticket']['marcketNum'] = ''; $_SESSION['ticket']['isAdapted'] = 'N'; $_SESSION['ticket']['isFormalized'] = 'N'; $_SESSION['ticket']['credit'] = 0; $_SESSION['ticket']['inventory'] = ''; $_SESSION['ticket']['imputation'] = ''; $_SESSION['ticket']['marketSubject'] = ''; $_SESSION['ticket']['holder'] = ''; $_SESSION['ticket']['amountMandate'] = 0; $_SESSION['ticket']['engagement'] = ''; $_SESSION['ticket']['totalMarket'] = 0; $_SESSION['ticket']['piece'] = ''; $_SESSION['ticket']['exercice'] = date("Y"); $_SESSION['ticket']['amounts'] = array(); } /** * Add ou modify ticket in the database * * @param string $mode up or add */ public function adduputicket($mode) { // add ou modify users in the database $this->ticketsinfo($mode); if(!empty($_SESSION['error'])) { if($mode == "up") { header("location: index.php?page=ticket_up&id=".$_SESSION['ticket']['ticketId']); } elseif($mode == "add") { header("location: index.php?page=ticket_add"); exit; } } else { $this->connect(); if($mode == "add") { $this->query("INSERT INTO `".$_SESSION['tablename']['tickets']."` ( `RES_ID`, `MARKET_NUM`, `IS_ADAPTED`, `IS_FORMALIZED`, `CREATION_DATE`, `CREDIT_ACCOUNT` , `INVENTORY_IDENT` , `IMPUTATION` , `MARKET_SUBJECT` , `HOLDER` ,`AMOUNT_TO_MANDATE` , `ENGAGEMENT` , `TOTAL_MARKET`, `PIECE`, `EXERCICE`) VALUES ('".$_SESSION['ticket']['resId']."', '".addslashes($_SESSION['ticket']['marcketNum'])."', '".$_SESSION['ticket']['isAdapted']."', '".$_SESSION['ticket']['isFormalized']."', '".date("Y-m-d H:i:s")."', '".addslashes($_SESSION['ticket']['credit'])."', '".addslashes($_SESSION['ticket']['inventory'])."', '".addslashes($_SESSION['ticket']['imputation'])."', '".addslashes($_SESSION['ticket']['marketSubject'])."', '".addslashes($_SESSION['ticket']['holder'])."', '".addslashes($_SESSION['ticket']['amountMandate'])."','".addslashes($_SESSION['ticket']['engagement'])."', '".addslashes($_SESSION['ticket']['totalMarket'])."', '".addslashes($_SESSION['ticket']['piece'])."', '".$_SESSION['ticket']['exercice']."')"); $theTicket = mysql_insert_id(); foreach ($_SESSION['ticket']['amounts'] as $key => $value) { $this->query("INSERT INTO `".$_SESSION['tablename']['tickets_amounts']."` ( `TICKET_ID`, `NUM_MANDATE`, `DATE_MANDATE`, `AMOUNT`) VALUES ('".$theTicket."', '".$key."', '".$this->inverse_date(str_replace('/', '-', $value['date']))."', '".$value['amount']."')"); } if($_SESSION['history']['ticketadd'] == "true") { require_once("class_history.php"); $hist = new history(); $hist->add($_SESSION['tablename']['tickets'], $theTicket,"ADD",_TICKET_ADDED." : ".addslashes($_SESSION['ticket']['marketSubject'])); } $this->clearticketsinfos(); $_SESSION['error'] = _TICKET_ADDED; ?> query("select RES_ID, DOCSERVER_ID, PATH, FILENAME, FORMAT FROM ".$table." where ORIGIN = ".$_SESSION['ticket']['ticketId']); $line = $this->fetch_object(); $docserver = $line->DOCSERVER_ID; $path = $line->PATH; $filename = $line->FILENAME; $format = $line->FORMAT; $this->query("select PATH_TEMPLATE from ".$_SESSION['tablename']['docservers']." where DOCSERVER_ID = '".$docserver."'"); $line_doc = $this->fetch_object(); $docserver = $line_doc->PATH_TEMPLATE; $file = $docserver.$path.strtolower($filename); /* if ($_SESSION['config']['system'] == "true") { $file = str_replace("#","/",$file); } else { $file = str_replace("#","\\",$file); } */ $file = str_replace("#",DIRECTORY_SEPARATOR,$file); //echo $file; if(!empty($file) && isset($file)) { //unlink($file); } $this->query("Delete from ".$table." where STATUS = 'REP' and ORIGIN = '".$_SESSION['ticket']['ticketId']."'"); //$this->show(); $this->query("update `".$_SESSION['tablename']['tickets']."` set `MARKET_NUM` = '".addslashes($_SESSION['ticket']['marcketNum'])."', `IS_ADAPTED` = '".$_SESSION['ticket']['isAdapted']."', `IS_FORMALIZED` = '".$_SESSION['ticket']['isFormalized']."', `CREDIT_ACCOUNT` = '".addslashes($_SESSION['ticket']['credit'])."', `INVENTORY_IDENT` = '".addslashes($_SESSION['ticket']['inventory'])."', `IMPUTATION` = '".addslashes($_SESSION['ticket']['imputation'])."', `MARKET_SUBJECT` = '".addslashes($_SESSION['ticket']['marketSubject'])."' , `HOLDER` = '".addslashes($_SESSION['ticket']['holder'])."', `AMOUNT_TO_MANDATE` = '".addslashes($_SESSION['ticket']['amountMandate'])."', `ENGAGEMENT` = '".addslashes($_SESSION['ticket']['engagement'])."', `TOTAL_MARKET` = '".addslashes($_SESSION['ticket']['totalMarket'])."', `PIECE` = '".addslashes($_SESSION['ticket']['piece'])."', `EXERCICE` = '".$_SESSION['ticket']['exercice']."' where TICKET_ID = '".$_SESSION['ticket']['ticketId']."'"); $theTicket = $_SESSION['ticket']['ticketId']; $this->query("DELETE FROM `".$_SESSION['tablename']['tickets_amounts']."` WHERE TICKET_ID = '".$theTicket."' "); foreach ($_SESSION['ticket']['amounts'] as $key => $value) { $this->query("INSERT INTO `".$_SESSION['tablename']['tickets_amounts']."` ( `TICKET_ID`, `NUM_MANDATE`, `DATE_MANDATE`, `AMOUNT`) VALUES ('".$theTicket."', '".$key."', '".$this->inverse_date(str_replace('/', '-', $value['date']))."', '".$value['amount']."')"); } if($_SESSION['history']['ticketup'] == "true") { require_once("class_history.php"); $hist = new history(); $hist->add($_SESSION['tablename']['tickets'], $_SESSION['ticket']['ticketId'],"UP",_TICKET_UPDATE." : ".addslashes($_SESSION['ticket']['marketSubject'])." (".$_SESSION['ticket']['ticketId'].")"); } $this->clearticketsinfos(); $_SESSION['error'] = _TICKET_UPDATED; ?>