".$msg['resa_menu_alert'].$temp_aff."" ; function resa_a_traiter () { global $dbh ; global $msg; global $pmb_transferts_actif,$transferts_choix_lieu_opac,$deflt_docs_location, $pmb_location_reservation,$transferts_site_fixe,$pmb_lecteurs_localises; $sql="SELECT resa_idnotice, resa_idbulletin FROM resa, exemplaires, docs_statut WHERE (resa_cb is null OR resa_cb='') and resa_idnotice=expl_notice and resa_idbulletin=expl_bulletin and expl_statut=idstatut AND pret_flag=1 limit 1"; if($pmb_lecteurs_localises && $deflt_docs_location){ $sql="SELECT resa_idnotice, resa_idbulletin FROM resa, exemplaires, docs_statut WHERE (resa_cb is null OR resa_cb='') and resa_idnotice=expl_notice and resa_idbulletin=expl_bulletin and expl_location='".$deflt_docs_location."' and expl_statut=idstatut AND pret_flag=1 limit 1"; } // respecter les droits de réservation du lecteur if($pmb_location_reservation) $sql="SELECT resa_idnotice, resa_idbulletin FROM resa, empr, resa_loc, exemplaires , docs_statut WHERE resa_idnotice=expl_notice and resa_idbulletin=expl_bulletin and expl_location='".$deflt_docs_location."' and expl_statut=idstatut AND pret_flag=1 and resa_idempr = id_empr AND (resa_cb is null OR resa_cb='') and empr_location=resa_emprloc and resa_loc='$deflt_docs_location' limit 1"; if ($pmb_transferts_actif=="1") { switch ($transferts_choix_lieu_opac) { case "1": //retrait de la resa sur lieu choisi par le lecteur $sql="SELECT resa_idnotice, resa_idbulletin FROM resa, empr WHERE resa_idempr = id_empr AND (resa_cb is null OR resa_cb='') AND resa_loc_retrait='".$deflt_docs_location."' limit 1"; break; case "2": //retrait de la resa sur lieu fixé if ($deflt_docs_location==$transferts_site_fixe) $sql="SELECT resa_idnotice, resa_idbulletin FROM resa WHERE (resa_cb is null OR resa_cb='') limit 1"; else return ""; break; case "3": //retrait de la resa sur lieu exemplaire // respecter les droits de réservation du lecteur if($pmb_location_reservation) $sql = "select resa_idnotice, resa_idbulletin from resa, exemplaires,empr, resa_loc where resa_idempr = id_empr AND (resa_cb is null OR resa_cb='') and empr_location=resa_emprloc and resa_loc='$deflt_docs_location' and resa_idnotice=expl_notice and resa_idbulletin=expl_bulletin and expl_location=resa_loc limit 1"; else $sql = "select resa_idnotice, resa_idbulletin from resa, exemplaires,empr where resa_idempr = id_empr AND (resa_cb is null OR resa_cb='') and resa_idnotice=expl_notice and resa_idbulletin=expl_bulletin and expl_location='".$deflt_docs_location."' limit 1"; break; default: //retrait de la resa sur lieu lecteur $sql="SELECT resa_idnotice, resa_idbulletin FROM resa, empr WHERE resa_idempr = id_empr AND (resa_cb is null OR resa_cb='') AND empr_location='".$deflt_docs_location."' limit 1"; break; } } //print "$sql";exit; $req = mysql_query($sql,$dbh) or die ("Erreur SQL !
".$sql."
".mysql_error()); if(mysql_num_rows($req)) return "
  • ".$msg['resa_menu_a_traiter']."
  • "; else return ""; /* $sql.=" GROUP BY resa_idnotice, resa_idbulletin "; $sql.=" ORDER BY resa_idnotice, resa_idbulletin, resa_date " ; $req = mysql_query($sql) or die ("Erreur SQL !
    ".$sql."
    ".mysql_error()); $nb_resa_a_faire = 0; while ($data = mysql_fetch_array($req)) { $resa_idnotice = $data['resa_idnotice']; $resa_idbulletin = $data['resa_idbulletin']; $resa_nombre = $data['nb_resa']; // on compte le nombre total d'exemplaires prêtables pour la notice $query = "SELECT count(1) FROM exemplaires, docs_statut WHERE expl_statut=idstatut AND pret_flag=1 $sql_expl_loc "; if ($resa_idnotice) $query .= " AND expl_notice=".$resa_idnotice; elseif ($resa_idbulletin) $query .= " AND expl_bulletin=".$resa_idbulletin; $tresult = @mysql_query($query, $dbh); $total_ex = mysql_result($tresult, 0, 0); // on compte le nombre d'exemplaires sortis $query = "SELECT count(1) as qte FROM exemplaires , pret WHERE pret_idexpl=expl_id $sql_expl_loc "; if ($resa_idnotice) $query .= " and expl_notice=".$resa_idnotice; elseif ($resa_idbulletin) $query .= " and expl_bulletin=".$resa_idbulletin; $tresult = @mysql_query($query, $dbh); $total_sortis = mysql_result($tresult, 0, 0); // on compte le nombre d'exemplaires affectés aux résas if ($pmb_transferts_actif=="1"){ $query = "select count(1) from resa, exemplaires where resa_idnotice=".$resa_idnotice." and resa_idbulletin=".$resa_idbulletin." and resa_cb!='' and resa_cb=expl_cb and expl_location='".$deflt_docs_location."'"; }else { $query = "select count(1) from resa where resa_idnotice=".$resa_idnotice." and resa_idbulletin=".$resa_idbulletin." and resa_cb!='' "; } $tresult = @mysql_query($query, $dbh); $total_affectes = mysql_result($tresult, 0, 0); // on en déduit le nombre d'exemplaires disponibles $total_dispo = $total_ex - $total_sortis - $total_affectes ; // DEBUG echo "Not: $resa_idnotice Bull: $resa_idbulletin NbResa: $resa_nombre /dispo: $total_dispo = $total_ex - $total_sortis - $total_affectes
    " ; // on a au moins UNE résa et au moins UN dispo : if ($total_dispo && $resa_nombre) { // un exemplaire est disponible pour cette resa $nb_resa_a_faire ++; } } if ($nb_resa_a_faire) return "
  • ".$msg['resa_menu_a_traiter']."
  • " ; else return "" ; */ } function resa_a_ranger () { global $dbh ; global $msg,$deflt_docs_location; $sql="SELECT count(1) from resa_ranger,exemplaires where resa_cb=expl_cb and expl_location='$deflt_docs_location' limit 1 "; $res = mysql_query($sql, $dbh) ; if (mysql_result($res, 0, 0)) return "
  • ".$msg['resa_menu_a_ranger']."
  • " ; return "" ; } function resa_depassees_a_traiter () { global $dbh ; global $msg,$pmb_transferts_actif, $deflt_docs_location,$transferts_choix_lieu_opac; $sql="SELECT 1 FROM resa, empr WHERE resa_idempr = id_empr AND resa_date_fin < CURDATE() and resa_date_fin <> '0000-00-00' "; if ($pmb_transferts_actif=="1") { switch ($transferts_choix_lieu_opac) { case "1": //retrait de la resa sur lieu choisi par le lecteur $sql .= " AND resa_loc_retrait='".$deflt_docs_location."' "; break; case "2": //retrait de la resa sur lieu fixé break; case "3": //retrait de la resa sur lieu exemplaire break; default: //retrait de la resa sur lieu lecteur $sql .= " AND empr_location='".$deflt_docs_location."' "; break; } } // comptage des résas dépassées //$sql="SELECT 1 FROM resa where resa_date_fin < CURDATE() and resa_date_fin <> '0000-00-00' limit 1 "; $req = mysql_query($sql) or die ("Erreur SQL !
    ".$sql."
    ".mysql_error()); if (!mysql_num_rows($req)) { return "" ; } return "
  • ".$msg['resa_menu_a_depassees']."
  • " ; }