source: pmb4.2/trunk/fuentes/pmb/admin/misc/alter_vLlxTrusty.inc.php @ 1119

Last change on this file since 1119 was 1119, checked in by jrpelegrina, 5 years ago

Fix migration of bd from Trusty

File size: 185.6 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_vLlxTrusty.inc.php, migración BD a v5.19 (Lliurex 16.05 Xenial desde v.5.14 (Lliurex 15.05 Trusty)
6
7
8if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
9
10settype ($action,"string");
11
12mysql_query("set names latin1 ", $dbh);
13switch ($version_pmb_bdd) {
14        case "vLlxTrusty":
15       
16//      case "v5.14":
17                // 5 actualizaciones desde trusty (v5.14) a xenial (v5.19)
18                $increment=100/6;
19                $action=$increment;
20                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
21                // +-------------------------------------------------+
22                // MB - Indexer la colonne num_renvoi_voir de la table noeuds
23                $rqt = "ALTER TABLE noeuds DROP INDEX i_num_renvoi_voir";
24                echo traite_rqt($rqt,"ALTER TABLE noeuds DROP INDEX i_num_renvoi_voir");
25                $rqt = "ALTER TABLE noeuds ADD INDEX i_num_renvoi_voir (num_renvoi_voir)";
26                echo traite_rqt($rqt,"ALTER TABLE noeuds ADD INDEX i_num_renvoi_voir (num_renvoi_voir)");
27
28                $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' ";
29                echo traite_rqt($rqt,"update opac notices_format_onglets comments in parametres") ;
30
31                $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' ";
32                echo traite_rqt($rqt,"update opac_autolevel comments in parametres");
33
34
35                //Création des tables pour le portfolio
36                $rqt = "create table cms_collections (
37                        id_collection int unsigned not null auto_increment primary key,
38                        collection_title varchar(255) not null default '',
39                        collection_description text not null,
40                        collection_num_parent int not null default 0,
41                        collection_num_storage int not null default 0,
42                        index i_cms_collection_title(collection_title)
43                )";
44                echo traite_rqt($rqt,"create table cms_collections") ;
45                $rqt = "create table cms_documents (
46                        id_document int unsigned not null auto_increment primary key,
47                        document_title varchar(255) not null default '',
48                        document_description text not null,
49                        document_filename varchar(255) not null default '',
50                        document_mimetype varchar(100) not null default '',
51                        document_filesize int not null default 0,
52                        document_vignette mediumblob not null default '',
53                        document_url text not null,
54                        document_path varchar(255) not null default '',
55                        document_create_date date not null default '0000-00-00',
56                        document_num_storage int not null default 0,
57                        document_type_object varchar(255) not null default '',
58                        document_num_object int not null default 0,
59                        index i_cms_document_title(document_title)
60                )";
61                echo traite_rqt($rqt,"create table cms_documents") ;
62                $rqt = "create table storages (
63                        id_storage int unsigned not null auto_increment primary key,
64                        storage_name varchar(255) not null default '',
65                        storage_class varchar(255) not null default '',
66                        storage_params text not null,
67                        index i_storage_class(storage_class)
68                )";
69                echo traite_rqt($rqt,"create table storages") ;
70                $rqt = "create table cms_documents_links (
71                        document_link_type_object varchar(255) not null default '',
72                        document_link_num_object int not null default 0,
73                        document_link_num_document int not null default 0,
74                        primary key(document_link_type_object,document_link_num_object,document_link_num_document)
75                )";
76                echo traite_rqt($rqt,"create table cms_documents_links") ;
77
78                // FT - Ajout des paramètres pour forcer les tags meta pour les moteurs de recherche
79                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='meta_description' "))==0){
80                        $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)";
81                        echo traite_rqt($rqt,"INSERT INTO parametres opac_meta_description");
82                }
83                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='meta_keywords' "))==0){
84                        $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)";
85                        echo traite_rqt($rqt,"INSERT INTO parametres opac_meta_keywords");
86                }
87                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='meta_author' "))==0){
88                        $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)";
89                        echo traite_rqt($rqt,"INSERT INTO parametres opac_meta_author");
90                }
91
92                //DG - autoriser le code HTML dans les cotes exemplaires
93                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='html_allow_expl_cote' "))==0){
94                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
95                        VALUES (0, 'pmb', 'html_allow_expl_cote', '0', 'Autoriser le code HTML dans les cotes exemplaires ? \n 0 : non \n 1', '',0) ";
96                        echo traite_rqt($rqt, "insert pmb_html_allow_expl_cote=0 into parametres");
97                }
98
99                //maj valeurs possibles pour empr_sort_rows
100                $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' ";
101                echo traite_rqt($rqt,"update empr_sort_rows into parametres");
102
103                //DB - création table index pour le magasin rdf
104                $rqt = "create table rdfstore_index (
105                                        num_triple int(10) unsigned not null default 0,
106                                        subject_uri text not null ,
107                                        predicat_uri text not null ,
108                                        num_object int(10) unsigned not null default 0 primary key,
109                                        object_val text not null ,
110                                        object_index text not null ,
111                                        object_lang char(5) not null default ''
112                ) default charset=utf8 ";
113                echo traite_rqt($rqt,"create table rdfstore_index");
114
115                // MB - Création d'une table de cache pour les cadres du portail pour accélérer l'affichage
116                $rqt = "DROP TABLE IF EXISTS cms_cache_cadres";
117                echo traite_rqt($rqt,"DROP TABLE IF EXISTS cms_cache_cadres");
118                $rqt = "CREATE TABLE  cms_cache_cadres (
119                        cache_cadre_hash VARCHAR( 32 ) NOT NULL,
120                        cache_cadre_type_content VARCHAR(30) NOT NULL,
121                        cache_cadre_create_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
122                        cache_cadre_content MEDIUMTEXT NOT NULL,
123                        PRIMARY KEY (  cache_cadre_hash, cache_cadre_type_content )
124                );";
125                echo traite_rqt($rqt,"CREATE TABLE  cms_cache_cadres");
126
127                $rqt = "ALTER TABLE rdfstore_index ADD subject_type TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER  subject_uri";
128                echo traite_rqt($rqt,"alter table rdfstore_index add subject_type");
129
130                // Info de réindexation
131                $rqt = " select 1 " ;
132                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> ") ;
133
134                // AP - Ajout de l'ordre dans les rubriques et les articles
135                $rqt = "ALTER TABLE cms_sections ADD section_order INT UNSIGNED default 0";
136                echo traite_rqt($rqt,"alter table cms_sections add section_order");
137
138                $rqt = "ALTER TABLE cms_articles ADD article_order INT UNSIGNED default 0";
139                echo traite_rqt($rqt,"alter table cms_articles add article_order");
140
141                //DG - CSS add on en gestion
142                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='default_style_addon' "))==0){
143                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
144                        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) ";
145                        echo traite_rqt($rqt, "insert pmb_default_style_addon into parametres");
146                }
147
148                // NG - circulation sans retour
149                $rqt = "ALTER TABLE serialcirc ADD serialcirc_no_ret INT UNSIGNED not null default 0";
150                echo traite_rqt($rqt,"alter table serialcirc add serialcirc_no_ret");
151
152                // NG - personnalisation d'impression de la liste de circulation des périodiques
153                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='serialcirc_subst' "))==0){
154                        $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)";
155                        echo traite_rqt($rqt,"INSERT INTO parametres pmb_serialcirc_subst");
156                }
157
158                //MB - Augmenter la taille du libellé de groupe
159                $rqt = "ALTER TABLE groupe CHANGE libelle_groupe libelle_groupe VARCHAR(255) NOT NULL";
160                echo traite_rqt($rqt,"alter table groupe");
161
162                //AR - Ajout d'un type de cache pour un cadre
163                $rqt = "alter table cms_cadres add cadre_modcache varchar(255) not null default 'get_post_view'";
164                echo traite_rqt($rqt,"alter table cms_cadres add cadre_modcache");
165
166                //DG - Type de relation par défaut en création de périodique
167                $rqt = "ALTER TABLE users ADD value_deflt_relation_serial VARCHAR( 20 ) NOT NULL DEFAULT '' AFTER value_deflt_relation";
168                echo traite_rqt($rqt,"ALTER TABLE users ADD default value_deflt_relation_serial after value_deflt_relation");
169
170                //DG - Type de relation par défaut en création de bulletin
171                $rqt = "ALTER TABLE users ADD value_deflt_relation_bulletin VARCHAR( 20 ) NOT NULL DEFAULT '' AFTER value_deflt_relation_serial";
172                echo traite_rqt($rqt,"ALTER TABLE users ADD default value_deflt_relation_bulletin after value_deflt_relation_serial");
173
174                //DG - Type de relation par défaut en création d'article
175                $rqt = "ALTER TABLE users ADD value_deflt_relation_analysis VARCHAR( 20 ) NOT NULL DEFAULT '' AFTER value_deflt_relation_bulletin";
176                echo traite_rqt($rqt,"ALTER TABLE users ADD default value_deflt_relation_analysis after value_deflt_relation_bulletin");
177
178                //DG - Mise à jour des valeurs en fonction du type de relation par défaut en création de notice, si la valeur est vide !
179                if ($res = pmb_mysql_query("select userid, value_deflt_relation,value_deflt_relation_serial,value_deflt_relation_bulletin,value_deflt_relation_analysis from users")){
180                        while ( $row = pmb_mysql_fetch_object($res)) {
181                                if ($row->value_deflt_relation_serial == '') pmb_mysql_query("update users set value_deflt_relation_serial='".$row->value_deflt_relation."' where userid=".$row->userid);
182                                if ($row->value_deflt_relation_bulletin == '') pmb_mysql_query("update users set value_deflt_relation_bulletin='".$row->value_deflt_relation."' where userid=".$row->userid);
183                                if ($row->value_deflt_relation_analysis == '') pmb_mysql_query("update users set value_deflt_relation_analysis='".$row->value_deflt_relation."' where userid=".$row->userid);
184                        }
185                }
186
187                //DG - Activer le prêt court par défaut
188                $rqt = "ALTER TABLE users ADD deflt_short_loan_activate INT(1) UNSIGNED DEFAULT 0 NOT NULL ";
189                echo traite_rqt($rqt, "ALTER TABLE users ADD deflt_short_loan_activate");
190
191                //DG - Alerter l'utilisateur par mail des nouvelles inscriptions en OPAC ?
192                $rqt = "ALTER TABLE users ADD user_alert_subscribemail INT(1) UNSIGNED NOT NULL DEFAULT 0 after user_alert_demandesmail";
193                echo traite_rqt($rqt,"ALTER TABLE users add user_alert_subscribemail default 0");
194
195                //DB - Modification commentaire autolevel
196                $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' ";
197                echo traite_rqt($rqt,"update parameter comment for opac_autolevel2");
198
199                //AR - Ajout du paramètres pour la durée de validité du cache des cadres du potail
200                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'cms' and sstype_param='cache_ttl' "))==0){
201                        $rqt = "insert into parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
202                        VALUES (0, 'cms', 'cache_ttl', '1800', 'durée de vie du cache des cadres du portail (en secondes)', '',0) ";
203                        echo traite_rqt($rqt, "insert cms_caches_ttl into parametres");
204                }
205
206                //DG - Périodicité : Jour du mois
207                $rqt = "ALTER TABLE planificateur ADD perio_jour_mois VARCHAR( 128 ) DEFAULT '*' AFTER perio_minute";
208                echo traite_rqt($rqt,"ALTER TABLE planificateur ADD perio_jour_mois DEFAULT * after perio_minute");
209
210                //DG - Replanifier la tâche en cas d'échec
211                $rqt = "alter table taches_type add restart_on_failure int(1) UNSIGNED DEFAULT 0 NOT NULL";
212                echo traite_rqt($rqt,"alter table taches_type add restart_on_failure");
213
214                //DG - Alerte mail en cas d'échec de la tâche
215                $rqt = "alter table taches_type add alert_mail_on_failure VARCHAR(255) DEFAULT ''";
216                echo traite_rqt($rqt,"alter table taches_type add alert_mail_on_failure");
217
218                //DG - Préremplissage de la vignette des dépouillements
219                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='serial_thumbnail_url_article' "))==0){
220                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
221                        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) ";
222                        echo traite_rqt($rqt, "insert pmb_serial_thumbnail_url_article=0 into parametres");
223                }
224
225                //DG - Délai en millisecondes entre les mails envoyés lors d'un envoi groupé
226                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='mail_delay' "))==0){
227                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
228                                        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)" ;
229                        echo traite_rqt($rqt,"insert pmb_mail_delay=0 into parametres") ;
230                }
231
232                //DG - Timeout cURL sur la vérifications des liens
233                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='curl_timeout' "))==0){
234                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
235                                        VALUES(0,'pmb','curl_timeout','5','Timeout cURL (en secondes) pour la vérification des liens', '',1)" ;
236                        echo traite_rqt($rqt,"insert pmb_curl_timeout=0 into parametres") ;
237                }
238
239                //DG - Autoriser la prolongation groupée pour tous les membres
240                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='allow_prolong_members_group' "))==0){
241                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
242                                        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) ";
243                        echo traite_rqt($rqt, "insert empr_allow_prolong_members_group=0 into parametres");
244                }
245
246
247                //DB - ajout d'un index stem+lang sur la table words
248                $rqt = "alter table words add index i_stem_lang(stem, lang)";
249                echo traite_rqt($rqt, "alter table words add index i_stem_lang");
250
251                //NG - Autoindex
252                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='auto_index_notice_fields' "))==0){
253                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
254                        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) ";
255                        echo traite_rqt($rqt, "insert thesaurus_auto_index_notice_fields='' into parametres");
256                }
257
258                //NG - Autoindex: surchage du parametrage de la recherche
259                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='auto_index_search_param' "))==0){
260                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
261                        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) ";
262                        echo traite_rqt($rqt, "insert thesaurus_auto_index_search_param='' into parametres");
263                }
264
265                //DG - Choix par défaut pour la prolongation des lecteurs
266                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='abonnement_default_debit' "))==0){
267                        $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') " ;
268                        echo traite_rqt($rqt,"insert empr_abonnement_default_debit = 0 into parametres");
269                }
270
271                //NG - Ajout indexation_lang dans la table notices
272                $rqt = "ALTER TABLE notices ADD indexation_lang VARCHAR( 20 ) NOT NULL DEFAULT '' ";
273                echo traite_rqt($rqt,"ALTER TABLE notices ADD indexation_lang VARCHAR( 20 ) NOT NULL DEFAULT '' ");
274
275                $rqt = "alter table users add xmlta_indexation_lang varchar(10) NOT NULL DEFAULT '' after deflt_integration_notice_statut";
276                echo traite_rqt($rqt,"alter table users add xmlta_indexation_lang");
277
278                //NG - Ajout ico_notice
279                $rqt = "ALTER TABLE connectors_sources ADD ico_notice VARCHAR( 255 ) NOT NULL DEFAULT '' ";
280                echo traite_rqt($rqt,"ALTER TABLE connectors_sources ADD ico_notice VARCHAR( 255 ) NOT NULL DEFAULT '' ");
281
282                //NG - liste des sources externes d'enrichissements à intégrer dans le a2z
283                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='perio_a2z_enrichissements' "))==0){
284                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
285                        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) ";
286                        echo traite_rqt($rqt, "insert opac_perio_a2z_enrichissements=0 into parametres");
287                }
288
289                //DG - Modification taille du champ empr_msg de la table empr
290                $rqt = "ALTER TABLE empr MODIFY empr_msg TEXT null " ;
291                echo traite_rqt($rqt,"alter table empr modify empr_msg");
292
293                //DG - Identifiant du template de notice par défaut en impression de panier
294                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='print_template_default' "))==0){
295                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
296                        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)";
297                        echo traite_rqt($rqt,"insert opac_print_template_default='0' into parametres");
298                }
299
300                //DG - Paramètre pour afficher le permalink de la notice dans le detail de la notice
301                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='show_permalink' "))==0){
302                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
303                        VALUES (0, 'pmb', 'show_permalink', '0', 'Afficher le lien permanent de l\'OPAC en gestion ? \n 0 : Non.\n 1 : Oui.', '',0) ";
304                        echo traite_rqt($rqt, "insert pmb_show_permalink=0 into parameters");
305                }
306
307                //AB - Ajout du champ pour choix d'un template d'export pour les flux RSS
308                $rqt = "ALTER TABLE rss_flux ADD tpl_rss_flux INT(11) UNSIGNED NOT NULL DEFAULT 0";
309                echo traite_rqt($rqt,"ALTER TABLE rss_flux ADD tpl_rss_flux INT(11) UNSIGNED NOT NULL DEFAULT 0 ");
310
311                //DG - Parametre pour afficher ou non l'emprunteur précédent dans la fiche exemplaire
312                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='expl_show_lastempr' "))==0){
313                        $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) ";
314                        echo traite_rqt($rqt, "insert pmb_expl_show_lastempr=1 into parameters");
315                }
316
317                // NG - Gestion de caisses
318                $rqt = "CREATE TABLE cashdesk (
319                        cashdesk_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
320                        cashdesk_name VARCHAR(255) NOT NULL DEFAULT '',
321                        cashdesk_autorisations VARCHAR(255) NOT NULL DEFAULT '',
322                        cashdesk_transactypes VARCHAR(255) NOT NULL DEFAULT '',
323                        cashdesk_cashbox INT UNSIGNED NOT NULL default 0
324                        )";
325                echo traite_rqt($rqt,"CREATE TABLE cashdesk");
326
327                $rqt = "CREATE TABLE cashdesk_locations (
328                        cashdesk_loc_cashdesk_num  INT UNSIGNED NOT NULL default 0,
329                        cashdesk_loc_num  INT UNSIGNED NOT NULL default 0,
330                        PRIMARY KEY(cashdesk_loc_cashdesk_num,cashdesk_loc_num)
331                        )";
332                echo traite_rqt($rqt,"CREATE TABLE cashdesk_locations");
333
334                $rqt = "CREATE TABLE cashdesk_sections (
335                        cashdesk_section_cashdesk_num  INT UNSIGNED NOT NULL default 0,
336                        cashdesk_section_num  INT UNSIGNED NOT NULL default 0,
337                        PRIMARY KEY(cashdesk_section_cashdesk_num,cashdesk_section_num)
338                        )";
339                echo traite_rqt($rqt,"CREATE TABLE cashdesk_sections");
340
341                // NG - Gestion de type de transactions
342                $rqt = "CREATE TABLE  transactype (
343                        transactype_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
344                        transactype_name VARCHAR(255) NOT NULL DEFAULT '',
345                        transactype_quick_allowed INT UNSIGNED NOT NULL default 0,
346                        transactype_unit_price FLOAT NOT NULL default 0
347                        )";
348                echo traite_rqt($rqt,"CREATE TABLE transactype");
349
350                // NG - Mémorisation du payement des transactions
351                $rqt = "CREATE TABLE transacash (
352                        transacash_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
353                        transacash_empr_num INT UNSIGNED NOT NULL default 0,
354                        transacash_desk_num INT UNSIGNED NOT NULL default 0,
355                        transacash_user_num INT UNSIGNED NOT NULL default 0,
356                        transacash_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
357                        transacash_sold FLOAT NOT NULL default 0,
358                        transacash_collected FLOAT NOT NULL default 0,
359                        transacash_rendering FLOAT NOT NULL default 0
360                        )";
361                echo traite_rqt($rqt,"CREATE TABLE transacash");
362
363                // NG - Activer la gestion de caisses en gestion financière
364                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='gestion_financiere_caisses' "))==0){
365                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
366                        VALUES (0, 'pmb', 'gestion_financiere_caisses', '0', 'Activer la gestion de caisses en gestion financière? \n 0 : Non.\n 1 : Oui.', '',0) ";
367                        echo traite_rqt($rqt, "insert pmb_gestion_financiere_caisses=0 into parameters");
368                }
369
370                $rqt = "ALTER TABLE transactions ADD transactype_num INT UNSIGNED NOT NULL DEFAULT 0";
371                echo traite_rqt($rqt,"ALTER TABLE transactions ADD transactype_num INT UNSIGNED NOT NULL DEFAULT 0 ");
372
373                $rqt = "ALTER TABLE transactions ADD cashdesk_num INT UNSIGNED NOT NULL DEFAULT 0";
374                echo traite_rqt($rqt,"ALTER TABLE transactions ADD cashdesk_num INT UNSIGNED NOT NULL DEFAULT 0 ");
375
376                $rqt = "ALTER TABLE transactions ADD transacash_num INT UNSIGNED NOT NULL DEFAULT 0";
377                echo traite_rqt($rqt,"ALTER TABLE transactions ADD transacash_num INT UNSIGNED NOT NULL DEFAULT 0 ");
378
379                $rqt = "alter table users add deflt_cashdesk int NOT NULL DEFAULT 0 ";
380                echo traite_rqt($rqt,"alter table users add deflt_cashdesk");
381
382                $rqt= "alter table sessions add notifications text";
383                echo traite_rqt($rqt,"alter table sessions add notifications");
384
385                // AP - Ajout du paramètre de segmentation des documents numériques
386                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='diarization_docnum' "))==0){
387                        $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)";
388                        echo traite_rqt($rqt,"INSERT INTO parametres diarization_docnum");
389                }
390
391                // AP - Ajout de la table explnum_speakers
392                $rqt = "CREATE TABLE explnum_speakers (
393                        explnum_speaker_id int unsigned not null auto_increment primary key,
394                        explnum_speaker_explnum_num int unsigned not null default 0,
395                        explnum_speaker_speaker_num varchar(10) not null default '',
396                        explnum_speaker_gender varchar(1) default '',
397                        explnum_speaker_author int unsigned not null default 0
398                        )";
399                echo traite_rqt($rqt,"CREATE TABLE explnum_speakers");
400                $rqt = "alter table explnum_speakers drop index i_ensk_explnum_num";
401                echo traite_rqt($rqt,"alter table explnum_speakers drop index i_ensk_explnum_num");
402                $rqt = "alter table explnum_speakers add index i_ensk_explnum_num(explnum_speaker_explnum_num)";
403                echo traite_rqt($rqt,"alter table explnum_speakers add index i_ensk_explnum_num");
404                $rqt = "alter table explnum_speakers drop index i_ensk_author";
405                echo traite_rqt($rqt,"alter table explnum_speakers drop index i_ensk_author");
406                $rqt = "alter table explnum_speakers add index i_ensk_author(explnum_speaker_author)";
407                echo traite_rqt($rqt,"alter table explnum_speakers add index i_ensk_author");
408
409
410                // AP - Ajout de la table explnum_segments
411                $rqt = "CREATE TABLE  explnum_segments (
412                        explnum_segment_id int unsigned not null auto_increment primary key,
413                        explnum_segment_explnum_num int unsigned not null default 0,
414                        explnum_segment_speaker_num int unsigned not null default 0,
415                        explnum_segment_start double not null default 0,
416                        explnum_segment_duration double not null default 0,
417                        explnum_segment_end double not null default 0
418                        )";
419                echo traite_rqt($rqt,"CREATE TABLE explnum_segments");
420                $rqt = "alter table explnum_segments drop index i_ensg_explnum_num";
421                echo traite_rqt($rqt,"alter table explnum_segments drop index i_ensg_explnum_num");
422                $rqt = "alter table explnum_segments add index i_ensg_explnum_num(explnum_segment_explnum_num)";
423                echo traite_rqt($rqt,"alter table explnum_segments add index i_ensg_explnum_num");
424                $rqt = "alter table explnum_segments drop index i_ensg_speaker";
425                echo traite_rqt($rqt,"alter table explnum_segments drop index i_ensg_speaker");
426                $rqt = "alter table explnum_segments add index i_ensg_speaker(explnum_segment_speaker_num)";
427                echo traite_rqt($rqt,"alter table explnum_segments add index i_ensg_speaker");
428
429                //DG - Modification de l'emplacement du paramètre bannette_notices_template dans la zone DSI
430                $rqt = "update parametres set type_param='dsi',section_param='' where type_param='opac' and sstype_param='bannette_notices_template' ";
431                echo traite_rqt($rqt,"update parametres set bannette_notices_template");
432
433                //DG - Retour à la précédente forme de tri
434                $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'";
435                echo traite_rqt($rqt,"update comment for param opac_default_sort");
436
437                //DG - Mode d'application d'un tri - Liste de tris pré-enregistrés
438                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='default_sort_list' "))==0){
439                        $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) " ;
440                        echo traite_rqt($rqt,"insert opac_default_sort_list = 0 d_num_6,c_text_28;d_text_7 into parametres");
441                }
442
443                //DG - Afficher le libellé du tri appliqué par défaut en résultat de recherche
444                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='default_sort_display' "))==0){
445                        $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) " ;
446                        echo traite_rqt($rqt,"insert opac_default_sort_display = 0 into parametres");
447                }
448
449                // NG - Affichage des bannettes privées en page d'accueil de l'Opac
450                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_bannettes' "))==0){
451                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
452                        VALUES(0,'opac','show_bannettes','0','Affichage des bannettes en page d\'accueil OPAC.\n 0 : Non.\n 1 : Oui.','f_modules',0)" ;
453                        echo traite_rqt($rqt,"insert opac_show_bannettes into parametres") ;
454                }
455
456                // AB - Affichage des facettes en AJAX
457                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='facettes_ajax' "))==0){
458                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
459                        VALUES(0,'opac','facettes_ajax','1','Charger les facettes en ajax\n0 : non\n1 : oui','c_recherche',0)" ;
460                        echo traite_rqt($rqt,"insert opac_facettes_ajax into parametres") ;
461                }
462
463                // DB - Modification index sur table notices_mots_global_index
464                set_time_limit(0);
465                pmb_mysql_query("set wait_timeout=28800", $dbh);
466                if (pmb_mysql_result(pmb_mysql_query("select count(*) from notices"),0,0) > 15000){
467                        $rqt = "truncate table notices_fields_global_index";
468                        echo traite_rqt($rqt,"truncate table notices_fields_global_index");
469
470                        $rqt = "truncate table notices_mots_global_index";
471                        echo traite_rqt($rqt,"truncate table notices_mots_global_index");
472
473                        // Info de réindexation
474                        $rqt = " select 1 " ;
475                        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> ") ;
476                }
477                $rqt = 'alter table notices_mots_global_index drop primary key';
478                echo traite_rqt($rqt, 'alter table notices_mots_global_index drop primary key');
479                $rqt = 'alter table notices_mots_global_index add primary key (id_notice, code_champ, num_word, position, code_ss_champ)';
480                echo traite_rqt($rqt, 'alter table notices_mots_global_index add primary key');
481
482                //AB
483                $rqt = "ALTER TABLE cms_build drop INDEX cms_build_index";
484                echo traite_rqt($rqt,"alter cms_build drop index cms_build_index ");
485                $rqt = "ALTER TABLE cms_build ADD INDEX cms_build_index (build_version_num , build_obj)";
486                echo traite_rqt($rqt,"alter cms_build add index cms_build_index ON build_version_num , build_obj");
487
488                // AR - Paramètres pour ne pas prendre en compte les mots vides en tous les champs à l'OPAC
489                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_all_keep_empty_words' "))==0){
490                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
491                        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)" ;
492                        echo traite_rqt($rqt,"insert opac_search_all_keep_empty_words into parametres") ;
493                }
494
495                // NG - Paramètre pour activer le piège en prêt si l'emprunteur a déjà emprunté l'exemplaire
496                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='pret_already_loaned' "))==0){
497                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
498                        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)" ;
499                        echo traite_rqt($rqt,"insert pmb_pret_already_loaned into parametres") ;
500                }
501
502                //DB - Ajout d'index
503                set_time_limit(0);
504                pmb_mysql_query("set wait_timeout=28800", $dbh);
505
506                $rqt = "alter table abts_abts drop index i_date_fin";
507                echo traite_rqt($rqt,"alter table abts_abts drop index i_date_fin");
508                $rqt = "alter table abts_abts add index i_date_fin (date_fin)";
509                echo traite_rqt($rqt,"alter table abts_abts add index i_date_fin");
510
511                $rqt = "alter table cms_editorial_types drop index i_editorial_type_element";
512                echo traite_rqt($rqt,"alter table cms_editorial_types drop index i_editorial_type_element");
513                $rqt = "alter table cms_editorial_types add index i_editorial_type_element (editorial_type_element)";
514                echo traite_rqt($rqt,"alter table cms_editorial_types add index i_editorial_type_element");
515
516                $rqt = "alter table cms_editorial_custom drop index i_num_type";
517                echo traite_rqt($rqt,"alter table cms_editorial_custom drop index i_num_type");
518                $rqt = "alter table cms_editorial_custom add index i_num_type (num_type)";
519                echo traite_rqt($rqt,"alter table cms_editorial_custom add index i_num_type");
520
521                $rqt = "alter table cms_build drop index i_build_parent_build_version_num";
522                echo traite_rqt($rqt,"alter table cms_build drop index i_build_parent_build_version_num");
523                $rqt = "alter table cms_build add index i_build_parent_build_version_num (build_parent,build_version_num)";
524                echo traite_rqt($rqt,"alter table cms_build add index i_build_parent_build_version_num");
525
526                $rqt = "alter table cms_build drop index i_build_type_build_version_num";
527                echo traite_rqt($rqt,"alter table cms_build drop index i_build_type_build_version_num");
528                $rqt = "alter table cms_build add index i_build_parent_build_version_num (build_type,build_version_num)";
529                echo traite_rqt($rqt,"alter table cms_build add index i_build_type_build_version_num");
530
531                $rqt = "alter table cms_build drop index i_build_obj_build_version_num";
532                echo traite_rqt($rqt,"alter table cms_build drop index i_build_obj_build_version_num");
533                $rqt = "alter table cms_build add index i_build_obj_build_version_num (build_obj,build_version_num)";
534                echo traite_rqt($rqt,"alter table cms_build add index i_build_obj_build_version_num");
535
536                $rqt = "alter table notices_fields_global_index drop index i_code_champ_code_ss_champ";
537                echo traite_rqt($rqt,"alter table notices_fields_global_index drop index i_code_champ_code_ss_champ");
538                $rqt = "alter table notices_fields_global_index add index i_code_champ_code_ss_champ (code_champ,code_ss_champ)";
539                echo traite_rqt($rqt,"alter table notices_fields_global_index add index i_code_champ_code_ss_champ");
540
541                $rqt = "alter table notices_mots_global_index drop index i_code_champ_code_ss_champ_num_word";
542                echo traite_rqt($rqt,"alter table notices_mots_global_index drop index i_code_champ_code_ss_champ_num_word");
543                $rqt = "alter table notices_mots_global_index add index i_code_champ_code_ss_champ_num_word (code_champ,code_ss_champ,num_word)";
544                echo traite_rqt($rqt,"alter table notices_mots_global_index add index i_code_champ_code_ss_champ_num_word");
545
546                // Activation des recherches exemplaires voisins
547                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='allow_voisin_search' "))==0){
548                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
549                                        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')";
550                        echo traite_rqt($rqt,"insert opac_allow_voisin_search='0' into parametres ");
551                }
552
553                // MHo - Paramètre pour indiquer le nombre de notices similaires à afficher à l'opac
554                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='nb_notices_similaires' "))==0){
555                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
556                        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)";
557                        echo traite_rqt($rqt,"insert opac_nb_notices_similaires='6' into parametres");
558                }
559                // MHo - Paramètre pour rendre indépendant l'affichage réduit des notices similaires par rapport aux notices pliées
560                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notice_reduit_format_similaire' "))==0){
561                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
562                        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)";
563                        echo traite_rqt($rqt,"insert opac_notice_reduit_format_similaire='0' into parametres");
564                }
565
566                //AR - Paramètres d'écretage des résultats de recherche
567                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_noise_limit_type' "))==0){
568                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
569                                        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')";
570                        echo traite_rqt($rqt,"insert opac_search_noise_limit_type='0' into parametres ");
571                }
572
573                //AR - Prise en compte de la fréquence d'apparition d'un mot dans le fonds pour le calcul de pertinence
574                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_relevant_with_frequency' "))==0){
575                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
576                                        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')";
577                        echo traite_rqt($rqt,"insert opac_search_relevant_with_frequency='0' into parametres ");
578                }
579
580                //DG - Calcul de la prolongation d'adhésion à partir de la date de fin d'adhésion ou la date du jour
581                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='prolong_calc_date_adhes_depassee' "))==0){
582                        $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) " ;
583                        echo traite_rqt($rqt,"insert empr_prolong_calc_date_adhes_depassee = 0 into parametres");
584                }
585
586                //DG - Modification du commentaire du paramètre pmb_notice_reduit_format pour les améliorations
587                $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'";
588                echo traite_rqt($rqt,"update parametre pmb_notice_reduit_format");
589
590                //DG - Périodicité d'envoi par défaut en création de bannette privée (en jours)
591                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='bannette_priv_periodicite' "))==0){
592                        $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) " ;
593                        echo traite_rqt($rqt,"insert opac_bannette_priv_periodicite = 15 into parametres");
594                }
595
596                //DG - Modification du commentaire opac_notices_format
597                $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'" ;
598                echo traite_rqt($rqt,"UPDATE parametres SET comment_param for opac_notices_format") ;
599
600
601                //DB - Modifications et ajout de commentaires pour les paramètres décrivant l'autoindexation
602                $rqt = "UPDATE parametres SET valeur_param=replace(valeur_param,',',';'), comment_param = 'Liste des champs de notice à utiliser pour l\'indexation automatique.\n\n";
603                $rqt.= "Syntaxe: nom_champ=poids_indexation;\n\n";
604                $rqt.= "Les noms des champs sont ceux précisés dans le fichier XML \"pmb/includes/notice/notice.xml\"\n";
605                $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";
606                $rqt.= "Exemple :\n\n";
607                $rqt.= "tit1=1.00;n_resume=0.5;' ";
608                $rqt.= "WHERE type_param = 'thesaurus' and sstype_param='auto_index_notice_fields' ";
609                echo traite_rqt($rqt,"UPDATE parametres SET comment_param for thesaurus_auto_index_notice_fields") ;
610
611                $rqt = "UPDATE parametres SET comment_param = 'Surchage des paramètres de recherche de l\'indexation automatique.\n";
612                $rqt.= "Syntaxe: param=valeur;\n\n";
613                $rqt.= "Listes des parametres:\n\n";
614                $rqt.= "max_relevant_words = 20 (nombre maximum de mots et de lemmes de la notice à prendre en compte pour le calcul)\n\n";
615                $rqt.= "autoindex_deep_ratio = 0.05 (ratio sur la profondeur du terme dans le thésaurus)\n";
616                $rqt.= "autoindex_stem_ratio = 0.80 (ratio de pondération des lemmes / aux mots)\n\n";
617                $rqt.= "autoindex_max_up_distance = 2 (distance maximum de recherche dans les termes génériques du thésaurus)\n";
618                $rqt.= "autoindex_max_up_ratio = 0.01 (pondération sur les termes génériques)\n\n";
619                $rqt.= "autoindex_max_down_distance = 2 (distance maximum de recherche dans les termes spécifiques du thésaurus)\n";
620                $rqt.= "autoindex_max_down_ratio = 0.01 (pondération sur les termes spécifiques)\n\n";
621                $rqt.= "autoindex_see_also_ratio = 0.01 (surpondération sur les termes voir aussi du thésaurus)\n\n";
622                $rqt.= "autoindex_distance_type = 1 (calcul de distance de 1 à 4)\n";
623                $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";
624                $rqt.= "max_relevant_terms = 10 (nombre maximum de termes retournés)' ";
625                $rqt.= "WHERE type_param = 'thesaurus' and sstype_param='auto_index_search_param' ";
626                echo traite_rqt($rqt,"UPDATE parametres SET comment_param for thesaurus_auto_index_search_param") ;
627
628                // MHo - Ajout des attributs de l'oeuvre dans la table des titres uniformes
629                $rqt = "ALTER TABLE titres_uniformes ADD tu_num_author BIGINT(11) UNSIGNED NOT NULL DEFAULT 0 ";
630                echo traite_rqt($rqt,"alter titres_uniformes add tu_num_author");
631                $rqt = "ALTER TABLE titres_uniformes ADD tu_forme VARCHAR(255) NOT NULL DEFAULT '' ";
632                echo traite_rqt($rqt,"alter titres_uniformes add tu_forme");
633                $rqt = "ALTER TABLE titres_uniformes ADD tu_date VARCHAR(50) NOT NULL DEFAULT '' ";
634                echo traite_rqt($rqt,"alter titres_uniformes add tu_date");
635                $rqt = "ALTER TABLE titres_uniformes ADD tu_date_date DATE NOT NULL DEFAULT '0000-00-00' ";
636                echo traite_rqt($rqt,"alter titres_uniformes add tu_date_date");
637                $rqt = "ALTER TABLE titres_uniformes ADD tu_sujet VARCHAR(255) NOT NULL DEFAULT '' ";
638                echo traite_rqt($rqt,"alter titres_uniformes add tu_sujet");
639                $rqt = "ALTER TABLE titres_uniformes ADD tu_lieu VARCHAR(255) NOT NULL DEFAULT '' ";
640                echo traite_rqt($rqt,"alter titres_uniformes add tu_lieu");
641                $rqt = "ALTER TABLE titres_uniformes ADD tu_histoire TEXT NULL ";
642                echo traite_rqt($rqt,"alter titres_uniformes add tu_histoire");
643                $rqt = "ALTER TABLE titres_uniformes ADD tu_caracteristique TEXT NULL ";
644                echo traite_rqt($rqt,"alter titres_uniformes add tu_caracteristique");
645                $rqt = "ALTER TABLE titres_uniformes ADD tu_public VARCHAR(255) NOT NULL DEFAULT '' ";
646                echo traite_rqt($rqt,"alter titres_uniformes add tu_public");
647                $rqt = "ALTER TABLE titres_uniformes ADD tu_contexte TEXT NULL ";
648                echo traite_rqt($rqt,"alter titres_uniformes add tu_contexte");
649                $rqt = "ALTER TABLE titres_uniformes ADD tu_coordonnees VARCHAR(255) NOT NULL DEFAULT '' ";
650                echo traite_rqt($rqt,"alter titres_uniformes add tu_coordonnees");
651                $rqt = "ALTER TABLE titres_uniformes ADD tu_equinoxe VARCHAR(255) NOT NULL DEFAULT '' ";
652                echo traite_rqt($rqt,"alter titres_uniformes add tu_equinoxe");
653                $rqt = "ALTER TABLE titres_uniformes ADD tu_completude INT(2) UNSIGNED NOT NULL DEFAULT 0 ";
654                echo traite_rqt($rqt,"alter titres_uniformes add tu_completude");
655
656                // AR - Retrait du paramètres juste commité : Activation des recherches exemplaires voisins
657                $rqt="delete from parametres where type_param= 'opac' and sstype_param='allow_voisin_search'";
658                echo traite_rqt($rqt,"delete from parametres opac_allow_voisin_search");
659
660                // AR - Modification du paramètre opac_allow_simili
661                $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'";
662                echo traite_rqt($rqt,"update parametres set opac_allow_simili_search");
663
664                // NG - Affichage des bannettes en page d'accueil de l'Opac     selon la banette
665                $rqt = "ALTER TABLE bannettes ADD bannette_opac_accueil INT UNSIGNED NOT NULL default 0 ";
666                echo traite_rqt($rqt,"alter table bannettes add bannette_opac_accueil");
667
668                // AR - DSI abonné en page d'accueil
669                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_subscribed_bannettes' "))==0){
670                        $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
671                        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)" ;
672                        echo traite_rqt($rqt,"insert opac_show_subscribed_bannettes=0 into parametres") ;
673                }
674
675                // AR - DSI publique sélectionné en page d'accueil
676                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_public_bannettes' "))==0){
677                        $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
678                        VALUES('opac','show_public_bannettes',0,'Affichage des bannettes sélectionnées en page d\'accueil OPAC :\n0 : Non.\n1 : Oui.','f_modules',0)" ;
679                        echo traite_rqt($rqt,"insert show_public_bannettes=0 into parametres") ;
680                }
681
682                // 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
683                $rqt="delete from parametres where type_param= 'opac' and sstype_param='perio_a2z_enrichissements'";
684                echo traite_rqt($rqt,"delete from parametres opac_perio_a2z_enrichissements");
685
686                //DG - Paramètre non utilisé
687                $rqt = "delete from parametres where sstype_param='confirm_resa' and type_param='opac' " ;
688                $res = pmb_mysql_query($rqt, $dbh) ;
689
690                //DG - Paramètre non utilisé
691                $rqt = "delete from parametres where sstype_param='authors_aut_rec_per_page' and type_param='opac' " ;
692                $res = pmb_mysql_query($rqt, $dbh) ;
693
694                // +-------------------------------------------------+
695                echo "</table>";
696                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
697                $res = pmb_mysql_query($rqt, $dbh) ;
698                echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
699                $action=$action+$increment;
700                //echo form_relance ("v5.15");
701
702        //break;
703                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
704                        // +-------------------------------------------------+
705                        // AB - Paramètre de modification du workflow d'une demande
706                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='init_workflow' "))==0){
707                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
708                                VALUES('demandes','init_workflow',0,'Initialisation du workflow de la demande.\n 0 : Validation avant tout\n 1 : Validation avant tout et attribution au validateur\n 2 : Attribution avant tout','',0)";
709                                echo traite_rqt($rqt,"insert demandes_init_workflow=0 into parametres") ;
710                        }
711
712                        // MHo - Paramètre pour automatiser ou non la création de notice lors de l'enregistrement d'une demande
713                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='notice_auto' "))==0){
714                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
715                                VALUES (0, 'demandes', 'notice_auto', '0', 'Création automatique de la notice de demande :\n0 : Non\n1 : Oui','',0)";
716                                echo traite_rqt($rqt,"insert demandes_notice_auto='0' into parametres");
717                        }
718
719                        // MHo - Paramètre pour la création par défaut d'une action lors de la validation d'une demande
720                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='default_action' "))==0){
721                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
722                                VALUES (0, 'demandes', 'default_action', '1', 'Création par défaut d\'une action lors de la validation de la demande :\n0 : Non\n1 : Oui','',0)";
723                                echo traite_rqt($rqt,"insert demandes_default_action='1' into parametres");
724                        }
725
726                        // MHo - Ajout d'une colonne "origine" de l'utilisateur dans la table audit : 0 = gestion, 1 = opac
727                        $rqt = "ALTER TABLE audit ADD type_user INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
728                        echo traite_rqt($rqt,"alter audit add type_user");
729
730                        // AR - Ajout d'une colonne pour stocker les actions autorisées par type de demande
731                        $rqt = "alter table demandes_type add allowed_actions text not null";
732                        echo traite_rqt($rqt,"alter table demandes_type add allowed_actions");
733
734                        //DG - Optimisation
735                        $rqt = "show fields from notices_fields_global_index";
736                        $res = pmb_mysql_query($rqt);
737                        $exists = false;
738                        if(pmb_mysql_num_rows($res)){
739                                while($row = pmb_mysql_fetch_object($res)){
740                                        if($row->Field == "authority_num"){
741                                                $exists = true;
742                                                break;
743                                        }
744                                }
745                        }
746                        if(!$exists){
747                                if (pmb_mysql_result(pmb_mysql_query("select count(*) from notices"),0,0) > 15000){
748                                        $rqt = "truncate table notices_fields_global_index";
749                                        echo traite_rqt($rqt,"truncate table notices_fields_global_index");
750
751                                        // Info de réindexation
752                                        $rqt = " select 1 " ;
753                                        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> ") ;
754                                }
755
756                                // JP - Synchronisation RDF
757                                $rqt = "ALTER TABLE notices_fields_global_index ADD authority_num VARCHAR(50) NOT NULL DEFAULT '0'";
758                                echo traite_rqt($rqt,"alter table notices_fields_global_index add authority_num");
759                        }
760
761                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='synchro_rdf' "))==0){
762                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
763                                                VALUES (0, 'pmb', 'synchro_rdf', '0', 'Activer la synchronisation rdf\n 0 : non \n 1 : oui (l\'activation de ce paramètre nécessite une ré-indexation)','',0) " ;
764                                echo traite_rqt($rqt,"insert pmb_synchro_rdf = 0 into parametres");
765                        }
766
767                        // AB Modification de la valeur par défaut du parametre init_workflow
768                        $rqt="UPDATE parametres SET valeur_param='1' WHERE type_param='demandes' AND sstype_param='init_workflow'";
769                        echo traite_rqt($rqt,"update parametres set demandes_init_workflow=1");
770                        // AB Changement du type de champ pour date_note
771                        $rqt = "ALTER TABLE demandes_notes CHANGE date_note date_note DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'";
772                        echo traite_rqt($rqt,"alter demandes_notes CHANGE date_note");
773                        // MHo - Ajout d'une colonne "notes_read_gestion" pour indiquer si une note a été lue en gestion ou pas : 0 = lue, 1 = non lue
774                        $rqt = "ALTER TABLE demandes_notes ADD notes_read_gestion INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
775                        echo traite_rqt($rqt,"alter demandes_notes add note_read_gestion");
776                        // MHo - Ajout d'une colonne "actions_read_gestion" pour indiquer si une action a été lue en gestion ou pas : 0 = lue, 1 = non lue
777                        $rqt = "ALTER TABLE demandes_actions ADD actions_read_gestion INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
778                        echo traite_rqt($rqt,"alter demandes_actions add actions_read_gestion");
779                        // MHo - Ajout d'une colonne "dmde_read_gestion" pour indiquer si une demande contient des éléments nouveaux (actions, notes) ou pas : 0 = lue, 1 = non lue
780                        $rqt = "ALTER TABLE demandes ADD dmde_read_gestion INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
781                        echo traite_rqt($rqt,"alter demandes add dmde_read_gestion");
782
783                        // MHo - Ajout d'une colonne "reponse_finale" contenant la réponse finale qui sera intégrée à la faq
784                        $rqt = "ALTER TABLE demandes ADD reponse_finale TEXT NULL";
785                        echo traite_rqt($rqt,"alter demandes add reponse_finale");
786
787                        // DG - Le super user doit avoir accès à tous les établissements
788                        $rqt = "UPDATE entites SET autorisations=CONCAT(' 1', autorisations) WHERE type_entite='1' AND autorisations NOT LIKE '% 1 %'";
789                        echo traite_rqt($rqt, 'UPDATE entites SET autorisations=CONCAT(" 1",autorisations) for super user');
790
791                        // AR - Module FAQ - Paramètre d'activation
792                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'faq' and sstype_param='active' "))==0){
793                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
794                                        VALUES (0, 'faq', 'active', '0', 'Module \'FAQ\' activé.\n 0 : Non.\n 1 : Oui.', '',0) ";
795                                echo traite_rqt($rqt, "insert faq_active=0 into parameters");
796                        }
797
798                        // AR - Création de la table des types pour la FAQ
799                        $rqt = " CREATE TABLE faq_types(
800                                id_type int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
801                                libelle_type varchar(255) NOT NULL default '',
802                        PRIMARY KEY  (id_type) )";
803                        echo traite_rqt($rqt,"CREATE TABLE faq_types") ;
804
805                        // AR - Création de la table des thèmes pour la FAQ
806                        $rqt = " CREATE TABLE faq_themes(
807                                id_theme int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
808                                libelle_theme varchar(255) NOT NULL default '',
809                    PRIMARY KEY  (id_theme))";
810                        echo traite_rqt($rqt,"CREATE TABLE faq_themes") ;
811
812                        // AR - Création de la table pour la FAQ
813                        $rqt = "create table faq_questions(
814                                id_faq_question int(10) unsigned not null auto_increment primary key,
815                                faq_question_num_type int(10) unsigned not null default 0,
816                                faq_question_num_theme int(10) unsigned not null default 0,
817                                faq_question_num_demande int(10) unsigned not null default 0,
818                                faq_question_question text not null,
819                                faq_question_question_userdate varchar(255) not null default '',
820                                faq_question_question_date datetime not null default '0000-00-00 00:00:00',
821                                faq_question_answer text not null,
822                                faq_question_answer_userdate varchar(255) not null default '',
823                                faq_question_answer_date datetime not null default '0000-00-00 00:00:00')";
824                        echo traite_rqt($rqt,"create table faq_questions");
825
826                        // AR - Création de la table de descripteurs pour la FAQ
827                        $rqt = "create table faq_questions_categories(
828                                num_faq_question int(10) unsigned not null default 0,
829                                num_categ int(10) unsigned not null default 0,
830                                index i_faq_categ(num_faq_question,num_categ))";
831                        echo traite_rqt($rqt,"create table faq_categories");
832
833                        // AR - Ajout de l'ordre dans la table de descripteurs pour la FAQ
834                        $rqt = "alter table faq_questions_categories add categ_order int(10) unsigned not null default 0";
835                        echo traite_rqt($rqt,"alter table faq_questions_categories add categ_order");
836
837                        // AR - Ajout d'un statut pour les questions de la FAQ (statut de publication 0/1)
838                        $rqt = "alter table faq_questions add faq_question_statut int(10) unsigned not null default 0";
839                        echo traite_rqt($rqt,"alter table faq_questions add faq_question_statut");
840
841                        // AR indexons correctement la FAQ - Table de mots
842                        $rqt = "create table if not exists faq_questions_words_global_index(
843                                id_faq_question int unsigned not null default 0,
844                                code_champ int unsigned not null default 0,
845                                code_ss_champ int unsigned not null default 0,
846                                num_word int unsigned not null default 0,
847                                pond int unsigned not null default 100,
848                                position int unsigned not null default 1,
849                                field_position int unsigned not null default 1,
850                                primary key (id_faq_question,code_champ,num_word,position,code_ss_champ),
851                                index code_champ(code_champ),
852                                index i_id_mot(num_word,id_faq_question),
853                                index i_code_champ_code_ss_champ_num_word(code_champ,code_ss_champ,num_word))";
854                        echo traite_rqt($rqt,"create table faq_questions_words_global_index");
855
856                        // AR indexons correctement la FAQ - Table de champs
857                        $rqt = "create table if not exists faq_questions_fields_global_index(
858                                id_faq_question int unsigned not null default 0,
859                                code_champ int(3) unsigned not null default 0,
860                                code_ss_champ int(3) unsigned not null default 0,
861                                ordre int(4) unsigned not null default 0,
862                                value text not null,
863                                pond int(4) unsigned not null default 100,
864                                lang varchar(10) not null default '',
865                                authority_num varchar(50) not null default 0,
866                                primary key(id_faq_question,code_champ,code_ss_champ,lang,ordre),
867                                index i_value(value(300)),
868                                index i_code_champ_code_ss_champ(code_champ,code_ss_champ))";
869                        echo traite_rqt($rqt,"create table faq_questions_fields_global_index ");
870
871                        // MHo - Renommage de la colonne "action_read" en "action_read_opac" : 0 = lue, 1 = non lue
872                        $rqt = "ALTER TABLE demandes_actions CHANGE actions_read actions_read_opac INT not null default 0";
873                        echo traite_rqt($rqt,"alter demandes_actions change actions_read actions_read_opac");
874
875                        // MHo - Ajout d'une colonne "dmde_read_opac" pour alerter à l'opac en cas d'éléments nouveaux (actions, notes) ou pas : 0 = lue, 1 = non lue
876                        $rqt = "ALTER TABLE demandes ADD dmde_read_opac INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
877                        echo traite_rqt($rqt,"alter demandes add dmde_read_opac");
878
879                        // MHo - Ajout d'une colonne "notes_read_opac" pour alerter à l'opac en cas de nouveauté : 0 = lue, 1 = non lue
880                        $rqt = "ALTER TABLE demandes_notes ADD notes_read_opac INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
881                        echo traite_rqt($rqt,"alter demandes_notes add notes_read_opac");
882
883                        // DB -Ajout d'une fonction spécifique pour génération de code-barres lecteurs
884                        $rqt = "update parametres set comment_param='Numéro de carte de lecteur automatique ?\n 0: Non (si utilisation de cartes pré-imprimées)\n";
885                        $rqt.= " 1: Oui, entièrement numérique\n 2,a,b,c: Oui, avec préfixe: a=longueur du préfixe, b=nombre de chiffres de la partie numérique, c=préfixe fixé (facultatif)\n";
886                        $rqt.= " 3,fonction: fonction de génération spécifique dans fichier nommé de la même façon, à placer dans pmb/circ/empr' ";
887                        $rqt.= " where type_param='pmb' and sstype_param='num_carte_auto'";
888                        echo traite_rqt($rqt,"update parametre pmb_num_carte_auto ");
889
890                        // AB On augmente la taille des champs pour le num demandeur ....
891                        $rqt = "ALTER TABLE demandes CHANGE num_demandeur num_demandeur INT( 10 ) UNSIGNED NOT NULL DEFAULT 0";
892                        echo traite_rqt($rqt,"alter demandes change num_demandeur");
893                        $rqt = "ALTER TABLE demandes_actions CHANGE actions_num_user actions_num_user INT( 10 ) UNSIGNED NOT NULL DEFAULT 0";
894                        echo traite_rqt($rqt,"alter demandes_actions change actions_num_user");
895                        $rqt = "ALTER TABLE demandes_notes CHANGE notes_num_user notes_num_user INT( 10 ) UNSIGNED NOT NULL DEFAULT 0";
896                        echo traite_rqt($rqt,"alter demandes_notes change notes_num_user");
897
898                        //DB - Génération code-barres pour les inscritions Web
899                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='websubscribe_num_carte_auto' "))==0){
900                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) ";
901                                $rqt.= "VALUES (NULL, 'opac', 'websubscribe_num_carte_auto', '', 'Numéro de carte de lecteur automatique ?\n 2,a,b,c: Oui avec préfixe: a=longueur du préfixe, b=nombre de chiffres de la partie numérique, c=préfixe fixé (facultatif)\n 3,fonction: fonction de génération spécifique dans fichier nommé de la même façon, à placer dans pmb/opac_css/circ/empr', 'f_modules', '0')" ;
902                                echo traite_rqt($rqt,"insert opac_websubscribe_num_carte_auto into parametres") ;
903                        }
904
905                        // AB
906                        $rqt = "CREATE TABLE IF NOT EXISTS onto_uri (
907                                        uri_id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
908                                        uri VARCHAR(255) NOT NULL UNIQUE DEFAULT '' )";
909                        echo traite_rqt($rqt,"create table onto_uri") ;
910
911                        //DB - Génération de cartes lecteurs sur imprimante ticket
912                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_handler' "))==0){
913                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pdfcartelecteur', 'printer_card_handler', '', 'Gestionnaire d\'impression :\n\n 1 = script \"print_cb.php\"\n 2 = applet jzebra\n 3 = requête ajax','',0)";
914                                echo traite_rqt($rqt,"insert pmb_printer_card_handler into parametres");
915                        }
916                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_name' "))==0){
917                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pdfcartelecteur', 'printer_card_name', '', 'Nom de l\'imprimante.','',0)";
918                                echo traite_rqt($rqt,"insert pmb_printer_card_options into parametres");
919                        }
920                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_url' "))==0){
921                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pdfcartelecteur', 'printer_card_url', '', 'Adresse de l\'imprimante.','',0)";
922                                echo traite_rqt($rqt,"insert pmb_printer_card_url into parametres");
923                        }
924
925                        // NG - Vignette de la notice
926                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notice_img_folder_id' "))==0){
927                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) ";
928                                $rqt.= "VALUES (NULL, 'pmb', 'notice_img_folder_id', '0', 'Identifiant du répertoire d\'upload des vignettes de notices', '', '0')" ;
929                                echo traite_rqt($rqt,"insert pmb_notice_img_folder_id into parametres") ;
930                        }
931
932                        //AR - On ajoute une colonne pour l'inscription en ligne à l'OPAC (pour conserver ce que l'on faisait)
933                        $rqt = "alter table empr add empr_subscription_action text";
934                        echo traite_rqt($rqt,"alter table empr add empr_subscription_action");
935
936                        //AR - Modification du paramètre opac_websubscribe_show
937                        $rqt = "update parametres set comment_param = 'Afficher la possibilité de s\'inscrire en ligne ?\n0: Non\n1: Oui\n2: Oui + proposition s\'incription sur les réservations/abonnements' where type_param='opac' and sstype_param = 'websubscribe_show'";
938                        echo traite_rqt($rqt,"update parametres opac_websubscribe_show");
939
940                        //AB parametre du template d'affichage des notices pour le comparateur.
941                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='compare_notice_template' "))==0){
942                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion) VALUES ('pmb','compare_notice_template',0,'Choix du template d\'affichage des notices en mode comparaison.','',1)";
943                                echo traite_rqt($rqt,"insert pmb_compare_notice_template into parametres");
944                        }
945
946                        //AB comparateur.
947                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='compare_notice_nb' "))==0){
948                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion) VALUES ('pmb','compare_notice_nb',5,'Nombre de notices à afficher et à raffraichir en mode comparaison.','',1)";
949                                echo traite_rqt($rqt,"insert pmb_compare_notice_nb into parametres");
950                        }
951
952                        //AB parametre du template d'affichage des notices pour le comparateur.
953                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='compare_notice_active' "))==0){
954                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion) VALUES ('opac','compare_notice_active',1,'Activer le comparateur de notices','c_recherche',0)";
955                                echo traite_rqt($rqt,"insert opac_compare_notice_active into parametres");
956                        }
957                        // NG - Transfert: mémorisation de la loc d'origine des exemplaires en transfert
958                        $rqt = "CREATE TABLE if not exists transferts_source (
959                                trans_source_numexpl INT UNSIGNED NOT NULL default 0 ,
960                                trans_source_numloc INT UNSIGNED NOT NULL default 0 ,
961                                PRIMARY KEY(trans_source_numexpl))";
962                        echo traite_rqt($rqt,"CREATE TABLE transferts_source ") ;
963
964                        // NG - Ajout dans les archives de prêt les localisations du pret et de la loc d'origine de l'exemplaire
965                        $rqt = "alter table pret_archive add arc_expl_location_retour INT UNSIGNED NOT NULL default 0 AFTER arc_expl_location";
966                        echo traite_rqt($rqt,"alter table pret_archive add arc_expl_location_retour");
967                        $rqt = "alter table pret_archive add arc_expl_location_origine INT UNSIGNED NOT NULL default 0 AFTER arc_expl_location";
968                        echo traite_rqt($rqt,"alter table pret_archive add arc_expl_location_origine");
969
970                        //DG - Augmentation de la taille du champ pour les équations
971                        $rqt = "ALTER TABLE equations MODIFY nom_equation TEXT NOT NULL";
972                        echo traite_rqt($rqt,"ALTER TABLE equations MODIFY nom_equation TEXT");
973
974                        // +-------------------------------------------------+
975                        echo "</table>";
976                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
977                        $res = pmb_mysql_query($rqt, $dbh) ;
978                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
979                        $action=$action+$increment;
980                //      echo form_relance ("v5.16");
981                //      break;
982
983//case "v5.16":
984                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
985                        // +-------------------------------------------------+
986
987                        // AR indexons correctement SKOS - Table de mots
988                        $rqt = "create table if not exists skos_words_global_index(
989                                id_item int unsigned not null default 0,
990                                code_champ int unsigned not null default 0,
991                                code_ss_champ int unsigned not null default 0,
992                                num_word int unsigned not null default 0,
993                                pond int unsigned not null default 100,
994                                position int unsigned not null default 1,
995                                field_position int unsigned not null default 1,
996                                primary key (id_item,code_champ,num_word,position,code_ss_champ),
997                                index code_champ(code_champ),
998                                index i_id_mot(num_word,id_item),
999                                index i_code_champ_code_ss_champ_num_word(code_champ,code_ss_champ,num_word))";
1000                        echo traite_rqt($rqt,"create table skos_words_global_index");
1001
1002                        // AR indexons correctement  SKOS - Table de champs
1003                        $rqt = "create table if not exists skos_fields_global_index(
1004                                id_item int unsigned not null default 0,
1005                                code_champ int(3) unsigned not null default 0,
1006                                code_ss_champ int(3) unsigned not null default 0,
1007                                ordre int(4) unsigned not null default 0,
1008                                value text not null,
1009                                pond int(4) unsigned not null default 100,
1010                                lang varchar(10) not null default '',
1011                                authority_num varchar(50) not null default 0,
1012                                primary key(id_item,code_champ,code_ss_champ,lang,ordre),
1013                                index i_value(value(300)),
1014                                index i_code_champ_code_ss_champ(code_champ,code_ss_champ))";
1015                        echo traite_rqt($rqt,"create table skos_fields_global_index ");
1016
1017                        //AB table de construction d'une vedette composée
1018                        $rqt = "CREATE TABLE IF NOT EXISTS vedette_object (
1019                                                object_type int(3) unsigned NOT NULL DEFAULT 0,
1020                                                object_id int(11) unsigned NOT NULL DEFAULT 0,
1021                                                num_vedette int(11) unsigned NOT NULL DEFAULT 0,
1022                                                subdivision varchar(50) NOT NULL default '',
1023                                                position int(3) unsigned NOT NULL DEFAULT 0,
1024                                                PRIMARY KEY (object_type, object_id, num_vedette, subdivision, position),
1025                                                INDEX i_vedette_object_object (object_type,object_id),
1026                                                INDEX i_vedette_object_vedette (num_vedette)
1027                                        ) ";
1028                        echo traite_rqt($rqt,"CREATE TABLE vedette_object") ;
1029
1030                        //AB table des identifiants de vedettes
1031                        $rqt = "CREATE TABLE IF NOT EXISTS vedette (
1032                                                id_vedette int(11) unsigned NOT NULL AUTO_INCREMENT,
1033                                                label varchar(255) NOT NULL default '',
1034                                                PRIMARY KEY (id_vedette)
1035                                        ) ";
1036                        echo traite_rqt($rqt,"CREATE TABLE vedette") ;
1037
1038                        //AP ajout de la table index_concept
1039                        $rqt = "CREATE TABLE IF NOT EXISTS index_concept (
1040                                        num_object INT UNSIGNED NOT NULL ,
1041                                        type_object INT UNSIGNED NOT NULL ,
1042                                        num_concept INT UNSIGNED NOT NULL ,
1043                                        order_concept INT UNSIGNED NOT NULL default 0 ,
1044                                        PRIMARY KEY(num_object, type_object, num_concept))";
1045                        echo traite_rqt($rqt,"create table index_concept");
1046
1047                        //AP création de la table de lien entre vedettes et autorités
1048                        $rqt = "CREATE TABLE if not exists vedette_link (
1049                                num_vedette INT UNSIGNED NOT NULL ,
1050                                num_object INT UNSIGNED NOT NULL ,
1051                                type_object INT UNSIGNED NOT NULL ,
1052                                PRIMARY KEY (num_vedette, num_object, type_object))";
1053                        echo traite_rqt($rqt,"create table vedette_link");
1054
1055                        // AP script de vérification de saisie des autorités
1056                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='autorites_verif_js' "))==0){
1057                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1058                                                VALUES ( 'pmb', 'autorites_verif_js', '', 'Script de vérification de saisie des autorités','', 0)";
1059                                echo traite_rqt($rqt,"insert autorites_verif_js into parametres");
1060                        }
1061
1062                        //AB paramètre pour masquer/afficher la reservation par panier
1063                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='resa_cart' "))==0){
1064                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion) VALUES ('opac','resa_cart',1,'Paramètre pour masquer/afficher la reservation par panier\n0 : Non \n1 : Oui','a_general',0)";
1065                                echo traite_rqt($rqt,"insert opac_resa_cart into parametres");
1066                        }
1067
1068                        // AR - Report du paramètre activant le stemming en gestion
1069                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_stemming_active' "))==0){
1070                                $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1071                                        VALUES('pmb','search_stemming_active',0,'Activer le stemming dans la recherche\n0 : Désactiver\n1 : Activer','search',0)" ;
1072                                echo traite_rqt($rqt,"insert pmb_search_stemming_active=0 into parametres") ;
1073                        }
1074
1075                        // AR - Report du paramètre excluant des champ dans la recherche tous les champs en gestion
1076                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_exclude_fields' "))==0){
1077                                $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1078                                        VALUES('pmb','search_exclude_fields','','Identifiants des champs à exclure de la recherche tous les champs (liste dispo dans le fichier includes/indexation/champ_base.xml)','search',0)" ;
1079                                echo traite_rqt($rqt,"insert pmb_search_exclude_fields into parametres") ;
1080                        }
1081
1082                        //AR - Report du paramètre d'écretage des résultats de recherche en gestion
1083                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_noise_limit_type' "))==0){
1084                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1085                                        VALUES (NULL, 'pmb', '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)' , 'search', '0')";
1086                                echo traite_rqt($rqt,"insert pmb_search_search_noise_limit_type='0' into parametres ");
1087                        }
1088
1089                        //AR - Report de la prise en compte de la fréquence d'apparition d'un mot dans le fonds pour le calcul de pertinence en gestion
1090                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_relevant_with_frequency' "))==0){
1091                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1092                                        VALUES (NULL, 'pmb', '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' , 'search', '0')";
1093                                echo traite_rqt($rqt,"insert pmb_search_relevant_with_frequency='0' into parametres ");
1094                        }
1095
1096                        //AR - Report du paramètre gérant la troncature À droite automatique
1097                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='allow_term_troncat_search' "))==0){
1098                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1099                                        VALUES (NULL, 'pmb', 'allow_term_troncat_search', '0', 'Troncature à droite automatique :\n0 : Non \n1 : Oui' , 'search', '0')";
1100                                echo traite_rqt($rqt,"insert pmb_allow_term_troncat_search='0' into parametres ");
1101                        }
1102
1103                        //AR - Report du paramètre gérant la durée du cache des recherches
1104                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_cache_duration' "))==0){
1105                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1106                                        VALUES (NULL, 'pmb', 'search_cache_duration', '0', 'Durée de validité (en secondes) du cache des recherches' , 'search', '0')";
1107                                echo traite_rqt($rqt,"insert pmb_search_cache_duration='0' into parametres ");
1108                        }
1109
1110                        //DG - En impression de panier, imprimer les exemplaires est coché par défaut
1111                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='print_expl_default' "))==0){
1112                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pmb', 'print_expl_default', '0', 'En impression de panier, imprimer les exemplaires est coché par défaut \n 0 : Non \n 1 : Oui','',0) " ;
1113                                echo traite_rqt($rqt,"insert pmb_print_expl_default = 0 into parametres");
1114                        }
1115
1116
1117                        //AR - Activation des concepts ou non
1118                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='concepts_active' "))==0){
1119                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1120                                        VALUES (NULL, 'thesaurus', 'concepts_active', '0', 'Active ou non l\'utilisation des concepts:\n0 : Non\n1 : Oui', 'concepts', '0')";
1121                                echo traite_rqt($rqt,"insert thesaurus_concepts_active='0' into parametres ");
1122                        }
1123
1124                        //AP - Paramétrage de l'ordre d'affichage des concepts d'une notice
1125                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='concepts_affichage_ordre' "))==0){
1126                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1127                                        VALUES (NULL, 'thesaurus', 'concepts_affichage_ordre', '0', 'Paramétrage de l\'ordre d\'affichage des catégories d\'une notice.\nPar ordre alphabétique: 0(par défaut)\nPar ordre de saisie: 1', 'concepts', '0')";
1128                                echo traite_rqt($rqt,"insert concepts_affichage_ordre into parametres ");
1129                        }
1130
1131                        //AP - Paramétrage du mode d'affichage des concepts d'une notice (en ligne ou pas)
1132                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='concepts_concept_in_line' "))==0){
1133                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1134                                        VALUES (NULL, 'thesaurus', 'concepts_concept_in_line', '0', 'Affichage des catégories en ligne.\n 0 : Non.\n 1 : Oui.', 'concepts', '0')";
1135                                echo traite_rqt($rqt,"insert concepts_concept_in_line into parametres ");
1136                        }
1137
1138                        //AB Checkbox pour réafficher les notices dans chaque groupement ou pas
1139                        $rqt = "ALTER TABLE bannettes ADD display_notice_in_every_group INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER group_pperso";
1140                        echo traite_rqt($rqt,"alter table bannettes add display_notice_in_every_group");
1141
1142                        //NG - Autorités personalisées
1143                        $rqt = "create table if not exists authperso (
1144                                id_authperso int(10) unsigned NOT NULL auto_increment,
1145                                authperso_name varchar(255) NOT NULL default '',
1146                                authperso_notice_onglet_num  int unsigned not null default 0,
1147                                authperso_isbd_script text not null,
1148                                authperso_view_script text not null,
1149                                authperso_opac_search int unsigned not null default 0,
1150                                authperso_opac_multi_search int unsigned not null default 0,
1151                                authperso_gestion_search int unsigned not null default 0,
1152                                authperso_gestion_multi_search int unsigned not null default 0,
1153                                authperso_comment text not null,
1154                                PRIMARY KEY  (id_authperso)) ";
1155                        echo traite_rqt($rqt,"create table authperso ");
1156
1157                        //NG - Champs perso des autorités personalisées
1158                        $rqt = "create table if not exists authperso_custom (
1159                                idchamp int(10) unsigned NOT NULL auto_increment,
1160                                custom_prefixe varchar(255) NOT NULL default '',
1161                                num_type int unsigned not null default 0,
1162                                name varchar(255) NOT NULL default '',
1163                                titre varchar(255) default NULL,
1164                                type varchar(10) NOT NULL default 'text',
1165                                datatype varchar(10) NOT NULL default '',
1166                                options text,
1167                                multiple int(11) NOT NULL default 0,
1168                                obligatoire int(11) NOT NULL default 0,
1169                                ordre int(11) default NULL,
1170                                search INT(1) unsigned NOT NULL DEFAULT 0,
1171                                export INT(1) unsigned NOT NULL DEFAULT 0,
1172                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
1173                                pond int not null default 100,
1174                                opac_sort INT NOT NULL DEFAULT 0,
1175                        PRIMARY KEY  (idchamp)) ";
1176                        echo traite_rqt($rqt,"create table authperso_custom ");
1177
1178                        $rqt = "create table if not exists authperso_custom_lists (
1179                                authperso_custom_champ int(10) unsigned NOT NULL default 0,
1180                                authperso_custom_list_value varchar(255) default NULL,
1181                                authperso_custom_list_lib varchar(255) default NULL,
1182                                ordre int(11) default NULL,
1183                                KEY editorial_custom_champ (authperso_custom_champ),
1184                                KEY editorial_champ_list_value (authperso_custom_champ,authperso_custom_list_value)) " ;
1185                        echo traite_rqt($rqt,"create table if not exists authperso_custom_lists ");
1186
1187                        $rqt = "create table if not exists authperso_custom_values (
1188                                authperso_custom_champ int(10) unsigned NOT NULL default 0,
1189                                authperso_custom_origine int(10) unsigned NOT NULL default 0,
1190                                authperso_custom_small_text varchar(255) default NULL,
1191                                authperso_custom_text text,
1192                                authperso_custom_integer int(11) default NULL,
1193                                authperso_custom_date date default NULL,
1194                                authperso_custom_float float default NULL,
1195                                KEY editorial_custom_champ (authperso_custom_champ),
1196                                KEY editorial_custom_origine (authperso_custom_origine)) " ;
1197                        echo traite_rqt($rqt,"create table if not exists authperso_custom_values ");
1198
1199                        $rqt = "create table if not exists authperso_authorities (
1200                                id_authperso_authority int(10) unsigned NOT NULL auto_increment,
1201                                authperso_authority_authperso_num int(10) unsigned NOT NULL default 0 ,
1202                                authperso_infos_global text not null,
1203                                authperso_index_infos_global text not null,
1204                                PRIMARY KEY  (id_authperso_authority))  " ;
1205                        echo traite_rqt($rqt,"create table if not exists authperso_authorities ");
1206
1207                        $rqt = "create table if not exists notices_authperso (
1208                                notice_authperso_notice_num int(10) unsigned NOT NULL default 0,
1209                                notice_authperso_authority_num int(10) unsigned NOT NULL default 0,
1210                                notice_authperso_order int(10) unsigned NOT NULL default 0,
1211                                PRIMARY KEY  (notice_authperso_notice_num,notice_authperso_authority_num))  " ;
1212                        echo traite_rqt($rqt,"create table if not exists notices_authperso ");
1213
1214                        // NG : Onglet personalisé de notice
1215                        $rqt = "create table if not exists notice_onglet (
1216                                id_onglet int(10) unsigned NOT NULL auto_increment,
1217                                onglet_name varchar(255) default NULL,
1218                                PRIMARY KEY  (id_onglet)) ";
1219                        echo traite_rqt($rqt,"create table if not exists notice_onglet ");
1220
1221                        //DG - Personnalisation des colonnes pour l'affichage des états des collections
1222                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='collstate_data' "))==0){
1223                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1224                                        VALUES (0, 'opac', 'collstate_data', '', 'Colonne des états des collections, dans l\'ordre donné, séparé par des virgules : location_libelle,emplacement_libelle,cote,type_libelle,statut_opac_libelle,origine,state_collections,archive,lacune,surloc_libelle,note\nLes valeurs possibles sont les propriétés de la classe PHP \"pmb/opac_css/classes/collstate.class.php\".','e_aff_notice',0)";
1225                                echo traite_rqt($rqt,"insert opac_collstate_data = 0 into parametres");
1226                        }
1227
1228                        //AB ajout d'un schema SKOS par défaut
1229                        $rqt = "ALTER TABLE users ADD deflt_concept_scheme INT(3) UNSIGNED NOT NULL DEFAULT 0 AFTER deflt_thesaurus";
1230                        echo traite_rqt($rqt,"alter table users add deflt_concept_scheme");
1231
1232                        //AB paramètre caché pour conservation de la date de dernière modification de l'ontologie
1233                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='ontology_filemtime' "))==0){
1234                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
1235                                        VALUES ('thesaurus','ontology_filemtime',0,'Paramètre caché pour conservation de la date de dernière modification de l\'ontologie','ontologie',1)";
1236                                echo traite_rqt($rqt,"insert thesaurus_ontology_filemtime into parametres");
1237                        }
1238
1239                        // NG - Ajout du champ resa_arc_trans pour associer un transfert à une archive résa
1240                        $rqt = "ALTER TABLE transferts_demande ADD resa_arc_trans int(8) UNSIGNED NOT NULL DEFAULT 0 ";
1241                        echo traite_rqt($rqt,"alter table transferts_demande add resa_arc_trans ");
1242
1243                        // NG - Ajout champ info dans les audits
1244                        $rqt = "ALTER TABLE audit ADD info text NOT NULL";
1245                        echo traite_rqt($rqt,"alter table audit add info ");
1246
1247                        // AP modification du paramètre de schema SKOS par défaut
1248                        $rqt = "ALTER TABLE users CHANGE deflt_concept_scheme deflt_concept_scheme INT(3) NOT NULL DEFAULT -1";
1249                        echo traite_rqt($rqt,"alter table users change deflt_concept_scheme");
1250
1251                        //DG - Statuts sur les documents numériques
1252                        $rqt = "create table if not exists explnum_statut (
1253                                id_explnum_statut smallint(5) unsigned not null auto_increment,
1254                                gestion_libelle varchar(255) not NULL default '',
1255                                opac_libelle varchar(255)  not NULL default '',
1256                                class_html VARCHAR( 255 )  not NULL default '',
1257                                explnum_visible_opac tinyint(1) NOT NULL default 1,
1258                                explnum_visible_opac_abon tinyint(1) NOT NULL default 0,
1259                                explnum_consult_opac tinyint(1) NOT NULL default 1,
1260                                explnum_consult_opac_abon tinyint(1) NOT NULL default 0,
1261                                explnum_download_opac tinyint(1) NOT NULL default 1,
1262                                explnum_download_opac_abon tinyint(1) NOT NULL default 0,
1263                                primary key(id_explnum_statut))";
1264                        echo traite_rqt($rqt,"create table explnum_statut ");
1265
1266                        //DG - Statut "Sans statut particulier" ajouté par défaut
1267                        $rqt = "insert into explnum_statut SET id_explnum_statut=1, gestion_libelle='Sans statut particulier',opac_libelle='', explnum_visible_opac='1' ";
1268                        echo traite_rqt($rqt,"insert minimum into explnum_statut");
1269
1270                        //DG - Ajout d'un champ statut sur les documents numériques
1271                        $rqt = "ALTER TABLE explnum ADD explnum_docnum_statut smallint(5) UNSIGNED NOT NULL DEFAULT 1 ";
1272                        echo traite_rqt($rqt,"alter table explnum add explnum_docnum_statut ");
1273
1274                        //DG - Statut de document numérique par défaut en création de document numérique
1275                        $rqt = "ALTER TABLE users ADD deflt_explnum_statut INT(6) UNSIGNED DEFAULT 1 NOT NULL " ;
1276                        echo traite_rqt($rqt,"ALTER users ADD deflt_explnum_statut ");
1277
1278                        //AR - paramétrages des droits d'accès sur les documents numériques
1279                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'gestion_acces' and sstype_param='empr_docnum' "))==0){
1280                        $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
1281                                        VALUES ('gestion_acces','empr_docnum',0,'Gestion des droits d\'accès des emprunteurs aux documents numériques\n0 : Non.\n1 : Oui.','',0)";
1282                                echo traite_rqt($rqt,"insert gestion_acces_empr_docnum into parametres");
1283                        }
1284                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'gestion_acces' and sstype_param='empr_docnum_def' "))==0){
1285                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
1286                                        VALUES ('gestion_acces','empr_docnum_def',0,'Valeur par défaut en modification de document numérique pour les droits d\'accès emprunteurs - documents numériques\n0 : Recalculer.\n1 : Choisir.','',0)";
1287                                echo traite_rqt($rqt,"insert gestion_acces_empr_docnum_def into parametres");
1288                        }
1289
1290                        // NG - Ajout param transferts_retour_action_resa
1291                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='retour_action_resa' "))==0){
1292                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
1293                                VALUES (0, 'transferts', 'retour_action_resa', '1', '1', 'Génére un transfert pour répondre à une réservation lors du retour de l\'exemplaire\n 0: Non\n 1: Oui') ";
1294                                echo traite_rqt($rqt,"INSERT transferts_retour_action_resa INTO parametres") ;
1295                        }
1296
1297                        //DG - Logs OPAC - Exclusion possible des robots et de certaines adresses IP
1298                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='logs_exclude_robots' "))==0){
1299                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1300                                        VALUES (0, 'pmb', 'logs_exclude_robots', '1', 'Exclure les robots dans les logs OPAC ?\n 0: Non\n 1: Oui. \nFaire suivre d\'une virgule pour éventuellement exclure les logs OPAC provenant de certaines adresses IP, elles-mêmes séparées par des virgules (ex : 1,127.0.0.1,192.168.0.1).','',0)";
1301                                echo traite_rqt($rqt,"insert pmb_logs_exclude_robots = 1 into parametres");
1302                        }
1303
1304                        // NG - Auteurs répétables dans les titres uniformes
1305                        $rqt = "CREATE TABLE if not exists responsability_tu (
1306                                        responsability_tu_author_num int unsigned NOT NULL default 0,
1307                                        responsability_tu_num int unsigned NOT NULL default 0,
1308                                        responsability_tu_fonction char(4) NOT NULL default '',
1309                                        responsability_tu_type int unsigned NOT NULL default 0,
1310                                        responsability_tu_ordre smallint(2) unsigned NOT NULL default 0,
1311                                        PRIMARY KEY  (responsability_tu_author_num, responsability_tu_num, responsability_tu_fonction),
1312                                        KEY responsability_tu_author (responsability_tu_author_num),
1313                                        KEY responsability_tu_num (responsability_tu_num) )";
1314                        echo traite_rqt($rqt,"CREATE TABLE responsability_tu ");
1315                        // NG - migration de l'auteur de titre uniforme dans la table responsability_tu
1316                        if ($res = pmb_mysql_query("select tu_num_author, tu_id from titres_uniformes where tu_num_author>0")){
1317                                while ( $row = pmb_mysql_fetch_object($res)) {
1318                                        $rqt = "INSERT INTO responsability_tu set responsability_tu_author_num=".$row->tu_num_author.", responsability_tu_num= ".$row->tu_id."  ";
1319                                        pmb_mysql_query($rqt, $dbh);
1320                                }
1321                        }
1322
1323                        //NG - ajout pied de page dans la fiche de circulation
1324                        $rqt = "ALTER TABLE serialcirc ADD serialcirc_piedpage text NOT NULL AFTER serialcirc_tpl";
1325                        echo traite_rqt($rqt,"alter table serialcirc add serialcirc_piedpage");
1326
1327                        //DG - Templates de listes de circulation
1328                        $rqt = "CREATE TABLE serialcirc_tpl (
1329                                        serialcirctpl_id int(10) unsigned NOT NULL auto_increment,
1330                                        serialcirctpl_name varchar(255) NOT NULL DEFAULT '',
1331                                        serialcirctpl_comment varchar(255) NOT NULL DEFAULT '',
1332                                        serialcirctpl_tpl text NOT NULL,
1333                                        PRIMARY KEY  (serialcirctpl_id))";
1334                        echo traite_rqt($rqt,"CREATE TABLE serialcirc_tpl") ;
1335                        $rqt = "insert into serialcirc_tpl SET serialcirctpl_id=1, serialcirctpl_name='Template PMB', serialcirctpl_comment='', serialcirctpl_tpl='a:3:{i:0;a:3:{s:4:\"type\";s:4:\"name\";s:2:\"id\";s:1:\"0\";s:5:\"label\";N;}i:1;a:3:{s:4:\"type\";s:5:\"ville\";s:2:\"id\";s:1:\"0\";s:5:\"label\";N;}i:2;a:3:{s:4:\"type\";s:5:\"libre\";s:2:\"id\";s:1:\"0\";s:5:\"label\";s:9:\"SIGNATURE\";}}' ";
1336                        echo traite_rqt($rqt,"insert minimum into serialcirc_tpl");
1337
1338                        //DG - Circulation des périodiques : Tri sur les destinataires
1339                        $rqt = "ALTER TABLE serialcirc ADD serialcirc_sort_diff text NOT NULL";
1340                        echo traite_rqt($rqt,"alter table serialcirc add serialcirc_sort_diff");
1341
1342                        //NG - Templates de bannettes
1343                        $rqt = "CREATE TABLE bannette_tpl (
1344                                        bannettetpl_id int(10) unsigned NOT NULL auto_increment,
1345                                        bannettetpl_name varchar(255) NOT NULL DEFAULT '',
1346                                        bannettetpl_comment varchar(255) NOT NULL DEFAULT '',
1347                                        bannettetpl_tpl text NOT NULL,
1348                                        PRIMARY KEY  (bannettetpl_id))";
1349                        echo traite_rqt($rqt,"CREATE TABLE bannette_tpl") ;
1350                        $rqt = "insert into bannette_tpl SET bannettetpl_id=1, bannettetpl_name='Template PMB', bannettetpl_comment='', bannettetpl_tpl='a:3:{i:0;a:3:{s:4:\"type\";s:4:\"name\";s:2:\"id\";s:1:\"0\";s:5:\"label\";N;}i:1;a:3:{s:4:\"type\";s:5:\"ville\";s:2:\"id\";s:1:\"0\";s:5:\"label\";N;}i:2;a:3:{s:4:\"type\";s:5:\"libre\";s:2:\"id\";s:1:\"0\";s:5:\"label\";s:9:\"SIGNATURE\";}}' ";
1351                        echo traite_rqt($rqt,"insert minimum into bannette_tpl");
1352
1353                        //NG - Templates de bannettes
1354                        $rqt = "ALTER TABLE bannettes ADD bannette_tpl_num INT(6) UNSIGNED DEFAULT 0 NOT NULL " ;
1355                        echo traite_rqt($rqt,"ALTER bannettes ADD bannette_tpl_num ");
1356
1357
1358                        // +-------------------------------------------------+
1359                        echo "</table>";
1360                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
1361                        $res = pmb_mysql_query($rqt, $dbh) ;
1362                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
1363                        $action=$action+$increment;
1364                        //echo form_relance ("v5.17");
1365                        //break;
1366
1367//case "v5.17":
1368                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
1369                        // +-------------------------------------------------+
1370
1371                        // NG - Ajout paramètre pour activer la géolocalisation
1372                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_activate' "))==0){
1373                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1374                                VALUES ( 'pmb', 'map_activate', '0', 'Activation de la géolocalisation:\n 0 : non \n 1 : oui','', 0)";
1375                                echo traite_rqt($rqt,"insert pmb_map_activate into parametres");
1376                        }
1377
1378                        //MB + CB - Renseigner les champs d'exemplaires transfert_location_origine et transfert_statut_origine pour les statistiques et si ils ne le sont pas déjà (lié aux améliorations pour les transferts)
1379                        $rqt = "UPDATE exemplaires SET transfert_location_origine=expl_location, transfert_statut_origine=expl_statut, update_date=update_date WHERE transfert_location_origine=0 AND transfert_statut_origine=0 AND expl_id NOT IN (SELECT num_expl FROM transferts_demande JOIN transferts ON (num_transfert=id_transfert AND etat_transfert=0))";
1380                        echo traite_rqt($rqt,"update exemplaires transfert_location_origine transfert_statut_origine");
1381                        //NG - géolocalisation
1382                        $rqt = "ALTER TABLE notices ADD map_echelle_num int(10) unsigned NOT NULL default 0" ;
1383                        echo traite_rqt($rqt,"ALTER notices ADD map_echelle_num ");
1384
1385                        $rqt = "ALTER TABLE notices ADD map_projection_num int(10) unsigned NOT NULL default 0" ;
1386                        echo traite_rqt($rqt,"ALTER notices ADD map_projection_num ");
1387
1388                        $rqt = "ALTER TABLE notices ADD map_ref_num int(10) unsigned NOT NULL default 0" ;
1389                        echo traite_rqt($rqt,"ALTER notices ADD map_ref_num ");
1390
1391                        $rqt = "ALTER TABLE notices ADD map_equinoxe varchar(255) NOT NULL DEFAULT ''" ;
1392                        echo traite_rqt($rqt,"ALTER notices ADD map_equinoxe ");
1393
1394
1395
1396                        //NG - géolocalisation: Memo des emprises
1397                        $rqt = "CREATE TABLE if not exists map_emprises (
1398                                        map_emprise_id int(10) unsigned NOT NULL auto_increment,
1399                                        map_emprise_type int(10) unsigned NOT NULL default 0,
1400                                        map_emprise_obj_num int(10) unsigned NOT NULL default 0,
1401                                        map_emprise_data GEOMETRY NOT NULL,
1402                                        map_emprise_order int(10) unsigned NOT NULL default 0,
1403                                        PRIMARY KEY  (map_emprise_id))";
1404                        echo traite_rqt($rqt,"CREATE TABLE map_emprises") ;
1405
1406                        //NG - géolocalisation: Echelles
1407                        $rqt = "CREATE TABLE if not exists map_echelles (
1408                                        map_echelle_id int(10) unsigned NOT NULL auto_increment,
1409                                        map_echelle_name varchar(255) NOT NULL DEFAULT '',
1410                                        PRIMARY KEY  (map_echelle_id))";
1411                        echo traite_rqt($rqt,"CREATE TABLE map_echelles") ;
1412
1413                        //NG - géolocalisation: Système de projection du document
1414                        $rqt = "CREATE TABLE if not exists map_projections (
1415                                        map_projection_id int(10) unsigned NOT NULL auto_increment,
1416                                        map_projection_name varchar(255) NOT NULL DEFAULT '',
1417                                        PRIMARY KEY  (map_projection_id))";
1418                        echo traite_rqt($rqt,"CREATE TABLE map_projections") ;
1419
1420                        //NG - géolocalisation: Systeme de référence de coord de la carte
1421                        $rqt = "CREATE TABLE if not exists map_refs (
1422                                        map_ref_id int(10) unsigned NOT NULL auto_increment,
1423                                        map_ref_name varchar(255) NOT NULL DEFAULT '',
1424                                        PRIMARY KEY  (map_ref_id))";
1425                        echo traite_rqt($rqt,"CREATE TABLE map_refs") ;
1426
1427                        // AR - Ajout paramètre pour limiter le nombre d'emprises sur une carte !
1428                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_max_holds' "))==0){
1429                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1430                                VALUES ( 'pmb', 'map_max_holds', '250', 'Nombre d\'emprise maximum souhaité par type d\'emprise','map', 0)";
1431                                echo traite_rqt($rqt,"insert pmb_map_max_holds into parametres");
1432                        }
1433
1434                        // AR - Les paramètres de cartes sont rangés ensemble !
1435                        $rqt = "update parametres set section_param= 'map' where type_param like 'pmb' and sstype_param like 'map_activate'";
1436                        echo traite_rqt($rqt,"update pmb_map_max_holds");
1437
1438                        // AR - Définition de la couleur d'une emprise de notice
1439                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_holds_record_color' "))==0){
1440                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1441                                VALUES ( 'pmb', 'map_holds_record_color', '#D6A40F', 'Couleur des emprises associées à des notices','map', 0)";
1442                                echo traite_rqt($rqt,"insert pmb_map_holds_record_color into parametres");
1443                        }
1444
1445                        // AR - Définition de la couleur d'une emprise d'autorité
1446                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_holds_authority_color' "))==0){
1447                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1448                                VALUES ( 'pmb', 'map_holds_authority_color', '#D60F0F', 'Couleur des emprises associées à des autorités','map', 0)";
1449                                echo traite_rqt($rqt,"insert pmb_map_holds_authority_color into parametres");
1450                        }
1451
1452
1453                        // AR - Définition du fond de carte
1454                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_base_layer_type' "))==0){
1455                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1456                                VALUES ( 'pmb', 'map_base_layer_type', 'OSM', 'Fonds de carte à utiliser.\nValeurs possibles :\nOSM           => Open Street Map\nWMS           => The Web Map Server base layer type selector.\nGOOGLE        => Google\nARCGIS        =>The ESRI ARCGis base layer selector.\n','map', 0)";
1457                                echo traite_rqt($rqt,"insert pmb_map_base_layer_type into parametres");
1458                        }
1459                        // AR - Définition des paramètres du fond de carte
1460                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_base_layer_params' "))==0){
1461                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1462                                VALUES ( 'pmb', 'map_base_layer_params', '', 'Structure JSON à passer au fond de carte\nexemple :\n{\n \"name\": \"Nom du fond de carte\",\n \"url\": \"url du fond de carte\",\n \"options\":{\n  \"layers\": \"MONDE_MOD1\"\n }\n}','map', 0)";
1463                                echo traite_rqt($rqt,"insert pmb_map_base_layer_params into parametres");
1464                        }
1465
1466                        // NG - Ajout paramètre de la taille de la carte en saisie de recherche
1467                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_search_edition' "))==0){
1468                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1469                                VALUES ( 'pmb', 'map_size_search_edition', '800*480', 'Taille de la carte en saisie de recherche','map', 0)";
1470                                echo traite_rqt($rqt,"insert pmb_map_size_search_edition into parametres");
1471                        }
1472
1473                        // NG - Ajout paramètre de la taille de la carte en résultat de recherche
1474                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_search_result' "))==0){
1475                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1476                                VALUES ( 'pmb', 'map_size_search_result', '800*480', 'Taille de la carte en résultat de recherche','map', 0)";
1477                                echo traite_rqt($rqt,"insert pmb_map_size_search_result into parametres");
1478                        }
1479                        // NG - Ajout paramètre de la taille de la carte en visualisation de notice
1480                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_notice_view' "))==0){
1481                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1482                                VALUES ( 'pmb', 'map_size_notice_view', '800*480', 'Taille de la carte en visualisation de notice','map', 0)";
1483                                echo traite_rqt($rqt,"insert pmb_map_size_notice_view into parametres");
1484                        }
1485
1486                        // NG - Ajout paramètre de la taille de la carte en édition de notice
1487                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_notice_edition' "))==0){
1488                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1489                                VALUES ( 'pmb', 'map_size_notice_edition', '800*480', 'Taille de la carte en édition de notice','map', 0)";
1490                                echo traite_rqt($rqt,"insert pmb_map_size_notice_edition into parametres");
1491                        }
1492
1493                        // NG - cms: Ajout des vues opac
1494                        $rqt = "ALTER TABLE cms ADD cms_opac_view_num int(10) unsigned NOT NULL default 0" ;
1495                        echo traite_rqt($rqt,"ALTER cms ADD cms_opac_view_num ");
1496
1497                        //DG - Modification taille du champ article_resume de la table cms_articles
1498                        $rqt ="alter table cms_articles MODIFY article_resume MEDIUMTEXT NOT NULL";
1499                        echo traite_rqt($rqt,"alter table cms_articles modify article_resume mediumtext");
1500
1501                        //DG - Modification taille du champ article_contenu de la table cms_articles
1502                        $rqt ="alter table cms_articles MODIFY article_contenu MEDIUMTEXT NOT NULL";
1503                        echo traite_rqt($rqt,"alter table cms_articles modify article_contenu mediumtext");
1504
1505                        //DG - Modification taille du champ section_resume de la table cms_sections
1506                        $rqt ="alter table cms_sections MODIFY section_resume MEDIUMTEXT NOT NULL";
1507                        echo traite_rqt($rqt,"alter table cms_sections modify section_resume mediumtext");
1508
1509                        //MB - Définition de la taille maximum des vignettes des notices
1510                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notice_img_pics_max_size' "))==0){
1511                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param) VALUES (0, 'pmb', 'notice_img_pics_max_size', '150', 'Taille maximale des vignettes uploadées dans les notices, en largeur ou en hauteur')";
1512                                echo traite_rqt($rqt,"insert pmb_notice_img_pics_max_size='150' into parametres");
1513                        }
1514
1515                        //DG - Vues OPAC dans les facettes
1516                        $rqt = "show fields from facettes";
1517                        $res = pmb_mysql_query($rqt);
1518                        $exists = false;
1519                        if(pmb_mysql_num_rows($res)){
1520                                while($row = pmb_mysql_fetch_object($res)){
1521                                        if($row->Field == "facette_opac_views_num"){
1522                                                $exists = true;
1523                                                break;
1524                                        }
1525                                }
1526                        }
1527                        if(!$exists){
1528                                $rqt = "ALTER TABLE facettes ADD facette_opac_views_num text NOT NULL";
1529                                echo traite_rqt($rqt,"alter table facettes add facette_opac_views_num");
1530
1531                                $req = "select id_facette, facette_opac_views_num from facettes";
1532                                $res = pmb_mysql_query($req,$dbh);
1533                                if ($res) {
1534                                        $facettes = array();
1535                                        while($row = pmb_mysql_fetch_object($res)) {
1536                                                $facettes[] = $row->id_facette;
1537                                        }
1538                                        if (count($facettes)) {
1539                                                $req = "select opac_view_id, opac_view_name from opac_views";
1540                                                $myQuery = pmb_mysql_query($req, $dbh);
1541                                                if ($myQuery) {
1542                                                        $views = array();
1543                                                        while ($row = pmb_mysql_fetch_object($myQuery)) {
1544                                                                $v = array();
1545                                                                $v["id"] = $row->opac_view_id;
1546                                                                $v["name"] = $row->opac_view_name;
1547                                                                $views[] = $v;
1548                                                        }
1549                                                        $param["selected"] = $facettes;
1550                                                        $param=addslashes(serialize($param));
1551                                                        foreach ($views as $view) {
1552                                                                //Dans le cas où une modification a été faite avant le passage de la MAJ..
1553                                                                $req = "delete from opac_filters where opac_filter_view_num=".$view["id"]." and opac_filter_path='facettes'";
1554                                                                $res = pmb_mysql_query($req,$dbh);
1555                                                                //Insertion..
1556                                                                $rqt="insert into opac_filters set opac_filter_view_num=".$view["id"].",opac_filter_path='facettes', opac_filter_param='$param' ";
1557                                                                echo traite_rqt($rqt,"insert authorization facettes into opac_filters view ".$view["name"]);
1558                                                        }
1559                                                }
1560                                        }
1561                                }
1562                        }
1563
1564                        // NG - Ajout paramètre pour activer la géolocalisation en Opac
1565                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_activate' "))==0){
1566                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1567                                VALUES ( 'opac', 'map_activate', '0', 'Activation de la géolocalisation:\n 0 : non \n 1 : oui','a_general', 0)";
1568                                echo traite_rqt($rqt,"insert opac_map_activate into parametres");
1569                        }
1570
1571                        //DB - commande psexec (planificateur sous windows)
1572                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='psexec_cmd' "))==0){
1573                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1574                                VALUES (0, 'pmb', 'psexec_cmd', 'psexec -d', 'Paramètres de lancement de psexec (planificateur sous windows)\r\n\nAjouter l\'option -accepteula sur les versions les plus récentes. ', '',0) ";
1575                                echo traite_rqt($rqt, "insert pmb_psexec_cmd into parameters");
1576                        }
1577
1578                        // AR - Ajout paramètre pour activer l'éditeur Dojo
1579                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='editorial_dojo_editor' "))==0){
1580                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1581                                VALUES ( 'pmb', 'editorial_dojo_editor', '1', 'Activation de l\'éditeur DoJo dans le contenu éditorial:\n 0 : non \n 1 : oui','', 0)";
1582                                echo traite_rqt($rqt,"insert pmb_editorial_dojo_editor into parametres");
1583                        }
1584
1585                        // DG - Module "Surcharge de méta-données" : Groupes de méta-données par défaut
1586                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from cms_managed_modules where managed_module_name= 'cms_module_metadatas' "))==0){
1587                                $struct = array();
1588                                $struct["metadatas1"] = array(
1589                                                'prefix' => "og",
1590                                                'name' => "Open Graph Protocol",
1591                                                'items' => array(
1592                                                                'title' => array(
1593                                                                                'label' => "titre",
1594                                                                                'desc' => "Titre",
1595                                                                                'default_template' => "{{title}}"
1596                                                                ),
1597                                                                'type' => array(
1598                                                                                'label' => "type",
1599                                                                                'desc' => "Type",
1600                                                                                'default_template' => "{{type}}"
1601                                                                ),
1602                                                                'image' => array(
1603                                                                                'label' => "logo",
1604                                                                                'desc' => "Lien vers le logo",
1605                                                                                'default_template' => "{{logo_url}}"
1606                                                                ),
1607                                                                'url' => array(
1608                                                                                'label' => "lien",
1609                                                                                'desc' => "Lien",
1610                                                                                'default_template' => "{{link}}"
1611                                                                ),
1612                                                                'description' => array(
1613                                                                                'label' => "description",
1614                                                                                'desc' => "Résumé",
1615                                                                                'default_template' => "{{resume}}"
1616                                                                ),
1617                                                                'locale' => array(
1618                                                                                'label' => "locale",
1619                                                                                'desc' => "Langue",
1620                                                                                'default_template' => ""
1621                                                                ),
1622                                                                'site_name' => array(
1623                                                                                'label' => "site_name",
1624                                                                                'desc' => "Nom du site",
1625                                                                                'default_template' => ""
1626                                                                ),
1627                                                ),
1628                                                'separator' => ":",
1629                                                'group_template' => "<meta property='{{key_metadata}}' content='{{value_metadata}}' />"
1630                                );
1631
1632                                $struct["metadatas2"] = array(
1633                                                'prefix' => "twitter",
1634                                                'name' => "Twitter Cards",
1635                                                'items' => array(
1636                                                                'title' => array(
1637                                                                                'label' => "titre",
1638                                                                                'desc' => "Titre",
1639                                                                                'default_template' => "{{title}}"
1640                                                                ),
1641                                                                'card' => array(
1642                                                                                'label' => "card",
1643                                                                                'desc' => "Résumé",
1644                                                                                'default_template' => ""
1645                                                                ),
1646                                                                'description' => array(
1647                                                                                'label' => "description",
1648                                                                                'desc' => "Description",
1649                                                                                'default_template' => "{{resume}}"
1650                                                                ),
1651                                                                'image' => array(
1652                                                                                'label' => "logo",
1653                                                                                'desc' => "Lien vers le logo",
1654                                                                                'default_template' => "{{logo_url}}"
1655                                                                ),
1656                                                                'site' => array(
1657                                                                                'label' => "site",
1658                                                                                'desc' => "Site",
1659                                                                                'default_template' => ""
1660                                                                ),
1661                                                ),
1662                                                'separator' => ":",
1663                                                'group_template' => "<meta name='{{key_metadata}}' content='{{value_metadata}}' />"
1664                                );
1665                                $managed_datas = array();
1666                                $managed_datas["module"]["metadatas"] = $struct;
1667                                $managed_datas=addslashes(serialize($managed_datas));
1668                                $rqt = "INSERT INTO cms_managed_modules ( managed_module_name, managed_module_box)
1669                                VALUES ('cms_module_metadatas', '$managed_datas')";
1670                                echo traite_rqt($rqt,"insert cms_module_metadatas into cms_managed_modules");
1671                        }
1672
1673                        //DB Ajout vignette etageres (SDN)
1674                        $rqt = "ALTER TABLE etagere ADD thumbnail_url MEDIUMBLOB NOT NULL " ;
1675                        echo traite_rqt($rqt,"ALTER TABLE etagere ADD thumbnail_url ");
1676
1677                        // AR - Ajout paramètre pour limiter le nombre d'emprises sur une carte à l'OPAC!
1678                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_max_holds' "))==0){
1679                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1680                                VALUES ( 'opac', 'map_max_holds', '250', 'Nombre d\'emprise maximum souhaité par type d\'emprise','map', 0)";
1681                                echo traite_rqt($rqt,"insert opac_map_max_holds into parametres");
1682                        }
1683
1684                        // AR - Les paramètres de cartes sont rangés ensemble !
1685                        $rqt = "update parametres set section_param= 'map', comment_param='Activation du géoréférencement' where type_param like 'opac' and sstype_param like 'map_activate'";
1686                        echo traite_rqt($rqt,"update opac_map_activate");
1687
1688                        // AR - Changement de nom !
1689                        $rqt = "update parametres set comment_param='Activation du géoréférencement' where type_param like 'pmb' and sstype_param like 'map_activate'";
1690                        echo traite_rqt($rqt,"update pmb_map_activate");
1691
1692                        // AR - Définition de la couleur d'une emprise de notice à l'OPAC
1693                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_holds_record_color' "))==0){
1694                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1695                                VALUES ( 'opac', 'map_holds_record_color', '#D6A40F', 'Couleur des emprises associées à des notices','map', 0)";
1696                                echo traite_rqt($rqt,"insert opac_map_holds_record_color into parametres");
1697                        }
1698
1699                        // AR - Définition de la couleur d'une emprise d'autorité à l'OPAC
1700                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_holds_authority_color' "))==0){
1701                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1702                                VALUES ( 'opac', 'map_holds_authority_color', '#D60F0F', 'Couleur des emprises associées à des autorités','map', 0)";
1703                                echo traite_rqt($rqt,"insert opac_map_holds_authority_color into parametres");
1704                        }
1705
1706                        // AR - Ajout paramètre de la taille de la carte en saisie de recherche à l'OPAC
1707                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_search_edition' "))==0){
1708                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1709                                VALUES ( 'opac', 'map_size_search_edition', '800*480', 'Taille de la carte en saisie de recherche','map', 0)";
1710                                echo traite_rqt($rqt,"insert opac_map_size_search_edition into parametres");
1711                        }
1712
1713                        // AR - Ajout paramètre de la taille de la carte en résultat de recherche à l'OPAC
1714                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_search_result' "))==0){
1715                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1716                                VALUES ( 'opac', 'map_size_search_result', '800*480', 'Taille de la carte en résultat de recherche','map', 0)";
1717                                echo traite_rqt($rqt,"insert opac_map_size_search_result into parametres");
1718                        }
1719                        // AR - Ajout paramètre de la taille de la carte en visualisation de notice à l'OPAC
1720                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_notice_view' "))==0){
1721                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1722                                VALUES ( 'opac', 'map_size_notice_view', '800*480', 'Taille de la carte en visualisation de notice','map', 0)";
1723                                echo traite_rqt($rqt,"insert opac_map_size_notice_view into parametres");
1724                        }
1725
1726                        // AR - Définition du fond de carte à l'OPAC
1727                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_base_layer_type' "))==0){
1728                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1729                                VALUES ( 'opac', 'map_base_layer_type', 'OSM', 'Fonds de carte à utiliser.\nValeurs possibles :\nOSM           => Open Street Map\nWMS           => The Web Map Server base layer type selector.\nGOOGLE        => Google\nARCGIS        =>The ESRI ARCGis base layer selector.\n','map', 0)";
1730                                echo traite_rqt($rqt,"insert opac_map_base_layer_type into parametres");
1731                        }
1732                        // AR - Définition des paramètres du fond de carte à l'OPAC
1733                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_base_layer_params' "))==0){
1734                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1735                                VALUES ( 'opac', 'map_base_layer_params', '', 'Structure JSON à passer au fond de carte\nexemple :\n{\n \"name\": \"Nom du fond de carte\",\n \"url\": \"url du fond de carte\",\n \"options\":{\n  \"layers\": \"MONDE_MOD1\"\n }\n}','map', 0)";
1736                                echo traite_rqt($rqt,"insert opac_map_base_layer_params into parametres");
1737                        }
1738
1739                        // JP - Suggestions - Utilisateur : pouvoir être alerté en cas de nouvelle suggestion à l'OPAC
1740                        $rqt = "ALTER TABLE users ADD user_alert_suggmail int(1) UNSIGNED NOT NULL DEFAULT 0";
1741                        echo traite_rqt($rqt,"alter table users add user_alert_suggmail");
1742
1743                        // JP - Acquisitions - Sélection rubrique budgétaire en commande : pouvoir toutes les afficher
1744                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='budget_show_all' "))==0){
1745                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1746                                        VALUES (0, 'acquisition', 'budget_show_all', '0', 'Sélection d\'une rubrique budgétaire en commande : toutes les afficher ?\n 0: Non (par pagination)\n 1: Oui.','',0)";
1747                                echo traite_rqt($rqt,"insert budget_show_all = 0 into parametres");
1748                        }
1749
1750
1751                        // +-------------------------------------------------+
1752                        echo "</table>";
1753                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
1754                        $res = pmb_mysql_query($rqt, $dbh) ;
1755                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
1756                        $action=$action+$increment;
1757                        //echo form_relance ("v5.18");
1758                        //break;
1759
1760//case "v5.18":
1761                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
1762                        // +-------------------------------------------------+
1763
1764                        //MB - Ajout index sur le nom des fichiers numériques pour accélérer la recherche
1765                        $add_index=true;
1766                        $req="SHOW INDEX FROM explnum";
1767                        $res=pmb_mysql_query($req);
1768                        if($res && pmb_mysql_num_rows($res)){
1769                                while ($ligne = pmb_mysql_fetch_object($res)){
1770                                        if($ligne->Column_name == "explnum_nomfichier"){
1771                                                $add_index=false;
1772                                                break;
1773                                        }
1774                                }
1775                        }
1776                        if($add_index){
1777                                @set_time_limit(0);
1778                                pmb_mysql_query("set wait_timeout=28800", $dbh);
1779                                $rqt = "alter table explnum add index i_explnum_nomfichier(explnum_nomfichier(30))";
1780                                echo traite_rqt($rqt,"alter table explnum add index i_explnum_nomfichier");
1781                        }
1782
1783                        //JP - Ajout deux index sur les liens entre actes pour accélérer la recherche
1784                        $rqt = "alter table liens_actes drop index i_num_acte";
1785                        echo traite_rqt($rqt,"alter table liens_actes drop index i_num_acte");
1786                        $rqt = "alter table liens_actes add index i_num_acte(num_acte)";
1787                        echo traite_rqt($rqt,"alter table liens_actes add index i_num_acte");
1788
1789                        $rqt = "alter table liens_actes drop index i_num_acte_lie";
1790                        echo traite_rqt($rqt,"alter table liens_actes drop index i_num_acte_lie");
1791                        $rqt = "alter table liens_actes add index i_num_acte_lie(num_acte_lie)";
1792                        echo traite_rqt($rqt,"alter table liens_actes add index i_num_acte_lie");
1793
1794                        //JP - Modification taille du champ mailtpl_tpl de la table mailtpl
1795                        $rqt ="alter table mailtpl MODIFY mailtpl_tpl MEDIUMTEXT NOT NULL";
1796                        echo traite_rqt($rqt,"alter table mailtpl modify mailtpl_tpl mediumtext");
1797
1798                        //JP - Nettoyage des catégories sans libellé
1799                        $rqt ="DELETE FROM categories WHERE libelle_categorie=''";
1800                        echo traite_rqt($rqt,"Delete categories sans libellé");
1801
1802                        // JP - Abonnements - nom du périodique par défaut en création d'abonnement
1803                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='abt_label_perio' "))==0){
1804                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1805                                                        VALUES (0, 'pmb', 'abt_label_perio', '0', 'Création d\'un abonnement : reprendre le nom du périodique ?\n 0: Non \n 1: Oui.','',0)";
1806                                echo traite_rqt($rqt,"insert pmb_abt_label_perio = 0 into parametres");
1807                        }
1808
1809                        // JP - Acquisitions - afficher le nom de l'abonnement dans les lignes de la commande
1810                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='show_abt_in_cmde' "))==0){
1811                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1812                                                VALUES (0, 'acquisition', 'show_abt_in_cmde', '0', 'Afficher l\'abonnement dans les lignes de la commande ?\n 0: Non \n 1: Oui.','',0)";
1813                                echo traite_rqt($rqt,"insert acquisition_show_abt_in_cmde = 0 into parametres");
1814                        }
1815
1816                        // NG - Nomenclature: Familles
1817                        $rqt = "CREATE TABLE if not exists nomenclature_families (
1818                                        id_family int unsigned NOT NULL auto_increment,
1819                                        family_name varchar(255) NOT NULL DEFAULT '',
1820                                        family_order int unsigned NOT NULL DEFAULT 0,
1821                                        PRIMARY KEY (id_family))";
1822                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_families");
1823
1824                        // NG - Nomenclature: pupitres
1825                        $rqt = "CREATE TABLE if not exists nomenclature_musicstands (
1826                                        id_musicstand int unsigned NOT NULL auto_increment,
1827                                        musicstand_name varchar(255) NOT NULL DEFAULT '',
1828                                        musicstand_famille_num int unsigned NOT NULL DEFAULT 0,
1829                                        musicstand_division int unsigned NOT NULL DEFAULT 0,
1830                                        musicstand_order int unsigned NOT NULL DEFAULT 0,
1831                                        musicstand_workshop int unsigned NOT NULL DEFAULT 0,
1832                                        PRIMARY KEY (id_musicstand))";
1833                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_musicstands");
1834
1835                        // NG - Nomenclature: instruments
1836                        $rqt = "CREATE TABLE if not exists nomenclature_instruments (
1837                                        id_instrument int unsigned NOT NULL auto_increment,
1838                                        instrument_code varchar(255) NOT NULL DEFAULT '',
1839                                        instrument_name varchar(255) NOT NULL DEFAULT '',
1840                                        instrument_musicstand_num int unsigned NOT NULL DEFAULT 0,
1841                                        instrument_standard int unsigned NOT NULL DEFAULT 0,
1842                                        PRIMARY KEY (id_instrument))";
1843                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_instruments");
1844
1845                        //NG - Nomenclature: Formations
1846                        $rqt = "CREATE TABLE if not exists nomenclature_formations (
1847                                        id_formation int unsigned NOT NULL auto_increment,
1848                                        formation_name varchar(255) NOT NULL DEFAULT '',
1849                                        formation_nature int unsigned NOT NULL DEFAULT 0,
1850                                        formation_order int unsigned NOT NULL DEFAULT 0,
1851                                        PRIMARY KEY (id_formation))";
1852                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_formations");
1853
1854                        // NG - Nomenclature: Types
1855                        $rqt = "CREATE TABLE if not exists nomenclature_types (
1856                                        id_type int unsigned NOT NULL auto_increment,
1857                                        type_name varchar(255) NOT NULL DEFAULT '',
1858                                        type_formation_num int unsigned NOT NULL DEFAULT 0,
1859                                        type_order int unsigned NOT NULL DEFAULT 0,
1860                                        PRIMARY KEY (id_type))";
1861                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_types");
1862
1863                        // NG - Nomenclature: voix
1864                        $rqt = "CREATE TABLE if not exists nomenclature_voices (
1865                                id_voice int unsigned NOT NULL auto_increment,
1866                                voice_code varchar(255) NOT NULL DEFAULT '',
1867                                voice_name varchar(255) NOT NULL DEFAULT '',
1868                                voice_order int unsigned NOT NULL DEFAULT 0,
1869                                PRIMARY KEY (id_voice))";
1870                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_voices");
1871
1872                        // NG - Nomenclature: Formations dans les notices
1873                        $rqt = "CREATE TABLE if not exists nomenclature_notices_nomenclatures (
1874                                id_notice_nomenclature int unsigned NOT NULL auto_increment,
1875                                notice_nomenclature_num_notice int unsigned NOT NULL DEFAULT 0,
1876                                notice_nomenclature_num_formation int unsigned NOT NULL DEFAULT 0,
1877                                notice_nomenclature_num_type int unsigned NOT NULL DEFAULT 0,
1878                                notice_nomenclature_label varchar(255) NOT NULL DEFAULT '',
1879                                notice_nomenclature_abbreviation TEXT NOT NULL ,
1880                                notice_nomenclature_notes TEXT NOT NULL,
1881                                notice_nomenclature_order int unsigned NOT NULL DEFAULT 0,
1882                                PRIMARY KEY (id_notice_nomenclature))";
1883                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_notices_nomenclatures");
1884
1885                        // NG - Nomenclature: Ateliers des formations de la notice
1886                        $rqt = "CREATE TABLE if not exists nomenclature_workshops (
1887                                id_workshop int unsigned NOT NULL auto_increment,
1888                                workshop_label varchar(255) NOT NULL DEFAULT '',
1889                                workshop_num_nomenclature int unsigned NOT NULL DEFAULT 0,
1890                                workshop_order int unsigned NOT NULL DEFAULT 0,
1891                                PRIMARY KEY (id_workshop))";
1892                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_workshops");
1893
1894                        // NG - Nomenclature: Instruments des ateliers de la notice
1895                        $rqt = "CREATE TABLE if not exists nomenclature_workshops_instruments (
1896                                id_workshop_instrument int unsigned NOT NULL auto_increment,
1897                                workshop_instrument_num_workshop int unsigned NOT NULL DEFAULT 0,
1898                                workshop_instrument_num_instrument int unsigned NOT NULL DEFAULT 0,
1899                                workshop_instrument_number int unsigned NOT NULL DEFAULT 0,
1900                                workshop_instrument_order int unsigned NOT NULL DEFAULT 0,
1901                                PRIMARY KEY (id_workshop_instrument))";
1902                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_workshops_instruments");
1903
1904                        // NG - Nomenclature: Instruments non standards de la formation de la notice
1905                        $rqt = "CREATE TABLE if not exists nomenclature_exotic_instruments (
1906                                id_exotic_instrument int unsigned NOT NULL auto_increment,
1907                                exotic_instrument_num_nomenclature int unsigned NOT NULL DEFAULT 0,
1908                                exotic_instrument_num_instrument int unsigned NOT NULL DEFAULT 0,
1909                                exotic_instrument_number int unsigned NOT NULL DEFAULT 0,
1910                                exotic_instrument_order int unsigned NOT NULL DEFAULT 0,
1911                                PRIMARY KEY (id_exotic_instrument))";
1912                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_exotic_instruments");
1913
1914
1915                        // NG - Nomenclature: Instruments non standards autres de la formation de la notice
1916                        $rqt = "CREATE TABLE if not exists nomenclature_exotic_other_instruments (
1917                                id_exotic_other_instrument int unsigned NOT NULL auto_increment,
1918                                exotic_other_instrument_num_exotic_instrument int unsigned NOT NULL DEFAULT 0,
1919                                exotic_other_instrument_num_instrument int unsigned NOT NULL DEFAULT 0,
1920                                exotic_other_instrument_order int unsigned NOT NULL DEFAULT 0,
1921                                PRIMARY KEY (id_exotic_other_instrument))";
1922                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_exotic_other_instruments");
1923
1924                        // NG - Nomenclature: notices filles
1925                        $rqt = "CREATE TABLE if not exists nomenclature_children_records (
1926                                child_record_num_record int unsigned NOT NULL DEFAULT 0,
1927                                child_record_num_formation int unsigned NOT NULL DEFAULT 0,
1928                                child_record_num_type int unsigned NOT NULL DEFAULT 0,
1929                                child_record_num_musicstand int unsigned NOT NULL DEFAULT 0,
1930                                child_record_num_instrument int unsigned NOT NULL DEFAULT 0,
1931                                child_record_effective int unsigned NOT NULL DEFAULT 0,
1932                                child_record_order int unsigned NOT NULL DEFAULT 0,
1933                                child_record_other varchar(255) NOT NULL DEFAULT '',
1934                                child_record_num_voice int unsigned NOT NULL DEFAULT 0,
1935                                child_record_num_workshop int unsigned NOT NULL DEFAULT 0,
1936                                PRIMARY KEY (child_record_num_record))";
1937                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_children_records");
1938
1939                        // NG - Ajout paramètre pour identifier le type de relation entre une notice de nomenclature et ses notices filles
1940                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_record_children_link' "))==0){
1941                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1942                                VALUES ( 'pmb', 'nomenclature_record_children_link', '', 'Type de relation entre une notice de nomenclature et ses notices filles.','', 0)";
1943                                echo traite_rqt($rqt,"insert pmb_nomenclature_record_children_link");
1944                        }
1945
1946                        // NG - Ajout paramètre pour activer les nomenclatures
1947                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_activate' "))==0){
1948                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1949                                VALUES ( 'pmb', 'nomenclature_activate', '0', 'Activation des nomenclatures:\n 0 : non \n 1 : oui','', 0)";
1950                                echo traite_rqt($rqt,"insert pmb_nomenclature_activate into parametres");
1951                        }
1952
1953                        //MHo - Augmentation de la taille du champ pour les titres_uniformes
1954                        $rqt = "ALTER TABLE titres_uniformes MODIFY tu_sujet TEXT NOT NULL";
1955                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes MODIFY tu_sujet TEXT NOT NULL");
1956
1957                        // MB - Affichage liste des bulletins - Modification explication du paramètre
1958                        $rqt = "UPDATE parametres SET comment_param='Fonction d\'affichage de la liste des bulletins d\'un périodique\nValeurs possibles:\naffichage_liste_bulletins_normale (Si paramètre vide)\naffichage_liste_bulletins_tableau\naffichage_liste_bulletins_depliable' WHERE type_param= 'opac' and sstype_param='fonction_affichage_liste_bull'";
1959                        echo traite_rqt($rqt,"UPDATE parametres opac_fonction_affichage_liste_bull");
1960
1961                        // VT & DG - Création des tables de veilles
1962                        $rqt="create table if not exists docwatch_watches(
1963                                id_watch int unsigned not null auto_increment primary key,
1964                                watch_title varchar(255) not null default '',
1965                                watch_owner int unsigned not null default 0,
1966                                watch_allowed_users varchar(255) not null default '',
1967                                watch_num_category int unsigned not null default 0,
1968                                watch_last_date datetime,
1969                                watch_ttl int unsigned not null default 0,
1970                                index i_docwatch_watch_title(watch_title)
1971                                )";
1972                        echo traite_rqt($rqt, "create table docwatch_watches");
1973
1974                        $rqt="create table if not exists docwatch_datasources(
1975                                id_datasource int unsigned not null auto_increment primary key,
1976                                datasource_type varchar(255) not null default '',
1977                                datasource_title varchar(255) not null default '',
1978                                datasource_ttl int unsigned not null default 0,
1979                                datasource_last_date datetime,
1980                                datasource_parameters mediumtext not null,
1981                                datasource_num_category int unsigned not null default 0,
1982                                datasource_default_interesting int unsigned not null default 0,
1983                                datasource_num_watch int unsigned not null default 0,
1984                                index i_docwatch_datasource_title(datasource_title)
1985                                )";
1986                        echo traite_rqt($rqt, "create table docwatch_datasources");
1987
1988                        $rqt="create table if not exists docwatch_selectors (
1989                                id_selector int unsigned not null auto_increment primary key,
1990                                selector_type varchar(255) not null default '',
1991                                selector_num_datasource int unsigned not null default 0,
1992                                selector_parameters mediumtext not null
1993                                )";
1994                        echo traite_rqt($rqt, "create table docwatch_selectors");
1995
1996                        $rqt="create table if not exists docwatch_items(
1997                                id_item int unsigned not null auto_increment primary key,
1998                                item_type varchar(255) not null default '',
1999                                item_title varchar(255) not null default '',
2000                                item_summary mediumtext not null,
2001                                item_content mediumtext not null,
2002                                item_added_date datetime,
2003                                item_publication_date datetime,
2004                                item_hash varchar(255) not null default '',
2005                                item_url varchar(255) not null default '',
2006                                item_logo_url varchar(255) not null default '',
2007                                item_status int unsigned not null default 0,
2008                                item_interesting int unsigned not null default 0,
2009                                item_num_article int unsigned not null default 0,
2010                                item_num_section int unsigned not null default 0,
2011                                item_num_notice int unsigned not null default 0,
2012                                item_num_datasource int unsigned not null default 0,
2013                                item_num_watch int unsigned not null default 0,
2014                                index i_docwatch_item_type(item_type),
2015                                index i_docwatch_item_title(item_title),
2016                                index i_docwatch_item_num_article(item_num_article),
2017                                index i_docwatch_item_num_section(item_num_section),
2018                                index i_docwatch_item_num_notice(item_num_notice),
2019                                index i_docwatch_item_num_watch(item_num_watch)
2020                                )";
2021                        echo traite_rqt($rqt, "create table docwatch_items");
2022
2023                        $rqt="create table if not exists docwatch_items_descriptors(
2024                                num_item int unsigned not null default 0,
2025                                num_noeud int unsigned not null default 0,
2026                                primary key (num_item, num_noeud)
2027                                )";
2028                        echo traite_rqt($rqt, "create table docwatch_items_descriptors");
2029
2030                        $rqt="create table if not exists docwatch_categories(
2031                                id_category int unsigned not null auto_increment primary key,
2032                                category_title varchar(255) not null default '',
2033                                category_num_parent int unsigned not null default 0
2034                                )";
2035                        echo traite_rqt($rqt, "create table docwatch_categories");
2036
2037                        $rqt="create table if not exists docwatch_items_tags(
2038                                num_item int unsigned not null default 0,
2039                                num_tag int unsigned not null default 0,
2040                                primary key (num_item, num_tag)
2041                                )";
2042                        echo traite_rqt($rqt, "create table docwatch_items_tags");
2043
2044                        $rqt="create table if not exists docwatch_tags(
2045                                id_tag int unsigned not null auto_increment primary key,
2046                                tag_title varchar(255) not null default ''
2047                                )";
2048                        echo traite_rqt($rqt, "create table docwatch_tags");
2049
2050                        $rqt = "ALTER TABLE docwatch_watches ADD watch_desc text NOT NULL" ;
2051                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_desc ");
2052
2053                        $rqt = "ALTER TABLE docwatch_watches ADD watch_logo_url varchar(255) NOT NULL default ''" ;
2054                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_logo_url ");
2055
2056                        $rqt = "ALTER TABLE docwatch_watches ADD watch_record_default_type char(2) not null default 'a'" ;
2057                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_record_default_type ");
2058
2059                        $rqt = "ALTER TABLE docwatch_watches ADD watch_record_default_status int unsigned not null default 0" ;
2060                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_record_default_status ");
2061
2062                        $rqt = "ALTER TABLE docwatch_watches ADD watch_article_default_parent int unsigned not null default 0" ;
2063                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_article_default_parent");
2064
2065                        $rqt = "ALTER TABLE docwatch_watches ADD watch_article_default_content_type int unsigned not null default 0" ;
2066                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_article_default_content_type ");
2067
2068                        $rqt = "ALTER TABLE docwatch_watches ADD watch_article_default_publication_status int unsigned not null default 0" ;
2069                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_article_default_content_publication_status ");
2070
2071                        $rqt = "ALTER TABLE docwatch_watches ADD watch_section_default_parent int unsigned not null default 0" ;
2072                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_section_default_parent");
2073
2074                        $rqt = "ALTER TABLE docwatch_watches ADD watch_section_default_content_type int unsigned not null default 0" ;
2075                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_section_default_content_type ");
2076
2077                        $rqt = "ALTER TABLE docwatch_watches ADD watch_section_default_publication_status int unsigned not null default 0" ;
2078                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_section_default_content_publication_status ");
2079
2080                        // NG - Demandes: Ajout d'un paramètre permettant de saisir un email générique pour la gestion des demanades
2081                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='email_generic' "))==0){
2082                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2083                                VALUES (0, 'demandes', 'email_generic', '',
2084                                'Information par un email générique de l\'évolution des demandes.\n 1,adrmail@mail.fr : Envoi une copie uniquement pour toutes les nouvelles demandes\n 2,adrmail@mail.fr : Envoi une copie uniquement des mails envoyés aux personnes affectées\n 3,adrmail@mail.fr : Envoi une copie dans les 2 cas précédents\n ',
2085                                '',0) ";
2086                                echo traite_rqt($rqt, "insert demandes_email_generic into parameters");
2087                        }
2088
2089                        // NG - Demandes: Ajout d'un paramètre permettant d'afficher le format simplifié en Opac
2090                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='demandes_affichage_simplifie' "))==0){
2091                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2092                                VALUES (0, 'opac', 'demandes_affichage_simplifie', '0',
2093                                'Active le format simplifié des demandes en Opac:\n 0 : non \n 1 : oui',
2094                                'a_general',0) ";
2095                                echo traite_rqt($rqt, "insert opac_demandes_affichage_simplifie into parameters");
2096                        }
2097
2098                        // NG - Demandes: Ajout d'un paramètre permettant d'interdire l'ajout d'une action en Opac
2099                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='demandes_no_action' "))==0){
2100                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2101                                VALUES (0, 'opac', 'demandes_no_action', '0',
2102                                'Interdire l\'ajout d\'une action en Opac:\n 0 : non \n 1 : oui',
2103                                'a_general',0) ";
2104                                echo traite_rqt($rqt, "insert opac_demandes_no_action into parameters");
2105                        }
2106
2107                        // NG - Demandes: lien entre la note générant la réponse finale d'une demande
2108                        $rqt = "ALTER TABLE demandes ADD demande_note_num int unsigned not null default 0" ;
2109                        echo traite_rqt($rqt,"ALTER TABLE demandes ADD demande_note_num ");
2110
2111                        //JP - Modification de la longueur du champ email de la table coordonnees
2112                        $rqt = "ALTER TABLE coordonnees MODIFY email varchar(255) NOT NULL default '' ";
2113                        echo traite_rqt($rqt,"alter table coordonnees modify email");
2114
2115                        // DG - Veilles : Option pour nettoyer le contenu HTML des nouveaux éléments
2116                        $rqt = "ALTER TABLE docwatch_datasources ADD datasource_clean_html int unsigned not null default 1 after datasource_default_interesting" ;
2117                        echo traite_rqt($rqt,"ALTER TABLE docwatch_datasources ADD datasource_clean_html ");
2118
2119                        // VT - Ajout paramètre pour definir le ratio minimum d'une emprise pour qu'elle s'affiche
2120                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_hold_ratio_min' "))==0){
2121                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2122                                VALUES ( 'pmb', 'map_hold_ratio_min', '4', 'Ratio minimum d\'occupation en pourcentage d\'une emprise pour s\'afficher','map', 0)";
2123                                echo traite_rqt($rqt,"insert pmb_map_hold_ratio_min into parametres");
2124                        }
2125
2126                        // VT - Ajout paramètre pour definir le ratio maximum d'une emprise pour qu'elle s'affiche
2127                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_hold_ratio_max' "))==0){
2128                        $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2129                                VALUES ( 'pmb', 'map_hold_ratio_max', '75', 'Ratio maximum d\'occupation en pourcentage d\'une emprise pour s\'afficher','map', 0)";
2130                                echo traite_rqt($rqt,"insert pmb_map_hold_ratio_max into parametres");
2131                        }
2132
2133                        // VT - Ajout paramètre pour definir le rapport de distance entre deux points pour qu'ils soit aggrégés ensembles
2134                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_hold_distance' "))==0){
2135                                        $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2136                                VALUES ( 'pmb', 'map_hold_distance', '10', 'Rapport de distance entre deux points pour les agréger','map', 0)";
2137                                echo traite_rqt($rqt,"insert pmb_map_hold_distance into parametres");
2138                        }
2139
2140                        // VT - Creation table de correspondance contenant les aires des différentes emprises de la base
2141                        $rqt="create table if not exists map_hold_areas as (select map_emprise_id as id_obj, map_emprise_type as type_obj, Area(map_emprise_data) as area, Area(envelope(map_emprise_data)) as bbox_area, AsText(Centroid(envelope(map_emprise_data))) as center from map_emprises)";
2142                        echo traite_rqt($rqt, "create table map_hold_areas");
2143
2144                        //VT - Verification de l'existance de la clé primaire (création si non-existante)
2145                        if (pmb_mysql_num_rows(pmb_mysql_query("show keys from map_hold_areas where column_name = 'id_obj' "))==0){
2146                                $rqt="alter table map_hold_areas add primary key(id_obj)";
2147                                echo traite_rqt($rqt, "alter table map_hold_areas add primary key");
2148                        }
2149
2150                        //NG - ajout pied de page dans template de la fiche de circulation
2151                        $rqt = "ALTER TABLE serialcirc_tpl ADD serialcirctpl_piedpage text NOT NULL ";
2152                        echo traite_rqt($rqt,"alter table serialcirc_tpl add serialcirctpl_piedpage");
2153
2154                        // AP - Ajout de la recherche dans les concepts
2155                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='modules_search_concept' "))==0) {
2156                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2157                                VALUES (0, 'opac', 'modules_search_concept', '0', 'Recherche dans les concepts : \n 0 : interdite, \n 1 : autorisée, \n 2 : autorisée et validée par défaut', 'c_recherche', 0) ";
2158                                echo traite_rqt($rqt, "insert opac_modules_search_concept into parameters");
2159                        }
2160
2161                        // VT - Ajout paramètre pour definir le ratio minimum d'une emprise pour qu'elle s'affiche (opac)
2162                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_hold_ratio_min' "))==0) {
2163                                $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2164                                VALUES ('opac', 'map_hold_ratio_min', '4', 'Ratio minimum d\'occupation en pourcentage d\'une emprise pour s\'afficher', 'map', 0) ";
2165                                echo traite_rqt($rqt, "insert opac_map_hold_ratio_min into parametres");
2166                        }
2167
2168                        // VT - Ajout paramètre pour definir le ratio maximum d'une emprise pour qu'elle s'affiche (opac)
2169                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_hold_ratio_max' "))==0){
2170                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2171                                VALUES ( 'opac', 'map_hold_ratio_max', '75', 'Ratio maximum d\'occupation en pourcentage d\'une emprise pour s\'afficher','map', 0)";
2172                                echo traite_rqt($rqt,"insert opac_map_hold_ratio_max into parametres");
2173                        }
2174
2175                        // VT - Ajout paramètre pour definir le rapport de distance entre deux points pour qu'ils soit aggrégés ensembles (opac)
2176                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_hold_distance' "))==0){
2177                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2178                                VALUES ( 'opac', 'map_hold_distance', '10', 'Rapport de distance entre deux points pour les agréger','map', 0)";
2179                                echo traite_rqt($rqt,"insert opac_map_hold_distance into parametres");
2180                        }
2181
2182                        // VT - Ajout d'un index sur la colonne map_emprise_obj_num de la table map_emprises
2183                        $rqt="alter table map_emprises add index i_map_emprise_obj_num(map_emprise_obj_num)";
2184                        echo traite_rqt($rqt, "alter table map_emprises add index i_map_emprise_obj_num");
2185
2186                        // JP - Ajout champ de classement sur étagères et paniers
2187                        $rqt = "ALTER TABLE caddie ADD caddie_classement varchar(255) NOT NULL default ''" ;
2188                        echo traite_rqt($rqt,"ALTER TABLE caddie ADD caddie_classement ");
2189
2190                        $rqt = "ALTER TABLE empr_caddie ADD empr_caddie_classement varchar(255) NOT NULL default ''" ;
2191                        echo traite_rqt($rqt,"ALTER TABLE empr_caddie ADD empr_caddie_classement ");
2192
2193                        $rqt = "ALTER TABLE etagere ADD etagere_classement varchar(255) NOT NULL default ''" ;
2194                        echo traite_rqt($rqt,"ALTER TABLE etagere ADD etagere_classement ");
2195
2196                        // MB - LDAP gestion de l'encodage lors de l'import
2197                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'ldap' and sstype_param='encoding_utf8' "))==0){
2198                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2199                                        VALUES (0, 'ldap', 'encoding_utf8', '0', 'Les informations du LDAP sont en utf-8 ?\n 0: Non \n 1: Oui.','',0)";
2200                                echo traite_rqt($rqt,"insert ldap_encoding_utf8 = 0 into parametres");
2201                        }
2202
2203                        // +-------------------------------------------------+
2204                        echo "</table>";
2205                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
2206                        $res = pmb_mysql_query($rqt, $dbh) ;
2207                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
2208                        $action=$action+$increment;
2209                        //echo form_relance ("v5.19");
2210                        //break;
2211
2212//case "v5.19":
2213                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
2214                        // +-------------------------------------------------+
2215
2216                        //DG - Code Javascript d'analyse d'audience
2217                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='script_analytics' "))==0){
2218                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2219                                        VALUES (0, 'opac', 'script_analytics', '', 'Code Javascript d\'analyse d\'audience (Par exemple pour Google Analytics, XiTi,..).','a_general',0)";
2220                                echo traite_rqt($rqt,"insert opac_script_analytics into parametres");
2221                        }
2222
2223                        //DG - Accessibilité OPAC : Paramètre d'activation
2224                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='accessibility' "))==0){
2225                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2226                                        VALUES (0, 'opac', 'accessibility', '1', 'Accessibilité activée.\n 0 : Non.\n 1 : Oui.','a_general',0)";
2227                                echo traite_rqt($rqt,"insert opac_accessibility = 1 into parametres");
2228                        }
2229
2230                        //JP - Renseigner les champs d'exemplaires transfert_location_origine et transfert_statut_origine pour les statistiques et si ils ne le sont pas déjà (ajout sur la requête en v5.17)
2231                        $rqt = "UPDATE exemplaires SET transfert_location_origine=expl_location, update_date=update_date  WHERE transfert_location_origine=0 AND expl_id NOT IN (SELECT num_expl FROM transferts_demande JOIN transferts ON (num_transfert=id_transfert AND etat_transfert=0))";
2232                        echo traite_rqt($rqt,"update exemplaires transfert_location_origine");
2233
2234                        $rqt = "UPDATE exemplaires SET transfert_statut_origine=expl_statut, update_date=update_date  WHERE transfert_statut_origine=0 AND expl_id NOT IN (SELECT num_expl FROM transferts_demande JOIN transferts ON (num_transfert=id_transfert AND etat_transfert=0))";
2235                        echo traite_rqt($rqt,"update exemplaires transfert_statut_origine");
2236
2237                        // NG - Ajout paramètre indiquant la durée en jours de conservation des notices en tant que nouveauté
2238                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='newrecord_timeshift' "))==0){
2239                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2240                                VALUES ( 'pmb', 'newrecord_timeshift', '0', 'Nombre de jours de conservation des notices en tant que nouveauté.','', 0)";
2241                                echo traite_rqt($rqt,"insert pmb_newrecord_timeshift");
2242                        }
2243
2244                        // Création shorturls
2245                        $rqt="create table if not exists shorturls (
2246                                id_shorturl int unsigned not null auto_increment primary key,
2247                                shorturl_hash varchar(255) not null default '',
2248                                shorturl_last_access datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
2249                                shorturl_context text not null,
2250                                shorturl_type varchar(255) not null default '',
2251                                shorturl_action varchar(255) not null default ''
2252                        )";
2253                        echo traite_rqt($rqt,"create table shorturls");
2254
2255                        // NG - Nouveautés
2256                        $rqt = "ALTER TABLE notices ADD notice_is_new int unsigned not null default 0" ;
2257                        echo traite_rqt($rqt,"ALTER TABLE notices ADD notice_is_new ");
2258
2259                        $rqt = "ALTER TABLE notices ADD notice_date_is_new  datetime NOT NULL DEFAULT '0000-00-00 00:00:00'" ;
2260                        echo traite_rqt($rqt,"ALTER TABLE notices ADD notice_date_is_new ");
2261
2262                        // VT - Modif du paramètre map_max_holds en gestion (ajout d'un parametre en plus, update du commentaire) le tout en gardant la valeur precedente
2263                        if (pmb_mysql_num_rows(pmb_mysql_query("select valeur_param from parametres where type_param= 'pmb' and sstype_param='map_max_holds' and valeur_param not like '%,%'"))!=0){
2264                                $rqt="update parametres set valeur_param=concat(valeur_param,',0'), comment_param='Dans l\'ordre donné séparé par une virgule: Nombre limite d\'emprises affichées, mode de clustering \nValeurs possibles pour le mode :\n\n0 => Clustering standard avec augmentation dynamique des seuils jusqu\'a atteindre le nombre maximum d\'emprises affichées\n\n1 => Clusterisation de toutes les emprises' where type_param like 'pmb' and sstype_param like 'map_max_holds'";
2265                                echo traite_rqt($rqt, "update parametres map_max_holds gestion");
2266                        }
2267
2268                        // VT - Modif du paramètre map_max_holds en opac (ajout d'un parametre en plus, update du commentaire) le tout en gardant la valeur precedente
2269                        if (pmb_mysql_num_rows(pmb_mysql_query("select valeur_param from parametres where type_param= 'opac' and sstype_param='map_max_holds' and valeur_param not like '%,%'"))!=0){
2270                                $rqt="update parametres set valeur_param=concat(valeur_param,',0'), comment_param='Dans l\'ordre donné séparé par une virgule: Nombre limite d\'emprises affichées, mode de clustering \nValeurs possibles pour le mode :\n\n0 => Clustering standard avec augmentation dynamique des seuils jusqu\'a atteindre le nombre maximum d\'emprises affichées\n\n1 => Clusterisation de toutes les emprises' where type_param like 'opac' and sstype_param like 'map_max_holds'";
2271                                echo traite_rqt($rqt, "update parametres map_max_holds opac");
2272                        }
2273
2274                        // DB - Modification de la table resa_planning (ajout de previsions sur bulletins)
2275                        $rqt = "alter table resa_planning add resa_idbulletin int(8) unsigned default '0' not null after resa_idnotice";
2276                        echo traite_rqt($rqt,"alter resa_planning add resa_idbulletin ");
2277
2278                        //JP - Section origine pour les transferts
2279                        $rqt = "ALTER TABLE exemplaires ADD transfert_section_origine SMALLINT(5) NOT NULL default '0'" ;
2280                        echo traite_rqt($rqt,"ALTER TABLE exemplaires ADD transfert_section_origine ");
2281
2282                        $rqt = "UPDATE exemplaires SET transfert_section_origine=expl_section, update_date=update_date WHERE transfert_section_origine=0 AND expl_id NOT IN (SELECT num_expl FROM transferts_demande JOIN transferts ON (num_transfert=id_transfert AND etat_transfert=0))";
2283                        echo traite_rqt($rqt,"update exemplaires transfert_section_origine");
2284
2285                        //AP Modification du commentaire d'opac_notices_format : Ajout des templates django
2286                        $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 \n4 : ISBD et Public\n 5 : ISBD et Public avec ISBD en premier \n8 : Réduit (titre+auteurs) seul\n 9 : Templates django (Spécifier le nom du répertoire dans le paramètre notices_format_django_directory)' where type_param= 'opac' and sstype_param='notices_format' ";
2287                        echo traite_rqt($rqt,"update opac_notices_format into parametres");
2288
2289                        // AP - Ajout paramètre indiquant le nom du répertoire des templates django à utiliser en affichage de notice
2290                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notices_format_django_directory' "))==0){
2291                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2292                                        VALUES ( 'opac', 'notices_format_django_directory', '', 'Nom du répertoire de templates django à utiliser en affichage de notice.\nLaisser vide pour utiliser le common.','e_aff_notice', 0)";
2293                                echo traite_rqt($rqt,"insert notices_format_django_directory into parametres");
2294                        }
2295
2296                        //MB: Ajouter une PK aux tables de vue
2297                        $res=pmb_mysql_query("SHOW TABLES LIKE 'opac_view_notices_%'");
2298                        if($res && pmb_mysql_num_rows($res)){
2299                                while ($r=pmb_mysql_fetch_array($res)){
2300                                        $rqt = "ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice" ;
2301                                        echo traite_rqt($rqt,"ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice ");
2302
2303                                        $rqt = "ALTER TABLE ".$r[0]." DROP PRIMARY KEY";
2304                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." DROP PRIMARY KEY");
2305
2306                                        $rqt = "ALTER TABLE ".$r[0]." ADD PRIMARY KEY (opac_view_num_notice)";
2307                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." ADD PRIMARY KEY");
2308                                }
2309                        }
2310
2311                        //DG - Paramètre OPAC : Autoriser le téléchargement des documents numériques
2312                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='allow_download_docnums' "))==0){
2313                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2314                                        VALUES (0, 'opac', 'allow_download_docnums', '1', 'Autoriser le téléchargement des documents numériques.\n 0 : Non.\n 1 : Individuellement (un par un).\n 2 : Archive ZIP.','a_general',0)";
2315                                echo traite_rqt($rqt,"insert opac_allow_download_docnums = 1 into parametres");
2316                        }
2317
2318                        //AB - Le nom du fichier de paramétrage du selecteur d'affichage de notice
2319                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notices_display_modes' "))==0){
2320                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2321                                        VALUES (0, 'opac', 'notices_display_modes', '', 'Nom du fichier xml de paramétrage du choix du mode d\'affichage des notices à l\'OPAC.\nPar défaut : display_modes_exemple.xml dans /opac_css/includes/records/','d_aff_recherche',0)";
2322                                echo traite_rqt($rqt,"insert opac_notices_display_modes='' into parametres");
2323                        }
2324
2325                        //DG - Lien pour en savoir plus sur l'utilisation des cookies et des traceurs
2326                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='url_more_about_cookies' "))==0){
2327                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2328                                        VALUES (0, 'opac', 'url_more_about_cookies', '', 'Lien pour en savoir plus sur l\'utilisation des cookies et des traceurs','a_general',0)";
2329                                echo traite_rqt($rqt,"insert opac_url_more_about_cookies into parametres");
2330                        }
2331
2332                        //DG - MAJ du template de bannettes par défaut (identifiant 1)
2333                        $rqt = "UPDATE bannette_tpl SET bannettetpl_tpl='{{info.header}}\r\n<br /><br />\r\n<div class=\"summary\">\r\n{% for sommaire in sommaires %}\r\n<a href=\"#[{{sommaire.level}}]\">\r\n{{sommaire.level}} - {{sommaire.title}}\r\n</a>\r\n<br />\r\n{% endfor %}\r\n</div>\r\n<hr>\r\n{% for sommaire in sommaires %}\r\n<a name=\"[{{sommaire.level}}]\" />\r\n<h1>{{sommaire.level}} - {{sommaire.title}}</h1>\r\n{% for record in sommaire.records %}\r\n{{record.render}}\r\n<hr>\r\n{% endfor %}\r\n<br />\r\n{% endfor %}\r\n{{info.footer}}'
2334                                        WHERE bannettetpl_id=1";
2335                        echo traite_rqt($rqt,"ALTER minimum into bannette_tpl");
2336
2337                        // DB - Modification de la table resa_planning (prévisions localisées)
2338                        $rqt = "alter table resa_planning add resa_loc_retrait int(5) unsigned not null default 0 ";
2339                        echo traite_rqt($rqt,"alter resa_planning add resa_loc_retrait ");
2340
2341                        // JP - Ajout champ demande abonnement sur périodique
2342                        $rqt = "ALTER TABLE notices ADD opac_serialcirc_demande TINYINT UNSIGNED NOT NULL DEFAULT 1";
2343                        echo traite_rqt($rqt,"ALTER TABLE notices ADD opac_serialcirc_demande") ;
2344
2345                        // JP - Ajout champ de classement sur infopages
2346                        $rqt = "ALTER TABLE infopages ADD infopage_classement varchar(255) NOT NULL default ''" ;
2347                        echo traite_rqt($rqt,"ALTER TABLE infopages ADD infopage_classement ");
2348
2349                        // JP - Ajout autorisations sur recherches prédéfinies gestion
2350                        $rqt = "ALTER TABLE search_perso ADD autorisations MEDIUMTEXT NULL DEFAULT NULL ";
2351                        echo traite_rqt($rqt,"ALTER TABLE search_perso ADD autorisations") ;
2352
2353                        $rqt = "UPDATE search_perso SET autorisations=num_user ";
2354                        echo traite_rqt($rqt,"UPDATE autorisations INTO search_perso");
2355
2356                        //VT - Paramètre OPAC : Definition du chemin des templates d'autorités en OPAC
2357                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='authorities_templates_folder' "))==0){
2358                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2359                                        VALUES (0, 'opac', 'authorities_templates_folder', './includes/templates/authorities/common', 'Repertoire des templates utilisés pour l\'affichage des autorités en OPAC','',1)";
2360                                echo traite_rqt($rqt,"insert opac_authorities_templates_folder = ./includes/templates/authorities/common into parametres");
2361                        }
2362
2363                        // JP - template par défaut pour les bannettes privées
2364                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'dsi' and sstype_param='private_bannette_notices_template' "))==0){
2365                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2366                        VALUES (0, 'dsi', 'private_bannette_notices_template', '0', 'Id du template de notice utilisé par défaut en diffusion de bannettes privées. Si vide ou à 0, le template classique est utilisé.', '', 0)";
2367                                echo traite_rqt($rqt, "insert private_bannette_notices_template into parameters");
2368                        }
2369
2370                        // JP - ajout index manquants sur tables de champs persos
2371                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_st " ;
2372                        echo traite_rqt($rqt,"DROP INDEX i_acv_st");
2373                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_st(author_custom_small_text)" ;
2374                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_st");
2375
2376                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_t " ;
2377                        echo traite_rqt($rqt,"DROP INDEX i_acv_t");
2378                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_t(author_custom_text(255))" ;
2379                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_t");
2380
2381                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_i " ;
2382                        echo traite_rqt($rqt,"DROP INDEX i_acv_i");
2383                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_i(author_custom_integer)" ;
2384                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_i");
2385
2386                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_d " ;
2387                        echo traite_rqt($rqt,"DROP INDEX i_acv_d");
2388                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_d(author_custom_date)" ;
2389                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_d");
2390
2391                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_f " ;
2392                        echo traite_rqt($rqt,"DROP INDEX i_acv_f");
2393                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_f(author_custom_float)" ;
2394                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_f");
2395
2396                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_st " ;
2397                        echo traite_rqt($rqt,"DROP INDEX i_acv_st");
2398                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_st(authperso_custom_small_text)" ;
2399                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_st");
2400
2401                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_t " ;
2402                        echo traite_rqt($rqt,"DROP INDEX i_acv_t");
2403                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_t(authperso_custom_text(255))" ;
2404                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_t");
2405
2406                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_i " ;
2407                        echo traite_rqt($rqt,"DROP INDEX i_acv_i");
2408                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_i(authperso_custom_integer)" ;
2409                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_i");
2410
2411                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_d " ;
2412                        echo traite_rqt($rqt,"DROP INDEX i_acv_d");
2413                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_d(authperso_custom_date)" ;
2414                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_d");
2415
2416                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_f " ;
2417                        echo traite_rqt($rqt,"DROP INDEX i_acv_f");
2418                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_f(authperso_custom_float)" ;
2419                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_f");
2420
2421                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_st " ;
2422                        echo traite_rqt($rqt,"DROP INDEX i_ccv_st");
2423                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_st(categ_custom_small_text)" ;
2424                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_st");
2425
2426                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_t " ;
2427                        echo traite_rqt($rqt,"DROP INDEX i_ccv_t");
2428                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_t(categ_custom_text(255))" ;
2429                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_t");
2430
2431                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_i " ;
2432                        echo traite_rqt($rqt,"DROP INDEX i_ccv_i");
2433                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_i(categ_custom_integer)" ;
2434                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_i");
2435
2436                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_d " ;
2437                        echo traite_rqt($rqt,"DROP INDEX i_ccv_d");
2438                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_d(categ_custom_date)" ;
2439                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_d");
2440
2441                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_f " ;
2442                        echo traite_rqt($rqt,"DROP INDEX i_ccv_f");
2443                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_f(categ_custom_float)" ;
2444                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_f");
2445
2446                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_st " ;
2447                        echo traite_rqt($rqt,"DROP INDEX i_ccv_st");
2448                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_st(cms_editorial_custom_small_text)" ;
2449                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_st");
2450
2451                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_t " ;
2452                        echo traite_rqt($rqt,"DROP INDEX i_ccv_t");
2453                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_t(cms_editorial_custom_text(255))" ;
2454                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_t");
2455
2456                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_i " ;
2457                        echo traite_rqt($rqt,"DROP INDEX i_ccv_i");
2458                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_i(cms_editorial_custom_integer)" ;
2459                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_i");
2460
2461                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_d " ;
2462                        echo traite_rqt($rqt,"DROP INDEX i_ccv_d");
2463                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_d(cms_editorial_custom_date)" ;
2464                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_d");
2465
2466                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_f " ;
2467                        echo traite_rqt($rqt,"DROP INDEX i_ccv_f");
2468                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_f(cms_editorial_custom_float)" ;
2469                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_f");
2470
2471                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_st " ;
2472                        echo traite_rqt($rqt,"DROP INDEX i_ccv_st");
2473                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_st(collection_custom_small_text)" ;
2474                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_st");
2475
2476                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_t " ;
2477                        echo traite_rqt($rqt,"DROP INDEX i_ccv_t");
2478                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_t(collection_custom_text(255))" ;
2479                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_t");
2480
2481                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_i " ;
2482                        echo traite_rqt($rqt,"DROP INDEX i_ccv_i");
2483                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_i(collection_custom_integer)" ;
2484                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_i");
2485
2486                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_d " ;
2487                        echo traite_rqt($rqt,"DROP INDEX i_ccv_d");
2488                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_d(collection_custom_date)" ;
2489                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_d");
2490
2491                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_f " ;
2492                        echo traite_rqt($rqt,"DROP INDEX i_ccv_f");
2493                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_f(collection_custom_float)" ;
2494                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_f");
2495
2496                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_st " ;
2497                        echo traite_rqt($rqt,"DROP INDEX i_gcv_st");
2498                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_st(gestfic0_custom_small_text)" ;
2499                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_st");
2500
2501                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_t " ;
2502                        echo traite_rqt($rqt,"DROP INDEX i_gcv_t");
2503                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_t(gestfic0_custom_text(255))" ;
2504                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_t");
2505
2506                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_i " ;
2507                        echo traite_rqt($rqt,"DROP INDEX i_gcv_i");
2508                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_i(gestfic0_custom_integer)" ;
2509                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_i");
2510
2511                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_d " ;
2512                        echo traite_rqt($rqt,"DROP INDEX i_gcv_d");
2513                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_d(gestfic0_custom_date)" ;
2514                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_d");
2515
2516                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_f " ;
2517                        echo traite_rqt($rqt,"DROP INDEX i_gcv_f");
2518                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_f(gestfic0_custom_float)" ;
2519                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_f");
2520
2521                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_st " ;
2522                        echo traite_rqt($rqt,"DROP INDEX i_icv_st");
2523                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_st(indexint_custom_small_text)" ;
2524                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_st");
2525
2526                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_t " ;
2527                        echo traite_rqt($rqt,"DROP INDEX i_icv_t");
2528                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_t(indexint_custom_text(255))" ;
2529                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_t");
2530
2531                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_i " ;
2532                        echo traite_rqt($rqt,"DROP INDEX i_icv_i");
2533                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_i(indexint_custom_integer)" ;
2534                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_i");
2535
2536                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_d " ;
2537                        echo traite_rqt($rqt,"DROP INDEX i_icv_d");
2538                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_d(indexint_custom_date)" ;
2539                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_d");
2540
2541                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_f " ;
2542                        echo traite_rqt($rqt,"DROP INDEX i_icv_f");
2543                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_f(indexint_custom_float)" ;
2544                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_f");
2545
2546                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_st " ;
2547                        echo traite_rqt($rqt,"DROP INDEX i_pcv_st");
2548                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_st(publisher_custom_small_text)" ;
2549                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_st");
2550
2551                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_t " ;
2552                        echo traite_rqt($rqt,"DROP INDEX i_pcv_t");
2553                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_t(publisher_custom_text(255))" ;
2554                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_t");
2555
2556                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_i " ;
2557                        echo traite_rqt($rqt,"DROP INDEX i_pcv_i");
2558                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_i(publisher_custom_integer)" ;
2559                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_i");
2560
2561                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_d " ;
2562                        echo traite_rqt($rqt,"DROP INDEX i_pcv_d");
2563                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_d(publisher_custom_date)" ;
2564                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_d");
2565
2566                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_f " ;
2567                        echo traite_rqt($rqt,"DROP INDEX i_pcv_f");
2568                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_f(publisher_custom_float)" ;
2569                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_f");
2570
2571                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_st " ;
2572                        echo traite_rqt($rqt,"DROP INDEX i_scv_st");
2573                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_st(serie_custom_small_text)" ;
2574                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_st");
2575
2576                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_t " ;
2577                        echo traite_rqt($rqt,"DROP INDEX i_scv_t");
2578                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_t(serie_custom_text(255))" ;
2579                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_t");
2580
2581                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_i " ;
2582                        echo traite_rqt($rqt,"DROP INDEX i_scv_i");
2583                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_i(serie_custom_integer)" ;
2584                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_i");
2585
2586                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_d " ;
2587                        echo traite_rqt($rqt,"DROP INDEX i_scv_d");
2588                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_d(serie_custom_date)" ;
2589                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_d");
2590
2591                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_f " ;
2592                        echo traite_rqt($rqt,"DROP INDEX i_scv_f");
2593                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_f(serie_custom_float)" ;
2594                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_f");
2595
2596                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_st " ;
2597                        echo traite_rqt($rqt,"DROP INDEX i_scv_st");
2598                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_st(subcollection_custom_small_text)" ;
2599                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_st");
2600
2601                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_t " ;
2602                        echo traite_rqt($rqt,"DROP INDEX i_scv_t");
2603                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_t(subcollection_custom_text(255))" ;
2604                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_t");
2605
2606                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_i " ;
2607                        echo traite_rqt($rqt,"DROP INDEX i_scv_i");
2608                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_i(subcollection_custom_integer)" ;
2609                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_i");
2610
2611                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_d " ;
2612                        echo traite_rqt($rqt,"DROP INDEX i_scv_d");
2613                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_d(subcollection_custom_date)" ;
2614                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_d");
2615
2616                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_f " ;
2617                        echo traite_rqt($rqt,"DROP INDEX i_scv_f");
2618                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_f(subcollection_custom_float)" ;
2619                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_f");
2620
2621                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_st " ;
2622                        echo traite_rqt($rqt,"DROP INDEX i_tcv_st");
2623                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_st(tu_custom_small_text)" ;
2624                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_st");
2625
2626                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_t " ;
2627                        echo traite_rqt($rqt,"DROP INDEX i_tcv_t");
2628                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_t(tu_custom_text(255))" ;
2629                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_t");
2630
2631                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_i " ;
2632                        echo traite_rqt($rqt,"DROP INDEX i_tcv_i");
2633                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_i(tu_custom_integer)" ;
2634                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_i");
2635
2636                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_d " ;
2637                        echo traite_rqt($rqt,"DROP INDEX i_tcv_d");
2638                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_d(tu_custom_date)" ;
2639                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_d");
2640
2641                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_f " ;
2642                        echo traite_rqt($rqt,"DROP INDEX i_tcv_f");
2643                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_f(tu_custom_float)" ;
2644                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_f");
2645
2646
2647                        //AR - Paramètre Portail : Activer la mise en cache des images
2648                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'cms' and sstype_param='active_image_cache' "))==0){
2649                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2650                                        VALUES (0, 'cms', 'active_image_cache', '0', 'Activer la mise en cache des vignettes du contenu éditorial.\n 0: non \n 1:Oui \nAttention, si l\'OPAC ne se trouve pas sur le même serveur que la gestion, la purge du cache ne peut pas se faire automatiquement','',0)";
2651                                echo traite_rqt($rqt,"insert cms_active_image_cache into parametres");
2652                        }
2653
2654                        // MHo - Correction des messages des parametres sur l'ordre d'affichage et le mode d'affichage des concepts d'une notice (remplacement de "categorie" par "concept")
2655                        $rqt="UPDATE parametres SET comment_param='Paramétrage de l\'ordre d\'affichage des concepts d\'une notice.\nPar ordre alphabétique: 0(par défaut)\nPar ordre de saisie: 1'
2656                                WHERE type_param='thesaurus' AND sstype_param='concepts_affichage_ordre' AND section_param='concepts'";
2657                        echo traite_rqt($rqt,"update comment_param de concepts_affichage_ordre into parametres ");
2658
2659                        $rqt="UPDATE parametres SET comment_param='Affichage des concepts en ligne.\n 0 : Non.\n 1 : Oui.'
2660                                WHERE type_param='thesaurus' AND sstype_param='concepts_concept_in_line' AND section_param='concepts'";
2661                        echo traite_rqt($rqt,"update comment_param de concepts_concept_in_line into parametres ");
2662
2663                        //DG - Flag pour savoir si le mot de passe est déjà encrypté
2664                        $rqt= "alter table empr add empr_password_is_encrypted int(1) not null default 0 after empr_password";
2665                        echo traite_rqt($rqt,"alter table empr add empr_password_is_encrypted");
2666
2667                        //DG - Phrase pour le hashage des mots de passe emprunteurs (paramètre invisible)
2668                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='empr_password_salt' "))==0){
2669                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2670                                        VALUES (0, 'opac', 'empr_password_salt', '', 'Phrase pour le hashage des mots de passe emprunteurs','a_general',1)";
2671                                echo traite_rqt($rqt,"insert opac_empr_password_salt into parametres");
2672                        }
2673
2674                        //DG - Info d'encodage des mots de passe lecteurs pour la connexion à l'Opac
2675                        $res=pmb_mysql_query("SELECT count(*) FROM empr");
2676                        if($res && pmb_mysql_result($res,0,0)){
2677                                $rqt = " select 1 " ;
2678                                echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ ENCODER LES MOTS DE PASSE LECTEURS (APRES ETAPES DE MISE A JOUR) / YOU MUST ENCODE PASSWORD READERS (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
2679                        }
2680
2681                        // JP - Parametre affichage des dates de creation et modification notices
2682                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notices_show_dates' "))==0){
2683                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pmb', 'notices_show_dates', '0', 'Afficher les dates des notices ? \n 0 : Aucune date.\n 1 : Date de création et modification.', '',0) ";
2684                                echo traite_rqt($rqt, "insert expl_show_dates=0 into parameters");
2685                        }
2686
2687                        // AR - Paramètre pour activer la compression des CSS
2688                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='compress_css' "))==0){
2689                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2690                                        VALUES (0, 'opac', 'compress_css', '0', 'Activer la compilation et la compression des feuilles de styles.\n0: Non\n1: Oui','a_general',0)";
2691                                echo traite_rqt($rqt,"insert opac_compress_css into parametres");
2692                        }
2693
2694                        //VT - Ajout d'un champ tonalité marclist dans la table titres_uniformes
2695                        $rqt = "ALTER TABLE titres_uniformes ADD tu_tonalite_marclist VARCHAR(5) NOT NULL DEFAULT '' ";
2696                        echo traite_rqt($rqt,"alter titres_uniformes add tu_tonalite_marclist");
2697
2698                        //VT - Ajout d'un champ forme marclist dans la table titres_uniformes
2699                        $rqt = "ALTER TABLE titres_uniformes ADD tu_forme_marclist VARCHAR(5) NOT NULL DEFAULT '' ";
2700                        echo traite_rqt($rqt,"alter titres_uniformes add tu_forme_marclist");
2701
2702                        // DB - Modification de la table resa_planning (quantité prévisions)
2703                        $rqt = "alter table resa_planning add resa_qty int(5) unsigned not null default 1";
2704                        echo traite_rqt($rqt,"alter resa_planning add resa_qty");
2705                        $rqt = "alter table resa_planning add resa_remaining_qty int(5) unsigned not null default 1";
2706                        echo traite_rqt($rqt,"alter resa_planning add resa_remaining_qty");
2707                        // DB - Modification de la table resa (lien vers prévisions)
2708                        $rqt = "alter table resa add resa_planning_id_resa int(8) unsigned not null default 0";
2709                        echo traite_rqt($rqt,"alter resa add resa_planning_id_resa");
2710
2711                        // DB - Delai d'alerte pour le transfert des previsions en reservations
2712                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='resa_planning_toresa' "))==0){
2713                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2714                                        VALUES (0, 'pmb', 'resa_planning_toresa', '10', 'Délai d\'alerte pour le transfert des prévisions en réservations (en jours). ' ,'',0)";
2715                                echo traite_rqt($rqt,"insert resa_planning_toresa into parametres");
2716                        }
2717                       
2718                        //JP - Nettoyage vues en erreur suite ajout index unique
2719                        $res=mysql_query("SHOW TABLES LIKE 'opac_view_notices_%'");
2720                        if($res && mysql_num_rows($res)){
2721                                while ($r=mysql_fetch_array($res)){
2722                                        $rqt = "TRUNCATE TABLE ".$r[0] ;
2723                                        echo traite_rqt($rqt,"TRUNCATE TABLE ".$r[0]);
2724                       
2725                                        $rqt = "ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice" ;
2726                                        echo traite_rqt($rqt,"ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice ");
2727                       
2728                                        $rqt = "ALTER TABLE ".$r[0]." DROP PRIMARY KEY";
2729                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." DROP PRIMARY KEY");
2730                       
2731                                        $rqt = "ALTER TABLE ".$r[0]." ADD PRIMARY KEY (opac_view_num_notice)";
2732                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." ADD PRIMARY KEY");
2733                                }
2734                       
2735                                $rqt = " select 1 " ;
2736                                echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=opac&sub=opac_view&section=list' target=_blank>VOUS DEVEZ RECALCULER LES VUES OPAC (APRES ETAPES DE MISE A JOUR) / YOU MUST RECALCULATE OPAC VIEWS (STEPS AFTER UPDATE) : Admin > Vues Opac > Générer les recherches</a></b> ") ;
2737                        }
2738                       
2739                        //JP - nettoyage table authorities_sources
2740                        $rqt = "DELETE FROM authorities_sources WHERE num_authority=0";
2741                        echo traite_rqt($rqt,"DELETE FROM authorities_sources num_authority vide");
2742                       
2743                        //JP - accès rapide pour les paniers de notices
2744                        $rqt = "ALTER TABLE caddie ADD acces_rapide INT NOT NULL default 0";
2745                        echo traite_rqt($rqt,"ALTER TABLE caddie ADD acces_rapide");
2746                       
2747                        //JP - modification index notices_mots_global_index
2748                        $rqt = "truncate table notices_mots_global_index";
2749                        echo traite_rqt($rqt,"truncate table notices_mots_global_index");
2750                               
2751                        $rqt ="alter table notices_mots_global_index drop primary key";
2752                        echo traite_rqt($rqt,"alter table notices_mots_global_index drop primary key");
2753                        $rqt ="alter table notices_mots_global_index add primary key (id_notice,code_champ,code_ss_champ,num_word,position,field_position)";
2754                        echo traite_rqt($rqt,"alter table notices_mots_global_index add primary key");
2755                        // Info de réindexation
2756                        $rqt = " select 1 " ;
2757                        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> ") ;
2758                               
2759                        //DG - Proposer la conservation de catégories en remplacement de notice
2760                        $rqt= "alter table users add deflt_notice_replace_keep_categories int(1) not null default 0";
2761                        echo traite_rqt($rqt,"alter table users add deflt_notice_replace_keep_categories");
2762                       
2763                        //DG - Champs perso pret
2764                        $rqt = "create table if not exists pret_custom (
2765                                idchamp int(10) unsigned NOT NULL auto_increment,
2766                                name varchar(255) NOT NULL default '',
2767                                titre varchar(255) default NULL,
2768                                type varchar(10) NOT NULL default 'text',
2769                                datatype varchar(10) NOT NULL default '',
2770                                options text,
2771                                multiple int(11) NOT NULL default 0,
2772                                obligatoire int(11) NOT NULL default 0,
2773                                ordre int(11) default NULL,
2774                                search INT(1) unsigned NOT NULL DEFAULT 0,
2775                                export INT(1) unsigned NOT NULL DEFAULT 0,
2776                                filters INT(1) unsigned NOT NULL DEFAULT 0,
2777                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
2778                                pond int not null default 100,
2779                                opac_sort INT NOT NULL DEFAULT 0,
2780                                PRIMARY KEY  (idchamp)) ";
2781                        echo traite_rqt($rqt,"create table pret_custom ");
2782                       
2783                        $rqt = "create table if not exists pret_custom_lists (
2784                                pret_custom_champ int(10) unsigned NOT NULL default 0,
2785                                pret_custom_list_value varchar(255) default NULL,
2786                                pret_custom_list_lib varchar(255) default NULL,
2787                                ordre int(11) default NULL,
2788                                KEY i_pret_custom_champ (pret_custom_champ),
2789                                KEY i_pret_champ_list_value (pret_custom_champ,pret_custom_list_value)) " ;
2790                        echo traite_rqt($rqt,"create table if not exists pret_custom_lists ");
2791                       
2792                        $rqt = "create table if not exists pret_custom_values (
2793                                pret_custom_champ int(10) unsigned NOT NULL default 0,
2794                                pret_custom_origine int(10) unsigned NOT NULL default 0,
2795                                pret_custom_small_text varchar(255) default NULL,
2796                                pret_custom_text text,
2797                                pret_custom_integer int(11) default NULL,
2798                                pret_custom_date date default NULL,
2799                                pret_custom_float float default NULL,
2800                                KEY i_pret_custom_champ (pret_custom_champ),
2801                                KEY i_pret_custom_origine (pret_custom_origine)) " ;
2802                        echo traite_rqt($rqt,"create table if not exists pret_custom_values ");
2803                               
2804                        //DG - maj valeurs possibles pour empr_sort_rows
2805                        if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='sort_rows'  and (valeur_param like '%#e%' or valeur_param like '%#p%') "))==0){
2806                                $rqt = "update parametres set valeur_param=replace(valeur_param,'#','#e'), 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 #e[n] : [n] = id des champs personnalisés lecteurs \n #p[n] : [n] = id des champs personnalisés prêts' where type_param= 'empr' and sstype_param='sort_rows' ";
2807                                echo traite_rqt($rqt,"update empr_sort_rows into parametres");
2808                        }
2809                               
2810                        //DG - maj valeurs possibles pour empr_filter_rows
2811                        if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='filter_rows' and (valeur_param like '%#e%' or valeur_param like '%#p%') "))==0){
2812                                $rqt = "update parametres set valeur_param=replace(valeur_param,'#','#e'), 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 #e[n] : [n] = id des champs personnalisés lecteurs \n #p[n] : [n] = id des champs personnalisés prêts' where type_param= 'empr' and sstype_param='filter_rows' ";
2813                                echo traite_rqt($rqt,"update empr_filter_rows into parametres");
2814                        }
2815                               
2816                        //DG - maj valeurs possibles pour empr_show_rows
2817                        if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='show_rows'  and (valeur_param like '%#e%' or valeur_param like '%#p%') "))==0){
2818                                $rqt = "update parametres set valeur_param=replace(valeur_param,'#','#e'), 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 #e[n] : [n] = id des champs personnalisés lecteurs \n 1: icône panier' where type_param= 'empr' and sstype_param='show_rows' ";
2819                                echo traite_rqt($rqt,"update empr_show_rows into parametres");
2820                        }
2821                               
2822                        // AP - Création d'une table pour la gestion de la suppression des enregistrements OAI
2823                        $rqt = "CREATE TABLE if not exists connectors_out_oai_deleted_records (
2824                                        num_set int(11) unsigned NOT NULL DEFAULT 0,
2825                                        num_notice int(11) unsigned NOT NULL DEFAULT 0,
2826                                        deletion_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
2827                                        PRIMARY KEY (num_set, num_notice))";
2828                        echo traite_rqt($rqt,"CREATE TABLE connectors_out_oai_deleted_records") ;
2829                       
2830                        // AP - Ajout du stockage de la grammaire d'une vedette
2831                        $rqt = "ALTER TABLE vedette ADD grammar varchar(255) NOT NULL default 'rameau'" ;
2832                        echo traite_rqt($rqt,"ALTER TABLE vedette ADD grammar");
2833                       
2834                        //JP - recalcul des isbn à cause du nouveau fomatage
2835                        require_once($include_path."/isbn.inc.php");
2836                        $res=pmb_mysql_query("SELECT notice_id, code FROM notices WHERE code<>'' AND niveau_biblio='m' AND code LIKE '97%'");
2837                        if($res && pmb_mysql_num_rows($res)){
2838                                while ($row=pmb_mysql_fetch_object($res)) {
2839                                        $code = $row->code;
2840                                        $new_code = formatISBN($code);
2841                                        if ($code!= $new_code){
2842                                                pmb_mysql_query("UPDATE notices SET code='".addslashes($new_code)."', update_date=update_date WHERE notice_id=".$row->notice_id);
2843                                        }
2844                                }
2845                        }
2846                        $rqt = " select 1 " ;
2847                        echo traite_rqt($rqt,"update notices code / ISBN check and clean") ;
2848                               
2849                       
2850                        //JP - mise à jour des dates de validation des commandes
2851                        $rqt="UPDATE actes SET date_valid=date_acte WHERE statut>1 AND date_valid='0000-00-00'";
2852                        echo traite_rqt($rqt,"update actes date_validation ");
2853                       
2854                        $rqt = "update parametres set valeur_param='0' where type_param='pmb' and sstype_param='bdd_subversion' " ;
2855                        echo traite_rqt($rqt,"update pmb_bdd_subversion=0 into parametres");
2856                        $pmb_bdd_subversion=0;
2857                       
2858                        if ($pmb_subversion_database_as_it_shouldbe!=$pmb_bdd_subversion) {
2859                                // Info de déconnexion pour passer le add-on
2860                                $rqt = " select 1 " ;
2861                                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> ") ;
2862                        }
2863                       
2864               
2865                // +-------------------------------------------------+
2866                echo "</table>";
2867                $rqt = "update parametres set valeur_param='v5.19' where type_param='pmb' and sstype_param='bdd_version' " ;
2868                $res = mysql_query($rqt, $dbh) ;
2869                echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
2870                $action=$action+$increment;
2871
2872                // // Parcheamos la base de datos
2873                // require("$base_path/includes/db_param.inc.php");
2874                // $comando= "cat ".$base_path."/admin/misc/mods_vLlxNemo.sql | mysql -u ". USER_NAME ." --password=". USER_PASS ." ". DATA_BASE;
2875                // if (system($comando, $salida)==0){
2876                //      echo "$msg[db_patched]";
2877                // }
2878                //echo "<SCRIPT>alert(\"".$msg[actualizacion_ok]."\");</SCRIPT>";
2879                //echo("<SCRIPT LANGUAGE='JavaScript'> window.location = \"$base_path/\"</SCRIPT>");
2880                break;
2881
2882        default:
2883                include("$include_path/messages/help/$lang/alter.txt");
2884                break;
2885        }
2886               
Note: See TracBrowser for help on using the repository browser.