* @contributor Loic Vinet */ require("class_functions.php"); require_once("class_db.php"); require_once("class_diffusion.php"); include("session.php"); if(file_exists($_SESSION['config']['lang'].'.php')) { include($_SESSION['config']['lang'].'.php'); } else { $_SESSION['error'] = "Language file missing...
"; } require("test_page.php"); require_once("pre_emet_exp.php"); require_once("class_letterbox.php"); //TITLE de res_x devient le nom du fichier sauf si une balise title a �t� d�finie dans le formulaire ($_REQUEST['title']) if( isset($_SESSION['upfile']['name']) ) $_SESSION['courrier']['title'] = $_SESSION['upfile']['name']; // For included modules if($_SESSION['config']['update_limit_date'] == true) { include($_SESSION['config']['includedir']."/addon_update_limit_date.php"); } function update_gid($gid) { if ($gid <> '') { $_SESSION['tmp_gid_id'] = $_SESSION['gid_id'] + 1; $_SESSION['gid_id'] = $_SESSION['gid_id'] + 1; } } $_SESSION['indexation'] = false; $func = new functions(); $_SESSION['tablechoice'] = $_SESSION['ressources'][0]['tablename']; $_SESSION['error'] = ""; $nom = ""; $prenom = ""; $civ = ""; $conn = new dbquery(); $conn->connect(); $conn_type = new dbquery(); $conn_type->connect(); $db_gdi = new dbquery(); $db_gdi -> connect(); //Donn�es en GET : Indexation courrier if(isset($_GET['cancel'])) { if( isset($_GET) && count($_GET) > 0 ) { if(isset($_SESSION['upfile']['format']) && !empty($_SESSION['upfile']['format'])) { $ext = strtolower($_SESSION['upfile']['format']); if(file_exists($_SESSION['config']['tmpdir'].'/tmp_file_'.$_SESSION['user']['UserId'].'.'.$ext)) { unlink($_SESSION['config']['tmpdir'].'/tmp_file_'.$_SESSION['user']['UserId'].'.'.$ext); } } $_SESSION['upfile'] = array(); ?> release($_POST['id'],"res_x"); ?> "; if($action == "validation") { header("location: validation.php&id=".$_REQUEST['id']); } else { header("location: enregistrement_doc.php"); } exit(); } else { $type = $_SESSION['courrier']['type_courrier']; } $conn_type -> query("SELECT GENERATE, MODEL from ".$_SESSION['tablename']['doctypes']." WHERE TYPE_ID = '".$type."' "); $res_type = $conn_type -> fetch_object(); if($_POST['gid_id'] <> '') { $_SESSION['gid_id'] = $_POST['gid_id']; } // courrier = fichier import� if($res_type->GENERATE == 'N' && !empty($type)) { //GID , verification de l'inexistance de la valeur if($_SESSION['config']['gdi_index'] == "true") { if (!$_POST['valid_gdi']) { if($_SESSION['gid_id'] <> '') { $db_gdi -> query("select count(*) as nb from res_x where GID_ID = '".$_SESSION['gid_id']."' "); $res_gdi = $db_gdi -> fetch_object(); if($res_gdi -> nb <> 0) { $_SESSION['error'] .= _GID_ID_EXISTS.".
"; } } } } // courrier sortant et pas piece jointe if(!$_SESSION['courrier']["is_ingoing"] && !$_SESSION['courrier']['attach']) { if($_SESSION['config']['corporate'] == "true") { if(!isset($_SESSION['courrier']['sender_nom']) || empty($_SESSION['courrier']['sender_nom']) || trim($_SESSION['courrier']['sender_nom']) == html_entity_decode(_DEFAULT_LASTNAME, ENT_NOQUOTES, 'UTF-8')) { $_SESSION['error'] .= _SENDER_CORPORATE_ERROR.".
"; } else { $nom = trim($_SESSION['courrier']['sender_nom']); } if(isset($_SESSION['courrier']['sender_prenom']) && !empty($_SESSION['courrier']['sender_prenom']) && trim($_SESSION['courrier']['sender_prenom']) <> html_entity_decode(_DEFAULT_FIRSTNAME, ENT_NOQUOTES, 'UTF-8')) { $prenom = trim($_SESSION['courrier']['sender_prenom']); } if(isset($_SESSION['courrier']['sender_function']) && !empty($_SESSION['courrier']['sender_function']) && trim($_SESSION['courrier']['sender_function']) <> html_entity_decode(_DEFAULT_FIRSTNAME, ENT_NOQUOTES, 'UTF-8')) { $civ = $_SESSION['courrier']['sender_function']; } if(isset($_SESSION['courrier']['sender_society']) && !empty($_SESSION['courrier']['sender_society']) && trim($_SESSION['courrier']['sender_society']) <> html_entity_decode(_DEFAULT_FIRSTNAME, ENT_NOQUOTES, 'UTF-8')) { $societe = $_SESSION['courrier']['sender_society']; } } else { if(!isset($_SESSION['courrier']['sender_nom']) || empty($_SESSION['courrier']['sender_nom']) || trim($_SESSION['courrier']['sender_nom']) == html_entity_decode(_DEFAULT_LASTNAME, ENT_NOQUOTES, 'UTF-8')) { $_SESSION['error'] .= _SENDER_NON_CORPORATE_ERROR.".
"; } else { $nom = trim($_SESSION['courrier']['sender_nom']); } if(isset($_SESSION['courrier']['sender_prenom']) && !empty($_SESSION['courrier']['sender_prenom']) && trim($_SESSION['courrier']['sender_prenom']) <> html_entity_decode(_DEFAULT_FIRSTNAME, ENT_NOQUOTES, 'UTF-8')) { $prenom = trim($_SESSION['courrier']['sender_prenom']); } if(isset($_SESSION['courrier']['sender_society']) && !empty($_SESSION['courrier']['sender_society']) && trim($_SESSION['courrier']['sender_society']) <> html_entity_decode(_DEFAULT_FIRSTNAME, ENT_NOQUOTES, 'UTF-8')) { $societe = $_SESSION['courrier']['sender_society']; } } } // courrier entrant elseif ($_SESSION['courrier']["is_ingoing"]) { if(isset($_SESSION['courrier']['emetteur']) && !empty($_SESSION['courrier']['emetteur']) && $_SESSION['courrier']['emetteur'] <> "dest") { $nom = trim($_SESSION['courrier']['emetteur']); $societe = trim($_SESSION['courrier']['emetteur_societe']); } else { if($_SESSION['config']['corporate'] == "true") { if(!isset($_SESSION['courrier']['emetteur']) || empty($_SESSION['courrier']['emetteur'])) { $_SESSION['error'] .= _SHIPPER_CORPORATE_ERROR.".
"; } elseif ( (!isset($_REQUEST['nom']) || empty($_REQUEST['nom']) || trim($_REQUEST['nom']) == html_entity_decode(_DEFAULT_LASTNAME, ENT_NOQUOTES, 'UTF-8')) && (!isset($_REQUEST['societe']) || empty($_REQUEST['societe']) || trim($_REQUEST['societe']) == html_entity_decode(_DEFAULT_SOCIETY, ENT_NOQUOTES, 'UTF-8'))) { $_SESSION['error'] .= _SHIPPER_CORPORATE_ERROR.".
"; } elseif((strlen(trim($_REQUEST["nom"])) < 1 || trim($_REQUEST['nom']) == html_entity_decode(_DEFAULT_LASTNAME, ENT_NOQUOTES, 'UTF-8')) && trim($_REQUEST['societe'])<> html_entity_decode(_DEFAULT_SOCIETY, ENT_NOQUOTES, 'UTF-8')) { $nom = trim($_REQUEST['societe']); $societe = trim($_REQUEST['societe']); $_SESSION['courrier']['societe'] = $societe; } else { $nom = trim($_REQUEST['nom']); if(trim($_REQUEST['societe'])<> html_entity_decode(_DEFAULT_SOCIETY, ENT_NOQUOTES, 'UTF-8')) { $societe = trim($_REQUEST['societe']); $_SESSION['courrier']['societe'] = $societe; } else { $societe = ''; $_SESSION['courrier']['societe'] = ''; } $_SESSION['courrier']['nom'] = $nom; } } else { if(!isset($_REQUEST['nom']) || empty($_REQUEST['nom']) || trim($_REQUEST['nom']) == html_entity_decode(_DEFAULT_LASTNAME, ENT_NOQUOTES, 'UTF-8')) { $_SESSION['error'] .= _SHIPPER_NON_CORPORATE_ERROR.".
"; } else { $nom = trim($_REQUEST['nom']); $_SESSION['courrier']['nom'] = $nom; } $societe = trim($_REQUEST['societe']); } } if(isset($_REQUEST['civilite']) && !empty($_REQUEST['civilite']) && trim($_REQUEST['civilite']) <> html_entity_decode(_DEFAULT_FUNCTION, ENT_NOQUOTES, 'UTF-8')) { $civ = trim($_REQUEST['civilite']); $_SESSION['courrier']['civ'] = $civ; } if(isset($_REQUEST['prenom']) && !empty($_REQUEST['prenom']) && trim($_REQUEST['prenom']) <> html_entity_decode(_DEFAULT_FIRSTNAME, ENT_NOQUOTES, 'UTF-8')) { $prenom = trim($_REQUEST['prenom']); $_SESSION['courrier']['prenom'] = $prenom; } $courrier_date = ""; $jour_courrier = "01"; if (strlen(trim($_REQUEST["jour_courrier"])) > 0) { $jour_courrier = trim($_REQUEST["jour_courrier"]); } $mois_courrier = "01"; if (strlen(trim($_REQUEST["mois_courrier"])) > 0) { $mois_courrier = trim($_REQUEST["mois_courrier"]); } $annee_courrier = date("Y"); if (strlen(trim($_REQUEST["annee_courrier"])) > 0) { $annee_courrier = trim($_REQUEST["annee_courrier"]); } if ($jour_courrier > 31) { $_SESSION['error'] .= _MAIL_DATE_DAY_INFERIOR_TO_31.".
"; } if ($mois_courrier > 12) { $_SESSION['error'] .= _MAIL_DATE_MONTH_INFERIOR_TO_12.".
"; } if (strlen($annee_courrier) < 4 && strlen($annee_courrier) > 0) { $_SESSION['error'] .= _MAIL_DATE_YEAR_WRONG_FORMAT.".
"; } } // courrier sortant pas pi�ce jointe if(!$_SESSION['courrier']["attach"] && $_SESSION['courrier']["is_ingoing"]) { $arrivee_date = "NULL"; if (strlen(trim($_REQUEST["jour_arrivee"])) < 1) { $_SESSION['error'] .= _START_DATE_MISSING.".
"; } if (strlen(trim($_REQUEST["mois_arrivee"])) < 1) { $_SESSION['error'] .= _START_DATE_MONTH_MISSING.".
"; } if (strlen(trim($_REQUEST["annee_arrivee"])) < 1) { $_SESSION['error'] .= _START_DATE_YEAR_MISSING.".
"; } if ($_REQUEST["jour_arrivee"] > 31) { $_SESSION['error'] .= _START_DATE_DAY_INFERIOR_TO_31.".
"; } if ($_REQUEST["mois_arrivee"] > 12) { $_SESSION['error'] .= _START_DATE_MONTH_INFERIOR_TO_12.".
"; } if (strlen(trim($_REQUEST["annee_arrivee"])) < 4 && strlen(trim($_REQUEST["annee_arrivee"])) > 0) { $_SESSION['error'] .= _START_DATE_YEAR_WRONG_FORMAT.".
"; } } //nouvelle affaire if (($_SESSION['courrier']['new_folder'] == TRUE ) && ($_SESSION['courrier']['chk_date_limite'] == 'Y')) { $date_limite = "NULL"; if (strlen(trim($_SESSION['courrier']["jour_limite"])) < 1) { $_SESSION['error'].=_LIMIT_DATE_DAY_MISSING.".
"; } if (strlen(trim($_SESSION['courrier']["mois_limite"])) < 1) { $_SESSION['error'].= _LIMIT_DATE_MONTH_MISSING.".
"; } if (strlen(trim($_SESSION['courrier']["annee_limite"])) < 1) { $_SESSION['error'] .= _LIMIT_DATE_YEAR_MISSING.".
"; } if ($_SESSION['courrier']["jour_limite"] > 31) { $_SESSION['error'].= _LIMIT_DATE_DAY_INFERIOR_TO_31.".
"; } if ($_SESSION['courrier']["mois_limite"] > 12) { $_SESSION['error'] .= _LIMIT_DATE_MONTH_INFERIOR_TO_12.".
"; } if (strlen(trim($_SESSION['courrier']["annee_limite"])) < 4 && strlen(trim($_SESSION['courrier']["annee_limite"])) > 0) { $_SESSION['error'] .= _LIMIT_DATE_YEAR_WRONG_FORMAT.".
"; } } // courrier d�part pas pi�ce jointe ou courrier arriv� if((!$_SESSION['courrier']["is_ingoing"] && !$_SESSION['courrier']['attach']) || $_SESSION['courrier']['is_ingoing']) { $nature_doc = ""; if (strlen(trim($_REQUEST["nature"])) < 1) { $_SESSION['error'].= _INVOICE_TYPE_MISSING.".
"; } else { $nature_doc = trim($_REQUEST["nature"]); } $type = ""; if ( !isset($_SESSION['courrier']['type_courrier']) || empty($_SESSION['courrier']['type_courrier']) ) { $_SESSION['error'] .= _DOCTYPE_MISSING.".
"; } else { $type = $_SESSION['courrier']['type_courrier']; } // nouvelle affaire if ($_SESSION['courrier']['new_folder'] == TRUE) { if (!isset($_SESSION['courrier']["service"]) || empty($_SESSION['courrier']["service"])) { $_SESSION['error'] .= _DEPARTMENT_MISSING.".
"; } } $courrier_date = ""; $jour_courrier = "01"; if (strlen(trim($_REQUEST["jour_courrier"])) > 0) { $jour_courrier = trim($_REQUEST["jour_courrier"]); } $mois_courrier = "01"; if (strlen(trim($_REQUEST["mois_courrier"])) > 0) { $mois_courrier = trim($_REQUEST["mois_courrier"]); } $annee_courrier = date("Y"); if (strlen(trim($_REQUEST["annee_courrier"])) > 0) { $annee_courrier = trim($_REQUEST["annee_courrier"]); } if ($jour_courrier > 31) { $_SESSION['error'] .= _MAIL_DATE_DAY_INFERIOR_TO_31.".
"; } if ($mois_courrier > 12) { $_SESSION['error'] .= _MAIL_DATE_MONTH_INFERIOR_TO_12.".
"; } if (strlen($annee_courrier) < 4 && strlen($annee_courrier) > 0) { $_SESSION['error'] .= _MAIL_DATE_YEAR_WRONG_FORMAT.".
"; } $objet = ""; if(isset($_REQUEST['objet']) && !empty($_REQUEST['objet'])) { $objet = trim($_REQUEST['objet']); $_SESSION['courrier']['objet'] = $objet; } // pas une pi�ce jointe if(!$_SESSION['courrier']['attach']) { $priority = ""; if( !isset($_REQUEST['priority']) ) { $_SESSION['error'] = _PRIORITY_MANDATORY.".
"; } else { $priority = $_REQUEST['priority']; } } } // courrier d�part et pi�ce jointe if(!$_SESSION['courrier']['ingoing'] && $_SESSION['courrier']['attach']) { //if($_SESSION['config']['update_limit_date'] == true) //{ // $new_limit_date = post_control_update_limit_date($_REQUEST['new_limit_date']); //} if(!isset($_SESSION['courrier']['attach_num']) || empty($_SESSION['courrier']['attach_num'])) { $_SESSION['error'] .= _GED_NUM_MISSING.".
"; } else { if(!preg_match('/^[0-9]+$/', $_SESSION['courrier']['attach_num'])) { $_SESSION['error'] .= _THE_GED_NUM._WRONG_FORMAT.".
"; } else { $where2 = ''; for($i=0; $i < count($_SESSION['user']['security']); $i++) { if($_SESSION['tablename'] == $_SESSION['user']['security'][$i]['table'] && !empty($_SESSION['user']['security'][$i]['where'])) { $where2 = " and ( ".$_SESSION['user']['security'][$i]['where']." ) "; } } $conn->query("select RES_ID from ".$_SESSION['ressources'][0]['tablename']." where RES_ID = ".$_SESSION['courrier']['attach_num']." ".$where2); if($conn->nb_result() < 1 ) { $_SESSION['error'] .= _NO_DOC_GED_NUM." ".$_SESSION['courrier']['attach_num']." "._EXISTS_OR_RIGHT.".
"; } } } if( isset($_REQUEST['title']) && !empty($_REQUEST['title']) ) $_SESSION['courrier']['title'] = trim($_REQUEST['title']); } } // courrier g�n�r� elseif($res_type -> GENERATE == "Y") { if($_SESSION['config']['gdi_index'] == "true") { if(!$_POST['valid_gdi']) { if($_SESSION['gid_id'] <> '') { $db_gdi -> query("select count(*) as nb from res_x where GID_ID = '".$_SESSION['gid_id']."' "); $res_gdi = $db_gdi -> fetch_object(); if($res_gdi -> nb <> 0) { $_SESSION['error'] .= _GID_ID_EXISTS.".
"; } } } } if($action == "validation") { $courrier_date = ""; $jour_courrier = "01"; if (strlen(trim($_REQUEST["jour_courrier"])) > 0) { $jour_courrier = trim($_REQUEST["jour_courrier"]); } $mois_courrier = "01"; if (strlen(trim($_REQUEST["mois_courrier"])) > 0) { $mois_courrier = trim($_REQUEST["mois_courrier"]); } $annee_courrier = date("Y"); if (strlen(trim($_REQUEST["annee_courrier"])) > 0) { $annee_courrier = trim($_REQUEST["annee_courrier"]); } if ($jour_courrier > 31) { $_SESSION['error'] .= _MAIL_DATE_DAY_INFERIOR_TO_31.".
"; } if ($mois_courrier > 12) { $_SESSION['error'] .= _MAIL_DATE_MONTH_INFERIOR_TO_12.".
"; } if (strlen($annee_courrier) < 4 && strlen($annee_courrier) > 0) { $_SESSION['error'] .= _MAIL_DATE_YEAR_WRONG_FORMAT.".
"; } } $priority = ""; if( !isset($_REQUEST['priority']) ) { $_SESSION['error'] = _PRIORITY_MANDATORY.".
"; } else { $priority = $_REQUEST['priority']; } $arrivee_date = "NULL"; if (strlen(trim($_REQUEST["jour_arrivee"])) < 1) { $_SESSION['error'] .= _START_DATE_MISSING.".
"; } if (strlen(trim($_REQUEST["mois_arrivee"])) < 1) { $_SESSION['error'] .= _START_DATE_MONTH_MISSING.".
"; } if (strlen(trim($_REQUEST["annee_arrivee"])) < 1) { $_SESSION['error'] .= _START_DATE_YEAR_MISSING.".
"; } if ($_REQUEST["jour_arrivee"] > 31) { $_SESSION['error'] .= _START_DATE_DAY_INFERIOR_TO_31.".
"; } if ($_REQUEST["mois_arrivee"] > 12) { $_SESSION['error'] .= _START_DATE_MONTH_INFERIOR_TO_12.".
"; } if (strlen(trim($_REQUEST["annee_arrivee"])) < 4 && strlen(trim($_REQUEST["annee_arrivee"])) > 0) { $_SESSION['error'] .= _START_DATE_YEAR_WRONG_FORMAT.".
"; } if(isset($_SESSION['courrier']['emetteur']) && !empty($_SESSION['courrier']['emetteur']) && $_SESSION['courrier']['emetteur'] <> "dest") { $nom = trim($_SESSION['courrier']['emetteur']); } else { if($_SESSION['config']['corporate'] == "true") { if(!isset($_SESSION['courrier']['emetteur']) || empty($_SESSION['courrier']['emetteur'])) { $_SESSION['error'] .= _SHIPPER_CORPORATE_ERROR.".
"; } else if ( (!isset($_REQUEST['societe']) || empty($_REQUEST['societe']) || trim($_REQUEST['nom']) == html_entity_decode(_DEFAULT_LASTNAME, ENT_NOQUOTES, 'UTF-8')) && (!isset($_REQUEST['societe']) || empty($_REQUEST['societe']) || trim($_REQUEST['societe'])== html_entity_decode(_DEFAULT_SOCIETY, ENT_NOQUOTES, 'UTF-8'))) { $_SESSION['error'] .= _SHIPPER_CORPORATE_ERROR.".
"; } elseif( (strlen(trim($_REQUEST["nom"])) < 1 || trim($_REQUEST['nom']) == html_entity_decode(_DEFAULT_LASTNAME, ENT_NOQUOTES, 'UTF-8') ) && trim($_REQUEST['societe'])<> html_entity_decode(_DEFAULT_SOCIETY, ENT_NOQUOTES, 'UTF-8')) { $_SESSION['error'] .= _SHIPPER_CORPORATE_ERROR.".
"; } elseif((strlen(trim($_REQUEST["nom"])) < 1 || trim($_REQUEST['nom']) == html_entity_decode(_DEFAULT_LASTNAME, ENT_NOQUOTES, 'UTF-8') ) &&trim(utf8_encode($_REQUEST['societe']))<> html_entity_decode(_DEFAULT_SOCIETY, ENT_NOQUOTES, 'UTF-8')) { $nom = trim($_REQUEST['societe']); $societe = trim($_REQUEST['societe']); $_SESSION['courrier']['societe'] = $societe; } else { $nom = trim($_REQUEST['nom']); if(trim($_REQUEST['societe'])<> html_entity_decode(_DEFAULT_SOCIETY, ENT_NOQUOTES, 'UTF-8')) { $societe = trim($_REQUEST['societe']); $_SESSION['courrier']['societe'] = $societe; } else { $societe = ''; $_SESSION['courrier']['societe'] = $societe; } $_SESSION['courrier']['nom'] = $nom; } } else { $nom = trim($_REQUEST['nom']); $_SESSION['courrier']['nom'] = $nom; } if(isset($_REQUEST['civilite']) && !empty($_REQUEST['civilite']) && trim($_REQUEST['civilite']) <> html_entity_decode(_DEFAULT_SOCIETY, ENT_NOQUOTES, 'UTF-8')) { $civ = trim($_REQUEST['civilite']); $_SESSION['courrier']['civ'] = $civ; } if(isset($_REQUEST['prenom']) && !empty($_REQUEST['prenom']) && trim($_REQUEST['prenom']) <> html_entity_decode(_DEFAULT_FIRSTNAME, ENT_NOQUOTES, 'UTF-8')) { $prenom = trim($_REQUEST['prenom']); $_SESSION['courrier']['prenom'] = $prenom; } } //nouvelle affaire if (($_SESSION['courrier']['new_folder'] == TRUE)&&($_SESSION['courrier']['chk_date_limite'] == 'Y') && $_SESSION['courrier']["is_ingoing"]) { $date_limite = "NULL"; if (strlen(trim($_SESSION['courrier']["jour_limite"])) < 1) { $_SESSION['error'].=_LIMIT_DATE_DAY_MISSING.".
"; } if (strlen(trim($_SESSION['courrier']["mois_limite"])) < 1) { $_SESSION['error'].= _LIMIT_DATE_MONTH_MISSING.".
"; } if (strlen(trim($_SESSION['courrier']["annee_limite"])) < 1) { $_SESSION['error'] .= _LIMIT_DATE_YEAR_MISSING.".
"; } if ($_SESSION['courrier']["jour_limite"] > 31) { $_SESSION['error'].= _LIMIT_DATE_DAY_INFERIOR_TO_31.".
"; } if ($_SESSION['courrier']["mois_limite"] > 12) { $_SESSION['error'] .= _LIMIT_DATE_MONTH_INFERIOR_TO_12.".
"; } if (strlen(trim($_SESSION['courrier']["annee_limite"])) < 4 && strlen(trim($_SESSION['courrier']["annee_limite"])) > 0) { $_SESSION['error'] .= _LIMIT_DATE_YEAR_WRONG_FORMAT.".
"; } } $objet = ""; if(isset($_REQUEST['objet']) && !empty($_REQUEST['objet'])) { $objet = trim($_REQUEST['objet']); $_SESSION['courrier']['objet'] = $objet; } //nouvelle affaire if ($_SESSION['courrier']['new_folder'] == TRUE) { if (!isset($_SESSION['courrier']["service"]) || empty($_SESSION['courrier']["service"])) { $_SESSION['error'] .= _DEPARTMENT_MISSING.".
"; } } } if($_SESSION['origin'] == "file" && !empty($type) && $res_type -> GENERATE == "N") { if(!isset($_SESSION['upfile']['size']) || empty($_SESSION['upfile']['size'])) { $_SESSION['error'] .= _FILE_MISSING."!
"; } } elseif($res_type -> GENERATE == "Y" && $action <> "validation") { if(!isset($_SESSION['model_content']) || empty($_SESSION['model_content'])) { $_SESSION['error'] .= _ERROR_EMPTY_MODEL."!
"; } } $arrivee_date = "NULL"; if( isset($_REQUEST["jour_arrivee"]) && isset($_REQUEST["mois_arrivee"]) && isset($_REQUEST["annee_arrivee"]) ) { $arrivee_date = $func->valid_date($_REQUEST["jour_arrivee"],$_REQUEST["mois_arrivee"],$_REQUEST["annee_arrivee"]); if( $arrivee_date == NULL ) { $_SESSION['error'] .= _START_DATE_INVALID."
"; $arrivee_date = "NULL"; } } if( isset($jour_courrier) && isset($mois_courrier) && isset($annee_courrier) ) { $courrier_date = $func->valid_date($jour_courrier,$mois_courrier,$annee_courrier); if( $courrier_date == NULL ) { $_SESSION['error'] .= _MAIL_DATE_INVALID."
"; $courrier_date = "NULL"; } } $date_limite = "NULL"; if( isset($_SESSION['courrier']["jour_limite"]) && isset($_SESSION['courrier']["mois_limite"]) && isset($_SESSION['courrier']["annee_limite"]) ) { $date_limite = $func->valid_date($_SESSION['courrier']["jour_limite"],$_SESSION['courrier']["mois_limite"],$_SESSION['courrier']["annee_limite"]); if( $date_limite == NULL ) { $_SESSION['error'] .= _LIMIT_DATE_INVALID."
"; $date_limite = "NULL"; } } //courrier attach� � une affaire if(!isset($_SESSION['courrier']['new_folder']) ) { $_SESSION['error'] .= _ERROR_INDEXATION.".
"; } else { if($_SESSION['config']['gdi_index'] == "true") { if(!$_POST['valid_gdi']) { if($_SESSION['gid_id'] <> '') { $db_gdi -> query("select count(*) as nb from res_x where GID_ID = '".$_SESSION['gid_id']."' "); $res_istres = $db_gdi -> fetch_object(); if($res_gdi -> nb <> 0) { $_SESSION['error'] .= _GID_ID_EXISTS.".
"; } } } } if(!$_SESSION['courrier']['new_folder']) { if(empty($_SESSION['courrier']['folder_id']) || !isset($_SESSION['courrier']['folder_id'])) { $_SESSION['error'].= _NUM_FOLDER_MISSING."
"; } else { $is_folder = 'N'; $folder_id = $_SESSION['courrier']['folder_id']; $_SESSION["FILE"]["identifier"] = $_SESSION['courrier']['folder_chrono']; $conn->query("select destination, coll_id from ".$_SESSION['tablechoice']." where is_folder='Y' and res_id = ".$folder_id); $res = $conn->fetch_object(); $service = $res->destination; $_SESSION['courrier']['entity'] = $res->coll_id; } if(($_SESSION['config']['update_limit_date'] == true) && ($_SESSION['courrier']["is_ingoing"])) { $new_limit_date = post_control_update_limit_date($_REQUEST['new_limit_date']); } } // nouvelle affaire else { $is_folder = 'Y'; $key1 = "CHRONO"; $key2 = ""; $key3 = date("Y"); $chrono_value=$func->update_parameter($key1,$key2,$key3); if(empty($chrono_value)) { $conn->query("INSERT INTO ".$_SESSION['tablename']['param']." (KEY1, KEY2, KEY3, VALUE, LIB_PARAM) VALUES ( '".$key1."', '".$key2."', '".$key3."', '1', '')"); $chrono_value = "1"; } $_SESSION["FILE"]["identifier"]=date("dmY")."/".$_SESSION['user']['department']."/".sprintf("%06d",$chrono_value); } } // nouvelle affaire if ($_SESSION['courrier']['new_folder'] == TRUE) { if( $action == "validation" || $action == "diff" || $action == "end") { if( $_SESSION["diffusion"]->get_destination() == null ) { $_SESSION['error'] .= _DIFFUSION_LIST_EMPTY.".
"; } } } if( empty($action) || !empty($_SESSION['error'])) { if($action == "validation") { header("location: validation.php?id=".$_REQUEST['id']); exit; } else { header("location: enregistrement_doc.php"); exit; } } else { // courrier g�n�r� if($res_type -> GENERATE == "Y") { // courrier arriv� if($_SESSION['courrier']["is_ingoing"] || $action =="validation") { $relance1 = "NULL"; $relance2 = "NULL"; $arrivee_date = "NULL"; if( isset($_REQUEST["jour_arrivee"]) && isset($_REQUEST["mois_arrivee"]) && isset($_REQUEST["annee_arrivee"]) ) { $arrivee_date = $func->valid_date($_REQUEST["jour_arrivee"],$_REQUEST["mois_arrivee"],$_REQUEST["annee_arrivee"]); if( $arrivee_date == NULL ) { $_SESSION['error'] .= _START_DATE_INVALID.".
"; $arrivee_date = "NULL"; } } $date_limite = "NULL"; if( isset($_SESSION['courrier']["jour_limite"]) && isset($_SESSION['courrier']["mois_limite"]) && isset($_SESSION['courrier']["annee_limite"]) ) { $date_limite = $func->valid_date($_SESSION['courrier']["jour_limite"],$_SESSION['courrier']["mois_limite"],$_SESSION['courrier']["annee_limite"]); if( $date_limite == NULL ) { $_SESSION['error'] .= _LIMIT_DATE_INVALID."
"; $date_limite = "NULL"; } } } if($action <> "validation") { $conn->query("select VALUE from parameters where KEY1 = 'FILE_NUMBER'"); $res = $conn->fetch_object(); /*if ($_SESSION['config']['system'] == "true") { $path_tmp = $_SESSION['config']['tmpdir'].'/tmp'.$res->VALUE.".maarch"; } else { $path_tmp = $_SESSION['config']['tmpdir'].'\\tmp'.$res->VALUE.".maarch"; }*/ $path_tmp = $_SESSION['config']['tmpdir'].DIRECTORY_SEPARATOR.'tmp'.$res->VALUE.".maarch"; //echo $path.'
'; $myfile = fopen($path_tmp, "w"); if(!$myfile) { $_SESSION['error'] .= _FILE_OPEN_ERROR.'.
'; header("location: enregistrement_doc.php"); exit; } fwrite($myfile, $_SESSION['model_content']); fclose($myfile); $new_value = $res->VALUE +1; $conn->query("update parameters set VALUE = '".$new_value."' where KEY1 = 'FILENUMBER'"); $conn->query("SELECT DOCSERVER_ID, PATH_TEMPLATE, SIZE_LIMIT, ACTUAL_SIZE FROM ".$_SESSION['tablename']['docservers']." WHERE IS_READONLY = 'N' AND ENABLED = 'Y' "); if($conn->nb_result() == 0) { $_SESSION['error'] .= _NO_AVAILABLE_DOCSERVER."."._MORE_INFOS." : ".$_SESSION['config']['adminname'].".
"; } else { $info = $conn->fetch_object(); $docserver_id = $info->DOCSERVER_ID; $file_size = filesize($path_tmp); $docserver_size = $info->ACTUAL_SIZE + $file_size; if($info->SIZE_LIMIT > 0 && $docserver_size >= $info->SIZE_LIMIT) { $_SESSION['error'] .= _NOT_ENOUGH_DISK_SPACE."."._MORE_INFOS." : ".$_SESSION['config']['adminname'].".
"; header("location: enregistrement_doc.php"); exit; } /* else if(!file_exists($info->PATH_TEMPLATE)) { $_SESSION['error'] = "Path".$info->PATH_TEMPLATE." does not exist ...
"; header("location: enregistrement_doc.php"); exit; } */ else { $path_template = $info->PATH_TEMPLATE; require("class_docserver.php"); $docserver = new docserver(); $result = $docserver->store($docserver_id,$path_template,$path_tmp,"maarch",$file_size); if( !is_array($result) || count($result) < 2 ) { echo $_SESSION['error'] = $docserver->get_last_error()." ".$_SESSION['config']['adminname'].".
"; header("location: enregistrement_doc.php"); exit; } if(!empty($path_tmp)) { unlink($path_tmp); } $destination_rept = substr($result["destination_rept"],strlen($path_template),4); $destination_rept = str_replace(DIRECTORY_SEPARATOR,'#',$destination_rept); $file_destination_name = $result["file_destination_name"]; $status = 'NEW'; if($action == "val") { $status = 'VAL'; } elseif($action == "end") { $status = 'END'; } // nouvelle affaire if($is_folder =='Y') { $conn->query("INSERT INTO ".$_SESSION['tablechoice']."( TITLE, DESCRIPTION, FORMAT, CREATION_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE, IDENTIFIER, STATUS, TYPIST, TYPE_ID, CUSTOM_T3, CUSTOM_T4, AUTHOR, CUSTOM_D1, CUSTOM_D2, IS_INGOING, PRIORITY, IS_FOLDER, SOCIETE, DOC_DATE, GID_ID,COLL_ID, SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13, COVERAGE) VALUES ('".addslashes($_SESSION['courrier']['title'])."','".addslashes($objet)."','MAARCH', now() , '".$docserver_id."','".$destination_rept."','".$file_destination_name.".maarch', ".$file_size.",'".$_SESSION["FILE"]["identifier"]."','".$status."','".$_SESSION['user']['UserId']."','".addslashes($type)."', '".addslashes($_REQUEST['civilite'])."', '".addslashes($prenom)."', '".addslashes($nom)."',".$arrivee_date.", ".$date_limite." , 'Y', '".$priority."', '".$is_folder."','".addslashes($_REQUEST['societe'])."', CURDATE(),'E".date('Y').$_SESSION['gid_id']."', '".$_SESSION['courrier']['entity']."',".$emet_id.",'".addslashes($_REQUEST['FUNCTION'])."','".addslashes($_REQUEST['STREET_NUM'])."', '".addslashes($_REQUEST['STREET'])."','".addslashes($_REQUEST['TOWN'])."','".addslashes($_REQUEST['CP'])."', '".$_SESSION['courrier']['domain']."')"); update_gid($_SESSION['gid_id']); $_SESSION['indexation_ged_id'] = mysql_insert_id($conn->sql_link); $_SESSION["diffusion"]->set_ressource($_SESSION['tablechoice'],mysql_insert_id($conn->sql_link)); $_SESSION["diffusion"]->store(); //On efface tout ce qui concerne la liste emetteurs et expediteurs clear_session_exp_emet(); } // courrier attach� � une affaire else { $conn->query("INSERT INTO ".$_SESSION['tablechoice']." ( TITLE,DESCRIPTION, FORMAT, CREATION_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE, IDENTIFIER, STATUS, DESTINATION, TYPIST, TYPE_ID, CUSTOM_T3, CUSTOM_T4, AUTHOR, CUSTOM_D1, CUSTOM_D2, IS_INGOING, PRIORITY, IS_FOLDER, FOLDER_ID, SOCIETE, DOC_DATE, GID_ID, COLL_ID, SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13, COVERAGE) VALUES ('".addslashes($_SESSION['courrier']['title'])."','".addslashes($objet)."','MAARCH', now() , '".$docserver_id."','" .$destination_rept."','".$file_destination_name.".maarch',".$file_size.",'".$_SESSION["FILE"]["identifier"] ."','".$status."','".$service."','".$_SESSION['user']['UserId'] ."','".addslashes($type)."','".addslashes($_REQUEST['civilite'])."', '".addslashes($prenom)."', '".addslashes($nom)."',".$arrivee_date.", ".$date_limite." ,'Y', '".$priority."', '".$is_folder."', '".$folder_id."','".addslashes($_REQUEST['societe'])."', CURDATE() ,'E".date('Y').$_SESSION['gid_id']."', '".$_SESSION['courrier']['entity']."',".$emet_id.",'".addslashes($_REQUEST['FUNCTION'])."','".addslashes($_REQUEST['STREET_NUM'])."', '".addslashes($_REQUEST['STREET'])."','".addslashes($_REQUEST['TOWN'])."','".addslashes($_REQUEST['CP'])."', '".$_SESSION['courrier']['domain']."')"); update_gid($_SESSION['gid_id']); $_SESSION['indexation_ged_id'] = mysql_insert_id($conn->sql_link); // SI XML Permet la modification de la date limite de traitement et SI La date limite peut �tre modifi�e if($_SESSION['config']['update_limit_date'] == true) // update_limit_date_in xml { //Modification du document parent pour les dates limites de traitement CUSTOM D2, CUSTOM_D4, CUSTOM_D5 module_update_limit_date($folder_id, $new_limit_date); } //On efface tout ce qui concerne la liste emetteurs et expediteurs clear_session_exp_emet(); //On affecte � l'affaire le statut de son courrier principal if ($action == "end") { $conn->query("update res_x set status = '".$status."' where res_id = ".$folder_id); } } $conn->query("SELECT RES_ID as ID from ".$_SESSION['tablechoice']." where IDENTIFIER = '".$_SESSION["FILE"]["identifier"]."' AND DESCRIPTION = '".addslashes($objet)."' and FORMAT = 'MAARCH' and DATE(CREATION_DATE) = CURDATE() and DOCSERVER_ID = '".$docserver_id."' and PATH = '".$destination_rept."' and FILENAME = '".$file_destination_name.".maarch' and FILESIZE = ".$file_size." and TYPIST = '".$_SESSION['user']['UserId']."'"); $line = $conn->fetch_object(); $id = ""; $id = $line->ID; if($_SESSION['history']['resadd'] == true) { require_once("class_history.php"); $users = new history(); $mes = _NEW_GENERATED_DOC." : ".$id; $users->add($_SESSION['tablechoice'], $id ,"ADD", $mes); if($is_folder =='N') { $mes = _NEW_GENERATED_DOC." (".$id.") "._ADDED_TO_FOLDER.$folder_id; $users->add($_SESSION['tablechoice'], $folder_id ,"ADD", $mes); } } $conn->query("SELECT PATH_TEMPLATE FROM ".$_SESSION['tablename']['docservers']." WHERE DOCSERVER_ID='".$docserver_id."'"); // $conn->show(); $res = $conn->fetch_object(); $md5fichier = ""; $md5fichier = $res->PATH_TEMPLATE; $conn->query("SELECT RES_ID as ID, PATH, FILENAME, CREATION_DATE FROM ".$_SESSION['tablechoice']." WHERE RES_ID = ".$id); //$conn->show(); $res = $conn->fetch_object(); $tmp = $res->PATH; $dateenr = $res->CREATION_DATE; $id = $res->ID; $tmp = str_replace('#',DIRECTORY_SEPARATOR,$tmp); $md5fichier .= $tmp; $filename = $res->FILENAME; $extemp = strtolower(substr($filename, -4)); $filename = preg_replace("/[.A-Z]{4}$/",$extemp, $filename); $md5fichier .= $filename; $md5 = md5_file($md5fichier); if($_SESSION['courrier']["is_ingoing"]) { $conn2 = new dbquery(); $conn2->connect(); $conn2->query("select TYPE_ID, ADDDATE('".$dateenr."', INTERVAL DELAI_RELANCE1 DAY) as RELANCE1, ADDDATE(".$date_limite.", INTERVAL DELAI_RELANCE2 DAY) as RELANCE2 from ".$_SESSION['tablename']['doctypes']." where TYPE_ID = '".$_SESSION['courrier']['type_courrier']."' and RES_TABLE = '".$_SESSION['tablechoice']."'"); //$conn->show(); if($conn2->nb_result() == 0) { $_SESSION['error']= _DOCTYPE." "._UNKNOWN; header("location: enregistrement_doc.php"); exit; } else { $res = $conn2->fetch_object(); if( $res->RELANCE1 != NULL ) $relance1 = "'".$res->RELANCE1."'"; if( $res->RELANCE2 != NULL) $relance2 = "'".$res->RELANCE2."'"; } $conn->query("UPDATE ".$_SESSION['tablechoice']." SET FINGERPRINT='".$md5."', CUSTOM_D4 = ".$relance1.", CUSTOM_D5 = ".$relance2." WHERE RES_ID = ".$id); } else { $conn->query("UPDATE ".$_SESSION['tablechoice']." SET FINGERPRINT='".$md5."' WHERE RES_ID = ".$id); } if($action == "diff " && $_SESSION['history']['diffusion']) { if( $_SESSION["diffusion"]->get_dest_user() ) $to = $_SESSION["diffusion"]->get_dest_user(); else $to = $_SESSION["diffusion"]->get_destination(); $hist->add($_SESSION['tablename']['listinstance'], $id , 'DIF', _DOC." n° ".$id." "._SEND." : ".$to." ("._RECIPIENT.")"); foreach(array_slice($_SESSION["diffusion"]->get_diffusion(),1) as $key_diff => $diffusion) { if( isset($diffusion["USER"]) ) { $hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$diffusion["USER"]["USER_ID"]." ("._TO_CC.")"); } else { $hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$diffusion["USER"]["SERVICE_ID"]." ("._TO_CC.")"); } } } $_SESSION['indexation'] = true; unset($_SESSION["diffusion"]); $_SESSION['upfile'] = array(); //CFI //$_SESSION['courrier'] = array(); $_SESSION['courrier']['objet'] = ''; $_SESSION['courrier']['emetteur'] = ''; $_SESSION['courrier']['nom'] = ''; $_SESSION['courrier']['prenom'] = ''; $_SESSION['courrier']['civ'] =''; $_SESSION['courrier']['emetteur_societe']= ''; $_SESSION['courrier']['emetteur_name']= ''; $_SESSION['courrier']['emetteur_prenom']= ''; $_SESSION['courrier']['emetteur_fonction']= ''; $_SESSION['courrier']["service"] = ''; $_SESSION['courrier']['index_sender_liste'] = ''; $_SESSION['courrier']['sender_nom'] = ''; $_SESSION['courrier']['sender_prenom'] = ''; $_SESSION['courrier']['sender_civilite'] = ''; $_SESSION['courrier']['sender_society'] = ''; $_SESSION['courrier']['sender_function'] = ''; unset ($_SESSION['courrier']['entity']); unset ($_SESSION['courrier']['id_expediteur']); $_SESSION['courrier']['domain'] = ''; if ($_SESSION['courrier']['chk_date_limite'] == 'N') { $conn->query("UPDATE ".$_SESSION['tablechoice']." SET CUSTOM_D2=NULL, CUSTOM_D4=NULL, CUSTOM_D5=NULL WHERE RES_ID = ".$id); } if($is_folder =='N') { $id = $folder_id; } $_SESSION['indexation_id'] = $id; if ($_SESSION['config']['details_on_index'] <> "true") { ?> doc_date : '.$courrier_date; //exit(); $identifier = $_REQUEST['identifier']; if($_SESSION['courrier']['wait_action'] == true) { $wait_action = 'Y'; $status_val = 'WAI'; $cpmlt_custom_d6 = ' , CUSTOM_D6 = now() '; } else { $status_val = 'NEW'; $wait_action = 'N'; $cpmlt_custom_d6 = ' , CUSTOM_D6 = NULL '; } $conn->query(" UPDATE ".$_SESSION['tablechoice']." SET TITLE = '".addslashes($_SESSION['courrier']['title'])."', DESCRIPTION = '".addslashes($objet)."', DOC_DATE = '".$courrier_date."', TYPE_ID = '".addslashes($type)."', CUSTOM_T2 = '".$nature_doc."', CUSTOM_T3 = '".addslashes($_REQUEST['civilite'])."', CUSTOM_T4 = '".addslashes($prenom)."' , AUTHOR = '".addslashes($nom)."', CUSTOM_D1 = ".$arrivee_date.", CUSTOM_D2 = ".$date_limite.", APPROVER = '".$_SESSION['user']['UserId']."', VALIDATION_DATE = now(), status = '".$status_val."', PRIORITY = '".$priority."', COLL_ID = '".$_SESSION['courrier']['entity']."', WAIT_ACTION = '".$wait_action."' ".$cpmlt_custom_d6.", SOCIETE = '".addslashes($_REQUEST['societe'])."', SENDER_ID = ".$emet_id.", CUSTOM_T9 = '".addslashes($_REQUEST['FUNCTION'])."', CUSTOM_T10 = '".addslashes($_REQUEST['STREET_NUM'])."', CUSTOM_T11 = '".addslashes($_REQUEST['STREET'])."',CUSTOM_T12 = '".addslashes($_REQUEST['TOWN'])."',CUSTOM_T13 = '".addslashes($_REQUEST['CP'])."', COVERAGE = '".$_SESSION['courrier']['domain']."' WHERE RES_ID = '".$id."'"); //On efface tout ce qui concerne la liste emetteurs et expediteurs clear_session_exp_emet(); $_SESSION["diffusion"]->store(); $cour = new LetterBox(); $cour->release($id,"res_x"); $conn->query("SELECT RES_ID, CREATION_DATE FROM ".$_SESSION['tablechoice']." WHERE IDENTIFIER = '".$_REQUEST['identifier']."'"); $line = $conn->fetch_object(); $id = $line->RES_ID; $dateenr = $line->CREATION_DATE; if($_SESSION['history']['resup'] == true) { require_once("class_history.php"); $users = new history(); $users->add($_SESSION['tablechoice'], $id ,"VAL", _DOC_VALIDATED." : ".$id." (".$type.")"); } $conn2 = new dbquery(); $conn2->connect(); $conn2->query("select TYPE_ID, ADDDATE('".$dateenr."', INTERVAL DELAI_RELANCE1 DAY) as RELANCE1, SUBDATE(".$date_limite.", INTERVAL DELAI_RELANCE2 DAY) as RELANCE2 from ".$_SESSION['tablename']['doctypes']." where TYPE_ID = '".$_SESSION['courrier']['type_courrier']."' and RES_TABLE = '".$_SESSION['tablechoice']."'"); // $conn->show(); if($conn2->nb_result() == 0) { $_SESSION['error']= _DOCTYPE.' '._UNKNOWN; header("location: enregistrement_doc.php"); exit; } else { $res = $conn2->fetch_object(); if($res->RELANCE1 != NULL) $relance1 = "'".$res->RELANCE1."'"; if($res->RELANCE2 != NULL) $relance2 = "'".$res->RELANCE2."'"; } $conn->query('update '.$_SESSION['tablechoice']." set CUSTOM_D4 = ".$relance1.", CUSTOM_D5 = ".$relance2." WHERE RES_ID = ".$id); if($action == "diff " && $_SESSION['history']['diffusion']) { if( $_SESSION["diffusion"]->get_dest_user() ) $to = $_SESSION["diffusion"]->get_dest_user(); else $to = $_SESSION["diffusion"]->get_destination(); $hist->add($_SESSION['tablename']['listinstance'], $id , 'DIF', _DOC." n° ".$id." "._SEND." : ".$to." ("._RECIPIENT.")"); foreach(array_slice($_SESSION["diffusion"]->get_diffusion(),1) as $key_diff => $diffusion) { if( isset($diffusion["USER"]) ) { $hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$diffusion["USER"]["USER_ID"]." ("._TO_CC.")"); } else { $hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$diffusion["USER"]["SERVICE_ID"]." ("._TO_CC.")"); } } } //CFI $_SESSION['courrier'] = array(); unset($_SESSION['diffusion']); ?> valid_date($_REQUEST["jour_arrivee"],$_REQUEST["mois_arrivee"],$_REQUEST["annee_arrivee"]); if( $arrivee_date == NULL) { $_SESSION['error'] .= _START_DATE_INVALID."
"; $arrivee_date = "NULL"; } } $date_limite = "NULL"; if( isset($_SESSION['courrier']["jour_limite"]) && isset($_SESSION['courrier']["mois_limite"]) && isset($_SESSION['courrier']["annee_limite"]) ) { $date_limite = $func->valid_date($_SESSION['courrier']["jour_limite"],$_SESSION['courrier']["mois_limite"],$_SESSION['courrier']["annee_limite"]); if( $date_limite == NULL ) { $_SESSION['error'] .= _LIMIT_DATE_INVALID."
"; $date_limite = "NULL"; } } } if( isset($jour_courrier) && isset($mois_courrier) && isset($annee_courrier) ) { $courrier_date = $func->valid_date($jour_courrier,$mois_courrier,$annee_courrier); if( $courrier_date == NULL ) { $_SESSION['error'] .= _MAIL_DATE_INVALID."
"; $courrier_date = "NULL"; } } if($action <> "validation") { $extension = explode(".",$_SESSION['upfile']['name']); $count_level = count($extension)-1; $the_ext = $extension[$count_level]; $the_ext = strtolower($the_ext); //$old_file_name = substr($_SESSION['upfile']['name'], 0, count($_SESSION['upfile']['name'])-count($the_ext)+1); require("load_extensions.php"); $ext_ok = false; for($i=0;$i "validation" && $action <> "attach") { $conn->query("SELECT DOCSERVER_ID, PATH_TEMPLATE, SIZE_LIMIT, ACTUAL_SIZE FROM ".$_SESSION['tablename']['docservers']." WHERE IS_READONLY = 'N' AND ENABLED = 'Y' "); if($conn->nb_result() == 0) { $_SESSION['error'] = _NO_AVAILABLE_DOCSERVER.". "._MORE_INFOS." : ".$_SESSION['config']['adminname']."."; header("location: enregistrement_doc.php"); exit; } else { $info = $conn->fetch_object(); $docserver_id = $info->DOCSERVER_ID; $docserver_size = $info->ACTUAL_SIZE + $_FILES['file']['size']; if($info->SIZE_LIMIT > 0 && $docserver_size >= $info->SIZE_LIMIT) { $_SESSION['error'] = _NOT_ENOUGH_DISK_SPACE.". "._MORE_INFOS." : ".$_SESSION['config']['adminname']."."; header("location: enregistrement_doc.php"); exit; } else { $path_template = $info->PATH_TEMPLATE; require("class_docserver.php"); $docserver = new docserver(); $path_tmp = $_SESSION['config']['tmpdir'].DIRECTORY_SEPARATOR.'tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext; $result = $docserver->store($docserver_id,$path_template,$path_tmp,$the_ext,filesize($path_tmp)); if( !is_array($result) || count($result) < 2 ) { $_SESSION['error'] = $docserver->get_last_error()." ".$_SESSION['config']['adminname'].".
"; header("location: enregistrement_doc.php"); } $destination_rept = $result['destination_rept']; $file_destination_name = $result['file_destination_name']; @chmod($destination_rept.$file_destination_name.".".$the_ext, 0000777); $destination_rept = substr($destination_rept,strlen($path_template),4); $destination_rept = str_replace(DIRECTORY_SEPARATOR,'#',$destination_rept); $status = 'NEW'; if($action == "val") { $status = 'VAL'; } elseif($action == "end") { $status = 'END'; } $size = filesize($_SESSION['config']['tmpdir'].DIRECTORY_SEPARATOR.'tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext); // courrier arrivé if($_SESSION['courrier']["is_ingoing"]) { // nouvelle affaire if($is_folder == 'Y') { $conn->query("INSERT INTO ".$_SESSION['tablechoice']." ( TITLE,DESCRIPTION, FORMAT, CREATION_DATE, DOC_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE, IDENTIFIER, STATUS, TYPIST, TYPE_ID, CUSTOM_T2, CUSTOM_T3, CUSTOM_T4, AUTHOR, CUSTOM_D1, CUSTOM_D2, IS_INGOING, PRIORITY, IS_FOLDER, SOCIETE, GID_ID, COLL_ID, SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13, COVERAGE) VALUES ('".addslashes($_SESSION['courrier']['title'])."','".$objet."', '".strtoupper($the_ext)."', now() , '".$courrier_date."','".$docserver_id."','" .$destination_rept."','".$file_destination_name.".".strtolower($the_ext)."',".$size.",'".$_SESSION["FILE"]["identifier"] ."','".$status."','".$_SESSION['user']['UserId'] ."','".addslashes($type)."','".$nature_doc ."','".addslashes($_REQUEST['civilite'])."', '".addslashes($prenom)."', '".addslashes($nom)."',".$arrivee_date.", ".$date_limite." , 'Y', '".$priority."', '".$is_folder."','".addslashes($_REQUEST['societe'])."','E".date('Y').$_SESSION['gid_id']."', '".$_SESSION['courrier']['entity']."',".$emet_id.",'".addslashes($_REQUEST['FUNCTION'])."','".addslashes($_REQUEST['STREET_NUM'])."', '".addslashes($_REQUEST['STREET'])."','".addslashes($_REQUEST['TOWN'])."','".addslashes($_REQUEST['CP'])."', '".$_SESSION['courrier']['domain']."')"); update_gid($_SESSION['gid_id']); $_SESSION['indexation_ged_id'] = mysql_insert_id($conn->sql_link); $_SESSION["diffusion"]->set_ressource($_SESSION['tablechoice'],mysql_insert_id($conn->sql_link)); $_SESSION["diffusion"]->store(); //**** MAILER **** /* require_once($_SESSION['mailer']['path_to_mailer']."/class_mailer.php"); $mail = new Mailer("."); */ $conn->query("SELECT DEST_USER, DESTINATION FROM res_x WHERE RES_ID = ".$_SESSION['indexation_ged_id']); //$conn->show(); $res = $conn->fetch_object(); /* $mail->send_and_save('res_x',$_SESSION['indexation_ged_id'],$res->DEST_USER,8); */ //**************** } // courrier attaché à une affaire else { $conn->query("INSERT INTO ".$_SESSION['tablechoice']." ( TITLE,DESCRIPTION, FORMAT, CREATION_DATE, DOC_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE, IDENTIFIER, STATUS, TYPIST, TYPE_ID, CUSTOM_T2, CUSTOM_T3, CUSTOM_T4, AUTHOR, CUSTOM_D1, CUSTOM_D2, DESTINATION, IS_INGOING, PRIORITY, IS_FOLDER, FOLDER_ID, SOCIETE, GID_ID, COLL_ID, SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13, COVERAGE) VALUES ('".addslashes($_SESSION['courrier']['title'])."','".$objet."', '".strtoupper($the_ext)."', now() , '".$courrier_date."','".$docserver_id."','" .$destination_rept."','".$file_destination_name.".".strtolower($the_ext)."',".$size.",'".$_SESSION["FILE"]["identifier"] ."','".$status."','".$_SESSION['user']['UserId'] ."','".addslashes($type)."','".$nature_doc ."','".addslashes($_REQUEST['civilite'])."', '".addslashes($prenom)."', '".addslashes($nom)."',".$arrivee_date.", ".$date_limite." , '".$service."','Y', '".$priority."', '".$is_folder."', '".$folder_id."','".addslashes($_REQUEST['societe'])."', 'E".date('Y').$_SESSION['gid_id']."', '".$_SESSION['courrier']['entity']."',".$emet_id.",'".addslashes($_REQUEST['FUNCTION'])."','".addslashes($_REQUEST['STREET_NUM'])."', '".addslashes($_REQUEST['STREET'])."','".addslashes($_REQUEST['TOWN'])."','".addslashes($_REQUEST['CP'])."', '".$_SESSION['courrier']['domain']."')"); update_gid($_SESSION['gid_id']); $_SESSION['indexation_ged_id'] = mysql_insert_id($conn->sql_link); // SI XML Permet la modification de la date limite de traitement et SI La date limite peut �tre modifi�e if($_SESSION['config']['update_limit_date'] == true) // update_limit_date_in xml { //Modification du document parent pour les dates limites de traitement CUSTOM D2, CUSTOM_D4, CUSTOM_D5 module_update_limit_date($folder_id, $new_limit_date); } //On affecte � l'affaire le statut de son courrier principal if ($action == "end") { $conn->query("update res_x set status = '".$status."' where res_id = ".$folder_id); } //**** MAILER **** require_once($_SESSION['mailer']['path_to_mailer']."/class_mailer.php"); $mail = new Mailer("."); //echo "Courrier attaché à une affaire
"; $conn->query("SELECT DEST_USER, DESTINATION FROM res_x WHERE RES_ID = ".$folder_id); //$conn->show(); $res = $conn->fetch_object(); $mail->send_and_save('res_x',$_SESSION['indexation_ged_id'],$res->DEST_USER,4); $mail->purge_history(); //**************** } //On efface tout ce qui concerne la liste emetteurs et expediteurs clear_session_exp_emet(); } else // courrier sortant { if($is_folder == 'Y') // Nouvelle affaire { $conn->query("INSERT INTO ".$_SESSION['tablechoice']." ( TITLE,DESCRIPTION, FORMAT, CREATION_DATE, DOC_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE, IDENTIFIER, STATUS, TYPIST, TYPE_ID, CUSTOM_T2, AUTHOR, IS_INGOING, PRIORITY, IS_FOLDER, SOCIETE, CUSTOM_T3, CUSTOM_T4, GID_ID, COLL_ID, SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13, COVERAGE) VALUES ('".addslashes($_SESSION['courrier']['title'])."','".addslashes($objet)."', '".strtoupper($the_ext)."', now() , '".$courrier_date."','".$docserver_id."','" .$destination_rept."','".$file_destination_name.".".strtolower($the_ext) ."',".$size .",'".$_SESSION["FILE"]["identifier"] ."','".$status."','".$_SESSION['user']['UserId'] ."','".addslashes($type)."','".$nature_doc ."', '".addslashes($nom)."' ,'N', '".$priority."', '".$is_folder."','".addslashes($_REQUEST['societe'])."', '".addslashes($_REQUEST['civilite'])."','".addslashes($prenom)."','S".date('Y').$_SESSION['gid_id']."', '".$_SESSION['courrier']['entity']."', ".$emet_id.",'".addslashes($_REQUEST['FUNCTION'])."','".addslashes($_REQUEST['STREET_NUM'])."', '".addslashes($_REQUEST['STREET'])."','".addslashes($_REQUEST['TOWN'])."','".addslashes($_REQUEST['CP'])."', '".$_SESSION['courrier']['domain']."')"); $_SESSION["diffusion"]->set_ressource($_SESSION['tablechoice'],mysql_insert_id($conn->sql_link)); $_SESSION["diffusion"]->store(); //**** MAILER **** /* require_once($_SESSION['mailer']['path_to_mailer']."/class_mailer.php"); $mail = new Mailer("."); $conn->query("SELECT DEST_USER, DESTINATION FROM res_x WHERE RES_ID = ".$_SESSION['indexation_ged_id']); $res = $conn->fetch_object(); $mail->send_and_save('res_x',$_SESSION['indexation_ged_id'],$res->DEST_USER,8); $mail->purge_history(); */ //***************** update_gid($_SESSION['gid_id']); } else // attach� � une affaire { $conn->query("INSERT INTO ".$_SESSION['tablechoice']." ( TITLE,DESCRIPTION, FORMAT, CREATION_DATE, DOC_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE, IDENTIFIER, STATUS, DESTINATION,TYPIST, TYPE_ID, CUSTOM_T2, AUTHOR, IS_INGOING, PRIORITY, IS_FOLDER, FOLDER_ID, SOCIETE, CUSTOM_T3, CUSTOM_T4, GID_ID, COLL_ID, SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13, COVERAGE) VALUES ('".addslashes($_SESSION['courrier']['title'])."','".addslashes($objet)."', '".strtoupper($the_ext)."', now() , '".$courrier_date."','".$docserver_id."','" .$destination_rept."','".$file_destination_name.".".strtolower($the_ext) ."',".$size .",'".$_SESSION["FILE"]["identifier"] ."','NEW','".$service."','".$_SESSION['user']['UserId'] ."','".addslashes($type)."','".$nature_doc ."', '".addslashes($nom)."' , 'N', '".$priority."', '".$is_folder."', '".$folder_id."', '".addslashes($_REQUEST['societe'])."','".addslashes($_REQUEST['civilite'])."','".addslashes($prenom)."','S".date('Y').$_SESSION['gid_id']."', '".$_SESSION['courrier']['entity']."',".$emet_id.",'".addslashes($_REQUEST['FUNCTION'])."','".addslashes($_REQUEST['STREET_NUM'])."', '".addslashes($_REQUEST['STREET'])."','".addslashes($_REQUEST['TOWN'])."','".addslashes($_REQUEST['CP'])."', '".$_SESSION['courrier']['domain']."')"); update_gid($_SESSION['gid_id']); //On affecte � l'affaire le statut de son courrier principal if ($action == "end") { $conn->query("update res_x set status = '".$status."' where res_id = ".$folder_id); } //**** MAILER **** require_once($_SESSION['mailer']['path_to_mailer']."/class_mailer.php"); $mail = new Mailer("."); //echo "Courrier sortant attaché à une affaire
"; $conn->query("SELECT DEST_USER, DESTINATION FROM res_x WHERE RES_ID = ".$_SESSION['indexation_ged_id']); //$conn->show(); $res = $conn->fetch_object(); $mail->send_and_save('res_x',$_SESSION['indexation_ged_id'],$res->DEST_USER,8); //***************** } $_SESSION['indexation_ged_id'] = mysql_insert_id($conn->sql_link); //On efface tout ce qui concerne la liste emetteurs et expediteurs clear_session_exp_emet(); } // $conn->show(); $conn->query("SELECT RES_ID as ID from ".$_SESSION['tablechoice']." where IDENTIFIER = '".$_SESSION["FILE"]["identifier"]."' and FORMAT = '".strtoupper($the_ext)."' and DATE(CREATION_DATE) = CURDATE() and DOCSERVER_ID = '".$docserver_id."' and PATH = '".$destination_rept."' and FILENAME = '".$file_destination_name.".".strtolower($the_ext)."' and FILESIZE = ".$size." and TYPIST = '".$_SESSION['user']['UserId']."'"); $line = $conn->fetch_object(); $id = ""; //$conn->show(); $id = $line->ID; if($_SESSION['history']['resadd'] == true) { require_once("class_history.php"); $users = new history(); if($_SESSION['courrier']["is_ingoing"]) { $mes = _NEW_INGOING_DOC." (".$id.") "; } else { $mes = _NEW_ONGOING_DOC." (".$id.") "; } $users->add($_SESSION['tablechoice'], $id ,"ADD", $mes); if($is_folder =='N') { if($_SESSION['courrier']["is_ingoing"]) { $mes = _NEW_INGOING_DOC." (".$id.") "._ADDED_TO_FOLDER.$folder_id; } else { $mes = _NEW_ONGOING_DOC." (".$type.") "._ADDED_TO_FOLDER.$folder_id; } $users->add($_SESSION['tablechoice'], $folder_id ,"ADD", $mes); } } $_SESSION['upfile']['size'] = $_FILES['file']['size']; $conn->query("SELECT PATH_TEMPLATE FROM ".$_SESSION['tablename']['docservers']." WHERE DOCSERVER_ID='".$docserver_id."'"); // $conn->show(); $res = $conn->fetch_object(); $md5fichier = ""; $md5fichier = $res->PATH_TEMPLATE; $conn->query("SELECT RES_ID as ID, PATH, FILENAME, CREATION_DATE FROM ".$_SESSION['tablechoice']." WHERE RES_ID = ".$id); //$conn->show(); $res = $conn->fetch_object(); $tmp = $res->PATH; $dateenr = $res->CREATION_DATE; $id = $res->ID; /*if ($_SESSION['config']['system'] == "true") { $tmp = str_replace('#','/',$tmp); } else { $tmp = str_replace('#','\\',$tmp); }*/ $tmp = str_replace('#',DIRECTORY_SEPARATOR,$tmp); $md5fichier .= $tmp; $filename = $res->FILENAME; $extemp = strtolower(substr($filename, -4)); $filename = preg_replace("/[.A-Z]{4}$/",$extemp, $filename); $md5fichier .= $filename; $md5 = md5_file($md5fichier); if($_SESSION['courrier']["is_ingoing"]) { $conn2 = new dbquery(); $conn2->connect(); $conn2->query("select TYPE_ID, ADDDATE('".$dateenr."', INTERVAL DELAI_RELANCE1 DAY) as RELANCE1, ADDDATE(".$date_limite.", INTERVAL DELAI_RELANCE2 DAY) as RELANCE2 from ".$_SESSION['tablename']['doctypes']." where TYPE_ID = '".$_SESSION['courrier']['type_courrier']."' and RES_TABLE = '".$_SESSION['tablechoice']."'"); //$conn->show(); if($conn2->nb_result() == 0) { $_SESSION['error']= _DOCTYPE." "._UNKNOWN; header("location: enregistrement_doc.php"); exit; } else { $res = $conn2->fetch_object(); if($res->RELANCE1 != null) $relance1 = "'".$res->RELANCE1."'"; if($res->RELANCE2 != null) $relance2 = "'".$res->RELANCE2."'"; } $conn->query("UPDATE ".$_SESSION['tablechoice']." SET FINGERPRINT='".$md5."', CUSTOM_D4 = ".$relance1.", CUSTOM_D5 = ".$relance2." WHERE RES_ID = ".$id); } else { $conn->query("UPDATE ".$_SESSION['tablechoice']." SET FINGERPRINT='".$md5."' WHERE RES_ID = ".$id); } if($action == "diff " && $_SESSION['history']['diffusion']) { if( $_SESSION["diffusion"]->get_dest_user() ) $to = $_SESSION["diffusion"]->get_dest_user(); else $to = $_SESSION["diffusion"]->get_destination(); $hist->add($_SESSION['tablename']['listinstance'], $id , 'DIF', _DOC." n° ".$id." "._SEND." : ".$to." ("._RECIPIENT.")"); foreach(array_slice($_SESSION["diffusion"]->get_diffusion(),1) as $key_diff => $diffusion) { if( isset($diffusion["USER"]) ) { $hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$diffusion["USER"]["USER_ID"]." ("._TO_CC.")"); } else { $hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$diffusion["USER"]["SERVICE_ID"]." ("._TO_CC.")"); } } } if(file_exists($_SESSION['config']['tmpdir'].'\tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext)) { unlink($_SESSION['config']['tmpdir'].'\tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext); } $_SESSION['indexation'] = true; unset($_SESSION["diffusion"]); $_SESSION['upfile'] = array(); if($is_folder == 'N') { $id = $folder_id; } $_SESSION['indexation_id'] = $id; //cfi //$_SESSION['courrier'] = array(); $_SESSION['courrier']['objet'] = ''; $_SESSION['courrier']['emetteur'] = ''; $_SESSION['courrier']['nom'] = ''; $_SESSION['courrier']['prenom'] = ''; $_SESSION['courrier']['civ'] =''; $_SESSION['courrier']['emetteur_societe']= ''; $_SESSION['courrier']['emetteur_name']= ''; $_SESSION['courrier']['emetteur_prenom']= ''; $_SESSION['courrier']['emetteur_fonction']= ''; $_SESSION['courrier']["service"] = ''; $_SESSION['courrier']['index_sender_liste'] = ''; $_SESSION['courrier']['sender_nom'] = ''; $_SESSION['courrier']['sender_prenom'] = ''; $_SESSION['courrier']['sender_civilite'] = ''; $_SESSION['courrier']['sender_society'] = ''; $_SESSION['courrier']['sender_function'] = ''; unset ($_SESSION['courrier']['id_expediteur']); $_SESSION['courrier']['domain'] = ''; if ($_SESSION['courrier']['chk_date_limite'] == 'N' && $_SESSION['courrier']['is_ingoing'] == true) { $conn->query("UPDATE ".$_SESSION['tablechoice']." SET CUSTOM_D2=NULL, CUSTOM_D4=NULL, CUSTOM_D5=NULL WHERE RES_ID = ".$id); } if ($_SESSION['config']['details_on_index'] <> "true") { ?> "RES_ID","notes" => "RECORD_ID","listinstance" => "RES_ID"); //CREATE PRE_VAL TABLE AND POST_VAL TABLE foreach( $copy_table as $k_ct => $d_ct ) { $conn->query("CREATE TABLE IF NOT EXISTS ".$suffix_pre_val.$k_ct." LIKE ".$k_ct); $conn->query("CREATE TABLE IF NOT EXISTS ".$suffix_post_val.$k_ct." LIKE ".$k_ct); //INSERT PREVAL TABLE /* $conn->query("INSERT IGNORE INTO ".$suffix_pre_val.$k_ct." SELECT * FROM ".$k_ct." WHERE ".$d_ct." = '".$id."'"); */ } /*Added by sna*/ $copy_res_x = array("res_x" => "RES_ID","listinstance" => "RES_ID"); foreach( $copy_res_x as $k_ct => $d_ct ) { //INSERT PREVAL TABLE $conn->query("INSERT IGNORE INTO ".$suffix_pre_val.$k_ct." SELECT * FROM ".$k_ct." WHERE ".$d_ct." = '".$id."'"); if($k_ct == "listinstance") { $conn->query("UPDATE ".$suffix_pre_val."listinstance SET RES_TABLE = '".$suffix_pre_val."res_x' WHERE ".$d_ct." = '".$id."'"); } } } $conn->query(" UPDATE ".$_SESSION['tablechoice']." SET TITLE = '".addslashes($_SESSION['courrier']['title'])."', DESCRIPTION = '".addslashes($objet)."', DOC_DATE = '".$courrier_date."', TYPE_ID = '".addslashes($type)."', CUSTOM_T2 = '".$nature_doc."', CUSTOM_T3 = '".addslashes($_REQUEST['civilite'])."', CUSTOM_T4 = '".addslashes($prenom)."' , AUTHOR = '".addslashes($nom)."', CUSTOM_D1 = ".$arrivee_date.", CUSTOM_D2 = ".$date_limite.", COLL_ID = '".$_SESSION['courrier']['entity']."' ,APPROVER = '".$_SESSION['user']['UserId']."', VALIDATION_DATE = now(), status = '".$status_val."', PRIORITY = '".$priority."' , WAIT_ACTION = '".$wait_action."' , COLL_ID = '".$_SESSION['courrier']['entity']."' ".$cpmlt_custom_d6.", SOCIETE = '".addslashes($_REQUEST['societe'])."', SENDER_ID = ".$emet_id.", CUSTOM_T9 = '".addslashes($_REQUEST['FUNCTION'])."', CUSTOM_T10 = '".addslashes($_REQUEST['STREET_NUM'])."', CUSTOM_T11 = '".addslashes($_REQUEST['STREET'])."',CUSTOM_T12 = '".addslashes($_REQUEST['TOWN'])."',CUSTOM_T13 = '".addslashes($_REQUEST['CP'])."', COVERAGE = '".$_SESSION['courrier']['domain']."' WHERE RES_ID = '".$id."'"); $_SESSION["diffusion"]->store(); //On efface tout ce qui concerne la liste emetteurs et expediteurs clear_session_exp_emet(); $cour = new LetterBox(); $cour->release($id,"res_x"); $conn->query("SELECT RES_ID, CREATION_DATE FROM ".$_SESSION['tablechoice']." WHERE IDENTIFIER = '".$_REQUEST['identifier']."'"); $line = $conn->fetch_object(); $id = $line->RES_ID; $dateenr = $line->CREATION_DATE; if($_SESSION['history']['resup'] == true) { require_once("class_history.php"); $users = new history(); $users->add($_SESSION['tablechoice'], $id ,"VAL", _DOC_VALIDATED." : ".$_REQUEST['identifier']." (".$type.")"); } $conn2 = new dbquery(); $conn2->connect(); $conn2->query("select TYPE_ID, ADDDATE('".$dateenr."', INTERVAL DELAI_RELANCE1 DAY) as RELANCE1, SUBDATE(".$date_limite.", INTERVAL DELAI_RELANCE2 DAY) as RELANCE2 from ".$_SESSION['tablename']['doctypes']." where TYPE_ID = '".$_SESSION['courrier']['type_courrier']."' and RES_TABLE = '".$_SESSION['tablechoice']."'"); // $conn->show(); if($conn2->nb_result() == 0) { $_SESSION['error']= _DOCTYPE.' '._UNKNOWN; header("location: enregistrement_doc.php"); exit; } else { $res = $conn2->fetch_object(); if( $res->RELANCE1 != null ) $relance1 = "'".$res->RELANCE1."'"; if( $res->RELANCE2 != null ) $relance2 = "'".$res->RELANCE2."'"; } $conn->query('update '.$_SESSION['tablechoice']." set CUSTOM_D4 = ".$relance1.", CUSTOM_D5 = ".$relance2." WHERE RES_ID = ".$id); if($action == "diff " && $_SESSION['history']['diffusion']) { if( $_SESSION["diffusion"]->get_dest_user() ) $to = $_SESSION["diffusion"]->get_dest_user(); else $to = $_SESSION["diffusion"]->get_destination(); $hist->add($_SESSION['tablename']['listinstance'], $id , 'DIF', _DOC." n° ".$id." "._SEND." : ".$to." ("._RECIPIENT.")"); foreach(array_slice($_SESSION["diffusion"]->get_diffusion(),1) as $key_diff => $diffusion) { if( isset($diffusion["USER"]) ) { $hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$diffusion["USER"]["USER_ID"]." ("._TO_CC.")"); } else { $hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$diffusion["USER"]["SERVICE_ID"]." ("._TO_CC.")"); } } } if ($_SESSION['courrier']['chk_date_limite'] == 'N') { $conn->query("UPDATE ".$_SESSION['tablechoice']." SET CUSTOM_D2=NULL, CUSTOM_D4=NULL, CUSTOM_D5=NULL WHERE RES_ID = ".$id); } $_SESSION['courrier'] = array(); unset($_SESSION["diffusion"]); if( $_SESSION['config']['check_validation_change'] == "true" ) { //INSERT POST_VAL foreach( $copy_table as $k_ct => $d_ct ) { $conn->query("INSERT IGNORE INTO ".$suffix_post_val.$k_ct." SELECT * FROM ".$k_ct." WHERE ".$d_ct." = '".$id."'"); if($k_ct == "listinstance") { $conn->query("UPDATE ".$suffix_post_val."listinstance SET RES_TABLE = '".$suffix_post_val."res_x' WHERE ".$d_ct." = '".$id."'"); } } //COMPARE PREVAL AND POSTVAL $has_changed = array(); $conn->query("SELECT DESTINATION, DEST_USER FROM ".$suffix_pre_val."res_x WHERE res_id = '".$id."'"); if( ${$suffix_pre_val."res_x"}[] = $conn->fetch_row() ); $conn->query("SELECT DESTINATION, DEST_USER FROM ".$suffix_post_val."res_x WHERE res_id = '".$id."'"); if( ${$suffix_post_val."res_x"}[] = $conn->fetch_row() ); $conn->query("SELECT RES_ID, SEQUENCE, USER_ID, MAIL_ACTION FROM ".$suffix_pre_val."listinstance WHERE res_id = '".$id."' ORDER BY SEQUENCE"); while( ${$suffix_pre_val."listinstance"}[] = $conn->fetch_row() ); $conn->query("SELECT RES_ID, SEQUENCE, USER_ID, MAIL_ACTION FROM ".$suffix_post_val."listinstance WHERE res_id = '".$id."' ORDER BY SEQUENCE"); while( ${$suffix_post_val."listinstance"}[] = $conn->fetch_row() ); //COMPARE if( serialize(${$suffix_pre_val."res_x"}) != serialize(${$suffix_post_val."res_x"}) ) $has_changed["res_x"] = true; if( serialize(${$suffix_pre_val."listinstance"}) != serialize(${$suffix_post_val."listinstance"}) ) $has_changed["listinstance"] = true; //SOMETHING HAS CHANGED ? if( count($has_changed) == 0 ) { foreach( $copy_table as $k_ct => $d_ct ) { $conn->query("DELETE FROM ".$suffix_pre_val.$k_ct." WHERE ".$d_ct." = '".$id."'"); $conn->query("DELETE FROM ".$suffix_post_val.$k_ct." WHERE ".$d_ct." = '".$id."'"); } } } ?> query("SELECT DOCSERVER_ID, PATH_TEMPLATE, SIZE_LIMIT, ACTUAL_SIZE FROM ".$_SESSION['tablename']['docservers']." WHERE IS_READONLY = 'N' AND ENABLED = 'Y' "); if($conn->nb_result() == 0) { $_SESSION['error'] .= _NO_AVAILABLE_DOCSERVER."."._MORE_INFOS." : ".$_SESSION['config']['adminname'].".
"; } else { $info = $conn->fetch_object(); $docserver_id = $info->DOCSERVER_ID; $docserver_size = $info->ACTUAL_SIZE + $_FILES['file']['size']; $path_tmp = $_SESSION['config']['tmpdir'].DIRECTORY_SEPARATOR.'tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext; if($info->SIZE_LIMIT > 0 && $docserver_size >= $info->SIZE_LIMIT) { $_SESSION['error'] .= _NOT_ENOUGH_DISK_SPACE."."._MORE_INFOS." : ".$_SESSION['config']['adminname'].".
"; } else { $path_template = $info->PATH_TEMPLATE; require("class_docserver.php"); $docserver = new docserver(); $result = $docserver->store($docserver_id,$path_template,$path_tmp,$the_ext,filesize($path_tmp)); if( !is_array($result) || count($result) < 2 ) { echo $_SESSION['error'] = $docserver->get_last_error()." ".$_SESSION['config']['adminname'].".
"; header("location: enregistrement_doc.php"); exit; } $destination_rept = $result['destination_rept']; $file_destination_name = $result['file_destination_name']; $tmp_slh_system223 = DIRECTORY_SEPARATOR; $destination_rept = substr($destination_rept,strlen($path_template),4); $destination_rept = str_replace(DIRECTORY_SEPARATOR,'#',$destination_rept); //$_SESSION['courrier']['description'] = addslashes($_SESSION['courrier']['description']); $conn->query("select DESCRIPTION, DOC_DATE, TYPE_ID, CUSTOM_T3, CUSTOM_T4, AUTHOR, CUSTOM_D1, CUSTOM_D2, DESTINATION, DEST_USER, IDENTIFIER from ".$_SESSION['tablechoice']." where RES_ID = ".$_SESSION['courrier']['attach_num']); $res = $conn->fetch_object(); $desc = $res->DESCRIPTION; $date = $res->DOC_DATE; $type = $res->TYPE_ID; $civ = $res->CUSTOM_T3; $prenom = $res->CUSTOM_T4; $author = $res->AUTHOR; $date_ar = $res->CUSTOM_D1; $date_lim = $res->CUSTOM_D2; $dest = $res->DESTINATION; $dest_user = $res->DEST_USER; $identifier = $res->IDENTIFIER; $size = filesize($_SESSION['config']['tmpdir'].$tmp_slh_system223.'tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext); if($is_folder == 'Y') { $conn->query("INSERT INTO ".$_SESSION['tablechoice']."( TITLE, RELATION, DESCRIPTION, FORMAT, CREATION_DATE,DOC_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE, STATUS, TYPIST, TYPE_ID, CUSTOM_T3, CUSTOM_T4, AUTHOR, CUSTOM_D1, CUSTOM_D2, SOURCE, IS_INGOING, IS_FOLDER, GID_ID,SOCIETE,SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13, COVERAGE) VALUES ('".addslashes($_SESSION['courrier']['title'] )."', '".$_SESSION['courrier']['attach_num']."', '".addslashes($desc)."', '".strtoupper($the_ext)."', now() , '".$date."','".$docserver_id."', '".$destination_rept."','".$file_destination_name.".".strtolower($the_ext)."',".$size.",'REP', '".$_SESSION['user']['UserId']."','".addslashes($type)."','".addslashes($civ)."', '".addslashes($prenom)."', '".addslashes($author)."','".$date_ar."', '".$date_lim."' ,'Local File', 'N', '".$is_folder."','R".date('Y').$_SESSION['gid_id']."','".addslashes($_REQUEST['societe'])."',".$emet_id.",'".addslashes($_REQUEST['FUNCTION'])."','".addslashes($_REQUEST['STREET_NUM'])."', '".addslashes($_REQUEST['STREET'])."','".addslashes($_REQUEST['TOWN'])."','".addslashes($_REQUEST['CP'])."', '".$_SESSION['courrier']['domain']."')"); update_gid($_SESSION['gid_id']); $_SESSION["diffusion"]->set_ressource($_SESSION['tablechoice'],mysql_insert_id($conn->sql_link)); $_SESSION["diffusion"]->store(); //**** MAILER **** require_once($_SESSION['mailer']['path_to_mailer']."/class_mailer.php"); $mail = new Mailer("."); //echo "Courrier attaché à une affaire bis
"; $conn->query("SELECT DEST_USER, DESTINATION FROM res_x WHERE RES_ID = ".$last_insert_id); //$conn->show(); $res = $conn->fetch_object(); $mail->send_and_save('res_x',$last_insert_id,$res->DEST_USER,8); $mail->purge_history(); //***************** //On efface tout ce qui concerne la liste emetteurs et expediteurs clear_session_exp_emet(); } else { $conn->query("INSERT INTO ".$_SESSION['tablechoice']."( TITLE, RELATION, DESCRIPTION, FORMAT, CREATION_DATE,DOC_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE, STATUS, TYPIST, TYPE_ID, CUSTOM_T3, CUSTOM_T4, AUTHOR, CUSTOM_D1, CUSTOM_D2, DESTINATION, DEST_USER, SOURCE, IS_INGOING, IS_FOLDER, FOLDER_ID, GID_ID, COVERAGE) VALUES ('".addslashes($_SESSION['courrier']['title'] )."', '".$_SESSION['courrier']['attach_num']."','".addslashes($desc)."', '".strtoupper($the_ext)."', now() , '".$date."','".$docserver_id."','".$destination_rept."','".$file_destination_name.".".strtolower($the_ext)."', ".$size.",'REP','".$_SESSION['user']['UserId']."','".addslashes($type)."','".addslashes($_REQUEST['civilite'])."', '".addslashes($prenom)."', '".addslashes($author)."','".$date_ar."', '".$date_lim."','".$destination."','".$dest_user."','Local File', 'N', '".$is_folder."', '".$folder_id."', 'R".date('Y').$_SESSION['gid_id']."', '".$_SESSION['courrier']['domain']."')"); update_gid($_SESSION['gid_id']); //**** MAILER **** require_once($_SESSION['mailer']['path_to_mailer']."/class_mailer.php"); $mail = new Mailer("."); //echo "Courrier attaché à une affaire en dehors
"; $conn->query("SELECT DEST_USER, DESTINATION FROM res_x WHERE RES_ID = ".$_SESSION['courrier']['attach_num']); //$conn->show(); $res = $conn->fetch_object(); $mail->send_and_save('res_x',$last_insert_id,$res->DEST_USER,5); $mail->purge_history(); //***************** //On efface tout ce qui concerne la liste emetteurs et expediteurs clear_session_exp_emet(); } $conn->query("update ".$_SESSION['tablechoice']." set STATUS = 'COU' where RES_ID = ".$_SESSION['courrier']['attach_num']); if($_SESSION['history']['resadd'] == "true") { require_once("class_history.php"); $users = new history(); $users->add($_SESSION['tablechoice'], $_SESSION['courrier']['attach_num'],"ADD", _NEW_ANSWER_ADDED." : ".$identifier." (".$type.")"); } $_SESSION['indexation'] = true; $_SESSION['indexation_id'] = $_SESSION['courrier']['attach_num']; if($is_folder =='N') { $id = $folder_id; } if ($_SESSION['courrier']['chk_date_limite'] == 'N') { $conn->query("UPDATE ".$_SESSION['tablechoice']." SET CUSTOM_D2=NULL, CUSTOM_D4=NULL, CUSTOM_D5=NULL WHERE RES_ID = ".$id); } if ($_SESSION['config']['details_on_index'] <> "true") { ?>