source: pmb4.1/trunk/fuentes/pmb/admin/misc/alter_v5.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: 214.9 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: alter_v5.inc.php,v 1.344.2.6 2014-07-29 14:23:34 dbellamy Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9settype ($action,"string");
10
11mysql_query("set names latin1 ", $dbh);
12
13switch ($action) {
14        case "lancement":
15                switch ($version_pmb_bdd) {
16                        case "v4.94":
17                        case "v4.95":
18                        case "v4.96":
19                        case "v4.97":
20                                $maj_a_faire = "v5.00";
21                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
22                                echo form_relance ($maj_a_faire);
23                                break;
24                        case "v5.00":
25                                $maj_a_faire = "v5.01";
26                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
27                                echo form_relance ($maj_a_faire);
28                                break;
29                        case "v5.01":
30                                $maj_a_faire = "v5.02";
31                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
32                                echo form_relance ($maj_a_faire);
33                                break;
34                        case "v5.02":
35                                $maj_a_faire = "v5.03";
36                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
37                                echo form_relance ($maj_a_faire);
38                                break;
39                        case "v5.03":
40                        case "v5.04":
41                                $maj_a_faire = "v5.05";
42                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
43                                echo form_relance ($maj_a_faire);
44                                break;
45                        case "v5.05":
46                                $maj_a_faire = "v5.06";
47                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
48                                echo form_relance ($maj_a_faire);
49                                break;
50                        case "v5.06":
51                                $maj_a_faire = "v5.07";
52                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
53                                echo form_relance ($maj_a_faire);
54                                break;
55                        case "v5.07":
56                                $maj_a_faire = "v5.08";
57                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
58                                echo form_relance ($maj_a_faire);
59                                break;
60                        case "v5.08":
61                                $maj_a_faire = "v5.09";
62                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
63                                echo form_relance ($maj_a_faire);
64                                break;
65                        case "v5.09":
66                                $maj_a_faire = "v5.10";
67                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
68                                echo form_relance ($maj_a_faire);
69                                break;
70                        case "v5.10":
71                                $maj_a_faire = "v5.11";
72                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
73                                echo form_relance ($maj_a_faire);
74                                break;
75                        case "v5.11":
76                                $maj_a_faire = "v5.12";
77                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
78                                echo form_relance ($maj_a_faire);
79                                break;
80                        case "v5.12":
81                                $maj_a_faire = "v5.13";
82                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
83                                echo form_relance ($maj_a_faire);
84                                break;
85                        case "v5.13":
86                                $maj_a_faire = "v5.14";
87                                echo "<strong><font color='#FF0000'>".$msg[1804]."$maj_a_faire !</font></strong><br />";
88                                echo form_relance ($maj_a_faire);
89                                break;
90                        case "v5.14":
91                                echo "<strong><font color='#FF0000'>".$msg[1805].$version_pmb_bdd." !</font></strong><br />";
92                                break;
93
94                        default:
95                                echo "<strong><font color='#FF0000'>".$msg[1806].$version_pmb_bdd." !</font></strong><br />";
96                                break;
97                        }
98                break;
99
100        case "v5.00":
101                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
102                // +-------------------------------------------------+
103                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='opac_view_activate' "))==0){
104                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
105                                        VALUES (NULL, 'pmb', 'opac_view_activate', '0', 'Activer les vues OPAC:\n 0 : non activé \n 1 : activé', '', '0')";
106                        echo traite_rqt($rqt,"insert pmb_opac_view_activate='0' into parametres ");
107                }
108
109                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='opac_view_activate' "))==0){
110                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
111                                        VALUES (NULL, 'opac', 'opac_view_activate', '0', 'Activer les vues OPAC:\n 0 : non activé \n 1 : activé', 'a_general', '0')";
112                        echo traite_rqt($rqt,"insert opac_opac_view_activate='0' into parametres ");
113                }
114
115                //Gestion des vues Opac
116                $rqt = "CREATE TABLE if not exists opac_views (
117                        opac_view_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
118                        opac_view_name VARCHAR( 255 ) NOT NULL default '',
119                        opac_view_query TEXT NOT NULL,
120                        opac_view_human_query TEXT NOT NULL,
121                        opac_view_param TEXT NOT NULL,
122                        opac_view_visible INT( 1 ) UNSIGNED NOT NULL default 0,
123                        opac_view_comment TEXT NOT NULL)";
124                echo traite_rqt($rqt,"CREATE TABLE opac_views ") ;
125
126                //Gestion des filtres de module ( pour vues Opac )
127                $rqt = "CREATE TABLE if not exists opac_filters (
128                        opac_filter_view_num INT UNSIGNED NOT NULL default 0 ,
129                        opac_filter_path VARCHAR( 20 ) NOT NULL default '',
130                        opac_filter_param TEXT NOT NULL,
131                        PRIMARY KEY(opac_filter_view_num,opac_filter_path))";
132                echo traite_rqt($rqt,"CREATE TABLE opac_filters ") ;
133
134                //Gestion générique des subst de parametre ( pour vues Opac )
135                $rqt = "CREATE TABLE if not exists param_subst (
136                        subst_module_param VARCHAR( 20 ) NOT NULL default '',
137                        subst_module_num INT( 2 ) UNSIGNED NOT NULL default 0,
138                        subst_type_param VARCHAR( 20 ) NOT NULL default '',
139                        subst_sstype_param VARCHAR( 255 ) NOT NULL default '',
140                        subst_valeur_param TEXT NOT NULL,
141                        subst_comment_param longtext NOT NULL,
142                        PRIMARY KEY(subst_module_param, subst_module_num, subst_type_param, subst_sstype_param))";
143                echo traite_rqt($rqt,"CREATE TABLE param_subst ") ;
144
145                $rqt = "CREATE TABLE if not exists opac_views_empr (
146                        emprview_view_num INT UNSIGNED NOT NULL default 0 ,
147                        emprview_empr_num INT UNSIGNED NOT NULL default 0 ,
148                    emprview_default INT UNSIGNED NOT NULL default 0 ,
149                        PRIMARY KEY(emprview_view_num,emprview_empr_num))";
150                echo traite_rqt($rqt,"CREATE TABLE opac_views_empr ") ;
151
152                // Gestion des sur-localisations
153                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='sur_location_activate' "))==0){
154                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
155                                        VALUES (NULL, 'pmb', 'sur_location_activate', '0', 'Activer les sur-localisations:\n 0 : non activé \n 1 : activé', '', '0')";
156                        echo traite_rqt($rqt,"insert pmb_sur_location_activate='0' into parametres ");
157                }
158                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='sur_location_activate' "))==0){
159                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
160                                        VALUES (NULL, 'opac', 'sur_location_activate', '0', 'Activer les sur-localisations:\n 0 : non activé \n 1 : activé', 'a_general', '0')";
161                        echo traite_rqt($rqt,"insert opac_sur_location_activate='0' into parametres ");
162                }
163
164                $rqt = "CREATE TABLE if not exists sur_location (
165                        surloc_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
166                        surloc_libelle VARCHAR( 255 ) NOT NULL default '',
167                        surloc_pic VARCHAR( 255 ) NOT NULL default '',
168                        surloc_visible_opac tinyint( 1 ) UNSIGNED NOT NULL default 1,
169                        surloc_name VARCHAR( 255 ) NOT NULL default '',
170                        surloc_adr1 VARCHAR( 255 ) NOT NULL default '',
171                        surloc_adr2 VARCHAR( 255 ) NOT NULL default '',
172                        surloc_cp VARCHAR( 15 ) NOT NULL default '',
173                        surloc_town VARCHAR( 100 ) NOT NULL default '',
174                        surloc_state VARCHAR( 100 ) NOT NULL default '',
175                        surloc_country VARCHAR( 100 ) NOT NULL default '',
176                        surloc_phone VARCHAR( 100 ) NOT NULL default '',
177                        surloc_email VARCHAR( 100 ) NOT NULL default '',
178                        surloc_website VARCHAR( 100 ) NOT NULL default '',
179                        surloc_logo VARCHAR( 100 ) NOT NULL default '',
180                        surloc_comment TEXT NOT NULL,
181                        surloc_num_infopage INT( 6 ) UNSIGNED NOT NULL default 0,
182                        surloc_css_style VARCHAR( 100 ) NOT NULL default '')";
183                echo traite_rqt($rqt,"CREATE TABLE sur_location ") ;
184
185                $rqt = "ALTER TABLE docs_location ADD surloc_num INT NOT NULL default 0";
186                echo traite_rqt($rqt,"alter table docs_location add surloc_num");
187
188                $rqt = "ALTER TABLE docs_location ADD surloc_used tinyint( 1 ) NOT NULL default 0";
189                echo traite_rqt($rqt,"alter table docs_location add surloc_used");
190
191                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='opac_view_class' "))==0){
192                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param) VALUES (0, 'pmb', 'opac_view_class', '', 'Nom de la classe substituant la class opac_view pour la personnalisation de la gestion des vues Opac','')";
193                        echo traite_rqt($rqt,"insert pmb_opac_view_class='' into parametres");
194                }
195                // +-------------------------------------------------+
196                echo "</table>";
197                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
198                $res = mysql_query($rqt, $dbh) ;
199                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
200                echo form_relance ("v5.01");
201                break;
202
203        case "v5.01":
204                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
205                // +-------------------------------------------------+
206
207                // Favicon, reporté de la 4.94 - ER
208                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='faviconurl' "))==0){
209                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param) VALUES (0, 'opac', 'faviconurl', '', 'URL du favicon, si vide favicon=celui de PMB','a_general')";
210                        echo traite_rqt($rqt,"insert opac_faviconurl='' into parametres");
211                }
212
213                //on précise si une source est interrogée directement en ajax dans l'OPAC
214                $rqt = "ALTER TABLE connectors_sources ADD opac_affiliate_search INT NOT NULL default 0";
215                echo traite_rqt($rqt,"alter table connectors_sources add opac_affiliate_search");
216
217                // Activation des recherches affiliées dans les sources externes
218                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='allow_affiliate_search' "))==0){
219                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
220                                        VALUES (NULL, 'opac', 'allow_affiliate_search', '0', 'Activer les recherches affiliées en OPAC:\n 0 : non \n 1 : oui', 'c_recherche', '0')";
221                        echo traite_rqt($rqt,"insert opac_allow_affiliate_search='0' into parametres ");
222                }
223
224                $rqt = "ALTER TABLE users CHANGE explr_invisible explr_invisible TEXT NULL ";
225                echo traite_rqt($rqt,"ALTER TABLE users CHANGE explr_invisible explr_invisible TEXT NULL");
226                $rqt = "ALTER TABLE users CHANGE explr_visible_mod explr_visible_mod TEXT NULL ";
227                echo traite_rqt($rqt,"ALTER TABLE users CHANGE explr_visible_mod explr_visible_mod TEXT NULL");
228                $rqt = "ALTER TABLE users CHANGE explr_visible_unmod explr_visible_unmod TEXT NULL ";
229                echo traite_rqt($rqt,"ALTER TABLE users CHANGE explr_visible_unmod explr_visible_unmod TEXT NULL");
230
231                //ajout table statuts de lignes d'actes
232                $rqt = "CREATE TABLE lignes_actes_statuts (
233                        id_statut INT(3) NOT NULL AUTO_INCREMENT,
234                        libelle TEXT NOT NULL,
235                        relance INT(3) NOT NULL DEFAULT 0,
236                        PRIMARY KEY (id_statut)
237                        )  ";
238                echo traite_rqt($rqt,"create table lignes_actes_statuts");
239
240                $rqt = "CREATE TABLE lignes_actes_relances (
241                        num_ligne INT UNSIGNED NOT NULL ,
242                        date_relance DATE NOT NULL default '0000-00-00',
243                        type_ligne int(3) unsigned NOT NULL DEFAULT 0,
244                        num_acte int(8) unsigned NOT NULL DEFAULT 0,
245                        lig_ref int(15) unsigned NOT NULL DEFAULT 0,
246                        num_acquisition int(12) unsigned NOT NULL DEFAULT 0,
247                        num_rubrique int(8) unsigned NOT NULL DEFAULT 0,
248                        num_produit int(8) unsigned NOT NULL DEFAULT 0,
249                        num_type int(8) unsigned NOT NULL DEFAULT 0,
250                        libelle text NOT NULL,
251                        code varchar(255) NOT NULL DEFAULT '',
252                        prix float(8,2) NOT NULL DEFAULT 0,
253                        tva float(8,2) unsigned NOT NULL DEFAULT 0,
254                        nb int(5) unsigned NOT NULL DEFAULT 1,
255                        date_ech date NOT NULL DEFAULT '0000-00-00',
256                        date_cre date NOT NULL DEFAULT '0000-00-00',
257                        statut int(3) unsigned NOT NULL DEFAULT 1,
258                        remise float(8,2) NOT NULL DEFAULT 0,
259                        index_ligne text NOT NULL,
260                        ligne_ordre smallint(2) unsigned NOT NULL DEFAULT 0,
261                        debit_tva smallint(2) unsigned NOT NULL DEFAULT 0,
262                        commentaires_gestion text NOT NULL,
263                        commentaires_opac text NOT NULL,
264                        PRIMARY KEY (num_ligne, date_relance)
265                        ) ";
266                echo traite_rqt($rqt,"create table lignes_actes_relances");
267
268                //ajout d'un statut de lignes d'actes par défaut
269                if (mysql_num_rows(mysql_query("select 1 from lignes_actes_statuts where id_statut='1' "))==0) {
270                        $rqt = "INSERT INTO lignes_actes_statuts (id_statut,libelle,relance) VALUES (1 ,'Traitement normal', '1') ";
271                        echo traite_rqt($rqt,"insert default lignes_actes_statuts");
272                }
273
274                //raz des statuts de lignes d'actes
275                $rqt = "UPDATE lignes_actes set statut='1' ";
276                echo traite_rqt($rqt,"alter lignes_actes raz statut");
277
278                //ajout d'un statut de ligne d'acte par défaut par utilisateur pour les devis
279                $rqt = "ALTER TABLE users ADD deflt3lgstatdev int(3) not null default 1 ";
280                echo traite_rqt($rqt,"ALTER TABLE users ADD default lg state dev");
281
282                //ajout d'un statut de ligne d'acte par défaut par utilisateur pour les commandes
283                $rqt = "ALTER TABLE users ADD deflt3lgstatcde int(3) not null default 1 ";
284                echo traite_rqt($rqt,"ALTER TABLE users ADD default lg state cde");
285
286                //ajout d'un commentaire de gestion pour les lignes d'actes
287                $rqt = "ALTER TABLE lignes_actes ADD commentaires_gestion TEXT NOT NULL";
288                echo traite_rqt($rqt,"alter table lignes_actes add commentaires_gestion");
289
290                //ajout d'un commentaire OPAC pour les lignes d'actes
291                $rqt = "ALTER TABLE lignes_actes ADD commentaires_opac TEXT NOT NULL";
292                echo traite_rqt($rqt,"alter table lignes_actes add commentaires_opac");
293
294                //ajout d'un nom (pour les commandes)
295                $rqt = "ALTER TABLE actes ADD nom_acte VARCHAR(255) NOT NULL DEFAULT '' ";
296                echo traite_rqt($rqt,"alter table actes add nom_acte");
297
298                //Paramètres de mise en page des relances d'acquisitions
299                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_format_page' "))==0){
300                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
301                                        VALUES(0,'acquisition','pdfrel_format_page','210x297','Largeur x Hauteur de la page en mm','pdfrel',0)" ;
302                        echo traite_rqt($rqt,"insert acquisition_pdfrel_format_page into parametres") ;
303                }
304                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_orient_page' "))==0){
305                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
306                                        VALUES(0,'acquisition','pdfrel_orient_page','P','Orientation de la page: P=Portrait, L=Paysage','pdfrel',0)" ;
307                        echo traite_rqt($rqt,"insert acquisition_pdfrel_orient_page into parametres") ;
308                }
309                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_marges_page' "))==0){
310                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
311                                        VALUES(0,'acquisition','pdfrel_marges_page','10,20,10,10','Marges de page en mm : Haut,Bas,Droite,Gauche','pdfrel',0)" ;
312                        echo traite_rqt($rqt,"insert acquisition_pdfrel_marges_page into parametres") ;
313                }
314                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pos_logo' "))==0){
315                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
316                                        VALUES(0,'acquisition','pdfrel_pos_logo','10,10,20,20','Position du logo: Distance par rapport au bord gauche de la page,Distance par rapport au haut de la page,Largeur,Hauteur','pdfrel',0)" ;
317                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pos_logo into parametres") ;
318                }
319                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pos_raison' "))==0){
320                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
321                                        VALUES(0,'acquisition','pdfrel_pos_raison','35,10,100,10,16','Position Raison sociale: Distance par rapport au bord gauche de la page,Distance par rapport au haut de la page,Largeur,Hauteur,Taille police','pdfrel',0)" ;
322                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pos_raison into parametres") ;
323                }
324                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pos_date' "))==0){
325                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
326                                        VALUES(0,'acquisition','pdfrel_pos_date','170,10,0,6,8','Position Date: Distance par rapport au bord gauche de la page,Distance par rapport au haut de la page,Largeur,Hauteur,Taille police','pdfrel',0)" ;
327                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pos_date into parametres") ;
328                }
329                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pos_adr_rel' "))==0){
330                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
331                                        VALUES(0,'acquisition','pdfrel_pos_adr_rel','10,35,60,5,10','Position Adresse de relance: Distance par rapport au bord gauche de la page,Distance par rapport au haut de la page,Largeur,Hauteur,Taille police','pdfrel',0)" ;
332                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pos_adr_rel into parametres") ;
333                }
334                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pos_adr_fou' "))==0){
335                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
336                                        VALUES(0,'acquisition','pdfrel_pos_adr_fou','100,55,100,6,14','Position Adresse fournisseur: Distance par rapport au bord gauche de la page,Distance par rapport au haut de la page,Largeur,Hauteur,Taille police','pdfrel',0)" ;
337                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pos_adr_fou into parametres") ;
338                }
339                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pos_num_cli' "))==0){
340                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
341                                        VALUES(0,'acquisition','pdfrel_pos_num_cli','10,80,0,10,16','Position numéro de client: Distance par rapport au bord gauche de la page,Distance par rapport au haut de la page,Largeur,Hauteur,Taille police','pdfrel',0)" ;
342                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pos_num_cli into parametres") ;
343                }
344                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pos_num' "))==0){
345                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
346                                        VALUES(0,'acquisition','pdfrel_pos_num','10,0,10,16','Position numéro de commande/devis: Distance par rapport au bord gauche de la page,Largeur,Hauteur,Taille police','pdfrel',0)" ;
347                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pos_num into parametres") ;
348                }
349                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_text_size' "))==0){
350                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
351                                        VALUES(0,'acquisition','pdfrel_text_size','10','Taille de la police texte','pdfrel',0)" ;
352                        echo traite_rqt($rqt,"insert acquisition_pdfrel_text_size into parametres") ;
353                }
354                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pos_titre' "))==0){
355                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
356                                        VALUES(0,'acquisition','pdfrel_pos_titre','10,90,100,10,16','Position titre: Distance par rapport au bord gauche de la page,Distance par rapport au haut de la page,Largeur,Hauteur,Taille police','pdfrel',0)" ;
357                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pos_titre into parametres") ;
358                }
359                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_text_before' "))==0){
360                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
361                                        VALUES(0,'acquisition','pdfrel_text_before','','Texte avant le tableau de relances','pdfrel',0)" ;
362                        echo traite_rqt($rqt,"insert acquisition_pdfrel_text_before into parametres") ;
363                }
364                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_text_after' "))==0){
365                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
366                                        VALUES(0,'acquisition','pdfrel_text_after','','Texte après le tableau de relances','pdfrel',0)" ;
367                        echo traite_rqt($rqt,"insert acquisition_pdfrel_text_after into parametres") ;
368                }
369                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_tab_rel' "))==0){
370                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
371                                        VALUES(0,'acquisition','pdfrel_tab_rel','5,10','Tableau de relances: Hauteur ligne,Taille police','pdfrel',0)" ;
372                        echo traite_rqt($rqt,"insert acquisition_pdfrel_tab_rel into parametres") ;
373                }
374                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pos_footer' "))==0){
375                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
376                                        VALUES(0,'acquisition','pdfrel_pos_footer','15,8','Position bas de page: Distance par rapport au bas de page, Taille police','pdfrel',0)" ;
377                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pos_footer into parametres") ;
378                }
379                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pos_sign' "))==0){
380                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
381                                        VALUES(0,'acquisition','pdfrel_pos_sign','10,60,5,10','Position signature: Distance par rapport au bord gauche de la page, Largeur, Hauteur ligne,Taille police','pdfrel',0)" ;
382                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pos_sign into parametres") ;
383                }
384                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_text_sign' "))==0){
385                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
386                                        VALUES(0,'acquisition','pdfrel_text_sign','Le responsable de la bibliothèque.','Texte signature','pdfrel',0)" ;
387                        echo traite_rqt($rqt,"insert acquisition_pdfrel_text_sign into parametres") ;
388                }
389                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_by_mail' "))==0){
390                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
391                                        VALUES(0,'acquisition','pdfrel_by_mail','1','Effectuer les relances par mail :\n 0 : non \n 1 : oui','pdfrel',0)" ;
392                        echo traite_rqt($rqt,"insert acquisition_pdfrel_by_mail into parametres") ;
393                }
394                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_text_mail' "))==0){
395                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
396                                        VALUES(0,'acquisition','pdfrel_text_mail','Bonjour, \r\n\r\nVous trouverez ci-joint un état des commandes en cours.\r\n\r\nMerci de nous préciser par retour vos délais d\'envoi.\r\n\r\nCordialement,\r\n\r\nLe responsable de la bibliothèque.','Texte du mail','pdfrel',0)" ;
397                        echo traite_rqt($rqt,"insert acquisition_pdfrel_text_mail into parametres") ;
398                }
399
400                //ajout bulletinage avec document numérique
401                $rqt = "ALTER TABLE abts_abts ADD abt_numeric int(1) not null default 0 ";
402                echo traite_rqt($rqt,"ALTER TABLE abts_abts ADD abt_numeric ");
403
404                //ajout dans les bannettes la possibilité de ne pas tenir compte du statut des notices
405                $rqt = "ALTER TABLE bannettes ADD statut_not_account INT( 1 ) UNSIGNED NOT NULL default 0 ";
406                echo traite_rqt($rqt,"alter table bannettes add statut_not_account");
407
408                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_perio_browser' "))==0){
409                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
410                                        VALUES(0,'opac','show_perio_browser','0','Affichage du navigateur de périodiques en page d\'accueil OPAC.\n 0 : Non.\n 1 : Oui.','f_modules',0)" ;
411                        echo traite_rqt($rqt,"insert opac_show_perio_browser into parametres") ;
412                }
413
414                // Gestion des relances des périodiques
415                $rqt = "CREATE TABLE perio_relance (
416                        rel_id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
417                        rel_abt_num int(10) unsigned NOT NULL DEFAULT 0,
418                        rel_date_parution date NOT NULL default '0000-00-00',
419                        rel_libelle_numero varchar(255) default NULL,
420                        rel_comment_gestion TEXT NOT NULL,
421                        rel_comment_opac TEXT NOT NULL ,
422                        rel_nb int unsigned NOT NULL DEFAULT 0,
423                        rel_date date NOT NULL default '0000-00-00',
424                        PRIMARY KEY  (rel_id) ) ";
425                echo traite_rqt($rqt,"create table perio_relance ");
426
427                //relances d'acquisitions en pdf/rtf
428                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_pdfrtf' "))==0){
429                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
430                                        VALUES(0,'acquisition','pdfrel_pdfrtf','0','Envoi des relances en :\n 0 : pdf\n 1 : rtf','pdfrel',0)" ;
431                        echo traite_rqt($rqt,"insert acquisition_pdfrel_pdfrtf into parametres") ;
432                }
433
434                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_onglet_perio_a2z' "))==0){
435                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
436                                        VALUES(0,'opac','show_onglet_perio_a2z','0','Activer l\'onglet du navigateur de périodiques en OPAC.\n 0 : Non.\n 1 : Oui.','c_recherche',0)" ;
437                        echo traite_rqt($rqt,"insert opac_show_onglet_perio_a2z into parametres") ;
438                }
439
440                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='avis_note_display_mode' "))==0){
441                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
442                                        VALUES(0,'opac','avis_note_display_mode','1','Mode d\'affichage de la note pour les avis de notices.\n 0 : Note non visible.\n 1 : Affichage de la note sous la forme d\'étoiles.\n 2 : Affichage de la note sous la forme textuelle.\n 3 : Affichage de la note sous la forme textuelle et d\'étoiles.','a_general',0)" ;
443                        echo traite_rqt($rqt,"insert opac_avis_note_display_mode into parametres") ;
444                }
445                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='avis_display_mode' "))==0){
446                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
447                                        VALUES(0,'opac','avis_display_mode','0','Mode d\'affichage des avis de notices.\n 0 : Visible en lien à coté de l\'onglet Public/ISBD de la notice.\n 1 : Visible dans la notice.','a_general',0)" ;
448                        echo traite_rqt($rqt,"insert opac_avis_display_mode into parametres") ;
449                }
450
451                $rqt = "ALTER TABLE avis ADD avis_rank INT UNSIGNED NOT NULL DEFAULT 0 ";
452                echo traite_rqt($rqt,"ALTER TABLE avis ADD avis_rank") ;
453
454                //Module Gestionnaire de tâches
455                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='planificateur_allow' "))==0){
456                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pmb', 'planificateur_allow', '0', 'Planificateur activé.\n 0 : Non.\n 1 : Oui.', '',0) ";
457                        echo traite_rqt($rqt, "insert pmb_planificateur_allow=0 into parameters");
458                }
459
460                $rqt = "CREATE TABLE taches_type (
461                                id_type_tache int(11) unsigned NOT NULL,
462                                parameters text NOT NULL,
463                                timeout int(11) NOT NULL default '5',
464                                histo_day int(11) NOT NULL default '7',
465                                histo_number int(11) NOT NULL default '3',
466                                PRIMARY KEY  (id_type_tache)
467                                )";
468                echo traite_rqt($rqt, "CREATE TABLE taches_type ");
469
470                // Création des tables nécessaires au gestionnaire de tâches
471                $rqt="CREATE TABLE taches (
472                        id_tache int(11) unsigned auto_increment,
473                        num_planificateur int(11),
474                        start_at datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
475                        end_at datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
476                        status varchar(128),
477                        msg_statut blob,
478                        commande int(8) NOT NULL default 0,
479                        next_state int(8) NOT NULL default 0,
480                        msg_commande blob,
481                        indicat_progress int(3),
482                        rapport text,
483                        id_process int(8),
484                        primary key (id_tache));";
485                echo traite_rqt($rqt,"CREATE TABLE taches ");
486
487                $rqt="CREATE TABLE planificateur (
488                        id_planificateur int(11) unsigned auto_increment,
489                        num_type_tache int(11) NOT NULL,
490                        libelle_tache VARCHAR(255) NOT NULL,
491                        desc_tache VARCHAR(255),
492                        num_user int(11) NOT NULL,
493                        param text,
494                        statut tinyint(1) unsigned DEFAULT 0,
495                        rep_upload int(8),
496                        path_upload text,
497                        perio_heure varchar(28),
498                        perio_minute varchar(28) DEFAULT '01',
499                        perio_jour varchar(128),
500                        perio_mois varchar(128),
501                        calc_next_heure_deb varchar(28),
502                        calc_next_date_deb date,
503                        primary key (id_planificateur))";
504                echo traite_rqt($rqt,"CREATE TABLE planificateur ");
505
506                $rqt="CREATE TABLE taches_docnum (
507                        id_tache_docnum int(11) unsigned auto_increment,
508                        tache_docnum_nomfichier varchar(255) NOT NULL,
509                        tache_docnum_mimetype VARCHAR(255) NOT NULL,
510                        tache_docnum_data mediumblob NOT NULL,
511                        tache_docnum_extfichier varchar(20),
512                        tache_docnum_repertoire int(8),
513                        tache_docnum_path text NOT NULL,
514                        num_tache int(11) NOT NULL,
515                        primary key (id_tache_docnum))";
516                echo traite_rqt($rqt,"CREATE TABLE taches_docnum ");
517
518                //modification de la longueur du champ numero de la table actes
519                $rqt = "ALTER TABLE actes MODIFY numero varchar(255) NOT NULL default '' ";
520                echo traite_rqt($rqt,"alter table actes modify numero");
521
522                //ajout d'un statut par défaut en réception pour les suggestions
523                $rqt = "ALTER TABLE users ADD deflt3receptsugstat int(3) not null default 32 ";
524                echo traite_rqt($rqt,"ALTER TABLE users ADD default recept sug state");
525
526                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfrel_obj_mail' "))==0){
527                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
528                                        VALUES(0,'acquisition','pdfrel_obj_mail','Etat des en-cours','Objet du mail','pdfrel',0)" ;
529                        echo traite_rqt($rqt,"insert acquisition_pdfrel_obj_mail into parametres") ;
530                }
531
532                //ajout de paramètres pour l'envoi de commandes par mail
533                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfcde_by_mail' "))==0){
534                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
535                                        VALUES(0,'acquisition','pdfcde_by_mail','1','Effectuer les envois de commandes par mail :\n 0 : non \n 1 : oui','pdfcde',0)" ;
536                        echo traite_rqt($rqt,"insert acquisition_pdfcde_by_mail into parametres") ;
537                }
538                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfcde_obj_mail' "))==0){
539                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
540                                        VALUES(0,'acquisition','pdfcde_obj_mail','Commande','Objet du mail','pdfcde',0)" ;
541                        echo traite_rqt($rqt,"insert acquisition_pdfcde_obj_mail into parametres") ;
542                }
543                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfcde_text_mail' "))==0){
544                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
545                                        VALUES(0,'acquisition','pdfcde_text_mail','Bonjour, \r\n\r\nVous trouverez ci-joint une commande à traiter.\r\n\r\nMerci de nous confirmer par retour vos délais d\'envoi.\r\n\r\nCordialement,\r\n\r\nLe responsable de la bibliothèque.','Texte du mail','pdfcde',0)" ;
546                        echo traite_rqt($rqt,"insert acquisition_pdfcde_text_mail into parametres") ;
547                }
548
549                //ajout de paramètres pour l'envoi de devis par mail
550                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfdev_by_mail' "))==0){
551                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
552                                        VALUES(0,'acquisition','pdfdev_by_mail','1','Effectuer les envois de demandes de devis par mail :\n 0 : non \n 1 : oui','pdfdev',0)" ;
553                        echo traite_rqt($rqt,"insert acquisition_pdfdev_by_mail into parametres") ;
554                }
555                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfdev_obj_mail' "))==0){
556                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
557                                        VALUES(0,'acquisition','pdfdev_obj_mail','Demande de devis','Objet du mail','pdfdev',0)" ;
558                        echo traite_rqt($rqt,"insert acquisition_pdfdev_obj_mail into parametres") ;
559                }
560                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='pdfdev_text_mail' "))==0){
561                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
562                                        VALUES(0,'acquisition','pdfdev_text_mail','Bonjour, \r\n\r\nVous trouverez ci-joint une demande de devis.\r\n\r\nCordialement,\r\n\r\nLe responsable de la bibliothèque.','Texte du mail','pdfdev',0)" ;
563                        echo traite_rqt($rqt,"insert acquisition_pdfcdev_text_mail into parametres") ;
564                }
565
566                // masquer la possibilité d'uploader les docnum en base
567                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='docnum_in_database_allow' "))==0){
568                        if (mysql_num_rows(mysql_query("select * from upload_repertoire "))==0) $upd_param_docnum_in_database_allow = 1;
569                        else $upd_param_docnum_in_database_allow=0;
570                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
571                                VALUES (0, 'pmb', 'docnum_in_database_allow', '$upd_param_docnum_in_database_allow', 'Autoriser le stockage de document numérique en base ? \n 0 : Non.\n 1 : Oui.', '',0) ";
572                        echo traite_rqt($rqt, "insert pmb_docnum_in_database_allow=$upd_param_docnum_in_database_allow into parameters <br><b>SET this parameter to 1 to (re)allow file storage in database !</b>");
573                }
574
575                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='recherche_ajax_mode' "))==0){
576                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
577                                        VALUES (NULL, 'opac', 'recherche_ajax_mode', '1', 'Affichage accéléré des résultats de recherche: header uniquement, la suite est chargée lors du click sur le \"+\".\n 0: Inactif\n 1: Actif (par lot)\n 2: Actif (par notice)', 'c_recherche', '0')" ;
578                        echo traite_rqt($rqt,"insert opac_recherche_ajax_mode=1 into parametres") ;
579                }
580
581                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='avis_note_display_mode' "))==0){
582                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
583                                        VALUES(0,'pmb','avis_note_display_mode','1','Mode d\'affichage de la note pour les avis de notices.\n 0 : Note non visible.\n 1 : Affichage de la note sous la forme d\'étoiles.\n 2 : Affichage de la note sous la forme textuelle.\n 3 : Affichage de la note sous la forme textuelle et d\'étoiles.','',0)" ;
584                        echo traite_rqt($rqt,"insert pmb_avis_note_display_mode into parametres") ;
585                }
586
587                // +-------------------------------------------------+
588                echo "</table>";
589                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
590                $res = mysql_query($rqt, $dbh) ;
591                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
592                echo form_relance ("v5.02");
593                break;
594
595        case "v5.02":
596                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
597                // +-------------------------------------------------+
598
599                //Module CMS
600                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'cms' and sstype_param='active' "))==0){
601                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
602                                        VALUES (0, 'cms', 'active', '0', 'Module \'Portail\' activé.\n 0 : Non.\n 1 : Oui.', '',0) ";
603                        echo traite_rqt($rqt, "insert cms_active=0 into parameters");
604                }
605
606                //langue d'indexation par défaut
607                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='indexation_lang' "))==0){
608                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
609                                VALUES (0, 'pmb', 'indexation_lang', '', 'Choix de la langue d\'indexation par défaut. (ex : fr_FR,en_UK,...,ar), si vide c\'est la langue de l\'interface du catalogueur qui est utilisée.', '',0) ";
610                        echo traite_rqt($rqt, "insert pmb_indexation_lang into parameters");
611                }
612
613                //ajout du champ permettant la pré-selection du connecteur en OPAC
614                $rqt = "ALTER TABLE connectors_sources ADD opac_selected int(3) unsigned not null default 0 ";
615                echo traite_rqt($rqt,"ALTER TABLE connectors_sources ADD opac_selected");
616
617                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='websubscribe_show_location' "))==0){
618                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
619                                        VALUES (NULL, 'opac', 'websubscribe_show_location', '0', 'Afficher la possibilité pour le lecteur de choisir sa localisation lors de son inscription en ligne.\n 0: Non\n 1: Oui', 'f_modules', '0')" ;
620                        echo traite_rqt($rqt,"insert opac_websubscribe_show_location=0 into parametres") ;
621                }
622
623                // CMS PMB
624                //rubriques
625                $rqt="create table if not exists cms_sections(
626                        id_section int unsigned not null auto_increment primary key,
627                        section_title varchar(255) not null default '',
628                        section_resume text not null,
629                        section_logo mediumblob not null,
630                        section_publication_state varchar(50) not null,
631                        section_start_date datetime,
632                        section_end_date datetime,
633                        section_num_parent int not null default 0,
634                        index i_cms_section_title(section_title),
635                        index i_cms_section_publication_state(section_publication_state),
636                        index i_cms_section_num_parent(section_num_parent)
637                        )";
638                echo traite_rqt($rqt, "create table cms_sections");
639
640                $rqt = "create table if not exists cms_sections_descriptors(
641                        num_section int not null default 0,
642                        num_noeud int not null default 0,
643                        section_descriptor_order int not null default 0,
644                        primary key (num_section,num_noeud)
645                        )";
646                echo traite_rqt($rqt, "create table cms_sections_descriptors");
647
648                $rqt="create table if not exists cms_articles(
649                        id_article int unsigned not null auto_increment primary key,
650                        article_title varchar(255) not null default '',
651                        article_resume text not null,
652                        article_contenu text not null,
653                        article_logo mediumblob not null,
654                        article_publication_state varchar(50) not null default '',
655                        article_start_date datetime,
656                        article_end_date datetime,
657                        num_section int not null default 0,
658                        index i_cms_article_title(article_title),
659                        index i_cms_article_publication_state(article_publication_state),
660                        index i_cms_article_num_parent(num_section)
661                        )";
662                echo traite_rqt($rqt, "create table cms_articles");
663
664                $rqt = "create table if not exists cms_articles_descriptors(
665                        num_article int not null default 0,
666                        num_noeud int not null default 0,
667                        article_descriptor_order int not null default 0,
668                        primary key (num_article,num_noeud)
669                        )";
670                echo traite_rqt($rqt, "create table cms_articles_descriptors");
671
672
673                $rqt = "create table if not exists cms_editorial_publications_states(
674                        id_publication_state int unsigned not null auto_increment primary key,
675                        editorial_publication_state_label varchar(255) not null default '',
676                        editorial_publication_state_opac_show int(1) not null default 0,
677                        editorial_publication_state_auth_opac_show int(1) not null default 0
678                        )";
679                echo traite_rqt($rqt, "create table cms_editorial_publications_states");
680
681                $rqt="create table if not exists cms_build (
682                        id_build int unsigned not null auto_increment primary key,
683                        build_obj varchar(255) not null default '',
684                        build_parent varchar(255) not null default '',
685                        build_child_after varchar(255) not null default '',
686                        build_css text not null
687                        )";
688                echo traite_rqt($rqt, "create table cms_build");
689
690                //paramétrage de la pondération des champs persos...
691                // dans le notices
692                $rqt = "alter table notices_custom add pond int not null default 100";
693                echo traite_rqt($rqt,"alter table notices_custom add pond");
694                //dans les exemplaires
695                $rqt = "alter table expl_custom add pond int not null default 100";
696                echo traite_rqt($rqt,"alter table expl_custom add pond ");
697                //dans les états des collections
698                $rqt = "alter table collstate_custom add pond int not null default 100";
699                echo traite_rqt($rqt,"alter table collstate_custom add pond");
700                //dans les lecteurs, pour rester homogène...
701                $rqt = "alter table empr_custom add pond int not null default 100";
702                echo traite_rqt($rqt,"alter table empr_custom add pond");
703
704                //tri sur les états des collections en OPAC
705                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='collstate_order' "))==0){
706                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
707                                VALUES (0, 'opac', 'collstate_order', 'archempla_libelle,collstate_cote','Ordre d\'affichage des états des collections, dans l\'ordre donné, séparé par des virgules : archempla_libelle,collstate_cote','e_aff_notice')";
708                        echo traite_rqt($rqt,"insert opac_collstate_order=archempla_libelle,collstate_cote into parametres");
709                }
710
711                //la pondération dans les fiches ne sert à rien mais pour rester homogène avec les autres champs persos...
712                $rqt = "alter table gestfic0_custom add pond int not null default 100";
713                echo traite_rqt($rqt,"alter table gestfic0_custom add pond");   
714
715                //AR new search !
716                @set_time_limit(0);
717                flush();
718                $rqt = "truncate table notices_mots_global_index";
719                echo traite_rqt($rqt,"truncate table notices_mots_global_index");
720
721                //Changement du type de code_champ dans notices_mots_global_index
722                $rqt = "alter table notices_mots_global_index change code_champ code_champ int(3) not null default 0";
723                echo traite_rqt($rqt,"alter table notices_mots_global_index change code_champ");       
724               
725                //ajout de code_ss_champ dans notices_mots_global_index
726                $rqt = "alter table notices_mots_global_index add code_ss_champ int(3) not null default 0 after code_champ";
727                echo traite_rqt($rqt,"alter table notices_mots_global_index add code_ss_champ");
728               
729                //ajout de pond dans notices_mots_global_index
730                $rqt = "alter table notices_mots_global_index add pond int(4) not null default 100";
731                echo traite_rqt($rqt,"alter table notices_mots_global_index add pond"); 
732               
733                //ajout de position dans notices_mots_global_index
734                $rqt = "alter table notices_mots_global_index add position int not null default 1";
735                echo traite_rqt($rqt,"alter table notices_mots_global_index add position");     
736               
737                //ajout de lang dans notices_mots_global_index
738                $rqt = "alter table notices_mots_global_index add lang varchar(10) not null default ''";
739                echo traite_rqt($rqt,"alter table notices_mots_global_index add lang"); 
740               
741                //changement de clé primaire
742                $rqt = "alter table notices_mots_global_index drop primary key, add primary key(id_notice,code_champ,code_ss_champ,mot)";
743                echo traite_rqt($rqt,"alter table notices_mots_global_index change primary key(id_notice,code_champ,code_ss_champ,mot");       
744               
745                //index
746                $rqt = "alter table notices_mots_global_index drop index i_mot";
747                echo traite_rqt($rqt,"alter table notices_mots_global_index drop index i_mot"); 
748                $rqt = "alter table notices_mots_global_index add index i_mot(mot)";
749                echo traite_rqt($rqt,"alter table notices_mots_global_index add index i_mot"); 
750
751                $rqt = "alter table notices_mots_global_index drop index i_id_mot";
752                echo traite_rqt($rqt,"alter table notices_mots_global_index drop index i_id_mot");
753                $rqt = "alter table notices_mots_global_index add index i_id_mot(id_notice,mot)";
754                echo traite_rqt($rqt,"alter table notices_mots_global_index add index i_id_mot");
755               
756                //une nouvelle table pour les recherches exactes...
757                $rqt="create table if not exists notices_fields_global_index (
758                        id_notice mediumint(8) not null default 0,
759                        code_champ int(3) not null default 0,
760                        code_ss_champ int(3) not null default 0,
761                        ordre int(4) not null default 0,
762                        value text not null,
763                        pond int(4) not null default 100,
764                        lang varchar(10) not null default '',
765                        primary key(id_notice,code_champ,code_ss_champ,ordre),
766                        index i_value(value(300)),
767                        index i_id_value(id_notice,value(300))
768                        )";
769                echo traite_rqt($rqt, "create table notices_fields_global_index");             
770               
771                $rqt = "create table if not exists search_cache (
772                        object_id varchar(255) not null default '',
773                        delete_on_date datetime not null default '0000-00-00 00:00:00',
774                        value mediumblob not null,
775                        PRIMARY KEY (object_id)
776                        )";
777                echo traite_rqt($rqt, "create table search_cache");     
778               
779                // ajout d'un paramètre de tri par défaut
780                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='default_sort' "))==0){
781                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
782                                        VALUES(0,'opac','default_sort','d_num_6,c_text_28','Tri par défaut des recherches OPAC.\nDe la forme, c_num_6 (c pour croissant, d pour décroissant, puis num ou text pour numérique ou texte et enfin l\'identifiant du champ (voir fichier xml sort.xml))','d_aff_recherche',0)" ;
783                        echo traite_rqt($rqt,"insert opac_default_sort into parametres") ;
784                }
785                flush();
786                //AR /new search !
787               
788                //maj valeurs possibles pour empr_filter_rows
789                $rqt = "update parametres set comment_param='Colonnes disponibles pour filtrer la liste des emprunteurs : \n v: ville\n l: localisation\n c: catégorie\n s: statut\n g: groupe\n y: année de naissance\n cp: code postal\n cs : code statistique\n #n : id des champs personnalisés' where type_param= 'empr' and sstype_param='filter_rows' ";
790                echo traite_rqt($rqt,"update empr_filter_rows into parametres");
791               
792                //Précision affichage amendes
793                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='fine_precision' "))==0){
794                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, gestion) VALUES (0, 'pmb', 'fine_precision', '2', 'Nombre de décimales pour l\'affichage des amendes',1)";
795                        echo traite_rqt($rqt,"insert fine_precision=2 into parametres");
796                }
797       
798                //Rafraichissement des vues opac
799                $rqt = "alter table opac_views add opac_view_last_gen datetime default null";
800                echo traite_rqt($rqt,"alter table opac_views add opac_view_last_gen");
801                $rqt = "alter table opac_views add opac_view_ttl int not null default 86400";
802                echo traite_rqt($rqt,"alter table opac_views add opac_view_ttl");
803               
804                // paramétrage du cache en OPAC
805                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_cache_duration' "))==0){
806                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
807                                        VALUES(0,'opac','search_cache_duration','600','Durée de validité (en secondes) du cache des recherches OPAC','c_recherche',0)" ;
808                        echo traite_rqt($rqt,"insert opac_search_cache_duration into parametres") ;
809                }
810
811                // ajout d'un paramètre utilisateur de statut par défaut en import (report de l'alter V4, modif tardive en 3.4)
812                $rqt = "alter table users add deflt_integration_notice_statut int(6) not null default 1 after deflt_notice_statut";
813                echo traite_rqt($rqt,"alter table users add deflt_integration_notice_statut");
814
815                // Info de réindexation
816                $rqt = " select 1 " ;
817                echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ REINDEXER (APRES ETAPES DE MISE A JOUR) / YOU MUST REINDEX (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
818
819                // +-------------------------------------------------+
820                echo "</table>";
821                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
822                $res = mysql_query($rqt, $dbh) ;
823                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
824                echo form_relance ("v5.03");
825                break;
826
827        case "v5.03":
828        case "v5.04":
829        case "v5.05":
830                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
831                // +-------------------------------------------------+
832
833                //Type de document par défaut en création de périodique
834                $rqt = "ALTER TABLE users ADD xmlta_doctype_serial varchar(2) NOT NULL DEFAULT '' after xmlta_doctype";
835                echo traite_rqt($rqt,"ALTER TABLE users ADD default xmlta_doctype_serial after xmlta_doctype");
836
837                //Type de document par défaut en création de bulletin
838                $rqt = "ALTER TABLE users ADD xmlta_doctype_bulletin varchar(2) NOT NULL DEFAULT '' after xmlta_doctype_serial";
839                echo traite_rqt($rqt,"ALTER TABLE users ADD default xmlta_doctype_bulletin after xmlta_doctype_serial");
840
841                //Type de document par défaut en création d'article
842                $rqt = "ALTER TABLE users ADD xmlta_doctype_analysis varchar(2) NOT NULL DEFAULT '' after xmlta_doctype_bulletin";
843                echo traite_rqt($rqt,"ALTER TABLE users ADD default xmlta_doctype_analysis after xmlta_doctype_bulletin");
844
845                // Mise à jour des valeurs en fonction du type de document par défaut en création de notice, si la valeur est vide !
846                if ($res = mysql_query("select userid, xmlta_doctype,xmlta_doctype_serial,xmlta_doctype_bulletin,xmlta_doctype_analysis from users")){
847                        while ( $row = mysql_fetch_object($res)) {
848                                if ($row->xmlta_doctype_serial == '') mysql_query("update users set xmlta_doctype_serial='".$row->xmlta_doctype."' where userid=".$row->userid);
849                                if ($row->xmlta_doctype_bulletin == '') mysql_query("update users set xmlta_doctype_bulletin='".$row->xmlta_doctype."' where userid=".$row->userid);
850                                if ($row->xmlta_doctype_analysis == '') mysql_query("update users set xmlta_doctype_analysis='".$row->xmlta_doctype."' where userid=".$row->userid);
851                        }
852                }
853
854                // Ajout affichage a2z par localisation
855                $rqt = "alter table docs_location add show_a2z int(1) unsigned not null default 0 ";
856                echo traite_rqt($rqt,"ALTER TABLE docs_location ADD show_a2z");
857               
858                // demande GM : index sur
859                $rqt = "alter table pret drop index i_pret_arc_id";
860                echo traite_rqt($rqt,"alter table pret drop index i_pret_arc_id");
861                $rqt = "alter table pret add index i_pret_arc_id(pret_arc_id)";
862                echo traite_rqt($rqt,"alter table pret add index i_pret_arc_id");
863               
864                $rqt = "CREATE TABLE if not exists facettes (
865                                id_facette int unsigned auto_increment,
866                                facette_name varchar(255) not null default '',
867                                facette_critere int(5) not null default 0,
868                                facette_ss_critere int(5) not null default 0,
869                                facette_nb_result int(2) not null default 0,
870                                facette_visible tinyint(1) not null default 0,
871                                facette_type_sort int(1) not null default 0,
872                                facette_order_sort int(1) not null default 0,
873                                primary key (id_facette))";
874                echo traite_rqt($rqt,"CREATE TABLE facettes");
875               
876                // début circulation périodiques
877                //ajout du champ expl_abt_num permettant de lier l'exemplaire a un abonnement de pério
878                $rqt = "ALTER TABLE exemplaires ADD expl_abt_num int unsigned not null default 0 ";
879                echo traite_rqt($rqt,"ALTER TABLE exemplaires ADD expl_abt_num");               
880               
881                $rqt="create table if not exists serialcirc (
882                        id_serialcirc int unsigned not null auto_increment primary key,
883                        num_serialcirc_abt int unsigned not null default 0,
884                        serialcirc_type int unsigned not null default 0,
885                        serialcirc_virtual int unsigned not null default 0,
886                        serialcirc_duration int unsigned not null default 0,
887                        serialcirc_checked int unsigned not null default 0,
888                        serialcirc_retard_mode int unsigned not null default 0,
889                        serialcirc_allow_resa int unsigned not null default 0,
890                        serialcirc_allow_copy int unsigned not null default 0,
891                        serialcirc_allow_send_ask int unsigned not null default 0,                     
892                        serialcirc_allow_subscription int unsigned not null default 0,                                 
893                        serialcirc_duration_before_send int unsigned not null default 0,                                                                       
894                        serialcirc_expl_statut_circ int unsigned not null default 0,                                                   
895                        serialcirc_expl_statut_circ_after int unsigned not null default 0,                     
896                        serialcirc_state int unsigned not null default 0                       
897                )";
898                echo traite_rqt($rqt, "create table serialcirc");                               
899                       
900                $rqt="create table if not exists serialcirc_diff (
901                        id_serialcirc_diff int unsigned not null auto_increment primary key,
902                        num_serialcirc_diff_serialcirc int unsigned not null default 0,
903                        serialcirc_diff_empr_type int unsigned not null default 0,             
904                        serialcirc_diff_type_diff int unsigned not null default 0,     
905                        num_serialcirc_diff_empr int unsigned not null default 0,
906                        serialcirc_diff_group_name varchar(255) not null default '',   
907                        serialcirc_diff_duration int unsigned not null default 0,       
908                        serialcirc_diff_order int unsigned not null default 0                   
909                )";                             
910                echo traite_rqt($rqt, "create table serialcirc_diff");                         
911               
912                $rqt="create table if not exists serialcirc_group (
913                        id_serialcirc_group int unsigned not null auto_increment primary key,
914                        num_serialcirc_group_diff int unsigned not null default 0,
915                        num_serialcirc_group_empr int unsigned not null default 0,
916                        serialcirc_group_responsable int unsigned not null default 0,
917                        serialcirc_group_order int unsigned not null default 0                                 
918                )";             
919                echo traite_rqt($rqt, "create table serialcirc_group");                         
920               
921                $rqt="create table if not exists serialcirc_expl (
922                        id_serialcirc_expl int unsigned not null auto_increment primary key,
923                        num_serialcirc_expl_id int unsigned not null default 0,
924                        num_serialcirc_expl_serialcirc int unsigned not null default 0,
925                        serialcirc_expl_bulletine_date date NOT NULL default '0000-00-00',
926                        serialcirc_expl_state_circ int unsigned not null default 0,
927                        num_serialcirc_expl_serialcirc_diff int unsigned not null default 0,
928                        serialcirc_expl_ret_asked int unsigned not null default 0,
929                        serialcirc_expl_trans_asked int unsigned not null default 0,
930                        serialcirc_expl_trans_doc_asked int unsigned not null default 0,                       
931                        num_serialcirc_expl_current_empr int unsigned not null default 0,
932                        serialcirc_expl_start_date date NOT NULL default '0000-00-00'                   
933                )";             
934                echo traite_rqt($rqt, "create table serialcirc_expl");                                         
935               
936                $rqt="create table if not exists serialcirc_circ (
937                        id_serialcirc_circ int unsigned not null auto_increment primary key,
938                        num_serialcirc_circ_diff int unsigned not null default 0,
939                        num_serialcirc_circ_expl int unsigned not null default 0,
940                        num_serialcirc_circ_empr int unsigned not null default 0,
941                        num_serialcirc_circ_serialcirc int unsigned not null default 0,
942            serialcirc_circ_order int unsigned not null default 0,
943            serialcirc_circ_subscription int unsigned not null default 0,
944            serialcirc_circ_ret_asked int unsigned not null default 0,
945            serialcirc_circ_trans_asked int unsigned not null default 0,
946            serialcirc_circ_trans_doc_asked int unsigned not null default 0,
947                        serialcirc_circ_expected_date datetime,
948                        serialcirc_circ_pointed_date datetime
949                )";
950                //,                     primary key(id_serialcirc_circ, num_serialcirc_circ_diff,num_serialcirc_circ_expl,num_serialcirc_circ_empr,num_serialcirc_circ_serialcirc)
951                echo traite_rqt($rqt,"create table serialcirc_circ");
952               
953                //path_pmb planificateur
954                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='path_php' "))==0){
955                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
956                                VALUES (0, 'pmb', 'path_php', '', 'Chemin absolu de l\'interpréteur PHP, local ou distant', '',0) ";
957                        echo traite_rqt($rqt, "insert pmb_path_php into parameters");
958                }
959               
960                //modification taille du champ expl_comment de la table exemplaires
961                $rqt = "ALTER TABLE exemplaires MODIFY expl_comment TEXT ";
962                echo traite_rqt($rqt,"ALTER TABLE exemplaires MODIFY expl_comment");
963
964                //tri sur les documents numériques en OPAC
965                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='explnum_order' "))==0){
966                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
967                                VALUES (0, 'opac', 'explnum_order', 'explnum_mimetype, explnum_nom, explnum_id','Ordre d\'affichage des documents numériques, dans l\'ordre donné, séparé par des virgules : explnum_mimetype, explnum_nom, explnum_id','e_aff_notice')";
968                        echo traite_rqt($rqt,"insert opac_explnum_order=explnum_mimetype, explnum_nom, explnum_id into parametres");
969                }
970               
971                //modification taille du champ resa_idempr de la table resa
972                $rqt = "ALTER TABLE resa MODIFY resa_idempr int(10) unsigned NOT NULL default 0";
973                echo traite_rqt($rqt,"ALTER TABLE resa MODIFY resa_idempr");
974               
975                // +-------------------------------------------------+
976                echo "</table>";
977                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
978                $res = mysql_query($rqt, $dbh) ;
979                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
980                echo form_relance ("v5.06");
981                break;
982
983        case "v5.06":
984                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
985                // +-------------------------------------------------+
986               
987                @set_time_limit(0);
988                //ajout d'un flag pour la résa en ciculation
989                $rqt = "alter table serialcirc_circ add serialcirc_circ_hold_asked int not null default 0 after serialcirc_circ_subscription";
990                echo traite_rqt($rqt,"alter table serialcirc_circ add serialcirc_circ_hold_asked");
991               
992                //table de gestion des demandes de reproduction
993                $rqt="create table if not exists serialcirc_copy (
994                        id_serialcirc_copy int not null auto_increment primary key,
995                        num_serialcirc_copy_empr int not null default 0,
996                        num_serialcirc_copy_bulletin int not null default 0,
997                        serialcirc_copy_analysis text,
998                        serialcirc_copy_date date not null default '0000-00-00',
999                        serialcirc_copy_state int not null default 0,
1000                        serialcirc_copy_comment text not null
1001                        )";
1002                echo traite_rqt($rqt,"create table serialcirc_copy");
1003                               
1004                $rqt="create table if not exists serialcirc_ask (
1005                        id_serialcirc_ask int unsigned not null auto_increment primary key,
1006                        num_serialcirc_ask_perio int unsigned not null default 0,
1007                        num_serialcirc_ask_serialcirc int unsigned not null default 0,
1008                        num_serialcirc_ask_empr int unsigned not null default 0,
1009                        serialcirc_ask_type int unsigned not null default 0,
1010                        serialcirc_ask_statut int unsigned not null default 0,
1011                        serialcirc_ask_date date NOT NULL default '0000-00-00',
1012                        serialcirc_ask_comment text not null
1013                        )";
1014                echo traite_rqt($rqt,"create table serialcirc_ask");           
1015
1016                // Création table facettes foireuse en développement
1017                $rqt = "ALTER TABLE facettes add facette_type_sort int(1) not null default 0 AFTER facette_visible";
1018                echo traite_rqt($rqt,"ALTER TABLE facettes add facette_type_sort ");
1019                $rqt = "ALTER TABLE facettes add facette_order_sort int(1) not null default 0 AFTER facette_type_sort";
1020                echo traite_rqt($rqt,"ALTER TABLE facettes add facette_order_sort ");
1021               
1022                // comptabilisation de l'amende : à partir de la date de retour, à partir du délai de grâce
1023                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='amende_comptabilisation' "))==0){
1024                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
1025                                VALUES (0, 'pmb', 'amende_comptabilisation', '0','Date à laquelle le début de l\'amende sera comptabilisée \r\n 0 : à partir de la date de retour \r\n 1 : à partir du délai de grâce','')";
1026                        echo traite_rqt($rqt,"insert pmb_amende_comptabilisation=0 into parametres");
1027                }
1028               
1029                // prêt en retard : compter le jour de la date de retour ou la date de relance comme un retard ?
1030                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='pret_calcul_retard_date_debut_incluse' "))==0){
1031                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
1032                                VALUES (0, 'pmb', 'pret_calcul_retard_date_debut_incluse', '0','Compter le jour de retour ou de relance comme un jour de retard pour le calcul de l\'amende ? \r\n 0 : Non \r\n  1 : Oui','')";
1033                        echo traite_rqt($rqt,"insert pmb_pret_calcul_retard_date_debut_incluse=0 into parametres");
1034                }
1035               
1036                //modification taille du champ comment_gestion de la table bannettes
1037                $rqt = "ALTER TABLE bannettes MODIFY comment_gestion text NOT NULL ";
1038                echo traite_rqt($rqt,"ALTER TABLE bannettes MODIFY comment_gestion");
1039               
1040                //modification taille du champ comment_public de la table bannettes
1041                $rqt = "ALTER TABLE bannettes MODIFY comment_public text NOT NULL ";
1042                echo traite_rqt($rqt,"ALTER TABLE bannettes MODIFY comment_public");
1043
1044                //AR
1045                //Exclusion de champs dans la recherche tous les champs en OPAC
1046                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='exclude_fields' "))==0){
1047                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
1048                                VALUES (0, 'opac', 'exclude_fields', '','Identifiants des champs à exclure de la recherche tous les champs (liste dispo dans le fichier includes/indexation/champ_base.xml)','c_recherche')";
1049                        echo traite_rqt($rqt,"insert opac_exclude_fields into parametres");
1050                }               
1051               
1052                //ajout dates log dans table des vues
1053                $rqt = "ALTER TABLE statopac_vues ADD date_debut_log DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
1054                                ADD date_fin_log DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ";
1055                echo traite_rqt($rqt,"ALTER TABLE statopac_vues add log dates");
1056                               
1057                //Ajout champ serialcirc_tpl pour l'impression de la fiche de circulation
1058                $rqt = "ALTER TABLE serialcirc ADD serialcirc_tpl TEXT NOT NULL";
1059                echo traite_rqt($rqt,"ALTER TABLE serialcirc ADD serialcirc_tpl ");
1060               
1061                //AR
1062                //Onglet Abonnement du compte emprunteur visible ou non...
1063                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='serialcirc_active' "))==0){
1064                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
1065                                VALUES (0, 'opac', 'serialcirc_active', 0,'Activer la circulation des pédioques dans l\'OPAC \r\n 0: Non \r\n 1: Oui','f_modules')";
1066                        echo traite_rqt($rqt,"insert opac_serialcirc_active into parametres");
1067                }
1068               
1069                //AR
1070                //Ajout d'un droit sur le statut pour la circulation des périos
1071                $rqt = "alter table empr_statut add allow_serialcirc int unsigned not null default 0";
1072                echo traite_rqt($rqt,"alter table empr_statut add allow_serialcirc");
1073               
1074                // création $pmb_bdd_subversion
1075                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='bdd_subversion' "))==0){
1076                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param)
1077                                VALUES (0, 'pmb', 'bdd_subversion', '0', 'Sous-version de la base de données')";
1078                        echo traite_rqt($rqt,"insert pmb_bdd_subversion=0 into parametres");
1079                }
1080               
1081                //AR - Ajout d'un paramètre pour définir la classe d'import des autorités...
1082                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='import_modele_authorities' "))==0){
1083                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
1084                                VALUES (0, 'pmb', 'import_modele_authorities', 'notice_authority_import','Quelle classe d\'import utiliser pour les notices d\'autorités ?','')";
1085                        echo traite_rqt($rqt,"insert pmb_import_modele_authorities into parametres");
1086                }
1087                       
1088                //AR - pris dans le tapis entre 2 versions...
1089                //création de la table origin_authorities
1090                $rqt = "create table if not exists origin_authorities (
1091                        id_origin_authorities int(10) unsigned NOT NULL AUTO_INCREMENT,
1092                        origin_authorities_name varchar(255) NOT NULL DEFAULT '',
1093                        origin_authorities_country varchar(10) NOT NULL DEFAULT '',
1094                        origin_authorities_diffusible int(10) unsigned NOT NULL DEFAULT 0,
1095                        primary key (id_origin_authorities)
1096                        )";
1097                echo traite_rqt($rqt,"create table origin_authorities");
1098                //AR - ajout de valeurs par défault...
1099                $rqt = "insert into origin_authorities
1100                                (id_origin_authorities,origin_authorities_name,origin_authorities_country,origin_authorities_diffusible)
1101                        values
1102                                (1,'Catalogue Interne','FR',1),
1103                                (2,'BnF','FR',1)";
1104                echo traite_rqt($rqt,"insert default values into origin_authorities");
1105               
1106                //AR - création de la table authorities_source
1107                $rqt = "create table if not exists authorities_sources (
1108                        id_authority_source int(10) unsigned NOT NULL AUTO_INCREMENT,
1109                        num_authority int(10) unsigned NOT NULL DEFAULT 0,
1110                        authority_number varchar(50) NOT NULL DEFAULT '',
1111                        authority_type varchar(20) NOT NULL DEFAULT '',
1112                        num_origin_authority int(10) unsigned NOT NULL DEFAULT 0,
1113                        authority_favorite int(10) unsigned NOT NULL DEFAULT 0,
1114                        import_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
1115                        update_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
1116                        primary key (id_authority_source) )";
1117                echo traite_rqt($rqt,"create table authorities_sources");
1118               
1119                //AR - création de la table notices_authorities_sources
1120                $rqt ="create table if not exists notices_authorities_sources (
1121                        num_authority_source int(10) unsigned NOT NULL DEFAULT 0,
1122                        num_notice int(10) unsigned NOT NULL DEFAULT 0,
1123                        primary key (num_authority_source,num_notice)
1124                        )"; 
1125                echo traite_rqt($rqt,"create table notices_authorities_sources");
1126               
1127                //AR - modification du champ aut_link_type
1128                $rqt = "alter table aut_link change aut_link_type aut_link_type varchar(2) not null default ''";
1129                echo traite_rqt($rqt,"alter table aut_link change aut_link_type varchar");
1130               
1131                //MB - Modification de l'explication du paramètre d'affichage des dates d'exemplaire
1132                $rqt="UPDATE parametres SET comment_param='Afficher les dates des exemplaires ? \n 0 : Aucune date.\n 1 : Date de création et modification.\n 2 : Date de dépôt et retour (BDP).\n 3 : Date de création, modification, dépôt et retour.' WHERE type_param='pmb' AND sstype_param='expl_show_dates'";
1133                $res = mysql_query($rqt, $dbh) ;
1134               
1135                //DG
1136                // localisation des prévisions
1137                if (mysql_num_rows(mysql_query("SELECT 1 FROM parametres WHERE type_param= 'pmb' and sstype_param='location_resa_planning' "))==0){
1138                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
1139                                        VALUES (0, 'pmb', 'location_resa_planning', '0', '0', 'Utiliser la gestion de la prévision localisée?\n 0: Non\n 1: Oui') ";
1140                        echo traite_rqt($rqt,"INSERT location_resa_planning INTO parametres") ;
1141                }
1142               
1143                //Localisation par défaut sur la visualisation des états des collections
1144                $rqt = "ALTER TABLE users ADD deflt_collstate_location int(6) UNSIGNED DEFAULT 0 after deflt_docs_location";
1145                echo traite_rqt($rqt,"ALTER TABLE users ADD deflt_collstate_location after deflt_docs_location");
1146               
1147                //maj valeurs possibles pour empr_filter_rows
1148                $rqt = "update parametres set comment_param='Colonnes disponibles pour filtrer la liste des emprunteurs : \n v: ville\n l: localisation\n c: catégorie\n s: statut\n g: groupe\n y: année de naissance\n cp: code postal\n cs : code statistique\n ab : type d\'abonnement\n #n : id des champs personnalisés' where type_param= 'empr' and sstype_param='filter_rows' ";
1149                echo traite_rqt($rqt,"update empr_filter_rows into parametres");
1150               
1151                //maj valeurs possibles pour empr_show_rows
1152                $rqt = "update parametres set comment_param='Colonnes affichées en liste de lecteurs, saisir les colonnes séparées par des virgules. Les colonnes disponibles pour l\'affichage de la liste des emprunteurs sont : \n n: nom+prénom \n a: adresse \n b: code-barre \n c: catégories \n g: groupes \n l: localisation \n s: statut \n cp: code postal \n v: ville \n y: année de naissance \n ab: type d\'abonnement \n #n : id des champs personnalisés \n 1: icône panier' where type_param= 'empr' and sstype_param='show_rows' ";
1153                echo traite_rqt($rqt,"update empr_show_rows into parametres");
1154               
1155                //maj valeurs possibles pour empr_sort_rows
1156                $rqt = "update parametres set comment_param='Colonnes qui seront disponibles pour le tri des emprunteurs. Les colonnes possibles sont : \n n: nom+prénom \n c: catégories \n g: groupes \n l: localisation \n s: statut \n cp: code postal \n v: ville \n y: année de naissance \n ab: type d\'abonnement \n #n : id des champs personnalisés' where type_param= 'empr' and sstype_param='sort_rows' ";
1157                echo traite_rqt($rqt,"update empr_sort_rows into parametres");
1158
1159                //maj commentaire sms_msg_retard
1160                $rqt = "update parametres set comment_param='Texte du sms envoyé lors d\'un retard' where type_param= 'empr' and sstype_param='sms_msg_retard' ";
1161                echo traite_rqt($rqt,"update empr_sms_msg_retard into parametres");
1162               
1163                //maj commentaire afficher_numero_lecteur_lettres
1164                $rqt = "update parametres set comment_param='Afficher le numéro et le mail du lecteur sous l\'adresse dans les différentes lettres' where type_param= 'pmb' and sstype_param='afficher_numero_lecteur_lettres' ";
1165                echo traite_rqt($rqt,"update pmb_afficher_numero_lecteur_lettres into parametres");
1166
1167                //DB
1168                //modification du paramètre empr_sms_activation
1169                $rqt = "select valeur_param from parametres where type_param= 'empr' and sstype_param='sms_activation' ";
1170                $res = mysql_query($rqt);
1171                if (mysql_num_rows($res)) {
1172                        $old_value = mysql_result($res,0,0);
1173                        if ($old_value==1) {
1174                                $new_value='1,1,1,1';
1175                                $rqt = "update parametres set valeur_param='".$new_value."', comment_param='Activation de l\'envoi de sms. : relance 1,relance 2,relance 3,resa\n\n 0: Inactif\n 1: Actif' where type_param= 'empr' and sstype_param='sms_activation' ";
1176                                echo traite_rqt($rqt,"update sms_activation");
1177                        } elseif ($old_value==0) {
1178                                $new_value='0,0,0,0';   
1179                                $rqt = "update parametres set valeur_param='".$new_value."', comment_param='Activation de l\'envoi de sms. : relance 1,relance 2,relance 3,resa\n\n 0: Inactif\n 1: Actif' where type_param= 'empr' and sstype_param='sms_activation' ";
1180                                echo traite_rqt($rqt,"update empr_sms_activation");
1181                        }
1182                }
1183               
1184                //Ajout de la durée de consultation pour la circulation des périos
1185                $rqt = "alter table abts_periodicites add consultation_duration int unsigned not null default 0";
1186                echo traite_rqt($rqt,"alter table abts_periodicites add consultation_duration");
1187
1188                if (mysql_result(mysql_query("select count(*) from notices"),0,0) > 15000){
1189                        $rqt = "truncate table notices_fields_global_index";
1190                        echo traite_rqt($rqt,"truncate table notices_fields_global_index");
1191               
1192                        // Info de réindexation
1193                        $rqt = " select 1 " ;
1194                        echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ REINDEXER (APRES ETAPES DE MISE A JOUR) / YOU MUST REINDEX (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
1195                }
1196                // suppr index inutile
1197                $rqt = "alter table notices_fields_global_index drop index i_id_value";
1198                echo traite_rqt($rqt,"alter table notices_fields_global_index drop index i_id_value"); 
1199               
1200                //Modification du commentaire du paramètre opac_notice_reduit_format pour ajout format titre uniquement
1201                $rqt = "update parametres set comment_param = 'Format d\'affichage des réduits de notices :\n 0 = titre+auteur principal\n 1 = titre+auteur principal+date édition\n 2 = titre+auteur principal+date édition + ISBN\n 3 = titre seul\n P 1,2,3 = tit+aut+champs persos id 1 2 3\n E 1,2,3 = tit+aut+édit+champs persos id 1 2 3\n T = tit1+tit4' where type_param='opac' and sstype_param='notice_reduit_format'";
1202                echo traite_rqt($rqt,"update parametre opac_notice_reduit_format");
1203               
1204                // Ajout du module Havest: Moissonneur de notice
1205        $rqt="create table if not exists harvest_profil (
1206            id_harvest_profil int unsigned not null auto_increment primary key,
1207            harvest_profil_name varchar(255) not null default ''   
1208                )";
1209        echo traite_rqt($rqt,"create table harvest");
1210           
1211        $rqt="create table if not exists harvest_field (
1212            id_harvest_field int unsigned not null auto_increment primary key,
1213            num_harvest_profil int unsigned not null default 0,           
1214            harvest_field_xml_id int unsigned not null default 0,       
1215            harvest_field_first_flag int unsigned not null default 0,
1216            harvest_field_order int unsigned not null default 0
1217                )";
1218        echo traite_rqt($rqt,"create table harvest_field");           
1219           
1220        $rqt="create table if not exists harvest_src (
1221            id_harvest_src int unsigned not null auto_increment primary key,
1222            num_harvest_field int unsigned not null default 0,           
1223            num_source int unsigned not null default 0,   
1224            harvest_src_unimacfield varchar(255) not null default '',                   
1225            harvest_src_unimacsubfield varchar(255) not null default '',
1226            harvest_src_pmb_unimacfield varchar(255) not null default '',
1227            harvest_src_pmb_unimacsubfield varchar(255) not null default '',               
1228            harvest_src_prec_flag int unsigned not null default 0,               
1229            harvest_src_order int unsigned not null default 0
1230                )";
1231        echo traite_rqt($rqt,"create table harvest_src");     
1232       
1233        $rqt="create table if not exists harvest_profil_import (
1234            id_harvest_profil_import int unsigned not null auto_increment primary key,
1235            harvest_profil_import_name varchar(255) not null default ''
1236                )";       
1237        echo traite_rqt($rqt,"create table harvest_profil_import");   
1238       
1239        $rqt="create table if not exists harvest_profil_import_field (
1240            num_harvest_profil_import int unsigned not null default 0,       
1241            harvest_profil_import_field_xml_id int unsigned not null default 0,
1242            harvest_profil_import_field_flag int unsigned not null default 0,       
1243            harvest_profil_import_field_order int unsigned not null default 0,           
1244            PRIMARY KEY (num_harvest_profil_import, harvest_profil_import_field_xml_id)
1245                )";
1246        echo traite_rqt($rqt,"create table harvest_profil_import_field");   
1247       
1248        $rqt = "CREATE TABLE if not exists harvest_search_field (
1249                        num_harvest_profil int unsigned not null default 0,               
1250                        num_source int unsigned not null default 0,       
1251                        num_field int unsigned not null default 0,       
1252                        num_ss_field int unsigned not null default 0 ,         
1253            PRIMARY KEY (num_harvest_profil, num_source)
1254                        )";
1255                echo traite_rqt($rqt,"CREATE TABLE harvest_search_field");
1256               
1257                //AR - Ajout d'un paramètre de blocage d'import dans les autorités
1258                $rqt = "alter table noeuds add authority_import_denied int unsigned not null default 0";
1259                echo traite_rqt($rqt,"alter table noeuds add authority_import_denied");
1260                $rqt = "alter table authors add author_import_denied int unsigned not null default 0";
1261                echo traite_rqt($rqt,"alter table authors add author_import_denied");
1262                $rqt = "alter table titres_uniformes add tu_import_denied int unsigned not null default 0";
1263                echo traite_rqt($rqt,"alter table titres_uniformes add tu_import_denied");
1264                $rqt = "alter table sub_collections add authority_import_denied int unsigned not null default 0";
1265                echo traite_rqt($rqt,"alter table sub_collections add authority_import_denied");
1266                $rqt = "alter table collections add authority_import_denied int unsigned not null default 0";
1267                echo traite_rqt($rqt,"alter table collections add authority_import_denied");
1268               
1269                //AR - Modification d'un paramètre pour définir la classe d'import des autorités...
1270                $rqt = "update parametres set valeur_param = 'authority_import' where type_param= 'pmb' and sstype_param = 'import_modele_authorities'";
1271                echo traite_rqt($rqt,"update parametres set pmb_import_modele_authorities = 'authority_import'");
1272               
1273                //Ajout d'un index sur le champ ref dans les tables entrepots
1274                //Récupération de la liste des sources
1275                $sql_liste_sources = "SELECT source_id FROM connectors_sources ";
1276                $res_liste_sources = mysql_query($sql_liste_sources, $dbh) or die(mysql_error());
1277
1278                //Pour chaque source
1279                while ($row=mysql_fetch_row($res_liste_sources)) {
1280                        $sql_alter_table = "alter table entrepot_source_".$row[0]." drop index i_ref ";
1281                        echo traite_rqt($sql_alter_table, "alter table entrepot_source_".$row[0]." drop index i_ref");
1282                        $sql_alter_table = "alter table entrepot_source_".$row[0]." add index i_ref (ref) ";
1283                        echo traite_rqt($sql_alter_table, "alter table entrepot_source_".$row[0]." add index i_ref");
1284                }
1285                 
1286                //Ajout d'un parametre permettant de préciser si l'on informe par email de l'évolution des demandes
1287                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='email_demandes' "))==0){
1288                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1289                                        VALUES (0, 'demandes', 'email_demandes', '1',
1290                                        'Information par email de l\'évolution des demandes.\n 0 : Non\n 1 : Oui',
1291                                        '',0) ";
1292                        echo traite_rqt($rqt, "insert demandes_email_demandes into parameters");
1293                }
1294               
1295               
1296                //AR - Ajout d'un paramètre utilisateur (choix d'un thésaurus par défaut en import d'autorités
1297                $rqt = "alter table users add deflt_import_thesaurus int not null default 1 after deflt_thesaurus";
1298                echo traite_rqt($rqt,"alter table users add deflt_import_thesaurus'");
1299               
1300                //AR - On lui met un bonne valeur par défaut...
1301                $rqt = "update users set deflt_import_thesaurus = ".$thesaurus_defaut;
1302                echo traite_rqt($rqt,"update users set deflt_import_thesaurus");
1303               
1304                //AR - Ajout d'une colonne sur la table connectors_sources pour définir les types d'enrichissements autorisés dans une source
1305                $rqt = "alter table connectors_sources add type_enrichment_allowed text not null";
1306                echo traite_rqt($rqt,"alter table connectors_sources add type_enrichment_allowed");
1307
1308                // ER - index notices.statut
1309                $rqt = "ALTER TABLE notices DROP INDEX i_not_statut " ;
1310                echo traite_rqt($rqt,"ALTER TABLE notices DROP INDEX i_not_statut ") ;
1311                $rqt = "ALTER TABLE notices ADD INDEX i_not_statut (statut)" ;
1312                echo traite_rqt($rqt,"ALTER TABLE notices ADD INDEX i_not_statut (statut)") ;
1313               
1314               
1315                // Création cms
1316                $rqt="create table if not exists cms_cadres (
1317            id_cadre int unsigned not null auto_increment primary key,         
1318            cadre_hash varchar(255) not null default '',     
1319            cadre_name varchar(255) not null default '',                   
1320            cadre_styles text not null,
1321            cadre_dom_parent varchar(255) not null default '',
1322            cadre_dom_after varchar(255) not null default ''
1323                )";
1324        echo traite_rqt($rqt,"create table cms_cadres");     
1325       
1326                $rqt="create table if not exists cms_cadre_content (
1327            id_cadre_content int unsigned not null auto_increment primary key,         
1328            cadre_content_hash varchar(255) not null default '',                       
1329            cadre_content_type varchar(255) not null default '', 
1330            cadre_content_num_cadre int(10) unsigned not null default 0,                 
1331            cadre_content_data text not null,     
1332            cadre_content_num_cadre_content int unsigned not null default 0
1333                )";
1334        echo traite_rqt($rqt,"create table cms_cadre_content");   
1335       
1336                $rqt="create table if not exists cms_pages (
1337            id_page int unsigned not null auto_increment primary key,         
1338            page_hash varchar(255) not null default '',             
1339            page_name varchar(255) not null default '',                 
1340            page_description text not null
1341                )";
1342        echo traite_rqt($rqt,"create table cms_pages"); 
1343       
1344                $rqt="create table if not exists cms_vars (
1345            id_var int unsigned not null auto_increment primary key,
1346            var_num_page int unsigned not null default 0,         
1347            var_name varchar(255) not null default '',             
1348            var_comment varchar(255) not null default ''
1349                )";
1350        echo traite_rqt($rqt,"create table cms_vars"); 
1351                       
1352                $rqt="create table if not exists cms_pages_env (
1353            page_env_num_page int unsigned not null auto_increment primary key,
1354            page_env_name varchar(255) not null default '',
1355            page_env_id_selector varchar(255) not null default ''
1356                )";
1357        echo traite_rqt($rqt,"create table cms_pages_env");       
1358                               
1359
1360                $rqt="create table if not exists cms_hash (
1361            hash varchar(255) not null default '' primary key
1362                )";
1363        echo traite_rqt($rqt,"create table cms_hash "); 
1364             
1365                //DB - parametre gestion de pret court
1366                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='short_loan_management' "))==0){
1367                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param)
1368                                VALUES (0, 'pmb', 'short_loan_management', '0', 'Gestion des prêts courts\n 0: Non\n 1: Oui')";
1369                        echo traite_rqt($rqt,"insert pmb_short_loan_management=0 into parametres");
1370                }
1371                //DB - ajout colonne duree pret court dans la table docs_type
1372                $rqt="ALTER TABLE docs_type ADD short_loan_duration INT(6) UNSIGNED NOT NULL DEFAULT 1 ";
1373                echo traite_rqt($rqt,"alter table docs_type add short_loan_duration");
1374               
1375                //DB - correction origine notices
1376                $rqt = "update notices set origine_catalogage='1' where origine_catalogage='0' ";
1377                echo traite_rqt($rqt,"alter table notices correct origine_catalogage");
1378               
1379                //DB - ajout flag pret court dans table pret
1380                $rqt = "ALTER TABLE pret ADD short_loan_flag INT(1) NOT NULL DEFAULT 0 ";
1381                echo traite_rqt($rqt,"alter table pret add short_loan_flag");
1382
1383                //DB - ajout flag pret court dans table pret_archive
1384                $rqt = "ALTER TABLE pret_archive ADD arc_short_loan_flag INT(1) NOT NULL DEFAULT 0 ";
1385                echo traite_rqt($rqt,"alter table pret_archive add arc_short_loan_flag");
1386               
1387                //DB - parametre gestion de monopole de pret
1388                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='loan_trust_management' "))==0){
1389                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param)
1390                                VALUES (0, 'pmb', 'loan_trust_management', '0', 'Gestion de monopole de prêt\n 0: Non\n x: nombre de jours entre 2 prêts d\'un exemplaire d\'une même notice (ou bulletin)')";
1391                        echo traite_rqt($rqt,"insert pmb_loan_trust_management=0 into parametres");
1392                }
1393                // +-------------------------------------------------+
1394                echo "</table>";
1395                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
1396                $res = mysql_query($rqt, $dbh) ;
1397                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
1398                echo form_relance ("v5.07");
1399                break;
1400
1401        case "v5.07":
1402                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
1403                // +-------------------------------------------------+
1404                // ER : pour le gars au pull rouge
1405                $rqt = "ALTER TABLE exemplaires MODIFY expl_cote varchar(255) ";
1406                echo traite_rqt($rqt,"ALTER TABLE exemplaires MODIFY expl_cote varchar(255) ");
1407                $rqt = "ALTER TABLE exemplaires MODIFY expl_cb varchar(255) ";
1408                echo traite_rqt($rqt,"ALTER TABLE exemplaires MODIFY expl_cb varchar(255) ");
1409               
1410                //AR - Ajout d'un champ dans cms_cadres
1411                $rqt = "alter table cms_cadres add cadre_object varchar(255) not null default '' after cadre_hash";
1412                echo traite_rqt($rqt,"alter table cms_cadre add cadre_object");
1413               
1414                //JP - Ajout tri en opac pour champs persos de notice
1415                $rqt = "ALTER TABLE collstate_custom ADD opac_sort INT NOT NULL DEFAULT 0";
1416                echo traite_rqt($rqt,"ALTER TABLE collstate_custom ADD opac_sort INT NOT NULL DEFAULT 0");
1417               
1418                $rqt = "ALTER TABLE empr_custom ADD opac_sort INT NOT NULL DEFAULT 0";
1419                echo traite_rqt($rqt,"ALTER TABLE empr_custom ADD opac_sort INT NOT NULL DEFAULT 0");
1420               
1421                $rqt = "ALTER TABLE expl_custom ADD opac_sort INT NOT NULL DEFAULT 0";
1422                echo traite_rqt($rqt,"ALTER TABLE expl_custom ADD opac_sort INT NOT NULL DEFAULT 0");
1423               
1424                $rqt = "ALTER TABLE gestfic0_custom ADD opac_sort INT NOT NULL DEFAULT 0";
1425                echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom ADD opac_sort INT NOT NULL DEFAULT 0");
1426               
1427                $rqt = "ALTER TABLE notices_custom ADD opac_sort INT NOT NULL DEFAULT 1";
1428                echo traite_rqt($rqt,"ALTER TABLE notices_custom ADD opac_sort INT NOT NULL DEFAULT 1");
1429
1430                //JP : Ajout d'un paramètre permettant de choisir une navigation abécédaire ou non en navigation dans les périodiques en OPAC
1431                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='perio_a2z_abc_search' "))==0){
1432                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1433                                        VALUES (0, 'opac', 'perio_a2z_abc_search', '0',
1434                                        'Recherche abécédaire dans le navigateur de périodiques en OPAC.\n0 : Non.\n1 : Oui.',
1435                                        'c_recherche',0) ";
1436                        echo traite_rqt($rqt, "insert opac_perio_a2z_abc_search 0 into parameters");
1437                }
1438               
1439                //JP : Ajout d'un paramètre permettant de choisir le nombre maximum de notices par onglet en navigation dans les périodiques en OPAC
1440                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='perio_a2z_max_per_onglet' "))==0){
1441                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1442                                        VALUES (0, 'opac', 'perio_a2z_max_per_onglet', '10',
1443                                        'Recherche dans le navigateur de périodiques en OPAC : nombre maximum de notices par onglet.',
1444                                        'c_recherche',0) ";
1445                        echo traite_rqt($rqt, "insert opac_perio_a2z_max_per_onglet 10 into parameters");
1446                }
1447
1448                //DG - Mail de rappel au référent
1449                $rqt = "ALTER TABLE groupe ADD mail_rappel INT( 1 ) UNSIGNED DEFAULT 0 NOT NULL ";
1450                echo traite_rqt($rqt,"ALTER TABLE groupe ADD mail_rappel default 0");
1451               
1452                //DG - Modification du commentaire du paramètre opac_notice_reduit_format pour ajout format titre uniquement
1453                $rqt = "update parametres set comment_param = 'Format d\'affichage des réduits de notices :\n 0 = titre+auteur principal\n 1 = titre+auteur principal+date édition\n 2 = titre+auteur principal+date édition + ISBN\n 3 = titre seul\n P 1,2,3 = tit+aut+champs persos id 1 2 3\n E 1,2,3 = tit+aut+édit+champs persos id 1 2 3\n T = tit1+tit4\n 4 = titre+titre parallèle+auteur principal' where type_param='opac' and sstype_param='notice_reduit_format'";
1454                echo traite_rqt($rqt,"update parametre opac_notice_reduit_format");
1455               
1456                //DG - Alerter l'utilisateur par mail des nouvelles demandes en OPAC ?
1457                $rqt = "ALTER TABLE users ADD user_alert_demandesmail INT(1) UNSIGNED NOT NULL DEFAULT 0 after user_alert_resamail";
1458                echo traite_rqt($rqt,"ALTER TABLE users add user_alert_demandesmail default 0");
1459               
1460                $rqt = "ALTER TABLE cms_cadre_content ADD cadre_content_object  VARCHAR(  255 ) NOT NULL DEFAULT '' AFTER cadre_content_type";
1461                echo traite_rqt($rqt,"ALTER TABLE cms_cadre_content ADD cadre_content_object");
1462               
1463                $rqt = "ALTER TABLE cms_build ADD build_page int(11) NOT NULL DEFAULT 0 AFTER build_obj";
1464                echo traite_rqt($rqt,"ALTER TABLE cms_build ADD build_page");
1465
1466                //DG - Ordre des langues pour les notices
1467                $rqt = "ALTER TABLE notices_langues ADD ordre_langue smallint(2) UNSIGNED NOT NULL DEFAULT 0";
1468                echo traite_rqt($rqt,"ALTER TABLE notices_langues ADD ordre_langue") ;
1469
1470                //DB - grilles emprunteurs
1471                $rqt = "create table empr_grilles (
1472                                empr_grille_categ int(5) not null default 0,
1473                                empr_grille_location int(5) not null default 0,
1474                                empr_grille_format longtext,
1475                                primary key  (empr_grille_categ,empr_grille_location))";
1476                echo traite_rqt($rqt,"create table empr_grilles") ;
1477
1478                //DB - parametres de gestion d'accès aux programmes externes pour l'indexation des documents numeriques
1479                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='indexation_docnum_ext' "))==0){
1480                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1481                                        VALUES (0, 'pmb', 'indexation_docnum_ext', '',
1482                                        'Paramètres de gestion d\'accès aux programmes externes pour l\'indexation des documents numériques :\n\n Chaque paramètre est défini par un  couple : \"nom=valeur\"\n Les paramètres sont séparés par un \"point-virgule\".\n\n\n Exemples d\'utilisation de \"pyodconverter\", \"jodconverter\" et \"pdftotext\" :\n\npyodconverter_cmd=/opt/openoffice.org3/program/python /opt/ooo_converter/DocumentConverter.py %1s %2s;\njodconverter_cmd=/usr/bin/java -jar /opt/ooo_converter/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar %1s %2s;\njodconverter_url=http://localhost:8080/converter/converted/%1s;\npdftotext_cmd=/usr/bin/pdftotext -enc UTF-8 %1s -;',
1483                                        '',0) ";
1484                        echo traite_rqt($rqt, "insert indexation_docnum_ext into parameters");
1485                }               
1486               
1487                //Onglet perso en affichage de notice
1488                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notices_format_onglets' "))==0){
1489                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
1490                                VALUES (0, 'opac', 'notices_format_onglets', '','Liste des id de template de notice pour ajouter des onglets personnalisés en affichage de notice\nExemple: 1,3','e_aff_notice')";
1491                        echo traite_rqt($rqt,"insert opac_notices_format_onglets into parametres");
1492                }
1493                       
1494                //DG - Ajout de la localisation de l'emprunteur pour les stats
1495                $rqt="ALTER TABLE pret_archive ADD arc_empr_location INT( 6 ) UNSIGNED DEFAULT 0 NOT NULL AFTER arc_empr_statut "; 
1496                echo traite_rqt($rqt,"alter table pret_archive add arc_empr_location default 0");
1497               
1498                //DG - Ajout du type d'abonnement de l'emprunteur pour les stats
1499                $rqt="ALTER TABLE pret_archive ADD arc_type_abt INT( 6 ) UNSIGNED DEFAULT 0 NOT NULL AFTER arc_empr_location "; 
1500                echo traite_rqt($rqt,"alter table pret_archive add arc_type_abt default 0");
1501
1502                //DG - Libellé OPAC des statuts d'exemplaires
1503                $rqt = "ALTER TABLE docs_statut ADD statut_libelle_opac VARCHAR(255) DEFAULT '' after statut_libelle";
1504                echo traite_rqt($rqt,"ALTER TABLE docs_statut add statut_libelle_opac default ''");
1505               
1506                //DG - Visibilité OPAC des statuts d'exemplaires
1507                $rqt = "ALTER TABLE docs_statut ADD statut_visible_opac TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT 1";
1508                echo traite_rqt($rqt,"ALTER TABLE docs_statut ADD statut_visible_opac") ;
1509
1510                //DB - parametres d'alerte avant affichage des documents numériques
1511                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='visionneuse_alert' "))==0){
1512                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1513                        VALUES (0, 'opac', 'visionneuse_alert', '', 'Message d\'alerte à l\'ouverture des documents numériques.', 'm_photo',0) ";
1514                        echo traite_rqt($rqt, "insert opac_visionneuse_alert into parameters");
1515                }               
1516                       
1517                $rqt = "ALTER TABLE cms_build ADD build_fixed int(11) NOT NULL DEFAULT 0 AFTER id_build";
1518                echo traite_rqt($rqt,"ALTER TABLE cms_build ADD build_fixed");
1519                               
1520                $rqt = "ALTER TABLE cms_build ADD build_child_before varchar(255) not null default '' AFTER build_parent";
1521                echo traite_rqt($rqt,"ALTER TABLE cms_build ADD build_child_before");
1522
1523                //AR - création d'une boite noire pour les modules du portail
1524                $rqt="create table if not exists cms_managed_modules (
1525                        managed_module_name varchar(255) not null default '',
1526                        managed_module_box text not null,
1527                        primary key (managed_module_name))";
1528                echo traite_rqt($rqt, "create table if not exists cms_managed_modules");
1529               
1530               
1531                $rqt = "alter table cms_cadres add cadre_fixed int(11) not null default 0 after cadre_name";
1532                echo traite_rqt($rqt,"alter table cms_cadres add cadre_fixed");
1533
1534
1535                //DG - Fixer l'âge minimum d'accès à la catégorie de lecteurs
1536                $rqt = "ALTER TABLE empr_categ ADD age_min INT(3) UNSIGNED NOT NULL DEFAULT 0";
1537                echo traite_rqt($rqt,"ALTER TABLE empr_categ ADD age_min default 0");
1538               
1539                //DG - Fixer l'âge maximum d'accès à la catégorie de lecteurs
1540                $rqt = "ALTER TABLE empr_categ ADD age_max INT(3) UNSIGNED NOT NULL DEFAULT 0";
1541                echo traite_rqt($rqt,"ALTER TABLE empr_categ ADD age_max default 0");
1542
1543                // Liste des cms 
1544                $rqt="create table if not exists cms (
1545            id_cms int unsigned not null auto_increment primary key,
1546            cms_name varchar(255) not null default '',
1547            cms_comment text not null
1548        )";             
1549        echo traite_rqt($rqt,"create table cms"); 
1550       
1551                // évolutions des cms 
1552                $rqt="create table if not exists cms_version (
1553            id_version int unsigned not null auto_increment primary key,
1554            version_cms_num int unsigned not null default 0 , 
1555            version_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
1556            version_comment text not null,         
1557            version_public int unsigned not null default 0,           
1558            version_user int unsigned not null default 0
1559        )";             
1560        echo traite_rqt($rqt,"create table cms_version"); 
1561               
1562                $rqt = "alter table cms_build add build_version_num int not null default 0 after id_build";
1563                echo traite_rqt($rqt,"alter table cms_build add build_version_num");           
1564               
1565                //id du cms à utiliser en Opac
1566                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='cms' "))==0){
1567                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
1568                                VALUES (0, 'opac', 'cms', 0,'id du CMS utilisé en OPAC','a_general')";
1569                        echo traite_rqt($rqt,"insert opac_cms into parametres");
1570                }
1571       
1572                //DG - Colonnes exemplaires affichées en gestion
1573                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='expl_data' "))==0){
1574                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
1575                                VALUES (0, 'pmb', 'expl_data', 'expl_cb,expl_cote,location_libelle,section_libelle,statut_libelle,tdoc_libelle', 'Colonne des exemplaires, dans l\'ordre donné, séparé par des virgules : expl_cb,expl_cote,location_libelle,section_libelle,statut_libelle,tdoc_libelle #n : id des champs personnalisés \r\n expl_cb est obligatoire et sera ajouté si absent','')";
1576                        echo traite_rqt($rqt,"insert pmb_expl_data=expl_cb,expl_cote,location_libelle,section_libelle,statut_libelle,codestat_libelle,lender_libelle,tdoc_libelle into parametres");
1577                }
1578               
1579                //DB - parametre gestion de monopole de pret
1580                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='expl_display_location_without_expl' "))==0){
1581                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param)
1582                                VALUES (0, 'pmb', 'expl_display_location_without_expl', '0', 'Affichage de la liste des localisations sans exemplaire\n 0: Non\n 1: oui')";
1583                        echo traite_rqt($rqt,"insert pmb_expl_display_location_without_expl=0 into parametres");
1584                }                               
1585               
1586                // Voir les prets de son groupe de lecteur
1587                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_group_checkout' "))==0){
1588                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param)
1589                                VALUES (0, 'opac', 'show_group_checkout', '0', 'Le responsable du groupe de lecteur voit les prêts de son groupe\n 0: Non\n 1: oui','a_general')";
1590                        echo traite_rqt($rqt,"insert opac_show_group_checkout=0 into parametres");
1591                }       
1592                       
1593                // Archivage DSI 
1594                $rqt="create table if not exists dsi_archive (
1595                num_banette_arc int unsigned not null default 0,
1596            num_notice_arc int unsigned not null default 0,
1597            date_diff_arc date not null default '0000-00-00',
1598            primary key (num_banette_arc,num_notice_arc,date_diff_arc)
1599        )";     
1600                echo traite_rqt($rqt,"create table dsi_archive"); 
1601       
1602                //Nombre d'archive à mémoriser en dsi
1603                $rqt = "ALTER TABLE bannettes ADD archive_number INT UNSIGNED NOT NULL default 0 ";
1604                echo traite_rqt($rqt,"alter table bannettes add archive_number");       
1605
1606                //AR - Erreur dans le type de colonne
1607                $rqt = "ALTER TABLE cms_pages MODIFY page_hash varchar(255) ";
1608                echo traite_rqt($rqt,"ALTER TABLE exemplaires MODIFY expl_cote varchar(255) ");
1609               
1610                //AR - L'authentification Digest impose une valeur en clair...
1611                $rqt= "alter table users add user_digest varchar(255) not null default '' after pwd";
1612                echo traite_rqt($rqt,"alter table users add user_digest");
1613
1614                //Ajout de deux paramètres pour la navigation par facette
1615                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='facette_in_bandeau_2' "))==0){
1616                        $rqt = "insert into parametres values(0,'opac','facette_in_bandeau_2',0,'La navigation par facettes apparait dans le bandeau ou dans le bandeau 2\n0 : dans le bandeau\n1 : Dans le bandeau 2','c_recherche',0)";
1617                        echo traite_rqt($rqt,"insert opac_facette_in_bandeau_2=0 into parametres");
1618                }
1619                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='autolevel2' "))==0){
1620                        $rqt = "insert into parametres values(0,'opac','autolevel2',0,'0 : mode normal de recherche\n1 : Affiche directement le résultat de la recherche tous les champs sans passer par la présentation du niveau 1 de recherche','c_recherche',0)";
1621                        echo traite_rqt($rqt,"insert opac_autolevel2=0 into parametres");
1622                }
1623                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='first_page_params' "))==0){
1624                        $rqt = "insert into parametres values(0,'opac','first_page_params','','Structure Json récapitulant les paramètres à initialiser pour la page d\\'accueil :\nExemple : \n{\n\"lvl\":\"cmspage\",\n\"pageid\":2\n}','b_aff_general',0)";
1625                        echo traite_rqt($rqt,"insert opac_first_page_params='' into parametres");
1626                }
1627                                               
1628                $rqt = "ALTER TABLE cms_build ADD build_type varchar(255) not null default 'cadre' AFTER build_version_num";
1629                echo traite_rqt($rqt,"ALTER TABLE cms_build ADD build_type");
1630               
1631                //Création d'un div class raw
1632                $rqt = "ALTER TABLE cms_build ADD build_div INT UNSIGNED NOT NULL default 0 ";
1633                echo traite_rqt($rqt,"alter table cms_build add build_div");   
1634
1635                // Ajout tpl de notice pour générer le header
1636                $rqt = "update parametres set comment_param = 'Format d\'affichage des réduits de notices :\n 0 = titre+auteur principal\n 1 = titre+auteur principal+date édition\n 2 = titre+auteur principal+date édition + ISBN\n 3 = titre seul\n P 1,2,3 = tit+aut+champs persos id 1 2 3\n E 1,2,3 = tit+aut+édit+champs persos id 1 2 3\n T = tit1+tit4\n 4 = titre+titre parallèle+auteur principal\n H 1 = id d\'un template de notice' where type_param='opac' and sstype_param='notice_reduit_format'";
1637                echo traite_rqt($rqt,"update parametre opac_notice_reduit_format");
1638                               
1639                // +-------------------------------------------------+
1640                echo "</table>";
1641                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
1642                $res = mysql_query($rqt, $dbh) ;
1643                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
1644                echo form_relance ("v5.08");
1645                break;
1646
1647        case "v5.08":
1648                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
1649                // +-------------------------------------------------+
1650               
1651                set_time_limit(0);
1652                mysql_query("set wait_timeout=28800");
1653               
1654                //AR - paramètre activant les liens vers les documents numériques non visibles
1655                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_links_invisible_docnums' "))==0){
1656                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1657                        VALUES (0, 'opac', 'show_links_invisible_docnums', '0',
1658                        'Afficher les liens vers les documents numériques non visible en mode non connecté. (Ne fonctionne pas avec les droits d\'accès).\n 0 : Non.\n1 : Oui.',
1659                        'e_aff_notice',0) ";
1660                        echo traite_rqt($rqt, "insert opac_show_links_invisible_docnums into parameters");
1661                }
1662               
1663                // Générer un document (dsi)
1664                $rqt = "ALTER TABLE bannettes ADD document_generate INT UNSIGNED NOT NULL default 0 ";
1665                echo traite_rqt($rqt,"alter table bannettes add document_generate");
1666               
1667                // Template de notice en génération de document (dsi)
1668                $rqt = "ALTER TABLE bannettes ADD document_notice_tpl INT UNSIGNED NOT NULL default 0 ";
1669                echo traite_rqt($rqt,"alter table bannettes add document_notice_tpl");
1670               
1671                // Générer un document avec les doc num (dsi)
1672                $rqt = "ALTER TABLE bannettes ADD document_insert_docnum INT UNSIGNED NOT NULL default 0 ";
1673                echo traite_rqt($rqt,"alter table bannettes add document_insert_docnum");
1674               
1675                // Grouper les documents (dsi)
1676                $rqt = "ALTER TABLE bannettes ADD document_group INT UNSIGNED NOT NULL default 0 ";
1677                echo traite_rqt($rqt,"alter table bannettes add document_group");
1678               
1679                // Ajouter un sommaire (dsi)
1680                $rqt = "ALTER TABLE bannettes ADD document_add_summary INT UNSIGNED NOT NULL default 0 ";
1681                echo traite_rqt($rqt,"alter table bannettes add document_add_summary");
1682               
1683                //DG - Index
1684                $rqt = "alter table explnum drop index explnum_repertoire";
1685                echo traite_rqt($rqt,"alter table explnum drop index explnum_repertoire");
1686                $rqt = "alter table explnum add index explnum_repertoire(explnum_repertoire)";
1687                echo traite_rqt($rqt,"alter table explnum add index explnum_repertoire");       
1688               
1689                // Ajout du module template de mail
1690        $rqt="create table if not exists mailtpl (
1691            id_mailtpl int unsigned not null auto_increment primary key,
1692            mailtpl_name varchar(255) not null default '',   
1693            mailtpl_objet varchar(255) not null default '',     
1694            mailtpl_tpl text not null,
1695            mailtpl_users varchar(255) not null default ''       
1696                )";
1697        echo traite_rqt($rqt,"create table mailtpl");
1698               
1699                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='img_folder' "))==0){
1700                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1701                                        VALUES (0, 'pmb', 'img_folder', '',     'Répertoire de stockage des images', '', 0) ";
1702                        echo traite_rqt($rqt, "insert pmb_img_folder into parameters");
1703                }                       
1704                               
1705                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='img_url' "))==0){
1706                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1707                                        VALUES (0, 'pmb', 'img_url', '',        'URL d\'accès du répertoire des images (pmb_img_folder)', '', 0) ";
1708                        echo traite_rqt($rqt, "insert pmb_img_url into parameters");
1709                }                       
1710                // Ajout de la possibilité de joindre les images dans le mail ( pmb_mail_html_format=2 )
1711                $rqt = "update parametres set comment_param = 'Format d\'envoi des mails à partir de l\'opac: \n 0: Texte brut\n 1: HTML \n 2: HTML, images incluses\nAttention, ne fonctionne qu\'en mode d\'envoi smtp !' where type_param='pmb' and sstype_param='mail_html_format'";
1712                echo traite_rqt($rqt,"update parametre pmb_mail_html_format");
1713               
1714                // Ajout de la possibilité de joindre les images dans le mail ( opac_mail_html_format=2 )
1715                $rqt = "update parametres set comment_param = 'Format d\'envoi des mails à partir de l\'opac: \n 0: Texte brut\n 1: HTML \n 2: HTML, images incluses\nAttention, ne fonctionne qu\'en mode d\'envoi smtp !' where type_param='opac' and sstype_param='mail_html_format'";
1716                echo traite_rqt($rqt,"update parametre opac_mail_html_format");
1717
1718                //AR - Ajout d'une colonne pour marquer un set comme étant en cours de rafraississement
1719                $rqt = "alter table connectors_out_sets add being_refreshed int unsigned not null default 0";
1720                echo traite_rqt($rqt,"alter table connectors_out_sets add bien_refreshed");
1721               
1722                //DG - Infobulle lors du survol des vignettes (gestion)
1723                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='book_pics_msg' "))==0){
1724                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param) VALUES (0, 'pmb', 'book_pics_msg', '', 'Message sur le survol des vignettes des notices correspondant au chemin fourni par le paramètre book_pics_url','')";
1725                        echo traite_rqt($rqt,"insert pmb_book_pics_msg='' into parametres");
1726                }
1727
1728                //DG - Infobulle lors du survol des vignettes (opac)
1729                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='book_pics_msg' "))==0){
1730                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param) VALUES (0, 'opac', 'book_pics_msg', '', 'Message sur le survol des vignettes des notices correspondant au chemin fourni par le paramètre book_pics_url','e_aff_notice')";
1731                        echo traite_rqt($rqt,"insert opac_book_pics_msg='' into parametres");
1732                }
1733                               
1734                //AR - Utilisation des quotas pour la définition des vues disponibles pour un emprunteur
1735                $rqt = "create table if not exists quotas_opac_views (
1736                        quota_type int(10) unsigned not null default 0,
1737                        constraint_type varchar(255) not null default '',
1738                        elements int(10) unsigned not null default 0,
1739                        value text not null,
1740                        primary key(quota_type,constraint_type,elements)
1741                )";
1742                echo traite_rqt($rqt,"create table quotas_opac_views");
1743               
1744                //AR - table de mots
1745                $rqt = "create table if not exists words (
1746                        id_word int unsigned not null auto_increment primary key,
1747                        word varchar(255) not null default '',
1748                        lang varchar(10) not null default '',
1749                        unique i_word_lang (word,lang)
1750                )";
1751                echo traite_rqt($rqt,"create table words");
1752                               
1753                $rqt = "show fields from notices_mots_global_index";
1754                $res = mysql_query($rqt);
1755                $exists = false;
1756                if(mysql_num_rows($res)){
1757                        while($row = mysql_fetch_object($res)){
1758                                if($row->Field == "num_word"){
1759                                        $exists = true;
1760                                        break;
1761                                }
1762                        }
1763                }
1764                if(!$exists){
1765                        //la méthode du chef reste la meilleure
1766                        set_time_limit(0);
1767                       
1768                        if (mysql_result(mysql_query("select count(*) from notices"),0,0) > 15000){
1769                                $rqt = "truncate table notices_fields_global_index";
1770                                echo traite_rqt($rqt,"truncate table notices_fields_global_index");
1771                       
1772                                $rqt = "truncate table notices_mots_global_index";
1773                                echo traite_rqt($rqt,"truncate table notices_mots_global_index");
1774                                       
1775                                // Info de réindexation
1776                                $rqt = " select 1 " ;
1777                                echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ REINDEXER (APRES ETAPES DE MISE A JOUR) / YOU MUST REINDEX (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
1778                        }
1779                       
1780                        //on ajoute un index bien pratique...
1781                        $rqt ="alter table notices_mots_global_index add index mot_lang(mot,lang)";
1782                        echo traite_rqt($rqt,"alter table notices_mots_global_index add index");
1783                       
1784                        //remplissage de la table mots
1785                        $rqt ="insert ignore into words (word,lang) select distinct mot,lang from notices_mots_global_index";
1786                        echo traite_rqt($rqt,"insert into words");
1787                       
1788                        //on utilise une table tampon
1789                        $rqt ="create table transition select id_notice,code_champ,code_ss_champ,mot,id_word from notices_mots_global_index join words on (mot=word and notices_mots_global_index.lang=words.lang);";
1790                        echo traite_rqt($rqt,"create table transition");
1791                        //on y ajoute les index qui vont bien
1792                        $rqt ="alter table transition add primary key (id_notice,code_champ,code_ss_champ,mot)";
1793                        echo traite_rqt($rqt,"alter table transition add primary key");
1794                       
1795                        //on ajout la clé étrangère num_word dans notices_mots_global_index
1796                        $rqt ="alter table notices_mots_global_index add num_word int(10) unsigned not null default 0 after mot";
1797                        echo traite_rqt($rqt,"alter table notices_mots_global_index add num_word");             
1798                        //on l'affecte
1799                        $rqt ="update notices_mots_global_index as a0 join transition as a1 on (a0.id_notice=a1.id_notice and a0.code_champ=a1.code_champ and a0.code_ss_champ=a1.code_ss_champ and a0.mot=a1.mot) set num_word=id_word";
1800                        echo traite_rqt($rqt,"update notices_mots_global_index set num_word=id_word");         
1801                       
1802                        //on peut se passer de certains index et mettre les nouveaux
1803                        $rqt ="drop index i_mot on notices_mots_global_index";
1804                        echo traite_rqt($rqt,"drop index i_mot on notices_mots_global_index");
1805                        $rqt ="drop index i_id_mot on notices_mots_global_index";
1806                        echo traite_rqt($rqt,"drop index i_id_mot on notices_mots_global_index");
1807                        $rqt ="alter table notices_mots_global_index add index i_id_mot(num_word,id_notice)";
1808                        echo traite_rqt($rqt,"alter table notices_mots_global_index add index i_id_mot");                       
1809                        $rqt ="alter table notices_mots_global_index drop primary key";
1810                        echo traite_rqt($rqt,"alter table notices_mots_global_index drop primary key");                 
1811                        $rqt ="alter table notices_mots_global_index add primary key (id_notice,code_champ,code_ss_champ,num_word,position)";
1812                        echo traite_rqt($rqt,"alter table notices_mots_global_index add primary key");                 
1813                       
1814                        //on supprime l'index pratique
1815                        $rqt ="drop index mot_lang on notices_mots_global_index";
1816                        echo traite_rqt($rqt,"drop index mot_lang on notices_mots_global_index");                       
1817                       
1818                        //certains champs n'ont plus d'utilité dans notices_mots_global_index
1819                        $rqt ="alter table notices_mots_global_index drop mot";
1820                        echo traite_rqt($rqt,"alter table notices_mots_global_index drop mot");                 
1821                        $rqt ="alter table notices_mots_global_index drop nbr_mot";
1822                        echo traite_rqt($rqt,"alter table notices_mots_global_index drop nbr_mot");             
1823                        $rqt ="alter table notices_mots_global_index drop lang";
1824                        echo traite_rqt($rqt,"alter table notices_mots_global_index drop lang");
1825                       
1826                        //on supprime l'index pratique
1827                        //on supprime la table de transition
1828                        $rqt ="drop table transition";
1829                        echo traite_rqt($rqt,"drop table transition");                 
1830                }       
1831       
1832                //AR - modification du paramètre de gestion des vues
1833                $rqt = "update parametres set comment_param = 'Activer les vues OPAC :\n 0 : non activé\n 1 : activé avec gestion classique\n 2 : activé avec gestion avancée' where type_param = 'pmb' and sstype_param = 'opac_view_activate'";
1834                echo traite_rqt($rqt,"update parametres pmb_opac_view_activate");
1835               
1836                //DB - modification du paramètre utiliser_calendrier
1837                $rqt = "update parametres set comment_param = 'Utiliser le calendrier des jours d\'ouverture ?\n 0 : non\n 1 : oui, pour le calcul des dates de retour et des retards\n 2 : oui, pour le calcul des dates de retour uniquement' where type_param = 'pmb' and sstype_param = 'utiliser_calendrier'";
1838                echo traite_rqt($rqt,"update parametres pmb_utiliser_calendrier");
1839                       
1840                //NG - Ajout dans les statuts d'exemplaire la possibilité de rendre réservable ou non
1841                $rqt = "ALTER TABLE docs_statut ADD statut_allow_resa INT( 1 ) UNSIGNED NOT NULL default 0 ";
1842                echo traite_rqt($rqt,"alter table docs_statut add statut_allow_resa");                 
1843                $rqt = "UPDATE docs_statut set statut_allow_resa=1 where pret_flag=1 ";
1844                echo traite_rqt($rqt,"UPDATE docs_statut set statut_allow_resa=1 where pret_flag=1");                   
1845                       
1846                // Ajout CMS actif par défaut en Opac
1847                $rqt = "alter table cms add cms_opac_default int unsigned not null default 0";
1848                echo traite_rqt($rqt,"alter table cms add cms_opac_default");   
1849               
1850                $rqt = "create table if not exists cms_editorial_types (
1851                        id_editorial_type int unsigned not null auto_increment primary key,
1852                        editorial_type_element varchar(20) not null default '',
1853                        editorial_type_label varchar(255) not null default '',
1854                        editorial_type_comment text not null
1855                )";
1856                echo traite_rqt($rqt,"create table cms_editorial_types");       
1857               
1858                //AR - on ajoute le type de contenu sur les tables cms_articles et cms_sections
1859                $rqt = "alter table cms_articles add article_num_type int unsigned not null default 0";
1860                echo traite_rqt($rqt,"alter table cms_articles add article_num_type"); 
1861                $rqt = "alter table cms_sections add section_num_type int unsigned not null default 0";
1862                echo traite_rqt($rqt,"alter table cms_sections add section_num_type"); 
1863               
1864                //AR - Un type de contenu c'est quoi? c'est une définition de grille de champs perso
1865                $rqt = "create table if not exists cms_editorial_custom (
1866                        idchamp int(10) unsigned NOT NULL auto_increment,
1867                        num_type int unsigned not null default 0,
1868                        name varchar(255) NOT NULL default '',
1869                        titre varchar(255) default NULL,
1870                        type varchar(10) NOT NULL default 'text',                       
1871                        datatype varchar(10) NOT NULL default '',                       
1872                        options text,
1873                        multiple int(11) NOT NULL default 0,
1874                        obligatoire int(11) NOT NULL default 0,
1875                        ordre int(11) default NULL,
1876                        search INT(1) unsigned NOT NULL DEFAULT 0,
1877                        export INT(1) unsigned NOT NULL DEFAULT 0,
1878                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
1879                        pond int not null default 100,
1880                        opac_sort INT NOT NULL DEFAULT 0,
1881                        PRIMARY KEY  (idchamp)) ";
1882                echo traite_rqt($rqt,"create table cms_editorial_custom ");
1883               
1884                $rqt = "create table if not exists cms_editorial_custom_lists (
1885                        cms_editorial_custom_champ int(10) unsigned NOT NULL default 0,
1886                        cms_editorial_custom_list_value varchar(255) default NULL,
1887                        cms_editorial_custom_list_lib varchar(255) default NULL,
1888                        ordre int(11) default NULL,
1889                        KEY editorial_custom_champ (cms_editorial_custom_champ),
1890                        KEY editorial_champ_list_value (cms_editorial_custom_champ,cms_editorial_custom_list_value)) " ;
1891                echo traite_rqt($rqt,"create table if not exists cms_editorial_custom_lists ");
1892               
1893                $rqt = "create table if not exists cms_editorial_custom_values (
1894                        cms_editorial_custom_champ int(10) unsigned NOT NULL default 0,
1895                        cms_editorial_custom_origine int(10) unsigned NOT NULL default 0,
1896                        cms_editorial_custom_small_text varchar(255) default NULL,
1897                        cms_editorial_custom_text text,
1898                        cms_editorial_custom_integer int(11) default NULL,
1899                        cms_editorial_custom_date date default NULL,
1900                        cms_editorial_custom_float float default NULL,
1901                        KEY editorial_custom_champ (cms_editorial_custom_champ),
1902                        KEY editorial_custom_origine (cms_editorial_custom_origine)) " ;
1903                echo traite_rqt($rqt,"create table if not exists cms_editorial_custom_values ");
1904                               
1905                //NG - Ajout de l'url permetant de retouver la page Opac contenant le cadre
1906                $rqt = "alter table cms_cadres add cadre_url text not null ";
1907                echo traite_rqt($rqt,"alter table cms_cadre add cadre_url");
1908               
1909                //MB - Ajout d'une colonne pour les noeuds utilisables ou non en indexation
1910                $rqt = "ALTER TABLE noeuds ADD not_use_in_indexation INT( 1 ) UNSIGNED NOT NULL default 0 ";
1911                echo traite_rqt($rqt,"alter table noeuds add not_use_in_indexation");
1912
1913                //MB - Modification du commentaire du paramètre show_categ_browser
1914                $rqt = "UPDATE parametres SET comment_param = 'Affichage des catégories en page d\'accueil OPAC:\n0: Non\n1: Oui\n1 3,1: Oui, avec thésaurus id 3 puis 1 (préciser les thésaurus à afficher et l\'ordre)' where type_param = 'opac' and sstype_param = 'show_categ_browser'";
1915                echo traite_rqt($rqt,"update parametres show_categ_browser");
1916               
1917                //MB - Remplacement du code de lien d'autorité 2 par z car c'est le même libellé et z est normé
1918                $rqt = "UPDATE aut_link SET aut_link_type = 'z' where aut_link_type = '2' ";
1919                echo traite_rqt($rqt,"update aut_link");
1920               
1921                //AR indexons correctement le contenu éditorial
1922                $rqt = "create table if not exists cms_editorial_words_global_index(
1923                        num_obj int unsigned not null default 0,
1924                        type varchar(20) not null default '',
1925                        code_champ int not null default 0,
1926                        code_ss_champ int not null default 0,
1927                        num_word int not null default 0,
1928                        pond int not null default 100,
1929                        position int not null default 1,
1930                        primary key (num_obj,type,code_champ,code_ss_champ,num_word,position)
1931                       
1932                )";
1933                echo traite_rqt($rqt,"create table cms_editorial_words_global_index ");
1934               
1935                $rqt = "create table if not exists cms_editorial_fields_global_index(
1936                        num_obj int unsigned not null default 0,
1937                        type varchar(20) not null default '',
1938                        code_champ int(3) not null default 0,
1939                        code_ss_champ int(3) not null default 0,
1940                        ordre int(4) not null default 0,
1941                        value text not null,
1942                        pond int(4) not null default 100,
1943                        lang varchar(10) not null default '',
1944                        primary key(num_obj,type,code_champ,code_ss_champ,ordre),
1945                        index i_value(value(300))
1946                )";
1947                echo traite_rqt($rqt,"create table cms_editorial_fields_global_index ");       
1948               
1949                //DB - parametre d'alerte avant affichage des documents numériques
1950                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='visionneuse_alert_doctype' "))==0){
1951                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1952                        VALUES (0, 'opac', 'visionneuse_alert_doctype', '', 'Liste des types de documents pour lesquels une alerte est générée (séparés par une virgule).', 'm_photo',0) ";
1953                        echo traite_rqt($rqt, "insert opac_visionneuse_alert_doctype into parameters");
1954                }               
1955
1956                $rqt = "alter table cms_cadres add cadre_memo_url int not null default 0 after cadre_url";
1957                echo traite_rqt($rqt,"alter table cms_cadres add cadre_memo_url");
1958               
1959                //DB - entrepot d'archivage à la suppression des notices
1960                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='archive_warehouse' "))==0){
1961                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1962                        VALUES (0, 'pmb', 'archive_warehouse', '0', 'Identifiant de l\'entrepôt d\'archivage à la suppression des notices.', '',0) ";
1963                        echo traite_rqt($rqt, "insert archive_warehouse into parameters");
1964                }               
1965               
1966                $rqt = "alter table cms_cadres add cadre_classement  varchar(255) not null default ''";
1967                echo traite_rqt($rqt,"alter table cms_cadres add cadre_classement");
1968               
1969                //NG - Imprimante ticket
1970                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='printer_name' "))==0){
1971                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1972                        VALUES (0, 'pmb', 'printer_name', '', 'Nom de l\'imprimante de ticket de prêt, utilisant l\'applet jzebra. Le nom de l\'imprimante doit correspondre à la class développée spécifiquement pour la piloter.\nExemple: Nommer l\'imprimante \'metapace\' pour utiliser le driver classes/printer/metapace.class.php', '',0) ";
1973                        echo traite_rqt($rqt, "insert pmb_printer_name into parameters");
1974                }               
1975
1976                //DG - Localisation par défaut sur la visualisation des réservations
1977                $rqt = "ALTER TABLE users ADD deflt_resas_location int(6) UNSIGNED DEFAULT 0 after deflt_collstate_location";
1978                echo traite_rqt($rqt,"ALTER TABLE users ADD deflt_resas_location after deflt_collstate_location");
1979
1980                //DG - parametre localisation des groupes de lecteurs
1981                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='groupes_localises' "))==0){
1982                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param)
1983                                VALUES (0, 'empr', 'groupes_localises', '0', 'Groupes de lecteurs localisés par rapport au responsable \n0: Non \n1: oui')";
1984                        echo traite_rqt($rqt,"insert empr_groupes_localises=0 into parametres");
1985                }
1986               
1987                // Activation des recherches similaires
1988                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='allow_simili_search' "))==0){
1989                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1990                                        VALUES (NULL, 'opac', 'allow_simili_search', '0', 'Activer les recherches similaires en OPAC:\n 0 : non \n 1 : oui', 'c_recherche', '0')";
1991                        echo traite_rqt($rqt,"insert opac_allow_simili_search='0' into parametres ");
1992                }
1993               
1994                //ajout d'une date de création pour les articles et les rubriques
1995                $rqt ="alter table cms_articles add article_creation_date date";
1996                echo traite_rqt($rqt,"alter table cms_articles add article_creation_date date");
1997                $rqt ="alter table cms_sections add section_creation_date date";
1998                echo traite_rqt($rqt,"alter table cms_sections add section_creation_date date");
1999                               
2000                //index d'on se lève tous pour la bannette de Camille
2001                $rqt = "alter table bannette_abon drop index i_num_empr";
2002                echo traite_rqt($rqt,"alter table bannette_abon drop index i_num_empr");
2003                $rqt = "alter table bannette_abon add index i_num_empr(num_empr)";
2004                echo traite_rqt($rqt,"alter table bannette_abon add index i_num_empr(num_empr)");
2005               
2006                // MB - Modification du plus Opac devant les notices
2007                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notices_depliable_plus' "))==0){
2008                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2009                                        VALUES (NULL, 'opac', 'notices_depliable_plus', 'plus.gif', 'Image à utiliser devant un titre de notice pliée', 'e_aff_notice', '0')";
2010                        echo traite_rqt($rqt,"insert notices_depliable_plus into parametres ");
2011                }
2012               
2013                // MB - Modification du plus Opac devant les notices
2014                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notices_depliable_moins' "))==0){
2015                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2016                                        VALUES (NULL, 'opac', 'notices_depliable_moins', 'minus.gif', 'Image à utiliser devant un titre de notice dépliée', 'e_aff_notice', '0')";
2017                        echo traite_rqt($rqt,"insert notices_depliable_moins into parametres ");
2018                }
2019               
2020                //MB - Modification du commentaire du paramètre notices_depliable
2021                $rqt = "UPDATE parametres SET comment_param = 'Affichage dépliable des notices en résultat de recherche:\n0: Non dépliable\n1: Dépliable en cliquant que sur l\'icone\n2: Déplibable en cliquant sur toute la ligne du titre' where type_param = 'opac' and sstype_param = 'notices_depliable'";
2022                echo traite_rqt($rqt,"update parametres notices_depliable");
2023               
2024                // Ajout du regroupement d'exemplaires pour le prêt
2025                $rqt = "create table if not exists groupexpl (
2026                        id_groupexpl int(10) unsigned NOT NULL auto_increment,
2027                        groupexpl_resp_expl_num int(10) unsigned NOT NULL default 0,
2028                        groupexpl_name varchar(255) NOT NULL default '',
2029                        groupexpl_comment varchar(255) NOT NULL default '',
2030                        groupexpl_location int(10) unsigned NOT NULL default 0,
2031                        groupexpl_statut_resp int(10) unsigned NOT NULL default 0,
2032                        groupexpl_statut_others int(10) unsigned NOT NULL default 0,
2033                        PRIMARY KEY (id_groupexpl)) ";
2034                echo traite_rqt($rqt,"create table groupexpl ");
2035               
2036                // Ajout du regroupement d'exemplaires pour le prêt
2037                $rqt = "create table if not exists groupexpl_expl (
2038                        groupexpl_num int(10) unsigned NOT NULL  default 0,
2039                        groupexpl_expl_num int(10) unsigned NOT NULL  default 0,
2040                        groupexpl_checked int unsigned NOT NULL  default 0,
2041                        PRIMARY KEY (groupexpl_num, groupexpl_expl_num)) ";
2042                echo traite_rqt($rqt,"create table groupexpl_expl ");
2043               
2044                // Activation du prêt d'exemplaires groupés
2045                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='pret_groupement' "))==0){
2046                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2047                                        VALUES (NULL, 'pmb', 'pret_groupement', '0', 'Activer le prêt d\'exemplaires regroupés en un seul lot. La gestion des groupes se gére en Circulation / Groupe d\'exemplaires :\n 0 : non \n 1 : oui', '', '0')";
2048                        echo traite_rqt($rqt,"insert pmb_pret_groupement='0' into parametres ");
2049                }
2050               
2051                //AR - refonte éditions...
2052                $rqt = "create table if not exists editions_states (
2053                        id_editions_state int unsigned not null auto_increment primary key,
2054                        editions_state_name varchar(255) not null default '',
2055                        editions_state_num_classement int not null default 0,
2056                        editions_state_used_datasource varchar(50) not null default '',
2057                        editions_state_comment text not null,
2058                        editions_state_fieldslist text not null,
2059                        editions_state_fieldsparams text not null
2060                )";
2061                echo traite_rqt($rqt,"create table if not exists editions_states");
2062               
2063                // cms: Classement des pages
2064                $rqt = "alter table cms_pages add page_classement  varchar(255) not null default ''";
2065                echo traite_rqt($rqt,"alter table cms_pages add page_classement");             
2066               
2067                // Transfert: regroupement des départs
2068                if (mysql_num_rows(mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='regroupement_depart' "))==0){
2069                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
2070                                        VALUES (0, 'transferts', 'regroupement_depart', '0', '1', 'Active le regroupement des départs\n 0: Non \n 1: Oui') ";
2071                        echo traite_rqt($rqt,"INSERT transferts_regroupement_depart INTO parametres") ;
2072                }
2073               
2074                //index Camille (comment ça encore ?)
2075                $rqt = "alter table coordonnees drop index i_num_entite";
2076                echo traite_rqt($rqt,"alter table coordonnees drop index i_num_entite");
2077                $rqt = "alter table coordonnees add index i_num_entite (num_entite)";
2078                echo traite_rqt($rqt,"alter table coordonnees add index i_num_entite (num_entite)");
2079               
2080                // +-------------------------------------------------+
2081                echo "</table>";
2082                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
2083                $res = mysql_query($rqt, $dbh) ;
2084                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
2085                echo form_relance ("v5.09");
2086                break;
2087
2088        case "v5.09":
2089                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
2090                // +-------------------------------------------------+
2091               
2092                set_time_limit(0);
2093                mysql_query("set wait_timeout=28800");
2094               
2095                if (mysql_result(mysql_query("select count(*) from notices"),0,0) > 15000){
2096                        $rqt = "truncate table notices_fields_global_index";
2097                        echo traite_rqt($rqt,"truncate table notices_fields_global_index");
2098               
2099                        $rqt = "truncate table notices_mots_global_index";
2100                        echo traite_rqt($rqt,"truncate table notices_mots_global_index");
2101               
2102                        // Info de réindexation
2103                        $rqt = " select 1 " ;
2104                        echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ REINDEXER (APRES ETAPES DE MISE A JOUR) / YOU MUST REINDEX (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
2105                }
2106               
2107                //AR - On revoit une clé primaire
2108                $rqt ="alter table notices_fields_global_index drop primary key";
2109                echo traite_rqt($rqt,"alter table notices_fields_global_index drop primary key");       
2110                $rqt ="alter table notices_fields_global_index add primary key(id_notice,code_champ,code_ss_champ,lang,ordre)";
2111                echo traite_rqt($rqt,"alter table notices_fields_global_index add primary key(id_notice,code_champ,code_ss_champ,lang,ordre)");
2112               
2113                //AR - ajout du partitionnement de manière systématique
2114                $rqt="show table status where name='notices_mots_global_index' or name='notices_fields_global_index'";
2115                $result = mysql_query($rqt);
2116                if(mysql_num_rows($result)){
2117                        while($row = mysql_fetch_object($result)){
2118                                if($row->Create_options != "partitioned"){
2119                                        $rqt="alter table ".$row->Name." partition by key(code_champ,code_ss_champ) partitions 50";
2120                                        echo traite_rqt($rqt,"alter table ".$row->Name." partition by key");
2121                                }
2122                        }
2123                }
2124
2125                // RFID: ajout de la gestion de l'antivol par afi
2126                if (mysql_num_rows(mysql_query("SELECT 1 FROM parametres WHERE type_param= 'pmb' and sstype_param='rfid_afi_security_codes' "))==0){
2127                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
2128                        VALUES (0, 'pmb', 'rfid_afi_security_codes', '', '0', 'Gestion de l\'antivol par le registre AFI.\nLa première valeur est celle de l\'antivol actif, la deuxième est celle de l\antivol inactif.\nExemple: 07,C2  ') ";
2129                        echo traite_rqt($rqt,"INSERT pmb_rfid_afi_security_codes INTO parametres") ;
2130                }               
2131               
2132                // CMS: ajout de l'url de construction de l'opac
2133                if (mysql_num_rows(mysql_query("SELECT 1 FROM parametres WHERE type_param= 'pmb' and sstype_param='url_base_cms_build' "))==0){
2134                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
2135                        VALUES (0, 'pmb', 'url_base_cms_build', '', '0', 'url de construction du CMS de l\'OPAC') ";
2136                        echo traite_rqt($rqt,"INSERT pmb_url_base_cms_build INTO parametres") ;
2137                }               
2138               
2139                //AR - on stocke le double metaphone de chaque mot !
2140                $rqt = "alter table words add double_metaphone varchar(255) not null default ''";
2141                echo traite_rqt($rqt,"alter table words add double_metaphone");
2142                $rqt = "alter table words add stem varchar(255) not null default ''";
2143                echo traite_rqt($rqt,"alter table words add stem");
2144                //AR - Suggestions de mots dans la saisie en recherche simple
2145                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='simple_search_suggestions' "))==0){
2146                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2147                                        VALUES(0,'opac','simple_search_suggestions','0','Activer la suggestion de mots en recherche simple via la complétion\n0 : Désactiver\n1 : Activer\n\nNB : Cette fonction nécessite l\'installation de l\'extension levenshtein dans MySQL','c_recherche',0)" ;
2148                        echo traite_rqt($rqt,"insert opac_simple_search_suggestions into parametres") ;
2149                }
2150               
2151                //AR - Suggestions de mots dans la saisie en recherche simple
2152                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='stemming_active' "))==0){
2153                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2154                                        VALUES(0,'opac','stemming_active','0','Activer le stemming dans la recherche\n0 : Désactiver\n1 : Activer\n','c_recherche',0)" ;
2155                        echo traite_rqt($rqt,"insert opac_stemming_active into parametres") ;
2156                }
2157               
2158                $rqt = "delete from parametres where sstype_param like 'url_base_cms_build%' " ;
2159                $res = mysql_query($rqt, $dbh) ;
2160                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
2161                VALUES (0, 'cms', 'url_base_cms_build', '', '0', 'url de construction du CMS de l\'OPAC') ";
2162                echo traite_rqt($rqt,"INSERT pmb_url_base_cms_build INTO parametres") ;
2163
2164                //DG - Modification de la taille du champ content_infopage de la table infopages
2165                $rqt = "ALTER TABLE infopages MODIFY content_infopage longblob NOT NULL default ''";
2166                echo traite_rqt($rqt,"alter table infopages modify content_infopage");
2167               
2168                //DG - Modification du commentaire du paramètre pmb_blocage_delai
2169                $rqt = "UPDATE parametres SET comment_param = 'Délai à partir duquel le retard est pris en compte pour le blocage' where type_param = 'pmb' and sstype_param = 'blocage_delai'";
2170                echo traite_rqt($rqt,"update parametres pmb_blocage_delai");
2171
2172                $rqt = "delete from parametres where sstype_param like 'url_base_cms_build%' " ;
2173                $res = mysql_query($rqt, $dbh) ;
2174                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
2175                VALUES (0, 'cms', 'url_base_cms_build', '', '0', 'url de construction du CMS de l\'OPAC') ";
2176                echo traite_rqt($rqt,"INSERT pmb_url_base_cms_build INTO parametres") ;
2177
2178               
2179                //index Camille (c'est que le début d'accord d'accord ?)
2180                $rqt = "alter table resa drop index i_idbulletin";
2181                echo traite_rqt($rqt,"alter table resa drop index i_idbulletin");
2182                $rqt = "alter table resa add index i_idbulletin (resa_idbulletin)";
2183                echo traite_rqt($rqt,"alter table resa add index i_idbulletin (resa_idbulletin)");
2184               
2185                $rqt = "alter table resa drop index i_idnotice";
2186                echo traite_rqt($rqt,"alter table resa drop index i_idnotice");
2187                $rqt = "alter table resa add index i_idnotice (resa_idnotice)";
2188                echo traite_rqt($rqt,"alter table resa add index i_idnotice (resa_idnotice)");
2189                               
2190                // +-------------------------------------------------+
2191                echo "</table>";
2192                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
2193                $res = mysql_query($rqt, $dbh) ;
2194                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
2195                echo form_relance ("v5.10");
2196                break;
2197
2198        case "v5.10":
2199                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
2200                // +-------------------------------------------------+
2201               
2202                //AR - ajout de type de contenu générique pour les articles et rubriques...
2203                if(!mysql_num_rows(mysql_query("select id_editorial_type from cms_editorial_types where editorial_type_element  ='article_generic'"))){
2204                        $rqt = "insert into cms_editorial_types set editorial_type_element = 'article_generic', editorial_type_label ='CP pour Article'";
2205                        echo traite_rqt($rqt,"insert into cms_editorial_types set editorial_type_element = 'article_generic'") ;
2206                        $rqt = "insert into cms_editorial_types set editorial_type_element = 'section_generic', editorial_type_label ='CP pour Rubrique'";
2207                        echo traite_rqt($rqt,"insert into cms_editorial_types set editorial_type_element = 'section_generic'") ;
2208                }
2209               
2210                //DG - Ajout du champ index_libelle dans la table frais
2211                $rqt = "ALTER TABLE frais ADD index_libelle TEXT";
2212                echo traite_rqt($rqt,"alter table frais add index_libelle");
2213               
2214                //DG - Paramètres pour les lettres de retard par groupe
2215                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1before_list_group' "))==0){
2216                        $rqt = "select valeur_param,comment_param from parametres where type_param= 'pdflettreretard' and sstype_param='1before_list' ";
2217                        $res = mysql_query($rqt);
2218                        $value_param = mysql_result($res,0,0);
2219                        $comment_param = mysql_result($res,0,1);
2220                        $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param,comment_param) VALUES ('pdflettreretard', '1before_list_group', '".addslashes($value_param)."', '".addslashes($comment_param)."') " ;
2221                        echo traite_rqt($rqt,"insert pdflettreretard,1before_list_group into parametres");
2222                }
2223                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1after_list_group' "))==0){
2224                        $rqt = "select valeur_param,comment_param from parametres where type_param= 'pdflettreretard' and sstype_param='1after_list' ";
2225                        $res = mysql_query($rqt);
2226                        $value_param = mysql_result($res,0,0);
2227                        $comment_param = mysql_result($res,0,1);
2228                        $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param,comment_param) VALUES ('pdflettreretard', '1after_list_group', '".addslashes($value_param)."', '".addslashes($comment_param)."') " ;
2229                        echo traite_rqt($rqt,"insert pdflettreretard,1after_list_group into parametres");
2230                }
2231                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1fdp_group' "))==0){
2232                        $rqt = "select valeur_param,comment_param from parametres where type_param= 'pdflettreretard' and sstype_param='1fdp' ";
2233                        $res = mysql_query($rqt);
2234                        $value_param = mysql_result($res,0,0);
2235                        $comment_param = mysql_result($res,0,1);
2236                        $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param,comment_param) VALUES ('pdflettreretard', '1fdp_group', '".addslashes($value_param)."', '".addslashes($comment_param)."') " ;
2237                        echo traite_rqt($rqt,"insert pdflettreretard,1fdp_group into parametres");
2238                }
2239                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1madame_monsieur_group' "))==0){
2240                        $rqt = "select valeur_param,comment_param from parametres where type_param= 'pdflettreretard' and sstype_param='1madame_monsieur' ";
2241                        $res = mysql_query($rqt);
2242                        $value_param = mysql_result($res,0,0);
2243                        $comment_param = mysql_result($res,0,1);
2244                        $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param,comment_param) VALUES ('pdflettreretard', '1madame_monsieur_group', '".addslashes($value_param)."', '".addslashes($comment_param)."') " ;
2245                        echo traite_rqt($rqt,"insert pdflettreretard,1madame_monsieur_group into parametres");
2246                }
2247               
2248                //DG - Impression du nom du groupe sur la lettre de rappel
2249                $rqt = "ALTER TABLE groupe ADD lettre_rappel_show_nomgroup INT( 1 ) UNSIGNED DEFAULT 0 NOT NULL ";
2250                echo traite_rqt($rqt,"ALTER TABLE groupe ADD lettre_rappel_show_nomgroup default 0");
2251                $rqt = "update groupe set lettre_rappel_show_nomgroup=lettre_rappel ";
2252                echo traite_rqt($rqt,"update groupe set lettre_rappel_show_nomgroup=lettre_rappel");
2253               
2254                //AR - Ajout des extensions de formulaire pour les types de contenus
2255                $rqt = "alter table cms_editorial_types add editorial_type_extension text not null"; 
2256                echo traite_rqt($rqt,"alter table cms_editorial_types add editorial_type_extension");
2257               
2258                //AR - Ajout de la table de stockages des infos des extension
2259                $rqt = "create table cms_modules_extensions_datas (
2260                        id_extension_datas int(10) not null auto_increment primary key,
2261                        extension_datas_module varchar(255) not null default '',
2262                        extension_datas_type varchar(255) not null default '',
2263                        extension_datas_type_element varchar(255) not null default '',
2264                        extension_datas_num_element int(10) not null default 0,
2265                        extension_datas_datas blob
2266                )";
2267                echo traite_rqt($rqt,"create table cms_modules_extensions_datas");
2268               
2269                //NG - Ordre des facettes
2270                $rqt = "alter table facettes add facette_order int not null default 1";
2271                echo traite_rqt($rqt,"alter table facettes add facette_order");
2272                //NG - limit_plus des facettes
2273                $rqt = "alter table facettes add facette_limit_plus int not null default 0";
2274                echo traite_rqt($rqt,"alter table facettes add facette_limit_plus");
2275                                                       
2276                //MB - Modification de l'identifiant 28 en 1 pour le trie car il est présent en double dans sort.xml
2277                $rqt = "update parametres set valeur_param=REPLACE(valeur_param, '_28', '_1') WHERE type_param='opac' AND sstype_param='default_sort' AND valeur_param REGEXP '_28[^0-9]|_28$'";
2278                echo traite_rqt($rqt,"update param opac_default_sort");
2279               
2280                //NG pb de placement de main_hors_footer et footer
2281                $rqt = "update cms_build set build_parent='main' where build_obj='main_header' or build_obj='main_hors_footer' or build_obj='footer' ";
2282                echo traite_rqt($rqt,"update cms_build set build_parent");
2283
2284                //NG pb de placement des zones du contener
2285                $rqt = "update cms_build set build_child_before='', build_child_after='intro' where build_obj='main' ";
2286                echo traite_rqt($rqt,"update cms_build where build_obj='main'");
2287                $rqt = "update cms_build set build_child_before='main', build_child_after='bandeau' where build_obj='intro' ";
2288                echo traite_rqt($rqt,"update cms_build where build_obj='intro'");
2289                $rqt = "update cms_build set build_child_before='intro', build_child_after='bandeau_2' where build_obj='bandeau' ";
2290                echo traite_rqt($rqt,"update cms_build  where build_obj='bandeau'");
2291                $rqt = "update cms_build set build_child_before='bandeau', build_child_after='' where build_obj='bandeau_2' ";
2292                echo traite_rqt($rqt,"update cms_build where build_obj='bandeau_2' ");
2293               
2294                // +-------------------------------------------------+
2295                echo "</table>";
2296                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
2297                $res = mysql_query($rqt, $dbh) ;
2298                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
2299                echo form_relance ("v5.11");
2300                break;
2301
2302        case "v5.11":
2303                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
2304                // +-------------------------------------------------+
2305               
2306                //NG Ajout param opac_show_bandeau_2
2307                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_bandeau_2' "))==0){
2308                        $rqt = "select valeur_param from parametres where type_param= 'opac' and sstype_param='show_bandeaugauche' ";
2309                        $res = mysql_query($rqt);
2310                        $value_param = mysql_result($res,0,0);
2311                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'opac', 'show_bandeau_2', '".addslashes($value_param)."', 'Affichage du bandeau_2 ? \n 0 : Non\n 1 : Oui', 'f_modules', 0) " ;
2312                        echo traite_rqt($rqt,"insert opac_show_bandeau_2=opac_show_bandeaugauche into parametres");
2313                }
2314               
2315                if (mysql_result(mysql_query("select count(*) from notices"),0,0) > 15000){
2316                        $rqt = "truncate table notices_mots_global_index";
2317                        echo traite_rqt($rqt,"truncate table notices_mots_global_index");
2318               
2319                        // Info de réindexation
2320                        $rqt = " select 1 " ;
2321                        echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ REINDEXER (APRES ETAPES DE MISE A JOUR) / YOU MUST REINDEX (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
2322                }
2323                //NG ajout de field_position dans notices_mots_global_index
2324                $rqt = "alter table notices_mots_global_index add field_position int not null default 1";
2325                echo traite_rqt($rqt,"alter table notices_mots_global_index add field_position");
2326               
2327                //abacarisse en attente
2328                if (mysql_num_rows(mysql_query("select id_param from parametres where type_param= 'opac' and sstype_param='param_social_network' "))==0){
2329                        //Ajout du paramètre de configuration de l'api addThis
2330                        $rqt = "INSERT INTO parametres (type_param ,sstype_param ,valeur_param ,comment_param ,section_param ,gestion) VALUES ('opac', 'param_social_network',
2331                        '{
2332                        \"token\":\"ra-4d9b1e202c30dea1\",
2333                        \"version\":\"300\",
2334                        \"buttons\":[
2335                        {
2336                        \"attributes\":{
2337                        \"class\":\"addthis_button_facebook_like\",
2338                        \"fb:like:layout\":\"button_count\"
2339                        }
2340                        },
2341                        {
2342                        \"attributes\":{
2343                        \"class\":\"addthis_button_tweet\"
2344                        }
2345                        },
2346                        {
2347                        \"attributes\":{
2348                        \"class\":\"addthis_counter addthis_button_compact\"
2349                        }
2350                        }
2351                        ],
2352                        \"toolBoxParams\":{
2353                        \"class\":\"addthis_toolbox addthis_default_style\"
2354                        },
2355                        \"addthis_share\":{
2356                       
2357                        },
2358                        \"addthis_config\":{
2359                        \"data_track_clickback\":\"true\",
2360                        \"ui_click\":\"true\"
2361                        }
2362                        }
2363                        ', 'Tableau de paramètrage de l\'API de gestion des interconnexions aux réseaux sociaux.
2364                        Au format JSON.
2365                        Exemple :
2366                        {
2367                        \"token\":\"ra-4d9b1e202c30dea1\",
2368                        \"version\":\"300\",
2369                        \"buttons\":[
2370                        {
2371                        \"attributes\":{
2372                        \"class\":\"addthis_button_preferred_1\"
2373                        }
2374                        },
2375                        {
2376                        \"attributes\":{
2377                        \"class\":\"addthis_button_preferred_2\"
2378                        }
2379                        },
2380                        {
2381                        \"attributes\":{
2382                        \"class\":\"addthis_button_preferred_3\"
2383                        }
2384                        },
2385                        {
2386                        \"attributes\":{
2387                        \"class\":\"addthis_button_preferred_4\"
2388                        }
2389                        },
2390                        {
2391                        \"attributes\":{
2392                        \"class\":\"addthis_button_compact\"
2393                        }
2394                        },
2395                        {
2396                        \"attributes\":{
2397                        \"class\":\"addthis_counter addthis_bubble_style\"
2398                        }
2399                        }
2400                        ],
2401                        \"toolBoxParams\":{
2402                        \"class\":\"addthis_toolbox addthis_default_style addthis_32x32_style\"
2403                        },
2404                        \"addthis_share\":{
2405                       
2406                        },
2407                        \"addthis_config\":{
2408                        \"data_track_addressbar\":true
2409                        }
2410                        }', 'e_aff_notice', '0'
2411                        )";
2412                        echo traite_rqt($rqt,"insert opac_param_social_network into parametres");
2413                }
2414               
2415                // DG
2416                //ajout du champ groupe_lecteurs dans la table bannettes
2417                $rqt = "ALTER TABLE bannettes ADD groupe_lecteurs INT(8) UNSIGNED NOT NULL default 0";
2418                echo traite_rqt($rqt,"alter table bannettes add groupe_lecteurs");
2419       
2420                // JP
2421                $rqt = "update parametres set comment_param='Tri par défaut des recherches OPAC. Deux possibilités :\n- un seul tri par défaut de la forme c_num_6\n- plusieurs tris par défaut de la forme c_num_6|Libelle;d_text_7|Libelle 2;c_num_5|Libelle 3\n\nc pour croissant, d pour décroissant\nnum ou text pour numérique ou texte\nidentifiant du champ (voir fichier xml sort.xml)\nlibellé du tri si plusieurs' WHERE type_param='opac' AND sstype_param='default_sort'";
2422                echo traite_rqt($rqt,"update comment for param opac_default_sort");
2423               
2424                // Transfert: statut non pretable pour les expl en demande de transfert
2425                if (mysql_num_rows(mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='pret_demande_statut' "))==0){
2426                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
2427                        VALUES (0, 'transferts', 'pret_demande_statut', '0', '1', 'Appliquer ce statut avant la validation') ";
2428                        echo traite_rqt($rqt,"INSERT transferts_pret_demande_statut INTO parametres") ;
2429                }
2430                       
2431                // descriptors in DSI
2432                $rqt = "create table if not exists bannettes_descriptors(
2433                        num_bannette int not null default 0,
2434                        num_noeud int not null default 0,
2435                        bannette_descriptor_order int not null default 0,
2436                        primary key (num_bannette,num_noeud)
2437                )";
2438                echo traite_rqt($rqt,"create table bannettes_descriptors") ;
2439               
2440                //ajout du champ bannette_mail dans bannette_abon
2441                $rqt = "ALTER TABLE bannette_abon ADD bannette_mail varchar(255) not null default '' ";
2442                echo traite_rqt($rqt,"alter table bannette_abon add bannette_mail");
2443               
2444                //AR - on a vu un cas ou ca se passe mal dans la 5.10, par précaution, on répète!
2445                if(!mysql_num_rows(mysql_query("select id_editorial_type from cms_editorial_types where editorial_type_element  ='article_generic'"))){
2446                        $rqt = "insert into cms_editorial_types set editorial_type_element = 'article_generic', editorial_type_label ='CP pour Article'";
2447                        echo traite_rqt($rqt,"insert into cms_editorial_types set editorial_type_element = 'article_generic'") ;
2448                }
2449                if(!mysql_num_rows(mysql_query("select id_editorial_type from cms_editorial_types where editorial_type_element  ='section_generic'"))){
2450                        $rqt = "insert into cms_editorial_types set editorial_type_element = 'section_generic', editorial_type_label ='CP pour Rubrique'";
2451                        echo traite_rqt($rqt,"insert into cms_editorial_types set editorial_type_element = 'section_generic'") ;
2452                }
2453               
2454                //DG - Augmentation de la taille du champ mention_date de la table bulletins
2455                $rqt = "ALTER TABLE bulletins MODIFY mention_date varchar(255) not null default ''";
2456                echo traite_rqt($rqt,"alter table bulletins modify mention_date");
2457               
2458                //DG - parametre pour l'affichage des notices de bulletins dans la navigation a2z
2459                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='perio_a2z_show_bulletin_notice' "))==0){
2460                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2461                        VALUES (0, 'opac', 'perio_a2z_show_bulletin_notice', '0', 'Affichage de la notice de bulletin dans le navigateur de périodiques', 'c_recherche',0) ";
2462                        echo traite_rqt($rqt, "insert opac_perio_a2z_show_bulletin_notice=0 into parametres");
2463                }
2464               
2465                //DG - ajout d'un commentaire de gestion pour les suggestions
2466                $rqt = "ALTER TABLE suggestions ADD commentaires_gestion TEXT AFTER commentaires";
2467                echo traite_rqt($rqt,"alter table suggestions add commentaires_gestion");
2468               
2469                //NG - Champs perso author
2470                $rqt = "create table if not exists author_custom (
2471                        idchamp int(10) unsigned NOT NULL auto_increment,
2472                        num_type int unsigned not null default 0,
2473                        name varchar(255) NOT NULL default '',
2474                        titre varchar(255) default NULL,
2475                        type varchar(10) NOT NULL default 'text',
2476                        datatype varchar(10) NOT NULL default '',
2477                        options text,
2478                        multiple int(11) NOT NULL default 0,
2479                        obligatoire int(11) NOT NULL default 0,
2480                        ordre int(11) default NULL,
2481                        search INT(1) unsigned NOT NULL DEFAULT 0,
2482                        export INT(1) unsigned NOT NULL DEFAULT 0,
2483                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
2484                        pond int not null default 100,
2485                        opac_sort INT NOT NULL DEFAULT 0,
2486                        PRIMARY KEY  (idchamp)) ";
2487                echo traite_rqt($rqt,"create table author_custom ");
2488               
2489                $rqt = "create table if not exists author_custom_lists (
2490                        author_custom_champ int(10) unsigned NOT NULL default 0,
2491                        author_custom_list_value varchar(255) default NULL,
2492                        author_custom_list_lib varchar(255) default NULL,
2493                        ordre int(11) default NULL,
2494                        KEY editorial_custom_champ (author_custom_champ),
2495                        KEY editorial_champ_list_value (author_custom_champ,author_custom_list_value)) " ;
2496                echo traite_rqt($rqt,"create table if not exists author_custom_lists ");
2497               
2498                $rqt = "create table if not exists author_custom_values (
2499                        author_custom_champ int(10) unsigned NOT NULL default 0,
2500                        author_custom_origine int(10) unsigned NOT NULL default 0,
2501                        author_custom_small_text varchar(255) default NULL,
2502                        author_custom_text text,
2503                        author_custom_integer int(11) default NULL,
2504                        author_custom_date date default NULL,
2505                        author_custom_float float default NULL,
2506                        KEY editorial_custom_champ (author_custom_champ),
2507                        KEY editorial_custom_origine (author_custom_origine)) " ;
2508                echo traite_rqt($rqt,"create table if not exists author_custom_values ");
2509               
2510                //NG - Champs perso categ
2511                $rqt = "create table if not exists categ_custom (
2512                        idchamp int(10) unsigned NOT NULL auto_increment,
2513                        num_type int unsigned not null default 0,
2514                        name varchar(255) NOT NULL default '',
2515                        titre varchar(255) default NULL,
2516                        type varchar(10) NOT NULL default 'text',
2517                        datatype varchar(10) NOT NULL default '',
2518                        options text,
2519                        multiple int(11) NOT NULL default 0,
2520                        obligatoire int(11) NOT NULL default 0,
2521                        ordre int(11) default NULL,
2522                        search INT(1) unsigned NOT NULL DEFAULT 0,
2523                        export INT(1) unsigned NOT NULL DEFAULT 0,
2524                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
2525                        pond int not null default 100,
2526                        opac_sort INT NOT NULL DEFAULT 0,
2527                        PRIMARY KEY  (idchamp)) ";
2528                echo traite_rqt($rqt,"create table categ_custom ");
2529               
2530                $rqt = "create table if not exists categ_custom_lists (
2531                        categ_custom_champ int(10) unsigned NOT NULL default 0,
2532                        categ_custom_list_value varchar(255) default NULL,
2533                        categ_custom_list_lib varchar(255) default NULL,
2534                        ordre int(11) default NULL,
2535                        KEY editorial_custom_champ (categ_custom_champ),
2536                        KEY editorial_champ_list_value (categ_custom_champ,categ_custom_list_value)) " ;
2537                echo traite_rqt($rqt,"create table if not exists categ_custom_lists ");
2538               
2539                $rqt = "create table if not exists categ_custom_values (
2540                        categ_custom_champ int(10) unsigned NOT NULL default 0,
2541                        categ_custom_origine int(10) unsigned NOT NULL default 0,
2542                        categ_custom_small_text varchar(255) default NULL,
2543                        categ_custom_text text,
2544                        categ_custom_integer int(11) default NULL,
2545                        categ_custom_date date default NULL,
2546                        categ_custom_float float default NULL,
2547                        KEY editorial_custom_champ (categ_custom_champ),
2548                        KEY editorial_custom_origine (categ_custom_origine)) " ;
2549                echo traite_rqt($rqt,"create table if not exists categ_custom_values ");
2550               
2551                //NG - Champs perso publisher
2552                $rqt = "create table if not exists publisher_custom (
2553                        idchamp int(10) unsigned NOT NULL auto_increment,
2554                        num_type int unsigned not null default 0,
2555                        name varchar(255) NOT NULL default '',
2556                        titre varchar(255) default NULL,
2557                        type varchar(10) NOT NULL default 'text',
2558                        datatype varchar(10) NOT NULL default '',
2559                        options text,
2560                        multiple int(11) NOT NULL default 0,
2561                        obligatoire int(11) NOT NULL default 0,
2562                        ordre int(11) default NULL,
2563                        search INT(1) unsigned NOT NULL DEFAULT 0,
2564                        export INT(1) unsigned NOT NULL DEFAULT 0,
2565                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
2566                        pond int not null default 100,
2567                        opac_sort INT NOT NULL DEFAULT 0,
2568                        PRIMARY KEY  (idchamp)) ";
2569                echo traite_rqt($rqt,"create table publisher_custom ");
2570               
2571                $rqt = "create table if not exists publisher_custom_lists (
2572                        publisher_custom_champ int(10) unsigned NOT NULL default 0,
2573                        publisher_custom_list_value varchar(255) default NULL,
2574                        publisher_custom_list_lib varchar(255) default NULL,
2575                        ordre int(11) default NULL,
2576                        KEY editorial_custom_champ (publisher_custom_champ),
2577                        KEY editorial_champ_list_value (publisher_custom_champ,publisher_custom_list_value)) " ;
2578                echo traite_rqt($rqt,"create table if not exists publisher_custom_lists ");
2579               
2580                $rqt = "create table if not exists publisher_custom_values (
2581                        publisher_custom_champ int(10) unsigned NOT NULL default 0,
2582                        publisher_custom_origine int(10) unsigned NOT NULL default 0,
2583                        publisher_custom_small_text varchar(255) default NULL,
2584                        publisher_custom_text text,
2585                        publisher_custom_integer int(11) default NULL,
2586                        publisher_custom_date date default NULL,
2587                        publisher_custom_float float default NULL,
2588                        KEY editorial_custom_champ (publisher_custom_champ),
2589                        KEY editorial_custom_origine (publisher_custom_origine)) " ;
2590                echo traite_rqt($rqt,"create table if not exists publisher_custom_values ");
2591               
2592                //NG - Champs perso collection
2593                $rqt = "create table if not exists collection_custom (
2594                        idchamp int(10) unsigned NOT NULL auto_increment,
2595                        num_type int unsigned not null default 0,
2596                        name varchar(255) NOT NULL default '',
2597                        titre varchar(255) default NULL,
2598                        type varchar(10) NOT NULL default 'text',
2599                        datatype varchar(10) NOT NULL default '',
2600                        options text,
2601                        multiple int(11) NOT NULL default 0,
2602                        obligatoire int(11) NOT NULL default 0,
2603                        ordre int(11) default NULL,
2604                        search INT(1) unsigned NOT NULL DEFAULT 0,
2605                        export INT(1) unsigned NOT NULL DEFAULT 0,
2606                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
2607                        pond int not null default 100,
2608                        opac_sort INT NOT NULL DEFAULT 0,
2609                        PRIMARY KEY  (idchamp)) ";
2610                echo traite_rqt($rqt,"create table collection_custom ");
2611               
2612                $rqt = "create table if not exists collection_custom_lists (
2613                        collection_custom_champ int(10) unsigned NOT NULL default 0,
2614                        collection_custom_list_value varchar(255) default NULL,
2615                        collection_custom_list_lib varchar(255) default NULL,
2616                        ordre int(11) default NULL,
2617                        KEY editorial_custom_champ (collection_custom_champ),
2618                        KEY editorial_champ_list_value (collection_custom_champ,collection_custom_list_value)) " ;
2619                echo traite_rqt($rqt,"create table if not exists collection_custom_lists ");
2620               
2621                $rqt = "create table if not exists collection_custom_values (
2622                        collection_custom_champ int(10) unsigned NOT NULL default 0,
2623                        collection_custom_origine int(10) unsigned NOT NULL default 0,
2624                        collection_custom_small_text varchar(255) default NULL,
2625                        collection_custom_text text,
2626                        collection_custom_integer int(11) default NULL,
2627                        collection_custom_date date default NULL,
2628                        collection_custom_float float default NULL,
2629                        KEY editorial_custom_champ (collection_custom_champ),
2630                        KEY editorial_custom_origine (collection_custom_origine)) " ;
2631                echo traite_rqt($rqt,"create table if not exists collection_custom_values ");
2632               
2633                //NG - Champs perso subcollection
2634                $rqt = "create table if not exists subcollection_custom (
2635                        idchamp int(10) unsigned NOT NULL auto_increment,
2636                        num_type int unsigned not null default 0,
2637                        name varchar(255) NOT NULL default '',
2638                        titre varchar(255) default NULL,
2639                        type varchar(10) NOT NULL default 'text',
2640                        datatype varchar(10) NOT NULL default '',
2641                        options text,
2642                        multiple int(11) NOT NULL default 0,
2643                        obligatoire int(11) NOT NULL default 0,
2644                        ordre int(11) default NULL,
2645                        search INT(1) unsigned NOT NULL DEFAULT 0,
2646                        export INT(1) unsigned NOT NULL DEFAULT 0,
2647                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
2648                        pond int not null default 100,
2649                        opac_sort INT NOT NULL DEFAULT 0,
2650                        PRIMARY KEY  (idchamp)) ";
2651                echo traite_rqt($rqt,"create table subcollection_custom ");
2652               
2653                $rqt = "create table if not exists subcollection_custom_lists (
2654                        subcollection_custom_champ int(10) unsigned NOT NULL default 0,
2655                        subcollection_custom_list_value varchar(255) default NULL,
2656                        subcollection_custom_list_lib varchar(255) default NULL,
2657                        ordre int(11) default NULL,
2658                        KEY editorial_custom_champ (subcollection_custom_champ),
2659                        KEY editorial_champ_list_value (subcollection_custom_champ,subcollection_custom_list_value)) " ;
2660                echo traite_rqt($rqt,"create table if not exists subcollection_custom_lists ");
2661               
2662                $rqt = "create table if not exists subcollection_custom_values (
2663                        subcollection_custom_champ int(10) unsigned NOT NULL default 0,
2664                        subcollection_custom_origine int(10) unsigned NOT NULL default 0,
2665                        subcollection_custom_small_text varchar(255) default NULL,
2666                        subcollection_custom_text text,
2667                        subcollection_custom_integer int(11) default NULL,
2668                        subcollection_custom_date date default NULL,
2669                        subcollection_custom_float float default NULL,
2670                        KEY editorial_custom_champ (subcollection_custom_champ),
2671                        KEY editorial_custom_origine (subcollection_custom_origine)) " ;
2672                echo traite_rqt($rqt,"create table if not exists subcollection_custom_values ");
2673               
2674                //NG - Champs perso serie
2675                $rqt = "create table if not exists serie_custom (
2676                        idchamp int(10) unsigned NOT NULL auto_increment,
2677                        num_type int unsigned not null default 0,
2678                        name varchar(255) NOT NULL default '',
2679                        titre varchar(255) default NULL,
2680                        type varchar(10) NOT NULL default 'text',
2681                        datatype varchar(10) NOT NULL default '',
2682                        options text,
2683                        multiple int(11) NOT NULL default 0,
2684                        obligatoire int(11) NOT NULL default 0,
2685                        ordre int(11) default NULL,
2686                        search INT(1) unsigned NOT NULL DEFAULT 0,
2687                        export INT(1) unsigned NOT NULL DEFAULT 0,
2688                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
2689                        pond int not null default 100,
2690                        opac_sort INT NOT NULL DEFAULT 0,
2691                        PRIMARY KEY  (idchamp)) ";
2692                echo traite_rqt($rqt,"create table serie_custom ");
2693               
2694                $rqt = "create table if not exists serie_custom_lists (
2695                        serie_custom_champ int(10) unsigned NOT NULL default 0,
2696                        serie_custom_list_value varchar(255) default NULL,
2697                        serie_custom_list_lib varchar(255) default NULL,
2698                        ordre int(11) default NULL,
2699                        KEY editorial_custom_champ (serie_custom_champ),
2700                        KEY editorial_champ_list_value (serie_custom_champ,serie_custom_list_value)) " ;
2701                echo traite_rqt($rqt,"create table if not exists serie_custom_lists ");
2702               
2703                $rqt = "create table if not exists serie_custom_values (
2704                        serie_custom_champ int(10) unsigned NOT NULL default 0,
2705                        serie_custom_origine int(10) unsigned NOT NULL default 0,
2706                        serie_custom_small_text varchar(255) default NULL,
2707                        serie_custom_text text,
2708                        serie_custom_integer int(11) default NULL,
2709                        serie_custom_date date default NULL,
2710                        serie_custom_float float default NULL,
2711                        KEY editorial_custom_champ (serie_custom_champ),
2712                        KEY editorial_custom_origine (serie_custom_origine)) " ;
2713                echo traite_rqt($rqt,"create table if not exists serie_custom_values ");
2714               
2715                //NG - Champs perso tu
2716                $rqt = "create table if not exists tu_custom (
2717                        idchamp int(10) unsigned NOT NULL auto_increment,
2718                        num_type int unsigned not null default 0,
2719                        name varchar(255) NOT NULL default '',
2720                        titre varchar(255) default NULL,
2721                        type varchar(10) NOT NULL default 'text',
2722                        datatype varchar(10) NOT NULL default '',
2723                        options text,
2724                        multiple int(11) NOT NULL default 0,
2725                        obligatoire int(11) NOT NULL default 0,
2726                        ordre int(11) default NULL,
2727                        search INT(1) unsigned NOT NULL DEFAULT 0,
2728                        export INT(1) unsigned NOT NULL DEFAULT 0,
2729                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
2730                        pond int not null default 100,
2731                        opac_sort INT NOT NULL DEFAULT 0,
2732                        PRIMARY KEY  (idchamp)) ";
2733                echo traite_rqt($rqt,"create table tu_custom ");
2734               
2735                $rqt = "create table if not exists tu_custom_lists (
2736                        tu_custom_champ int(10) unsigned NOT NULL default 0,
2737                        tu_custom_list_value varchar(255) default NULL,
2738                        tu_custom_list_lib varchar(255) default NULL,
2739                        ordre int(11) default NULL,
2740                        KEY editorial_custom_champ (tu_custom_champ),
2741                        KEY editorial_champ_list_value (tu_custom_champ,tu_custom_list_value)) " ;
2742                echo traite_rqt($rqt,"create table if not exists tu_custom_lists ");
2743               
2744                $rqt = "create table if not exists tu_custom_values (
2745                        tu_custom_champ int(10) unsigned NOT NULL default 0,
2746                        tu_custom_origine int(10) unsigned NOT NULL default 0,
2747                        tu_custom_small_text varchar(255) default NULL,
2748                        tu_custom_text text,
2749                        tu_custom_integer int(11) default NULL,
2750                        tu_custom_date date default NULL,
2751                        tu_custom_float float default NULL,
2752                        KEY editorial_custom_champ (tu_custom_champ),
2753                        KEY editorial_custom_origine (tu_custom_origine)) " ;
2754                echo traite_rqt($rqt,"create table if not exists tu_custom_values ");
2755               
2756                //NG - Champs perso indexint
2757                $rqt = "create table if not exists indexint_custom (
2758                        idchamp int(10) unsigned NOT NULL auto_increment,
2759                        num_type int unsigned not null default 0,
2760                        name varchar(255) NOT NULL default '',
2761                        titre varchar(255) default NULL,
2762                        type varchar(10) NOT NULL default 'text',
2763                        datatype varchar(10) NOT NULL default '',
2764                        options text,
2765                        multiple int(11) NOT NULL default 0,
2766                        obligatoire int(11) NOT NULL default 0,
2767                        ordre int(11) default NULL,
2768                        search INT(1) unsigned NOT NULL DEFAULT 0,
2769                        export INT(1) unsigned NOT NULL DEFAULT 0,
2770                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
2771                        pond int not null default 100,
2772                        opac_sort INT NOT NULL DEFAULT 0,
2773                        PRIMARY KEY  (idchamp)) ";
2774                echo traite_rqt($rqt,"create table indexint_custom ");
2775               
2776                $rqt = "create table if not exists indexint_custom_lists (
2777                        indexint_custom_champ int(10) unsigned NOT NULL default 0,
2778                        indexint_custom_list_value varchar(255) default NULL,
2779                        indexint_custom_list_lib varchar(255) default NULL,
2780                        ordre int(11) default NULL,
2781                        KEY editorial_custom_champ (indexint_custom_champ),
2782                        KEY editorial_champ_list_value (indexint_custom_champ,indexint_custom_list_value)) " ;
2783                echo traite_rqt($rqt,"create table if not exists indexint_custom_lists ");
2784               
2785                $rqt = "create table if not exists indexint_custom_values (
2786                        indexint_custom_champ int(10) unsigned NOT NULL default 0,
2787                        indexint_custom_origine int(10) unsigned NOT NULL default 0,
2788                        indexint_custom_small_text varchar(255) default NULL,
2789                        indexint_custom_text text,
2790                        indexint_custom_integer int(11) default NULL,
2791                        indexint_custom_date date default NULL,
2792                        indexint_custom_float float default NULL,
2793                        KEY editorial_custom_champ (indexint_custom_champ),
2794                        KEY editorial_custom_origine (indexint_custom_origine)) " ;
2795                echo traite_rqt($rqt,"create table if not exists indexint_custom_values ");
2796       
2797                // +-------------------------------------------------+
2798                echo "</table>";
2799                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
2800                $res = mysql_query($rqt, $dbh) ;
2801                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
2802                echo form_relance ("v5.12");
2803                break;
2804
2805        case "v5.12":
2806                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
2807                // +-------------------------------------------------+
2808
2809                //DG - parametre pour forcer l'exécution des procédures
2810                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='procs_force_execution' "))==0){
2811                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2812                VALUES (0, 'pmb', 'procs_force_execution', '0', 'Permettre le forçage de l\'exécution des procédures', '',0) ";
2813                        echo traite_rqt($rqt, "insert pmb_procs_force_execution=0 into parametres");
2814                        $rqt = "update users set rights=rights+131072 where rights<131072 and userid=1 ";
2815                        echo traite_rqt($rqt, "update users add editions forcing rights where super user ");
2816                }
2817               
2818                //NG - ajout facette en dsi
2819                $rqt = "ALTER TABLE bannettes ADD group_type int unsigned NOT NULL default 0 AFTER notice_tpl";
2820                echo traite_rqt($rqt,"alter table bannettes add group_type");
2821               
2822                $rqt = "CREATE TABLE if not exists bannette_facettes (
2823                        num_ban_facette int unsigned NOT NULL default 0,
2824                        ban_facette_critere int(5) not null default 0,
2825                        ban_facette_ss_critere int(5) not null default 0,
2826                        ban_facette_order int(1) not null default 0,
2827                        KEY bannette_facettes_key (num_ban_facette,ban_facette_critere,ban_facette_ss_critere)) " ;
2828                echo traite_rqt($rqt,"CREATE TABLE bannette_facettes"); 
2829               
2830                //DB - L'authentification Digest impose une valeur, ce qui n'est pas le cas avec une authentification externe
2831                $rqt= "alter table empr add empr_digest varchar(255) not null default '' after empr_password";
2832                echo traite_rqt($rqt,"alter table empr add empr_digest");               
2833               
2834                //AB
2835                $rqt = "UPDATE users SET value_deflt_relation=CONCAT(value_deflt_relation,'-up') WHERE value_deflt_relation!='' AND value_deflt_relation NOT LIKE '%-%'";
2836                echo traite_rqt($rqt, 'UPDATE users SET value_deflt_relation=CONCAT(value_deflt_relation,"-up")');
2837               
2838                // +-------------------------------------------------+
2839                echo "</table>";
2840                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
2841                $res = mysql_query($rqt, $dbh) ;
2842                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
2843                echo form_relance ("v5.13");
2844                break;
2845               
2846        case "v5.13":
2847                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
2848                // +-------------------------------------------------+
2849               
2850                //AB parametre OPAC pour activer ou non le drag and drop si notice_depliable != 2
2851                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='draggable' "))==0){
2852                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2853                                VALUES (0, 'opac', 'draggable', '1', 'Permet d\'activer le glisser déposer dans le panier pour l\'affichage des notices à l\'OPAC', 'e_aff_notice',0) ";
2854                        echo traite_rqt($rqt, "insert opac_draggable=1 into parametres");
2855                }
2856               
2857                //DG - Modification de la longueur du champ description de la table opac_liste_lecture
2858                $rqt = "ALTER TABLE opac_liste_lecture MODIFY description TEXT ";
2859                echo traite_rqt($rqt,"alter table opac_liste_lecture modify description");
2860               
2861                //DB - Ajout d'un champ timestamp dans la table acces_user_2
2862                @mysql_query("describe acces_usr_2",$dbh);
2863                if (!mysql_error($dbh)) {
2864                        $rqt = "ALTER IGNORE TABLE acces_usr_2 ADD updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ";
2865                        echo traite_rqt($rqt,"alter table acces_usr_2 add field updated");
2866                }
2867               
2868                // +-------------------------------------------------+
2869                echo "</table>";
2870                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
2871                $res = mysql_query($rqt, $dbh) ;
2872                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
2873                echo form_relance ("v5.14");
2874                break;
2875               
2876        case "v5.14":
2877                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
2878               
2879                // +-------------------------------------------------+
2880                // MB - Indexer la colonne num_renvoi_voir de la table noeuds
2881                $rqt = "ALTER TABLE noeuds DROP INDEX i_num_renvoi_voir";
2882                echo traite_rqt($rqt,"ALTER TABLE noeuds DROP INDEX i_num_renvoi_voir");
2883                $rqt = "ALTER TABLE noeuds ADD INDEX i_num_renvoi_voir (num_renvoi_voir)";
2884                echo traite_rqt($rqt,"ALTER TABLE noeuds ADD INDEX i_num_renvoi_voir (num_renvoi_voir)");
2885               
2886                $rqt="update parametres set comment_param='Liste des id de template de notice pour ajouter des onglets personnalisés en affichage de notice\nExemple: 1,3,ISBD,PUBLIC\nLe paramètre notices_format doit être à 0 pour placer ISBD et PUBLIC' where type_param='opac' and sstype_param='notices_format_onglets' ";
2887                echo traite_rqt($rqt,"update opac notices_format_onglets comments in parametres") ;
2888               
2889                $rqt = "update parametres set comment_param='0 : mode normal de recherche\n1 : Affiche directement le résultat de la recherche tous les champs sans passer par la présentation du niveau 1 de recherche \n2 : Affiche directement le résultat de la recherche tous les champs sans passer par la présentation du niveau 1 de recherche sans faire de recherche intermédaire'  where type_param='opac' and sstype_param='autolevel2' ";
2890                echo traite_rqt($rqt,"update opac_autolevel comments in parametres");
2891               
2892               
2893                //Création des tables pour le portfolio
2894                $rqt = "create table cms_collections (
2895                        id_collection int unsigned not null auto_increment primary key,
2896                        collection_title varchar(255) not null default '',
2897                        collection_description text not null,
2898                        collection_num_parent int not null default 0,
2899                        collection_num_storage int not null default 0,
2900                        index i_cms_collection_title(collection_title)
2901                )";
2902                echo traite_rqt($rqt,"create table cms_collections") ;
2903                $rqt = "create table cms_documents (
2904                        id_document int unsigned not null auto_increment primary key,
2905                        document_title varchar(255) not null default '',
2906                        document_description text not null,
2907                        document_filename varchar(255) not null default '',
2908                        document_mimetype varchar(100) not null default '',
2909                        document_filesize int not null default 0,
2910                        document_vignette mediumblob not null default '',
2911                        document_url text not null,
2912                        document_path varchar(255) not null default '',
2913                        document_create_date date not null default '0000-00-00',
2914                        document_num_storage int not null default 0,
2915                        document_type_object varchar(255) not null default '',
2916                        document_num_object int not null default 0,
2917                        index i_cms_document_title(document_title)
2918                )";
2919                echo traite_rqt($rqt,"create table cms_documents") ;
2920                $rqt = "create table storages (
2921                        id_storage int unsigned not null auto_increment primary key,
2922                        storage_name varchar(255) not null default '',
2923                        storage_class varchar(255) not null default '',
2924                        storage_params text not null,
2925                        index i_storage_class(storage_class)
2926                )";
2927                echo traite_rqt($rqt,"create table storages") ;
2928                $rqt = "create table cms_documents_links (
2929                        document_link_type_object varchar(255) not null default '',
2930                        document_link_num_object int not null default 0,
2931                        document_link_num_document int not null default 0,
2932                        primary key(document_link_type_object,document_link_num_object,document_link_num_document)
2933                )";
2934                echo traite_rqt($rqt,"create table cms_documents_links") ;
2935               
2936                // FT - Ajout des paramètres pour forcer les tags meta pour les moteurs de recherche
2937                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='meta_description' "))==0){
2938                        $rqt="insert into parametres(type_param,sstype_param,valeur_param,comment_param,section_param,gestion) values('opac','meta_description','','Contenu du meta tag description pour les moteurs de recherche','b_aff_general',0)";
2939                        echo traite_rqt($rqt,"INSERT INTO parametres opac_meta_description");
2940                }
2941                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='meta_keywords' "))==0){
2942                        $rqt="insert into parametres(type_param,sstype_param,valeur_param,comment_param,section_param,gestion) values('opac','meta_keywords','','Contenu du meta tag keywords pour les moteurs de recherche','b_aff_general',0)";
2943                        echo traite_rqt($rqt,"INSERT INTO parametres opac_meta_keywords");
2944                }       
2945                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='meta_author' "))==0){
2946                        $rqt="insert into parametres(type_param,sstype_param,valeur_param,comment_param,section_param,gestion) values('opac','meta_author','','Contenu du meta tag author pour les moteurs de recherche','b_aff_general',0)";
2947                        echo traite_rqt($rqt,"INSERT INTO parametres opac_meta_author");
2948                }
2949               
2950                //DG - autoriser le code HTML dans les cotes exemplaires
2951                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='html_allow_expl_cote' "))==0){
2952                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2953                        VALUES (0, 'pmb', 'html_allow_expl_cote', '0', 'Autoriser le code HTML dans les cotes exemplaires ? \n 0 : non \n 1', '',0) ";
2954                        echo traite_rqt($rqt, "insert pmb_html_allow_expl_cote=0 into parametres");
2955                }
2956               
2957                //maj valeurs possibles pour empr_sort_rows
2958                $rqt = "update parametres set comment_param='Colonnes qui seront disponibles pour le tri des emprunteurs. Les colonnes possibles sont : \n n: nom+prénom \n b: code-barres \n c: catégories \n g: groupes \n l: localisation \n s: statut \n cp: code postal \n v: ville \n y: année de naissance \n ab: type d\'abonnement \n #n : id des champs personnalisés' where type_param= 'empr' and sstype_param='sort_rows' ";
2959                echo traite_rqt($rqt,"update empr_sort_rows into parametres");
2960                       
2961                //DB - création table index pour le magasin rdf
2962                $rqt = "create table rdfstore_index (
2963                                        num_triple int(10) unsigned not null default 0,
2964                                        subject_uri text not null ,
2965                                        predicat_uri text not null ,
2966                                        num_object int(10) unsigned not null default 0 primary key,
2967                                        object_val text not null ,
2968                                        object_index text not null ,
2969                                        object_lang char(5) not null default ''
2970                ) default charset=utf8 ";
2971                echo traite_rqt($rqt,"create table rdfstore_index");
2972
2973                // MB - Création d'une table de cache pour les cadres du portail pour accélérer l'affichage
2974                $rqt = "DROP TABLE IF EXISTS cms_cache_cadres";
2975                echo traite_rqt($rqt,"DROP TABLE IF EXISTS cms_cache_cadres");
2976                $rqt = "CREATE TABLE  cms_cache_cadres (
2977                        cache_cadre_hash VARCHAR( 32 ) NOT NULL,
2978                        cache_cadre_type_content VARCHAR(30) NOT NULL,
2979                        cache_cadre_create_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
2980                        cache_cadre_content MEDIUMTEXT NOT NULL,
2981                        PRIMARY KEY (  cache_cadre_hash, cache_cadre_type_content )
2982                );";
2983                echo traite_rqt($rqt,"CREATE TABLE  cms_cache_cadres");
2984               
2985                $rqt = "ALTER TABLE rdfstore_index ADD subject_type TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER  subject_uri";
2986                echo traite_rqt($rqt,"alter table rdfstore_index add subject_type");
2987               
2988                // Info de réindexation
2989                $rqt = " select 1 " ;
2990                echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ REINDEXER (APRES ETAPES DE MISE A JOUR) / YOU MUST REINDEX (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base > Réindexer le magasin RDF</a></b> ") ;
2991
2992                // AP - Ajout de l'ordre dans les rubriques et les articles
2993                $rqt = "ALTER TABLE cms_sections ADD section_order INT UNSIGNED default 0";
2994                echo traite_rqt($rqt,"alter table cms_sections add section_order");
2995               
2996                $rqt = "ALTER TABLE cms_articles ADD article_order INT UNSIGNED default 0";
2997                echo traite_rqt($rqt,"alter table cms_articles add article_order");
2998               
2999                //DG - CSS add on en gestion
3000                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='default_style_addon' "))==0){
3001                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3002                        VALUES (0, 'pmb', 'default_style_addon', '', 'Ajout de styles CSS aux feuilles déjà incluses ?\n Ne mettre que le code CSS, exemple:  body {background-color: #FF0000;}', '',0) ";
3003                        echo traite_rqt($rqt, "insert pmb_default_style_addon into parametres");
3004                }
3005               
3006                // NG - circulation sans retour
3007                $rqt = "ALTER TABLE serialcirc ADD serialcirc_no_ret INT UNSIGNED not null default 0";
3008                echo traite_rqt($rqt,"alter table serialcirc add serialcirc_no_ret");
3009               
3010                // NG - personnalisation d'impression de la liste de circulation des périodiques       
3011                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='serialcirc_subst' "))==0){
3012                        $rqt="insert into parametres(type_param,sstype_param,valeur_param,comment_param,section_param,gestion) values('pmb','serialcirc_subst','','Nom du fichier permettant de personnaliser l\'impression de la liste de circulation des périodiques','',0)";
3013                        echo traite_rqt($rqt,"INSERT INTO parametres pmb_serialcirc_subst");
3014                }
3015               
3016                //MB - Augmenter la taille du libellé de groupe
3017                $rqt = "ALTER TABLE groupe CHANGE libelle_groupe libelle_groupe VARCHAR(255) NOT NULL";
3018                echo traite_rqt($rqt,"alter table groupe");
3019               
3020                //AR - Ajout d'un type de cache pour un cadre
3021                $rqt = "alter table cms_cadres add cadre_modcache varchar(255) not null default 'get_post_view'";
3022                echo traite_rqt($rqt,"alter table cms_cadres add cadre_modcache");
3023               
3024                //DG - Type de relation par défaut en création de périodique
3025                $rqt = "ALTER TABLE users ADD value_deflt_relation_serial VARCHAR( 20 ) NOT NULL DEFAULT '' AFTER value_deflt_relation";
3026                echo traite_rqt($rqt,"ALTER TABLE users ADD default value_deflt_relation_serial after value_deflt_relation");
3027               
3028                //DG - Type de relation par défaut en création de bulletin
3029                $rqt = "ALTER TABLE users ADD value_deflt_relation_bulletin VARCHAR( 20 ) NOT NULL DEFAULT '' AFTER value_deflt_relation_serial";
3030                echo traite_rqt($rqt,"ALTER TABLE users ADD default value_deflt_relation_bulletin after value_deflt_relation_serial");
3031               
3032                //DG - Type de relation par défaut en création d'article
3033                $rqt = "ALTER TABLE users ADD value_deflt_relation_analysis VARCHAR( 20 ) NOT NULL DEFAULT '' AFTER value_deflt_relation_bulletin";
3034                echo traite_rqt($rqt,"ALTER TABLE users ADD default value_deflt_relation_analysis after value_deflt_relation_bulletin");
3035               
3036                //DG - Mise à jour des valeurs en fonction du type de relation par défaut en création de notice, si la valeur est vide !
3037                if ($res = mysql_query("select userid, value_deflt_relation,value_deflt_relation_serial,value_deflt_relation_bulletin,value_deflt_relation_analysis from users")){
3038                        while ( $row = mysql_fetch_object($res)) {
3039                                if ($row->value_deflt_relation_serial == '') mysql_query("update users set value_deflt_relation_serial='".$row->value_deflt_relation."' where userid=".$row->userid);
3040                                if ($row->value_deflt_relation_bulletin == '') mysql_query("update users set value_deflt_relation_bulletin='".$row->value_deflt_relation."' where userid=".$row->userid);
3041                                if ($row->value_deflt_relation_analysis == '') mysql_query("update users set value_deflt_relation_analysis='".$row->value_deflt_relation."' where userid=".$row->userid);
3042                        }
3043                }
3044       
3045                //DG - Activer le prêt court par défaut
3046                $rqt = "ALTER TABLE users ADD deflt_short_loan_activate INT(1) UNSIGNED DEFAULT 0 NOT NULL ";
3047                echo traite_rqt($rqt, "ALTER TABLE users ADD deflt_short_loan_activate");
3048               
3049                //DG - Alerter l'utilisateur par mail des nouvelles inscriptions en OPAC ?
3050                $rqt = "ALTER TABLE users ADD user_alert_subscribemail INT(1) UNSIGNED NOT NULL DEFAULT 0 after user_alert_demandesmail";
3051                echo traite_rqt($rqt,"ALTER TABLE users add user_alert_subscribemail default 0");
3052
3053                //DB - Modification commentaire autolevel
3054                $rqt = "update parametres set comment_param='0 : mode normal de recherche.\n1 : Affiche le résultat de la recherche tous les champs après calcul du niveau 1 de recherche.\n2 : Affiche directement le résultat de la recherche tous les champs sans passer par le calcul du niveau 1 de recherche.' where type_param= 'opac' and sstype_param='autolevel2' ";
3055                echo traite_rqt($rqt,"update parameter comment for opac_autolevel2");
3056               
3057                //AR - Ajout du paramètres pour la durée de validité du cache des cadres du potail
3058                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'cms' and sstype_param='cache_ttl' "))==0){
3059                        $rqt = "insert into parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3060                        VALUES (0, 'cms', 'cache_ttl', '1800', 'durée de vie du cache des cadres du portail (en secondes)', '',0) ";
3061                        echo traite_rqt($rqt, "insert cms_caches_ttl into parametres");
3062                }
3063               
3064                //DG - Périodicité : Jour du mois
3065                $rqt = "ALTER TABLE planificateur ADD perio_jour_mois VARCHAR( 128 ) DEFAULT '*' AFTER perio_minute";
3066                echo traite_rqt($rqt,"ALTER TABLE planificateur ADD perio_jour_mois DEFAULT * after perio_minute");
3067               
3068                //DG - Replanifier la tâche en cas d'échec
3069                $rqt = "alter table taches_type add restart_on_failure int(1) UNSIGNED DEFAULT 0 NOT NULL";
3070                echo traite_rqt($rqt,"alter table taches_type add restart_on_failure");
3071               
3072                //DG - Alerte mail en cas d'échec de la tâche
3073                $rqt = "alter table taches_type add alert_mail_on_failure VARCHAR(255) DEFAULT ''";
3074                echo traite_rqt($rqt,"alter table taches_type add alert_mail_on_failure");
3075               
3076                //DG - Préremplissage de la vignette des dépouillements
3077                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='serial_thumbnail_url_article' "))==0){
3078                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3079                        VALUES (0, 'pmb', 'serial_thumbnail_url_article', '0', 'Préremplissage de l\'url de la vignette des dépouillements avec l\'url de la vignette de la notice mère en catalogage des périodiques ? \n 0 : Non \n 1 : Oui', '',0) ";
3080                        echo traite_rqt($rqt, "insert pmb_serial_thumbnail_url_article=0 into parametres");
3081                }
3082               
3083                //DG - Délai en millisecondes entre les mails envoyés lors d'un envoi groupé
3084                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='mail_delay' "))==0){
3085                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3086                                        VALUES(0,'pmb','mail_delay','0','Temps d\'attente en millisecondes entre chaque mail envoyé lors d\'un envoi groupé. \n 0 : Pas d\'attente', '',0)" ;
3087                        echo traite_rqt($rqt,"insert pmb_mail_delay=0 into parametres") ;
3088                }
3089               
3090                //DG - Timeout cURL sur la vérifications des liens
3091                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='curl_timeout' "))==0){
3092                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3093                                        VALUES(0,'pmb','curl_timeout','5','Timeout cURL (en secondes) pour la vérification des liens', '',1)" ;
3094                        echo traite_rqt($rqt,"insert pmb_curl_timeout=0 into parametres") ;
3095                }       
3096                       
3097                //DG - Autoriser la prolongation groupée pour tous les membres
3098                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='allow_prolong_members_group' "))==0){
3099                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3100                                        VALUES (0, 'empr', 'allow_prolong_members_group', '0', 'Autoriser la prolongation groupée des adhésions des membres d\'un groupe ? \n 0 : Non \n 1 : Oui', '',0) ";
3101                        echo traite_rqt($rqt, "insert empr_allow_prolong_members_group=0 into parametres");
3102                }
3103                       
3104               
3105                //DB - ajout d'un index stem+lang sur la table words
3106                $rqt = "alter table words add index i_stem_lang(stem, lang)";
3107                echo traite_rqt($rqt, "alter table words add index i_stem_lang");
3108               
3109                //NG - Autoindex
3110                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='auto_index_notice_fields' "))==0){
3111                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3112                        VALUES (0, 'thesaurus', 'auto_index_notice_fields', '', 'Liste des champs de notice à utiliser pour l\'indexation automatique, séparés par une virgule.\nLes noms des champs sont les identifiants des champs listés dans le fichier XML pmb/notice/notice.xml\nExemple: tit1,n_resume', 'categories',0) ";
3113                        echo traite_rqt($rqt, "insert thesaurus_auto_index_notice_fields='' into parametres");
3114                }
3115               
3116                //NG - Autoindex: surchage du parametrage de la recherche
3117                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='auto_index_search_param' "))==0){
3118                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3119                        VALUES (0, 'thesaurus', 'auto_index_search_param', '', 'Surchage des paramètres de recherche de l\'indexation automatique.\n\nSyntaxe: param=valeur;\n\nListe des paramètres:\nautoindex_max_up_distance,\nautoindex_max_down_distance,\nautoindex_stem_ratio,\nautoindex_see_also_ratio,\nautoindex_max_down_ratio,\nautoindex_max_up_ratio,\nautoindex_deep_ratio,\nautoindex_distance_ratio,\nmax_relevant_words,\nmax_relevant_terms', 'categories',0) ";
3120                        echo traite_rqt($rqt, "insert thesaurus_auto_index_search_param='' into parametres");
3121                }
3122               
3123                //DG - Choix par défaut pour la prolongation des lecteurs
3124                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='abonnement_default_debit' "))==0){
3125                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param) VALUES (0, 'empr', 'abonnement_default_debit', '0', 'Choix par défaut pour la prolongation des lecteurs. \n 0 : Ne pas débiter l\'abonnement \n 1 : Débiter l\'abonnement sans la caution \n 2 : Débiter l\'abonnement et la caution') " ;
3126                        echo traite_rqt($rqt,"insert empr_abonnement_default_debit = 0 into parametres");
3127                }
3128               
3129                //NG - Ajout indexation_lang dans la table notices
3130                $rqt = "ALTER TABLE notices ADD indexation_lang VARCHAR( 20 ) NOT NULL DEFAULT '' ";
3131                echo traite_rqt($rqt,"ALTER TABLE notices ADD indexation_lang VARCHAR( 20 ) NOT NULL DEFAULT '' ");
3132               
3133                $rqt = "alter table users add xmlta_indexation_lang varchar(10) NOT NULL DEFAULT '' after deflt_integration_notice_statut";
3134                echo traite_rqt($rqt,"alter table users add xmlta_indexation_lang");
3135               
3136                //NG - Ajout ico_notice
3137                $rqt = "ALTER TABLE connectors_sources ADD ico_notice VARCHAR( 256 ) NOT NULL DEFAULT '' ";
3138                echo traite_rqt($rqt,"ALTER TABLE connectors_sources ADD ico_notice VARCHAR( 256 ) NOT NULL DEFAULT '' ");
3139               
3140                //NG - liste des sources externes d'enrichissements à intégrer dans le a2z
3141                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='perio_a2z_enrichissements' "))==0){
3142                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3143                        VALUES (0, 'opac', 'perio_a2z_enrichissements', '0', 'Affichage de sources externes d\'enrichissement dans le navigateur de périodiques.\nListe des couples (séparé par une virgule) Id de connecteur, Id de source externe d\'enrichissement, séparé par un point virgule\nExemple:\n6,4;6,5', 'c_recherche',0) ";
3144                        echo traite_rqt($rqt, "insert opac_perio_a2z_enrichissements=0 into parametres");
3145                }
3146       
3147                //DG - Modification taille du champ empr_msg de la table empr
3148                $rqt = "ALTER TABLE empr MODIFY empr_msg TEXT null " ;
3149                echo traite_rqt($rqt,"alter table empr modify empr_msg");
3150               
3151                //DG - Identifiant du template de notice par défaut en impression de panier
3152                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='print_template_default' "))==0){
3153                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3154                        VALUES (0, 'opac', 'print_template_default', '0', 'En impression de panier, identifiant du template de notice utilisé par défaut. Si vide ou à 0, le template classique est utilisé', 'a_general', 0)";
3155                        echo traite_rqt($rqt,"insert opac_print_template_default='0' into parametres");
3156                }
3157       
3158                //DG - Paramètre pour afficher le permalink de la notice dans le detail de la notice
3159                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='show_permalink' "))==0){
3160                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3161                        VALUES (0, 'pmb', 'show_permalink', '0', 'Afficher le lien permanent de l\'OPAC en gestion ? \n 0 : Non.\n 1 : Oui.', '',0) ";
3162                        echo traite_rqt($rqt, "insert pmb_show_permalink=0 into parameters");
3163                }
3164               
3165                //AB - Ajout du champ pour choix d'un template d'export pour les flux RSS
3166                $rqt = "ALTER TABLE rss_flux ADD tpl_rss_flux INT(11) UNSIGNED NOT NULL DEFAULT 0";
3167                echo traite_rqt($rqt,"ALTER TABLE rss_flux ADD tpl_rss_flux INT(11) UNSIGNED NOT NULL DEFAULT 0 ");
3168               
3169                //DG - Parametre pour afficher ou non l'emprunteur précédent dans la fiche exemplaire
3170                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='expl_show_lastempr' "))==0){
3171                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pmb', 'expl_show_lastempr', '1', 'Afficher l\'emprunteur précédent sur la fiche exemplaire ? \n 0 : Non.\n 1 : Oui.', '',0) ";
3172                        echo traite_rqt($rqt, "insert pmb_expl_show_lastempr=1 into parameters");
3173                }
3174               
3175                // NG - Gestion de caisses
3176                $rqt = "CREATE TABLE cashdesk (
3177                        cashdesk_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
3178                        cashdesk_name VARCHAR(255) NOT NULL DEFAULT '',
3179                        cashdesk_autorisations VARCHAR(255) NOT NULL DEFAULT '',
3180                        cashdesk_transactypes VARCHAR(255) NOT NULL DEFAULT '',
3181                        cashdesk_cashbox INT UNSIGNED NOT NULL default 0
3182                        )";
3183                echo traite_rqt($rqt,"CREATE TABLE cashdesk");
3184               
3185                $rqt = "CREATE TABLE cashdesk_locations (
3186                        cashdesk_loc_cashdesk_num  INT UNSIGNED NOT NULL default 0,
3187                        cashdesk_loc_num  INT UNSIGNED NOT NULL default 0,
3188                        PRIMARY KEY(cashdesk_loc_cashdesk_num,cashdesk_loc_num)
3189                        )";
3190                echo traite_rqt($rqt,"CREATE TABLE cashdesk_locations");
3191               
3192                $rqt = "CREATE TABLE cashdesk_sections (
3193                        cashdesk_section_cashdesk_num  INT UNSIGNED NOT NULL default 0,
3194                        cashdesk_section_num  INT UNSIGNED NOT NULL default 0,
3195                        PRIMARY KEY(cashdesk_section_cashdesk_num,cashdesk_section_num)
3196                        )";
3197                echo traite_rqt($rqt,"CREATE TABLE cashdesk_sections");         
3198               
3199                // NG - Gestion de type de transactions
3200                $rqt = "CREATE TABLE  transactype (
3201                        transactype_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
3202                        transactype_name VARCHAR(255) NOT NULL DEFAULT '',
3203                        transactype_quick_allowed INT UNSIGNED NOT NULL default 0,
3204                        transactype_unit_price FLOAT NOT NULL default 0
3205                        )";
3206                echo traite_rqt($rqt,"CREATE TABLE transactype");
3207               
3208                // NG - Mémorisation du payement des transactions
3209                $rqt = "CREATE TABLE transacash (
3210                        transacash_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
3211                        transacash_empr_num INT UNSIGNED NOT NULL default 0,
3212                        transacash_desk_num INT UNSIGNED NOT NULL default 0,
3213                        transacash_user_num INT UNSIGNED NOT NULL default 0,
3214                        transacash_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',                       
3215                        transacash_sold FLOAT NOT NULL default 0,                       
3216                        transacash_collected FLOAT NOT NULL default 0,         
3217                        transacash_rendering FLOAT NOT NULL default 0                   
3218                        )";
3219                echo traite_rqt($rqt,"CREATE TABLE transacash");
3220               
3221                // NG - Activer la gestion de caisses en gestion financière
3222                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='gestion_financiere_caisses' "))==0){
3223                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3224                        VALUES (0, 'pmb', 'gestion_financiere_caisses', '0', 'Activer la gestion de caisses en gestion financière? \n 0 : Non.\n 1 : Oui.', '',0) ";
3225                        echo traite_rqt($rqt, "insert pmb_gestion_financiere_caisses=0 into parameters");
3226                }
3227               
3228                $rqt = "ALTER TABLE transactions ADD transactype_num INT UNSIGNED NOT NULL DEFAULT 0";
3229                echo traite_rqt($rqt,"ALTER TABLE transactions ADD transactype_num INT UNSIGNED NOT NULL DEFAULT 0 ");
3230               
3231                $rqt = "ALTER TABLE transactions ADD cashdesk_num INT UNSIGNED NOT NULL DEFAULT 0";
3232                echo traite_rqt($rqt,"ALTER TABLE transactions ADD cashdesk_num INT UNSIGNED NOT NULL DEFAULT 0 ");
3233               
3234                $rqt = "ALTER TABLE transactions ADD transacash_num INT UNSIGNED NOT NULL DEFAULT 0";
3235                echo traite_rqt($rqt,"ALTER TABLE transactions ADD transacash_num INT UNSIGNED NOT NULL DEFAULT 0 ");
3236               
3237                $rqt = "alter table users add deflt_cashdesk int NOT NULL DEFAULT 0 ";
3238                echo traite_rqt($rqt,"alter table users add deflt_cashdesk");
3239               
3240                $rqt= "alter table sessions add notifications text";
3241                echo traite_rqt($rqt,"alter table sessions add notifications");
3242               
3243                // AP - Ajout du paramètre de segmentation des documents numériques     
3244                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='diarization_docnum' "))==0){
3245                        $rqt="insert into parametres(type_param,sstype_param,valeur_param,comment_param,section_param,gestion) values('pmb','diarization_docnum',0,'Activer la segmentation des documents numériques vidéo ou audio 0 : non activée 1 : activée','',0)";
3246                        echo traite_rqt($rqt,"INSERT INTO parametres diarization_docnum");
3247                }
3248               
3249                // AP - Ajout de la table explnum_speakers
3250                $rqt = "CREATE TABLE explnum_speakers (
3251                        explnum_speaker_id int unsigned not null auto_increment primary key,
3252                        explnum_speaker_explnum_num int unsigned not null default 0,
3253                        explnum_speaker_speaker_num varchar(10) not null default '',
3254                        explnum_speaker_gender varchar(1) default '',
3255                        explnum_speaker_author int unsigned not null default 0
3256                        )";
3257                echo traite_rqt($rqt,"CREATE TABLE explnum_speakers");
3258                $rqt = "alter table explnum_speakers drop index i_ensk_explnum_num";
3259                echo traite_rqt($rqt,"alter table explnum_speakers drop index i_ensk_explnum_num");     
3260                $rqt = "alter table explnum_speakers add index i_ensk_explnum_num(explnum_speaker_explnum_num)";
3261                echo traite_rqt($rqt,"alter table explnum_speakers add index i_ensk_explnum_num");
3262                $rqt = "alter table explnum_speakers drop index i_ensk_author";
3263                echo traite_rqt($rqt,"alter table explnum_speakers drop index i_ensk_author"); 
3264                $rqt = "alter table explnum_speakers add index i_ensk_author(explnum_speaker_author)";
3265                echo traite_rqt($rqt,"alter table explnum_speakers add index i_ensk_author");
3266
3267               
3268                // AP - Ajout de la table explnum_segments
3269                $rqt = "CREATE TABLE  explnum_segments (
3270                        explnum_segment_id int unsigned not null auto_increment primary key,
3271                        explnum_segment_explnum_num int unsigned not null default 0,
3272                        explnum_segment_speaker_num int unsigned not null default 0,
3273                        explnum_segment_start double not null default 0,
3274                        explnum_segment_duration double not null default 0,
3275                        explnum_segment_end double not null default 0
3276                        )";
3277                echo traite_rqt($rqt,"CREATE TABLE explnum_segments");
3278                $rqt = "alter table explnum_segments drop index i_ensg_explnum_num";
3279                echo traite_rqt($rqt,"alter table explnum_segments drop index i_ensg_explnum_num");     
3280                $rqt = "alter table explnum_segments add index i_ensg_explnum_num(explnum_segment_explnum_num)";
3281                echo traite_rqt($rqt,"alter table explnum_segments add index i_ensg_explnum_num");
3282                $rqt = "alter table explnum_segments drop index i_ensg_speaker";
3283                echo traite_rqt($rqt,"alter table explnum_segments drop index i_ensg_speaker"); 
3284                $rqt = "alter table explnum_segments add index i_ensg_speaker(explnum_segment_speaker_num)";
3285                echo traite_rqt($rqt,"alter table explnum_segments add index i_ensg_speaker");
3286               
3287                //DG - Modification de l'emplacement du paramètre bannette_notices_template dans la zone DSI
3288                $rqt = "update parametres set type_param='dsi',section_param='' where type_param='opac' and sstype_param='bannette_notices_template' ";
3289                echo traite_rqt($rqt,"update parametres set bannette_notices_template");
3290               
3291                //DG - Retour à la précédente forme de tri
3292                $rqt = "update parametres set comment_param='Tri par défaut des recherches OPAC.\nDe la forme, c_num_6 (c pour croissant, d pour décroissant, puis num ou text pour numérique ou texte et enfin l\'identifiant du champ (voir fichier xml sort.xml))' WHERE type_param='opac' AND sstype_param='default_sort'";
3293                echo traite_rqt($rqt,"update comment for param opac_default_sort");
3294       
3295                //DG - Mode d'application d'un tri - Liste de tris pré-enregistrés
3296                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='default_sort_list' "))==0){
3297                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'opac', 'default_sort_list', '0 d_num_6,c_text_28;d_text_7', 'Afficher la liste déroulante de sélection d\'un tri ? \n 0 : Non \n 1 : Oui \nFaire suivre d\'un espace pour l\'ajout de plusieurs tris sous la forme : c_num_6|Libelle;d_text_7|Libelle 2;c_num_5|Libelle 3\n\nc pour croissant, d pour décroissant\nnum ou text pour numérique ou texte\nidentifiant du champ (voir fichier xml sort.xml)\nlibellé du tri (optionnel)','d_aff_recherche',0) " ;
3298                        echo traite_rqt($rqt,"insert opac_default_sort_list = 0 d_num_6,c_text_28;d_text_7 into parametres");
3299                }
3300
3301                //DG - Afficher le libellé du tri appliqué par défaut en résultat de recherche
3302                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='default_sort_display' "))==0){
3303                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'opac', 'default_sort_display', '0', 'Afficher le libellé du tri appliqué par défaut en résultat de recherche ? \n 0 : Non \n 1 : Oui','d_aff_recherche',0) " ;
3304                        echo traite_rqt($rqt,"insert opac_default_sort_display = 0 into parametres");
3305                }       
3306                       
3307                // NG - Affichage des bannettes privées en page d'accueil de l'Opac     
3308                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_bannettes' "))==0){
3309                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3310                        VALUES(0,'opac','show_bannettes','0','Affichage des bannettes en page d\'accueil OPAC.\n 0 : Non.\n 1 : Oui.','f_modules',0)" ;
3311                        echo traite_rqt($rqt,"insert opac_show_bannettes into parametres") ;
3312                }
3313
3314                // AB - Affichage des facettes en AJAX 
3315                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='facettes_ajax' "))==0){
3316                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3317                        VALUES(0,'opac','facettes_ajax','1','Charger les facettes en ajax\n0 : non\n1 : oui','c_recherche',0)" ;
3318                        echo traite_rqt($rqt,"insert opac_facettes_ajax into parametres") ;
3319                }
3320               
3321                // DB - Modification index sur table notices_mots_global_index
3322                set_time_limit(0);
3323                mysql_query("set wait_timeout=28800", $dbh);
3324                if (mysql_result(mysql_query("select count(*) from notices"),0,0) > 15000){
3325                        $rqt = "truncate table notices_fields_global_index";
3326                        echo traite_rqt($rqt,"truncate table notices_fields_global_index");
3327               
3328                        $rqt = "truncate table notices_mots_global_index";
3329                        echo traite_rqt($rqt,"truncate table notices_mots_global_index");
3330               
3331                        // Info de réindexation
3332                        $rqt = " select 1 " ;
3333                        echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ REINDEXER (APRES ETAPES DE MISE A JOUR) / YOU MUST REINDEX (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
3334                }
3335                $rqt = 'alter table notices_mots_global_index drop primary key';
3336                echo traite_rqt($rqt, 'alter table notices_mots_global_index drop primary key');
3337                $rqt = 'alter table notices_mots_global_index add primary key (id_notice, code_champ, num_word, position, code_ss_champ)'; 
3338                echo traite_rqt($rqt, 'alter table notices_mots_global_index add primary key');
3339               
3340                //AB
3341                $rqt = "ALTER TABLE cms_build drop INDEX cms_build_index";
3342                echo traite_rqt($rqt,"alter cms_build drop index cms_build_index ");
3343                $rqt = "ALTER TABLE cms_build ADD INDEX cms_build_index (build_version_num , build_obj)";
3344                echo traite_rqt($rqt,"alter cms_build add index cms_build_index ON build_version_num , build_obj");
3345                       
3346                // AR - Paramètres pour ne pas prendre en compte les mots vides en tous les champs à l'OPAC
3347                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_all_keep_empty_words' "))==0){
3348                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3349                        VALUES(0,'opac','search_all_keep_empty_words','1','Conserver les mots vides pour les autorités dans la recherche tous les champs\n0 : non\n1 : oui','c_recherche',0)" ;
3350                        echo traite_rqt($rqt,"insert opac_search_all_keep_empty_words into parametres") ;
3351                }                               
3352               
3353                // NG - Paramètre pour activer le piège en prêt si l'emprunteur a déjà emprunté l'exemplaire
3354                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='pret_already_loaned' "))==0){
3355                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3356                        VALUES(0,'pmb','pret_already_loaned','0','Activer le piège en prêt si le document a déjà été emprunté par le lecteur. Nécessite l\'activation de l\'archivage des prêts\n0 : non\n1 : oui','',0)" ;
3357                        echo traite_rqt($rqt,"insert pmb_pret_already_loaned into parametres") ;
3358                }
3359
3360                //DB - Ajout d'index
3361                set_time_limit(0);
3362                mysql_query("set wait_timeout=28800", $dbh);
3363               
3364                $rqt = "alter table abts_abts drop index i_date_fin";
3365                echo traite_rqt($rqt,"alter table abts_abts drop index i_date_fin");
3366                $rqt = "alter table abts_abts add index i_date_fin (date_fin)";
3367                echo traite_rqt($rqt,"alter table abts_abts add index i_date_fin");
3368               
3369                $rqt = "alter table cms_editorial_types drop index i_editorial_type_element";
3370                echo traite_rqt($rqt,"alter table cms_editorial_types drop index i_editorial_type_element");
3371                $rqt = "alter table cms_editorial_types add index i_editorial_type_element (editorial_type_element)";
3372                echo traite_rqt($rqt,"alter table cms_editorial_types add index i_editorial_type_element");
3373               
3374                $rqt = "alter table cms_editorial_custom drop index i_num_type";
3375                echo traite_rqt($rqt,"alter table cms_editorial_custom drop index i_num_type");
3376                $rqt = "alter table cms_editorial_custom add index i_num_type (num_type)";
3377                echo traite_rqt($rqt,"alter table cms_editorial_custom add index i_num_type");
3378               
3379                $rqt = "alter table cms_build drop index i_build_parent_build_version_num";
3380                echo traite_rqt($rqt,"alter table cms_build drop index i_build_parent_build_version_num");
3381                $rqt = "alter table cms_build add index i_build_parent_build_version_num (build_parent,build_version_num)";
3382                echo traite_rqt($rqt,"alter table cms_build add index i_build_parent_build_version_num");
3383
3384                $rqt = "alter table cms_build drop index i_build_type_build_version_num";
3385                echo traite_rqt($rqt,"alter table cms_build drop index i_build_type_build_version_num");
3386                $rqt = "alter table cms_build add index i_build_parent_build_version_num (build_type,build_version_num)";
3387                echo traite_rqt($rqt,"alter table cms_build add index i_build_type_build_version_num");
3388
3389                $rqt = "alter table cms_build drop index i_build_obj_build_version_num";
3390                echo traite_rqt($rqt,"alter table cms_build drop index i_build_obj_build_version_num");
3391                $rqt = "alter table cms_build add index i_build_obj_build_version_num (build_obj,build_version_num)";
3392                echo traite_rqt($rqt,"alter table cms_build add index i_build_obj_build_version_num");
3393
3394                $rqt = "alter table notices_fields_global_index drop index i_code_champ_code_ss_champ";
3395                echo traite_rqt($rqt,"alter table notices_fields_global_index drop index i_code_champ_code_ss_champ");
3396                $rqt = "alter table notices_fields_global_index add index i_code_champ_code_ss_champ (code_champ,code_ss_champ)";
3397                echo traite_rqt($rqt,"alter table notices_fields_global_index add index i_code_champ_code_ss_champ");
3398
3399                $rqt = "alter table notices_mots_global_index drop index i_code_champ_code_ss_champ_num_word";
3400                echo traite_rqt($rqt,"alter table notices_mots_global_index drop index i_code_champ_code_ss_champ_num_word");
3401                $rqt = "alter table notices_mots_global_index add index i_code_champ_code_ss_champ_num_word (code_champ,code_ss_champ,num_word)";
3402                echo traite_rqt($rqt,"alter table notices_mots_global_index add index i_code_champ_code_ss_champ_num_word");
3403
3404                // Activation des recherches exemplaires voisins
3405                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='allow_voisin_search' "))==0){
3406                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3407                                        VALUES (NULL, 'opac', 'allow_voisin_search', '0', 'Activer la recherche des exemplaires dont la cote est proche:\n 0 : non \n 1 : oui', 'c_recherche', '0')";
3408                        echo traite_rqt($rqt,"insert opac_allow_voisin_search='0' into parametres ");
3409                }
3410
3411                // MHo - Paramètre pour indiquer le nombre de notices similaires à afficher à l'opac
3412                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='nb_notices_similaires' "))==0){
3413                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
3414                        VALUES (0, 'opac', 'nb_notices_similaires', '6', 'Nombre de notices similaires affichées lors du dépliage d\'une notice.\nValeur max = 6.','e_aff_notice',0)";
3415                        echo traite_rqt($rqt,"insert opac_nb_notices_similaires='6' into parametres");
3416                }
3417                // MHo - Paramètre pour rendre indépendant l'affichage réduit des notices similaires par rapport aux notices pliées
3418                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notice_reduit_format_similaire' "))==0){
3419                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
3420                        VALUES (0, 'opac', 'notice_reduit_format_similaire', '1', 'Format d\'affichage des réduits de notices similaires :\n 0 = titre+auteur principal\n 1 = titre+auteur principal+date édition\n 2 = titre+auteur principal+date édition + ISBN\n 3 = titre seul\n P 1,2,3 = tit+aut+champs persos id 1 2 3\n E 1,2,3 = tit+aut+édit+champs persos id 1 2 3\n T = tit1+tit4\n 4 = titre+titre parallèle+auteur principal\n H 1 = id d\'un template de notice','e_aff_notice',0)";
3421                        echo traite_rqt($rqt,"insert opac_notice_reduit_format_similaire='0' into parametres");
3422                }
3423               
3424                //AR - Paramètres d'écretage des résultats de recherche
3425                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_noise_limit_type' "))==0){
3426                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3427                                        VALUES (NULL, 'opac', 'search_noise_limit_type', '0', 'Ecrêter les résulats de recherche en fonction de la pertinence. \n0 : Non \n1 : Retirer du résultat tout ce qui est en dessous de la moyenne - l\'écart-type\n2,ratio : Retirer du résultat tout ce qui est en dessous de la moyenne - un ratio de l\'écart-type (ex: 2,1.96)\n3,ratio : Retirer du résultat tout ce qui est dessous d\'un ratio de la pertinence max (ex: 3,0.25 élimine tout ce qui est inférieur à 25% de la plus forte pertinence)' , 'c_recherche', '0')";
3428                        echo traite_rqt($rqt,"insert opac_search_noise_limit_type='0' into parametres ");
3429                }
3430               
3431                //AR - Prise en compte de la fréquence d'apparition d'un mot dans le fonds pour le calcul de pertinence
3432                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_relevant_with_frequency' "))==0){
3433                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3434                                        VALUES (NULL, 'opac', 'search_relevant_with_frequency', '0', 'Utiliser la fréquence d\'apparition des mots dans les notices pour le calcul de la pertinence.\n0 : Non \n1 : Oui' , 'c_recherche', '0')";
3435                        echo traite_rqt($rqt,"insert opac_search_relevant_with_frequency='0' into parametres ");
3436                }
3437               
3438                //DG - Calcul de la prolongation d'adhésion à partir de la date de fin d'adhésion ou la date du jour
3439                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='prolong_calc_date_adhes_depassee' "))==0){
3440                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'empr', 'prolong_calc_date_adhes_depassee', '0', 'Si la date d\'adhésion est dépassée, le calcul de la prolongation se fait à partir de :\n 0 : la date de fin d\'adhésion\n 1 : la date du jour','',0) " ;
3441                        echo traite_rqt($rqt,"insert empr_prolong_calc_date_adhes_depassee = 0 into parametres");
3442                }
3443               
3444                //DG - Modification du commentaire du paramètre pmb_notice_reduit_format pour les améliorations
3445                $rqt = "update parametres set comment_param = 'Format d\'affichage des réduits de notices :\n 0 = titre+auteur principal\n 1 = titre+auteur principal+date édition\n 2 = titre+auteur principal+date édition + ISBN\n 3 = titre seul\n P 1,2,3 = tit+aut+champs persos id 1 2 3\n E 1,2,3 = tit+aut+édit+champs persos id 1 2 3\n T = tit1+tit4\n 4 = titre+titre parallèle+auteur principal\n H 1 = id d\'un template de notice' where type_param='pmb' and sstype_param='notice_reduit_format'";
3446                echo traite_rqt($rqt,"update parametre pmb_notice_reduit_format");
3447               
3448                //DG - Périodicité d'envoi par défaut en création de bannette privée (en jours)
3449                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='bannette_priv_periodicite' "))==0){
3450                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'opac', 'bannette_priv_periodicite', '15', 'Périodicité d\'envoi par défaut en création de bannette privée (en jours)','l_dsi',0) " ;
3451                        echo traite_rqt($rqt,"insert opac_bannette_priv_periodicite = 15 into parametres");
3452                }
3453               
3454                //DG - Modification du commentaire opac_notices_format
3455                $rqt = "update parametres set comment_param='Format d\'affichage des notices en résultat de recherche \n 0 : Utiliser le paramètre notices_format_onglets \n 1 : ISBD seul \n 2 : Public seul \n 4 : ISBD et Public \n 5 : ISBD et Public avec ISBD en premier \n 8 : Réduit (titre+auteurs) seul' where type_param='opac' and sstype_param='notices_format'" ;
3456                echo traite_rqt($rqt,"UPDATE parametres SET comment_param for opac_notices_format") ;
3457               
3458               
3459                //DB - Modifications et ajout de commentaires pour les paramètres décrivant l'autoindexation
3460                $rqt = "UPDATE parametres SET valeur_param=replace(valeur_param,',',';'), comment_param = 'Liste des champs de notice à utiliser pour l\'indexation automatique.\n\n";
3461                $rqt.= "Syntaxe: nom_champ=poids_indexation;\n\n";
3462                $rqt.= "Les noms des champs sont ceux précisés dans le fichier XML \"pmb/includes/notice/notice.xml\"\n";
3463                $rqt.= "Le poids de l\'indexation est une valeur de 0.00 à 1. (Si rien n\'est précisé, le poids est de 1)\n\n";
3464                $rqt.= "Exemple :\n\n";
3465                $rqt.= "tit1=1.00;n_resume=0.5;' ";
3466                $rqt.= "WHERE type_param = 'thesaurus' and sstype_param='auto_index_notice_fields' ";
3467                echo traite_rqt($rqt,"UPDATE parametres SET comment_param for thesaurus_auto_index_notice_fields") ;
3468               
3469                $rqt = "UPDATE parametres SET comment_param = 'Surchage des paramètres de recherche de l\'indexation automatique.\n";
3470                $rqt.= "Syntaxe: param=valeur;\n\n";
3471                $rqt.= "Listes des parametres:\n\n";
3472                $rqt.= "max_relevant_words = 20 (nombre maximum de mots et de lemmes de la notice à prendre en compte pour le calcul)\n\n";
3473                $rqt.= "autoindex_deep_ratio = 0.05 (ratio sur la profondeur du terme dans le thésaurus)\n";
3474                $rqt.= "autoindex_stem_ratio = 0.80 (ratio de pondération des lemmes / aux mots)\n\n";
3475                $rqt.= "autoindex_max_up_distance = 2 (distance maximum de recherche dans les termes génériques du thésaurus)\n";
3476                $rqt.= "autoindex_max_up_ratio = 0.01 (pondération sur les termes génériques)\n\n";
3477                $rqt.= "autoindex_max_down_distance = 2 (distance maximum de recherche dans les termes spécifiques du thésaurus)\n";
3478                $rqt.= "autoindex_max_down_ratio = 0.01 (pondération sur les termes spécifiques)\n\n";
3479                $rqt.= "autoindex_see_also_ratio = 0.01 (surpondération sur les termes voir aussi du thésaurus)\n\n";
3480                $rqt.= "autoindex_distance_type = 1 (calcul de distance de 1 à 4)\n";
3481                $rqt.= "autoindex_distance_ratio = 0.50 (ratio de pondération sur la distance entre les mots trouvés et les termes d\'une expression du thésaurus)\n\n";
3482                $rqt.= "max_relevant_terms = 10 (nombre maximum de termes retournés)' ";
3483                $rqt.= "WHERE type_param = 'thesaurus' and sstype_param='auto_index_search_param' ";
3484                echo traite_rqt($rqt,"UPDATE parametres SET comment_param for thesaurus_auto_index_search_param") ;
3485               
3486                // MHo - Ajout des attributs de l'oeuvre dans la table des titres uniformes
3487                $rqt = "ALTER TABLE titres_uniformes ADD tu_num_author BIGINT(11) UNSIGNED NOT NULL DEFAULT 0 ";
3488                echo traite_rqt($rqt,"alter titres_uniformes add tu_num_author");
3489                $rqt = "ALTER TABLE titres_uniformes ADD tu_forme VARCHAR(255) NOT NULL DEFAULT '' ";
3490                echo traite_rqt($rqt,"alter titres_uniformes add tu_forme");
3491                $rqt = "ALTER TABLE titres_uniformes ADD tu_date VARCHAR(50) NOT NULL DEFAULT '' ";
3492                echo traite_rqt($rqt,"alter titres_uniformes add tu_date");
3493                $rqt = "ALTER TABLE titres_uniformes ADD tu_date_date DATE NOT NULL DEFAULT '0000-00-00' ";
3494                echo traite_rqt($rqt,"alter titres_uniformes add tu_date_date");
3495                $rqt = "ALTER TABLE titres_uniformes ADD tu_sujet VARCHAR(255) NOT NULL DEFAULT '' ";
3496                echo traite_rqt($rqt,"alter titres_uniformes add tu_sujet");
3497                $rqt = "ALTER TABLE titres_uniformes ADD tu_lieu VARCHAR(255) NOT NULL DEFAULT '' ";
3498                echo traite_rqt($rqt,"alter titres_uniformes add tu_lieu");
3499                $rqt = "ALTER TABLE titres_uniformes ADD tu_histoire TEXT NULL ";
3500                echo traite_rqt($rqt,"alter titres_uniformes add tu_histoire");
3501                $rqt = "ALTER TABLE titres_uniformes ADD tu_caracteristique TEXT NULL ";
3502                echo traite_rqt($rqt,"alter titres_uniformes add tu_caracteristique");
3503                $rqt = "ALTER TABLE titres_uniformes ADD tu_public VARCHAR(255) NOT NULL DEFAULT '' ";
3504                echo traite_rqt($rqt,"alter titres_uniformes add tu_public");
3505                $rqt = "ALTER TABLE titres_uniformes ADD tu_contexte TEXT NULL ";
3506                echo traite_rqt($rqt,"alter titres_uniformes add tu_contexte");
3507                $rqt = "ALTER TABLE titres_uniformes ADD tu_coordonnees VARCHAR(255) NOT NULL DEFAULT '' ";
3508                echo traite_rqt($rqt,"alter titres_uniformes add tu_coordonnees");
3509                $rqt = "ALTER TABLE titres_uniformes ADD tu_equinoxe VARCHAR(255) NOT NULL DEFAULT '' ";
3510                echo traite_rqt($rqt,"alter titres_uniformes add tu_equinoxe");
3511                $rqt = "ALTER TABLE titres_uniformes ADD tu_completude INT(2) UNSIGNED NOT NULL DEFAULT 0 ";
3512                echo traite_rqt($rqt,"alter titres_uniformes add tu_completude");
3513               
3514                // AR - Retrait du paramètres juste commité : Activation des recherches exemplaires voisins
3515                $rqt="delete from parametres where type_param= 'opac' and sstype_param='allow_voisin_search'";
3516                echo traite_rqt($rqt,"delete from parametres opac_allow_voisin_search");
3517
3518                // AR - Modification du paramètre opac_allow_simili
3519                $rqt="update parametres set comment_param = 'Activer les recherches similaires sur une notice :\n0 : Non\n1 : Activer la recherche \"Dans le même rayon\" et \"Peut-être aimerez-vous\"\n2 : Activer seulement la recherche \"Dans le même rayon\"\n3 : Activer seulement la recherche \"Peut-être aimerez-vous\"', section_param = 'e_aff_notice' where type_param='opac' and sstype_param='allow_simili_search'";
3520                echo traite_rqt($rqt,"update parametres set opac_allow_simili_search");         
3521               
3522                // NG - Affichage des bannettes en page d'accueil de l'Opac     selon la banette
3523                $rqt = "ALTER TABLE bannettes ADD bannette_opac_accueil INT UNSIGNED NOT NULL default 0 ";
3524                echo traite_rqt($rqt,"alter table bannettes add bannette_opac_accueil");
3525               
3526                // AR - DSI abonné en page d'accueil
3527                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_subscribed_bannettes' "))==0){
3528                        $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3529                        VALUES('opac','show_subscribed_bannettes',0,'Affichage des bannettes auxquelles le lecteur est abonné en page d\'accueil OPAC :\n0 : Non.\n1 : Oui.','f_modules',0)" ;
3530                        echo traite_rqt($rqt,"insert opac_show_subscribed_bannettes=0 into parametres") ;
3531                }
3532               
3533                // AR - DSI publique sélectionné en page d'accueil
3534                if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_public_bannettes' "))==0){
3535                        $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
3536                        VALUES('opac','show_public_bannettes',0,'Affichage des bannettes sélectionnées en page d\'accueil OPAC :\n0 : Non.\n1 : Oui.','f_modules',0)" ;
3537                        echo traite_rqt($rqt,"insert show_public_bannettes=0 into parametres") ;
3538                }
3539               
3540                // AR - Retrait du paramètre perio_a2z_enrichissements, on ne l'a jamais utilisé car on a finalement ramené le paramétrage par un connecteur
3541                $rqt="delete from parametres where type_param= 'opac' and sstype_param='perio_a2z_enrichissements'";
3542                echo traite_rqt($rqt,"delete from parametres opac_perio_a2z_enrichissements");
3543               
3544                //DG - Paramètre non utilisé
3545                $rqt = "delete from parametres where sstype_param='confirm_resa' and type_param='opac' " ;
3546                $res = mysql_query($rqt, $dbh) ;
3547               
3548                //DG - Paramètre non utilisé
3549                $rqt = "delete from parametres where sstype_param='authors_aut_rec_per_page' and type_param='opac' " ;
3550                $res = mysql_query($rqt, $dbh) ;
3551               
3552                $rqt = "update parametres set valeur_param='0' where type_param='pmb' and sstype_param='bdd_subversion' " ;
3553                echo traite_rqt($rqt,"update pmb_bdd_subversion=0 into parametres");
3554                $pmb_bdd_subversion=0;
3555               
3556                if ($pmb_subversion_database_as_it_shouldbe!=$pmb_bdd_subversion) {
3557                        // Info de déconnexion pour passer le add-on
3558                        $rqt = " select 1 " ;
3559                        echo traite_rqt($rqt,"<b><a href='".$base_path."/logout.php' target=_blank>VOUS DEVEZ VOUS DECONNECTER ET VOUS RECONNECTER POUR TERMINER LA MISE A JOUR  / YOU MUST DISCONNECT AND RECONNECT YOU TO COMPLETE UPDATE</a></b> ") ;
3560                }
3561               
3562                // +-------------------------------------------------+
3563                echo "</table>";
3564                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
3565                $res = mysql_query($rqt, $dbh) ;
3566                echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
3567                break;
3568
3569        default:
3570                include("$include_path/messages/help/$lang/alter.txt");
3571                break;
3572        }
3573
3574
3575/*
3576
3577
3578        NE PLUS RIEN METTRE ICI, utilisez le addon
3579       
3580       
3581**/
Note: See TracBrowser for help on using the repository browser.