source: pmb4.1/trunk/fuentes/pmb/circ/retour_secouru.inc.php @ 478

Last change on this file since 478 was 478, checked in by mabarracus, 4 years ago

copy trusty code 4.1

  • Property svn:executable set to *
File size: 20.3 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: retour_secouru.inc.php,v 1.26 2010-07-06 10:07:39 ngantier Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9require_once("$class_path/emprunteur.class.php");
10require_once("$class_path/serial_display.class.php");
11require_once("$include_path/resa.inc.php");
12require_once("$class_path/expl_to_do.class.php");
13// define pour différent flags de situation document
14define ('EX_OK', 1);
15define ('EX_INCONNU', 2);
16define ('HAS_RESA_GOOD', 4); // l'exemplaire est réservé pour ce lecteur
17define ('NON_PRETABLE', 8);
18define ('HAS_NOTE', 16);
19define ('HAS_RESA_FALSE', 32); // l'exemplaire est réservé pour un autre lecteur
20define ('ALREADY_LOANED', 64); // cet emprunteur a déjà emprunté ce document
21define ('ALREADY_BORROWED', 128); // ce document est emprunté par un autre emprunteur
22
23if (!$do) {
24        $file=$_FILES['fichier_secouru']['tmp_name'];
25        copy($file,"temp/".basename($file));
26        $file="temp/".basename($file);
27}
28
29function read_line($fp) {
30        global $nline;
31       
32        $r=false;
33        while (!feof($fp)) {
34                $line=@fgets($fp);
35                if ($line!==false) {
36                        if (trim($line)) {
37                                $r=true;
38                                $nline++;
39                                break;
40                        }
41                }
42        }
43        if ($r) return trim($line); else return false;
44}
45
46function is_reader($cb) {
47        $requete="select id_empr from empr where empr_cb='".addslashes($cb)."'";
48        $resultat=mysql_query($requete);
49       
50        if (mysql_num_rows($resultat)) return true; else return false;
51}
52
53function is_cb_ex($cb) {
54        $requete="select expl_id from exemplaires where expl_cb='".addslashes($cb)."'";
55        $resultat=mysql_query($requete);
56       
57        if (mysql_num_rows($resultat)) return true; else return false;
58}
59
60if (!$do) {
61        //Test du fichier
62        $fp=@fopen($file,"r");
63        //Lecture de la première ligne
64        $line=fgets($fp);
65        $nline=1;
66        if ($line===false) { 
67                print "<div class='erreur'>Fichier non valide !</div>";
68                fclose($fp);
69        } else {               
70                $etat="attente";
71                $line=trim($line);
72
73                while ($etat!="stop") {
74                        switch ($etat) {
75                                case "attente":
76                                        if (($line!="RETOUR SECOURU")&&($line!="PRET SECOURU")) {
77                                                $error=true;
78                                                $error_message="PRET SECOURU ou RETOUR SECOURU attendu";
79                                                $etat="stop";
80                                        } else {
81                                                if ($line=="PRET SECOURU") $etat="debut_pret"; else {
82                                                        $etat="debut_retour";
83                                                }
84                                        }
85                                        break;
86                                case "debut_pret":
87                                        $line=read_line($fp);
88                                        if ($line===false) {
89                                                $etat="stop";
90                                        } else {
91                                                if (is_reader($line)) {
92                                                        $reader=$line;
93                                                        $etat="pret";
94                                                } else {
95                                                        $error=true;
96                                                        $error_message="Un code barre lecteur est attendu";
97                                                        $etat="stop";
98                                                }
99                                        }
100                                case "pret":
101                                        $line=read_line($fp);
102                                        if ($line===false) {
103                                                $etat="stop";
104                                        } else {
105                                                if (($line=="PRET SECOURU")||($line=="RETOUR SECOURU")) {
106                                                        $etat="attente";
107                                                } else {
108                                                        if (!is_cb_ex($line)) {
109                                                                $error=true;
110                                                                $error_message="Un code barre exemplaire est attendu";
111                                                                $etat="stop";   
112                                                        } else $etat="pret";
113                                                } 
114                                        }
115                                        break;
116                                case "debut_retour":
117                                        $line=read_line($fp);
118                                        if ($line===false) {
119                                                $etat="stop";
120                                        } else {
121                                                if (($line=="PRET SECOURU")||($line=="RETOUR SECOURU")) {
122                                                                $etat="attente";
123                                                } else {
124                                                        if (!is_cb_ex($line)) {
125                                                                $error=true;
126                                                                $error_message="Un code barre exemplaire est attendu";
127                                                                $etat="stop";   
128                                                        } else $etat="debut_retour";
129                                                }
130                                        }
131                                        break;
132                        }
133                }
134                fclose($fp);
135                if ($error) {
136                        print "<div class='erreur'>Erreur à la ligne ".$nline." : ".$error_message."</div>";
137                        print "<center><input type='button' value='Lancer quand même la récupération' onClick=\"document.location='./circ.php?categ=retour_secouru_int&file=".rawurlencode($file)."&do=1'\" class='bouton'>&nbsp;<input type='button' value='Annuler' onClick=\"document.location='./circ.php?categ=retour_secouru';\" class='bouton'></center>";
138                } else {
139                        print "<div class='erreur'>Fichier valide : lancement de la récupération...</div>";
140                        print "<script>document.location=\"./circ.php?categ=retour_secouru_int&file=".rawurlencode($file)."&do=1\";</script>";
141                }
142        }
143}
144
145if ($do==1) {
146        $file=stripslashes($file);
147        $fp=@fopen($file,"r");
148        //Lecture de la première ligne
149        $line=fgets($fp);
150        $nline=1;
151        if ($line===false) { 
152                print "<div class='erreur'>Fichier non valide !</div>";
153                fclose($fp);
154        } else {               
155                $etat="attente";
156                $line=trim($line);
157
158                while ($etat!="stop") {
159                        switch ($etat) {
160                                case "attente":
161                                        if (($line!="RETOUR SECOURU")&&($line!="PRET SECOURU")) {
162                                                $error=true;
163                                                $error_message="PRET SECOURU ou RETOUR SECOURU attendu";
164                                                $etat="stop";
165                                        } else {
166                                                if ($line=="PRET SECOURU") $etat="debut_pret"; else {
167                                                        print "<b>Retour</b><blockquote>";
168                                                        $etat="debut_retour";
169                                                }
170                                        }
171                                        break;
172                                case "debut_pret":
173                                        $line=read_line($fp);
174                                        if ($line===false) {
175                                                $etat="stop";
176                                        } else {
177                                                if (is_reader($line)) {
178                                                        $reader=$line;
179                                                        print "<b>Prêt</b><blockquote>";
180                                                        $etat="pret";
181                                                } else {
182                                                        $error=true;
183                                                        $error_message="Un code barre lecteur est attendu";
184                                                        $etat="stop";
185                                                }
186                                        }
187                                case "pret":
188                                        $line=read_line($fp);
189                                        if ($line===false) {
190                                                print "</blockquote>";
191                                                $etat="stop";
192                                        } else {
193                                                if (($line=="PRET SECOURU")||($line=="RETOUR SECOURU")) {
194                                                        print "</blockquote>";
195                                                        $etat="attente";
196                                                } else {
197                                                        rec_pret($reader,$line);
198                                                        $etat="pret";
199                                                } 
200                                        }
201                                        break;
202                                case "debut_retour":
203                                        $line=read_line($fp);
204                                        if ($line===false) {
205                                                print "</blockquote>";
206                                                $etat="stop";
207                                        } else {
208                                                if (($line=="PRET SECOURU")||($line=="RETOUR SECOURU")) {
209                                                                print "</blockquote>";
210                                                                $etat="attente";
211                                                } else {
212                                                        rec_retour($line);
213                                                        $etat="debut_retour";
214                                                }
215                                        }
216                                        break;
217                        }
218                }
219                if ($error) 
220                        print "<div class='erreur'>Erreur à la ligne ".$nline." : ".$error_message."</div>"; 
221                else
222                        print "<div class='erreur'>Récupération terminée</div>";
223                fclose($fp);
224        }
225}
226
227// <-------------- check_empr_secouru --------------->
228// teste l'id_empr passée en paramètre (check si l'emprunteur existe)
229function check_empr_secouru($id) {
230        global $dbh;
231        if (!$id)
232                return FALSE;
233        $query = "select count(1) as qte from empr where id_empr='$id' ";
234        $result = mysql_query($query, $dbh);
235        return mysql_result($result, 0, 0);
236
237}
238
239// <-------------- check_document() --------------->
240// récupère différents paramètres sur le document à emprunter
241/* ce qui nous intéresse :
242- si le document est inconnu : on ne fait rien bien entendu -> retour EX_INCONNU
243- si le document est déja en prêt -> allready_BORROWED
244- si l'exemplaire a une note -> l'utilisateur doit confirmer le prêt (HAS_NOTE)
245- si le document est en consultation sur place -> l'utilisateur doit confirmer le prêt retour SUR_PLACE
246- si le document est réservé pour un autre lecteur -> l'utilisateur doit confirmer le prêt  retour HAS_RESA
247- si le document est réservé pour ce lecteur -> on efface la réservation et on retourne EX_OK */
248function check_document($id_expl, $id_empr) {
249
250        global $dbh;
251
252        $retour -> flag = 0;
253
254        if (!$id_expl || !$id_empr)
255                return $retour -> flag;
256
257        // on tente de récupérer les infos exemplaire utiles
258        $query = "select e.expl_cb as cb, e.expl_id as id, s.pret_flag as pretable, e.expl_notice as notice, e.expl_bulletin as bulletin, e.expl_note as note, expl_comment, s.statut_libelle as statut";
259        $query.= " from exemplaires e, docs_statut s";
260        $query.= " where e.expl_id=$id_expl";
261        $query.= " and s.idstatut=e.expl_statut";
262        $query.= " limit 1";
263        $result = mysql_query($query, $dbh);
264
265        // exemplaire inconnu
266        if (!mysql_num_rows($result)) {
267                $retour -> flag = EX_INCONNU;
268                return $retour;
269        }
270        $expl = mysql_fetch_object($result);
271
272        $retour -> expl_cb = $expl -> cb;
273
274        // une autre query pour savoir si l'exemplaire est en prêt...
275        $query = "select pret_idempr from pret where pret_idexpl=$id_expl limit 1";
276        $result = mysql_query($query, $dbh);
277        if (@ mysql_num_rows($result)) {
278                // l'exemplaire est déjà en prêt
279                $empr = mysql_result($result, '0', 'pret_idempr');
280                // l'emprunteur est l'emprunteur actuel
281                if ($empr == $id_empr) $retour -> flag += ALREADY_LOANED;
282                        else $retour -> flag += ALREADY_BORROWED;
283                }
284
285        // cas de l'exemplaire qui a une note
286        if ($expl -> note) {
287                $retour -> flag += HAS_NOTE;
288                $retour -> note = $expl -> note;
289                }
290
291        // cas de l'exemplaire en consultation sur place
292        if (!$expl -> pretable) {
293                // l'exemplaire est en consultation sur place
294                $retour -> flag += NON_PRETABLE;
295                $retour -> note = $expl -> statut;
296                }
297
298        // cas des réservations
299        // on checke si l'exemplaire a une réservation
300        $query = "select resa_idempr as empr, id_resa, resa_cb from resa where resa_idnotice='$expl->notice' and resa_idbulletin='$expl->bulletin' order by resa_date limit 1";
301        $result = mysql_query($query, $dbh);
302        if (mysql_num_rows($result)) {
303                $reservataire = mysql_result($result, 0, 'empr');
304                $id_resa = mysql_result($result, 0, 'id_resa');
305                $resa_cb = mysql_result($result, 0, 'resa_cb');
306               
307                $retour -> idnotice = $expl -> notice;
308                $retour -> idbulletin = $expl -> bulletin;
309                $retour -> id_resa = $id_resa ;
310                $retour -> resa_cb = $resa_cb ;
311                if ($reservataire == $id_empr) {
312                        // la réservation est pour ce lecteur
313                        $retour -> flag += HAS_RESA_GOOD;
314                        } else {
315                                // réservé pour un autre lecteur
316                                $retour -> flag += HAS_RESA_FALSE;
317                                }
318                }
319        return $retour;
320        }
321
322// ajoute le prêt en table
323function add_pret($id_empr, $id_expl, $cb_doc) {
324        // le lien MySQL
325        global $dbh;
326        global $msg;
327        global $pmb_quotas_avances;
328       
329        /* on prépare la date de début*/
330        $pret_date = time();
331
332        /* on cherche la durée du prêt */
333        if($pmb_quotas_avances) {
334                //Initialisation de la classe
335                $qt=new quota("LEND_TIME_QUOTA");
336                $struct["READER"]=$id_empr;
337                $struct["EXPL"]=$id_expl;
338                $duree_pret=$qt->get_quota_value($struct);
339                if ($duree_pret==-1) $duree_pret=0; 
340        } else {
341                $query = "SELECT duree_pret";
342                $query.= " FROM exemplaires, docs_type";
343                $query.= " WHERE expl_id='".$id_expl;
344                $query.= "' and idtyp_doc=expl_typdoc LIMIT 1";
345
346                $result = @ mysql_query($query, $dbh) or die("can't SELECT exemplaires ".$query);
347                $expl_properties = mysql_fetch_object($result);
348                $duree_pret = $expl_properties -> duree_pret;
349        }       
350        // calculer la date de retour prévue
351        $pret_retour = $pret_date +3600 * 24 * $duree_pret;
352       
353        // insérer le prêt
354        $query = "INSERT INTO pret SET ";
355        $query.= "pret_idempr = '".$id_empr."', ";
356        $query.= "pret_idexpl = '".$id_expl."', ";
357        $query.= "pret_date   = sysdate(), ";
358        $query.= "pret_retour = '".date("Y-m-d", $pret_retour)."', ";
359        $query.= "retour_initial = '".date("Y-m-d", $pret_retour)."' ";
360        $result = @ mysql_query($query, $dbh) or die(mysql_error()."<br />can't INSERT into pret".$query);
361       
362        // insérer la trace en stat, récupérer l'id et le mettre dans la table des prêts pour la maj ultérieure
363        $stat_avant_pret = pret_construit_infos_stat ($id_expl) ;
364        $stat_id = stat_stuff ($stat_avant_pret) ;
365        $query = "update pret SET pret_arc_id='$stat_id' where ";
366        $query.= "pret_idempr = '".$id_empr."' and ";
367        $query.= "pret_idexpl = '".$id_expl."' ";
368        $result = @ mysql_query($query, $dbh) or die("can't update pret for stats ".$query);
369        audit::insert_creation (AUDIT_PRET, $stat_id) ;
370       
371        $query = "update exemplaires SET ";
372        $query.= "last_loan_date = sysdate() ";
373        $query.= "where expl_id= '".$id_expl."' ";
374        $result = @ mysql_query($query, $dbh) or die("can't update last_loan_date in exemplaires : ".$query);
375
376        $query = "update empr SET ";
377        $query.= "last_loan_date = sysdate() ";
378        $query.= "where id_empr= '".$id_empr."' ";
379        $result = @ mysql_query($query, $dbh) or die("can't update last_loan_date in empr : ".$query);
380
381}
382
383// efface une résa pour un emprunteur donné et réaffecte le cb éventuellement
384function del_resa($id_empr, $id_notice, $id_bulletin, $cb_encours_de_pret) {
385       
386        global $dbh;
387       
388        if (!$id_empr || (!$id_notice && !$id_bulletin))
389                return FALSE;
390
391        if (!$id_notice)
392                $id_notice = 0;
393        if (!$id_bulletin)
394                $id_bulletin = 0;
395        $rqt = "select resa_cb, id_resa from resa where resa_idnotice='".$id_notice."' and resa_idbulletin='".$id_bulletin."'  and resa_idempr='".$id_empr."' ";
396        $res = mysql_query($rqt, $dbh);
397        $obj = mysql_fetch_object($res);
398        $cb_recup = $obj->resa_cb;
399        $id_resa = $obj->id_resa;
400       
401        // suppression
402        $rqt = "delete from resa where id_resa='".$id_resa."' ";
403        $res = mysql_query($rqt, $dbh);
404       
405        // si on delete une resa à partir d'un prêt, on invalide la résa qui était validée avec le cb, mais on ne change pas les dates, ça sera fait par affect_cb
406        $rqt_invalide_resa = "update resa set resa_cb='' where resa_cb='".$cb_encours_de_pret."' " ; 
407        $res = mysql_query ($rqt_invalide_resa, $dbh) ;
408                                                                                               
409        // réaffectation du doc éventuellement
410        if ($cb_recup != $cb_encours_de_pret) {
411                // les cb sont différents
412                if (!verif_cb_utilise($cb_recup)) {
413                        // le cb qui était affecté à la résa qu'on vient de supprimer n'est pas utilisé
414                        // on va affecter le cb_récupéré à une resa non validée
415                        $res_affectation = affecte_cb($cb_recup) ;
416                        if (!$res_affectation && $cb_recup) {
417                                // cb non réaffecté, il faut transférer les infos de la résa dans la table des docs à ranger
418                                $rqt = "insert into resa_ranger (resa_cb) values ('".$cb_recup."') ";
419                                $res = mysql_query($rqt, $dbh);
420                                }
421                        }
422                }
423        // Au cas où il reste des résa invalidées par resa_cb, on leur colle les dates comme il faut...
424        $rqt_invalide_resa = "update resa set resa_date_debut='0000-00-00', resa_date_fin='0000-00-00' where resa_cb='' " ; 
425        $res = mysql_query ($rqt_invalide_resa, $dbh) ;
426        return TRUE;
427}
428
429function rec_pret($reader,$line) {
430        global $msg,$dbh;
431        //Recherche du lecteur
432        $requete="select id_empr from empr where empr_cb='".addslashes($reader)."'";
433        $resultat=mysql_query($requete);
434        if (mysql_num_rows($resultat)) {
435                $id_empr=mysql_result($resultat,0,0);
436                //Recherche du lecteur
437                $requete="select expl_id from exemplaires where expl_cb='".addslashes($line)."'";
438                $resultat=mysql_query($requete);
439                if (mysql_num_rows($resultat)) {
440                        $expl_id=mysql_result($resultat,0,0);
441                        print pmb_bidi("<div class='erreur'>Prêt <a href='./circ.php?categ=visu_ex&form_cb_expl=".rawurlencode($line)."'>".$line."</a> pour <a href='./circ.php?categ=pret&form_cb=".rawurlencode($reader)."'>".$reader."</a></div>"); 
442                        if (check_empr_secouru($id_empr)) {
443                                $empr_temp = new emprunteur($id_empr, '', FALSE, 1);
444                                $statut = check_document($expl_id, $id_empr);
445                                if ($statut -> flag & ALREADY_LOANED || $statut -> flag & ALREADY_BORROWED) {
446                                        if ($statut -> flag & ALREADY_LOANED) {
447                                                print "                 <div class='row'>
448                                                                                        <span class='erreur'>$msg[386]</span></div>
449                                                                                        <br />";
450                                        }
451                                        if ($statut -> flag & ALREADY_BORROWED) {
452                                                print "                 <div class='row'>
453                                                                                        <span class='erreur'>$msg[387]</span></div>
454                                                                                        <br />";
455                                        }
456                                } else {
457                                        if ($statut -> flag && ($statut -> flag & HAS_RESA_GOOD)) {
458                                                // archivage resa
459                                                $rqt_arch = "UPDATE resa_archive, resa SET resarc_pretee = 1 WHERE id_resa = '".$statut->id_resa."' AND resa_arc = resarc_id "; 
460                                                mysql_query($rqt_arch, $dbh);
461                                               
462                                                // suppression de la resa pour ce lecteur
463                                                del_resa($id_empr, $statut -> idnotice, $statut -> idbulletin, $statut -> expl_cb);
464                                        }
465                                        // ajout du prêt
466                                        add_pret($id_empr, $expl_id, $line);
467                                        print "<div class='erreur'>effectué</div>";     
468                                }
469                        } else {
470                                print "<div class='erreur'>".$reader." : Lecteur inconnu"."</div>";     
471                        }
472                } else {
473                        print "<div class='erreur'>".$line." : Exemplaire inconnu"."</div>";   
474                }
475        } else {
476                print "<div class='erreur'>".$reader." : Lecteur inconnu"."</div>";     
477        }
478}
479
480function rec_retour($line) {
481        global $action_piege,$piege_resa;
482        $form_cb_expl=$line;
483        $expl=new expl_to_do($form_cb_expl);
484        //print $expl->cb_tmpl;
485        //if(!$form_cb_expl) exit;
486        $expl->do_form_retour($action_piege,$piege_resa);
487        print $expl->expl_form;
488        return;
489        // la suite n'est plus utilisé 
490       
491        if ($form_cb_expl) {
492                print "<hr />";
493                // étape 1 : on regarde si le code-barre est connu
494                if($stuff=check_barcode($form_cb_expl)) {
495                        $stuff = check_pret($stuff);
496                        $stuff = check_resa($stuff);
497                        // on a maintenant un gros objet $stuff avec toutes les infos pour traiter les choses
498                        // les propriétés de cet objet sont visibles dans la fonction show_reports() plus bas
499                        // show_report($stuff); // uncomment for debugging
500                        // appel de la fonction do_retour, qui va gérer tout cela
501                        do_retour_secouru($stuff);
502                } else {
503                        print "<div class='erreur'>".$form_cb_expl." : Exemplaire inconnu"."</div>";                   
504                }
505        }
506}
507
508// effectue les opérations de retour et mise en stat
509function do_retour_secouru($stuff) {
510
511        global $dbh;
512        global $msg;
513        global $alert_sound_list;
514
515        if(!is_object($stuff))
516                die("erreur grave dans le module ./circ/retour_secouru.inc [do_retour_secouru()]. Contactez l'admin");
517
518        print pmb_bidi('<strong>'.$stuff->libelle.'</strong>');
519        // récupération localisation exemplaire
520        $query = "select t.tdoc_libelle as type_doc";
521        $query .= ", l.location_libelle as location";
522        $query .= ", s.section_libelle as section";
523        $query .= " from docs_type t";
524        $query .= ", docs_location l";
525        $query .= ", docs_section s";
526        $query .= " where t.idtyp_doc=".$stuff->expl_typdoc;
527        $query .= " and l.idlocation=".$stuff->expl_location;
528        $query .= " and s.idsection=".$stuff->expl_section;
529        $query .= " limit 1";
530
531        $result = mysql_query($query, $dbh);
532        $info_doc = mysql_fetch_object($result);
533        print pmb_bidi('<br />'.$info_doc->type_doc);
534        print pmb_bidi('.&nbsp;'.$info_doc->location);
535        print pmb_bidi('.&nbsp;'.$info_doc->section);
536        print pmb_bidi('.&nbsp;'.$stuff->expl_cote);
537        if($stuff->pret_idempr) {
538                // l'exemplaire était effectivement emprunté
539                // on affiche les infos de l'emprunteur
540                print "<hr /><div class='row'>${msg[368]} : </div>";
541                print "<a href='./circ.php?categ=pret&form_cb=".rawurlencode($stuff->empr_cb)."'>";
542                print pmb_bidi($stuff->empr_prenom.' '.$stuff->empr_nom.'</a>');
543               
544                if ($stuff->empr_msg) {
545                        $message_fiche_empr= "
546                                        <div class='row'>
547                                        <div class='colonne10'><img src='./images/info.png' /></div>
548                                        <div class='colonne-suite'><span class='erreur'>$stuff->empr_msg</span></div>
549                                        </div><br />";
550                        $alert_sound_list[]="information";
551                        print $message_fiche_empr ;
552                        }
553                       
554                // calcul du retard éventuel
555                $rqt_date = "select ((TO_DAYS(CURDATE()) - TO_DAYS('$stuff->pret_retour'))) as retard ";
556                $resultatdate=mysql_query($rqt_date);
557                $resdate=mysql_fetch_object($resultatdate);
558                $retard = $resdate->retard;
559               
560                if($retard > 0)
561                        print "<hr /><div class='erreur'>${msg[369]}&nbsp;: $retard ${msg[370]}</div>";
562
563                // zone du dernier emrunteur
564                if($stuff->expl_lastempr) {
565                        print "<hr /><div class='row'>$msg[expl_prev_empr] ";
566                        $link = "<a href='./circ.php?categ=pret&form_cb=".rawurlencode($stuff->lastempr_cb)."'>";
567                        print pmb_bidi($link.$stuff->lastempr_prenom.' '.$stuff->lastempr_nom.' ('.$stuff->lastempr_cb.')</a>');
568                        print "</div><hr />";
569                        }
570
571                // code de suppression prêt et la mise en table de stat
572                if (del_pret($stuff)) {
573                        if(!stat_stuff($stuff)) {
574                                // impossible d'insérer en table stat
575                                print "<div class='erreur'>${msg[371]}</div>";
576                        }
577                } else {
578                        // impossible de supprimer en table pret
579                        print "<div class='erreur'>${msg[372]}</div>";
580                }
581        } else {
582                print "<div class='erreur'>${msg[605]}</div>";
583        }
584
585        if ($stuff->expl_note)
586                print pmb_bidi("<hr /><div class='erreur'>${msg[377]} :</div><div class='message_important'>".$stuff->expl_note."</div>");
587        if ($stuff->expl_comment)
588                print pmb_bidi("<hr /><div class='erreur'>".$msg[expl_zone_comment]." :</div>".$stuff->expl_comment."<br />");
589
590                // traitement de l'éventuelle réservation
591        if ($stuff->resa_idempr) {
592                // le doc en retour peut servir à valider une résa suivante
593                if (!verif_cb_utilise ($stuff->expl_cb)) {
594                        $affect = affecte_cb ($stuff->expl_cb) ;
595                        // affichage message de réservation
596                        if ($affect) {
597                                print pmb_bidi("<div class='erreur'>$msg[352]</div>
598                                        <div class='row'>
599                                        ${msg[373]}
600                                        <strong><a href='./circ.php?categ=pret&form_cb=".rawurlencode($stuff->cb_reservataire)."'>".$stuff->prenom_reservataire."&nbsp;".$stuff->nom_reservataire."</a></strong>
601                                        &nbsp;( $stuff->cb_reservataire )
602                                        </div>");
603                                $alert_sound_list[]="information";
604
605                                if ($affect) alert_empr_resa($affect) ;
606                                                 // print "<script type='text/javascript'>window.open('./pdf.php?pdfdoc=lettre_resa&id_resa=$affect', 'lettre_confirm_resa', 'toolbar=no, dependent=yes, width=600, height=500, resizable=yes, scrollbars=yes');</script>";
607                        }
608                }       
609        }
610
611        }
612
Note: See TracBrowser for help on using the repository browser.