!!heada!!
"; $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 = "basket" ; 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 = "basket" ; if (SESSrights & CATALOGAGE_AUTH) { if ($expl->expl_bulletin) $temp= "

$cart_click_expl ${msg[376]} ".$expl->expl_cb." : $cart_click_isbd ".$expl->aff_reduit."

".$expl->isbd."
"; else $temp= "

$cart_click_expl ${msg[376]} ".$expl->expl_cb." : $cart_click_isbd ".$expl->aff_reduit."

".$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.= "
$msg[380]
"; $link = ""; $__empr.= $link.$expl->empr_prenom." ".$expl->empr_nom." (".$expl->empr_cb.")"; $__empr.= " ${msg[381]} ".$expl->aff_pret_date; $__empr.= ". ${msg[358]} ".$expl->aff_pret_retour."."; $__empr.= "
"; } // zone du dernier emrunteur if($pmb_expl_show_lastempr && $expl->expl_lastempr) { $__empr.= "
$msg[expl_lastempr]
"; $link = ""; $__empr.= $link.$expl->lastempr_prenom.' '.$expl->lastempr_nom.' ('.$expl->lastempr_cb.')'; $__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.= "
".$expl->expl_comment."
"; } $__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) ; }