query("INSERT INTO ".$_SESSION['tablename']['listinstance']." (RES_TABLE, RES_ID, SEQUENCE,
USER_ID)
VALUES ('".$_SESSION['ressources'][0]['tablename']."', ".$id.", ".$k."
, '".$_SESSION['diff'][$i]['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;
if ($_SESSION['config']['system'] == "true")
{
$tmp = str_replace('#','/',$tmp);
}
else
{
$tmp = str_replace('#','\\',$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();
$relance1 = $res->RELANCE1;
$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();
$_SESSION['upfile'] = array();
$_SESSION['courrier'] = array();
if ($_SESSION['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;
?>
exit();
}
}
}
}
else // validation des courriers générés
{
$id = $_REQUEST['id'];
// echo 'date arrivee '.$arrivee_date.'
doc_date : '.$courrier_date;
//exit();
$identifier = $_REQUEST['identifier'];
if($_SESSION['config']['enablechangenotif'] == "true")
{
if( $_SESSION['is_diff'])
{
$date = date("d-m-Y");
$mail_trait = "
"._MAIL_TO_PROCESS."
"._HELLO.",
"._NEED_PROCESS_LETTER." :
- "._LETTER_N."".$id." "._TO_TYPE." ".$type." ("._OBJECT." : ".$objet.") "._RECEIVE_THE." ".$date." "._RECEIVE_FROM." ".$emetteur." "._LIMIT_PROCESS." ".$date_limite." :
"._ACCESS_MAIL_TO_PROCESS."
";
$mail_copie = "
"._MAIL_IN_COPY."
"._HELLO.",
"._YOU_HAVE_MAIL_COPY." :
";
$nom_dest = "";
$conn->query("select LASTNAME, FIRSTNAME from ".$_SESSION['tablename']['users']." where USER_ID = '".$_SESSION['diff'][0]['UserID']."'");
$res = $conn->fetch_object();
$nom_dest = $res->FIRSTNAME." ".$res->LASTNAME;
$emetteur = $civ." ".$nom." ".$prenom;
$mail_copie .= "- "._LETTER_N."".$id." "._TO_TYPE." ".$type." ("._OBJECT." : ".$objet.") "._RECEIVE_THE." ".$date." "._RECEIVE_FROM." ".$emetteur." "._HAS_BEEN_TRANSFERED_BY." ".$nom_dest." "._HAS_BEEN_PROCESSED_BEFORE." ".$date_limite." :
"._SHOW_MAIL."
\n\n";
}
for($i=0;$iquery("select MAIL from ".$_SESSION['tablename']['users']." where USER_ID = '".$_SESSION['diff'][$i]['UserID']."'");
$res = $conn->fetch_object();
$mail = $res->MAIL;
if( $_SESSION['is_diff'] && $i==0)
{
mail($mail, _PROCESS_MAIL, $mail_trait , "From: ".$_SESSION['config']['mail']."\r\nReply-To: ".$_SESSION['config']['mail']." \r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n");
}
elseif($_SESSION['is_diff'] && $i > 0)
{
mail($mail, _FIRST_WARNING_TXT, $mail_copie , "From: ".$_SESSION['config']['mail']."\r\nReply-To: ".$_SESSION['config']['mail']." \r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n");
}
}
}
$conn->query("DELETE from ".$_SESSION['tablename']['listinstance']." where RES_TABLE = 'res_x' and RES_ID = ".$id);
$j = 0;
for($i=0;$iquery("INSERT into ".$_SESSION['tablename']['listinstance']." (RES_TABLE, RES_ID, SEQUENCE, USER_ID) values ('".$_SESSION['tablechoice']."',
".$id.", ".$j.", '".$_SESSION['diff'][$i]['UserID']."');");
}
$conn->query(" UPDATE ".$_SESSION['tablechoice']." SET DESCRIPTION = '".addslashes($objet)."', DOC_DATE = '".$courrier_date."',
TYPE_ID = '".addslashes($type)."', CUSTOM_T2 = '".$nature_doc."', CUSTOM_T3 = '".addslashes($civ)."', CUSTOM_T4 = '".addslashes($prenom)."'
, AUTHOR = '".addslashes($nom)."', CUSTOM_D1 = '".$arrivee_date."', CUSTOM_D2 = '".$date_limite."', DEST_USER = '".$_SESSION['diff'][0]['UserID']."',
DESTINATION = '".$service."', APPROVER = '".$_SESSION['user']['UserId']."', VALIDATION_DATE = now(), status = 'NEW', PRIORITY = ".$priority."
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." : ".$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();
$relance1 = $res->RELANCE1;
$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.")");
}
}
$_SESSION['courrier'] = array();
$_SESSION['diff'] = array();
?>
}
}
// courrier non généré
else
{
// courrier arrivé
if($_SESSION['courrier']["is_ingoing"])
{
$relance1 = "";
$relance2 = "";
$arrivee_date = trim($_REQUEST["annee_arrivee"]).trim($_REQUEST["mois_arrivee"]).trim($_REQUEST["jour_arrivee"]);
$date_limite = trim($_SESSION['courrier']["annee_limite"]).trim($_SESSION['courrier']["mois_limite"]).trim($_SESSION['courrier']["jour_limite"]);
}
$courrier_date = $annee_courrier.$mois_courrier.$jour_courrier;
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
{
/*if(!is_uploaded_file($_FILES['file']['tmp_name']))
{
$_SESSION['error'] = _FILE_NOT_SEND.". "._TRY_AGAIN.". "._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($info->PATH_TEMPLATE);
$destination_rept = $docinfo['destination_rept'];
$file_destination_name = $docinfo['file_destination_name'];
//if(!move_uploaded_file($_FILES['file']['tmp_name'],$destination_rept.$file_destination_name.".".$the_ext))
//echo $_SESSION['config']['ftphomedir'].'\tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext;
//echo '
'.$destination_rept.$file_destination_name.".".$the_ext;
//exit;
if($_SESSION['config']['system'] == "true")
{
$path_tmp = $_SESSION['config']['ftphomedir'].'/tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext;
}
else
{
$path_tmp = $_SESSION['config']['ftphomedir'].'\tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext;
}
if(file_exists($destination_rept.$file_destination_name.".".$the_ext))
{
$_SESSION['error'] = _FILE_ALREADY_EXISTS.". "._MORE_INFOS." : ".$_SESSION['config']['adminname'].".";
header("location: enregistrement_doc.php");
exit;
}
if (!copy($path_tmp, $destination_rept.$file_destination_name.".".$the_ext))
//if (!copy($_SESSION['upfile']['local_path'], $destination_rept.$file_destination_name.".".$the_ext))
{
$_SESSION['error'] = _FILE_SEND_ERROR.". "._TRY_AGAIN."."._MORE_INFOS." : ".$_SESSION['config']['adminname']."";
exit();
?>
//header("location: enregistrement_doc.php");
exit();
}
else
{
if($_SESSION['config']['system'] == "true")
{
chmod($destination_rept.$file_destination_name.".".$the_ext, 0000777);
}
$destination_rept = substr($destination_rept,strlen($path_template),4);
if ($_SESSION['config']['system'] == "true")
{
$destination_rept = str_replace('/','#',$destination_rept);
}
else
{
$destination_rept = str_replace('\\','#',$destination_rept);
}
/*if($is_folder == 'Y')
{
$key1 = "CHRONO";
$key2 = "";
$key3 = date("Y");
$chrono_value=$func->update_parameter($key1,$key2,$key3);
if(empty($chrono_value))
{
$db->query("INSERT INTO ".$_SESSION['tablename']['param']." VALUES ( '".$key1."', '".$key2."', '".$key3."', '1', '')");
$chrono_value = "1";
}
$_SESSION["FILE"]["identifier"]=date("dmY")."/".$_SESSION['user']['department']."/".sprintf("%06d",$_SESSION["chrono_value"]);
}
else
{
$_SESSION["FILE"]["identifier"] = $_SESSION['courrier']['folder_chrono'];
}*/
$conn->query("UPDATE ".$_SESSION['tablename']['docservers']." SET ACTUAL_SIZE=".$docserver_size." WHERE DOCSERVER_ID='".$docserver_id."'");
$dest = $_SESSION['diff'][0]['UserID'];
$status = 'NEW';
if($action == "val")
{
$status = 'VAL';
}
if ($_SESSION['config']['system'] == "true")
{
$size = filesize($_SESSION['config']['ftphomedir'].'/tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext);
}
else
{
$size = filesize($_SESSION['config']['ftphomedir'].'\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']." ( 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)
VALUES
('".$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($civ)."', '".addslashes($prenom)."', '".addslashes($nom)."','".$arrivee_date."', '".$date_limite."' , '".$service."', '".$dest."', 'Y', ".$priority.", '".$is_folder."','".addslashes($societe)."','E".date('Y').$_SESSION['courrier']['gid_id']."')");
update_gid($_SESSION['courrier']['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)
VALUES
('".$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($civ)."', '".addslashes($prenom)."', '".addslashes($nom)."','".$arrivee_date."', '".$date_limite."' , '".$service."', '".$dest."', 'Y', ".$priority.", '".$is_folder."', '".$folder_id."','".addslashes($societe)."','E".date('Y').$_SESSION['courrier']['gid_id']."')");
update_gid($_SESSION['courrier']['gid_id']);
}
}
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, AUTHOR, DESTINATION, DEST_USER, IS_INGOING, PRIORITY, IS_FOLDER, SOCIETE, CUSTOM_T3, CUSTOM_T4, GID_ID)
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
."', '".addslashes($nom)."' , '".$service."', '".$dest."', 'N', ".$priority.", '".$is_folder."','".addslashes($societe)."','".addslashes($prenom)."','".addslashes($civ)."','S".date('Y').$_SESSION['courrier']['gid_id']."')");
update_gid($_SESSION['courrier']['gid_id']);
}
else // attaché à une 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, AUTHOR, DESTINATION, DEST_USER, IS_INGOING, PRIORITY, IS_FOLDER, FOLDER_ID, SOCIETE, CUSTOM_T3, CUSTOM_T4, GID_ID)
VALUES
('".addslashes($objet)."', '".strtoupper($the_ext)."', now() , '".$courrier_date."','".$docserver_id."','"
.$destination_rept."','".$file_destination_name.".".strtolower($the_ext)
."',".$size
.",'".$_SESSION["FILE"]["identifier"]
."','OUT','".$_SESSION['user']['UserId']
."','".addslashes($type)."','".$nature_doc
."', '".addslashes($nom)."' , '".$service."', '".$dest."', 'N', ".$priority.", '".$is_folder."', '".$folder_id."','".addslashes($societe)."','".addslashes($prenom)."','".addslashes($civ)."','S".date('Y').$_SESSION['courrier']['gid_id']."')");
update_gid($_SESSION['courrier']['gid_id']);
}
}
// $conn->show();
$conn->query("SELECT RES_ID as ID from ".$_SESSION['tablechoice']." where IDENTIFIER = '".$_SESSION["FILE"]["identifier"]."' AND DESCRIPTION = '".$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 = "";
//$conn->show();
$id = $line->ID;
for($i=0;$iquery("INSERT INTO ".$_SESSION['tablename']['listinstance']." (RES_TABLE, RES_ID, SEQUENCE,
USER_ID)
VALUES ('".$_SESSION['ressources'][0]['tablename']."', ".$id.", ".$k."
, '".$_SESSION['diff'][$i]['UserID']."')");
}
if($_SESSION['history']['resadd'] == true)
{
require("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);
}
$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();
$relance1 = $res->RELANCE1;
$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.")");
}
}
if(file_exists($_SESSION['config']['ftphomedir'].'\tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext))
{
unlink($_SESSION['config']['ftphomedir'].'\tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext);
}
$_SESSION['indexation'] = true;
$_SESSION['diff'] = array();
$_SESSION['upfile'] = array();
if($is_folder == 'N')
{
$id = $folder_id;
}
$_SESSION['indexation_id'] = $id;
$_SESSION['courrier'] = array();
if ($_SESSION['chk_date_limite'] == 'N')
{
$conn->query("UPDATE ".$_SESSION['tablechoice']." SET CUSTOM_D2=NULL, CUSTOM_D4=NULL, CUSTOM_D5=NULL WHERE RES_ID = ".$id);
}
?>
exit();
}
//}
}
}
}
elseif($action == "validation")
{
$id = $_REQUEST['id'];
$identifier = $_REQUEST['identifier'];
if($_SESSION['config']['enablechangenotif'] == "true")
{
if( $_SESSION['is_diff'])
{
$date = date("d-m-Y");
$mail_trait = "
"._MAIL_TO_PROCESS."
"._HELLO.",
"._NEED_PROCESS_LETTER." :
- "._LETTER_N."".$id." "._TO_TYPE." ".$type." ("._OBJECT." : ".$objet.") "._RECEIVE_THE." ".$date." "._RECEIVE_FROM." ".$emetteur." "._LIMIT_PROCESS." ".$date_limite." :
"._ACCESS_MAIL_TO_PROCESS."
";
$mail_copie = "
"._MAIL_IN_COPY."
"._HELLO.",
"._YOU_HAVE_MAIL_COPY." :
";
$nom_dest = "";
$conn->query("select LASTNAME, FIRSTNAME from ".$_SESSION['tablename']['users']." where USER_ID = '".$_SESSION['diff'][0]['UserID']."'");
$res = $conn->fetch_object();
$nom_dest = $res->FIRSTNAME." ".$res->LASTNAME;
$emetteur = $civ." ".$nom." ".$prenom;
$mail_copie .= "- "._LETTER_N."".$id." "._TO_TYPE." ".$type." ("._OBJECT." : ".$objet.") "._RECEIVE_THE." ".$date." "._RECEIVE_FROM." ".$emetteur." "._HAS_BEEN_TRANSFERED_BY." ".$nom_dest." "._HAS_BEEN_PROCESSED_BEFORE." ".$date_limite." :
"._SHOW_MAIL."
\n\n";
}
for($i=0;$iquery("select MAIL from ".$_SESSION['tablename']['users']." where USER_ID = '".$_SESSION['diff'][$i]['UserID']."'");
$res = $conn->fetch_object();
$mail = $res->MAIL;
if( $_SESSION['is_diff'] && $i==0)
{
mail($mail, _PROCESS_MAIL, $mail_trait , "From: ".$_SESSION['config']['mail']."\r\nReply-To: ".$_SESSION['config']['mail']." \r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n");
}
elseif($_SESSION['is_diff'] && $i > 0)
{
mail($mail, _FIRST_WARNING_TXT, $mail_copie , "From: ".$_SESSION['config']['mail']."\r\nReply-To: ".$_SESSION['config']['mail']." \r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n");
}
}
}
/* $conn->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']."'
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);
$j = 0;
for($i=0;$iquery("INSERT into ".$_SESSION['tablename']['listinstance']." (RES_TABLE, RES_ID, SEQUENCE, USER_ID) values ('".$_SESSION['tablechoice']."',
".$id.", ".$j.", '".$_SESSION['diff'][$i]['UserID']."');");
// $conn->show();
}
//}
//echo "
date arrivee : ".$arrivee_date."
doc_date : ".$courrier_date."
";
$conn->query(" UPDATE ".$_SESSION['tablechoice']." SET DESCRIPTION = '".addslashes($objet)."', DOC_DATE = '".$courrier_date."',
TYPE_ID = '".addslashes($type)."', CUSTOM_T2 = '".$nature_doc."', CUSTOM_T3 = '".addslashes($civ)."', CUSTOM_T4 = '".addslashes($prenom)."'
, AUTHOR = '".addslashes($nom)."', CUSTOM_D1 = '".$arrivee_date."', CUSTOM_D2 = '".$date_limite."', DEST_USER = '".$_SESSION['diff'][0]['UserID']."',
DESTINATION = '".$service."', APPROVER = '".$_SESSION['user']['UserId']."', VALIDATION_DATE = now(), status = 'NEW', PRIORITY = ".$priority."
WHERE RES_ID = '".$id."'");
//$conn->show();
//exit();
$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();
$relance1 = $res->RELANCE1;
$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['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['diff'] = array();
?>
}
else // 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'].".
";
}
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();
$docinfo = $docserver->filename(trim($info->PATH_TEMPLATE));
$destination_rept = $docinfo['destination_rept'];
$file_destination_name = $docinfo['file_destination_name'];
if ($_SESSION['config']['system'] == "true")
{
$tmp_slh_system223 = '/';
}
else
{
$tmp_slh_system223 = '\\';
}
if(file_exists($destination_rept.$file_destination_name.".".$the_ext))
{
$_SESSION['error'] = _FILE_ALREADY_EXISTS.". "._MORE_INFOS." : ".$_SESSION['config']['adminname'].".";
header("location: enregistrement_doc.php");
exit;
}
if (!copy($_SESSION['config']['ftphomedir'].$tmp_slh_system223.'tmp_file_'.$_SESSION['user']['UserId'].'.'.$the_ext, $destination_rept.$file_destination_name.".".$the_ext))
//if(!move_uploaded_file($_FILES['file']['tmp_name'],$destination_rept.$file_destination_name.".".$the_ext))
{
$_SESSION['error'] .= _FILE_SEND_ERROR.". "._TRY_AGAIN.". "._MORE_INFOS." : ".$_SESSION['config']['adminname'].".
";
}
else
{
$conn->query("UPDATE ".$_SESSION['tablename']['docservers']." SET ACTUAL_SIZE=".$docserver_size." WHERE DOCSERVER_ID='".$docserver_id."'");
$destination_rept = substr($destination_rept,strlen($path_template),4);
if ($_SESSION['config']['system'] == "true")
{
$destination_rept = str_replace('/','#',$destination_rept);
}
else
{
$destination_rept = str_replace('\\','#',$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']['ftphomedir'].$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, DESTINATION, DEST_USER, SOURCE, IS_INGOING, IS_FOLDER, 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."','R".date('Y').$_SESSION['courrier']['gid_id']."' )");
update_gid($_SESSION['courrier']['gid_id']);
}
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['courrier']['gid_id']."' )");
update_gid($_SESSION['courrier']['gid_id']);
}
$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['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();
exit();
}
//}
}
}
}
}
}
?>