* @author Loic Vinet
*/
require("class_functions.php");
require_once("class_db.php");
require_once("class_letterbox.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...
";
}
$lb = new letterbox();
if($_SESSION['current_basket']['is_global'] == "Y")
{
//Verifier que l'un des documents n'est pas déjà reservé
$courr = new LetterBox();
$locktime = $_SESSION['current_basket']['locktime'];
$reserved = false;
for($i=0;$i < count($_SESSION['chosen_doc']);$i++)
{
$by_user_id = $courr->test_reserved_time($_SESSION['chosen_doc'][$i],"res_x");
if( $by_user_id != null && $by_user_id != $_SESSION['user']['UserId'] )
$reserved = true;
}
//Reservé
if($reserved)
{
?>
is_locked($_SESSION['chosen_doc'][$i],"res_x",$locktime);
}
}
}
if(isset($_REQUEST['cancel']))
{
if($_SESSION['current_basket']['is_global'] == "Y")
{
//Libère les documents
for($i=0;$i < count($_SESSION['chosen_doc']);$i++)
{
$courr->release($_SESSION['chosen_doc'][$i],"res_x");
}
$_SESSION['chosen_doc'] = array();
?>
connect();
$connexion = new dbquery();
$connexion->connect();
$func = new functions();
$services = array();
$users = array();
$_SESSION["diffusion"] =
new diffusion($db,$_SESSION['user']['UserId'],$_SESSION['user']['delete_copy_rights'],$_SESSION['config']['modifycopylist'],
$_SESSION['config']['redirect_list'],$_SESSION['config']['tag100_for_copy']);
$_SESSION["diffusion"]->load_from_db("res_x",$_SESSION['chosen_doc'][0]);
$_SESSION["diffusion"]->reset();
if(!empty($_SESSION['current_basket']['redirect_services']) && $_SESSION['current_basket']['can_redirect'] == 'Y')
{
$db->query("select * from ".$_SESSION['tablename']['services']." where ID in (".$_SESSION['current_basket']['redirect_services'].") and ENABLED = 'Y'");
while($res = $db->fetch_object())
{
array_push($services, array( 'ID' => $res->ID, 'LABEL' => $res->SERVICE));
}
function cmp($a, $b)
{
return strcmp($a["LABEL"], $b["LABEL"]);
}
usort($services, "cmp");
}
if(!empty($_SESSION['current_basket']['redirect_users']) && $_SESSION['current_basket']['can_redirect'] == 'Y')
{
$db2 = new dbquery();
$db2->connect();
$sql_users = "select DISTINCT uc.USER_ID, u.LASTNAME from ".$_SESSION['tablename']['usergroup_content']." uc, ".$_SESSION['tablename']['users']." u where GROUP_ID in (".$_SESSION['current_basket']['redirect_users'].") and u.USER_ID = uc.USER_ID and u.ENABLED = 'Y'";
$order_by = "order by u.LASTNAME asc";
if($_SESSION['config']['show_only_elu_in_mailing_list'] == 'true')
$sql_users .= "AND u.ELU = 'Y' ";
$db->query($sql_users." ".$order_by);
while($res = $db->fetch_object())
{
$db2->query("select LASTNAME, FIRSTNAME from ".$_SESSION['tablename']['users']." where USER_ID = '".$res->USER_ID."' and USER_ID <> ''");
$res2 = $db2->fetch_object();
array_push($users, array( 'ID' => $res->USER_ID, 'NOM' => $res2->LASTNAME, "PRENOM" => $res2->FIRSTNAME, "SERVICE" => $res->DEPARTMENT));
}
}
if(isset($_REQUEST['valid1']))
{
for($i=0;$i < count($_SESSION['chosen_doc']);$i++)
{
$_SESSION["diffusion"]->load_from_db("res_x",$_SESSION['chosen_doc'][$i]);
$_SESSION["diffusion"]->redirect_to_user("courrier");
$_SESSION["diffusion"]->store();
if($_SESSION['history']['redirection'] == 'true')
{
require_once("class_history.php");
$hist = new history();
$hist->add($_SESSION['current_basket']['table'], $_SESSION['chosen_doc'][$i],"RED", "Redirection vers le service courrier");
}
$lb->release($_SESSION['chosen_doc'][$i],"res_x");
}
$_SESSION['chosen_doc'] = array();
unset($_SESSION["diffusion"]);
if($_REQUEST['process'] <> "true" || !isset($_REQUEST['process']))
{
?>
load_from_db("res_x",$_SESSION['chosen_doc'][$i]);
$_SESSION["diffusion"]->redirect_to_service($_REQUEST['service']);
$_SESSION["diffusion"]->store();
$connexion->query("update ".$_SESSION['ressources'][0]['tablename']." set destination = '".$_REQUEST['service']."' where is_folder = 'N' and folder_id = '".$_SESSION['chosen_doc'][$i]."'");
//$connexion->query("DELETE from ".$_SESSION['tablename']['listinstance']." where RES_ID = ".$_SESSION['chosen_doc'][$i]);
if($_SESSION['config']['enablechangenotif'] == "true")
{
//Load mail for the new dest_user
$connexion->query("select MAIL, NOTIFICATION from ".$_SESSION['tablename']['users']." where USER_ID = '".$_SESSION['diff'][0]['UserID']."'");
$res = $connexion->fetch_object();
$mail = $res->MAIL;
$notif_exec = $res->NOTIFICATION;
if($notif_exec & 1)
{
//Load ressource information
$connexion->query("select TYPE_ID, DESCRIPTION, date(CREATION_DATE) as CREATION_DATE, date(CUSTOM_D2) as D2 from ".$_SESSION['ressources'][0]['tablename']." where RES_ID = '".$_SESSION['chosen_doc'][$i]."'");
$res = $connexion->fetch_object();
$b_type_id = $res->TYPE_ID;
$b_description = $res->DESCRIPTION;
$b_creation_date = $res->CREATION_DATE;
$b_date_limite = $res->D2;
$mail_trait = "
"._MAIL_TO_PROCESS."
"._HELLO.",
"._NEED_PROCESS_LETTER." :
- "._LETTER_N." ".$_SESSION['chosen_doc'][$i]." "._TO_TYPE." ".htmlentities($b_type_id)." ("._OBJECT." : ".htmlentities($b_description).") "._RECEIVE_THE." ".$b_creation_date." "._RECEIVE_FROM." ".$_SESSION['user']['FirstName']." ".$_SESSION['user']['LastName']." (".$_SESSION['user']['UserId'].") "._LIMIT_PROCESS." ".$b_date_limite." :
"._ACCESS_MAIL_TO_PROCESS."
";
mail($mail, _NEW_CASE_MAIL_OBJECT, $mail_trait , "From: ".$_SESSION['config']['adminmail']."\nReply-To: ".$_SESSION['config']['adminmail']." \nContent-Type: text/html; charset=\"iso-8859-1\"\n");
}
}
$connexion->query("UPDATE ".$_SESSION['ressources'][0]['tablename']." SET FLAG_NOTIF = 'N' WHERE RES_ID = '".$_SESSION['chosen_doc'][$i]."' ");
if($_SESSION['history']['redirection'] == 'true')
{
require_once("class_history.php");
$hist = new history();
$hist->add($_SESSION['current_basket']['table'], $_SESSION['chosen_doc'][$i],"RED",_LETTER_N.$_SESSION['chosen_doc'][$i].' '._REDIRECTED_TO." ".$_REQUEST['service']." "._WITH_DIFFUSION_LIST);
}
}
$lb->release($_SESSION['chosen_doc'][$i],"res_x");
}
$_SESSION['chosen_doc'] = array();
if($_REQUEST['process'] <> "true" || !isset($_REQUEST['process']))
{
?>
";
}
}
if(isset($_REQUEST['valid3']) )
{
if(isset($_REQUEST['user']) && !empty($_REQUEST['user']))
{
for($i=0;$i < count($_SESSION['chosen_doc']);$i++)
{
if( isset($_REQUEST['mail_actions']) && !empty($_REQUEST['mail_actions']) )
$mail_actions = $_REQUEST['mail_actions'];
else
$mail_actions = null;
$_SESSION["diffusion"]->load_from_db("res_x",$_SESSION['chosen_doc'][$i]);
$_SESSION["diffusion"]->redirect_to_user($_REQUEST['user'],$mail_actions);
$_SESSION["diffusion"]->store();
if($_SESSION['config']['enablechangenotif'] == "true")
{
//Load mail for the new dest_user
$connexion->query("select MAIL, NOTIFICATION from ".$_SESSION['tablename']['users']." where USER_ID = '".$_REQUEST['user']."'");
$res = $connexion->fetch_object();
$mail = $res->MAIL;
$notif_exec = $res->NOTIFICATION;
if($notif_exec & 1)
{
//Load ressource information
$connexion->query("select TYPE_ID, DESCRIPTION, date(CREATION_DATE) as CREATION_DATE, date(CUSTOM_D2) as D2 from ".$_SESSION['ressources'][0]['tablename']." where RES_ID = '".$_SESSION['chosen_doc'][$i]."'");
$res = $connexion->fetch_object();
$b_type_id = $res->TYPE_ID;
$b_description = $res->DESCRIPTION;
$b_creation_date = $res->CREATION_DATE;
$b_date_limite = $res->D2;
$mail_trait = "
"._MAIL_TO_PROCESS."
"._HELLO.",
"._NEED_PROCESS_LETTER." :
- "._LETTER_N." ".$_SESSION['chosen_doc'][$i]." "._TO_TYPE." ".htmlentities($b_type_id)." ("._OBJECT." : ".htmlentities($b_description).") "._RECEIVE_THE." ".$b_creation_date." "._RECEIVE_FROM." ".$_SESSION['user']['FirstName']." ".$_SESSION['user']['LastName']." (".$_SESSION['user']['UserId'].") "._LIMIT_PROCESS." ".$b_date_limite." :
"._ACCESS_MAIL_TO_PROCESS."
";
mail($mail, _NEW_CASE_MAIL_OBJECT, $mail_trait , "From: ".$_SESSION['config']['adminmail']."\nReply-To: ".$_SESSION['config']['adminmail']." \nContent-Type: text/html; charset=\"iso-8859-1\"\n");
}
}
if($_SESSION['history']['redirection'] == 'true')
{
require_once("class_history.php");
$hist = new history();
$hist->add($_SESSION['current_basket']['table'], $_SESSION['chosen_doc'][$i],"RED",_LETTER_N.$_SESSION['chosen_doc'][$i].' '._REDIRECTED_TO." ".$_REQUEST['user']);
}
$lb->release($_SESSION['chosen_doc'][$i],"res_x");
}
$_SESSION['chosen_doc'] = array();
if($_REQUEST['process'] <> "true" || !isset($_REQUEST['process']))
{
?>
";
}
}
?>
0)
{
$_SESSION['reload'] = true;
echo " onLoad=\"window.opener.location.href = break_cache(break_get(window.opener.location.href));
setTimeout(function(){window.parent.top.close();},".($_SESSION['current_basket']['locktime'] * 60 * 1000).");\"";
}
?>>
.