* @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();
$lists = 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( $_SESSION['config']['free_diffusion_list'] == "true" && $_SESSION['current_basket']['can_redirect'] == 'Y')
{
$db->query("select * from ".$_SESSION['tablename']['listmodel_assoc']." where ASSOC_SERVICE IS NULL");
while($res = $db->fetch_object())
{
array_push($lists, array( 'ID' => $res->ID, 'NAME' => $res->NAME));
}
}
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();
$lb->release($_SESSION['chosen_doc'][$i],"res_x");
}
$_SESSION['chosen_doc'] = array();
unset($_SESSION["diffusion"]);
if($_REQUEST['process'] <> "true" || !isset($_REQUEST['process']))
{
?>
'-1')
{
for($i=0;$iload_from_db("res_x",$_SESSION['chosen_doc'][$i]);
$_SESSION["old_diffusion"] = $_SESSION["diffusion"]; // Copie de la liste de diffusion existante
if (isset($_SESSION["copy_diffusion"]))
{
$_SESSION["copy_diffusion"]->store();
$_SESSION["diffusion"]->redirect_to_service($_REQUEST['service'],$mail_action);
}
else
{
$_SESSION["diffusion"]->redirect_to_service($_REQUEST['service'],$mail_action);
$_SESSION["diffusion"]->store();
}
}
$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_action_user']) && !empty($_REQUEST['mail_action_user']) )
$mail_action = $_REQUEST['mail_action_user'];
else
$mail_action = null;
$_SESSION["diffusion"]->load_from_db("res_x",$_SESSION['chosen_doc'][$i]);
$_SESSION["diffusion"]->redirect_to_user($_REQUEST['user'],$mail_action);
$_SESSION["diffusion"]->store();
$lb->release($_SESSION['chosen_doc'][$i],"res_x");
//***************************//
}
$_SESSION['chosen_doc'] = array();
if($_REQUEST['process'] <> "true" || !isset($_REQUEST['process']))
{
?>
";
}
}
if(isset($_REQUEST['valid2']) )
{
if(isset($_REQUEST['service']) && !empty($_REQUEST['service']) && $_REQUEST['service']<> '-1')
{
for($i=0;$iload_from_db("res_x",$_SESSION['chosen_doc'][$i]);
$_SESSION["old_diffusion"] = $_SESSION["diffusion"]; // Copie de la liste de diffusion existante
if (isset($_SESSION["copy_diffusion"]))
$_SESSION["copy_diffusion"]->store();
$_SESSION["diffusion"]->redirect_to_service($_REQUEST['service'],$mail_action);
}
$lb->release($_SESSION['chosen_doc'][$i],"res_x");
}
$_SESSION['chosen_doc'] = array();
if($_REQUEST['process'] <> "true" || !isset($_REQUEST['process']))
{
?>
";
}
}
if(isset($_REQUEST['valid4']) )
{
if(isset($_REQUEST['free_list']) && !empty($_REQUEST['free_list']))
{
for($i=0;$i < count($_SESSION['chosen_doc']);$i++)
{
if( isset($_REQUEST['mail_action_user']) && !empty($_REQUEST['mail_action_user']) )
$mail_action = $_REQUEST['mail_action_user'];
else
$mail_action = null;
$_SESSION["diffusion"]->load_from_db("res_x",$_SESSION['chosen_doc'][$i]);
$_SESSION["diffusion"]->redirect_to_free_list($_REQUEST['free_list'],$mail_action);
$_SESSION["diffusion"]->store();
$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).");\"";
}
?>>
.