*/
include("session.php");
require("class_functions.php");
require("class_db.php");
require_once("pre_emet_exp.php");
// 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;
}
}
if(file_exists($_SESSION['config']['lang'].'.php'))
{
include($_SESSION['config']['lang'].'.php');
}
else
{
$_SESSION['error'] = "Language file missing...
";
}
$conn = new dbquery();
$func = new functions();
$conn->connect();
$table = "res_x";
$conn_type = new dbquery();
$conn_type->connect();
$erreur = "";
/*if(!isset($_SESSION['FILE']['md5']) || empty($_SESSION['FILE']['md5']) || !isset($_SESSION['FILE']['taille_fichier']) || empty($_SESSION['FILE']['taille_fichier']))
{
$_SESSION['error'].= _MD5_ERROR.".
";
}*/
$nom = "";
$prenom = "";
$civ = "";
$priority = "";
$_SESSION['error'] = "";
$_SESSION['tablechoice'] = "res_x";
$type = "";
if ( !isset($_SESSION['courrier']['type_courrier']) || empty($_SESSION['courrier']['type_courrier']) )
{
$_SESSION['error'] .= _DOCTYPE_MISSING.".
";
}
else
{
$type = $_SESSION['courrier']['type_courrier'];
}
$conn_type -> query("SELECT GENERATE, MODEL from ".$_SESSION['tablename']['doctypes']." WHERE TYPE_ID = '".$_SESSION['courrier']['type_courrier']."' ");
$res_type = $conn_type -> fetch_object();
$db_gdi = new dbquery();
$db_gdi -> connect();
// courrier non généré
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 départ , pas une pièce 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 arrivé (pièce jointe ou non)
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($_REQUEST['societe']) || empty($_REQUEST['societe']) )
{
$_SESSION['error'] .= _SHIPPER_CORPORATE_ERROR.".
";
}
elseif( strlen(trim($_REQUEST["nom"])) < 1 )
{
$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']) || $_REQUEST['nom'] == _DEFAULT_LASTNAME)
{
$_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']) && $_REQUEST['civilite'] <> _DEFAULT_FUNCTION)
{
$civ = trim($_REQUEST['civilite']);
$_SESSION['courrier']['civ'] = $civ;
}
if(isset($_REQUEST['prenom']) && !empty($_REQUEST['prenom']) && $_REQUEST['prenom'] <> _DEFAULT_FIRSTNAME)
{
$prenom = trim($_REQUEST['prenom']);
$_SESSION['courrier']['prenom'] = $prenom;
}
}
// courrier départ non 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') && $_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.".
";
}
}
// 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)
{
$service = "";
if (!isset($_SESSION['courrier']["service"]) || empty($_SESSION['courrier']["service"]))
{
$_SESSION['error'] .= _DEPARTMENT_MISSING.".
";
}
else
{
$service = $_SESSION['courrier']["service"];
}
}
$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(!isset($_SESSION['courrier']['attach_num']) || empty($_SESSION['courrier']['attach_num']))
{
$_SESSION['error'] .= _GED_NUM_MISSING.".
";
}
else
{
if(!ereg('^[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['error'] .= _TITLE_MISSING.".
";
}
else
{
$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.".
";
}
}
}*/
}
$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($_REQUEST['societe']) || empty($_REQUEST['societe']) )
{
$_SESSION['error'] .= _SHIPPER_CORPORATE_ERROR.".
";
}
elseif( strlen(trim($_REQUEST["nom"])) < 1 )
{
$_SESSION['error'] .= _SHIPPER_CORPORATE_ERROR.".
";
}
else
{
$nom = trim($_REQUEST['nom']);
if(trim($_REQUEST['societe'])<> _DEFAULT_SOCIETY)
{
$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'] <> _DEFAULT_FUNCTION))
{
$civ = trim($_REQUEST['civilite']);
$_SESSION['courrier']['civ'] = $civ;
}
if(isset($_REQUEST['prenom']) && !empty($_REQUEST['prenom']) && $_REQUEST['prenom'] <> _DEFAULT_FIRSTNAME)
{
$prenom = trim($_REQUEST['prenom']);
$_SESSION['courrier']['prenom'] = $prenom;
}
}
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;
}
$service = "";
if ($_SESSION['courrier']['new_folder'] == TRUE)
{
if (!isset($_SESSION['courrier']["service"]) || empty($_SESSION['courrier']["service"]))
{
$_SESSION['error'] .= _DEPARTMENT_MISSING.".
";
}
else
{
$service = $_SESSION['courrier']["service"];
}
}
}
if($res_type -> GENERATE == "Y")
{
if(!isset($_SESSION['model_content']) || empty($_SESSION['model_content']))
{
$_SESSION['error'] .= _ERROR_EMPTY_MODEL."!
";
}
}
//courrier attaché à une affaire
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.".
";
}
}
}*/
}
//courrier attaché à une affaire
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")
{
if(count($_SESSION['diff'])<1)
{
$_SESSION['error'] .= _DIFFUSION_LIST_EMPTY.".
";
}
}
}
$action ="";
if(isset($_REQUEST['diffuser']))
{
$action = "diff";
}
else if(isset($_REQUEST['valider']))
{
$action = "val";
}
else if(isset($_REQUEST['valid']))
{
$action = "validation";
}
elseif(isset($_REQUEST['add_to_mail']))
{
$action = "attach";
}
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"])
{
$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."
";
header("location: enregistrement_doc.php");
exit;
}
}
$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."
";
header("location: enregistrement_doc.php");
exit;
}
}
}
$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";
//$path_tmp = 'ftp/tmp'.$res->VALUE.".maarch";
}
else
{
$path_tmp = $_SESSION['config']['tmpdir'].'\\tmp'.$res->VALUE.".maarch";
//$path_tmp = 'ftp\\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
{
$path_template = $info->PATH_TEMPLATE;
require("class_docserver.php");
$docserver = new docserver();
//$docinfo = $docserver->filename(trim($info->PATH_TEMPLATE));
$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;
}
$destination_rept = $result['destination_rept'];
$file_destination_name = $result['file_destination_name'];
if(!empty($path_tmp))
{
unlink($path_tmp);
}
$destination_rept = substr($destination_rept,strlen($path_template),4);
$destination_rept = str_replace(DIRECTORY_SEPARATOR,'#',$destination_rept);
$dest = $_SESSION['diff'][0]['UserID'];
$status = 'NEW';
if($action == "val")
{
$status = 'VAL';
}
// nouvelle affaire
if($is_folder =='Y')
{
$conn->query("INSERT INTO ".$_SESSION['tablechoice']." ( DESCRIPTION, FORMAT, CREATION_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE,
IDENTIFIER, STATUS, TYPIST, TYPE_ID, CUSTOM_T3, CUSTOM_T4, AUTHOR, CUSTOM_D1, CUSTOM_D2, DESTINATION, DEST_USER, IS_INGOING,
PRIORITY, IS_FOLDER, SOCIETE, DOC_DATE, GID_ID, COLL_ID,
SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13)
VALUES
('".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." , '".$service."', '".$dest."', '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'])."')");
update_gid($_SESSION['gid_id']);
//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']." ( DESCRIPTION, FORMAT, CREATION_DATE, DOCSERVER_ID, PATH, FILENAME,
FILESIZE, IDENTIFIER, STATUS, TYPIST, TYPE_ID, CUSTOM_T3, CUSTOM_T4, AUTHOR, CUSTOM_D1, CUSTOM_D2, DESTINATION, DEST_USER,
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)
VALUES
('".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." , '".$service."', '".$dest."', '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'])."')");
update_gid($_SESSION['gid_id']);
}
clear_session_exp_emet();
// 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);
}
$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);
}
}
for($i=0;$iquery("INSERT INTO ".$_SESSION['tablename']['listinstance']." (RES_TABLE, RES_ID, SEQUENCE,
USER_ID, BY_USER_ID)
VALUES ('".$_SESSION['ressources'][0]['tablename']."', ".$id.", ".$k."
, '".$_SESSION['diff'][$i]['UserID']."','".$_SESSION['user']['UserId']."')");
}
$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 = ereg_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'])
{
$hist->add($_SESSION['tablename']['listinstance'], $id , 'DIF', _DOC." n° ".$id." "._SEND." : ".$_SESSION['diff'][0]['UserID']." ("._RECIPIENT.")");
for($i=1; $i < count($_SESSION['diff']); $i++)
{
$hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$_SESSION['diff'][$i]['UserID']." ("._TO_CC.")");
}
}
$_SESSION['indexation'] = true;
$_SESSION['diff'] = array();
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['FILE'] = array();
if($is_folder =='N')
{
$id = $folder_id;
}
$_SESSION['indexation_id'] = $id;
//$_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']);
?>
valid_date($_REQUEST["jour_arrivee"],$_REQUEST["mois_arrivee"],$_REQUEST["annee_arrivee"]);
if( $arrivee_date == NULL )
{
$_SESSION['error'] .= _START_DATE_INVALID."
";
header("location: enregistrement_doc.php");
exit;
}
}
$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."
";
header("location: enregistrement_doc.php");
exit;
}
}
}
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."
";
header("location: enregistrement_doc.php");
exit;
}
}
if($action <> "validation")
{
$extension = explode(".",$_SESSION['FILE']['Ftp_File']);
$count_level = count($extension)-1;
$the_ext = $extension[$count_level];
//$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 + $_SESSION['FILE']['taille_fichier'];
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.$_SESSION['FILE']['Ftp_File'];
$result = $docserver->store($docserver_id,$path_template,$path_tmp,$the_ext,$_SESSION['FILE']['taille_fichier']);
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'];
@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);
$dest = $_SESSION['diff'][0]['UserID'];
$status = 'NEW';
if($action == "val")
{
$status = 'VAL';
}
$size = filesize($_SESSION['config']['tmpdir'].DIRECTORY_SEPARATOR.$_SESSION['FILE']['Ftp_File']);
// courrier arrivé
if($_SESSION['courrier']["is_ingoing"])
{
// nouvelle affaire
if($is_folder == 'Y')
{
$conn->query("INSERT INTO ".$_SESSION['tablechoice']." ( 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, DEST_USER, IS_INGOING, PRIORITY, IS_FOLDER, SOCIETE, GID_ID, COLL_ID,
SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13)
VALUES
('".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($_REQUEST['civilite'])."', '".addslashes($prenom)."', '".addslashes($nom)."',".$arrivee_date.", ".$date_limite." ,
'".$service."', '".$dest."', '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'])."')");
update_gid($_SESSION['gid_id']);
}
// courrier attaché à une affaire
else
{
$conn->query("INSERT INTO ".$_SESSION['tablechoice']." ( 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, DEST_USER, IS_INGOING, PRIORITY, IS_FOLDER, FOLDER_ID, SOCIETE, GID_ID, COLL_ID,
SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13)
VALUES
('".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($_REQUEST['civilite'])."', '".addslashes($prenom)."', '".addslashes($nom)."',".$arrivee_date.", ".$date_limite." ,
'".$service."', '".$dest."', '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'])."')");
update_gid($_SESSION['gid_id']);
}
clear_session_exp_emet();
// 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);
}
}
else // courrier sortant
{
if($is_folder == 'Y') // Nouvelle affaire
{
$conn->query("INSERT INTO ".$_SESSION['tablechoice']." ( DESCRIPTION, FORMAT, CREATION_DATE, DOC_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE, IDENTIFIER, STATUS, TYPIST,
TYPE_ID, CUSTOM_T2, CUSTOM_T3, AUTHOR, DESTINATION, DEST_USER, IS_INGOING, PRIORITY, IS_FOLDER, SOCIETE, GID_ID, COLL_ID,
SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13)
VALUES
('".addslashes($objet)."', '".strtoupper($the_ext)."', now() , '".$courrier_date."','".$docserver_id."','"
.$destination_rept."','".$file_destination_name.".".strtolower($the_ext)
."',".$size
.",'".$_SESSION["FILE"]["identifier"]
."','NEW','".$_SESSION['user']['UserId']
."','".addslashes($type)."','".$nature_doc."','".$_REQUEST['civilite']."',
'".addslashes($nom)."' , '".$service."', '".$dest."', 'N', ".$priority.", '".$is_folder."',
'".addslashes($_REQUEST['societe'])."','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'])."')");
update_gid($_SESSION['gid_id']);
}
else // attaché à une affaire
{
$status = 'OUT';
$rel = $_SESSION['courrier']['attach_num'];
if($_SESSION['courrier']['attach'])
{
$status = 'REP';
$rel = $folder_id;
$conn->query("update res_x set status = 'COU' where res_id = ".$rel);
}
$conn->query("INSERT INTO ".$_SESSION['tablechoice']." ( DESCRIPTION, FORMAT, CREATION_DATE, DOC_DATE, DOCSERVER_ID, PATH, FILENAME, FILESIZE, IDENTIFIER, STATUS, TYPIST,
TYPE_ID, CUSTOM_T2, CUSTOM_T3, AUTHOR, DESTINATION, DEST_USER, IS_INGOING, IS_FOLDER, FOLDER_ID, SOCIETE, CUSTOM_T3, CUSTOM_T4, RELATION, GID_ID, COLL_ID,
SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13)
VALUES
('".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."','".$_REQUEST['civilite']."'
, '".addslashes($nom)."' , '".$service."', '".$dest."', 'N', '".$is_folder."', '".$folder_id."','".addslashes($_REQUEST['societe'])."',
'".addslashes($_REQUEST['civilite'])."','".addslashes($prenom)."',
'".$rel."','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'])."')");
update_gid($_SESSION['gid_id']);
}
clear_session_exp_emet();
}
// $conn->show();
$conn->query("SELECT RES_ID as ID from ".$_SESSION['tablechoice']." where IDENTIFIER = '".$_SESSION["FILE"]["identifier"]."' AND DESCRIPTION = '".addslashes($objet)."' 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 = "";
$id = $line->ID;
for($i=0;$iquery("INSERT INTO ".$_SESSION['tablename']['listinstance']." (RES_TABLE, RES_ID, SEQUENCE,
USER_ID, BY_USER_ID)
VALUES ('".$_SESSION['ressources'][0]['tablename']."', ".$id.", ".$k."
, '".$_SESSION['diff'][$i]['UserID']."', '".$_SESSION['user']['UserId']."')");
}
if($_SESSION['history']['resadd'] == true)
{
require("class_history.php");
$users = new history();
if($_SESSION['courrier']["is_ingoing"])
{
$mes = _NEW_INGOING_DOC." (".$type.") ";
}
else
{
$mes = _NEW_ONGOING_DOC." (".$type.") ";
}
$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['FILE']['taille_fichier'] = $_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;
$tmp = str_replace('#',DIRECTORY_SEPARATOR,$tmp);
$md5fichier .= $tmp;
$filename = $res->FILENAME;
$extemp = strtolower(substr($filename, -4));
$filename = ereg_replace("[.A-Z]{4}$",$extemp, $filename);
$md5fichier .= $filename;
$md5 = md5_file($md5fichier);
// courrier arrivé
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);
}
// courrier départ
else
{
$conn->query("UPDATE ".$_SESSION['tablechoice']." SET FINGERPRINT='".$md5."' WHERE RES_ID = ".$id);
}
if($action == "diff " && $_SESSION['history']['diffusion'])
{
$hist->add($_SESSION['tablename']['listinstance'], $id , 'DIF', _DOC." n° ".$id." "._SEND." : ".$_SESSION['diff'][0]['UserID']." ("._RECIPIENT.")");
for($i=1; $i < count($_SESSION['diff']); $i++)
{
$hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$_SESSION['diff'][$i]['UserID']." ("._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;
// $_SESSION['diff'] = array();
$_SESSION['FILE'] = array();
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);
}
$_SESSION['indexation_id'] = $id;
$_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']);
?>
query("select * from ".$_SESSION['tablename']['listinstance']." where RES_ID = ".$id);
if($conn->nb_result() == 1)
{
for($i=0;$iquery("UPDATE ".$_SESSION['tablename']['listinstance']." SET SEQUENCE = ".$j.",
USER_ID = '".$_SESSION['diff'][$i]['UserID']."', BY_USER_ID = '".$_SESSION['user']['UserId']."'
WHERE RES_TABLE = '".$_SESSION['tablechoice']."' and RES_ID = ".$id." and SEQUENCE = ".$j);
// $conn->show();
}
}
else
{
$conn->query("DELETE from ".$_SESSION['tablename']['listinstance']." where RES_TABLE = 'res_x' and RES_ID = ".$id);
for($i=0;$iquery("INSERT into ".$_SESSION['tablename']['listinstance']." (RES_TABLE, RES_ID, SEQUENCE, USER_ID, BY_USER_ID) values ('".$_SESSION['tablechoice']."',
".$id.", ".$j.", '".$_SESSION['diff'][$i]['UserID']."','".$_SESSION['user']['UserId']."');");
// $conn->show();
}
}
$conn->query(" UPDATE ".$_SESSION['tablechoice']." SET DESCRIPTION = '".$objet."', DOC_DATE = '".$courrier_date."',
TYPE_ID = '".$type."', CUSTOM_T2 = '".$nature_doc."', CUSTOM_T3 = '".$_REQUEST['civilite']."', CUSTOM_T4 = '".$prenom."'
, AUTHOR = '".$nom."', CUSTOM_D1 = ".$arrivee_date.", CUSTOM_D2 = ".$date_limite.", DEST_USER = '".$_SESSION['diff'][0]['UserID']."',
DESTINATION = '".$service."', COLL_ID = '".$_SESSION['courrier']['entity']."' APPROVER = '".$_SESSION['user']['UserId']."', VALIDATION_DATE = now(), PRIORITY = ".$priority.",
SOCIETE = '".$_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'])."'
WHERE RES_ID = '".$id."'");
$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("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);
// $conn->show();
if($action == "diff " && $_SESSION['history']['diffusion'])
{
$hist->add($_SESSION['tablename']['listinstance'], $id , 'DIF', _DOC." n° ".$id." "._SEND." : ".$_SESSION['diff'][0]['UserID']." ("._RECIPIENT.")");
for($i=1; $i < count($_SESSION['diff']); $i++)
{
$hist->add($_SESSION['tablename']['listinstance'], $id, 'DIF', _DOC." n° ".$id." "._SEND." : ".$_SESSION['diff'][$i]['UserID']." ("._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);
}
//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['diff'] = array();
?>
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'];
if($info->SIZE_LIMIT > 0 && $docserver_size >= $info->SIZE_LIMIT)
{
$_SESSION['error'] .= _NOT_ENOUGH_DISK_SPACE."."._MORE_INFOS." : ".$_SESSION['config']['adminname'].".
";
}
else
{
/* if(!is_uploaded_file($_FILES['file']['tmp_name']))
{
$_SESSION['error'] .= _FILE_NOT_SEND.". "._TRY_AGAIN."."._MORE_INFOS." : ".$_SESSION['config']['adminname'].".
";
}
else
{*/
$path_template = $info->PATH_TEMPLATE;
require("class_docserver.php");
$docserver = new docserver();
$path_tmp = $_SESSION['config']['tmpdir'].DIRECTORY_SEPARATOR.$_SESSION['FILE']['Ftp_File'];
$result = $docserver->store($docserver_id,$path_template,$path_tmp,$the_ext,$_SESSION['FILE']['taille_fichier']);
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'];
$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($path_tmp);
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, DESTINATION, DEST_USER, SOURCE, IS_INGOING, IS_FOLDER, GID_ID,
SOCIETE,SENDER_ID,CUSTOM_T9,CUSTOM_T10,CUSTOM_T11,CUSTOM_T12,CUSTOM_T13)
VALUES
('".addslashes($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."' ,'".$dest."',
'".$dest_user."', 'Local File', 'N', '".$is_folder."','R".date('Y').$_SESSION['gid_id']."','".$_REQUEST['societe']."',".$emet_id.",'".addslashes($_REQUEST['FUNCTION'])."','".addslashes($_REQUEST['STREET_NUM'])."',
'".addslashes($_REQUEST['STREET'])."','".addslashes($_REQUEST['TOWN'])."','".addslashes($_REQUEST['CP'])."')");
$last_insert_id = mysql_insert_id($conn->sql_link);
update_gid($_SESSION['gid_id']);
//On efface tout ce qui concerne la liste emetteurs et expediteurs
clear_session_exp_emet();
//**** 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 = ".$last_insert_id);
$res = $conn->fetch_object();
$mail->send_and_save('res_x',$last_insert_id,$res->DEST_USER,8);
$mail->purge_history();
//****************
}
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)
VALUES
('".addslashes($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."' ,'".$dest."',
'".$dest_user."', 'Local File', 'N', '".$is_folder."', '".$folder_id."','R".date('Y').$_SESSION['gid_id']."')");
$last_insert_id = mysql_insert_id($conn->sql_link);
update_gid($_SESSION['gid_id']);
//**** 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 = ".$last_insert_id);
$res = $conn->fetch_object();
$mail->send_and_save('res_x',$last_insert_id,$res->DEST_USER,4);
$mail->purge_history();
//****************
}
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);
}
//$_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']);
?>