0) {
//il y a des transferts à afficher !
$tmpString = "";
$nb=0;
//calcul du nb de pages maximum
$pagesMax = ceil($nbRes/$nb_lignes);
//on recadre la page en cours
if ($page>$pagesMax) $page=$pagesMax;
//requete pour la boucle sur le résultat
$res_rqt = mysql_query($rqt_select.$rqt_base." LIMIT ".(($page-1)*$nb_lignes).",".$nb_lignes);
//echo $rqt_select.$rqt_base;
//le nombre de colonnes dans la requete pour remplacer les champs dans le template
$nbCols = mysql_num_fields($res_rqt);
//on parcours tous les enregistrements de la base
while ($values=mysql_fetch_array($res_rqt)) {
//pour la coloration
if ($nb % 2)
$tmpLigne = str_replace("!!class_ligne!!", "odd", $html_tableau_ligne);
else
$tmpLigne = str_replace("!!class_ligne!!", "even", $html_tableau_ligne);
//on parcours toutes les colonnes de la requete
for($i=0;$i<$nbCols;$i++) {
//on remplace les données à afficher
$tmpLigne = aff_colonne($tmpLigne, mysql_field_name($res_rqt,$i), $values[$i]);
}
//affichage du titre
$tmpLigne = str_replace("!!val_titre!!", aff_titre($values[0], $values[1]), $tmpLigne);
//on ajoute la ligne aux autres
$tmpString .= $tmpLigne;
//le compteur pour la couleur
$nb++;
}
//on met les lignes dans le tableau
$tmpString = str_replace("!!liste_lignes!!",$tmpString,$html_tableau);
//on met le tableau dans le corps global
$tmpString = str_replace("!!corps_liste_transfert!!",$tmpString,$html_global);
} else {
//pas de transferts à afficher
//on met le message pas de résultats
$tmpString = str_replace("!!corps_liste_transfert!!",$html_pas_de_resultats,$html_global);
//on affiche pas les boutons d'actions : y'a rien dans la liste !
$html_boutons = "";
}
//pour les fleches de navigation dans la liste
if ($nbRes>$nb_lignes)
$tmpNav = aff_pagination("circ.php?categ=trans&sub=".$typeListe.$url_localisation, $nbRes, $nb_lignes, $page, 10, false, false );
else
$tmpNav = "";
//pour la navigation dans la liste
$tmpString = str_replace("!!parcours_liste!!",$tmpNav,$tmpString);
//on place des boutons s'il y en a
$tmpString = str_replace("!!boutons_action!!",$html_boutons,$tmpString);
//on met le nb de lignes par page
$tmpString = str_replace("!!nb_res!!",$nb_lignes,$tmpString);
//pour la destination du formulaire
$tmpString = str_replace("!!action_formulaire!!","circ.php?categ=trans&sub=".$typeListe,$tmpString);
//pour les autres filtres
$tmpString = str_replace("!!autres_filtres!!",$autres_filtres,$tmpString);
if ((SESSrights & EDIT_AUTH) && ($lien_edition!="")) {
$tmpString = str_replace("!!lien_edition!!",$lien_edition,$tmpString);
} else
$tmpString = str_replace("!!lien_edition!!","",$tmpString);
return $tmpString;
}
// affiche les listes de transferts dans les differents ecrans en circulation
function affiche_liste($typeListe, $page, $rqt_select, $rqt_base, $nb_lignes, $html_global, $html_tableau, $html_tableau_ligne, $html_boutons, $html_pas_de_resultats, $lien_edition="", $autres_filtres="",$url_localisation='') {
//le nb de lignes par defaut
global $transferts_tableau_nb_lignes;
//requete pour compter les r?sultats
$res_rqt = mysql_query("SELECT COUNT(*) ".$rqt_base);
$nbRes = mysql_result($res_rqt,0);
$page = (int)$page;
if ($page=="")
$page=1;
if ($nb_lignes=="")
$nb_lignes = $transferts_tableau_nb_lignes;
if ($nbRes>0) {
//il y a des transferts à afficher !
$tmpString = "";
$nb=0;
//calcul du nb de pages maximum
$pagesMax = ceil($nbRes/$nb_lignes);
//on recadre la page en cours
if ($page>$pagesMax) $page=$pagesMax;
//requete pour la boucle sur le résultat
$res_rqt = mysql_query($rqt_select.$rqt_base." LIMIT ".(($page-1)*$nb_lignes).",".$nb_lignes);
//echo $rqt_select.$rqt_base;
//le nombre de colonnes dans la requete pour remplacer les champs dans le template
$nbCols = mysql_num_fields($res_rqt);
//on parcours tous les enregistrements de la base
while ($values=mysql_fetch_array($res_rqt)) {
//pour la coloration
if ($nb % 2)
$tmpLigne = str_replace("!!class_ligne!!", "odd", $html_tableau_ligne);
else
$tmpLigne = str_replace("!!class_ligne!!", "even", $html_tableau_ligne);
//on parcours toutes les colonnes de la requete
for($i=0;$i<$nbCols;$i++) {
//on remplace les données à afficher
$tmpLigne = aff_colonne($tmpLigne, mysql_field_name($res_rqt,$i), $values[$i]);
}
//affichage du titre
$tmpLigne = str_replace("!!val_titre!!", aff_titre($values[0], $values[1]), $tmpLigne);
//on ajoute la ligne aux autres
$tmpString .= $tmpLigne;
//le compteur pour la couleur
$nb++;
}
//on met les lignes dans le tableau
$tmpString = str_replace("!!liste_lignes!!",$tmpString,$html_tableau);
//on met le tableau dans le corps global
$tmpString = str_replace("!!corps_liste_transfert!!",$tmpString,$html_global);
} else {
//pas de transferts à afficher
//on met le message pas de résultats
$tmpString = str_replace("!!corps_liste_transfert!!",$html_pas_de_resultats,$html_global);
//on affiche pas les boutons d'actions : y'a rien dans la liste !
$html_boutons = "";
}
//pour les fleches de navigation dans la liste
if ($nbRes>$nb_lignes)
$tmpNav = aff_pagination("circ.php?categ=trans&sub=".$typeListe.$url_localisation, $nbRes, $nb_lignes, $page, 10, false, false );
else
$tmpNav = "";
//pour la navigation dans la liste
$tmpString = str_replace("!!parcours_liste!!",$tmpNav,$tmpString);
//on place des boutons s'il y en a
$tmpString = str_replace("!!boutons_action!!",$html_boutons,$tmpString);
//on met le nb de lignes par page
$tmpString = str_replace("!!nb_res!!",$nb_lignes,$tmpString);
//pour la destination du formulaire
$tmpString = str_replace("!!action_formulaire!!","circ.php?categ=trans&sub=".$typeListe,$tmpString);
//pour les autres filtres
$tmpString = str_replace("!!autres_filtres!!",$autres_filtres,$tmpString);
if ((SESSrights & EDIT_AUTH) && ($lien_edition!="")) {
$tmpString = str_replace("!!lien_edition!!",$lien_edition,$tmpString);
} else
$tmpString = str_replace("!!lien_edition!!","",$tmpString);
return $tmpString;
}
//affichage de la liste de validation pour acceptation ou refus d'une action
function affiche_liste_valide($tpl_global, $tpl_ligne, $rqt_liste, $action) {
//on parcours tous les résultats de retours de la page de liste
foreach ($_REQUEST as $k => $v) {
//si c'est une case a cocher d'une liste
if ((substr($k,0,4)=="sel_") && ($v=="1")) {
//le no de transfert
$numeros .= substr($k,4,strlen($k)) . ",";
}
}
//on enleve la derniere virgule
$numeros = substr($numeros, 0, strlen($numeros)-1);
//la requete pour récupérer les infos
$rqt = str_replace("!!liste_numeros!!", $numeros, $rqt_liste);
$res_rqt = mysql_query($rqt);
//le nombre de colonnes dans la requete pour remplacer les champs dans le template
$nbCols = mysql_num_fields($res_rqt);
$nb = 0;
//on parcours tous les enregistrements
while ($values=mysql_fetch_array($res_rqt)) {
//pour la coloration
if ($nb % 2)
$tmpLigne = str_replace("!!class_ligne!!", "odd", $tpl_ligne);
else
$tmpLigne = str_replace("!!class_ligne!!", "even", $tpl_ligne);
//on parcours toutes les colonnes de la requete
for($i=0; $i<$nbCols; $i++) {
//on remplace les données à afficher
$tmpLigne = aff_colonne($tmpLigne, mysql_field_name($res_rqt,$i), $values[$i]);
}
//affichage du titre
$tmpLigne = str_replace("!!val_titre!!", aff_titre($values[0], $values[1]), $tmpLigne);
//on ajoute la ligne aux autres
$tmpString .= $tmpLigne;
//le compteur pour la couleur
$nb++;
}
$tmpString = str_replace("!!liste_transferts!!",$tmpString,$tpl_global);
$tmpString = str_replace("!!liste_id!!",$numeros,$tmpString);
$tmpString = str_replace("!!action_formulaire!!", $action, $tmpString);
return $tmpString;
}
//traite l'affichage d'une colonne
function aff_colonne($str_ligne, $nom_col, $val_col) {
if (substr($nom_col, 0 , 9) == "val_date_") {
$str_ligne = str_replace("!!".$nom_col."!!", formatdate($val_col), $str_ligne);
$str_ligne = str_replace("!!".$nom_col."_mysql!!", $val_col, $str_ligne);
} elseif ($nom_col=="val_ex") {
//c'est le no d'exemplaire
$str_ligne = str_replace("!!val_ex!!",aff_exemplaire($val_col),$str_ligne);
} elseif ($nom_col=="val_empr") {
//c'est le cb lecteur
$str_ligne = str_replace("!!val_empr!!",aff_emprunteur($val_col),$str_ligne);
} elseif ($nom_col=="val_section") {
$str_ligne = str_replace("!!".$nom_col."!!",do_liste_section($val_col), $str_ligne);
} elseif ($nom_col=="val_statut") {//Il faut mettre l'info de retour si il est emprunté
$str_ligne = str_replace("!!".$nom_col."!!",aff_statut($val_col), $str_ligne);
} else {
$str_ligne = str_replace("!!".$nom_col."!!",$val_col, $str_ligne);
}
return $str_ligne;
}
//renvoi le no d'exemplaire pour le tableau avec ou sans lien
function aff_exemplaire($cb_expl) {
if (SESSrights & CATALOGAGE_AUTH) {
$des_expl = "";
$des_expl .= $cb_expl;
$des_expl .= "";
} else
$des_expl = $cb_expl;
return $des_expl;
}
//renvoi le nom du lecteur pour le tableau avec ou sans lien
function aff_emprunteur($cb_empr='') {
if ($cb_empr == '') return;
$rqt = "select concat(empr_nom,' ',empr_prenom) as empr_nom_prenom from empr where empr_cb='".$cb_empr."'";
$result = mysql_query($rqt);
if (SESSrights & CIRCULATION_AUTH) {
$des_empr = "";
$des_empr .= mysql_result($result, 0, "empr_nom_prenom");
$des_empr .= "";
} else
$des_empr = mysql_result($result, 0, "empr_nom_prenom");
return $des_empr;
}
//renvoi le titre de l'exemplaire pour le tableau avec ou sans lien
function aff_titre($id_notice,$id_bulletin) {
$link="";
if ($id_notice!=0) {
//c'est une notice
if (SESSrights & CATALOGAGE_AUTH)
$link = './catalog.php?categ=isbd&id=!!id!!';
$disp = new mono_display($id_notice,0,$link);
} else {
//c'est un bulletin
if (SESSrights & CATALOGAGE_AUTH)
$link = './catalog.php?categ=serials&sub=view&serial_id=!!id!!';
$disp = new bulletinage_display($id_bulletin,0,$link);
}
return $disp->header;
}
//renvoi le statut de l'exemplaire
function aff_statut($val_col){
global $msg;
$message="";
$tmp=explode("###",$val_col);
if(preg_match("/^(.+?)###([0-9]+)$/",$val_col,$matches)){
$requete="SELECT date_format(pret_retour, '".$msg["format_date"]."') AS aff_pret_retour FROM pret WHERE pret_idexpl='".$matches[2]."'";
$res=mysql_query($requete);
if(mysql_num_rows($res)){//On affiche la date de retour
$message=$matches[1]." ".$msg["358"]." ".mysql_result($res,0,0)."";
}else{//On affiche le statut de l'exemplaire
$message=$matches[1];
}
}else{
$message=$val_col;
}
return $message;
}
//fonction de generation de select
function do_liste($rqt, $idsel) {
//on execute la requete
$res = mysql_query($rqt);
$tmpOpt = "";
//on parcours la liste des options
while ($value = mysql_fetch_array($res)) {
//debut de l'option
$tmpOpt .= "