";
$contenu .= $this->getChilds($fille->id_note);
if(strlen($fille->titre)<50){
$fille->titre = str_replace('...','',$fille->titre);
}
$display .= "".gen_plus("note_".$fille->id_note,"[".formatdate($fille->date_note)."] ".$fille->titre.($createur ? " ".sprintf($msg['demandes_action_by'],$createur."") : ""), $contenu)."";
}
}
return $display;
}
/*
* Alerte par mail
*/
public function send_alert_by_mail($idsender){
global $msg, $PMBusernom, $PMBuserprenom, $PMBuseremail,$opac_url_base,$pmb_url_base,$demandes_email_generic;
$contenu = sprintf($msg['demandes_note_mail_new'],$PMBuserprenom." ".$PMBusernom." ",$this->libelle_action,$this->libelle_demande).' ';
$contenu.=$this->contenu.' ';
$lien_opac=''.$msg['demandes_see_last_note'].'';
$lien_gestion=''.$msg['demandes_see_last_note'].'';
$objet = $msg['demandes_note_mail_new_object'];
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1";
//Envoi du mail aux autres documentalistes concernés par la demande
$req = "SELECT user_email, prenom,nom FROM users
JOIN demandes_users ON num_user=userid
WHERE num_demande='".$this->num_demande."' AND num_user !='".$idsender."'";
$res = pmb_mysql_query($req);
while(($user = pmb_mysql_fetch_object($res))){
if($user->user_email){
if($user->prenom){
$user->nom=$user->prenom.' '.$user->nom;
}
$envoi_OK = mailpmb($user->nom,$user->user_email,$objet,$contenu.$lien_gestion,$PMBuserprenom." ".$PMBusernom,$PMBuseremail,$headers,"" );
}
}
//Envoi du mail au demandeur
$req= "SELECT empr_prenom,empr_nom, empr_mail FROM empr
JOIN demandes ON id_empr=num_demandeur
WHERE id_demande='".$this->num_demande."'";
$res = pmb_mysql_query($req);
$empr = pmb_mysql_fetch_object($res);
if($empr->empr_mail) {
if($empr->empr_prenom){
$empr->empr_nom=$empr->empr_prenom.' '.$empr->empr_nom;
}
$envoi_OK = mailpmb($empr->empr_nom,$empr->empr_mail,$objet,$contenu.$lien_opac,$PMBuserprenom." ".$PMBusernom,$PMBuseremail,$headers,"");
}
// Envoi au mail générique
if($demandes_email_generic){
$param=explode(",", $demandes_email_generic);
if(($param[0]==2 || $param[0]==3) && $param[1]){
$envoi_OK = mailpmb("",$param[1],$objet,$contenu.$lien_gestion,$PMBuserprenom." ".$PMBusernom,$PMBuseremail,$headers,"",$param[2]);
}
}
}
/*
* Retourne le nom de celui qui a créé l'action
*/
public function getCreateur($id_createur,$type_createur=0){
if(!$type_createur)
$rqt = "select concat(prenom,' ',nom) as nom, username from users where userid='".$id_createur."'";
else
$rqt = "select concat(empr_prenom,' ',empr_nom) as nom from empr where id_empr='".$id_createur."'";
$res = pmb_mysql_query($rqt);
if(pmb_mysql_num_rows($res)){
$createur = pmb_mysql_fetch_object($res);
return (trim($createur->nom) ? $createur->nom : $createur->username);
}
return "";
}
/*
* Met à jour les alertes sur l'action et la demande dont dépend la note
*/
public static function note_majParent($id_note,$id_action,$id_demande,$side="_gestion"){
$id_note = intval($id_note);
$id_action = intval($id_action);
$id_demande = intval($id_demande);
$ok = false;
if($id_note){
$select = "SELECT notes_read".$side." FROM demandes_notes WHERE id_note=".$id_note;
$result = pmb_mysql_query($select);
$read = pmb_mysql_result($result,0,0);
if($read == 1){
if(demandes_actions::action_read($id_action,false,$side) && demandes::demande_read($id_demande,false,$side)){
$ok = true;
}
} else {
// maj action : controle s'il existe des notes non lues pour l'action en cours
$query = "SELECT notes_read".$side." FROM demandes_notes WHERE num_action=".$id_action." AND id_note!=".$id_note." AND notes_read".$side."=1";
$result = pmb_mysql_query($query);
if(pmb_mysql_num_rows($result)){
$ok = demandes_actions::action_read($id_action,false,$side);
} else {
$ok = demandes_actions::action_read($id_action,true,$side);
}
// maj demande : controle s'il existe des actions non lues pour la demande en cours
if($ok){
$query = "SELECT actions_read".$side." FROM demandes_actions WHERE num_demande=".$id_demande." AND id_action!=".$id_action." AND actions_read".$side."=1";
$result = pmb_mysql_query($query);
if(pmb_mysql_num_rows($result)){
$ok = demandes::demande_read($id_demande,false,$side);
} else {
$ok = demandes::demande_read($id_demande,true,$side);
}
}
}
}
return $ok;
}
/*
* Met à jour les alertes sur l'action et la demande dont dépend la note
*/
public static function note_read($id_note,$booleen=true,$side="_gestion"){
$id_note += 0;
$value = "";
if($booleen){
$value = 0;
} else {
$value = 1;
}
$query = "UPDATE demandes_notes SET notes_read".$side."=".$value." WHERE id_note=".$id_note;
pmb_mysql_query($query);
}
/*
* fonction qui renvoie un booléen indiquant si une note a été lue ou pas
*/
public static function read($note,$side="_gestion"){
$read = false;
$query = "SELECT notes_read".$side." FROM demandes_notes WHERE id_note=".$note->id_note;
$result = pmb_mysql_query($query);
if($result){
$tmp = pmb_mysql_result($result,0,0);
if($tmp == 0){
$read = true;
}
}
return $read;
}
/*
* Change l'alerte de la note : si elle est lue, elle passe en non lue et inversement
*/
public static function change_read($note,$side="_gestion"){
$read = demandes_notes::read($note,$side);
$value = "";
if($read){
$value = 1;
} else {
$value = 0;
}
$query = "UPDATE demandes_notes SET notes_read".$side."=".$value." WHERE id_note=".$note->id_note;
if(pmb_mysql_query($query)){
return true;
} else {
return false;
}
}
}
?>