source: pmb4.2/trunk/fuentes/pmb/edit.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 12.1 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: edit.php,v 1.59.4.1 2015-09-22 13:17:41 ngantier Exp $
6
7// définition du minimum nécéssaire
8$base_path=".";                           
9$base_auth = "EDIT_AUTH"; 
10$base_title = "\$msg[6]";
11$base_noheader=1;
12$base_nosession=1;
13$base_use_dojo = true;
14
15if ((isset($_GET["dest"])) && ($_GET["dest"]=="TABLEAUCSV" || $_GET["dest"]=="EXPORT_NOTI")) {
16       
17
18        $base_nocheck = 1 ;
19        $include_path = $base_path."/includes" ;
20        require_once("$include_path/db_param.inc.php");
21        require_once("$include_path/mysql_connect.inc.php");
22        $dbh = connection_mysql();
23        // on checke si l'utilisateur existe et si le mot de passe est OK
24        $query = "SELECT count(1) FROM users WHERE username='".$_GET["user"]."' AND pwd=password('".$_GET["password"]."') ";
25        $result = pmb_mysql_query($query, $dbh);
26        $valid_user = pmb_mysql_result($result, 0, 0);
27        if (!$valid_user) exit;
28}
29require_once ("$base_path/includes/init.inc.php");
30require_once("$include_path/marc_tables/$pmb_indexation_lang/empty_words");
31require_once("$class_path/marc_table.class.php");
32require_once("$class_path/docs_location.class.php");
33require_once("$class_path/author.class.php");
34require_once("$include_path/notice_authors.inc.php");
35require_once("$include_path/notice_categories.inc.php");
36require_once("$include_path/resa_func.inc.php");
37require_once("$include_path/resa_planning_func.inc.php");
38
39require_once("$include_path/explnum.inc.php");
40require_once("$class_path/serialcirc_diff.class.php");
41// modules propres à edit.php ou à ses sous-modules
42require("$include_path/templates/edit.tpl.php");
43
44
45// création de la page
46switch($dest) {
47        case "TABLEAU":
48                require_once ("$class_path/writeexcel/class.writeexcel_workbook.inc.php");
49                require_once ("$class_path/writeexcel/class.writeexcel_worksheet.inc.php");
50                header("Content-Type: application/x-msexcel; name=\"empr_list.xls\"");
51                header("Content-Disposition: inline; filename=\"tableau.xls\"");
52                $fichier_temp_nom=str_replace(" ","",microtime());
53                $fichier_temp_nom=str_replace("0.","",$fichier_temp_nom);
54                break;
55        case "TABLEAUHTML":
56                header("Content-Type: application/download\n");
57                header("Content-Disposition: atttachement; filename=\"tableau.html\"");
58                print "<html><head>" .
59                '<meta http-equiv=Content-Type content="text/html; charset='.$charset.'" />'.
60                "</head><body>";
61                break;
62        case "TABLEAUCSV":
63                // header ("Content-Type: text/html; charset=".$charset);
64                header("Content-Type: application/download\n");
65                header("Content-Disposition: atachement; filename=\"tableau.csv\"");
66                break;
67        case "EXPORT_NOTI":
68                // header ("Content-Type: text/html; charset=".$charset);
69                header("Content-Type: application/download\n");
70                header("Content-Disposition: atachement; filename=\"notices.doc\"");
71                break;
72        default:
73        header ("Content-Type: text/html; charset=".$charset);
74                print $std_header."<body class='$current_module claro' id='body_current_module' page_name='$current_module'>";
75                print "<div id='att' style='z-Index:1000'></div>";
76                echo window_title($database_window_title.$msg["1100"].$msg["1003"].$msg["1001"]);
77                print $menu_bar;
78                print $extra;
79                print $extra2;
80                if($use_shortcuts) {
81                        include("$include_path/shortcuts/circ.sht");
82                        }
83                print $edit_layout;
84                break;
85        }
86
87switch($categ) {
88        // EDITIONS LIEES AUX NOTICES
89        case "notices":
90                switch($sub) {
91                        case "resa" :
92                        default :
93                                include("./edit/notices.inc.php");
94                                break;
95                        }
96                break; 
97        case "serialcirc_diff":
98                switch($sub) {
99                        case "export_empr" :
100                        default :
101                                $serialcirc_diff=new serialcirc_diff($id_serialcirc,$num_abt);
102                                $fname = tempnam("./temp", "$fichier_temp_nom.xls");
103                                $workbook = new writeexcel_workbook($fname);
104                                $worksheet = &$workbook->addworksheet();
105                                $worksheet->write(0,0,$titre_page);
106                                $i=0;
107                                $j=0;
108                                $worksheet->write(0,0,$serialcirc_diff->serial_info['serial_name']);
109                                $worksheet->write(0,1,$serialcirc_diff->serial_info['abt_name']);
110                               
111                                $worksheet->write(2,0,$msg["serialcirc_print_empr_name"]);
112                                $worksheet->write(2,1,$msg["relance_export_empr_surname"]);
113                                $worksheet->write(2,2,$msg["relance_export_empr_mail"]);
114                                $worksheet->write(2,3,$msg["serialcirc_print_empr_cb"]);
115                                foreach($serialcirc_diff->diffusion as $diff){
116                                        if($diff['empr_type']==SERIALCIRC_EMPR_TYPE_empr){             
117                                                $worksheet->write(($i+3),$j,$serialcirc_diff->empr_info[ $diff['empr']['id_empr']]['nom']);     
118                                                $worksheet->write(($i+3),$j+1,$serialcirc_diff->empr_info[ $diff['empr']['id_empr']]['prenom']);       
119                                                $worksheet->write(($i+3),$j+2,$serialcirc_diff->empr_info[ $diff['empr']['id_empr']]['mail']); 
120                                                $worksheet->write(($i+3),$j+3,$serialcirc_diff->empr_info[ $diff['empr']['id_empr']]['cb']);                   
121                                                $i++;
122                                        }else{
123                                                $group_name= $diff['empr_name'];
124                                                if(count($diff['group'])){
125                                                        foreach($diff['group'] as $empr){
126                                                                $resp="";
127                                                                if($empr['responsable']){
128                                                                        $resp=$msg["serialcirc_group_responsable"];
129                                                                }       
130                                                                $worksheet->write(($i+3),$j,$empr['empr']['nom']);     
131                                                                $worksheet->write(($i+3),$j+1,$empr['empr']['prenom']); 
132                                                                $worksheet->write(($i+3),$j+2,$empr['empr']['mail']);   
133                                                                $worksheet->write(($i+3),$j+3,$empr['empr']['cb']);     
134                                                                $worksheet->write(($i+3),$j+4,$group_name);                             
135                                                                $worksheet->write(($i+3),$j+5,$resp);                   
136                                                                $i++;
137                                                        }
138                                                }
139                                        }
140                                }               
141                                $workbook->close();
142                                $fh=fopen($fname, "rb");
143                                fpassthru($fh);
144                                unlink($fname);         
145                        break;
146                }
147        break;
148        // EDITIONS LIEES AUX EMPRUNTEURS
149        case "empr":
150                $restrict="";
151                switch($sub) {
152                        case "limite" :
153                                $titre_page = $msg["1120"].": ".$msg["edit_titre_empr_abo_limite"]; 
154                                $restrict = " ((to_days(empr_date_expiration) - to_days(now()) ) <=  $pmb_relance_adhesion ) and empr_date_expiration >= now() ";
155                                include("./edit/empr_list.inc.php");
156                                break;
157                        case "depasse" :
158                                $titre_page = $msg["1120"].": ".$msg["edit_titre_empr_abo_depasse"]; 
159                                $restrict = " empr_date_expiration < now() ";
160                                include("./edit/empr_list.inc.php");
161                                break;
162                        case "cashdesk" :
163                                $titre_page = $msg["1120"].": ".$msg["cashdesk_edition_menu"]; 
164                                include("./edit/cashdesk.inc.php");
165                                break;
166                        case "categ_change" :
167                                $titre_page = $msg["1120"].": ".$msg["edit_titre_empr_categ_change"];
168                                if (($categ_action)&&($categ_action=="change_categ_empr")) {
169                                        for ($i=0; $i<count($empr); $i++) {
170                                                $id_empr=$empr[$i];
171                                                $action="empr_chang_categ_edit_".$id_empr;
172                                                global $$action;
173                                                $act=$$action;
174                                                if ($act!=0) {
175                                                        // on modifie la catégorie du lecteur si demandé
176                                                        if($id_empr){
177                                                                $requete="update empr set empr_categ=$act where id_empr=$id_empr";
178                                                                pmb_mysql_query($requete);
179                                                        }
180                                                }
181                                        }
182                                }
183                                $restrict = " ((((age_min<> 0) || (age_max <> 0)) && (age_max >= age_min)) && (((DATE_FORMAT( curdate() , '%Y' )-empr_year) < age_min) || ((DATE_FORMAT( curdate() , '%Y' )-empr_year) > age_max))) ";
184                                include("./edit/empr_list.inc.php");
185                                break;
186                        default :
187                        case "encours" :
188                                $sub = "encours" ;
189                                $titre_page = $msg["1120"].": ".$msg["1121"]; 
190                                $restrict = " empr_date_expiration >= now() ";
191                                include("./edit/empr_list.inc.php");
192                                break;
193                        }
194                       
195                if (($sub=="limite")||($sub=="depasse")) {
196                        if (($action)&&($action=="print_all")) {
197                                print "<script>openPopUp('./pdf.php?pdfdoc=lettre_relance_adhesion&action=print_all&empr_location_id=$empr_location_id&empr_statut_edit=$empr_statut_edit&restricts=".rawurlencode(stripslashes($restrict))."', 'lettre', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes');</script>";     
198                                if ($empr_relance_adhesion==1) print "<script>openPopUp('./mail.php?type_mail=mail_relance_adhesion&action=print_all&empr_location_id=$empr_location_id&empr_statut_edit=$empr_statut_edit&restricts=".rawurlencode(stripslashes($restrict))."', 'mail', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes');</script>";
199                        }       
200                }
201                break ;
202        // EDITIONS LIEES AUX PERIODIQUES
203        case "serials":
204                switch($sub) {
205                        /* en attente d'une gestion correcte du bulletinage, actuellement absente de la base de données.
206                        case "manquant" :
207                                echo "<h1>".$msg["1150"]."&nbsp;:&nbsp;".$msg["1154"]."</h1>";
208                                include("./edit/serials_manq.inc.php");
209                                break;
210                        */
211                        case "simple_circ" :
212                                echo "<h1>".$msg["1150"]."&nbsp;:&nbsp;".$msg["serial_simple_circ_edit"]."</h1>";
213                                include("./edit/serials_simple_circ.inc.php");
214                                break;
215                        case "collect" :
216                        default :
217                                $sub = "collect" ;
218                                echo "<h1>".$msg["1150"]."&nbsp;:&nbsp;".$msg["1151"]."</h1>";
219                                include("./edit/serials_coll.inc.php");
220                                break;
221                        }
222                break;
223
224        // EDITIONS DES STATISTIQUES
225        case "procs":
226                switch($dest) {
227                        case "TABLEAUCSV":
228                        default:
229                                include_once("./edit/procs.inc.php");
230                                break;
231                        }
232                break;
233
234        // CODES A BARRES
235        case "cbgen":
236                switch($sub) {
237                        default :
238                        case "libre" :
239                                $sub = "libre" ;
240                                echo "<h1>".$msg["1140"]."&nbsp;:&nbsp;".$msg["1141"]."</h1>"; 
241                                include("./edit/cbgenlibre.inc.php");
242                                break;
243                        }
244                break;
245
246        //LES TRANSFERTS
247        case "transferts" :
248                require_once ("./edit/transferts.inc.php");
249        break;
250       
251        //STATISTIQUES DE L'OPAC
252        case "stat_opac" :
253                //echo "<h1>".$msg["opac_admin_menu"]."&nbsp;:&nbsp;".$msg["stat_opac_menu"]."</h1>";
254                include("./edit/stat_opac.inc.php");
255                break;
256               
257        // Edition Template de notices
258        case "tpl" :
259                switch($sub) {
260                        case "serialcirc" :
261                                echo "<h1>".$msg["edit_tpl_menu"]."&nbsp;:&nbsp;".$msg["edit_serialcirc_tpl_menu"]."</h1>";
262                                include("./edit/serialcirc_tpl.inc.php");
263                                break;
264                        case "notice" :
265                        default :
266                                echo "<h1>".$msg["edit_tpl_menu"]."&nbsp;:&nbsp;".$msg["edit_notice_tpl_menu"]."</h1>";
267                                include("./edit/notice_tpl.inc.php");
268                        break;
269                        case "bannette" :
270                                echo "<h1>".$msg["edit_tpl_menu"]."&nbsp;:&nbsp;".$msg["edit_bannette_tpl_menu"]."</h1>";
271                                include("./edit/bannette_tpl.inc.php");
272                        break;
273                }
274        break;
275        case "state" :
276                include($base_path."/edit/editions_state/main.inc.php");
277                break;
278        // EDITIONS LIEES AUX EXEMPLAIRES
279        default:
280        case "expl":
281                $categ = "expl" ;
282                switch($sub) {
283                                case "ppargroupe" :
284                                        $critere_requete=" order by libelle_groupe, empr_nom, empr_prenom, pret_retour ";
285                                        include("./edit/expl_groupe.inc.php");
286                                        break;
287                                case "rpargroupe" :
288                                        $critere_requete=" and pret_retour < curdate() order by libelle_groupe, empr_nom, empr_prenom, pret_retour ";
289                                        include("./edit/expl_groupe.inc.php");
290                                        break; 
291                                case "retard" :
292                                        $titre_page = $msg[1110]." : ".$msg[1112];
293                                        $critere_requete=" and pret_retour < curdate() order by empr_nom, empr_prenom ";
294                                        include("./edit/expl.inc.php");
295                                        break;
296                                case "retard_par_date" :
297                                        $titre_page = $msg[1110]." : ".$msg['edit_expl_retard_par_date'];
298                                        $critere_requete=" and pret_retour < curdate() order by pret_retour, empr_nom, empr_prenom ";
299                                        include("./edit/expl.inc.php");
300                                        break;
301                                case "owner" :
302                                        $critere_requete=" order by idlender, expl_cote, expl_cb ";
303                                        include("./edit/expl_owner.inc.php");
304                                        break;
305                                case "relance" :
306                                        include("./edit/relance.inc.php");
307                                        break;                                 
308                                case 'short_loans' :
309                                        $titre_page = $msg['short_loans'];
310                                        $critere_requete=" and short_loan_flag='1' order by pret_retour ";
311                                        include("./edit/expl.inc.php");
312                                        break;
313                                case 'unreturned_short_loans' :
314                                        $titre_page = $msg['short_loans'];
315                                        $critere_requete=" and short_loan_flag='1' and pret_date < curdate() and pret_retour >= curdate() order by pret_retour ";
316                                        include("./edit/expl.inc.php");
317                                        break;
318                                case 'overdue_short_loans' :
319                                        $titre_page = $msg['short_loans'];
320                                        $critere_requete=" and short_loan_flag='1' and pret_retour < curdate() order by pret_retour ";
321                                        include("./edit/expl.inc.php");
322                                        break;                                 
323                                default :
324                                case "encours" :
325                                        $sub = "encours" ;
326                                        $titre_page = $msg[1110]." : ".$msg[1111];
327                                        $critere_requete=" order by pret_retour ";
328                                        include("./edit/expl.inc.php");
329                                        break;
330                                }
331                break;
332        }
333        switch($dest) {
334                case "TABLEAU":
335                case "TABLEAUCSV":
336                case "EXPORT_NOTI":
337                        break;
338                case "TABLEAUHTML":
339                        print $footer;
340                        break;
341                default:
342                        print $edit_layout_end;
343                        print $footer;
344                        print "</body>" ;
345                        break;
346        }
347       
348pmb_mysql_close($dbh);
Note: See TracBrowser for help on using the repository browser.