!!heada!!
!!contenu!!
";
$temp = str_replace('!!id!!', $expl->expl_id, $temp);
if ($expl->expl_bulletin) {
if (SESSrights & CATALOGAGE_AUTH) $heada = "".$msg[376]." ".$expl->expl_cb." / ".$expl->aff_reduit ;
else $heada = "".$msg[376]." ".$expl->expl_cb." / ".$expl->aff_reduit ;
} else {
if (SESSrights & CATALOGAGE_AUTH) $heada = "".$msg[376]." ".$expl->expl_cb." / ".$expl->aff_reduit ;
else $heada = "".$msg[376]." ".$expl->expl_cb." / ".$expl->aff_reduit ;
}
$temp = str_replace('!!heada!!', $expl->lien_suppr_cart.$heada, $temp);
break;
case '1':
$selector_prop = "toolbar=no, dependent=yes, resizable=yes, scrollbars=yes";
$cart_click_expl = "onClick=\"openPopUp('./cart.php?object_type=EXPL&item=".$expl->expl_id."', 'cart', 600, 700, -2, -2, '$selector_prop')\"";
$cart_click_expl = " " ;
if ($expl->expl_notice) {
$cart_click_isbd = "onClick=\"openPopUp('./cart.php?object_type=NOTI&item=$expl->expl_notice', 'cart', 600, 700, -2, -2, '$selector_prop')\"";
} elseif ($expl->expl_bulletin) {
$cart_click_isbd = "onClick=\"openPopUp('./cart.php?object_type=BULL&item=".$expl->expl_bulletin."', 'cart', 600, 700, -2, -2, '$selector_prop')\"";
}
$cart_click_isbd = " " ;
if (SESSrights & CATALOGAGE_AUTH) {
if ($expl->expl_bulletin) $temp= "".$expl->isbd."
";
else $temp= "".$expl->isbd."
";
} else $temp= "
$cart_click_expl ${msg[376]} ".$expl->expl_cb." : $cart_click_isbd ".$expl->aff_reduit." ".$expl->isbd."
";
break;
}
// isbd complet
$__isbd.= "";
$__isbd.= $expl->aff_reduit ;
$__isbd.= "
";
// informations de localisation
$__local.= "";
if($pmb_sur_location_activate){
$__local.= $msg["sur_location_expl"].": ".$expl->sur_loc_libelle." ";
}
$__local.= "$msg[298]: ".$expl->location_libelle."
$msg[295]: ".$expl->section_libelle."
$msg[296]: ".$expl->expl_cote." ";
$__local.= "$msg[297]: ".$expl->statut_libelle;
// tester si réservé
$sql="SELECT resa_cb from resa_ranger where resa_cb='".addslashes($expl->expl_cb)."'";
$execute_query=mysql_query($sql);
if(mysql_num_rows($execute_query))$situation = $msg['resa_menu_a_ranger']; // exemplaire à ranger
elseif($expl->expl_retloc)$situation = $msg['resa_menu_a_traiter']; // exemplaire à traiter
elseif(verif_cb_utilise($expl->expl_cb)) $situation = $msg['expl_reserve']; // exemplaire réservé
elseif ($expl->pret_flag && !$expl->pret_idempr) $situation = "${msg[359]}"; // exemplaire disponible
else $situation = "";
$__local.= " ".$situation." ";
$__local.=$msg[299].": ".$expl->codestat_libelle." ";
$__local.= "
";
if ($affichage_emprunteurs) {
// zone de l'emprunteur
if($expl->pret_idempr) {
$__empr.= " ";
}
// zone du dernier emrunteur
if($pmb_expl_show_lastempr && $expl->expl_lastempr) {
$__empr.= " ";
}
}
if ($affichage_zone_notes) {
// zone du message exemplaire
$__note = "";
$__note.= "
${msg[377]} ";
if ($expl->expl_note) $__note.= "
".$expl->expl_note."
";
if ($expl->expl_comment) {
$__note.= "
${msg[expl_zone_comment]} ";
$__note.= "";
}
$__note.= "
expl_cb)."&id=".$expl->expl_id."'\" />";
$__note.= "
";
}
// zone des réservations
$__resa = check_resa_liste($expl);
if ($__resa) {
$__resa = "".$msg["reserv_en_cours_doc"]." ".$__resa;
$__resa.= "
";
}
// zone des réservations prévisionnelles
if ($pmb_location_resa_planning) {
$__resa_planning = check_resa_planning_liste($expl);
if ($__resa_planning) {
$__resa_planning = "".$msg["previsions_en_cours_doc"]." ".$__resa_planning;
$__resa_planning.= "
";
}
} else {
$__resa_planning = "";
}
switch($mode_affichage) {
case '0':
$temp = str_replace('!!contenu!!', $__isbd.$__local.$__empr.$__note.$__resa.$__resa_planning, $temp);
break;
case '1':
$temp = str_replace('!!contenu!!', "", $temp);
$temp .= $__local.$__empr.$__note.$__resa.$__resa_planning ;
break;
case '2':
$temp = str_replace('!!contenu!!', "", $temp);
break;
}
return $temp;
}
// récupération des infos exemplaires
function get_expl_info($id, $lien_notice=1) {
global $dbh;
global $cart_link_non;
global $pmb_sur_location_activate;
$query = " select * from exemplaires expl, docs_location location";
$query .= ", docs_section section, docs_statut statut, docs_type dtype, docs_codestat codestat";
$query .= " where expl.expl_id='$id'";
$query .= " and location.idlocation=expl.expl_location";
$query .= " and section.idsection=expl.expl_section";
$query .= " and statut.idstatut=expl.expl_statut";
$query .= " and dtype.idtyp_doc=expl.expl_typdoc";
$query .= " and codestat.idcode=expl.expl_codestat";
$result = mysql_query($query, $dbh);
if(mysql_num_rows($result)) {
$expl = mysql_fetch_object($result);
if($expl->expl_notice) {
if ((SESSrights & CATALOGAGE_AUTH) && $lien_notice) $notice = new mono_display($expl->expl_notice, 1, "./catalog.php?categ=isbd&id=".$expl->expl_notice, 0);
else $notice = new mono_display($expl->expl_notice, 1, "", 0);
$expl->isbd = $notice->isbd;
$expl->code = $notice->notice->code ;
$expl->aff_reduit = $notice->header;
$expl->titre=$notice->tit1;
} elseif ($expl->expl_bulletin) {
$bl = new bulletinage_display($expl->expl_bulletin);
$expl->isbd = $bl->display;
if ($cart_link_non) $expl->aff_reduit = $bl->header;
else $expl->aff_reduit = "".$bl->header." ";
}
if ($expl->expl_lastempr) {
$lastempr = new emprunteur($expl->expl_lastempr, '', FALSE, 0) ;
$expl->lastempr_nom = $lastempr->nom;
$expl->lastempr_prenom = $lastempr->prenom;
$expl->lastempr_cb = $lastempr->cb;
}
if($pmb_sur_location_activate){
$sur_loc= sur_location::get_info_surloc_from_location($expl->expl_location);
$expl->sur_loc_libelle=$sur_loc->libelle;
$expl->sur_loc_id=$sur_loc->id;
}
return $expl;
} else {
return FALSE;
}
}
// récupére les réservations associées à la notice
// de l'exemplaire concerné
function check_resa_liste($expl) {
global $dbh;
global $msg ;
if(!$expl || !is_object($expl))
return '';
$requete = "select empr_nom, empr_prenom, empr_cb, resa_date, resa_date_debut, resa_date_fin, IF(resa_date_fin>sysdate(),0,1) as perimee, date_format(resa_date, '".$msg["format_date"]."') as aff_resa_date from empr, resa";
if($expl->expl_notice) $requete .= " where resa.resa_idnotice=".$expl->expl_notice;
elseif($expl->expl_bulletin) $requete .= " where resa.resa_idbulletin=".$expl->expl_bulletin;
$requete .= " and empr.id_empr=resa.resa_idempr";
$requete .= " and (resa.resa_cb = '".$expl->expl_cb."' or resa.resa_cb='')";
$requete .= " order by resa.resa_date";
$query = @mysql_query($requete, $dbh);
if(mysql_num_rows($query)) {
while($resa = mysql_fetch_object($query)) {
$link = "empr_cb)."\">";
$resa_list .= $link.$resa->empr_prenom.' '.$resa->empr_nom;
$resa_list .= " (".$resa->empr_cb.') ';
$resa_list .= ' '.$resa->aff_resa_date.' ';
if ($resa->resa_date_debut == "0000-00-00") {
$resa_list .= " >> ".$msg['resa_attente_validation']." " ;
} else {
$resa_list .= " >> ".$msg['resa_date_debut'].": ".formatdate($resa->resa_date_debut)." ".$msg['resa_date_fin'].": ".formatdate($resa->resa_date_fin)." " ;
}
$resa_list .= " ";
}
}
return $resa_list;
}
// teste les réservations sur l'exemplaire et le cas échéant,
// retourne les infos de réservation dans l'objet spécifié
function check_resa($expl) {
global $dbh;
global $msg;
if(!is_object($expl))
die("serious application error occured in ./circ/retour.inc [check_resa()]. Please contact developpment team");
if (!$expl->expl_notice) $expl->expl_notice=0;
if (!$expl->expl_bulletin) $expl->expl_bulletin=0 ;
$rqt = "select *, IF(resa_date_fin>sysdate(),0,1) as perimee, date_format(resa_date_fin, '".$msg["format_date"]."') as aff_resa_date_fin, date_format(resa_date, '".$msg["format_date"]."') as aff_resa_date from resa where resa_idnotice='".$expl->expl_notice."' and resa_idbulletin='".$expl->expl_bulletin."' order by resa_date limit 1 ";
$result = mysql_query($rqt, $dbh) or die (mysql_error()) ;
if(mysql_num_rows($result)) {
// des réservations ont été trouvées ->
// récupération des infos résa
$resa = mysql_fetch_object($result);
$expl->id_resa = $resa->id_resa;
$expl->resa_idempr = $resa->resa_idempr;
$expl->resa_idnotice = $resa->resa_idnotice;
$expl->resa_idbulletin = $resa->resa_idbulletin;
$expl->resa_date = $resa->resa_date;
$expl->resa_date_fin = $resa->resa_date_fin;
$expl->aff_resa_date = $resa->aff_resa_date;
$expl->aff_resa_date_fin = $resa->aff_resa_date_fin;
$expl->resa_cb = $resa->resa_cb;
// récupération des infos sur le réservataire
$query = "select empr_nom, empr_prenom, empr_cb, id_empr from empr where id_empr=".$resa->resa_idempr." limit 1";
$result = mysql_query($query, $dbh);
if(mysql_num_rows($result)) {
// stockage des infos sur le réservataire
$empr = mysql_fetch_object($result);
$expl->cb_reservataire = $empr->empr_cb;
$expl->nom_reservataire = $empr->empr_nom;
$expl->prenom_reservataire = $empr->empr_prenom;
$expl->id_reservataire = $empr->id_empr;
}
}
return $expl;
}
// récupére les réservations plannifiées associées à la notice
// de l'exemplaire concerné
function check_resa_planning_liste($expl) {
global $dbh;
global $msg ;
if(!$expl || !is_object($expl) || !$expl->expl_notice)
return '';
$requete = "select empr_nom, empr_prenom, empr_cb, resa_date, resa_date_debut, resa_date_fin, IF(resa_date_fin>sysdate(),0,1) as perimee, date_format(resa_date, '".$msg["format_date"]."') as aff_resa_date from empr, resa_planning";
$requete .= " where resa_planning.resa_idnotice=".$expl->expl_notice;
$requete .= " and empr.id_empr=resa_planning.resa_idempr";
$requete .= " order by resa_planning.resa_date";
$query = @mysql_query($requete, $dbh);
if(mysql_num_rows($query)) {
while($resa_planning = mysql_fetch_object($query)) {
$link = "empr_cb)."\">";
$resa__planning_list .= $link.$resa_planning->empr_prenom.' '.$resa_planning->empr_nom;
$resa__planning_list .= " (".$resa_planning->empr_cb.') ';
$resa__planning_list .= ' '.$resa_planning->aff_resa_date.' ';
$resa__planning_list .= " >> ".$msg['resa_planning_date_debut']." ".formatdate($resa_planning->resa_date_debut)." ".$msg['resa_planning_date_fin']." ".formatdate($resa_planning->resa_date_fin)." " ;
if (!$resa_planning->perimee) {
if ($resa_planning->resa_validee) $resa__planning_list .= " ".$msg['resa_validee'] ;
else $resa__planning_list .= " ".$msg['resa_attente_validation']." " ;
} else $resa__planning_list .= " ".$msg['resa_overtime']." " ;
$resa__planning_list .= " ";
}
}
return $resa__planning_list;
}
// teste les réservations plannifiées sur l'exemplaire et le cas échéant,
// retourne les infos de réservation dans l'objet spécifié
function check_resa_planning($expl) {
global $dbh;
global $msg;
if(!is_object($expl))
die("serious application error occured in ./circ/retour.inc [check_resa_planning()]. Please contact developpment team");
if (!$expl->expl_notice) $expl->expl_notice=0;
$rqt = "select *, IF(resa_date_fin>sysdate(),0,1) as perimee, date_format(resa_date_fin, '".$msg["format_date"]."') as aff_resa_date_fin, date_format(resa_date, '".$msg["format_date"]."') as aff_resa_date from resa_planning where resa_idnotice='".$expl->expl_notice."' order by resa_date limit 1 ";
$result = mysql_query($rqt, $dbh) or die (mysql_error()) ;
if(mysql_num_rows($result)) {
// des réservations prévisionnelles ont été trouvées ->
// récupération des infos résa
$resa_planning = mysql_fetch_object($result);
$expl->id_resa = $resa_planning->id_resa;
$expl->resa_idempr = $resa_planning->resa_idempr;
$expl->resa_idnotice = $resa_planning->resa_idnotice;
$expl->resa_date = $resa_planning->resa_date;
$expl->resa_date_fin = $resa_planning->resa_date_fin;
$expl->aff_resa_date = $resa_planning->aff_resa_date;
$expl->aff_resa_date_fin = $resa_planning->aff_resa_date_fin;
$expl->resa_cb = $resa_planning->resa_cb;
// récupération des infos sur le réservataire
$query = "select empr_nom, empr_prenom, empr_cb, id_empr from empr where id_empr=".$resa_planning->resa_idempr." limit 1";
$result = mysql_query($query, $dbh);
if(mysql_num_rows($result)) {
// stockage des infos sur le réservataire
$empr = mysql_fetch_object($result);
$expl->cb_reservataire = $empr->empr_cb;
$expl->nom_reservataire = $empr->empr_nom;
$expl->prenom_reservataire = $empr->empr_prenom;
$expl->id_reservataire = $empr->id_empr;
}
}
return $expl;
}
// teste la situation de l'exemplaire et le cas échéant,
// retourne les infos de pret dans l'objet spécifié
function check_pret($expl) {
global $dbh;
global $msg;
if(!is_object($expl))
die("serious application error occured in ./circ/retour.inc [check_pret()]. Please contact developpment team");
// récupération des infos du prêt
$query = "select *, date_format(pret_date, '".$msg["format_date"]."') as aff_pret_date, date_format(pret_retour, '".$msg["format_date"]."') as aff_pret_retour, IF(pret_retour>sysdate(),0,1) as retard from pret where pret_idexpl=".$expl->expl_id." limit 1";
$result = mysql_query($query, $dbh);
if(mysql_num_rows($result)) {
$pret = mysql_fetch_object($result);
// le document était bien en prêt ->
// récupération des infos du prêt
$expl->pret_idempr = $pret->pret_idempr;
$expl->pret_idexpl = $pret->pret_idexpl;
$expl->pret_date = $pret->pret_date;
$expl->pret_retour = $pret->pret_retour;
$expl->aff_pret_date = $pret->aff_pret_date;
$expl->aff_pret_retour = $pret->aff_pret_retour;
$expl->pret_arc_id = $pret->pret_arc_id;
$expl->niveau_relance = $pret->niveau_relance;
$expl->date_relance = $pret->date_relance;
$expl->printed = $pret->printed;
$expl->cpt_prolongation = $pret->cpt_prolongation;
$expl->short_loan_flag = $pret->short_loan_flag;
// récupération des infos emprunteur
$query = "select * from empr where id_empr=".$pret->pret_idempr." limit 1";
$result = mysql_query($query, $dbh);
if(mysql_num_rows($result)) {
// stockage des infos sur l'emprunteur
$empr = mysql_fetch_object($result);
$expl->empr_cb = $empr->empr_cb;
$expl->id_empr = $empr->id_empr;
$expl->empr_nom = $empr->empr_nom;
$expl->empr_prenom = $empr->empr_prenom;
$expl->id_empr = $empr->id_empr;
$expl->empr_cp = $empr->empr_cp;
$expl->empr_ville = $empr->empr_ville;
$expl->empr_pays = $empr->empr_pays;
$expl->empr_prof = $empr->empr_prof;
$expl->empr_year = $empr->empr_year;
$expl->empr_categ = $empr->empr_categ;
$expl->empr_codestat = $empr->empr_codestat;
$expl->empr_sexe = $empr->empr_sexe;
$expl->empr_statut = $empr->empr_statut;
$expl->empr_location = $empr->empr_location;
$expl->type_abt = $empr->type_abt;
$expl->empr_msg = $empr->empr_msg;
$query_groupe = "select libelle_groupe from groupe, empr_groupe where empr_id='".$pret->pret_idempr."' and groupe_id=id_groupe";
$result_g = mysql_query($query_groupe, $dbh);
while ($groupes=mysql_fetch_object($result_g)) $groupesarray[]=$groupes->libelle_groupe ;
$expl->groupes = @implode("/",$groupesarray);
}
}
return $expl;
}
// permet de savoir si un CB expl est déjà en prêt
function verif_cb_utilise_en_pret ($cb) {
global $dbh ;
$rqt = "select count(1) from pret, exemplaires where expl_cb='".$cb."' and pret_idexpl=expl_id";
$res = mysql_query ($rqt, $dbh) ;
return mysql_result($res, 0, 0) ;
}
// permet de savoir si un CB expl existe simplement
function verif_cb_expl ($cb) {
global $dbh ;
$rqt = "select count(1) from exemplaires where expl_cb='".$cb."' ";
$res = mysql_query ($rqt, $dbh) ;
return mysql_result($res, 0, 0) ;
}