$nbpages_arrondi) { echo ""; } switch($sub) { case "ppargroupe": echo "

".$msg[1110]." : ".$msg[1114]."

"; break; case "rpargroupe": echo "

".$msg[1110]." : ".$msg["menu_retards_groupe"]."

"; break; default: break; } jscript_checkboxb(); //REINITIALISATION DE LA REQUETE SQL $sql = "SELECT id_groupe, libelle_groupe, resp_groupe, "; $sql .= "empr.id_empr, empr.empr_cb, empr.empr_nom, empr.empr_prenom, empr.empr_mail, "; $sql .= "pret_idexpl, pret_date, pret_retour, "; $sql .= "expl_cote, expl_id, expl_cb, "; $sql .= " date_format(pret_date, '".$msg["format_date"]."') as aff_pret_date, "; $sql .= " date_format(pret_retour, '".$msg["format_date"]."') as aff_pret_retour, "; $sql .= " IF(pret_retour>=curdate(),0,1) as retard, " ; $sql .= " expl_notice, expl_bulletin, notices_m.notice_id as idnot, trim(concat(ifnull(notices_m.tit1,''),ifnull(notices_s.tit1,''),' ',ifnull(bulletin_numero,''), if (mention_date, concat(' (',mention_date,')') ,''))) as tit, tdoc_libelle "; $sql .= "FROM (((exemplaires LEFT JOIN notices AS notices_m ON expl_notice = notices_m.notice_id ) "; $sql .= " LEFT JOIN bulletins ON expl_bulletin = bulletins.bulletin_id) "; $sql .= " LEFT JOIN notices AS notices_s ON bulletin_notice = notices_s.notice_id), " ; $sql .= " empr,pret,empr_groupe, groupe,docs_type"; if ($empr_groupes_localises && $empr_location_id !=0) { $sql .= ",empr as coords_resp_group"; } $sql .= " WHERE "; if ($empr_groupes_localises && $empr_location_id !=0) { $sql .= "coords_resp_group.id_empr = groupe.resp_groupe AND coords_resp_group.empr_location='$empr_location_id' AND "; } $sql .= "pret.pret_idempr = empr.id_empr AND pret.pret_idexpl = exemplaires.expl_id AND empr_groupe.empr_id = empr.id_empr AND groupe.id_groupe = empr_groupe.groupe_id AND exemplaires.expl_typdoc = docs_type.idtyp_doc "; $sql .= $critere_requete; //Renvoi un tableau contenant la liste des groupes, ainsi que l'index du premier élément de ce groupe dans la requete. mysql_query("SET @rank :=0;"); $sqlgroup = " SELECT id_groupe, libelle_groupe, MIN(rank) as min_pos FROM ( SELECT rank, id_groupe, libelle_groupe FROM ( SELECT @rank := @rank +1 AS rank, libelle_groupe, id_groupe FROM ( $sql ) as temp ORDER BY libelle_groupe ) AS foo ) AS final GROUP BY libelle_groupe;"; $groups = array(); $req = mysql_query($sqlgroup); while ($row = mysql_fetch_array($req)) { $groups[$row["id_groupe"]]=array("libelle" => $row["libelle_groupe"], "first_pos" => $row["min_pos"]-1); } // si la variable numero de page a une valeur ou est différente de 0, // on multiplie la limite par le numero de la page passée par l'url // sinon, pas de variable numero_page if (!isset($gogroup_id)) $gogroup_id = -1; if ($gogroup_id != -1) { $limite_mysql = $groups[$gogroup_id]['first_pos']; $numero_page = ceil(($groups[$gogroup_id]['first_pos'] + $limite_page) / $limite_page) - 1; } else if(isset($numero_page) || $numero_page != 0 ) { $limite_mysql = $limite_page * $numero_page; } else { $limite_mysql = 0; // la limite est de 0 } $sql .= " LIMIT ".$limite_mysql.", ".$limite_page; // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die) $req = mysql_query($sql) or die("Erreur SQL !
".$sql."
".mysql_error()); echo "
"; echo $msg['edit_go_directly_to']."
"; echo "$msg[circ_afficher] $msg[1905]"; if ($empr_groupes_localises) echo docs_location::gen_combo_box_empr($empr_location_id); echo "
"; // on va scanner tous les tuples un par un echo "
"; $cochtous="onclick=\"unSetCheckboxes('cases_a_cocher','coch_groupe')\""; echo ""; switch($sub) { case "ppargroupe" : echo ""; $message=$msg['imprimer_liste_prets_groupe']; break; case "rpargroupe" : echo ""; $message=$msg['imprimer_lettres_groupe_relance']; break; default : break; } echo ""; $odd_even=0; $ancien_groupe=0; while ($data = mysql_fetch_array($req)) { $id_groupe = $data['id_groupe']; $groupe_libelle = $data['libelle_groupe']; $responsable = $data['resp_groupe']; $empr_nom = $data['empr_nom']; $empr_prenom = $data['empr_prenom']; $empr_mail = $data['empr_mail']; $id_empr = $data['id_empr']; $empr_cb = $data['empr_cb']; $aff_pret_date = $data['aff_pret_date']; $aff_pret_retour = $data['aff_pret_retour']; $retard = $data['retard']; $cote_expl = $data['expl_cote']; $id_expl =$data['expl_cb']; $titre = $data['tit']; $support = $data['tdoc_libelle']; $header_aut = "" ; $responsabilites = get_notice_authors($data['idnot']) ; $as = array_search ("0", $responsabilites["responsabilites"]) ; if ($as!== FALSE && $as!== NULL) { $auteur_0 = $responsabilites["auteurs"][$as] ; $auteur = new auteur($auteur_0["id"]); $header_aut .= $auteur->isbd_entry; } else { $aut1_libelle=array(); $as = array_keys ($responsabilites["responsabilites"], "1" ) ; for ($i = 0 ; $i < count($as) ; $i++) { $indice = $as[$i] ; $auteur_1 = $responsabilites["auteurs"][$indice] ; $auteur = new auteur($auteur_1["id"]); $aut1_libelle[]= $auteur->isbd_entry; } $header_aut .= implode (", ",$aut1_libelle) ; } $header_aut ? $auteur=$header_aut : $auteur=""; // on affiche les résultats if ($id_groupe!=$ancien_groupe) { // compter les totaux pour ce groupe et les retards $sqlcount = "SELECT count(pret_idexpl) as combien , IF(pret_retour>=curdate(),0,1) as retard "; $sqlcount .= "FROM exemplaires, empr, pret, empr_groupe, groupe "; $sqlcount .= "WHERE pret.pret_idempr = empr.id_empr AND pret.pret_idexpl = exemplaires.expl_id AND empr_groupe.empr_id = empr.id_empr AND groupe.id_groupe = empr_groupe.groupe_id and id_groupe=$id_groupe group by retard order by retard "; $reqcount = mysql_query($sqlcount) or die(mysql_error()."
".$sqlcount); $nbok=0; $nbretard=0; while ($datacount = mysql_fetch_object($reqcount)) { if ($datacount->retard==0) $nbok=$datacount->combien; if ($datacount->retard==1) $nbretard=$datacount->combien; } $retard_sur_total = str_replace ("!!nb_retards!!",$nbretard*1,$msg[n_retards_sur_total_de]); $retard_sur_total = str_replace ("!!nb_total!!",($nbretard+$nbok)*1,$retard_sur_total); echo "\r\n"; switch ($sub) { case "ppargroupe": $imprime_click = "onclick=\"openPopUp('./pdf.php?pdfdoc=liste_pret_groupe&id_groupe=$id_groupe', 'lettre', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes'); return(false) \""; echo "\n"; echo ""; } if($retard || ($sub=="ppargroupe") ){ if ($retard) $tit_color="color='RED'"; else $tit_color=""; if ($odd_even==0) { $pair_impair = "odd"; $odd_even=1; } else if ($odd_even==1) { $pair_impair = "even"; $odd_even=0; } $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\""; echo "\r\n"; echo ""; if (SESSrights & CIRCULATION_AUTH) echo ""; else echo ""; echo ""; echo ""; if (SESSrights & CATALOGAGE_AUTH) { if ($data['expl_notice']) echo ""; // notice de monographie elseif ($data['expl_bulletin']) echo ""; // notice de bulletin else echo ""; } else echo ""; echo ""; echo ""; echo ""; echo ""; /* test de date de retour dépassée */ switch ($sub) { case "ppargroupe": if ($retard) { $imprime_click = "onclick=\"openPopUp('./pdf.php?pdfdoc=liste_pret&cb_doc=$id_expl&id_empr=$id_empr', 'lettre', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes'); return(false) \""; echo "\n"; } break; case "rpargroupe": if ($retard) { $imprime_click = "onclick=\"openPopUp('./pdf.php?pdfdoc=lettre_retard&cb_doc=$id_expl&id_empr=$id_empr', 'lettre', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes'); return(false) \""; echo "\n"; } break; default: break; } echo "\n"; } $ancien_groupe=$id_groupe; } echo "
   ".$msg[4014]." ".$msg[4016]." ".$msg[294]." ".$msg[233]." ".$msg[234]."".$msg[empr_nom_prenom]. "".$msg[circ_date_emprunt]."".$msg[circ_date_retour]. "".$msg[1110]."".$msg[369]."
"; echo "".$groupe_libelle." ".htmlentities($retard_sur_total, ENT_QUOTES, $charset)."\"".$message."\"\n"; //mail responsable $sql1=""; $sql1 .= "SELECT empr_mail FROM empr WHERE empr.id_empr=".$responsable.""; $req1= mysql_query($sql1); $result=mysql_fetch_array($req1); $mail_responsable=$result['empr_mail']; if ($mail_responsable) { $mail_click = "onclick=\"if (confirm('".$msg["mail_retard_confirm"]."')) {openPopUp('./mail.php?type_mail=mail_prets&id_groupe=$id_groupe', 'mail', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes');} return(false) \""; echo "\"".$msg[mail_retard]."\""; } break; case "rpargroupe": $imprime_click = "onclick=\"openPopUp('./pdf.php?pdfdoc=lettre_retard_groupe&id_groupe=$id_groupe', 'lettre', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes'); return(false) \""; echo "\n\"".$message."\"\n"; //mail responsable $sql1=""; $sql1 .= "SELECT empr_mail FROM empr WHERE empr.id_empr=".$responsable.""; $req1= mysql_query($sql1); $result=mysql_fetch_array($req1); $mail_responsable=$result['empr_mail']; if ($mail_responsable) { $mail_click = "onclick=\"if (confirm('".$msg["mail_retard_confirm"]."')) {openPopUp('./mail.php?type_mail=mail_retard_groupe&id_groupe=$id_groupe', 'mail', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes');} return(false) \""; echo "\"".$msg[mail_retard]."\""; } break; default: break; } echo "
 ".$id_expl."".$id_expl."".$cote_expl."".$support."".$titre."".$titre."".$titre."".$titre."".$auteur."".$empr_nom.", ".$empr_prenom."".$aff_pret_date."".$aff_pret_retour."\"".$msg['prets_en_cours']."\"\n"; $mail_click = "onclick=\"if (confirm('".$msg["mail_retard_confirm"]."')) {openPopUp('./mail.php?type_mail=mail_prets&cb_doc=$id_expl&id_empr=$id_empr', 'mail', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes'); } return(false) \""; if (($empr_mail)&&($biblio_email)) echo "\"".$msg[mail_retard]."\""; } else { echo " \"".$msg['lettre_retard']."\"\n"; $mail_click = "onclick=\"if (confirm('".$msg["mail_retard_confirm"]."')) {openPopUp('./mail.php?type_mail=mail_retard&cb_doc=$id_expl&id_empr=$id_empr', 'mail', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes'); } return(false) \""; if (($empr_mail)&&($biblio_email)) echo "\"".$msg[mail_retard]."\""; } else { echo " 
"; $bouton_imprime_tout ="" ; switch($sub) { case "ppargroupe" : $bouton_imprime_tout = ""; break; case "rpargroupe" : $bouton_imprime_tout = ""; break; default : break; } //LIENS PAGE SUIVANTE et PAGE PRECEDENTE // si le nombre de page n'est pas 0 et si la variable numero_page n'est pas définie // dans cette condition, la variable numero_page est incrémenté et est inférieure à $nombre if( $nbpages_arrondi != 0 && empty($numero_page)) { $navpage ='< '.$msg[48].' | '.$msg[49].' >'; // on passe la variable numero page à 1 } elseif ($nbpages_arrondi !='0' && isset($numero_page) && $numero_page < $nbpages_arrondi) { $suivant = $numero_page + 1; // on ajoute 1 au numero de page en cours $precedent = $numero_page - 1; $navpage .= '< '.$msg[48].''; // retour page précédente $navpage .= ''.$msg[49].' >'; //le lien pour les pages suivantes } // dans cette condition, le lien qui sera affiché lorsque le nombre de page a été atteint elseif ( $nbpages_arrondi !='0' && isset($numero_page) && $numero_page >= $nbpages_arrondi ) { $precedent = $numero_page - 1; $navpage .= '< '.$msg[48].''; // retour page précédente } if ($bouton_imprime_tout) echo "
$bouton_imprime_tout
"; echo "
$navpage
" ; mysql_free_result ($req); ?>