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

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

WIP in new update db process

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
7echo "HOLA";
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/5;
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].$action." !</font></strong><br />";
699                $action=$action+$increment;
700                //echo form_relance ("v5.15");
701
702                //break;
703
704
705//      case "v5.15":
706                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
707                // +-------------------------------------------------+
708
709                // +-------------------------------------------------+
710                        // AB - Paramètre de modification du workflow d'une demande
711                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='init_workflow' "))==0){
712                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
713                                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)";
714                                echo traite_rqt($rqt,"insert demandes_init_workflow=0 into parametres") ;
715                        }
716
717                        // MHo - Paramètre pour automatiser ou non la création de notice lors de l'enregistrement d'une demande
718                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='notice_auto' "))==0){
719                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
720                                VALUES (0, 'demandes', 'notice_auto', '0', 'Création automatique de la notice de demande :\n0 : Non\n1 : Oui','',0)";
721                                echo traite_rqt($rqt,"insert demandes_notice_auto='0' into parametres");
722                        }
723
724                        // MHo - Paramètre pour la création par défaut d'une action lors de la validation d'une demande
725                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='default_action' "))==0){
726                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
727                                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)";
728                                echo traite_rqt($rqt,"insert demandes_default_action='1' into parametres");
729                        }
730
731                        // MHo - Ajout d'une colonne "origine" de l'utilisateur dans la table audit : 0 = gestion, 1 = opac
732                        $rqt = "ALTER TABLE audit ADD type_user INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
733                        echo traite_rqt($rqt,"alter audit add type_user");
734
735                        // AR - Ajout d'une colonne pour stocker les actions autorisées par type de demande
736                        $rqt = "alter table demandes_type add allowed_actions text not null";
737                        echo traite_rqt($rqt,"alter table demandes_type add allowed_actions");
738
739                        //DG - Optimisation
740                        $rqt = "show fields from notices_fields_global_index";
741                        $res = pmb_mysql_query($rqt);
742                        $exists = false;
743                        if(pmb_mysql_num_rows($res)){
744                                while($row = pmb_mysql_fetch_object($res)){
745                                        if($row->Field == "authority_num"){
746                                                $exists = true;
747                                                break;
748                                        }
749                                }
750                        }
751                        if(!$exists){
752                                if (pmb_mysql_result(pmb_mysql_query("select count(*) from notices"),0,0) > 15000){
753                                        $rqt = "truncate table notices_fields_global_index";
754                                        echo traite_rqt($rqt,"truncate table notices_fields_global_index");
755
756                                        // Info de réindexation
757                                        $rqt = " select 1 " ;
758                                        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> ") ;
759                                }
760
761                                // JP - Synchronisation RDF
762                                $rqt = "ALTER TABLE notices_fields_global_index ADD authority_num VARCHAR(50) NOT NULL DEFAULT '0'";
763                                echo traite_rqt($rqt,"alter table notices_fields_global_index add authority_num");
764                        }
765
766                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='synchro_rdf' "))==0){
767                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
768                                                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) " ;
769                                echo traite_rqt($rqt,"insert pmb_synchro_rdf = 0 into parametres");
770                        }
771
772                        // AB Modification de la valeur par défaut du parametre init_workflow
773                        $rqt="UPDATE parametres SET valeur_param='1' WHERE type_param='demandes' AND sstype_param='init_workflow'";
774                        echo traite_rqt($rqt,"update parametres set demandes_init_workflow=1");
775                        // AB Changement du type de champ pour date_note
776                        $rqt = "ALTER TABLE demandes_notes CHANGE date_note date_note DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'";
777                        echo traite_rqt($rqt,"alter demandes_notes CHANGE date_note");
778                        // 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
779                        $rqt = "ALTER TABLE demandes_notes ADD notes_read_gestion INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
780                        echo traite_rqt($rqt,"alter demandes_notes add note_read_gestion");
781                        // 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
782                        $rqt = "ALTER TABLE demandes_actions ADD actions_read_gestion INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
783                        echo traite_rqt($rqt,"alter demandes_actions add actions_read_gestion");
784                        // 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
785                        $rqt = "ALTER TABLE demandes ADD dmde_read_gestion INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
786                        echo traite_rqt($rqt,"alter demandes add dmde_read_gestion");
787
788                        // MHo - Ajout d'une colonne "reponse_finale" contenant la réponse finale qui sera intégrée à la faq
789                        $rqt = "ALTER TABLE demandes ADD reponse_finale TEXT NULL";
790                        echo traite_rqt($rqt,"alter demandes add reponse_finale");
791
792                        // DG - Le super user doit avoir accès à tous les établissements
793                        $rqt = "UPDATE entites SET autorisations=CONCAT(' 1', autorisations) WHERE type_entite='1' AND autorisations NOT LIKE '% 1 %'";
794                        echo traite_rqt($rqt, 'UPDATE entites SET autorisations=CONCAT(" 1",autorisations) for super user');
795
796                        // AR - Module FAQ - Paramètre d'activation
797                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'faq' and sstype_param='active' "))==0){
798                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
799                                        VALUES (0, 'faq', 'active', '0', 'Module \'FAQ\' activé.\n 0 : Non.\n 1 : Oui.', '',0) ";
800                                echo traite_rqt($rqt, "insert faq_active=0 into parameters");
801                        }
802
803                        // AR - Création de la table des types pour la FAQ
804                        $rqt = " CREATE TABLE faq_types(
805                                id_type int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
806                                libelle_type varchar(255) NOT NULL default '',
807                        PRIMARY KEY  (id_type) )";
808                        echo traite_rqt($rqt,"CREATE TABLE faq_types") ;
809
810                        // AR - Création de la table des thèmes pour la FAQ
811                        $rqt = " CREATE TABLE faq_themes(
812                                id_theme int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
813                                libelle_theme varchar(255) NOT NULL default '',
814                    PRIMARY KEY  (id_theme))";
815                        echo traite_rqt($rqt,"CREATE TABLE faq_themes") ;
816
817                        // AR - Création de la table pour la FAQ
818                        $rqt = "create table faq_questions(
819                                id_faq_question int(10) unsigned not null auto_increment primary key,
820                                faq_question_num_type int(10) unsigned not null default 0,
821                                faq_question_num_theme int(10) unsigned not null default 0,
822                                faq_question_num_demande int(10) unsigned not null default 0,
823                                faq_question_question text not null,
824                                faq_question_question_userdate varchar(255) not null default '',
825                                faq_question_question_date datetime not null default '0000-00-00 00:00:00',
826                                faq_question_answer text not null,
827                                faq_question_answer_userdate varchar(255) not null default '',
828                                faq_question_answer_date datetime not null default '0000-00-00 00:00:00')";
829                        echo traite_rqt($rqt,"create table faq_questions");
830
831                        // AR - Création de la table de descripteurs pour la FAQ
832                        $rqt = "create table faq_questions_categories(
833                                num_faq_question int(10) unsigned not null default 0,
834                                num_categ int(10) unsigned not null default 0,
835                                index i_faq_categ(num_faq_question,num_categ))";
836                        echo traite_rqt($rqt,"create table faq_categories");
837
838                        // AR - Ajout de l'ordre dans la table de descripteurs pour la FAQ
839                        $rqt = "alter table faq_questions_categories add categ_order int(10) unsigned not null default 0";
840                        echo traite_rqt($rqt,"alter table faq_questions_categories add categ_order");
841
842                        // AR - Ajout d'un statut pour les questions de la FAQ (statut de publication 0/1)
843                        $rqt = "alter table faq_questions add faq_question_statut int(10) unsigned not null default 0";
844                        echo traite_rqt($rqt,"alter table faq_questions add faq_question_statut");
845
846                        // AR indexons correctement la FAQ - Table de mots
847                        $rqt = "create table if not exists faq_questions_words_global_index(
848                                id_faq_question int unsigned not null default 0,
849                                code_champ int unsigned not null default 0,
850                                code_ss_champ int unsigned not null default 0,
851                                num_word int unsigned not null default 0,
852                                pond int unsigned not null default 100,
853                                position int unsigned not null default 1,
854                                field_position int unsigned not null default 1,
855                                primary key (id_faq_question,code_champ,num_word,position,code_ss_champ),
856                                index code_champ(code_champ),
857                                index i_id_mot(num_word,id_faq_question),
858                                index i_code_champ_code_ss_champ_num_word(code_champ,code_ss_champ,num_word))";
859                        echo traite_rqt($rqt,"create table faq_questions_words_global_index");
860
861                        // AR indexons correctement la FAQ - Table de champs
862                        $rqt = "create table if not exists faq_questions_fields_global_index(
863                                id_faq_question int unsigned not null default 0,
864                                code_champ int(3) unsigned not null default 0,
865                                code_ss_champ int(3) unsigned not null default 0,
866                                ordre int(4) unsigned not null default 0,
867                                value text not null,
868                                pond int(4) unsigned not null default 100,
869                                lang varchar(10) not null default '',
870                                authority_num varchar(50) not null default 0,
871                                primary key(id_faq_question,code_champ,code_ss_champ,lang,ordre),
872                                index i_value(value(300)),
873                                index i_code_champ_code_ss_champ(code_champ,code_ss_champ))";
874                        echo traite_rqt($rqt,"create table faq_questions_fields_global_index ");
875
876                        // MHo - Renommage de la colonne "action_read" en "action_read_opac" : 0 = lue, 1 = non lue
877                        $rqt = "ALTER TABLE demandes_actions CHANGE actions_read actions_read_opac INT not null default 0";
878                        echo traite_rqt($rqt,"alter demandes_actions change actions_read actions_read_opac");
879
880                        // 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
881                        $rqt = "ALTER TABLE demandes ADD dmde_read_opac INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
882                        echo traite_rqt($rqt,"alter demandes add dmde_read_opac");
883
884                        // MHo - Ajout d'une colonne "notes_read_opac" pour alerter à l'opac en cas de nouveauté : 0 = lue, 1 = non lue
885                        $rqt = "ALTER TABLE demandes_notes ADD notes_read_opac INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
886                        echo traite_rqt($rqt,"alter demandes_notes add notes_read_opac");
887
888                        // DB -Ajout d'une fonction spécifique pour génération de code-barres lecteurs
889                        $rqt = "update parametres set comment_param='Numéro de carte de lecteur automatique ?\n 0: Non (si utilisation de cartes pré-imprimées)\n";
890                        $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";
891                        $rqt.= " 3,fonction: fonction de génération spécifique dans fichier nommé de la même façon, à placer dans pmb/circ/empr' ";
892                        $rqt.= " where type_param='pmb' and sstype_param='num_carte_auto'";
893                        echo traite_rqt($rqt,"update parametre pmb_num_carte_auto ");
894
895                        // AB On augmente la taille des champs pour le num demandeur ....
896                        $rqt = "ALTER TABLE demandes CHANGE num_demandeur num_demandeur INT( 10 ) UNSIGNED NOT NULL DEFAULT 0";
897                        echo traite_rqt($rqt,"alter demandes change num_demandeur");
898                        $rqt = "ALTER TABLE demandes_actions CHANGE actions_num_user actions_num_user INT( 10 ) UNSIGNED NOT NULL DEFAULT 0";
899                        echo traite_rqt($rqt,"alter demandes_actions change actions_num_user");
900                        $rqt = "ALTER TABLE demandes_notes CHANGE notes_num_user notes_num_user INT( 10 ) UNSIGNED NOT NULL DEFAULT 0";
901                        echo traite_rqt($rqt,"alter demandes_notes change notes_num_user");
902
903                        //DB - Génération code-barres pour les inscritions Web
904                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='websubscribe_num_carte_auto' "))==0){
905                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) ";
906                                $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')" ;
907                                echo traite_rqt($rqt,"insert opac_websubscribe_num_carte_auto into parametres") ;
908                        }
909
910                        // AB
911                        $rqt = "CREATE TABLE IF NOT EXISTS onto_uri (
912                                        uri_id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
913                                        uri VARCHAR(255) NOT NULL UNIQUE DEFAULT '' )";
914                        echo traite_rqt($rqt,"create table onto_uri") ;
915
916                        //DB - Génération de cartes lecteurs sur imprimante ticket
917                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_handler' "))==0){
918                                $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)";
919                                echo traite_rqt($rqt,"insert pmb_printer_card_handler into parametres");
920                        }
921                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_name' "))==0){
922                                $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)";
923                                echo traite_rqt($rqt,"insert pmb_printer_card_options into parametres");
924                        }
925                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_url' "))==0){
926                                $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)";
927                                echo traite_rqt($rqt,"insert pmb_printer_card_url into parametres");
928                        }
929
930                        // NG - Vignette de la notice
931                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notice_img_folder_id' "))==0){
932                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) ";
933                                $rqt.= "VALUES (NULL, 'pmb', 'notice_img_folder_id', '0', 'Identifiant du répertoire d\'upload des vignettes de notices', '', '0')" ;
934                                echo traite_rqt($rqt,"insert pmb_notice_img_folder_id into parametres") ;
935                        }
936
937                        //AR - On ajoute une colonne pour l'inscription en ligne à l'OPAC (pour conserver ce que l'on faisait)
938                        $rqt = "alter table empr add empr_subscription_action text";
939                        echo traite_rqt($rqt,"alter table empr add empr_subscription_action");
940
941                        //AR - Modification du paramètre opac_websubscribe_show
942                        $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'";
943                        echo traite_rqt($rqt,"update parametres opac_websubscribe_show");
944
945                        //AB parametre du template d'affichage des notices pour le comparateur.
946                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='compare_notice_template' "))==0){
947                                $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)";
948                                echo traite_rqt($rqt,"insert pmb_compare_notice_template into parametres");
949                        }
950
951                        //AB comparateur.
952                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='compare_notice_nb' "))==0){
953                                $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)";
954                                echo traite_rqt($rqt,"insert pmb_compare_notice_nb into parametres");
955                        }
956
957                        //AB parametre du template d'affichage des notices pour le comparateur.
958                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='compare_notice_active' "))==0){
959                                $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)";
960                                echo traite_rqt($rqt,"insert opac_compare_notice_active into parametres");
961                        }
962                        // NG - Transfert: mémorisation de la loc d'origine des exemplaires en transfert
963                        $rqt = "CREATE TABLE if not exists transferts_source (
964                                trans_source_numexpl INT UNSIGNED NOT NULL default 0 ,
965                                trans_source_numloc INT UNSIGNED NOT NULL default 0 ,
966                                PRIMARY KEY(trans_source_numexpl))";
967                        echo traite_rqt($rqt,"CREATE TABLE transferts_source ") ;
968
969                        // NG - Ajout dans les archives de prêt les localisations du pret et de la loc d'origine de l'exemplaire
970                        $rqt = "alter table pret_archive add arc_expl_location_retour INT UNSIGNED NOT NULL default 0 AFTER arc_expl_location";
971                        echo traite_rqt($rqt,"alter table pret_archive add arc_expl_location_retour");
972                        $rqt = "alter table pret_archive add arc_expl_location_origine INT UNSIGNED NOT NULL default 0 AFTER arc_expl_location";
973                        echo traite_rqt($rqt,"alter table pret_archive add arc_expl_location_origine");
974
975                        //DG - Augmentation de la taille du champ pour les équations
976                        $rqt = "ALTER TABLE equations MODIFY nom_equation TEXT NOT NULL";
977                        echo traite_rqt($rqt,"ALTER TABLE equations MODIFY nom_equation TEXT");
978
979                        // +-------------------------------------------------+
980                        echo "</table>";
981                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
982                        $res = pmb_mysql_query($rqt, $dbh) ;
983                        echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";.
984                        $action=$action+$increment;
985                        //echo form_relance ("v5.16");
986                        //break;
987               
988//      case "v5.16":
989                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
990                // +-------------------------------------------------+
991
992                        // AR indexons correctement SKOS - Table de mots
993                        $rqt = "create table if not exists skos_words_global_index(
994                                id_item int unsigned not null default 0,
995                                code_champ int unsigned not null default 0,
996                                code_ss_champ int unsigned not null default 0,
997                                num_word int unsigned not null default 0,
998                                pond int unsigned not null default 100,
999                                position int unsigned not null default 1,
1000                                field_position int unsigned not null default 1,
1001                                primary key (id_item,code_champ,num_word,position,code_ss_champ),
1002                                index code_champ(code_champ),
1003                                index i_id_mot(num_word,id_item),
1004                                index i_code_champ_code_ss_champ_num_word(code_champ,code_ss_champ,num_word))";
1005                        echo traite_rqt($rqt,"create table skos_words_global_index");
1006
1007                        // AR indexons correctement  SKOS - Table de champs
1008                        $rqt = "create table if not exists skos_fields_global_index(
1009                                id_item int unsigned not null default 0,
1010                                code_champ int(3) unsigned not null default 0,
1011                                code_ss_champ int(3) unsigned not null default 0,
1012                                ordre int(4) unsigned not null default 0,
1013                                value text not null,
1014                                pond int(4) unsigned not null default 100,
1015                                lang varchar(10) not null default '',
1016                                authority_num varchar(50) not null default 0,
1017                                primary key(id_item,code_champ,code_ss_champ,lang,ordre),
1018                                index i_value(value(300)),
1019                                index i_code_champ_code_ss_champ(code_champ,code_ss_champ))";
1020                        echo traite_rqt($rqt,"create table skos_fields_global_index ");
1021
1022                        //AB table de construction d'une vedette composée
1023                        $rqt = "CREATE TABLE IF NOT EXISTS vedette_object (
1024                                                object_type int(3) unsigned NOT NULL DEFAULT 0,
1025                                                object_id int(11) unsigned NOT NULL DEFAULT 0,
1026                                                num_vedette int(11) unsigned NOT NULL DEFAULT 0,
1027                                                subdivision varchar(50) NOT NULL default '',
1028                                                position int(3) unsigned NOT NULL DEFAULT 0,
1029                                                PRIMARY KEY (object_type, object_id, num_vedette, subdivision, position),
1030                                                INDEX i_vedette_object_object (object_type,object_id),
1031                                                INDEX i_vedette_object_vedette (num_vedette)
1032                                        ) ";
1033                        echo traite_rqt($rqt,"CREATE TABLE vedette_object") ;
1034
1035                        //AB table des identifiants de vedettes
1036                        $rqt = "CREATE TABLE IF NOT EXISTS vedette (
1037                                                id_vedette int(11) unsigned NOT NULL AUTO_INCREMENT,
1038                                                label varchar(255) NOT NULL default '',
1039                                                PRIMARY KEY (id_vedette)
1040                                        ) ";
1041                        echo traite_rqt($rqt,"CREATE TABLE vedette") ;
1042
1043                        //AP ajout de la table index_concept
1044                        $rqt = "CREATE TABLE IF NOT EXISTS index_concept (
1045                                        num_object INT UNSIGNED NOT NULL ,
1046                                        type_object INT UNSIGNED NOT NULL ,
1047                                        num_concept INT UNSIGNED NOT NULL ,
1048                                        order_concept INT UNSIGNED NOT NULL default 0 ,
1049                                        PRIMARY KEY(num_object, type_object, num_concept))";
1050                        echo traite_rqt($rqt,"create table index_concept");
1051
1052                        //AP création de la table de lien entre vedettes et autorités
1053                        $rqt = "CREATE TABLE if not exists vedette_link (
1054                                num_vedette INT UNSIGNED NOT NULL ,
1055                                num_object INT UNSIGNED NOT NULL ,
1056                                type_object INT UNSIGNED NOT NULL ,
1057                                PRIMARY KEY (num_vedette, num_object, type_object))";
1058                        echo traite_rqt($rqt,"create table vedette_link");
1059
1060                        // AP script de vérification de saisie des autorités
1061                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='autorites_verif_js' "))==0){
1062                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1063                                                VALUES ( 'pmb', 'autorites_verif_js', '', 'Script de vérification de saisie des autorités','', 0)";
1064                                echo traite_rqt($rqt,"insert autorites_verif_js into parametres");
1065                        }
1066
1067                        //AB paramètre pour masquer/afficher la reservation par panier
1068                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='resa_cart' "))==0){
1069                                $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)";
1070                                echo traite_rqt($rqt,"insert opac_resa_cart into parametres");
1071                        }
1072
1073                        // AR - Report du paramètre activant le stemming en gestion
1074                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_stemming_active' "))==0){
1075                                $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1076                                        VALUES('pmb','search_stemming_active',0,'Activer le stemming dans la recherche\n0 : Désactiver\n1 : Activer','search',0)" ;
1077                                echo traite_rqt($rqt,"insert pmb_search_stemming_active=0 into parametres") ;
1078                        }
1079
1080                        // AR - Report du paramètre excluant des champ dans la recherche tous les champs en gestion
1081                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_exclude_fields' "))==0){
1082                                $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1083                                        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)" ;
1084                                echo traite_rqt($rqt,"insert pmb_search_exclude_fields into parametres") ;
1085                        }
1086
1087                        //AR - Report du paramètre d'écretage des résultats de recherche en gestion
1088                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_noise_limit_type' "))==0){
1089                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1090                                        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')";
1091                                echo traite_rqt($rqt,"insert pmb_search_search_noise_limit_type='0' into parametres ");
1092                        }
1093
1094                        //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
1095                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_relevant_with_frequency' "))==0){
1096                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1097                                        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')";
1098                                echo traite_rqt($rqt,"insert pmb_search_relevant_with_frequency='0' into parametres ");
1099                        }
1100
1101                        //AR - Report du paramètre gérant la troncature À droite automatique
1102                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='allow_term_troncat_search' "))==0){
1103                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1104                                        VALUES (NULL, 'pmb', 'allow_term_troncat_search', '0', 'Troncature à droite automatique :\n0 : Non \n1 : Oui' , 'search', '0')";
1105                                echo traite_rqt($rqt,"insert pmb_allow_term_troncat_search='0' into parametres ");
1106                        }
1107
1108                        //AR - Report du paramètre gérant la durée du cache des recherches
1109                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_cache_duration' "))==0){
1110                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1111                                        VALUES (NULL, 'pmb', 'search_cache_duration', '0', 'Durée de validité (en secondes) du cache des recherches' , 'search', '0')";
1112                                echo traite_rqt($rqt,"insert pmb_search_cache_duration='0' into parametres ");
1113                        }
1114
1115                        //DG - En impression de panier, imprimer les exemplaires est coché par défaut
1116                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='print_expl_default' "))==0){
1117                                $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) " ;
1118                                echo traite_rqt($rqt,"insert pmb_print_expl_default = 0 into parametres");
1119                        }
1120
1121
1122                        //AR - Activation des concepts ou non
1123                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='concepts_active' "))==0){
1124                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1125                                        VALUES (NULL, 'thesaurus', 'concepts_active', '0', 'Active ou non l\'utilisation des concepts:\n0 : Non\n1 : Oui', 'concepts', '0')";
1126                                echo traite_rqt($rqt,"insert thesaurus_concepts_active='0' into parametres ");
1127                        }
1128
1129                        //AP - Paramétrage de l'ordre d'affichage des concepts d'une notice
1130                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='concepts_affichage_ordre' "))==0){
1131                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1132                                        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')";
1133                                echo traite_rqt($rqt,"insert concepts_affichage_ordre into parametres ");
1134                        }
1135
1136                        //AP - Paramétrage du mode d'affichage des concepts d'une notice (en ligne ou pas)
1137                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='concepts_concept_in_line' "))==0){
1138                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1139                                        VALUES (NULL, 'thesaurus', 'concepts_concept_in_line', '0', 'Affichage des catégories en ligne.\n 0 : Non.\n 1 : Oui.', 'concepts', '0')";
1140                                echo traite_rqt($rqt,"insert concepts_concept_in_line into parametres ");
1141                        }
1142
1143                        //AB Checkbox pour réafficher les notices dans chaque groupement ou pas
1144                        $rqt = "ALTER TABLE bannettes ADD display_notice_in_every_group INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER group_pperso";
1145                        echo traite_rqt($rqt,"alter table bannettes add display_notice_in_every_group");
1146
1147                        //NG - Autorités personalisées
1148                        $rqt = "create table if not exists authperso (
1149                                id_authperso int(10) unsigned NOT NULL auto_increment,
1150                                authperso_name varchar(255) NOT NULL default '',
1151                                authperso_notice_onglet_num  int unsigned not null default 0,
1152                                authperso_isbd_script text not null,
1153                                authperso_view_script text not null,
1154                                authperso_opac_search int unsigned not null default 0,
1155                                authperso_opac_multi_search int unsigned not null default 0,
1156                                authperso_gestion_search int unsigned not null default 0,
1157                                authperso_gestion_multi_search int unsigned not null default 0,
1158                                authperso_comment text not null,
1159                                PRIMARY KEY  (id_authperso)) ";
1160                        echo traite_rqt($rqt,"create table authperso ");
1161
1162                        //NG - Champs perso des autorités personalisées
1163                        $rqt = "create table if not exists authperso_custom (
1164                                idchamp int(10) unsigned NOT NULL auto_increment,
1165                                custom_prefixe varchar(255) NOT NULL default '',
1166                                num_type int unsigned not null default 0,
1167                                name varchar(255) NOT NULL default '',
1168                                titre varchar(255) default NULL,
1169                                type varchar(10) NOT NULL default 'text',
1170                                datatype varchar(10) NOT NULL default '',
1171                                options text,
1172                                multiple int(11) NOT NULL default 0,
1173                                obligatoire int(11) NOT NULL default 0,
1174                                ordre int(11) default NULL,
1175                                search INT(1) unsigned NOT NULL DEFAULT 0,
1176                                export INT(1) unsigned NOT NULL DEFAULT 0,
1177                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
1178                                pond int not null default 100,
1179                                opac_sort INT NOT NULL DEFAULT 0,
1180                        PRIMARY KEY  (idchamp)) ";
1181                        echo traite_rqt($rqt,"create table authperso_custom ");
1182
1183                        $rqt = "create table if not exists authperso_custom_lists (
1184                                authperso_custom_champ int(10) unsigned NOT NULL default 0,
1185                                authperso_custom_list_value varchar(255) default NULL,
1186                                authperso_custom_list_lib varchar(255) default NULL,
1187                                ordre int(11) default NULL,
1188                                KEY editorial_custom_champ (authperso_custom_champ),
1189                                KEY editorial_champ_list_value (authperso_custom_champ,authperso_custom_list_value)) " ;
1190                        echo traite_rqt($rqt,"create table if not exists authperso_custom_lists ");
1191
1192                        $rqt = "create table if not exists authperso_custom_values (
1193                                authperso_custom_champ int(10) unsigned NOT NULL default 0,
1194                                authperso_custom_origine int(10) unsigned NOT NULL default 0,
1195                                authperso_custom_small_text varchar(255) default NULL,
1196                                authperso_custom_text text,
1197                                authperso_custom_integer int(11) default NULL,
1198                                authperso_custom_date date default NULL,
1199                                authperso_custom_float float default NULL,
1200                                KEY editorial_custom_champ (authperso_custom_champ),
1201                                KEY editorial_custom_origine (authperso_custom_origine)) " ;
1202                        echo traite_rqt($rqt,"create table if not exists authperso_custom_values ");
1203
1204                        $rqt = "create table if not exists authperso_authorities (
1205                                id_authperso_authority int(10) unsigned NOT NULL auto_increment,
1206                                authperso_authority_authperso_num int(10) unsigned NOT NULL default 0 ,
1207                                authperso_infos_global text not null,
1208                                authperso_index_infos_global text not null,
1209                                PRIMARY KEY  (id_authperso_authority))  " ;
1210                        echo traite_rqt($rqt,"create table if not exists authperso_authorities ");
1211
1212                        $rqt = "create table if not exists notices_authperso (
1213                                notice_authperso_notice_num int(10) unsigned NOT NULL default 0,
1214                                notice_authperso_authority_num int(10) unsigned NOT NULL default 0,
1215                                notice_authperso_order int(10) unsigned NOT NULL default 0,
1216                                PRIMARY KEY  (notice_authperso_notice_num,notice_authperso_authority_num))  " ;
1217                        echo traite_rqt($rqt,"create table if not exists notices_authperso ");
1218
1219                        // NG : Onglet personalisé de notice
1220                        $rqt = "create table if not exists notice_onglet (
1221                                id_onglet int(10) unsigned NOT NULL auto_increment,
1222                                onglet_name varchar(255) default NULL,
1223                                PRIMARY KEY  (id_onglet)) ";
1224                        echo traite_rqt($rqt,"create table if not exists notice_onglet ");
1225
1226                        //DG - Personnalisation des colonnes pour l'affichage des états des collections
1227                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='collstate_data' "))==0){
1228                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1229                                        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)";
1230                                echo traite_rqt($rqt,"insert opac_collstate_data = 0 into parametres");
1231                        }
1232
1233                        //AB ajout d'un schema SKOS par défaut
1234                        $rqt = "ALTER TABLE users ADD deflt_concept_scheme INT(3) UNSIGNED NOT NULL DEFAULT 0 AFTER deflt_thesaurus";
1235                        echo traite_rqt($rqt,"alter table users add deflt_concept_scheme");
1236
1237                        //AB paramètre caché pour conservation de la date de dernière modification de l'ontologie
1238                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='ontology_filemtime' "))==0){
1239                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
1240                                        VALUES ('thesaurus','ontology_filemtime',0,'Paramètre caché pour conservation de la date de dernière modification de l\'ontologie','ontologie',1)";
1241                                echo traite_rqt($rqt,"insert thesaurus_ontology_filemtime into parametres");
1242                        }
1243
1244                        // NG - Ajout du champ resa_arc_trans pour associer un transfert à une archive résa
1245                        $rqt = "ALTER TABLE transferts_demande ADD resa_arc_trans int(8) UNSIGNED NOT NULL DEFAULT 0 ";
1246                        echo traite_rqt($rqt,"alter table transferts_demande add resa_arc_trans ");
1247
1248                        // NG - Ajout champ info dans les audits
1249                        $rqt = "ALTER TABLE audit ADD info text NOT NULL";
1250                        echo traite_rqt($rqt,"alter table audit add info ");
1251
1252                        // AP modification du paramètre de schema SKOS par défaut
1253                        $rqt = "ALTER TABLE users CHANGE deflt_concept_scheme deflt_concept_scheme INT(3) NOT NULL DEFAULT -1";
1254                        echo traite_rqt($rqt,"alter table users change deflt_concept_scheme");
1255
1256                        //DG - Statuts sur les documents numériques
1257                        $rqt = "create table if not exists explnum_statut (
1258                                id_explnum_statut smallint(5) unsigned not null auto_increment,
1259                                gestion_libelle varchar(255) not NULL default '',
1260                                opac_libelle varchar(255)  not NULL default '',
1261                                class_html VARCHAR( 255 )  not NULL default '',
1262                                explnum_visible_opac tinyint(1) NOT NULL default 1,
1263                                explnum_visible_opac_abon tinyint(1) NOT NULL default 0,
1264                                explnum_consult_opac tinyint(1) NOT NULL default 1,
1265                                explnum_consult_opac_abon tinyint(1) NOT NULL default 0,
1266                                explnum_download_opac tinyint(1) NOT NULL default 1,
1267                                explnum_download_opac_abon tinyint(1) NOT NULL default 0,
1268                                primary key(id_explnum_statut))";
1269                        echo traite_rqt($rqt,"create table explnum_statut ");
1270
1271                        //DG - Statut "Sans statut particulier" ajouté par défaut
1272                        $rqt = "insert into explnum_statut SET id_explnum_statut=1, gestion_libelle='Sans statut particulier',opac_libelle='', explnum_visible_opac='1' ";
1273                        echo traite_rqt($rqt,"insert minimum into explnum_statut");
1274
1275                        //DG - Ajout d'un champ statut sur les documents numériques
1276                        $rqt = "ALTER TABLE explnum ADD explnum_docnum_statut smallint(5) UNSIGNED NOT NULL DEFAULT 1 ";
1277                        echo traite_rqt($rqt,"alter table explnum add explnum_docnum_statut ");
1278
1279                        //DG - Statut de document numérique par défaut en création de document numérique
1280                        $rqt = "ALTER TABLE users ADD deflt_explnum_statut INT(6) UNSIGNED DEFAULT 1 NOT NULL " ;
1281                        echo traite_rqt($rqt,"ALTER users ADD deflt_explnum_statut ");
1282
1283                        //AR - paramétrages des droits d'accès sur les documents numériques
1284                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'gestion_acces' and sstype_param='empr_docnum' "))==0){
1285                        $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
1286                                        VALUES ('gestion_acces','empr_docnum',0,'Gestion des droits d\'accès des emprunteurs aux documents numériques\n0 : Non.\n1 : Oui.','',0)";
1287                                echo traite_rqt($rqt,"insert gestion_acces_empr_docnum into parametres");
1288                        }
1289                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'gestion_acces' and sstype_param='empr_docnum_def' "))==0){
1290                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
1291                                        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)";
1292                                echo traite_rqt($rqt,"insert gestion_acces_empr_docnum_def into parametres");
1293                        }
1294
1295                        // NG - Ajout param transferts_retour_action_resa
1296                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='retour_action_resa' "))==0){
1297                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
1298                                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') ";
1299                                echo traite_rqt($rqt,"INSERT transferts_retour_action_resa INTO parametres") ;
1300                        }
1301
1302                        //DG - Logs OPAC - Exclusion possible des robots et de certaines adresses IP
1303                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='logs_exclude_robots' "))==0){
1304                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1305                                        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)";
1306                                echo traite_rqt($rqt,"insert pmb_logs_exclude_robots = 1 into parametres");
1307                        }
1308
1309                        // NG - Auteurs répétables dans les titres uniformes
1310                        $rqt = "CREATE TABLE if not exists responsability_tu (
1311                                        responsability_tu_author_num int unsigned NOT NULL default 0,
1312                                        responsability_tu_num int unsigned NOT NULL default 0,
1313                                        responsability_tu_fonction char(4) NOT NULL default '',
1314                                        responsability_tu_type int unsigned NOT NULL default 0,
1315                                        responsability_tu_ordre smallint(2) unsigned NOT NULL default 0,
1316                                        PRIMARY KEY  (responsability_tu_author_num, responsability_tu_num, responsability_tu_fonction),
1317                                        KEY responsability_tu_author (responsability_tu_author_num),
1318                                        KEY responsability_tu_num (responsability_tu_num) )";
1319                        echo traite_rqt($rqt,"CREATE TABLE responsability_tu ");
1320                        // NG - migration de l'auteur de titre uniforme dans la table responsability_tu
1321                        if ($res = pmb_mysql_query("select tu_num_author, tu_id from titres_uniformes where tu_num_author>0")){
1322                                while ( $row = pmb_mysql_fetch_object($res)) {
1323                                        $rqt = "INSERT INTO responsability_tu set responsability_tu_author_num=".$row->tu_num_author.", responsability_tu_num= ".$row->tu_id."  ";
1324                                        pmb_mysql_query($rqt, $dbh);
1325                                }
1326                        }
1327
1328                        //NG - ajout pied de page dans la fiche de circulation
1329                        $rqt = "ALTER TABLE serialcirc ADD serialcirc_piedpage text NOT NULL AFTER serialcirc_tpl";
1330                        echo traite_rqt($rqt,"alter table serialcirc add serialcirc_piedpage");
1331
1332                        //DG - Templates de listes de circulation
1333                        $rqt = "CREATE TABLE serialcirc_tpl (
1334                                        serialcirctpl_id int(10) unsigned NOT NULL auto_increment,
1335                                        serialcirctpl_name varchar(255) NOT NULL DEFAULT '',
1336                                        serialcirctpl_comment varchar(255) NOT NULL DEFAULT '',
1337                                        serialcirctpl_tpl text NOT NULL,
1338                                        PRIMARY KEY  (serialcirctpl_id))";
1339                        echo traite_rqt($rqt,"CREATE TABLE serialcirc_tpl") ;
1340                        $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\";}}' ";
1341                        echo traite_rqt($rqt,"insert minimum into serialcirc_tpl");
1342
1343                        //DG - Circulation des périodiques : Tri sur les destinataires
1344                        $rqt = "ALTER TABLE serialcirc ADD serialcirc_sort_diff text NOT NULL";
1345                        echo traite_rqt($rqt,"alter table serialcirc add serialcirc_sort_diff");
1346
1347                        //NG - Templates de bannettes
1348                        $rqt = "CREATE TABLE bannette_tpl (
1349                                        bannettetpl_id int(10) unsigned NOT NULL auto_increment,
1350                                        bannettetpl_name varchar(255) NOT NULL DEFAULT '',
1351                                        bannettetpl_comment varchar(255) NOT NULL DEFAULT '',
1352                                        bannettetpl_tpl text NOT NULL,
1353                                        PRIMARY KEY  (bannettetpl_id))";
1354                        echo traite_rqt($rqt,"CREATE TABLE bannette_tpl") ;
1355                        $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\";}}' ";
1356                        echo traite_rqt($rqt,"insert minimum into bannette_tpl");
1357
1358                        //NG - Templates de bannettes
1359                        $rqt = "ALTER TABLE bannettes ADD bannette_tpl_num INT(6) UNSIGNED DEFAULT 0 NOT NULL " ;
1360                        echo traite_rqt($rqt,"ALTER bannettes ADD bannette_tpl_num ");
1361
1362
1363                        // +-------------------------------------------------+
1364                        echo "</table>";
1365                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
1366                        $res = pmb_mysql_query($rqt, $dbh) ;
1367                        echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
1368                        $action=$action+$increment;
1369                        //echo form_relance ("v5.17");
1370                        //break;
1371
1372//      case "v5.17":
1373                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
1374                // +-------------------------------------------------+
1375
1376                        // NG - Ajout paramètre pour activer la géolocalisation
1377                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_activate' "))==0){
1378                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1379                                VALUES ( 'pmb', 'map_activate', '0', 'Activation de la géolocalisation:\n 0 : non \n 1 : oui','', 0)";
1380                                echo traite_rqt($rqt,"insert pmb_map_activate into parametres");
1381                        }
1382
1383                        //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)
1384                        $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))";
1385                        echo traite_rqt($rqt,"update exemplaires transfert_location_origine transfert_statut_origine");
1386                        //NG - géolocalisation
1387                        $rqt = "ALTER TABLE notices ADD map_echelle_num int(10) unsigned NOT NULL default 0" ;
1388                        echo traite_rqt($rqt,"ALTER notices ADD map_echelle_num ");
1389
1390                        $rqt = "ALTER TABLE notices ADD map_projection_num int(10) unsigned NOT NULL default 0" ;
1391                        echo traite_rqt($rqt,"ALTER notices ADD map_projection_num ");
1392
1393                        $rqt = "ALTER TABLE notices ADD map_ref_num int(10) unsigned NOT NULL default 0" ;
1394                        echo traite_rqt($rqt,"ALTER notices ADD map_ref_num ");
1395
1396                        $rqt = "ALTER TABLE notices ADD map_equinoxe varchar(255) NOT NULL DEFAULT ''" ;
1397                        echo traite_rqt($rqt,"ALTER notices ADD map_equinoxe ");
1398
1399
1400
1401                        //NG - géolocalisation: Memo des emprises
1402                        $rqt = "CREATE TABLE if not exists map_emprises (
1403                                        map_emprise_id int(10) unsigned NOT NULL auto_increment,
1404                                        map_emprise_type int(10) unsigned NOT NULL default 0,
1405                                        map_emprise_obj_num int(10) unsigned NOT NULL default 0,
1406                                        map_emprise_data GEOMETRY NOT NULL,
1407                                        map_emprise_order int(10) unsigned NOT NULL default 0,
1408                                        PRIMARY KEY  (map_emprise_id))";
1409                        echo traite_rqt($rqt,"CREATE TABLE map_emprises") ;
1410
1411                        //NG - géolocalisation: Echelles
1412                        $rqt = "CREATE TABLE if not exists map_echelles (
1413                                        map_echelle_id int(10) unsigned NOT NULL auto_increment,
1414                                        map_echelle_name varchar(255) NOT NULL DEFAULT '',
1415                                        PRIMARY KEY  (map_echelle_id))";
1416                        echo traite_rqt($rqt,"CREATE TABLE map_echelles") ;
1417
1418                        //NG - géolocalisation: Système de projection du document
1419                        $rqt = "CREATE TABLE if not exists map_projections (
1420                                        map_projection_id int(10) unsigned NOT NULL auto_increment,
1421                                        map_projection_name varchar(255) NOT NULL DEFAULT '',
1422                                        PRIMARY KEY  (map_projection_id))";
1423                        echo traite_rqt($rqt,"CREATE TABLE map_projections") ;
1424
1425                        //NG - géolocalisation: Systeme de référence de coord de la carte
1426                        $rqt = "CREATE TABLE if not exists map_refs (
1427                                        map_ref_id int(10) unsigned NOT NULL auto_increment,
1428                                        map_ref_name varchar(255) NOT NULL DEFAULT '',
1429                                        PRIMARY KEY  (map_ref_id))";
1430                        echo traite_rqt($rqt,"CREATE TABLE map_refs") ;
1431
1432                        // AR - Ajout paramètre pour limiter le nombre d'emprises sur une carte !
1433                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_max_holds' "))==0){
1434                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1435                                VALUES ( 'pmb', 'map_max_holds', '250', 'Nombre d\'emprise maximum souhaité par type d\'emprise','map', 0)";
1436                                echo traite_rqt($rqt,"insert pmb_map_max_holds into parametres");
1437                        }
1438
1439                        // AR - Les paramètres de cartes sont rangés ensemble !
1440                        $rqt = "update parametres set section_param= 'map' where type_param like 'pmb' and sstype_param like 'map_activate'";
1441                        echo traite_rqt($rqt,"update pmb_map_max_holds");
1442
1443                        // AR - Définition de la couleur d'une emprise de notice
1444                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_holds_record_color' "))==0){
1445                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1446                                VALUES ( 'pmb', 'map_holds_record_color', '#D6A40F', 'Couleur des emprises associées à des notices','map', 0)";
1447                                echo traite_rqt($rqt,"insert pmb_map_holds_record_color into parametres");
1448                        }
1449
1450                        // AR - Définition de la couleur d'une emprise d'autorité
1451                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_holds_authority_color' "))==0){
1452                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1453                                VALUES ( 'pmb', 'map_holds_authority_color', '#D60F0F', 'Couleur des emprises associées à des autorités','map', 0)";
1454                                echo traite_rqt($rqt,"insert pmb_map_holds_authority_color into parametres");
1455                        }
1456
1457
1458                        // AR - Définition du fond de carte
1459                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_base_layer_type' "))==0){
1460                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1461                                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)";
1462                                echo traite_rqt($rqt,"insert pmb_map_base_layer_type into parametres");
1463                        }
1464                        // AR - Définition des paramètres du fond de carte
1465                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_base_layer_params' "))==0){
1466                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1467                                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)";
1468                                echo traite_rqt($rqt,"insert pmb_map_base_layer_params into parametres");
1469                        }
1470
1471                        // NG - Ajout paramètre de la taille de la carte en saisie de recherche
1472                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_search_edition' "))==0){
1473                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1474                                VALUES ( 'pmb', 'map_size_search_edition', '800*480', 'Taille de la carte en saisie de recherche','map', 0)";
1475                                echo traite_rqt($rqt,"insert pmb_map_size_search_edition into parametres");
1476                        }
1477
1478                        // NG - Ajout paramètre de la taille de la carte en résultat de recherche
1479                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_search_result' "))==0){
1480                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1481                                VALUES ( 'pmb', 'map_size_search_result', '800*480', 'Taille de la carte en résultat de recherche','map', 0)";
1482                                echo traite_rqt($rqt,"insert pmb_map_size_search_result into parametres");
1483                        }
1484                        // NG - Ajout paramètre de la taille de la carte en visualisation de notice
1485                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_notice_view' "))==0){
1486                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1487                                VALUES ( 'pmb', 'map_size_notice_view', '800*480', 'Taille de la carte en visualisation de notice','map', 0)";
1488                                echo traite_rqt($rqt,"insert pmb_map_size_notice_view into parametres");
1489                        }
1490
1491                        // NG - Ajout paramètre de la taille de la carte en édition de notice
1492                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_notice_edition' "))==0){
1493                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1494                                VALUES ( 'pmb', 'map_size_notice_edition', '800*480', 'Taille de la carte en édition de notice','map', 0)";
1495                                echo traite_rqt($rqt,"insert pmb_map_size_notice_edition into parametres");
1496                        }
1497
1498                        // NG - cms: Ajout des vues opac
1499                        $rqt = "ALTER TABLE cms ADD cms_opac_view_num int(10) unsigned NOT NULL default 0" ;
1500                        echo traite_rqt($rqt,"ALTER cms ADD cms_opac_view_num ");
1501
1502                        //DG - Modification taille du champ article_resume de la table cms_articles
1503                        $rqt ="alter table cms_articles MODIFY article_resume MEDIUMTEXT NOT NULL";
1504                        echo traite_rqt($rqt,"alter table cms_articles modify article_resume mediumtext");
1505
1506                        //DG - Modification taille du champ article_contenu de la table cms_articles
1507                        $rqt ="alter table cms_articles MODIFY article_contenu MEDIUMTEXT NOT NULL";
1508                        echo traite_rqt($rqt,"alter table cms_articles modify article_contenu mediumtext");
1509
1510                        //DG - Modification taille du champ section_resume de la table cms_sections
1511                        $rqt ="alter table cms_sections MODIFY section_resume MEDIUMTEXT NOT NULL";
1512                        echo traite_rqt($rqt,"alter table cms_sections modify section_resume mediumtext");
1513
1514                        //MB - Définition de la taille maximum des vignettes des notices
1515                        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){
1516                                $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')";
1517                                echo traite_rqt($rqt,"insert pmb_notice_img_pics_max_size='150' into parametres");
1518                        }
1519
1520                        //DG - Vues OPAC dans les facettes
1521                        $rqt = "show fields from facettes";
1522                        $res = pmb_mysql_query($rqt);
1523                        $exists = false;
1524                        if(pmb_mysql_num_rows($res)){
1525                                while($row = pmb_mysql_fetch_object($res)){
1526                                        if($row->Field == "facette_opac_views_num"){
1527                                                $exists = true;
1528                                                break;
1529                                        }
1530                                }
1531                        }
1532                        if(!$exists){
1533                                $rqt = "ALTER TABLE facettes ADD facette_opac_views_num text NOT NULL";
1534                                echo traite_rqt($rqt,"alter table facettes add facette_opac_views_num");
1535
1536                                $req = "select id_facette, facette_opac_views_num from facettes";
1537                                $res = pmb_mysql_query($req,$dbh);
1538                                if ($res) {
1539                                        $facettes = array();
1540                                        while($row = pmb_mysql_fetch_object($res)) {
1541                                                $facettes[] = $row->id_facette;
1542                                        }
1543                                        if (count($facettes)) {
1544                                                $req = "select opac_view_id, opac_view_name from opac_views";
1545                                                $myQuery = pmb_mysql_query($req, $dbh);
1546                                                if ($myQuery) {
1547                                                        $views = array();
1548                                                        while ($row = pmb_mysql_fetch_object($myQuery)) {
1549                                                                $v = array();
1550                                                                $v["id"] = $row->opac_view_id;
1551                                                                $v["name"] = $row->opac_view_name;
1552                                                                $views[] = $v;
1553                                                        }
1554                                                        $param["selected"] = $facettes;
1555                                                        $param=addslashes(serialize($param));
1556                                                        foreach ($views as $view) {
1557                                                                //Dans le cas où une modification a été faite avant le passage de la MAJ..
1558                                                                $req = "delete from opac_filters where opac_filter_view_num=".$view["id"]." and opac_filter_path='facettes'";
1559                                                                $res = pmb_mysql_query($req,$dbh);
1560                                                                //Insertion..
1561                                                                $rqt="insert into opac_filters set opac_filter_view_num=".$view["id"].",opac_filter_path='facettes', opac_filter_param='$param' ";
1562                                                                echo traite_rqt($rqt,"insert authorization facettes into opac_filters view ".$view["name"]);
1563                                                        }
1564                                                }
1565                                        }
1566                                }
1567                        }
1568
1569                        // NG - Ajout paramètre pour activer la géolocalisation en Opac
1570                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_activate' "))==0){
1571                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1572                                VALUES ( 'opac', 'map_activate', '0', 'Activation de la géolocalisation:\n 0 : non \n 1 : oui','a_general', 0)";
1573                                echo traite_rqt($rqt,"insert opac_map_activate into parametres");
1574                        }
1575
1576                        //DB - commande psexec (planificateur sous windows)
1577                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='psexec_cmd' "))==0){
1578                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1579                                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) ";
1580                                echo traite_rqt($rqt, "insert pmb_psexec_cmd into parameters");
1581                        }
1582
1583                        // AR - Ajout paramètre pour activer l'éditeur Dojo
1584                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='editorial_dojo_editor' "))==0){
1585                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1586                                VALUES ( 'pmb', 'editorial_dojo_editor', '1', 'Activation de l\'éditeur DoJo dans le contenu éditorial:\n 0 : non \n 1 : oui','', 0)";
1587                                echo traite_rqt($rqt,"insert pmb_editorial_dojo_editor into parametres");
1588                        }
1589
1590                        // DG - Module "Surcharge de méta-données" : Groupes de méta-données par défaut
1591                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from cms_managed_modules where managed_module_name= 'cms_module_metadatas' "))==0){
1592                                $struct = array();
1593                                $struct["metadatas1"] = array(
1594                                                'prefix' => "og",
1595                                                'name' => "Open Graph Protocol",
1596                                                'items' => array(
1597                                                                'title' => array(
1598                                                                                'label' => "titre",
1599                                                                                'desc' => "Titre",
1600                                                                                'default_template' => "{{title}}"
1601                                                                ),
1602                                                                'type' => array(
1603                                                                                'label' => "type",
1604                                                                                'desc' => "Type",
1605                                                                                'default_template' => "{{type}}"
1606                                                                ),
1607                                                                'image' => array(
1608                                                                                'label' => "logo",
1609                                                                                'desc' => "Lien vers le logo",
1610                                                                                'default_template' => "{{logo_url}}"
1611                                                                ),
1612                                                                'url' => array(
1613                                                                                'label' => "lien",
1614                                                                                'desc' => "Lien",
1615                                                                                'default_template' => "{{link}}"
1616                                                                ),
1617                                                                'description' => array(
1618                                                                                'label' => "description",
1619                                                                                'desc' => "Résumé",
1620                                                                                'default_template' => "{{resume}}"
1621                                                                ),
1622                                                                'locale' => array(
1623                                                                                'label' => "locale",
1624                                                                                'desc' => "Langue",
1625                                                                                'default_template' => ""
1626                                                                ),
1627                                                                'site_name' => array(
1628                                                                                'label' => "site_name",
1629                                                                                'desc' => "Nom du site",
1630                                                                                'default_template' => ""
1631                                                                ),
1632                                                ),
1633                                                'separator' => ":",
1634                                                'group_template' => "<meta property='{{key_metadata}}' content='{{value_metadata}}' />"
1635                                );
1636
1637                                $struct["metadatas2"] = array(
1638                                                'prefix' => "twitter",
1639                                                'name' => "Twitter Cards",
1640                                                'items' => array(
1641                                                                'title' => array(
1642                                                                                'label' => "titre",
1643                                                                                'desc' => "Titre",
1644                                                                                'default_template' => "{{title}}"
1645                                                                ),
1646                                                                'card' => array(
1647                                                                                'label' => "card",
1648                                                                                'desc' => "Résumé",
1649                                                                                'default_template' => ""
1650                                                                ),
1651                                                                'description' => array(
1652                                                                                'label' => "description",
1653                                                                                'desc' => "Description",
1654                                                                                'default_template' => "{{resume}}"
1655                                                                ),
1656                                                                'image' => array(
1657                                                                                'label' => "logo",
1658                                                                                'desc' => "Lien vers le logo",
1659                                                                                'default_template' => "{{logo_url}}"
1660                                                                ),
1661                                                                'site' => array(
1662                                                                                'label' => "site",
1663                                                                                'desc' => "Site",
1664                                                                                'default_template' => ""
1665                                                                ),
1666                                                ),
1667                                                'separator' => ":",
1668                                                'group_template' => "<meta name='{{key_metadata}}' content='{{value_metadata}}' />"
1669                                );
1670                                $managed_datas = array();
1671                                $managed_datas["module"]["metadatas"] = $struct;
1672                                $managed_datas=addslashes(serialize($managed_datas));
1673                                $rqt = "INSERT INTO cms_managed_modules ( managed_module_name, managed_module_box)
1674                                VALUES ('cms_module_metadatas', '$managed_datas')";
1675                                echo traite_rqt($rqt,"insert cms_module_metadatas into cms_managed_modules");
1676                        }
1677
1678                        //DB Ajout vignette etageres (SDN)
1679                        $rqt = "ALTER TABLE etagere ADD thumbnail_url MEDIUMBLOB NOT NULL " ;
1680                        echo traite_rqt($rqt,"ALTER TABLE etagere ADD thumbnail_url ");
1681
1682                        // AR - Ajout paramètre pour limiter le nombre d'emprises sur une carte à l'OPAC!
1683                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_max_holds' "))==0){
1684                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1685                                VALUES ( 'opac', 'map_max_holds', '250', 'Nombre d\'emprise maximum souhaité par type d\'emprise','map', 0)";
1686                                echo traite_rqt($rqt,"insert opac_map_max_holds into parametres");
1687                        }
1688
1689                        // AR - Les paramètres de cartes sont rangés ensemble !
1690                        $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'";
1691                        echo traite_rqt($rqt,"update opac_map_activate");
1692
1693                        // AR - Changement de nom !
1694                        $rqt = "update parametres set comment_param='Activation du géoréférencement' where type_param like 'pmb' and sstype_param like 'map_activate'";
1695                        echo traite_rqt($rqt,"update pmb_map_activate");
1696
1697                        // AR - Définition de la couleur d'une emprise de notice à l'OPAC
1698                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_holds_record_color' "))==0){
1699                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1700                                VALUES ( 'opac', 'map_holds_record_color', '#D6A40F', 'Couleur des emprises associées à des notices','map', 0)";
1701                                echo traite_rqt($rqt,"insert opac_map_holds_record_color into parametres");
1702                        }
1703
1704                        // AR - Définition de la couleur d'une emprise d'autorité à l'OPAC
1705                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_holds_authority_color' "))==0){
1706                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1707                                VALUES ( 'opac', 'map_holds_authority_color', '#D60F0F', 'Couleur des emprises associées à des autorités','map', 0)";
1708                                echo traite_rqt($rqt,"insert opac_map_holds_authority_color into parametres");
1709                        }
1710
1711                        // AR - Ajout paramètre de la taille de la carte en saisie de recherche à l'OPAC
1712                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_search_edition' "))==0){
1713                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1714                                VALUES ( 'opac', 'map_size_search_edition', '800*480', 'Taille de la carte en saisie de recherche','map', 0)";
1715                                echo traite_rqt($rqt,"insert opac_map_size_search_edition into parametres");
1716                        }
1717
1718                        // AR - Ajout paramètre de la taille de la carte en résultat de recherche à l'OPAC
1719                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_search_result' "))==0){
1720                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1721                                VALUES ( 'opac', 'map_size_search_result', '800*480', 'Taille de la carte en résultat de recherche','map', 0)";
1722                                echo traite_rqt($rqt,"insert opac_map_size_search_result into parametres");
1723                        }
1724                        // AR - Ajout paramètre de la taille de la carte en visualisation de notice à l'OPAC
1725                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_notice_view' "))==0){
1726                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1727                                VALUES ( 'opac', 'map_size_notice_view', '800*480', 'Taille de la carte en visualisation de notice','map', 0)";
1728                                echo traite_rqt($rqt,"insert opac_map_size_notice_view into parametres");
1729                        }
1730
1731                        // AR - Définition du fond de carte à l'OPAC
1732                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_base_layer_type' "))==0){
1733                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1734                                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)";
1735                                echo traite_rqt($rqt,"insert opac_map_base_layer_type into parametres");
1736                        }
1737                        // AR - Définition des paramètres du fond de carte à l'OPAC
1738                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_base_layer_params' "))==0){
1739                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1740                                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)";
1741                                echo traite_rqt($rqt,"insert opac_map_base_layer_params into parametres");
1742                        }
1743
1744                        // JP - Suggestions - Utilisateur : pouvoir être alerté en cas de nouvelle suggestion à l'OPAC
1745                        $rqt = "ALTER TABLE users ADD user_alert_suggmail int(1) UNSIGNED NOT NULL DEFAULT 0";
1746                        echo traite_rqt($rqt,"alter table users add user_alert_suggmail");
1747
1748                        // JP - Acquisitions - Sélection rubrique budgétaire en commande : pouvoir toutes les afficher
1749                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='budget_show_all' "))==0){
1750                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1751                                        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)";
1752                                echo traite_rqt($rqt,"insert budget_show_all = 0 into parametres");
1753                        }
1754
1755
1756                        // +-------------------------------------------------+
1757                        echo "</table>";
1758                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
1759                        $res = pmb_mysql_query($rqt, $dbh) ;
1760                        echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
1761                        $action=$action+$increment;
1762                        //echo form_relance ("v5.18");
1763                        //break;
1764
1765//      case "v5.18":
1766                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
1767                // +-------------------------------------------------+
1768
1769                        //MB - Ajout index sur le nom des fichiers numériques pour accélérer la recherche
1770                        $add_index=true;
1771                        $req="SHOW INDEX FROM explnum";
1772                        $res=pmb_mysql_query($req);
1773                        if($res && pmb_mysql_num_rows($res)){
1774                                while ($ligne = pmb_mysql_fetch_object($res)){
1775                                        if($ligne->Column_name == "explnum_nomfichier"){
1776                                                $add_index=false;
1777                                                break;
1778                                        }
1779                                }
1780                        }
1781                        if($add_index){
1782                                @set_time_limit(0);
1783                                pmb_mysql_query("set wait_timeout=28800", $dbh);
1784                                $rqt = "alter table explnum add index i_explnum_nomfichier(explnum_nomfichier(30))";
1785                                echo traite_rqt($rqt,"alter table explnum add index i_explnum_nomfichier");
1786                        }
1787
1788                        //JP - Ajout deux index sur les liens entre actes pour accélérer la recherche
1789                        $rqt = "alter table liens_actes drop index i_num_acte";
1790                        echo traite_rqt($rqt,"alter table liens_actes drop index i_num_acte");
1791                        $rqt = "alter table liens_actes add index i_num_acte(num_acte)";
1792                        echo traite_rqt($rqt,"alter table liens_actes add index i_num_acte");
1793
1794                        $rqt = "alter table liens_actes drop index i_num_acte_lie";
1795                        echo traite_rqt($rqt,"alter table liens_actes drop index i_num_acte_lie");
1796                        $rqt = "alter table liens_actes add index i_num_acte_lie(num_acte_lie)";
1797                        echo traite_rqt($rqt,"alter table liens_actes add index i_num_acte_lie");
1798
1799                        //JP - Modification taille du champ mailtpl_tpl de la table mailtpl
1800                        $rqt ="alter table mailtpl MODIFY mailtpl_tpl MEDIUMTEXT NOT NULL";
1801                        echo traite_rqt($rqt,"alter table mailtpl modify mailtpl_tpl mediumtext");
1802
1803                        //JP - Nettoyage des catégories sans libellé
1804                        $rqt ="DELETE FROM categories WHERE libelle_categorie=''";
1805                        echo traite_rqt($rqt,"Delete categories sans libellé");
1806
1807                        // JP - Abonnements - nom du périodique par défaut en création d'abonnement
1808                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='abt_label_perio' "))==0){
1809                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1810                                                        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)";
1811                                echo traite_rqt($rqt,"insert pmb_abt_label_perio = 0 into parametres");
1812                        }
1813
1814                        // JP - Acquisitions - afficher le nom de l'abonnement dans les lignes de la commande
1815                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='show_abt_in_cmde' "))==0){
1816                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
1817                                                VALUES (0, 'acquisition', 'show_abt_in_cmde', '0', 'Afficher l\'abonnement dans les lignes de la commande ?\n 0: Non \n 1: Oui.','',0)";
1818                                echo traite_rqt($rqt,"insert acquisition_show_abt_in_cmde = 0 into parametres");
1819                        }
1820
1821                        // NG - Nomenclature: Familles
1822                        $rqt = "CREATE TABLE if not exists nomenclature_families (
1823                                        id_family int unsigned NOT NULL auto_increment,
1824                                        family_name varchar(255) NOT NULL DEFAULT '',
1825                                        family_order int unsigned NOT NULL DEFAULT 0,
1826                                        PRIMARY KEY (id_family))";
1827                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_families");
1828
1829                        // NG - Nomenclature: pupitres
1830                        $rqt = "CREATE TABLE if not exists nomenclature_musicstands (
1831                                        id_musicstand int unsigned NOT NULL auto_increment,
1832                                        musicstand_name varchar(255) NOT NULL DEFAULT '',
1833                                        musicstand_famille_num int unsigned NOT NULL DEFAULT 0,
1834                                        musicstand_division int unsigned NOT NULL DEFAULT 0,
1835                                        musicstand_order int unsigned NOT NULL DEFAULT 0,
1836                                        musicstand_workshop int unsigned NOT NULL DEFAULT 0,
1837                                        PRIMARY KEY (id_musicstand))";
1838                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_musicstands");
1839
1840                        // NG - Nomenclature: instruments
1841                        $rqt = "CREATE TABLE if not exists nomenclature_instruments (
1842                                        id_instrument int unsigned NOT NULL auto_increment,
1843                                        instrument_code varchar(255) NOT NULL DEFAULT '',
1844                                        instrument_name varchar(255) NOT NULL DEFAULT '',
1845                                        instrument_musicstand_num int unsigned NOT NULL DEFAULT 0,
1846                                        instrument_standard int unsigned NOT NULL DEFAULT 0,
1847                                        PRIMARY KEY (id_instrument))";
1848                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_instruments");
1849
1850                        //NG - Nomenclature: Formations
1851                        $rqt = "CREATE TABLE if not exists nomenclature_formations (
1852                                        id_formation int unsigned NOT NULL auto_increment,
1853                                        formation_name varchar(255) NOT NULL DEFAULT '',
1854                                        formation_nature int unsigned NOT NULL DEFAULT 0,
1855                                        formation_order int unsigned NOT NULL DEFAULT 0,
1856                                        PRIMARY KEY (id_formation))";
1857                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_formations");
1858
1859                        // NG - Nomenclature: Types
1860                        $rqt = "CREATE TABLE if not exists nomenclature_types (
1861                                        id_type int unsigned NOT NULL auto_increment,
1862                                        type_name varchar(255) NOT NULL DEFAULT '',
1863                                        type_formation_num int unsigned NOT NULL DEFAULT 0,
1864                                        type_order int unsigned NOT NULL DEFAULT 0,
1865                                        PRIMARY KEY (id_type))";
1866                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_types");
1867
1868                        // NG - Nomenclature: voix
1869                        $rqt = "CREATE TABLE if not exists nomenclature_voices (
1870                                id_voice int unsigned NOT NULL auto_increment,
1871                                voice_code varchar(255) NOT NULL DEFAULT '',
1872                                voice_name varchar(255) NOT NULL DEFAULT '',
1873                                voice_order int unsigned NOT NULL DEFAULT 0,
1874                                PRIMARY KEY (id_voice))";
1875                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_voices");
1876
1877                        // NG - Nomenclature: Formations dans les notices
1878                        $rqt = "CREATE TABLE if not exists nomenclature_notices_nomenclatures (
1879                                id_notice_nomenclature int unsigned NOT NULL auto_increment,
1880                                notice_nomenclature_num_notice int unsigned NOT NULL DEFAULT 0,
1881                                notice_nomenclature_num_formation int unsigned NOT NULL DEFAULT 0,
1882                                notice_nomenclature_num_type int unsigned NOT NULL DEFAULT 0,
1883                                notice_nomenclature_label varchar(255) NOT NULL DEFAULT '',
1884                                notice_nomenclature_abbreviation TEXT NOT NULL ,
1885                                notice_nomenclature_notes TEXT NOT NULL,
1886                                notice_nomenclature_order int unsigned NOT NULL DEFAULT 0,
1887                                PRIMARY KEY (id_notice_nomenclature))";
1888                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_notices_nomenclatures");
1889
1890                        // NG - Nomenclature: Ateliers des formations de la notice
1891                        $rqt = "CREATE TABLE if not exists nomenclature_workshops (
1892                                id_workshop int unsigned NOT NULL auto_increment,
1893                                workshop_label varchar(255) NOT NULL DEFAULT '',
1894                                workshop_num_nomenclature int unsigned NOT NULL DEFAULT 0,
1895                                workshop_order int unsigned NOT NULL DEFAULT 0,
1896                                PRIMARY KEY (id_workshop))";
1897                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_workshops");
1898
1899                        // NG - Nomenclature: Instruments des ateliers de la notice
1900                        $rqt = "CREATE TABLE if not exists nomenclature_workshops_instruments (
1901                                id_workshop_instrument int unsigned NOT NULL auto_increment,
1902                                workshop_instrument_num_workshop int unsigned NOT NULL DEFAULT 0,
1903                                workshop_instrument_num_instrument int unsigned NOT NULL DEFAULT 0,
1904                                workshop_instrument_number int unsigned NOT NULL DEFAULT 0,
1905                                workshop_instrument_order int unsigned NOT NULL DEFAULT 0,
1906                                PRIMARY KEY (id_workshop_instrument))";
1907                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_workshops_instruments");
1908
1909                        // NG - Nomenclature: Instruments non standards de la formation de la notice
1910                        $rqt = "CREATE TABLE if not exists nomenclature_exotic_instruments (
1911                                id_exotic_instrument int unsigned NOT NULL auto_increment,
1912                                exotic_instrument_num_nomenclature int unsigned NOT NULL DEFAULT 0,
1913                                exotic_instrument_num_instrument int unsigned NOT NULL DEFAULT 0,
1914                                exotic_instrument_number int unsigned NOT NULL DEFAULT 0,
1915                                exotic_instrument_order int unsigned NOT NULL DEFAULT 0,
1916                                PRIMARY KEY (id_exotic_instrument))";
1917                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_exotic_instruments");
1918
1919
1920                        // NG - Nomenclature: Instruments non standards autres de la formation de la notice
1921                        $rqt = "CREATE TABLE if not exists nomenclature_exotic_other_instruments (
1922                                id_exotic_other_instrument int unsigned NOT NULL auto_increment,
1923                                exotic_other_instrument_num_exotic_instrument int unsigned NOT NULL DEFAULT 0,
1924                                exotic_other_instrument_num_instrument int unsigned NOT NULL DEFAULT 0,
1925                                exotic_other_instrument_order int unsigned NOT NULL DEFAULT 0,
1926                                PRIMARY KEY (id_exotic_other_instrument))";
1927                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_exotic_other_instruments");
1928
1929                        // NG - Nomenclature: notices filles
1930                        $rqt = "CREATE TABLE if not exists nomenclature_children_records (
1931                                child_record_num_record int unsigned NOT NULL DEFAULT 0,
1932                                child_record_num_formation int unsigned NOT NULL DEFAULT 0,
1933                                child_record_num_type int unsigned NOT NULL DEFAULT 0,
1934                                child_record_num_musicstand int unsigned NOT NULL DEFAULT 0,
1935                                child_record_num_instrument int unsigned NOT NULL DEFAULT 0,
1936                                child_record_effective int unsigned NOT NULL DEFAULT 0,
1937                                child_record_order int unsigned NOT NULL DEFAULT 0,
1938                                child_record_other varchar(255) NOT NULL DEFAULT '',
1939                                child_record_num_voice int unsigned NOT NULL DEFAULT 0,
1940                                child_record_num_workshop int unsigned NOT NULL DEFAULT 0,
1941                                PRIMARY KEY (child_record_num_record))";
1942                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_children_records");
1943
1944                        // NG - Ajout paramètre pour identifier le type de relation entre une notice de nomenclature et ses notices filles
1945                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_record_children_link' "))==0){
1946                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1947                                VALUES ( 'pmb', 'nomenclature_record_children_link', '', 'Type de relation entre une notice de nomenclature et ses notices filles.','', 0)";
1948                                echo traite_rqt($rqt,"insert pmb_nomenclature_record_children_link");
1949                        }
1950
1951                        // NG - Ajout paramètre pour activer les nomenclatures
1952                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_activate' "))==0){
1953                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
1954                                VALUES ( 'pmb', 'nomenclature_activate', '0', 'Activation des nomenclatures:\n 0 : non \n 1 : oui','', 0)";
1955                                echo traite_rqt($rqt,"insert pmb_nomenclature_activate into parametres");
1956                        }
1957
1958                        //MHo - Augmentation de la taille du champ pour les titres_uniformes
1959                        $rqt = "ALTER TABLE titres_uniformes MODIFY tu_sujet TEXT NOT NULL";
1960                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes MODIFY tu_sujet TEXT NOT NULL");
1961
1962                        // MB - Affichage liste des bulletins - Modification explication du paramètre
1963                        $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'";
1964                        echo traite_rqt($rqt,"UPDATE parametres opac_fonction_affichage_liste_bull");
1965
1966                        // VT & DG - Création des tables de veilles
1967                        $rqt="create table if not exists docwatch_watches(
1968                                id_watch int unsigned not null auto_increment primary key,
1969                                watch_title varchar(255) not null default '',
1970                                watch_owner int unsigned not null default 0,
1971                                watch_allowed_users varchar(255) not null default '',
1972                                watch_num_category int unsigned not null default 0,
1973                                watch_last_date datetime,
1974                                watch_ttl int unsigned not null default 0,
1975                                index i_docwatch_watch_title(watch_title)
1976                                )";
1977                        echo traite_rqt($rqt, "create table docwatch_watches");
1978
1979                        $rqt="create table if not exists docwatch_datasources(
1980                                id_datasource int unsigned not null auto_increment primary key,
1981                                datasource_type varchar(255) not null default '',
1982                                datasource_title varchar(255) not null default '',
1983                                datasource_ttl int unsigned not null default 0,
1984                                datasource_last_date datetime,
1985                                datasource_parameters mediumtext not null,
1986                                datasource_num_category int unsigned not null default 0,
1987                                datasource_default_interesting int unsigned not null default 0,
1988                                datasource_num_watch int unsigned not null default 0,
1989                                index i_docwatch_datasource_title(datasource_title)
1990                                )";
1991                        echo traite_rqt($rqt, "create table docwatch_datasources");
1992
1993                        $rqt="create table if not exists docwatch_selectors (
1994                                id_selector int unsigned not null auto_increment primary key,
1995                                selector_type varchar(255) not null default '',
1996                                selector_num_datasource int unsigned not null default 0,
1997                                selector_parameters mediumtext not null
1998                                )";
1999                        echo traite_rqt($rqt, "create table docwatch_selectors");
2000
2001                        $rqt="create table if not exists docwatch_items(
2002                                id_item int unsigned not null auto_increment primary key,
2003                                item_type varchar(255) not null default '',
2004                                item_title varchar(255) not null default '',
2005                                item_summary mediumtext not null,
2006                                item_content mediumtext not null,
2007                                item_added_date datetime,
2008                                item_publication_date datetime,
2009                                item_hash varchar(255) not null default '',
2010                                item_url varchar(255) not null default '',
2011                                item_logo_url varchar(255) not null default '',
2012                                item_status int unsigned not null default 0,
2013                                item_interesting int unsigned not null default 0,
2014                                item_num_article int unsigned not null default 0,
2015                                item_num_section int unsigned not null default 0,
2016                                item_num_notice int unsigned not null default 0,
2017                                item_num_datasource int unsigned not null default 0,
2018                                item_num_watch int unsigned not null default 0,
2019                                index i_docwatch_item_type(item_type),
2020                                index i_docwatch_item_title(item_title),
2021                                index i_docwatch_item_num_article(item_num_article),
2022                                index i_docwatch_item_num_section(item_num_section),
2023                                index i_docwatch_item_num_notice(item_num_notice),
2024                                index i_docwatch_item_num_watch(item_num_watch)
2025                                )";
2026                        echo traite_rqt($rqt, "create table docwatch_items");
2027
2028                        $rqt="create table if not exists docwatch_items_descriptors(
2029                                num_item int unsigned not null default 0,
2030                                num_noeud int unsigned not null default 0,
2031                                primary key (num_item, num_noeud)
2032                                )";
2033                        echo traite_rqt($rqt, "create table docwatch_items_descriptors");
2034
2035                        $rqt="create table if not exists docwatch_categories(
2036                                id_category int unsigned not null auto_increment primary key,
2037                                category_title varchar(255) not null default '',
2038                                category_num_parent int unsigned not null default 0
2039                                )";
2040                        echo traite_rqt($rqt, "create table docwatch_categories");
2041
2042                        $rqt="create table if not exists docwatch_items_tags(
2043                                num_item int unsigned not null default 0,
2044                                num_tag int unsigned not null default 0,
2045                                primary key (num_item, num_tag)
2046                                )";
2047                        echo traite_rqt($rqt, "create table docwatch_items_tags");
2048
2049                        $rqt="create table if not exists docwatch_tags(
2050                                id_tag int unsigned not null auto_increment primary key,
2051                                tag_title varchar(255) not null default ''
2052                                )";
2053                        echo traite_rqt($rqt, "create table docwatch_tags");
2054
2055                        $rqt = "ALTER TABLE docwatch_watches ADD watch_desc text NOT NULL" ;
2056                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_desc ");
2057
2058                        $rqt = "ALTER TABLE docwatch_watches ADD watch_logo_url varchar(255) NOT NULL default ''" ;
2059                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_logo_url ");
2060
2061                        $rqt = "ALTER TABLE docwatch_watches ADD watch_record_default_type char(2) not null default 'a'" ;
2062                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_record_default_type ");
2063
2064                        $rqt = "ALTER TABLE docwatch_watches ADD watch_record_default_status int unsigned not null default 0" ;
2065                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_record_default_status ");
2066
2067                        $rqt = "ALTER TABLE docwatch_watches ADD watch_article_default_parent int unsigned not null default 0" ;
2068                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_article_default_parent");
2069
2070                        $rqt = "ALTER TABLE docwatch_watches ADD watch_article_default_content_type int unsigned not null default 0" ;
2071                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_article_default_content_type ");
2072
2073                        $rqt = "ALTER TABLE docwatch_watches ADD watch_article_default_publication_status int unsigned not null default 0" ;
2074                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_article_default_content_publication_status ");
2075
2076                        $rqt = "ALTER TABLE docwatch_watches ADD watch_section_default_parent int unsigned not null default 0" ;
2077                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_section_default_parent");
2078
2079                        $rqt = "ALTER TABLE docwatch_watches ADD watch_section_default_content_type int unsigned not null default 0" ;
2080                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_section_default_content_type ");
2081
2082                        $rqt = "ALTER TABLE docwatch_watches ADD watch_section_default_publication_status int unsigned not null default 0" ;
2083                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_section_default_content_publication_status ");
2084
2085                        // NG - Demandes: Ajout d'un paramètre permettant de saisir un email générique pour la gestion des demanades
2086                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='email_generic' "))==0){
2087                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2088                                VALUES (0, 'demandes', 'email_generic', '',
2089                                '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 ',
2090                                '',0) ";
2091                                echo traite_rqt($rqt, "insert demandes_email_generic into parameters");
2092                        }
2093
2094                        // NG - Demandes: Ajout d'un paramètre permettant d'afficher le format simplifié en Opac
2095                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='demandes_affichage_simplifie' "))==0){
2096                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2097                                VALUES (0, 'opac', 'demandes_affichage_simplifie', '0',
2098                                'Active le format simplifié des demandes en Opac:\n 0 : non \n 1 : oui',
2099                                'a_general',0) ";
2100                                echo traite_rqt($rqt, "insert opac_demandes_affichage_simplifie into parameters");
2101                        }
2102
2103                        // NG - Demandes: Ajout d'un paramètre permettant d'interdire l'ajout d'une action en Opac
2104                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='demandes_no_action' "))==0){
2105                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2106                                VALUES (0, 'opac', 'demandes_no_action', '0',
2107                                'Interdire l\'ajout d\'une action en Opac:\n 0 : non \n 1 : oui',
2108                                'a_general',0) ";
2109                                echo traite_rqt($rqt, "insert opac_demandes_no_action into parameters");
2110                        }
2111
2112                        // NG - Demandes: lien entre la note générant la réponse finale d'une demande
2113                        $rqt = "ALTER TABLE demandes ADD demande_note_num int unsigned not null default 0" ;
2114                        echo traite_rqt($rqt,"ALTER TABLE demandes ADD demande_note_num ");
2115
2116                        //JP - Modification de la longueur du champ email de la table coordonnees
2117                        $rqt = "ALTER TABLE coordonnees MODIFY email varchar(255) NOT NULL default '' ";
2118                        echo traite_rqt($rqt,"alter table coordonnees modify email");
2119
2120                        // DG - Veilles : Option pour nettoyer le contenu HTML des nouveaux éléments
2121                        $rqt = "ALTER TABLE docwatch_datasources ADD datasource_clean_html int unsigned not null default 1 after datasource_default_interesting" ;
2122                        echo traite_rqt($rqt,"ALTER TABLE docwatch_datasources ADD datasource_clean_html ");
2123
2124                        // VT - Ajout paramètre pour definir le ratio minimum d'une emprise pour qu'elle s'affiche
2125                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_hold_ratio_min' "))==0){
2126                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2127                                VALUES ( 'pmb', 'map_hold_ratio_min', '4', 'Ratio minimum d\'occupation en pourcentage d\'une emprise pour s\'afficher','map', 0)";
2128                                echo traite_rqt($rqt,"insert pmb_map_hold_ratio_min into parametres");
2129                        }
2130
2131                        // VT - Ajout paramètre pour definir le ratio maximum d'une emprise pour qu'elle s'affiche
2132                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_hold_ratio_max' "))==0){
2133                        $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2134                                VALUES ( 'pmb', 'map_hold_ratio_max', '75', 'Ratio maximum d\'occupation en pourcentage d\'une emprise pour s\'afficher','map', 0)";
2135                                echo traite_rqt($rqt,"insert pmb_map_hold_ratio_max into parametres");
2136                        }
2137
2138                        // VT - Ajout paramètre pour definir le rapport de distance entre deux points pour qu'ils soit aggrégés ensembles
2139                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_hold_distance' "))==0){
2140                                        $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2141                                VALUES ( 'pmb', 'map_hold_distance', '10', 'Rapport de distance entre deux points pour les agréger','map', 0)";
2142                                echo traite_rqt($rqt,"insert pmb_map_hold_distance into parametres");
2143                        }
2144
2145                        // VT - Creation table de correspondance contenant les aires des différentes emprises de la base
2146                        $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)";
2147                        echo traite_rqt($rqt, "create table map_hold_areas");
2148
2149                        //VT - Verification de l'existance de la clé primaire (création si non-existante)
2150                        if (pmb_mysql_num_rows(pmb_mysql_query("show keys from map_hold_areas where column_name = 'id_obj' "))==0){
2151                                $rqt="alter table map_hold_areas add primary key(id_obj)";
2152                                echo traite_rqt($rqt, "alter table map_hold_areas add primary key");
2153                        }
2154
2155                        //NG - ajout pied de page dans template de la fiche de circulation
2156                        $rqt = "ALTER TABLE serialcirc_tpl ADD serialcirctpl_piedpage text NOT NULL ";
2157                        echo traite_rqt($rqt,"alter table serialcirc_tpl add serialcirctpl_piedpage");
2158
2159                        // AP - Ajout de la recherche dans les concepts
2160                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='modules_search_concept' "))==0) {
2161                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2162                                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) ";
2163                                echo traite_rqt($rqt, "insert opac_modules_search_concept into parameters");
2164                        }
2165
2166                        // VT - Ajout paramètre pour definir le ratio minimum d'une emprise pour qu'elle s'affiche (opac)
2167                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_hold_ratio_min' "))==0) {
2168                                $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2169                                VALUES ('opac', 'map_hold_ratio_min', '4', 'Ratio minimum d\'occupation en pourcentage d\'une emprise pour s\'afficher', 'map', 0) ";
2170                                echo traite_rqt($rqt, "insert opac_map_hold_ratio_min into parametres");
2171                        }
2172
2173                        // VT - Ajout paramètre pour definir le ratio maximum d'une emprise pour qu'elle s'affiche (opac)
2174                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_hold_ratio_max' "))==0){
2175                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2176                                VALUES ( 'opac', 'map_hold_ratio_max', '75', 'Ratio maximum d\'occupation en pourcentage d\'une emprise pour s\'afficher','map', 0)";
2177                                echo traite_rqt($rqt,"insert opac_map_hold_ratio_max into parametres");
2178                        }
2179
2180                        // VT - Ajout paramètre pour definir le rapport de distance entre deux points pour qu'ils soit aggrégés ensembles (opac)
2181                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_hold_distance' "))==0){
2182                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2183                                VALUES ( 'opac', 'map_hold_distance', '10', 'Rapport de distance entre deux points pour les agréger','map', 0)";
2184                                echo traite_rqt($rqt,"insert opac_map_hold_distance into parametres");
2185                        }
2186
2187                        // VT - Ajout d'un index sur la colonne map_emprise_obj_num de la table map_emprises
2188                        $rqt="alter table map_emprises add index i_map_emprise_obj_num(map_emprise_obj_num)";
2189                        echo traite_rqt($rqt, "alter table map_emprises add index i_map_emprise_obj_num");
2190
2191                        // JP - Ajout champ de classement sur étagères et paniers
2192                        $rqt = "ALTER TABLE caddie ADD caddie_classement varchar(255) NOT NULL default ''" ;
2193                        echo traite_rqt($rqt,"ALTER TABLE caddie ADD caddie_classement ");
2194
2195                        $rqt = "ALTER TABLE empr_caddie ADD empr_caddie_classement varchar(255) NOT NULL default ''" ;
2196                        echo traite_rqt($rqt,"ALTER TABLE empr_caddie ADD empr_caddie_classement ");
2197
2198                        $rqt = "ALTER TABLE etagere ADD etagere_classement varchar(255) NOT NULL default ''" ;
2199                        echo traite_rqt($rqt,"ALTER TABLE etagere ADD etagere_classement ");
2200
2201                        // MB - LDAP gestion de l'encodage lors de l'import
2202                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'ldap' and sstype_param='encoding_utf8' "))==0){
2203                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2204                                        VALUES (0, 'ldap', 'encoding_utf8', '0', 'Les informations du LDAP sont en utf-8 ?\n 0: Non \n 1: Oui.','',0)";
2205                                echo traite_rqt($rqt,"insert ldap_encoding_utf8 = 0 into parametres");
2206                        }
2207
2208                        // +-------------------------------------------------+
2209                        echo "</table>";
2210                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
2211                        $res = pmb_mysql_query($rqt, $dbh) ;
2212                        echo "<strong><font color='#FF0000'>".$msg[1807].$action." !</font></strong><br />";
2213                                        $action=$action+$increment;
2214                        //echo form_relance ("v5.19");
2215                        //break;
2216
2217//      case "v5.19":
2218                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
2219                // +-------------------------------------------------+
2220
2221                        //DG - Code Javascript d'analyse d'audience
2222                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='script_analytics' "))==0){
2223                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2224                                        VALUES (0, 'opac', 'script_analytics', '', 'Code Javascript d\'analyse d\'audience (Par exemple pour Google Analytics, XiTi,..).','a_general',0)";
2225                                echo traite_rqt($rqt,"insert opac_script_analytics into parametres");
2226                        }
2227
2228                        //DG - Accessibilité OPAC : Paramètre d'activation
2229                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='accessibility' "))==0){
2230                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2231                                        VALUES (0, 'opac', 'accessibility', '1', 'Accessibilité activée.\n 0 : Non.\n 1 : Oui.','a_general',0)";
2232                                echo traite_rqt($rqt,"insert opac_accessibility = 1 into parametres");
2233                        }
2234
2235                        //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)
2236                        $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))";
2237                        echo traite_rqt($rqt,"update exemplaires transfert_location_origine");
2238
2239                        $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))";
2240                        echo traite_rqt($rqt,"update exemplaires transfert_statut_origine");
2241
2242                        // NG - Ajout paramètre indiquant la durée en jours de conservation des notices en tant que nouveauté
2243                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='newrecord_timeshift' "))==0){
2244                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2245                                VALUES ( 'pmb', 'newrecord_timeshift', '0', 'Nombre de jours de conservation des notices en tant que nouveauté.','', 0)";
2246                                echo traite_rqt($rqt,"insert pmb_newrecord_timeshift");
2247                        }
2248
2249                        // Création shorturls
2250                        $rqt="create table if not exists shorturls (
2251                                id_shorturl int unsigned not null auto_increment primary key,
2252                                shorturl_hash varchar(255) not null default '',
2253                                shorturl_last_access datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
2254                                shorturl_context text not null,
2255                                shorturl_type varchar(255) not null default '',
2256                                shorturl_action varchar(255) not null default ''
2257                        )";
2258                        echo traite_rqt($rqt,"create table shorturls");
2259
2260                        // NG - Nouveautés
2261                        $rqt = "ALTER TABLE notices ADD notice_is_new int unsigned not null default 0" ;
2262                        echo traite_rqt($rqt,"ALTER TABLE notices ADD notice_is_new ");
2263
2264                        $rqt = "ALTER TABLE notices ADD notice_date_is_new  datetime NOT NULL DEFAULT '0000-00-00 00:00:00'" ;
2265                        echo traite_rqt($rqt,"ALTER TABLE notices ADD notice_date_is_new ");
2266
2267                        // 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
2268                        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){
2269                                $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'";
2270                                echo traite_rqt($rqt, "update parametres map_max_holds gestion");
2271                        }
2272
2273                        // 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
2274                        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){
2275                                $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'";
2276                                echo traite_rqt($rqt, "update parametres map_max_holds opac");
2277                        }
2278
2279                        // DB - Modification de la table resa_planning (ajout de previsions sur bulletins)
2280                        $rqt = "alter table resa_planning add resa_idbulletin int(8) unsigned default '0' not null after resa_idnotice";
2281                        echo traite_rqt($rqt,"alter resa_planning add resa_idbulletin ");
2282
2283                        //JP - Section origine pour les transferts
2284                        $rqt = "ALTER TABLE exemplaires ADD transfert_section_origine SMALLINT(5) NOT NULL default '0'" ;
2285                        echo traite_rqt($rqt,"ALTER TABLE exemplaires ADD transfert_section_origine ");
2286
2287                        $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))";
2288                        echo traite_rqt($rqt,"update exemplaires transfert_section_origine");
2289
2290                        //AP Modification du commentaire d'opac_notices_format : Ajout des templates django
2291                        $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' ";
2292                        echo traite_rqt($rqt,"update opac_notices_format into parametres");
2293
2294                        // AP - Ajout paramètre indiquant le nom du répertoire des templates django à utiliser en affichage de notice
2295                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notices_format_django_directory' "))==0){
2296                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
2297                                        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)";
2298                                echo traite_rqt($rqt,"insert notices_format_django_directory into parametres");
2299                        }
2300
2301                        //MB: Ajouter une PK aux tables de vue
2302                        $res=pmb_mysql_query("SHOW TABLES LIKE 'opac_view_notices_%'");
2303                        if($res && pmb_mysql_num_rows($res)){
2304                                while ($r=pmb_mysql_fetch_array($res)){
2305                                        $rqt = "ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice" ;
2306                                        echo traite_rqt($rqt,"ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice ");
2307
2308                                        $rqt = "ALTER TABLE ".$r[0]." DROP PRIMARY KEY";
2309                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." DROP PRIMARY KEY");
2310
2311                                        $rqt = "ALTER TABLE ".$r[0]." ADD PRIMARY KEY (opac_view_num_notice)";
2312                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." ADD PRIMARY KEY");
2313                                }
2314                        }
2315
2316                        //DG - Paramètre OPAC : Autoriser le téléchargement des documents numériques
2317                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='allow_download_docnums' "))==0){
2318                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2319                                        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)";
2320                                echo traite_rqt($rqt,"insert opac_allow_download_docnums = 1 into parametres");
2321                        }
2322
2323                        //AB - Le nom du fichier de paramétrage du selecteur d'affichage de notice
2324                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notices_display_modes' "))==0){
2325                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2326                                        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)";
2327                                echo traite_rqt($rqt,"insert opac_notices_display_modes='' into parametres");
2328                        }
2329
2330                        //DG - Lien pour en savoir plus sur l'utilisation des cookies et des traceurs
2331                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='url_more_about_cookies' "))==0){
2332                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2333                                        VALUES (0, 'opac', 'url_more_about_cookies', '', 'Lien pour en savoir plus sur l\'utilisation des cookies et des traceurs','a_general',0)";
2334                                echo traite_rqt($rqt,"insert opac_url_more_about_cookies into parametres");
2335                        }
2336
2337                        //DG - MAJ du template de bannettes par défaut (identifiant 1)
2338                        $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}}'
2339                                        WHERE bannettetpl_id=1";
2340                        echo traite_rqt($rqt,"ALTER minimum into bannette_tpl");
2341
2342                        // DB - Modification de la table resa_planning (prévisions localisées)
2343                        $rqt = "alter table resa_planning add resa_loc_retrait int(5) unsigned not null default 0 ";
2344                        echo traite_rqt($rqt,"alter resa_planning add resa_loc_retrait ");
2345
2346                        // JP - Ajout champ demande abonnement sur périodique
2347                        $rqt = "ALTER TABLE notices ADD opac_serialcirc_demande TINYINT UNSIGNED NOT NULL DEFAULT 1";
2348                        echo traite_rqt($rqt,"ALTER TABLE notices ADD opac_serialcirc_demande") ;
2349
2350                        // JP - Ajout champ de classement sur infopages
2351                        $rqt = "ALTER TABLE infopages ADD infopage_classement varchar(255) NOT NULL default ''" ;
2352                        echo traite_rqt($rqt,"ALTER TABLE infopages ADD infopage_classement ");
2353
2354                        // JP - Ajout autorisations sur recherches prédéfinies gestion
2355                        $rqt = "ALTER TABLE search_perso ADD autorisations MEDIUMTEXT NULL DEFAULT NULL ";
2356                        echo traite_rqt($rqt,"ALTER TABLE search_perso ADD autorisations") ;
2357
2358                        $rqt = "UPDATE search_perso SET autorisations=num_user ";
2359                        echo traite_rqt($rqt,"UPDATE autorisations INTO search_perso");
2360
2361                        //VT - Paramètre OPAC : Definition du chemin des templates d'autorités en OPAC
2362                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='authorities_templates_folder' "))==0){
2363                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2364                                        VALUES (0, 'opac', 'authorities_templates_folder', './includes/templates/authorities/common', 'Repertoire des templates utilisés pour l\'affichage des autorités en OPAC','',1)";
2365                                echo traite_rqt($rqt,"insert opac_authorities_templates_folder = ./includes/templates/authorities/common into parametres");
2366                        }
2367
2368                        // JP - template par défaut pour les bannettes privées
2369                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'dsi' and sstype_param='private_bannette_notices_template' "))==0){
2370                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2371                        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)";
2372                                echo traite_rqt($rqt, "insert private_bannette_notices_template into parameters");
2373                        }
2374
2375                        // JP - ajout index manquants sur tables de champs persos
2376                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_st " ;
2377                        echo traite_rqt($rqt,"DROP INDEX i_acv_st");
2378                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_st(author_custom_small_text)" ;
2379                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_st");
2380
2381                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_t " ;
2382                        echo traite_rqt($rqt,"DROP INDEX i_acv_t");
2383                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_t(author_custom_text(255))" ;
2384                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_t");
2385
2386                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_i " ;
2387                        echo traite_rqt($rqt,"DROP INDEX i_acv_i");
2388                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_i(author_custom_integer)" ;
2389                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_i");
2390
2391                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_d " ;
2392                        echo traite_rqt($rqt,"DROP INDEX i_acv_d");
2393                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_d(author_custom_date)" ;
2394                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_d");
2395
2396                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_f " ;
2397                        echo traite_rqt($rqt,"DROP INDEX i_acv_f");
2398                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_f(author_custom_float)" ;
2399                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_f");
2400
2401                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_st " ;
2402                        echo traite_rqt($rqt,"DROP INDEX i_acv_st");
2403                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_st(authperso_custom_small_text)" ;
2404                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_st");
2405
2406                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_t " ;
2407                        echo traite_rqt($rqt,"DROP INDEX i_acv_t");
2408                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_t(authperso_custom_text(255))" ;
2409                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_t");
2410
2411                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_i " ;
2412                        echo traite_rqt($rqt,"DROP INDEX i_acv_i");
2413                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_i(authperso_custom_integer)" ;
2414                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_i");
2415
2416                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_d " ;
2417                        echo traite_rqt($rqt,"DROP INDEX i_acv_d");
2418                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_d(authperso_custom_date)" ;
2419                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_d");
2420
2421                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_f " ;
2422                        echo traite_rqt($rqt,"DROP INDEX i_acv_f");
2423                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_f(authperso_custom_float)" ;
2424                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_f");
2425
2426                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_st " ;
2427                        echo traite_rqt($rqt,"DROP INDEX i_ccv_st");
2428                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_st(categ_custom_small_text)" ;
2429                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_st");
2430
2431                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_t " ;
2432                        echo traite_rqt($rqt,"DROP INDEX i_ccv_t");
2433                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_t(categ_custom_text(255))" ;
2434                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_t");
2435
2436                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_i " ;
2437                        echo traite_rqt($rqt,"DROP INDEX i_ccv_i");
2438                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_i(categ_custom_integer)" ;
2439                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_i");
2440
2441                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_d " ;
2442                        echo traite_rqt($rqt,"DROP INDEX i_ccv_d");
2443                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_d(categ_custom_date)" ;
2444                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_d");
2445
2446                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_f " ;
2447                        echo traite_rqt($rqt,"DROP INDEX i_ccv_f");
2448                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_f(categ_custom_float)" ;
2449                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_f");
2450
2451                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_st " ;
2452                        echo traite_rqt($rqt,"DROP INDEX i_ccv_st");
2453                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_st(cms_editorial_custom_small_text)" ;
2454                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_st");
2455
2456                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_t " ;
2457                        echo traite_rqt($rqt,"DROP INDEX i_ccv_t");
2458                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_t(cms_editorial_custom_text(255))" ;
2459                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_t");
2460
2461                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_i " ;
2462                        echo traite_rqt($rqt,"DROP INDEX i_ccv_i");
2463                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_i(cms_editorial_custom_integer)" ;
2464                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_i");
2465
2466                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_d " ;
2467                        echo traite_rqt($rqt,"DROP INDEX i_ccv_d");
2468                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_d(cms_editorial_custom_date)" ;
2469                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_d");
2470
2471                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_f " ;
2472                        echo traite_rqt($rqt,"DROP INDEX i_ccv_f");
2473                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_f(cms_editorial_custom_float)" ;
2474                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_f");
2475
2476                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_st " ;
2477                        echo traite_rqt($rqt,"DROP INDEX i_ccv_st");
2478                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_st(collection_custom_small_text)" ;
2479                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_st");
2480
2481                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_t " ;
2482                        echo traite_rqt($rqt,"DROP INDEX i_ccv_t");
2483                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_t(collection_custom_text(255))" ;
2484                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_t");
2485
2486                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_i " ;
2487                        echo traite_rqt($rqt,"DROP INDEX i_ccv_i");
2488                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_i(collection_custom_integer)" ;
2489                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_i");
2490
2491                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_d " ;
2492                        echo traite_rqt($rqt,"DROP INDEX i_ccv_d");
2493                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_d(collection_custom_date)" ;
2494                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_d");
2495
2496                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_f " ;
2497                        echo traite_rqt($rqt,"DROP INDEX i_ccv_f");
2498                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_f(collection_custom_float)" ;
2499                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_f");
2500
2501                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_st " ;
2502                        echo traite_rqt($rqt,"DROP INDEX i_gcv_st");
2503                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_st(gestfic0_custom_small_text)" ;
2504                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_st");
2505
2506                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_t " ;
2507                        echo traite_rqt($rqt,"DROP INDEX i_gcv_t");
2508                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_t(gestfic0_custom_text(255))" ;
2509                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_t");
2510
2511                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_i " ;
2512                        echo traite_rqt($rqt,"DROP INDEX i_gcv_i");
2513                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_i(gestfic0_custom_integer)" ;
2514                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_i");
2515
2516                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_d " ;
2517                        echo traite_rqt($rqt,"DROP INDEX i_gcv_d");
2518                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_d(gestfic0_custom_date)" ;
2519                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_d");
2520
2521                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_f " ;
2522                        echo traite_rqt($rqt,"DROP INDEX i_gcv_f");
2523                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_f(gestfic0_custom_float)" ;
2524                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_f");
2525
2526                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_st " ;
2527                        echo traite_rqt($rqt,"DROP INDEX i_icv_st");
2528                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_st(indexint_custom_small_text)" ;
2529                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_st");
2530
2531                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_t " ;
2532                        echo traite_rqt($rqt,"DROP INDEX i_icv_t");
2533                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_t(indexint_custom_text(255))" ;
2534                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_t");
2535
2536                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_i " ;
2537                        echo traite_rqt($rqt,"DROP INDEX i_icv_i");
2538                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_i(indexint_custom_integer)" ;
2539                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_i");
2540
2541                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_d " ;
2542                        echo traite_rqt($rqt,"DROP INDEX i_icv_d");
2543                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_d(indexint_custom_date)" ;
2544                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_d");
2545
2546                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_f " ;
2547                        echo traite_rqt($rqt,"DROP INDEX i_icv_f");
2548                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_f(indexint_custom_float)" ;
2549                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_f");
2550
2551                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_st " ;
2552                        echo traite_rqt($rqt,"DROP INDEX i_pcv_st");
2553                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_st(publisher_custom_small_text)" ;
2554                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_st");
2555
2556                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_t " ;
2557                        echo traite_rqt($rqt,"DROP INDEX i_pcv_t");
2558                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_t(publisher_custom_text(255))" ;
2559                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_t");
2560
2561                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_i " ;
2562                        echo traite_rqt($rqt,"DROP INDEX i_pcv_i");
2563                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_i(publisher_custom_integer)" ;
2564                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_i");
2565
2566                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_d " ;
2567                        echo traite_rqt($rqt,"DROP INDEX i_pcv_d");
2568                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_d(publisher_custom_date)" ;
2569                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_d");
2570
2571                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_f " ;
2572                        echo traite_rqt($rqt,"DROP INDEX i_pcv_f");
2573                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_f(publisher_custom_float)" ;
2574                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_f");
2575
2576                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_st " ;
2577                        echo traite_rqt($rqt,"DROP INDEX i_scv_st");
2578                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_st(serie_custom_small_text)" ;
2579                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_st");
2580
2581                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_t " ;
2582                        echo traite_rqt($rqt,"DROP INDEX i_scv_t");
2583                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_t(serie_custom_text(255))" ;
2584                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_t");
2585
2586                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_i " ;
2587                        echo traite_rqt($rqt,"DROP INDEX i_scv_i");
2588                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_i(serie_custom_integer)" ;
2589                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_i");
2590
2591                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_d " ;
2592                        echo traite_rqt($rqt,"DROP INDEX i_scv_d");
2593                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_d(serie_custom_date)" ;
2594                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_d");
2595
2596                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_f " ;
2597                        echo traite_rqt($rqt,"DROP INDEX i_scv_f");
2598                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_f(serie_custom_float)" ;
2599                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_f");
2600
2601                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_st " ;
2602                        echo traite_rqt($rqt,"DROP INDEX i_scv_st");
2603                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_st(subcollection_custom_small_text)" ;
2604                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_st");
2605
2606                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_t " ;
2607                        echo traite_rqt($rqt,"DROP INDEX i_scv_t");
2608                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_t(subcollection_custom_text(255))" ;
2609                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_t");
2610
2611                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_i " ;
2612                        echo traite_rqt($rqt,"DROP INDEX i_scv_i");
2613                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_i(subcollection_custom_integer)" ;
2614                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_i");
2615
2616                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_d " ;
2617                        echo traite_rqt($rqt,"DROP INDEX i_scv_d");
2618                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_d(subcollection_custom_date)" ;
2619                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_d");
2620
2621                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_f " ;
2622                        echo traite_rqt($rqt,"DROP INDEX i_scv_f");
2623                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_f(subcollection_custom_float)" ;
2624                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_f");
2625
2626                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_st " ;
2627                        echo traite_rqt($rqt,"DROP INDEX i_tcv_st");
2628                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_st(tu_custom_small_text)" ;
2629                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_st");
2630
2631                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_t " ;
2632                        echo traite_rqt($rqt,"DROP INDEX i_tcv_t");
2633                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_t(tu_custom_text(255))" ;
2634                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_t");
2635
2636                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_i " ;
2637                        echo traite_rqt($rqt,"DROP INDEX i_tcv_i");
2638                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_i(tu_custom_integer)" ;
2639                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_i");
2640
2641                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_d " ;
2642                        echo traite_rqt($rqt,"DROP INDEX i_tcv_d");
2643                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_d(tu_custom_date)" ;
2644                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_d");
2645
2646                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_f " ;
2647                        echo traite_rqt($rqt,"DROP INDEX i_tcv_f");
2648                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_f(tu_custom_float)" ;
2649                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_f");
2650
2651
2652                        //AR - Paramètre Portail : Activer la mise en cache des images
2653                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'cms' and sstype_param='active_image_cache' "))==0){
2654                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2655                                        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)";
2656                                echo traite_rqt($rqt,"insert cms_active_image_cache into parametres");
2657                        }
2658
2659                        // 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")
2660                        $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'
2661                                WHERE type_param='thesaurus' AND sstype_param='concepts_affichage_ordre' AND section_param='concepts'";
2662                        echo traite_rqt($rqt,"update comment_param de concepts_affichage_ordre into parametres ");
2663
2664                        $rqt="UPDATE parametres SET comment_param='Affichage des concepts en ligne.\n 0 : Non.\n 1 : Oui.'
2665                                WHERE type_param='thesaurus' AND sstype_param='concepts_concept_in_line' AND section_param='concepts'";
2666                        echo traite_rqt($rqt,"update comment_param de concepts_concept_in_line into parametres ");
2667
2668                        //DG - Flag pour savoir si le mot de passe est déjà encrypté
2669                        $rqt= "alter table empr add empr_password_is_encrypted int(1) not null default 0 after empr_password";
2670                        echo traite_rqt($rqt,"alter table empr add empr_password_is_encrypted");
2671
2672                        //DG - Phrase pour le hashage des mots de passe emprunteurs (paramètre invisible)
2673                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='empr_password_salt' "))==0){
2674                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2675                                        VALUES (0, 'opac', 'empr_password_salt', '', 'Phrase pour le hashage des mots de passe emprunteurs','a_general',1)";
2676                                echo traite_rqt($rqt,"insert opac_empr_password_salt into parametres");
2677                        }
2678
2679                        //DG - Info d'encodage des mots de passe lecteurs pour la connexion à l'Opac
2680                        $res=pmb_mysql_query("SELECT count(*) FROM empr");
2681                        if($res && pmb_mysql_result($res,0,0)){
2682                                $rqt = " select 1 " ;
2683                                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> ") ;
2684                        }
2685
2686                        // JP - Parametre affichage des dates de creation et modification notices
2687                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notices_show_dates' "))==0){
2688                                $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) ";
2689                                echo traite_rqt($rqt, "insert expl_show_dates=0 into parameters");
2690                        }
2691
2692                        // AR - Paramètre pour activer la compression des CSS
2693                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='compress_css' "))==0){
2694                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2695                                        VALUES (0, 'opac', 'compress_css', '0', 'Activer la compilation et la compression des feuilles de styles.\n0: Non\n1: Oui','a_general',0)";
2696                                echo traite_rqt($rqt,"insert opac_compress_css into parametres");
2697                        }
2698
2699                        //VT - Ajout d'un champ tonalité marclist dans la table titres_uniformes
2700                        $rqt = "ALTER TABLE titres_uniformes ADD tu_tonalite_marclist VARCHAR(5) NOT NULL DEFAULT '' ";
2701                        echo traite_rqt($rqt,"alter titres_uniformes add tu_tonalite_marclist");
2702
2703                        //VT - Ajout d'un champ forme marclist dans la table titres_uniformes
2704                        $rqt = "ALTER TABLE titres_uniformes ADD tu_forme_marclist VARCHAR(5) NOT NULL DEFAULT '' ";
2705                        echo traite_rqt($rqt,"alter titres_uniformes add tu_forme_marclist");
2706
2707                        // DB - Modification de la table resa_planning (quantité prévisions)
2708                        $rqt = "alter table resa_planning add resa_qty int(5) unsigned not null default 1";
2709                        echo traite_rqt($rqt,"alter resa_planning add resa_qty");
2710                        $rqt = "alter table resa_planning add resa_remaining_qty int(5) unsigned not null default 1";
2711                        echo traite_rqt($rqt,"alter resa_planning add resa_remaining_qty");
2712                        // DB - Modification de la table resa (lien vers prévisions)
2713                        $rqt = "alter table resa add resa_planning_id_resa int(8) unsigned not null default 0";
2714                        echo traite_rqt($rqt,"alter resa add resa_planning_id_resa");
2715
2716                        // DB - Delai d'alerte pour le transfert des previsions en reservations
2717                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='resa_planning_toresa' "))==0){
2718                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
2719                                        VALUES (0, 'pmb', 'resa_planning_toresa', '10', 'Délai d\'alerte pour le transfert des prévisions en réservations (en jours). ' ,'',0)";
2720                                echo traite_rqt($rqt,"insert resa_planning_toresa into parametres");
2721                        }
2722                       
2723                        //JP - Nettoyage vues en erreur suite ajout index unique
2724                        $res=mysql_query("SHOW TABLES LIKE 'opac_view_notices_%'");
2725                        if($res && mysql_num_rows($res)){
2726                                while ($r=mysql_fetch_array($res)){
2727                                        $rqt = "TRUNCATE TABLE ".$r[0] ;
2728                                        echo traite_rqt($rqt,"TRUNCATE TABLE ".$r[0]);
2729                       
2730                                        $rqt = "ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice" ;
2731                                        echo traite_rqt($rqt,"ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice ");
2732                       
2733                                        $rqt = "ALTER TABLE ".$r[0]." DROP PRIMARY KEY";
2734                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." DROP PRIMARY KEY");
2735                       
2736                                        $rqt = "ALTER TABLE ".$r[0]." ADD PRIMARY KEY (opac_view_num_notice)";
2737                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." ADD PRIMARY KEY");
2738                                }
2739                       
2740                                $rqt = " select 1 " ;
2741                                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> ") ;
2742                        }
2743                       
2744                        //JP - nettoyage table authorities_sources
2745                        $rqt = "DELETE FROM authorities_sources WHERE num_authority=0";
2746                        echo traite_rqt($rqt,"DELETE FROM authorities_sources num_authority vide");
2747                       
2748                        //JP - accès rapide pour les paniers de notices
2749                        $rqt = "ALTER TABLE caddie ADD acces_rapide INT NOT NULL default 0";
2750                        echo traite_rqt($rqt,"ALTER TABLE caddie ADD acces_rapide");
2751                       
2752                        //JP - modification index notices_mots_global_index
2753                        $rqt = "truncate table notices_mots_global_index";
2754                        echo traite_rqt($rqt,"truncate table notices_mots_global_index");
2755                               
2756                        $rqt ="alter table notices_mots_global_index drop primary key";
2757                        echo traite_rqt($rqt,"alter table notices_mots_global_index drop primary key");
2758                        $rqt ="alter table notices_mots_global_index add primary key (id_notice,code_champ,code_ss_champ,num_word,position,field_position)";
2759                        echo traite_rqt($rqt,"alter table notices_mots_global_index add primary key");
2760                        // Info de réindexation
2761                        $rqt = " select 1 " ;
2762                        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> ") ;
2763                               
2764                        //DG - Proposer la conservation de catégories en remplacement de notice
2765                        $rqt= "alter table users add deflt_notice_replace_keep_categories int(1) not null default 0";
2766                        echo traite_rqt($rqt,"alter table users add deflt_notice_replace_keep_categories");
2767                       
2768                        //DG - Champs perso pret
2769                        $rqt = "create table if not exists pret_custom (
2770                                idchamp int(10) unsigned NOT NULL auto_increment,
2771                                name varchar(255) NOT NULL default '',
2772                                titre varchar(255) default NULL,
2773                                type varchar(10) NOT NULL default 'text',
2774                                datatype varchar(10) NOT NULL default '',
2775                                options text,
2776                                multiple int(11) NOT NULL default 0,
2777                                obligatoire int(11) NOT NULL default 0,
2778                                ordre int(11) default NULL,
2779                                search INT(1) unsigned NOT NULL DEFAULT 0,
2780                                export INT(1) unsigned NOT NULL DEFAULT 0,
2781                                filters INT(1) unsigned NOT NULL DEFAULT 0,
2782                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
2783                                pond int not null default 100,
2784                                opac_sort INT NOT NULL DEFAULT 0,
2785                                PRIMARY KEY  (idchamp)) ";
2786                        echo traite_rqt($rqt,"create table pret_custom ");
2787                       
2788                        $rqt = "create table if not exists pret_custom_lists (
2789                                pret_custom_champ int(10) unsigned NOT NULL default 0,
2790                                pret_custom_list_value varchar(255) default NULL,
2791                                pret_custom_list_lib varchar(255) default NULL,
2792                                ordre int(11) default NULL,
2793                                KEY i_pret_custom_champ (pret_custom_champ),
2794                                KEY i_pret_champ_list_value (pret_custom_champ,pret_custom_list_value)) " ;
2795                        echo traite_rqt($rqt,"create table if not exists pret_custom_lists ");
2796                       
2797                        $rqt = "create table if not exists pret_custom_values (
2798                                pret_custom_champ int(10) unsigned NOT NULL default 0,
2799                                pret_custom_origine int(10) unsigned NOT NULL default 0,
2800                                pret_custom_small_text varchar(255) default NULL,
2801                                pret_custom_text text,
2802                                pret_custom_integer int(11) default NULL,
2803                                pret_custom_date date default NULL,
2804                                pret_custom_float float default NULL,
2805                                KEY i_pret_custom_champ (pret_custom_champ),
2806                                KEY i_pret_custom_origine (pret_custom_origine)) " ;
2807                        echo traite_rqt($rqt,"create table if not exists pret_custom_values ");
2808                               
2809                        //DG - maj valeurs possibles pour empr_sort_rows
2810                        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){
2811                                $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' ";
2812                                echo traite_rqt($rqt,"update empr_sort_rows into parametres");
2813                        }
2814                               
2815                        //DG - maj valeurs possibles pour empr_filter_rows
2816                        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){
2817                                $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' ";
2818                                echo traite_rqt($rqt,"update empr_filter_rows into parametres");
2819                        }
2820                               
2821                        //DG - maj valeurs possibles pour empr_show_rows
2822                        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){
2823                                $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' ";
2824                                echo traite_rqt($rqt,"update empr_show_rows into parametres");
2825                        }
2826                               
2827                        // AP - Création d'une table pour la gestion de la suppression des enregistrements OAI
2828                        $rqt = "CREATE TABLE if not exists connectors_out_oai_deleted_records (
2829                                        num_set int(11) unsigned NOT NULL DEFAULT 0,
2830                                        num_notice int(11) unsigned NOT NULL DEFAULT 0,
2831                                        deletion_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
2832                                        PRIMARY KEY (num_set, num_notice))";
2833                        echo traite_rqt($rqt,"CREATE TABLE connectors_out_oai_deleted_records") ;
2834                       
2835                        // AP - Ajout du stockage de la grammaire d'une vedette
2836                        $rqt = "ALTER TABLE vedette ADD grammar varchar(255) NOT NULL default 'rameau'" ;
2837                        echo traite_rqt($rqt,"ALTER TABLE vedette ADD grammar");
2838                       
2839                        //JP - recalcul des isbn à cause du nouveau fomatage
2840                        require_once($include_path."/isbn.inc.php");
2841                        $res=pmb_mysql_query("SELECT notice_id, code FROM notices WHERE code<>'' AND niveau_biblio='m' AND code LIKE '97%'");
2842                        if($res && pmb_mysql_num_rows($res)){
2843                                while ($row=pmb_mysql_fetch_object($res)) {
2844                                        $code = $row->code;
2845                                        $new_code = formatISBN($code);
2846                                        if ($code!= $new_code){
2847                                                pmb_mysql_query("UPDATE notices SET code='".addslashes($new_code)."', update_date=update_date WHERE notice_id=".$row->notice_id);
2848                                        }
2849                                }
2850                        }
2851                        $rqt = " select 1 " ;
2852                        echo traite_rqt($rqt,"update notices code / ISBN check and clean") ;
2853                               
2854                       
2855                        //JP - mise à jour des dates de validation des commandes
2856                        $rqt="UPDATE actes SET date_valid=date_acte WHERE statut>1 AND date_valid='0000-00-00'";
2857                        echo traite_rqt($rqt,"update actes date_validation ");
2858                       
2859                        $rqt = "update parametres set valeur_param='0' where type_param='pmb' and sstype_param='bdd_subversion' " ;
2860                        echo traite_rqt($rqt,"update pmb_bdd_subversion=0 into parametres");
2861                        $pmb_bdd_subversion=0;
2862                       
2863                        if ($pmb_subversion_database_as_it_shouldbe!=$pmb_bdd_subversion) {
2864                                // Info de déconnexion pour passer le add-on
2865                                $rqt = " select 1 " ;
2866                                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> ") ;
2867                        }
2868                       
2869               
2870                // +-------------------------------------------------+
2871                echo "</table>";
2872                $rqt = "update parametres set valeur_param='v5.19' where type_param='pmb' and sstype_param='bdd_version' " ;
2873                $res = mysql_query($rqt, $dbh) ;
2874                echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
2875                $action=$action+$increment;
2876
2877                // // Parcheamos la base de datos
2878                // require("$base_path/includes/db_param.inc.php");
2879                // $comando= "cat ".$base_path."/admin/misc/mods_vLlxNemo.sql | mysql -u ". USER_NAME ." --password=". USER_PASS ." ". DATA_BASE;
2880                // if (system($comando, $salida)==0){
2881                //      echo "$msg[db_patched]";
2882                // }
2883                //echo "<SCRIPT>alert(\"".$msg[actualizacion_ok]."\");</SCRIPT>";
2884                //echo("<SCRIPT LANGUAGE='JavaScript'> window.location = \"$base_path/\"</SCRIPT>");
2885                break;
2886
2887        default:
2888                include("$include_path/messages/help/$lang/alter.txt");
2889                break;
2890        }
2891               
Note: See TracBrowser for help on using the repository browser.