Changeset 1140 for pmb4.2


Ignore:
Timestamp:
Apr 8, 2016, 10:07:41 AM (4 years ago)
Author:
jrpelegrina
Message:

Fix migration db from Nemo

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pmb4.2/trunk/fuentes/pmb/admin/misc/alter_vLlxNemo.inc.php

    r906 r1140  
    33//  2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
    44// +-------------------------------------------------+
    5 // $Id: alter_vLlxNemo.inc.php, migración BD a v5.10 (Lliurex 13.06 Pandora) desde v.4.47 (Lliurex 12.06 Nemo)
     5// $Id: alter_vLlxNemo.inc.php, migración BD a v5.19 (Lliurex 16.05 Xenial) desde v.4.47 (Lliurex 12.06 Nemo)
    66
    77
     
    1515        case "vLlxNemo":
    1616//      case "v4.47":
    17                 // 54 actualizaciones desde nemo (v4.47) a pandora (v5.10)
    18                 $increment=100/54;
     17                // 63 actualizaciones desde nemo (v4.47) a xenial (v5.19)
     18                $increment=100/63;
    1919                $action=$increment;
    2020                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     
    60986098
    60996099//      case "v5.10":
    6100                 echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
    6101                 // +-------------------------------------------------+
    6102                
     6100                 echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     6101                // +-------------------------------------------------+
     6102
    61036103                //AR - ajout de type de contenu générique pour les articles et rubriques...
    6104                 if(!mysql_num_rows(mysql_query("select id_editorial_type from cms_editorial_types where editorial_type_element  ='article_generic'"))){
     6104                if(!pmb_mysql_num_rows(pmb_mysql_query("select id_editorial_type from cms_editorial_types where editorial_type_element  ='article_generic'"))){
    61056105                        $rqt = "insert into cms_editorial_types set editorial_type_element = 'article_generic', editorial_type_label ='CP pour Article'";
    61066106                        echo traite_rqt($rqt,"insert into cms_editorial_types set editorial_type_element = 'article_generic'") ;
     
    61086108                        echo traite_rqt($rqt,"insert into cms_editorial_types set editorial_type_element = 'section_generic'") ;
    61096109                }
    6110                
     6110
    61116111                //DG - Ajout du champ index_libelle dans la table frais
    61126112                $rqt = "ALTER TABLE frais ADD index_libelle TEXT";
    61136113                echo traite_rqt($rqt,"alter table frais add index_libelle");
    6114                
     6114
    61156115                //DG - Paramètres pour les lettres de retard par groupe
    6116                 if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1before_list_group' "))==0){
     6116                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1before_list_group' "))==0){
    61176117                        $rqt = "select valeur_param,comment_param from parametres where type_param= 'pdflettreretard' and sstype_param='1before_list' ";
    6118                         $res = mysql_query($rqt);
    6119                         $value_param = mysql_result($res,0,0);
    6120                         $comment_param = mysql_result($res,0,1);
     6118                        $res = pmb_mysql_query($rqt);
     6119                        $value_param = pmb_mysql_result($res,0,0);
     6120                        $comment_param = pmb_mysql_result($res,0,1);
    61216121                        $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param,comment_param) VALUES ('pdflettreretard', '1before_list_group', '".addslashes($value_param)."', '".addslashes($comment_param)."') " ;
    61226122                        echo traite_rqt($rqt,"insert pdflettreretard,1before_list_group into parametres");
    61236123                }
    6124                 if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1after_list_group' "))==0){
     6124                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1after_list_group' "))==0){
    61256125                        $rqt = "select valeur_param,comment_param from parametres where type_param= 'pdflettreretard' and sstype_param='1after_list' ";
    6126                         $res = mysql_query($rqt);
    6127                         $value_param = mysql_result($res,0,0);
    6128                         $comment_param = mysql_result($res,0,1);
     6126                        $res = pmb_mysql_query($rqt);
     6127                        $value_param = pmb_mysql_result($res,0,0);
     6128                        $comment_param = pmb_mysql_result($res,0,1);
    61296129                        $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param,comment_param) VALUES ('pdflettreretard', '1after_list_group', '".addslashes($value_param)."', '".addslashes($comment_param)."') " ;
    61306130                        echo traite_rqt($rqt,"insert pdflettreretard,1after_list_group into parametres");
    61316131                }
    6132                 if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1fdp_group' "))==0){
     6132                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1fdp_group' "))==0){
    61336133                        $rqt = "select valeur_param,comment_param from parametres where type_param= 'pdflettreretard' and sstype_param='1fdp' ";
    6134                         $res = mysql_query($rqt);
    6135                         $value_param = mysql_result($res,0,0);
    6136                         $comment_param = mysql_result($res,0,1);
     6134                        $res = pmb_mysql_query($rqt);
     6135                        $value_param = pmb_mysql_result($res,0,0);
     6136                        $comment_param = pmb_mysql_result($res,0,1);
    61376137                        $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param,comment_param) VALUES ('pdflettreretard', '1fdp_group', '".addslashes($value_param)."', '".addslashes($comment_param)."') " ;
    61386138                        echo traite_rqt($rqt,"insert pdflettreretard,1fdp_group into parametres");
    61396139                }
    6140                 if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1madame_monsieur_group' "))==0){
     6140                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdflettreretard' and sstype_param='1madame_monsieur_group' "))==0){
    61416141                        $rqt = "select valeur_param,comment_param from parametres where type_param= 'pdflettreretard' and sstype_param='1madame_monsieur' ";
    6142                         $res = mysql_query($rqt);
    6143                         $value_param = mysql_result($res,0,0);
    6144                         $comment_param = mysql_result($res,0,1);
     6142                        $res = pmb_mysql_query($rqt);
     6143                        $value_param = pmb_mysql_result($res,0,0);
     6144                        $comment_param = pmb_mysql_result($res,0,1);
    61456145                        $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param,comment_param) VALUES ('pdflettreretard', '1madame_monsieur_group', '".addslashes($value_param)."', '".addslashes($comment_param)."') " ;
    61466146                        echo traite_rqt($rqt,"insert pdflettreretard,1madame_monsieur_group into parametres");
    61476147                }
    6148                
     6148
    61496149                //DG - Impression du nom du groupe sur la lettre de rappel
    61506150                $rqt = "ALTER TABLE groupe ADD lettre_rappel_show_nomgroup INT( 1 ) UNSIGNED DEFAULT 0 NOT NULL ";
     
    61526152                $rqt = "update groupe set lettre_rappel_show_nomgroup=lettre_rappel ";
    61536153                echo traite_rqt($rqt,"update groupe set lettre_rappel_show_nomgroup=lettre_rappel");
    6154                
     6154
    61556155                //AR - Ajout des extensions de formulaire pour les types de contenus
    6156                 $rqt = "alter table cms_editorial_types add editorial_type_extension text not null"; 
     6156                $rqt = "alter table cms_editorial_types add editorial_type_extension text not null";
    61576157                echo traite_rqt($rqt,"alter table cms_editorial_types add editorial_type_extension");
    6158                
     6158
    61596159                //AR - Ajout de la table de stockages des infos des extension
    61606160                $rqt = "create table cms_modules_extensions_datas (
     
    61676167                )";
    61686168                echo traite_rqt($rqt,"create table cms_modules_extensions_datas");
    6169                
     6169
    61706170                //NG - Ordre des facettes
    61716171                $rqt = "alter table facettes add facette_order int not null default 1";
     
    61746174                $rqt = "alter table facettes add facette_limit_plus int not null default 0";
    61756175                echo traite_rqt($rqt,"alter table facettes add facette_limit_plus");
    6176                                                        
     6176
    61776177                //MB - Modification de l'identifiant 28 en 1 pour le trie car il est présent en double dans sort.xml
    61786178                $rqt = "update parametres set valeur_param=REPLACE(valeur_param, '_28', '_1') WHERE type_param='opac' AND sstype_param='default_sort' AND valeur_param REGEXP '_28[^0-9]|_28$'";
    61796179                echo traite_rqt($rqt,"update param opac_default_sort");
    6180                
     6180
    61816181                //NG pb de placement de main_hors_footer et footer
    61826182                $rqt = "update cms_build set build_parent='main' where build_obj='main_header' or build_obj='main_hors_footer' or build_obj='footer' ";
     
    61926192                $rqt = "update cms_build set build_child_before='bandeau', build_child_after='' where build_obj='bandeau_2' ";
    61936193                echo traite_rqt($rqt,"update cms_build where build_obj='bandeau_2' ");
    6194                
    6195                
     6194
    61966195                // +-------------------------------------------------+
    61976196                echo "</table>";
    6198                 $rqt = "update parametres set valeur_param='v5.10' where type_param='pmb' and sstype_param='bdd_version' " ;
     6197                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     6198                $res = pmb_mysql_query($rqt, $dbh) ;
     6199                echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     6200                $action=$action+$increment;
     6201               
     6202                //echo form_relance ("v5.11");
     6203                //break;
     6204//case "v5.11":
     6205                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     6206                // +-------------------------------------------------+
     6207
     6208                //NG Ajout param opac_show_bandeau_2
     6209                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_bandeau_2' "))==0){
     6210                        $rqt = "select valeur_param from parametres where type_param= 'opac' and sstype_param='show_bandeaugauche' ";
     6211                        $res = pmb_mysql_query($rqt);
     6212                        $value_param = pmb_mysql_result($res,0,0);
     6213                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'opac', 'show_bandeau_2', '".addslashes($value_param)."', 'Affichage du bandeau_2 ? \n 0 : Non\n 1 : Oui', 'f_modules', 0) " ;
     6214                        echo traite_rqt($rqt,"insert opac_show_bandeau_2=opac_show_bandeaugauche into parametres");
     6215                }
     6216
     6217                if (pmb_mysql_result(pmb_mysql_query("select count(*) from notices"),0,0) > 15000){
     6218                        $rqt = "truncate table notices_mots_global_index";
     6219                        echo traite_rqt($rqt,"truncate table notices_mots_global_index");
     6220
     6221                        // Info de réindexation
     6222                        $rqt = " select 1 " ;
     6223                        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> ") ;
     6224                }
     6225                //NG ajout de field_position dans notices_mots_global_index
     6226                $rqt = "alter table notices_mots_global_index add field_position int not null default 1";
     6227                echo traite_rqt($rqt,"alter table notices_mots_global_index add field_position");
     6228
     6229                //abacarisse en attente
     6230                if (pmb_mysql_num_rows(pmb_mysql_query("select id_param from parametres where type_param= 'opac' and sstype_param='param_social_network' "))==0){
     6231                        //Ajout du paramètre de configuration de l'api addThis
     6232                        $rqt = "INSERT INTO parametres (type_param ,sstype_param ,valeur_param ,comment_param ,section_param ,gestion) VALUES ('opac', 'param_social_network',
     6233                        '{
     6234                        \"token\":\"ra-4d9b1e202c30dea1\",
     6235                        \"version\":\"300\",
     6236                        \"buttons\":[
     6237                        {
     6238                        \"attributes\":{
     6239                        \"class\":\"addthis_button_facebook_like\",
     6240                        \"fb:like:layout\":\"button_count\"
     6241                        }
     6242                        },
     6243                        {
     6244                        \"attributes\":{
     6245                        \"class\":\"addthis_button_tweet\"
     6246                        }
     6247                        },
     6248                        {
     6249                        \"attributes\":{
     6250                        \"class\":\"addthis_counter addthis_button_compact\"
     6251                        }
     6252                        }
     6253                        ],
     6254                        \"toolBoxParams\":{
     6255                        \"class\":\"addthis_toolbox addthis_default_style\"
     6256                        },
     6257                        \"addthis_share\":{
     6258
     6259                        },
     6260                        \"addthis_config\":{
     6261                        \"data_track_clickback\":\"true\",
     6262                        \"ui_click\":\"true\"
     6263                        }
     6264                        }
     6265                        ', 'Tableau de paramètrage de l\'API de gestion des interconnexions aux réseaux sociaux.
     6266                        Au format JSON.
     6267                        Exemple :
     6268                        {
     6269                        \"token\":\"ra-4d9b1e202c30dea1\",
     6270                        \"version\":\"300\",
     6271                        \"buttons\":[
     6272                        {
     6273                        \"attributes\":{
     6274                        \"class\":\"addthis_button_preferred_1\"
     6275                        }
     6276                        },
     6277                        {
     6278                        \"attributes\":{
     6279                        \"class\":\"addthis_button_preferred_2\"
     6280                        }
     6281                        },
     6282                        {
     6283                        \"attributes\":{
     6284                        \"class\":\"addthis_button_preferred_3\"
     6285                        }
     6286                        },
     6287                        {
     6288                        \"attributes\":{
     6289                        \"class\":\"addthis_button_preferred_4\"
     6290                        }
     6291                        },
     6292                        {
     6293                        \"attributes\":{
     6294                        \"class\":\"addthis_button_compact\"
     6295                        }
     6296                        },
     6297                        {
     6298                        \"attributes\":{
     6299                        \"class\":\"addthis_counter addthis_bubble_style\"
     6300                        }
     6301                        }
     6302                        ],
     6303                        \"toolBoxParams\":{
     6304                        \"class\":\"addthis_toolbox addthis_default_style addthis_32x32_style\"
     6305                        },
     6306                        \"addthis_share\":{
     6307
     6308                        },
     6309                        \"addthis_config\":{
     6310                        \"data_track_addressbar\":true
     6311                        }
     6312                        }', 'e_aff_notice', '0'
     6313                        )";
     6314                        echo traite_rqt($rqt,"insert opac_param_social_network into parametres");
     6315                }
     6316
     6317                // DG
     6318                //ajout du champ groupe_lecteurs dans la table bannettes
     6319                $rqt = "ALTER TABLE bannettes ADD groupe_lecteurs INT(8) UNSIGNED NOT NULL default 0";
     6320                echo traite_rqt($rqt,"alter table bannettes add groupe_lecteurs");
     6321
     6322                // JP
     6323                $rqt = "update parametres set comment_param='Tri par défaut des recherches OPAC. Deux possibilités :\n- un seul tri par défaut de la forme c_num_6\n- plusieurs tris par défaut de la forme c_num_6|Libelle;d_text_7|Libelle 2;c_num_5|Libelle 3\n\nc pour croissant, d pour décroissant\nnum ou text pour numérique ou texte\nidentifiant du champ (voir fichier xml sort.xml)\nlibellé du tri si plusieurs' WHERE type_param='opac' AND sstype_param='default_sort'";
     6324                echo traite_rqt($rqt,"update comment for param opac_default_sort");
     6325
     6326                // Transfert: statut non pretable pour les expl en demande de transfert
     6327                if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='pret_demande_statut' "))==0){
     6328                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     6329                        VALUES (0, 'transferts', 'pret_demande_statut', '0', '1', 'Appliquer ce statut avant la validation') ";
     6330                        echo traite_rqt($rqt,"INSERT transferts_pret_demande_statut INTO parametres") ;
     6331                }
     6332
     6333                // descriptors in DSI
     6334                $rqt = "create table if not exists bannettes_descriptors(
     6335                        num_bannette int not null default 0,
     6336                        num_noeud int not null default 0,
     6337                        bannette_descriptor_order int not null default 0,
     6338                        primary key (num_bannette,num_noeud)
     6339                )";
     6340                echo traite_rqt($rqt,"create table bannettes_descriptors") ;
     6341
     6342                //ajout du champ bannette_mail dans bannette_abon
     6343                $rqt = "ALTER TABLE bannette_abon ADD bannette_mail varchar(255) not null default '' ";
     6344                echo traite_rqt($rqt,"alter table bannette_abon add bannette_mail");
     6345
     6346                //AR - on a vu un cas ou ca se passe mal dans la 5.10, par précaution, on répète!
     6347                if(!pmb_mysql_num_rows(pmb_mysql_query("select id_editorial_type from cms_editorial_types where editorial_type_element  ='article_generic'"))){
     6348                        $rqt = "insert into cms_editorial_types set editorial_type_element = 'article_generic', editorial_type_label ='CP pour Article'";
     6349                        echo traite_rqt($rqt,"insert into cms_editorial_types set editorial_type_element = 'article_generic'") ;
     6350                }
     6351                if(!pmb_mysql_num_rows(pmb_mysql_query("select id_editorial_type from cms_editorial_types where editorial_type_element  ='section_generic'"))){
     6352                        $rqt = "insert into cms_editorial_types set editorial_type_element = 'section_generic', editorial_type_label ='CP pour Rubrique'";
     6353                        echo traite_rqt($rqt,"insert into cms_editorial_types set editorial_type_element = 'section_generic'") ;
     6354                }
     6355
     6356                //DG - Augmentation de la taille du champ mention_date de la table bulletins
     6357                $rqt = "ALTER TABLE bulletins MODIFY mention_date varchar(255) not null default ''";
     6358                echo traite_rqt($rqt,"alter table bulletins modify mention_date");
     6359
     6360                //DG - parametre pour l'affichage des notices de bulletins dans la navigation a2z
     6361                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='perio_a2z_show_bulletin_notice' "))==0){
     6362                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     6363                        VALUES (0, 'opac', 'perio_a2z_show_bulletin_notice', '0', 'Affichage de la notice de bulletin dans le navigateur de périodiques', 'c_recherche',0) ";
     6364                        echo traite_rqt($rqt, "insert opac_perio_a2z_show_bulletin_notice=0 into parametres");
     6365                }
     6366
     6367                //DG - ajout d'un commentaire de gestion pour les suggestions
     6368                $rqt = "ALTER TABLE suggestions ADD commentaires_gestion TEXT AFTER commentaires";
     6369                echo traite_rqt($rqt,"alter table suggestions add commentaires_gestion");
     6370
     6371                //NG - Champs perso author
     6372                $rqt = "create table if not exists author_custom (
     6373                        idchamp int(10) unsigned NOT NULL auto_increment,
     6374                        num_type int unsigned not null default 0,
     6375                        name varchar(255) NOT NULL default '',
     6376                        titre varchar(255) default NULL,
     6377                        type varchar(10) NOT NULL default 'text',
     6378                        datatype varchar(10) NOT NULL default '',
     6379                        options text,
     6380                        multiple int(11) NOT NULL default 0,
     6381                        obligatoire int(11) NOT NULL default 0,
     6382                        ordre int(11) default NULL,
     6383                        search INT(1) unsigned NOT NULL DEFAULT 0,
     6384                        export INT(1) unsigned NOT NULL DEFAULT 0,
     6385                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     6386                        pond int not null default 100,
     6387                        opac_sort INT NOT NULL DEFAULT 0,
     6388                        PRIMARY KEY  (idchamp)) ";
     6389                echo traite_rqt($rqt,"create table author_custom ");
     6390
     6391                $rqt = "create table if not exists author_custom_lists (
     6392                        author_custom_champ int(10) unsigned NOT NULL default 0,
     6393                        author_custom_list_value varchar(255) default NULL,
     6394                        author_custom_list_lib varchar(255) default NULL,
     6395                        ordre int(11) default NULL,
     6396                        KEY editorial_custom_champ (author_custom_champ),
     6397                        KEY editorial_champ_list_value (author_custom_champ,author_custom_list_value)) " ;
     6398                echo traite_rqt($rqt,"create table if not exists author_custom_lists ");
     6399
     6400                $rqt = "create table if not exists author_custom_values (
     6401                        author_custom_champ int(10) unsigned NOT NULL default 0,
     6402                        author_custom_origine int(10) unsigned NOT NULL default 0,
     6403                        author_custom_small_text varchar(255) default NULL,
     6404                        author_custom_text text,
     6405                        author_custom_integer int(11) default NULL,
     6406                        author_custom_date date default NULL,
     6407                        author_custom_float float default NULL,
     6408                        KEY editorial_custom_champ (author_custom_champ),
     6409                        KEY editorial_custom_origine (author_custom_origine)) " ;
     6410                echo traite_rqt($rqt,"create table if not exists author_custom_values ");
     6411
     6412                //NG - Champs perso categ
     6413                $rqt = "create table if not exists categ_custom (
     6414                        idchamp int(10) unsigned NOT NULL auto_increment,
     6415                        num_type int unsigned not null default 0,
     6416                        name varchar(255) NOT NULL default '',
     6417                        titre varchar(255) default NULL,
     6418                        type varchar(10) NOT NULL default 'text',
     6419                        datatype varchar(10) NOT NULL default '',
     6420                        options text,
     6421                        multiple int(11) NOT NULL default 0,
     6422                        obligatoire int(11) NOT NULL default 0,
     6423                        ordre int(11) default NULL,
     6424                        search INT(1) unsigned NOT NULL DEFAULT 0,
     6425                        export INT(1) unsigned NOT NULL DEFAULT 0,
     6426                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     6427                        pond int not null default 100,
     6428                        opac_sort INT NOT NULL DEFAULT 0,
     6429                        PRIMARY KEY  (idchamp)) ";
     6430                echo traite_rqt($rqt,"create table categ_custom ");
     6431
     6432                $rqt = "create table if not exists categ_custom_lists (
     6433                        categ_custom_champ int(10) unsigned NOT NULL default 0,
     6434                        categ_custom_list_value varchar(255) default NULL,
     6435                        categ_custom_list_lib varchar(255) default NULL,
     6436                        ordre int(11) default NULL,
     6437                        KEY editorial_custom_champ (categ_custom_champ),
     6438                        KEY editorial_champ_list_value (categ_custom_champ,categ_custom_list_value)) " ;
     6439                echo traite_rqt($rqt,"create table if not exists categ_custom_lists ");
     6440
     6441                $rqt = "create table if not exists categ_custom_values (
     6442                        categ_custom_champ int(10) unsigned NOT NULL default 0,
     6443                        categ_custom_origine int(10) unsigned NOT NULL default 0,
     6444                        categ_custom_small_text varchar(255) default NULL,
     6445                        categ_custom_text text,
     6446                        categ_custom_integer int(11) default NULL,
     6447                        categ_custom_date date default NULL,
     6448                        categ_custom_float float default NULL,
     6449                        KEY editorial_custom_champ (categ_custom_champ),
     6450                        KEY editorial_custom_origine (categ_custom_origine)) " ;
     6451                echo traite_rqt($rqt,"create table if not exists categ_custom_values ");
     6452
     6453                //NG - Champs perso publisher
     6454                $rqt = "create table if not exists publisher_custom (
     6455                        idchamp int(10) unsigned NOT NULL auto_increment,
     6456                        num_type int unsigned not null default 0,
     6457                        name varchar(255) NOT NULL default '',
     6458                        titre varchar(255) default NULL,
     6459                        type varchar(10) NOT NULL default 'text',
     6460                        datatype varchar(10) NOT NULL default '',
     6461                        options text,
     6462                        multiple int(11) NOT NULL default 0,
     6463                        obligatoire int(11) NOT NULL default 0,
     6464                        ordre int(11) default NULL,
     6465                        search INT(1) unsigned NOT NULL DEFAULT 0,
     6466                        export INT(1) unsigned NOT NULL DEFAULT 0,
     6467                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     6468                        pond int not null default 100,
     6469                        opac_sort INT NOT NULL DEFAULT 0,
     6470                        PRIMARY KEY  (idchamp)) ";
     6471                echo traite_rqt($rqt,"create table publisher_custom ");
     6472
     6473                $rqt = "create table if not exists publisher_custom_lists (
     6474                        publisher_custom_champ int(10) unsigned NOT NULL default 0,
     6475                        publisher_custom_list_value varchar(255) default NULL,
     6476                        publisher_custom_list_lib varchar(255) default NULL,
     6477                        ordre int(11) default NULL,
     6478                        KEY editorial_custom_champ (publisher_custom_champ),
     6479                        KEY editorial_champ_list_value (publisher_custom_champ,publisher_custom_list_value)) " ;
     6480                echo traite_rqt($rqt,"create table if not exists publisher_custom_lists ");
     6481
     6482                $rqt = "create table if not exists publisher_custom_values (
     6483                        publisher_custom_champ int(10) unsigned NOT NULL default 0,
     6484                        publisher_custom_origine int(10) unsigned NOT NULL default 0,
     6485                        publisher_custom_small_text varchar(255) default NULL,
     6486                        publisher_custom_text text,
     6487                        publisher_custom_integer int(11) default NULL,
     6488                        publisher_custom_date date default NULL,
     6489                        publisher_custom_float float default NULL,
     6490                        KEY editorial_custom_champ (publisher_custom_champ),
     6491                        KEY editorial_custom_origine (publisher_custom_origine)) " ;
     6492                echo traite_rqt($rqt,"create table if not exists publisher_custom_values ");
     6493
     6494                //NG - Champs perso collection
     6495                $rqt = "create table if not exists collection_custom (
     6496                        idchamp int(10) unsigned NOT NULL auto_increment,
     6497                        num_type int unsigned not null default 0,
     6498                        name varchar(255) NOT NULL default '',
     6499                        titre varchar(255) default NULL,
     6500                        type varchar(10) NOT NULL default 'text',
     6501                        datatype varchar(10) NOT NULL default '',
     6502                        options text,
     6503                        multiple int(11) NOT NULL default 0,
     6504                        obligatoire int(11) NOT NULL default 0,
     6505                        ordre int(11) default NULL,
     6506                        search INT(1) unsigned NOT NULL DEFAULT 0,
     6507                        export INT(1) unsigned NOT NULL DEFAULT 0,
     6508                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     6509                        pond int not null default 100,
     6510                        opac_sort INT NOT NULL DEFAULT 0,
     6511                        PRIMARY KEY  (idchamp)) ";
     6512                echo traite_rqt($rqt,"create table collection_custom ");
     6513
     6514                $rqt = "create table if not exists collection_custom_lists (
     6515                        collection_custom_champ int(10) unsigned NOT NULL default 0,
     6516                        collection_custom_list_value varchar(255) default NULL,
     6517                        collection_custom_list_lib varchar(255) default NULL,
     6518                        ordre int(11) default NULL,
     6519                        KEY editorial_custom_champ (collection_custom_champ),
     6520                        KEY editorial_champ_list_value (collection_custom_champ,collection_custom_list_value)) " ;
     6521                echo traite_rqt($rqt,"create table if not exists collection_custom_lists ");
     6522
     6523                $rqt = "create table if not exists collection_custom_values (
     6524                        collection_custom_champ int(10) unsigned NOT NULL default 0,
     6525                        collection_custom_origine int(10) unsigned NOT NULL default 0,
     6526                        collection_custom_small_text varchar(255) default NULL,
     6527                        collection_custom_text text,
     6528                        collection_custom_integer int(11) default NULL,
     6529                        collection_custom_date date default NULL,
     6530                        collection_custom_float float default NULL,
     6531                        KEY editorial_custom_champ (collection_custom_champ),
     6532                        KEY editorial_custom_origine (collection_custom_origine)) " ;
     6533                echo traite_rqt($rqt,"create table if not exists collection_custom_values ");
     6534
     6535                //NG - Champs perso subcollection
     6536                $rqt = "create table if not exists subcollection_custom (
     6537                        idchamp int(10) unsigned NOT NULL auto_increment,
     6538                        num_type int unsigned not null default 0,
     6539                        name varchar(255) NOT NULL default '',
     6540                        titre varchar(255) default NULL,
     6541                        type varchar(10) NOT NULL default 'text',
     6542                        datatype varchar(10) NOT NULL default '',
     6543                        options text,
     6544                        multiple int(11) NOT NULL default 0,
     6545                        obligatoire int(11) NOT NULL default 0,
     6546                        ordre int(11) default NULL,
     6547                        search INT(1) unsigned NOT NULL DEFAULT 0,
     6548                        export INT(1) unsigned NOT NULL DEFAULT 0,
     6549                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     6550                        pond int not null default 100,
     6551                        opac_sort INT NOT NULL DEFAULT 0,
     6552                        PRIMARY KEY  (idchamp)) ";
     6553                echo traite_rqt($rqt,"create table subcollection_custom ");
     6554
     6555                $rqt = "create table if not exists subcollection_custom_lists (
     6556                        subcollection_custom_champ int(10) unsigned NOT NULL default 0,
     6557                        subcollection_custom_list_value varchar(255) default NULL,
     6558                        subcollection_custom_list_lib varchar(255) default NULL,
     6559                        ordre int(11) default NULL,
     6560                        KEY editorial_custom_champ (subcollection_custom_champ),
     6561                        KEY editorial_champ_list_value (subcollection_custom_champ,subcollection_custom_list_value)) " ;
     6562                echo traite_rqt($rqt,"create table if not exists subcollection_custom_lists ");
     6563
     6564                $rqt = "create table if not exists subcollection_custom_values (
     6565                        subcollection_custom_champ int(10) unsigned NOT NULL default 0,
     6566                        subcollection_custom_origine int(10) unsigned NOT NULL default 0,
     6567                        subcollection_custom_small_text varchar(255) default NULL,
     6568                        subcollection_custom_text text,
     6569                        subcollection_custom_integer int(11) default NULL,
     6570                        subcollection_custom_date date default NULL,
     6571                        subcollection_custom_float float default NULL,
     6572                        KEY editorial_custom_champ (subcollection_custom_champ),
     6573                        KEY editorial_custom_origine (subcollection_custom_origine)) " ;
     6574                echo traite_rqt($rqt,"create table if not exists subcollection_custom_values ");
     6575
     6576                //NG - Champs perso serie
     6577                $rqt = "create table if not exists serie_custom (
     6578                        idchamp int(10) unsigned NOT NULL auto_increment,
     6579                        num_type int unsigned not null default 0,
     6580                        name varchar(255) NOT NULL default '',
     6581                        titre varchar(255) default NULL,
     6582                        type varchar(10) NOT NULL default 'text',
     6583                        datatype varchar(10) NOT NULL default '',
     6584                        options text,
     6585                        multiple int(11) NOT NULL default 0,
     6586                        obligatoire int(11) NOT NULL default 0,
     6587                        ordre int(11) default NULL,
     6588                        search INT(1) unsigned NOT NULL DEFAULT 0,
     6589                        export INT(1) unsigned NOT NULL DEFAULT 0,
     6590                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     6591                        pond int not null default 100,
     6592                        opac_sort INT NOT NULL DEFAULT 0,
     6593                        PRIMARY KEY  (idchamp)) ";
     6594                echo traite_rqt($rqt,"create table serie_custom ");
     6595
     6596                $rqt = "create table if not exists serie_custom_lists (
     6597                        serie_custom_champ int(10) unsigned NOT NULL default 0,
     6598                        serie_custom_list_value varchar(255) default NULL,
     6599                        serie_custom_list_lib varchar(255) default NULL,
     6600                        ordre int(11) default NULL,
     6601                        KEY editorial_custom_champ (serie_custom_champ),
     6602                        KEY editorial_champ_list_value (serie_custom_champ,serie_custom_list_value)) " ;
     6603                echo traite_rqt($rqt,"create table if not exists serie_custom_lists ");
     6604
     6605                $rqt = "create table if not exists serie_custom_values (
     6606                        serie_custom_champ int(10) unsigned NOT NULL default 0,
     6607                        serie_custom_origine int(10) unsigned NOT NULL default 0,
     6608                        serie_custom_small_text varchar(255) default NULL,
     6609                        serie_custom_text text,
     6610                        serie_custom_integer int(11) default NULL,
     6611                        serie_custom_date date default NULL,
     6612                        serie_custom_float float default NULL,
     6613                        KEY editorial_custom_champ (serie_custom_champ),
     6614                        KEY editorial_custom_origine (serie_custom_origine)) " ;
     6615                echo traite_rqt($rqt,"create table if not exists serie_custom_values ");
     6616
     6617                //NG - Champs perso tu
     6618                $rqt = "create table if not exists tu_custom (
     6619                        idchamp int(10) unsigned NOT NULL auto_increment,
     6620                        num_type int unsigned not null default 0,
     6621                        name varchar(255) NOT NULL default '',
     6622                        titre varchar(255) default NULL,
     6623                        type varchar(10) NOT NULL default 'text',
     6624                        datatype varchar(10) NOT NULL default '',
     6625                        options text,
     6626                        multiple int(11) NOT NULL default 0,
     6627                        obligatoire int(11) NOT NULL default 0,
     6628                        ordre int(11) default NULL,
     6629                        search INT(1) unsigned NOT NULL DEFAULT 0,
     6630                        export INT(1) unsigned NOT NULL DEFAULT 0,
     6631                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     6632                        pond int not null default 100,
     6633                        opac_sort INT NOT NULL DEFAULT 0,
     6634                        PRIMARY KEY  (idchamp)) ";
     6635                echo traite_rqt($rqt,"create table tu_custom ");
     6636
     6637                $rqt = "create table if not exists tu_custom_lists (
     6638                        tu_custom_champ int(10) unsigned NOT NULL default 0,
     6639                        tu_custom_list_value varchar(255) default NULL,
     6640                        tu_custom_list_lib varchar(255) default NULL,
     6641                        ordre int(11) default NULL,
     6642                        KEY editorial_custom_champ (tu_custom_champ),
     6643                        KEY editorial_champ_list_value (tu_custom_champ,tu_custom_list_value)) " ;
     6644                echo traite_rqt($rqt,"create table if not exists tu_custom_lists ");
     6645
     6646                $rqt = "create table if not exists tu_custom_values (
     6647                        tu_custom_champ int(10) unsigned NOT NULL default 0,
     6648                        tu_custom_origine int(10) unsigned NOT NULL default 0,
     6649                        tu_custom_small_text varchar(255) default NULL,
     6650                        tu_custom_text text,
     6651                        tu_custom_integer int(11) default NULL,
     6652                        tu_custom_date date default NULL,
     6653                        tu_custom_float float default NULL,
     6654                        KEY editorial_custom_champ (tu_custom_champ),
     6655                        KEY editorial_custom_origine (tu_custom_origine)) " ;
     6656                echo traite_rqt($rqt,"create table if not exists tu_custom_values ");
     6657
     6658                //NG - Champs perso indexint
     6659                $rqt = "create table if not exists indexint_custom (
     6660                        idchamp int(10) unsigned NOT NULL auto_increment,
     6661                        num_type int unsigned not null default 0,
     6662                        name varchar(255) NOT NULL default '',
     6663                        titre varchar(255) default NULL,
     6664                        type varchar(10) NOT NULL default 'text',
     6665                        datatype varchar(10) NOT NULL default '',
     6666                        options text,
     6667                        multiple int(11) NOT NULL default 0,
     6668                        obligatoire int(11) NOT NULL default 0,
     6669                        ordre int(11) default NULL,
     6670                        search INT(1) unsigned NOT NULL DEFAULT 0,
     6671                        export INT(1) unsigned NOT NULL DEFAULT 0,
     6672                        exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     6673                        pond int not null default 100,
     6674                        opac_sort INT NOT NULL DEFAULT 0,
     6675                        PRIMARY KEY  (idchamp)) ";
     6676                echo traite_rqt($rqt,"create table indexint_custom ");
     6677
     6678                $rqt = "create table if not exists indexint_custom_lists (
     6679                        indexint_custom_champ int(10) unsigned NOT NULL default 0,
     6680                        indexint_custom_list_value varchar(255) default NULL,
     6681                        indexint_custom_list_lib varchar(255) default NULL,
     6682                        ordre int(11) default NULL,
     6683                        KEY editorial_custom_champ (indexint_custom_champ),
     6684                        KEY editorial_champ_list_value (indexint_custom_champ,indexint_custom_list_value)) " ;
     6685                echo traite_rqt($rqt,"create table if not exists indexint_custom_lists ");
     6686
     6687                $rqt = "create table if not exists indexint_custom_values (
     6688                        indexint_custom_champ int(10) unsigned NOT NULL default 0,
     6689                        indexint_custom_origine int(10) unsigned NOT NULL default 0,
     6690                        indexint_custom_small_text varchar(255) default NULL,
     6691                        indexint_custom_text text,
     6692                        indexint_custom_integer int(11) default NULL,
     6693                        indexint_custom_date date default NULL,
     6694                        indexint_custom_float float default NULL,
     6695                        KEY editorial_custom_champ (indexint_custom_champ),
     6696                        KEY editorial_custom_origine (indexint_custom_origine)) " ;
     6697                echo traite_rqt($rqt,"create table if not exists indexint_custom_values ");
     6698
     6699                // +-------------------------------------------------+
     6700                echo "</table>";
     6701                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     6702                $res = pmb_mysql_query($rqt, $dbh) ;
     6703                echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     6704                $action=$action+$increment;
     6705                //echo form_relance ("v5.12");
     6706                //break;
     6707
     6708//case "v5.12":
     6709                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     6710                // +-------------------------------------------------+
     6711
     6712                //DG - parametre pour forcer l'exécution des procédures
     6713                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='procs_force_execution' "))==0){
     6714                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     6715                VALUES (0, 'pmb', 'procs_force_execution', '0', 'Permettre le forçage de l\'exécution des procédures', '',0) ";
     6716                        echo traite_rqt($rqt, "insert pmb_procs_force_execution=0 into parametres");
     6717                        $rqt = "update users set rights=rights+131072 where rights<131072 and userid=1 ";
     6718                        echo traite_rqt($rqt, "update users add editions forcing rights where super user ");
     6719                }
     6720
     6721                //NG - ajout facette en dsi
     6722                $rqt = "ALTER TABLE bannettes ADD group_type int unsigned NOT NULL default 0 AFTER notice_tpl";
     6723                echo traite_rqt($rqt,"alter table bannettes add group_type");
     6724
     6725                $rqt = "CREATE TABLE if not exists bannette_facettes (
     6726                        num_ban_facette int unsigned NOT NULL default 0,
     6727                        ban_facette_critere int(5) not null default 0,
     6728                        ban_facette_ss_critere int(5) not null default 0,
     6729                        ban_facette_order int(1) not null default 0,
     6730                        KEY bannette_facettes_key (num_ban_facette,ban_facette_critere,ban_facette_ss_critere)) " ;
     6731                echo traite_rqt($rqt,"CREATE TABLE bannette_facettes");
     6732
     6733                //DB - L'authentification Digest impose une valeur, ce qui n'est pas le cas avec une authentification externe
     6734                $rqt= "alter table empr add empr_digest varchar(255) not null default '' after empr_password";
     6735                echo traite_rqt($rqt,"alter table empr add empr_digest");
     6736
     6737                //AB
     6738                $rqt = "UPDATE users SET value_deflt_relation=CONCAT(value_deflt_relation,'-up') WHERE value_deflt_relation!='' AND value_deflt_relation NOT LIKE '%-%'";
     6739                echo traite_rqt($rqt, 'UPDATE users SET value_deflt_relation=CONCAT(value_deflt_relation,"-up")');
     6740
     6741                // +-------------------------------------------------+
     6742                echo "</table>";
     6743                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     6744                $res = pmb_mysql_query($rqt, $dbh) ;
     6745                echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     6746                $action=$action+$increment;
     6747                //echo form_relance ("v5.13");
     6748                //break;
     6749
     6750//case "v5.13":
     6751                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     6752                // +-------------------------------------------------+
     6753
     6754                //AB parametre OPAC pour activer ou non le drag and drop si notice_depliable != 2
     6755                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='draggable' "))==0){
     6756                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     6757                                VALUES (0, 'opac', 'draggable', '1', 'Permet d\'activer le glisser déposer dans le panier pour l\'affichage des notices à l\'OPAC', 'e_aff_notice',0) ";
     6758                        echo traite_rqt($rqt, "insert opac_draggable=1 into parametres");
     6759                }
     6760
     6761                //DG - Modification de la longueur du champ description de la table opac_liste_lecture
     6762                $rqt = "ALTER TABLE opac_liste_lecture MODIFY description TEXT ";
     6763                echo traite_rqt($rqt,"alter table opac_liste_lecture modify description");
     6764
     6765                //DB - Ajout d'un champ timestamp dans la table acces_user_2
     6766                @pmb_mysql_query("describe acces_usr_2",$dbh);
     6767                if (!pmb_mysql_error($dbh)) {
     6768                        $rqt = "ALTER IGNORE TABLE acces_usr_2 ADD updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ";
     6769                        echo traite_rqt($rqt,"alter table acces_usr_2 add field updated");
     6770                }
     6771
     6772                // +-------------------------------------------------+
     6773                echo "</table>";
     6774                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     6775                $res = pmb_mysql_query($rqt, $dbh) ;
     6776                echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     6777                $action=$action+$increment;
     6778                //echo form_relance ("v5.14");
     6779                //break;
     6780
     6781//      case "v5.14":
     6782               
     6783                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     6784                // +-------------------------------------------------+
     6785                // MB - Indexer la colonne num_renvoi_voir de la table noeuds
     6786                $rqt = "ALTER TABLE noeuds DROP INDEX i_num_renvoi_voir";
     6787                echo traite_rqt($rqt,"ALTER TABLE noeuds DROP INDEX i_num_renvoi_voir");
     6788                $rqt = "ALTER TABLE noeuds ADD INDEX i_num_renvoi_voir (num_renvoi_voir)";
     6789                echo traite_rqt($rqt,"ALTER TABLE noeuds ADD INDEX i_num_renvoi_voir (num_renvoi_voir)");
     6790
     6791                $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' ";
     6792                echo traite_rqt($rqt,"update opac notices_format_onglets comments in parametres") ;
     6793
     6794                $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' ";
     6795                echo traite_rqt($rqt,"update opac_autolevel comments in parametres");
     6796
     6797
     6798                //Création des tables pour le portfolio
     6799                $rqt = "create table cms_collections (
     6800                        id_collection int unsigned not null auto_increment primary key,
     6801                        collection_title varchar(255) not null default '',
     6802                        collection_description text not null,
     6803                        collection_num_parent int not null default 0,
     6804                        collection_num_storage int not null default 0,
     6805                        index i_cms_collection_title(collection_title)
     6806                )";
     6807                echo traite_rqt($rqt,"create table cms_collections") ;
     6808                $rqt = "create table cms_documents (
     6809                        id_document int unsigned not null auto_increment primary key,
     6810                        document_title varchar(255) not null default '',
     6811                        document_description text not null,
     6812                        document_filename varchar(255) not null default '',
     6813                        document_mimetype varchar(100) not null default '',
     6814                        document_filesize int not null default 0,
     6815                        document_vignette mediumblob not null default '',
     6816                        document_url text not null,
     6817                        document_path varchar(255) not null default '',
     6818                        document_create_date date not null default '0000-00-00',
     6819                        document_num_storage int not null default 0,
     6820                        document_type_object varchar(255) not null default '',
     6821                        document_num_object int not null default 0,
     6822                        index i_cms_document_title(document_title)
     6823                )";
     6824                echo traite_rqt($rqt,"create table cms_documents") ;
     6825                $rqt = "create table storages (
     6826                        id_storage int unsigned not null auto_increment primary key,
     6827                        storage_name varchar(255) not null default '',
     6828                        storage_class varchar(255) not null default '',
     6829                        storage_params text not null,
     6830                        index i_storage_class(storage_class)
     6831                )";
     6832                echo traite_rqt($rqt,"create table storages") ;
     6833                $rqt = "create table cms_documents_links (
     6834                        document_link_type_object varchar(255) not null default '',
     6835                        document_link_num_object int not null default 0,
     6836                        document_link_num_document int not null default 0,
     6837                        primary key(document_link_type_object,document_link_num_object,document_link_num_document)
     6838                )";
     6839                echo traite_rqt($rqt,"create table cms_documents_links") ;
     6840
     6841                // FT - Ajout des paramètres pour forcer les tags meta pour les moteurs de recherche
     6842                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='meta_description' "))==0){
     6843                        $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)";
     6844                        echo traite_rqt($rqt,"INSERT INTO parametres opac_meta_description");
     6845                }
     6846                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='meta_keywords' "))==0){
     6847                        $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)";
     6848                        echo traite_rqt($rqt,"INSERT INTO parametres opac_meta_keywords");
     6849                }
     6850                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='meta_author' "))==0){
     6851                        $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)";
     6852                        echo traite_rqt($rqt,"INSERT INTO parametres opac_meta_author");
     6853                }
     6854
     6855                //DG - autoriser le code HTML dans les cotes exemplaires
     6856                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='html_allow_expl_cote' "))==0){
     6857                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     6858                        VALUES (0, 'pmb', 'html_allow_expl_cote', '0', 'Autoriser le code HTML dans les cotes exemplaires ? \n 0 : non \n 1', '',0) ";
     6859                        echo traite_rqt($rqt, "insert pmb_html_allow_expl_cote=0 into parametres");
     6860                }
     6861
     6862                //maj valeurs possibles pour empr_sort_rows
     6863                $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' ";
     6864                echo traite_rqt($rqt,"update empr_sort_rows into parametres");
     6865
     6866                //DB - création table index pour le magasin rdf
     6867                $rqt = "create table rdfstore_index (
     6868                                        num_triple int(10) unsigned not null default 0,
     6869                                        subject_uri text not null ,
     6870                                        predicat_uri text not null ,
     6871                                        num_object int(10) unsigned not null default 0 primary key,
     6872                                        object_val text not null ,
     6873                                        object_index text not null ,
     6874                                        object_lang char(5) not null default ''
     6875                ) default charset=utf8 ";
     6876                echo traite_rqt($rqt,"create table rdfstore_index");
     6877
     6878                // MB - Création d'une table de cache pour les cadres du portail pour accélérer l'affichage
     6879                $rqt = "DROP TABLE IF EXISTS cms_cache_cadres";
     6880                echo traite_rqt($rqt,"DROP TABLE IF EXISTS cms_cache_cadres");
     6881                $rqt = "CREATE TABLE  cms_cache_cadres (
     6882                        cache_cadre_hash VARCHAR( 32 ) NOT NULL,
     6883                        cache_cadre_type_content VARCHAR(30) NOT NULL,
     6884                        cache_cadre_create_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
     6885                        cache_cadre_content MEDIUMTEXT NOT NULL,
     6886                        PRIMARY KEY (  cache_cadre_hash, cache_cadre_type_content )
     6887                );";
     6888                echo traite_rqt($rqt,"CREATE TABLE  cms_cache_cadres");
     6889
     6890                $rqt = "ALTER TABLE rdfstore_index ADD subject_type TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER  subject_uri";
     6891                echo traite_rqt($rqt,"alter table rdfstore_index add subject_type");
     6892
     6893                // Info de réindexation
     6894                $rqt = " select 1 " ;
     6895                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> ") ;
     6896
     6897                // AP - Ajout de l'ordre dans les rubriques et les articles
     6898                $rqt = "ALTER TABLE cms_sections ADD section_order INT UNSIGNED default 0";
     6899                echo traite_rqt($rqt,"alter table cms_sections add section_order");
     6900
     6901                $rqt = "ALTER TABLE cms_articles ADD article_order INT UNSIGNED default 0";
     6902                echo traite_rqt($rqt,"alter table cms_articles add article_order");
     6903
     6904                //DG - CSS add on en gestion
     6905                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='default_style_addon' "))==0){
     6906                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     6907                        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) ";
     6908                        echo traite_rqt($rqt, "insert pmb_default_style_addon into parametres");
     6909                }
     6910
     6911                // NG - circulation sans retour
     6912                $rqt = "ALTER TABLE serialcirc ADD serialcirc_no_ret INT UNSIGNED not null default 0";
     6913                echo traite_rqt($rqt,"alter table serialcirc add serialcirc_no_ret");
     6914
     6915                // NG - personnalisation d'impression de la liste de circulation des périodiques
     6916                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='serialcirc_subst' "))==0){
     6917                        $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)";
     6918                        echo traite_rqt($rqt,"INSERT INTO parametres pmb_serialcirc_subst");
     6919                }
     6920
     6921                //MB - Augmenter la taille du libellé de groupe
     6922                $rqt = "ALTER TABLE groupe CHANGE libelle_groupe libelle_groupe VARCHAR(255) NOT NULL";
     6923                echo traite_rqt($rqt,"alter table groupe");
     6924
     6925                //AR - Ajout d'un type de cache pour un cadre
     6926                $rqt = "alter table cms_cadres add cadre_modcache varchar(255) not null default 'get_post_view'";
     6927                echo traite_rqt($rqt,"alter table cms_cadres add cadre_modcache");
     6928
     6929                //DG - Type de relation par défaut en création de périodique
     6930                $rqt = "ALTER TABLE users ADD value_deflt_relation_serial VARCHAR( 20 ) NOT NULL DEFAULT '' AFTER value_deflt_relation";
     6931                echo traite_rqt($rqt,"ALTER TABLE users ADD default value_deflt_relation_serial after value_deflt_relation");
     6932
     6933                //DG - Type de relation par défaut en création de bulletin
     6934                $rqt = "ALTER TABLE users ADD value_deflt_relation_bulletin VARCHAR( 20 ) NOT NULL DEFAULT '' AFTER value_deflt_relation_serial";
     6935                echo traite_rqt($rqt,"ALTER TABLE users ADD default value_deflt_relation_bulletin after value_deflt_relation_serial");
     6936
     6937                //DG - Type de relation par défaut en création d'article
     6938                $rqt = "ALTER TABLE users ADD value_deflt_relation_analysis VARCHAR( 20 ) NOT NULL DEFAULT '' AFTER value_deflt_relation_bulletin";
     6939                echo traite_rqt($rqt,"ALTER TABLE users ADD default value_deflt_relation_analysis after value_deflt_relation_bulletin");
     6940
     6941                //DG - Mise à jour des valeurs en fonction du type de relation par défaut en création de notice, si la valeur est vide !
     6942                if ($res = pmb_mysql_query("select userid, value_deflt_relation,value_deflt_relation_serial,value_deflt_relation_bulletin,value_deflt_relation_analysis from users")){
     6943                        while ( $row = pmb_mysql_fetch_object($res)) {
     6944                                if ($row->value_deflt_relation_serial == '') pmb_mysql_query("update users set value_deflt_relation_serial='".$row->value_deflt_relation."' where userid=".$row->userid);
     6945                                if ($row->value_deflt_relation_bulletin == '') pmb_mysql_query("update users set value_deflt_relation_bulletin='".$row->value_deflt_relation."' where userid=".$row->userid);
     6946                                if ($row->value_deflt_relation_analysis == '') pmb_mysql_query("update users set value_deflt_relation_analysis='".$row->value_deflt_relation."' where userid=".$row->userid);
     6947                        }
     6948                }
     6949
     6950                //DG - Activer le prêt court par défaut
     6951                $rqt = "ALTER TABLE users ADD deflt_short_loan_activate INT(1) UNSIGNED DEFAULT 0 NOT NULL ";
     6952                echo traite_rqt($rqt, "ALTER TABLE users ADD deflt_short_loan_activate");
     6953
     6954                //DG - Alerter l'utilisateur par mail des nouvelles inscriptions en OPAC ?
     6955                $rqt = "ALTER TABLE users ADD user_alert_subscribemail INT(1) UNSIGNED NOT NULL DEFAULT 0 after user_alert_demandesmail";
     6956                echo traite_rqt($rqt,"ALTER TABLE users add user_alert_subscribemail default 0");
     6957
     6958                //DB - Modification commentaire autolevel
     6959                $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' ";
     6960                echo traite_rqt($rqt,"update parameter comment for opac_autolevel2");
     6961
     6962                //AR - Ajout du paramètres pour la durée de validité du cache des cadres du potail
     6963                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'cms' and sstype_param='cache_ttl' "))==0){
     6964                        $rqt = "insert into parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     6965                        VALUES (0, 'cms', 'cache_ttl', '1800', 'durée de vie du cache des cadres du portail (en secondes)', '',0) ";
     6966                        echo traite_rqt($rqt, "insert cms_caches_ttl into parametres");
     6967                }
     6968
     6969                //DG - Périodicité : Jour du mois
     6970                $rqt = "ALTER TABLE planificateur ADD perio_jour_mois VARCHAR( 128 ) DEFAULT '*' AFTER perio_minute";
     6971                echo traite_rqt($rqt,"ALTER TABLE planificateur ADD perio_jour_mois DEFAULT * after perio_minute");
     6972
     6973                //DG - Replanifier la tâche en cas d'échec
     6974                $rqt = "alter table taches_type add restart_on_failure int(1) UNSIGNED DEFAULT 0 NOT NULL";
     6975                echo traite_rqt($rqt,"alter table taches_type add restart_on_failure");
     6976
     6977                //DG - Alerte mail en cas d'échec de la tâche
     6978                $rqt = "alter table taches_type add alert_mail_on_failure VARCHAR(255) DEFAULT ''";
     6979                echo traite_rqt($rqt,"alter table taches_type add alert_mail_on_failure");
     6980
     6981                //DG - Préremplissage de la vignette des dépouillements
     6982                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='serial_thumbnail_url_article' "))==0){
     6983                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     6984                        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) ";
     6985                        echo traite_rqt($rqt, "insert pmb_serial_thumbnail_url_article=0 into parametres");
     6986                }
     6987
     6988                //DG - Délai en millisecondes entre les mails envoyés lors d'un envoi groupé
     6989                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='mail_delay' "))==0){
     6990                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     6991                                        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)" ;
     6992                        echo traite_rqt($rqt,"insert pmb_mail_delay=0 into parametres") ;
     6993                }
     6994
     6995                //DG - Timeout cURL sur la vérifications des liens
     6996                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='curl_timeout' "))==0){
     6997                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     6998                                        VALUES(0,'pmb','curl_timeout','5','Timeout cURL (en secondes) pour la vérification des liens', '',1)" ;
     6999                        echo traite_rqt($rqt,"insert pmb_curl_timeout=0 into parametres") ;
     7000                }
     7001
     7002                //DG - Autoriser la prolongation groupée pour tous les membres
     7003                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='allow_prolong_members_group' "))==0){
     7004                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7005                                        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) ";
     7006                        echo traite_rqt($rqt, "insert empr_allow_prolong_members_group=0 into parametres");
     7007                }
     7008
     7009
     7010                //DB - ajout d'un index stem+lang sur la table words
     7011                $rqt = "alter table words add index i_stem_lang(stem, lang)";
     7012                echo traite_rqt($rqt, "alter table words add index i_stem_lang");
     7013
     7014                //NG - Autoindex
     7015                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='auto_index_notice_fields' "))==0){
     7016                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7017                        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) ";
     7018                        echo traite_rqt($rqt, "insert thesaurus_auto_index_notice_fields='' into parametres");
     7019                }
     7020
     7021                //NG - Autoindex: surchage du parametrage de la recherche
     7022                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='auto_index_search_param' "))==0){
     7023                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7024                        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) ";
     7025                        echo traite_rqt($rqt, "insert thesaurus_auto_index_search_param='' into parametres");
     7026                }
     7027
     7028                //DG - Choix par défaut pour la prolongation des lecteurs
     7029                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='abonnement_default_debit' "))==0){
     7030                        $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') " ;
     7031                        echo traite_rqt($rqt,"insert empr_abonnement_default_debit = 0 into parametres");
     7032                }
     7033
     7034                //NG - Ajout indexation_lang dans la table notices
     7035                $rqt = "ALTER TABLE notices ADD indexation_lang VARCHAR( 20 ) NOT NULL DEFAULT '' ";
     7036                echo traite_rqt($rqt,"ALTER TABLE notices ADD indexation_lang VARCHAR( 20 ) NOT NULL DEFAULT '' ");
     7037
     7038                $rqt = "alter table users add xmlta_indexation_lang varchar(10) NOT NULL DEFAULT '' after deflt_integration_notice_statut";
     7039                echo traite_rqt($rqt,"alter table users add xmlta_indexation_lang");
     7040
     7041                //NG - Ajout ico_notice
     7042                $rqt = "ALTER TABLE connectors_sources ADD ico_notice VARCHAR( 255 ) NOT NULL DEFAULT '' ";
     7043                echo traite_rqt($rqt,"ALTER TABLE connectors_sources ADD ico_notice VARCHAR( 255 ) NOT NULL DEFAULT '' ");
     7044
     7045                //NG - liste des sources externes d'enrichissements à intégrer dans le a2z
     7046                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='perio_a2z_enrichissements' "))==0){
     7047                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7048                        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) ";
     7049                        echo traite_rqt($rqt, "insert opac_perio_a2z_enrichissements=0 into parametres");
     7050                }
     7051
     7052                //DG - Modification taille du champ empr_msg de la table empr
     7053                $rqt = "ALTER TABLE empr MODIFY empr_msg TEXT null " ;
     7054                echo traite_rqt($rqt,"alter table empr modify empr_msg");
     7055
     7056                //DG - Identifiant du template de notice par défaut en impression de panier
     7057                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='print_template_default' "))==0){
     7058                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7059                        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)";
     7060                        echo traite_rqt($rqt,"insert opac_print_template_default='0' into parametres");
     7061                }
     7062
     7063                //DG - Paramètre pour afficher le permalink de la notice dans le detail de la notice
     7064                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='show_permalink' "))==0){
     7065                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7066                        VALUES (0, 'pmb', 'show_permalink', '0', 'Afficher le lien permanent de l\'OPAC en gestion ? \n 0 : Non.\n 1 : Oui.', '',0) ";
     7067                        echo traite_rqt($rqt, "insert pmb_show_permalink=0 into parameters");
     7068                }
     7069
     7070                //AB - Ajout du champ pour choix d'un template d'export pour les flux RSS
     7071                $rqt = "ALTER TABLE rss_flux ADD tpl_rss_flux INT(11) UNSIGNED NOT NULL DEFAULT 0";
     7072                echo traite_rqt($rqt,"ALTER TABLE rss_flux ADD tpl_rss_flux INT(11) UNSIGNED NOT NULL DEFAULT 0 ");
     7073
     7074                //DG - Parametre pour afficher ou non l'emprunteur précédent dans la fiche exemplaire
     7075                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='expl_show_lastempr' "))==0){
     7076                        $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) ";
     7077                        echo traite_rqt($rqt, "insert pmb_expl_show_lastempr=1 into parameters");
     7078                }
     7079
     7080                // NG - Gestion de caisses
     7081                $rqt = "CREATE TABLE cashdesk (
     7082                        cashdesk_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
     7083                        cashdesk_name VARCHAR(255) NOT NULL DEFAULT '',
     7084                        cashdesk_autorisations VARCHAR(255) NOT NULL DEFAULT '',
     7085                        cashdesk_transactypes VARCHAR(255) NOT NULL DEFAULT '',
     7086                        cashdesk_cashbox INT UNSIGNED NOT NULL default 0
     7087                        )";
     7088                echo traite_rqt($rqt,"CREATE TABLE cashdesk");
     7089
     7090                $rqt = "CREATE TABLE cashdesk_locations (
     7091                        cashdesk_loc_cashdesk_num  INT UNSIGNED NOT NULL default 0,
     7092                        cashdesk_loc_num  INT UNSIGNED NOT NULL default 0,
     7093                        PRIMARY KEY(cashdesk_loc_cashdesk_num,cashdesk_loc_num)
     7094                        )";
     7095                echo traite_rqt($rqt,"CREATE TABLE cashdesk_locations");
     7096
     7097                $rqt = "CREATE TABLE cashdesk_sections (
     7098                        cashdesk_section_cashdesk_num  INT UNSIGNED NOT NULL default 0,
     7099                        cashdesk_section_num  INT UNSIGNED NOT NULL default 0,
     7100                        PRIMARY KEY(cashdesk_section_cashdesk_num,cashdesk_section_num)
     7101                        )";
     7102                echo traite_rqt($rqt,"CREATE TABLE cashdesk_sections");
     7103
     7104                // NG - Gestion de type de transactions
     7105                $rqt = "CREATE TABLE  transactype (
     7106                        transactype_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
     7107                        transactype_name VARCHAR(255) NOT NULL DEFAULT '',
     7108                        transactype_quick_allowed INT UNSIGNED NOT NULL default 0,
     7109                        transactype_unit_price FLOAT NOT NULL default 0
     7110                        )";
     7111                echo traite_rqt($rqt,"CREATE TABLE transactype");
     7112
     7113                // NG - Mémorisation du payement des transactions
     7114                $rqt = "CREATE TABLE transacash (
     7115                        transacash_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
     7116                        transacash_empr_num INT UNSIGNED NOT NULL default 0,
     7117                        transacash_desk_num INT UNSIGNED NOT NULL default 0,
     7118                        transacash_user_num INT UNSIGNED NOT NULL default 0,
     7119                        transacash_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     7120                        transacash_sold FLOAT NOT NULL default 0,
     7121                        transacash_collected FLOAT NOT NULL default 0,
     7122                        transacash_rendering FLOAT NOT NULL default 0
     7123                        )";
     7124                echo traite_rqt($rqt,"CREATE TABLE transacash");
     7125
     7126                // NG - Activer la gestion de caisses en gestion financière
     7127                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='gestion_financiere_caisses' "))==0){
     7128                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7129                        VALUES (0, 'pmb', 'gestion_financiere_caisses', '0', 'Activer la gestion de caisses en gestion financière? \n 0 : Non.\n 1 : Oui.', '',0) ";
     7130                        echo traite_rqt($rqt, "insert pmb_gestion_financiere_caisses=0 into parameters");
     7131                }
     7132
     7133                $rqt = "ALTER TABLE transactions ADD transactype_num INT UNSIGNED NOT NULL DEFAULT 0";
     7134                echo traite_rqt($rqt,"ALTER TABLE transactions ADD transactype_num INT UNSIGNED NOT NULL DEFAULT 0 ");
     7135
     7136                $rqt = "ALTER TABLE transactions ADD cashdesk_num INT UNSIGNED NOT NULL DEFAULT 0";
     7137                echo traite_rqt($rqt,"ALTER TABLE transactions ADD cashdesk_num INT UNSIGNED NOT NULL DEFAULT 0 ");
     7138
     7139                $rqt = "ALTER TABLE transactions ADD transacash_num INT UNSIGNED NOT NULL DEFAULT 0";
     7140                echo traite_rqt($rqt,"ALTER TABLE transactions ADD transacash_num INT UNSIGNED NOT NULL DEFAULT 0 ");
     7141
     7142                $rqt = "alter table users add deflt_cashdesk int NOT NULL DEFAULT 0 ";
     7143                echo traite_rqt($rqt,"alter table users add deflt_cashdesk");
     7144
     7145                $rqt= "alter table sessions add notifications text";
     7146                echo traite_rqt($rqt,"alter table sessions add notifications");
     7147
     7148                // AP - Ajout du paramètre de segmentation des documents numériques
     7149                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='diarization_docnum' "))==0){
     7150                        $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)";
     7151                        echo traite_rqt($rqt,"INSERT INTO parametres diarization_docnum");
     7152                }
     7153
     7154                // AP - Ajout de la table explnum_speakers
     7155                $rqt = "CREATE TABLE explnum_speakers (
     7156                        explnum_speaker_id int unsigned not null auto_increment primary key,
     7157                        explnum_speaker_explnum_num int unsigned not null default 0,
     7158                        explnum_speaker_speaker_num varchar(10) not null default '',
     7159                        explnum_speaker_gender varchar(1) default '',
     7160                        explnum_speaker_author int unsigned not null default 0
     7161                        )";
     7162                echo traite_rqt($rqt,"CREATE TABLE explnum_speakers");
     7163                $rqt = "alter table explnum_speakers drop index i_ensk_explnum_num";
     7164                echo traite_rqt($rqt,"alter table explnum_speakers drop index i_ensk_explnum_num");
     7165                $rqt = "alter table explnum_speakers add index i_ensk_explnum_num(explnum_speaker_explnum_num)";
     7166                echo traite_rqt($rqt,"alter table explnum_speakers add index i_ensk_explnum_num");
     7167                $rqt = "alter table explnum_speakers drop index i_ensk_author";
     7168                echo traite_rqt($rqt,"alter table explnum_speakers drop index i_ensk_author");
     7169                $rqt = "alter table explnum_speakers add index i_ensk_author(explnum_speaker_author)";
     7170                echo traite_rqt($rqt,"alter table explnum_speakers add index i_ensk_author");
     7171
     7172
     7173                // AP - Ajout de la table explnum_segments
     7174                $rqt = "CREATE TABLE  explnum_segments (
     7175                        explnum_segment_id int unsigned not null auto_increment primary key,
     7176                        explnum_segment_explnum_num int unsigned not null default 0,
     7177                        explnum_segment_speaker_num int unsigned not null default 0,
     7178                        explnum_segment_start double not null default 0,
     7179                        explnum_segment_duration double not null default 0,
     7180                        explnum_segment_end double not null default 0
     7181                        )";
     7182                echo traite_rqt($rqt,"CREATE TABLE explnum_segments");
     7183                $rqt = "alter table explnum_segments drop index i_ensg_explnum_num";
     7184                echo traite_rqt($rqt,"alter table explnum_segments drop index i_ensg_explnum_num");
     7185                $rqt = "alter table explnum_segments add index i_ensg_explnum_num(explnum_segment_explnum_num)";
     7186                echo traite_rqt($rqt,"alter table explnum_segments add index i_ensg_explnum_num");
     7187                $rqt = "alter table explnum_segments drop index i_ensg_speaker";
     7188                echo traite_rqt($rqt,"alter table explnum_segments drop index i_ensg_speaker");
     7189                $rqt = "alter table explnum_segments add index i_ensg_speaker(explnum_segment_speaker_num)";
     7190                echo traite_rqt($rqt,"alter table explnum_segments add index i_ensg_speaker");
     7191
     7192                //DG - Modification de l'emplacement du paramètre bannette_notices_template dans la zone DSI
     7193                $rqt = "update parametres set type_param='dsi',section_param='' where type_param='opac' and sstype_param='bannette_notices_template' ";
     7194                echo traite_rqt($rqt,"update parametres set bannette_notices_template");
     7195
     7196                //DG - Retour à la précédente forme de tri
     7197                $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'";
     7198                echo traite_rqt($rqt,"update comment for param opac_default_sort");
     7199
     7200                //DG - Mode d'application d'un tri - Liste de tris pré-enregistrés
     7201                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='default_sort_list' "))==0){
     7202                        $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) " ;
     7203                        echo traite_rqt($rqt,"insert opac_default_sort_list = 0 d_num_6,c_text_28;d_text_7 into parametres");
     7204                }
     7205
     7206                //DG - Afficher le libellé du tri appliqué par défaut en résultat de recherche
     7207                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='default_sort_display' "))==0){
     7208                        $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) " ;
     7209                        echo traite_rqt($rqt,"insert opac_default_sort_display = 0 into parametres");
     7210                }
     7211
     7212                // NG - Affichage des bannettes privées en page d'accueil de l'Opac
     7213                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_bannettes' "))==0){
     7214                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7215                        VALUES(0,'opac','show_bannettes','0','Affichage des bannettes en page d\'accueil OPAC.\n 0 : Non.\n 1 : Oui.','f_modules',0)" ;
     7216                        echo traite_rqt($rqt,"insert opac_show_bannettes into parametres") ;
     7217                }
     7218
     7219                // AB - Affichage des facettes en AJAX
     7220                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='facettes_ajax' "))==0){
     7221                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7222                        VALUES(0,'opac','facettes_ajax','1','Charger les facettes en ajax\n0 : non\n1 : oui','c_recherche',0)" ;
     7223                        echo traite_rqt($rqt,"insert opac_facettes_ajax into parametres") ;
     7224                }
     7225
     7226                // DB - Modification index sur table notices_mots_global_index
     7227                set_time_limit(0);
     7228                pmb_mysql_query("set wait_timeout=28800", $dbh);
     7229                if (pmb_mysql_result(pmb_mysql_query("select count(*) from notices"),0,0) > 15000){
     7230                        $rqt = "truncate table notices_fields_global_index";
     7231                        echo traite_rqt($rqt,"truncate table notices_fields_global_index");
     7232
     7233                        $rqt = "truncate table notices_mots_global_index";
     7234                        echo traite_rqt($rqt,"truncate table notices_mots_global_index");
     7235
     7236                        // Info de réindexation
     7237                        $rqt = " select 1 " ;
     7238                        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> ") ;
     7239                }
     7240                $rqt = 'alter table notices_mots_global_index drop primary key';
     7241                echo traite_rqt($rqt, 'alter table notices_mots_global_index drop primary key');
     7242                $rqt = 'alter table notices_mots_global_index add primary key (id_notice, code_champ, num_word, position, code_ss_champ)';
     7243                echo traite_rqt($rqt, 'alter table notices_mots_global_index add primary key');
     7244
     7245                //AB
     7246                $rqt = "ALTER TABLE cms_build drop INDEX cms_build_index";
     7247                echo traite_rqt($rqt,"alter cms_build drop index cms_build_index ");
     7248                $rqt = "ALTER TABLE cms_build ADD INDEX cms_build_index (build_version_num , build_obj)";
     7249                echo traite_rqt($rqt,"alter cms_build add index cms_build_index ON build_version_num , build_obj");
     7250
     7251                // AR - Paramètres pour ne pas prendre en compte les mots vides en tous les champs à l'OPAC
     7252                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){
     7253                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7254                        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)" ;
     7255                        echo traite_rqt($rqt,"insert opac_search_all_keep_empty_words into parametres") ;
     7256                }
     7257
     7258                // NG - Paramètre pour activer le piège en prêt si l'emprunteur a déjà emprunté l'exemplaire
     7259                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='pret_already_loaned' "))==0){
     7260                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7261                        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)" ;
     7262                        echo traite_rqt($rqt,"insert pmb_pret_already_loaned into parametres") ;
     7263                }
     7264
     7265                //DB - Ajout d'index
     7266                set_time_limit(0);
     7267                pmb_mysql_query("set wait_timeout=28800", $dbh);
     7268
     7269                $rqt = "alter table abts_abts drop index i_date_fin";
     7270                echo traite_rqt($rqt,"alter table abts_abts drop index i_date_fin");
     7271                $rqt = "alter table abts_abts add index i_date_fin (date_fin)";
     7272                echo traite_rqt($rqt,"alter table abts_abts add index i_date_fin");
     7273
     7274                $rqt = "alter table cms_editorial_types drop index i_editorial_type_element";
     7275                echo traite_rqt($rqt,"alter table cms_editorial_types drop index i_editorial_type_element");
     7276                $rqt = "alter table cms_editorial_types add index i_editorial_type_element (editorial_type_element)";
     7277                echo traite_rqt($rqt,"alter table cms_editorial_types add index i_editorial_type_element");
     7278
     7279                $rqt = "alter table cms_editorial_custom drop index i_num_type";
     7280                echo traite_rqt($rqt,"alter table cms_editorial_custom drop index i_num_type");
     7281                $rqt = "alter table cms_editorial_custom add index i_num_type (num_type)";
     7282                echo traite_rqt($rqt,"alter table cms_editorial_custom add index i_num_type");
     7283
     7284                $rqt = "alter table cms_build drop index i_build_parent_build_version_num";
     7285                echo traite_rqt($rqt,"alter table cms_build drop index i_build_parent_build_version_num");
     7286                $rqt = "alter table cms_build add index i_build_parent_build_version_num (build_parent,build_version_num)";
     7287                echo traite_rqt($rqt,"alter table cms_build add index i_build_parent_build_version_num");
     7288
     7289                $rqt = "alter table cms_build drop index i_build_type_build_version_num";
     7290                echo traite_rqt($rqt,"alter table cms_build drop index i_build_type_build_version_num");
     7291                $rqt = "alter table cms_build add index i_build_parent_build_version_num (build_type,build_version_num)";
     7292                echo traite_rqt($rqt,"alter table cms_build add index i_build_type_build_version_num");
     7293
     7294                $rqt = "alter table cms_build drop index i_build_obj_build_version_num";
     7295                echo traite_rqt($rqt,"alter table cms_build drop index i_build_obj_build_version_num");
     7296                $rqt = "alter table cms_build add index i_build_obj_build_version_num (build_obj,build_version_num)";
     7297                echo traite_rqt($rqt,"alter table cms_build add index i_build_obj_build_version_num");
     7298
     7299                $rqt = "alter table notices_fields_global_index drop index i_code_champ_code_ss_champ";
     7300                echo traite_rqt($rqt,"alter table notices_fields_global_index drop index i_code_champ_code_ss_champ");
     7301                $rqt = "alter table notices_fields_global_index add index i_code_champ_code_ss_champ (code_champ,code_ss_champ)";
     7302                echo traite_rqt($rqt,"alter table notices_fields_global_index add index i_code_champ_code_ss_champ");
     7303
     7304                $rqt = "alter table notices_mots_global_index drop index i_code_champ_code_ss_champ_num_word";
     7305                echo traite_rqt($rqt,"alter table notices_mots_global_index drop index i_code_champ_code_ss_champ_num_word");
     7306                $rqt = "alter table notices_mots_global_index add index i_code_champ_code_ss_champ_num_word (code_champ,code_ss_champ,num_word)";
     7307                echo traite_rqt($rqt,"alter table notices_mots_global_index add index i_code_champ_code_ss_champ_num_word");
     7308
     7309                // Activation des recherches exemplaires voisins
     7310                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='allow_voisin_search' "))==0){
     7311                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7312                                        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')";
     7313                        echo traite_rqt($rqt,"insert opac_allow_voisin_search='0' into parametres ");
     7314                }
     7315
     7316                // MHo - Paramètre pour indiquer le nombre de notices similaires à afficher à l'opac
     7317                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='nb_notices_similaires' "))==0){
     7318                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     7319                        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)";
     7320                        echo traite_rqt($rqt,"insert opac_nb_notices_similaires='6' into parametres");
     7321                }
     7322                // MHo - Paramètre pour rendre indépendant l'affichage réduit des notices similaires par rapport aux notices pliées
     7323                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notice_reduit_format_similaire' "))==0){
     7324                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     7325                        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)";
     7326                        echo traite_rqt($rqt,"insert opac_notice_reduit_format_similaire='0' into parametres");
     7327                }
     7328
     7329                //AR - Paramètres d'écretage des résultats de recherche
     7330                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_noise_limit_type' "))==0){
     7331                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7332                                        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')";
     7333                        echo traite_rqt($rqt,"insert opac_search_noise_limit_type='0' into parametres ");
     7334                }
     7335
     7336                //AR - Prise en compte de la fréquence d'apparition d'un mot dans le fonds pour le calcul de pertinence
     7337                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_relevant_with_frequency' "))==0){
     7338                        $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7339                                        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')";
     7340                        echo traite_rqt($rqt,"insert opac_search_relevant_with_frequency='0' into parametres ");
     7341                }
     7342
     7343                //DG - Calcul de la prolongation d'adhésion à partir de la date de fin d'adhésion ou la date du jour
     7344                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){
     7345                        $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) " ;
     7346                        echo traite_rqt($rqt,"insert empr_prolong_calc_date_adhes_depassee = 0 into parametres");
     7347                }
     7348
     7349                //DG - Modification du commentaire du paramètre pmb_notice_reduit_format pour les améliorations
     7350                $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'";
     7351                echo traite_rqt($rqt,"update parametre pmb_notice_reduit_format");
     7352
     7353                //DG - Périodicité d'envoi par défaut en création de bannette privée (en jours)
     7354                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='bannette_priv_periodicite' "))==0){
     7355                        $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) " ;
     7356                        echo traite_rqt($rqt,"insert opac_bannette_priv_periodicite = 15 into parametres");
     7357                }
     7358
     7359                //DG - Modification du commentaire opac_notices_format
     7360                $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'" ;
     7361                echo traite_rqt($rqt,"UPDATE parametres SET comment_param for opac_notices_format") ;
     7362
     7363
     7364                //DB - Modifications et ajout de commentaires pour les paramètres décrivant l'autoindexation
     7365                $rqt = "UPDATE parametres SET valeur_param=replace(valeur_param,',',';'), comment_param = 'Liste des champs de notice à utiliser pour l\'indexation automatique.\n\n";
     7366                $rqt.= "Syntaxe: nom_champ=poids_indexation;\n\n";
     7367                $rqt.= "Les noms des champs sont ceux précisés dans le fichier XML \"pmb/includes/notice/notice.xml\"\n";
     7368                $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";
     7369                $rqt.= "Exemple :\n\n";
     7370                $rqt.= "tit1=1.00;n_resume=0.5;' ";
     7371                $rqt.= "WHERE type_param = 'thesaurus' and sstype_param='auto_index_notice_fields' ";
     7372                echo traite_rqt($rqt,"UPDATE parametres SET comment_param for thesaurus_auto_index_notice_fields") ;
     7373
     7374                $rqt = "UPDATE parametres SET comment_param = 'Surchage des paramètres de recherche de l\'indexation automatique.\n";
     7375                $rqt.= "Syntaxe: param=valeur;\n\n";
     7376                $rqt.= "Listes des parametres:\n\n";
     7377                $rqt.= "max_relevant_words = 20 (nombre maximum de mots et de lemmes de la notice à prendre en compte pour le calcul)\n\n";
     7378                $rqt.= "autoindex_deep_ratio = 0.05 (ratio sur la profondeur du terme dans le thésaurus)\n";
     7379                $rqt.= "autoindex_stem_ratio = 0.80 (ratio de pondération des lemmes / aux mots)\n\n";
     7380                $rqt.= "autoindex_max_up_distance = 2 (distance maximum de recherche dans les termes génériques du thésaurus)\n";
     7381                $rqt.= "autoindex_max_up_ratio = 0.01 (pondération sur les termes génériques)\n\n";
     7382                $rqt.= "autoindex_max_down_distance = 2 (distance maximum de recherche dans les termes spécifiques du thésaurus)\n";
     7383                $rqt.= "autoindex_max_down_ratio = 0.01 (pondération sur les termes spécifiques)\n\n";
     7384                $rqt.= "autoindex_see_also_ratio = 0.01 (surpondération sur les termes voir aussi du thésaurus)\n\n";
     7385                $rqt.= "autoindex_distance_type = 1 (calcul de distance de 1 à 4)\n";
     7386                $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";
     7387                $rqt.= "max_relevant_terms = 10 (nombre maximum de termes retournés)' ";
     7388                $rqt.= "WHERE type_param = 'thesaurus' and sstype_param='auto_index_search_param' ";
     7389                echo traite_rqt($rqt,"UPDATE parametres SET comment_param for thesaurus_auto_index_search_param") ;
     7390
     7391                // MHo - Ajout des attributs de l'oeuvre dans la table des titres uniformes
     7392                $rqt = "ALTER TABLE titres_uniformes ADD tu_num_author BIGINT(11) UNSIGNED NOT NULL DEFAULT 0 ";
     7393                echo traite_rqt($rqt,"alter titres_uniformes add tu_num_author");
     7394                $rqt = "ALTER TABLE titres_uniformes ADD tu_forme VARCHAR(255) NOT NULL DEFAULT '' ";
     7395                echo traite_rqt($rqt,"alter titres_uniformes add tu_forme");
     7396                $rqt = "ALTER TABLE titres_uniformes ADD tu_date VARCHAR(50) NOT NULL DEFAULT '' ";
     7397                echo traite_rqt($rqt,"alter titres_uniformes add tu_date");
     7398                $rqt = "ALTER TABLE titres_uniformes ADD tu_date_date DATE NOT NULL DEFAULT '0000-00-00' ";
     7399                echo traite_rqt($rqt,"alter titres_uniformes add tu_date_date");
     7400                $rqt = "ALTER TABLE titres_uniformes ADD tu_sujet VARCHAR(255) NOT NULL DEFAULT '' ";
     7401                echo traite_rqt($rqt,"alter titres_uniformes add tu_sujet");
     7402                $rqt = "ALTER TABLE titres_uniformes ADD tu_lieu VARCHAR(255) NOT NULL DEFAULT '' ";
     7403                echo traite_rqt($rqt,"alter titres_uniformes add tu_lieu");
     7404                $rqt = "ALTER TABLE titres_uniformes ADD tu_histoire TEXT NULL ";
     7405                echo traite_rqt($rqt,"alter titres_uniformes add tu_histoire");
     7406                $rqt = "ALTER TABLE titres_uniformes ADD tu_caracteristique TEXT NULL ";
     7407                echo traite_rqt($rqt,"alter titres_uniformes add tu_caracteristique");
     7408                $rqt = "ALTER TABLE titres_uniformes ADD tu_public VARCHAR(255) NOT NULL DEFAULT '' ";
     7409                echo traite_rqt($rqt,"alter titres_uniformes add tu_public");
     7410                $rqt = "ALTER TABLE titres_uniformes ADD tu_contexte TEXT NULL ";
     7411                echo traite_rqt($rqt,"alter titres_uniformes add tu_contexte");
     7412                $rqt = "ALTER TABLE titres_uniformes ADD tu_coordonnees VARCHAR(255) NOT NULL DEFAULT '' ";
     7413                echo traite_rqt($rqt,"alter titres_uniformes add tu_coordonnees");
     7414                $rqt = "ALTER TABLE titres_uniformes ADD tu_equinoxe VARCHAR(255) NOT NULL DEFAULT '' ";
     7415                echo traite_rqt($rqt,"alter titres_uniformes add tu_equinoxe");
     7416                $rqt = "ALTER TABLE titres_uniformes ADD tu_completude INT(2) UNSIGNED NOT NULL DEFAULT 0 ";
     7417                echo traite_rqt($rqt,"alter titres_uniformes add tu_completude");
     7418
     7419                // AR - Retrait du paramètres juste commité : Activation des recherches exemplaires voisins
     7420                $rqt="delete from parametres where type_param= 'opac' and sstype_param='allow_voisin_search'";
     7421                echo traite_rqt($rqt,"delete from parametres opac_allow_voisin_search");
     7422
     7423                // AR - Modification du paramètre opac_allow_simili
     7424                $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'";
     7425                echo traite_rqt($rqt,"update parametres set opac_allow_simili_search");
     7426
     7427                // NG - Affichage des bannettes en page d'accueil de l'Opac     selon la banette
     7428                $rqt = "ALTER TABLE bannettes ADD bannette_opac_accueil INT UNSIGNED NOT NULL default 0 ";
     7429                echo traite_rqt($rqt,"alter table bannettes add bannette_opac_accueil");
     7430
     7431                // AR - DSI abonné en page d'accueil
     7432                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_subscribed_bannettes' "))==0){
     7433                        $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7434                        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)" ;
     7435                        echo traite_rqt($rqt,"insert opac_show_subscribed_bannettes=0 into parametres") ;
     7436                }
     7437
     7438                // AR - DSI publique sélectionné en page d'accueil
     7439                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='show_public_bannettes' "))==0){
     7440                        $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7441                        VALUES('opac','show_public_bannettes',0,'Affichage des bannettes sélectionnées en page d\'accueil OPAC :\n0 : Non.\n1 : Oui.','f_modules',0)" ;
     7442                        echo traite_rqt($rqt,"insert show_public_bannettes=0 into parametres") ;
     7443                }
     7444
     7445                // 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
     7446                $rqt="delete from parametres where type_param= 'opac' and sstype_param='perio_a2z_enrichissements'";
     7447                echo traite_rqt($rqt,"delete from parametres opac_perio_a2z_enrichissements");
     7448
     7449                //DG - Paramètre non utilisé
     7450                $rqt = "delete from parametres where sstype_param='confirm_resa' and type_param='opac' " ;
     7451                $res = pmb_mysql_query($rqt, $dbh) ;
     7452
     7453                //DG - Paramètre non utilisé
     7454                $rqt = "delete from parametres where sstype_param='authors_aut_rec_per_page' and type_param='opac' " ;
     7455                $res = pmb_mysql_query($rqt, $dbh) ;
     7456
     7457                // +-------------------------------------------------+
     7458                echo "</table>";
     7459                $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     7460                $res = pmb_mysql_query($rqt, $dbh) ;
     7461                echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     7462                $action=$action+$increment;
     7463                //echo form_relance ("v5.15");
     7464
     7465        //break;
     7466        //case "v.5.15":       
     7467                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     7468                        // +-------------------------------------------------+
     7469                        // AB - Paramètre de modification du workflow d'une demande
     7470                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='init_workflow' "))==0){
     7471                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7472                                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)";
     7473                                echo traite_rqt($rqt,"insert demandes_init_workflow=0 into parametres") ;
     7474                        }
     7475
     7476                        // MHo - Paramètre pour automatiser ou non la création de notice lors de l'enregistrement d'une demande
     7477                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='notice_auto' "))==0){
     7478                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     7479                                VALUES (0, 'demandes', 'notice_auto', '0', 'Création automatique de la notice de demande :\n0 : Non\n1 : Oui','',0)";
     7480                                echo traite_rqt($rqt,"insert demandes_notice_auto='0' into parametres");
     7481                        }
     7482
     7483                        // MHo - Paramètre pour la création par défaut d'une action lors de la validation d'une demande
     7484                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='default_action' "))==0){
     7485                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     7486                                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)";
     7487                                echo traite_rqt($rqt,"insert demandes_default_action='1' into parametres");
     7488                        }
     7489
     7490                        // MHo - Ajout d'une colonne "origine" de l'utilisateur dans la table audit : 0 = gestion, 1 = opac
     7491                        $rqt = "ALTER TABLE audit ADD type_user INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
     7492                        echo traite_rqt($rqt,"alter audit add type_user");
     7493
     7494                        // AR - Ajout d'une colonne pour stocker les actions autorisées par type de demande
     7495                        $rqt = "alter table demandes_type add allowed_actions text not null";
     7496                        echo traite_rqt($rqt,"alter table demandes_type add allowed_actions");
     7497
     7498                        //DG - Optimisation
     7499                        $rqt = "show fields from notices_fields_global_index";
     7500                        $res = pmb_mysql_query($rqt);
     7501                        $exists = false;
     7502                        if(pmb_mysql_num_rows($res)){
     7503                                while($row = pmb_mysql_fetch_object($res)){
     7504                                        if($row->Field == "authority_num"){
     7505                                                $exists = true;
     7506                                                break;
     7507                                        }
     7508                                }
     7509                        }
     7510                        if(!$exists){
     7511                                if (pmb_mysql_result(pmb_mysql_query("select count(*) from notices"),0,0) > 15000){
     7512                                        $rqt = "truncate table notices_fields_global_index";
     7513                                        echo traite_rqt($rqt,"truncate table notices_fields_global_index");
     7514
     7515                                        // Info de réindexation
     7516                                        $rqt = " select 1 " ;
     7517                                        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> ") ;
     7518                                }
     7519
     7520                                // JP - Synchronisation RDF
     7521                                $rqt = "ALTER TABLE notices_fields_global_index ADD authority_num VARCHAR(50) NOT NULL DEFAULT '0'";
     7522                                echo traite_rqt($rqt,"alter table notices_fields_global_index add authority_num");
     7523                        }
     7524
     7525                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='synchro_rdf' "))==0){
     7526                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7527                                                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) " ;
     7528                                echo traite_rqt($rqt,"insert pmb_synchro_rdf = 0 into parametres");
     7529                        }
     7530
     7531                        // AB Modification de la valeur par défaut du parametre init_workflow
     7532                        $rqt="UPDATE parametres SET valeur_param='1' WHERE type_param='demandes' AND sstype_param='init_workflow'";
     7533                        echo traite_rqt($rqt,"update parametres set demandes_init_workflow=1");
     7534                        // AB Changement du type de champ pour date_note
     7535                        $rqt = "ALTER TABLE demandes_notes CHANGE date_note date_note DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'";
     7536                        echo traite_rqt($rqt,"alter demandes_notes CHANGE date_note");
     7537                        // 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
     7538                        $rqt = "ALTER TABLE demandes_notes ADD notes_read_gestion INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
     7539                        echo traite_rqt($rqt,"alter demandes_notes add note_read_gestion");
     7540                        // 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
     7541                        $rqt = "ALTER TABLE demandes_actions ADD actions_read_gestion INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
     7542                        echo traite_rqt($rqt,"alter demandes_actions add actions_read_gestion");
     7543                        // 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
     7544                        $rqt = "ALTER TABLE demandes ADD dmde_read_gestion INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
     7545                        echo traite_rqt($rqt,"alter demandes add dmde_read_gestion");
     7546
     7547                        // MHo - Ajout d'une colonne "reponse_finale" contenant la réponse finale qui sera intégrée à la faq
     7548                        $rqt = "ALTER TABLE demandes ADD reponse_finale TEXT NULL";
     7549                        echo traite_rqt($rqt,"alter demandes add reponse_finale");
     7550
     7551                        // DG - Le super user doit avoir accès à tous les établissements
     7552                        $rqt = "UPDATE entites SET autorisations=CONCAT(' 1', autorisations) WHERE type_entite='1' AND autorisations NOT LIKE '% 1 %'";
     7553                        echo traite_rqt($rqt, 'UPDATE entites SET autorisations=CONCAT(" 1",autorisations) for super user');
     7554
     7555                        // AR - Module FAQ - Paramètre d'activation
     7556                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'faq' and sstype_param='active' "))==0){
     7557                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7558                                        VALUES (0, 'faq', 'active', '0', 'Module \'FAQ\' activé.\n 0 : Non.\n 1 : Oui.', '',0) ";
     7559                                echo traite_rqt($rqt, "insert faq_active=0 into parameters");
     7560                        }
     7561
     7562                        // AR - Création de la table des types pour la FAQ
     7563                        $rqt = " CREATE TABLE faq_types(
     7564                                id_type int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
     7565                                libelle_type varchar(255) NOT NULL default '',
     7566                        PRIMARY KEY  (id_type) )";
     7567                        echo traite_rqt($rqt,"CREATE TABLE faq_types") ;
     7568
     7569                        // AR - Création de la table des thèmes pour la FAQ
     7570                        $rqt = " CREATE TABLE faq_themes(
     7571                                id_theme int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
     7572                                libelle_theme varchar(255) NOT NULL default '',
     7573                    PRIMARY KEY  (id_theme))";
     7574                        echo traite_rqt($rqt,"CREATE TABLE faq_themes") ;
     7575
     7576                        // AR - Création de la table pour la FAQ
     7577                        $rqt = "create table faq_questions(
     7578                                id_faq_question int(10) unsigned not null auto_increment primary key,
     7579                                faq_question_num_type int(10) unsigned not null default 0,
     7580                                faq_question_num_theme int(10) unsigned not null default 0,
     7581                                faq_question_num_demande int(10) unsigned not null default 0,
     7582                                faq_question_question text not null,
     7583                                faq_question_question_userdate varchar(255) not null default '',
     7584                                faq_question_question_date datetime not null default '0000-00-00 00:00:00',
     7585                                faq_question_answer text not null,
     7586                                faq_question_answer_userdate varchar(255) not null default '',
     7587                                faq_question_answer_date datetime not null default '0000-00-00 00:00:00')";
     7588                        echo traite_rqt($rqt,"create table faq_questions");
     7589
     7590                        // AR - Création de la table de descripteurs pour la FAQ
     7591                        $rqt = "create table faq_questions_categories(
     7592                                num_faq_question int(10) unsigned not null default 0,
     7593                                num_categ int(10) unsigned not null default 0,
     7594                                index i_faq_categ(num_faq_question,num_categ))";
     7595                        echo traite_rqt($rqt,"create table faq_categories");
     7596
     7597                        // AR - Ajout de l'ordre dans la table de descripteurs pour la FAQ
     7598                        $rqt = "alter table faq_questions_categories add categ_order int(10) unsigned not null default 0";
     7599                        echo traite_rqt($rqt,"alter table faq_questions_categories add categ_order");
     7600
     7601                        // AR - Ajout d'un statut pour les questions de la FAQ (statut de publication 0/1)
     7602                        $rqt = "alter table faq_questions add faq_question_statut int(10) unsigned not null default 0";
     7603                        echo traite_rqt($rqt,"alter table faq_questions add faq_question_statut");
     7604
     7605                        // AR indexons correctement la FAQ - Table de mots
     7606                        $rqt = "create table if not exists faq_questions_words_global_index(
     7607                                id_faq_question int unsigned not null default 0,
     7608                                code_champ int unsigned not null default 0,
     7609                                code_ss_champ int unsigned not null default 0,
     7610                                num_word int unsigned not null default 0,
     7611                                pond int unsigned not null default 100,
     7612                                position int unsigned not null default 1,
     7613                                field_position int unsigned not null default 1,
     7614                                primary key (id_faq_question,code_champ,num_word,position,code_ss_champ),
     7615                                index code_champ(code_champ),
     7616                                index i_id_mot(num_word,id_faq_question),
     7617                                index i_code_champ_code_ss_champ_num_word(code_champ,code_ss_champ,num_word))";
     7618                        echo traite_rqt($rqt,"create table faq_questions_words_global_index");
     7619
     7620                        // AR indexons correctement la FAQ - Table de champs
     7621                        $rqt = "create table if not exists faq_questions_fields_global_index(
     7622                                id_faq_question int unsigned not null default 0,
     7623                                code_champ int(3) unsigned not null default 0,
     7624                                code_ss_champ int(3) unsigned not null default 0,
     7625                                ordre int(4) unsigned not null default 0,
     7626                                value text not null,
     7627                                pond int(4) unsigned not null default 100,
     7628                                lang varchar(10) not null default '',
     7629                                authority_num varchar(50) not null default 0,
     7630                                primary key(id_faq_question,code_champ,code_ss_champ,lang,ordre),
     7631                                index i_value(value(300)),
     7632                                index i_code_champ_code_ss_champ(code_champ,code_ss_champ))";
     7633                        echo traite_rqt($rqt,"create table faq_questions_fields_global_index ");
     7634
     7635                        // MHo - Renommage de la colonne "action_read" en "action_read_opac" : 0 = lue, 1 = non lue
     7636                        $rqt = "ALTER TABLE demandes_actions CHANGE actions_read actions_read_opac INT not null default 0";
     7637                        echo traite_rqt($rqt,"alter demandes_actions change actions_read actions_read_opac");
     7638
     7639                        // 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
     7640                        $rqt = "ALTER TABLE demandes ADD dmde_read_opac INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
     7641                        echo traite_rqt($rqt,"alter demandes add dmde_read_opac");
     7642
     7643                        // MHo - Ajout d'une colonne "notes_read_opac" pour alerter à l'opac en cas de nouveauté : 0 = lue, 1 = non lue
     7644                        $rqt = "ALTER TABLE demandes_notes ADD notes_read_opac INT(1) UNSIGNED NOT NULL DEFAULT 0 ";
     7645                        echo traite_rqt($rqt,"alter demandes_notes add notes_read_opac");
     7646
     7647                        // DB -Ajout d'une fonction spécifique pour génération de code-barres lecteurs
     7648                        $rqt = "update parametres set comment_param='Numéro de carte de lecteur automatique ?\n 0: Non (si utilisation de cartes pré-imprimées)\n";
     7649                        $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";
     7650                        $rqt.= " 3,fonction: fonction de génération spécifique dans fichier nommé de la même façon, à placer dans pmb/circ/empr' ";
     7651                        $rqt.= " where type_param='pmb' and sstype_param='num_carte_auto'";
     7652                        echo traite_rqt($rqt,"update parametre pmb_num_carte_auto ");
     7653
     7654                        // AB On augmente la taille des champs pour le num demandeur ....
     7655                        $rqt = "ALTER TABLE demandes CHANGE num_demandeur num_demandeur INT( 10 ) UNSIGNED NOT NULL DEFAULT 0";
     7656                        echo traite_rqt($rqt,"alter demandes change num_demandeur");
     7657                        $rqt = "ALTER TABLE demandes_actions CHANGE actions_num_user actions_num_user INT( 10 ) UNSIGNED NOT NULL DEFAULT 0";
     7658                        echo traite_rqt($rqt,"alter demandes_actions change actions_num_user");
     7659                        $rqt = "ALTER TABLE demandes_notes CHANGE notes_num_user notes_num_user INT( 10 ) UNSIGNED NOT NULL DEFAULT 0";
     7660                        echo traite_rqt($rqt,"alter demandes_notes change notes_num_user");
     7661
     7662                        //DB - Génération code-barres pour les inscritions Web
     7663                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='websubscribe_num_carte_auto' "))==0){
     7664                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) ";
     7665                                $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')" ;
     7666                                echo traite_rqt($rqt,"insert opac_websubscribe_num_carte_auto into parametres") ;
     7667                        }
     7668
     7669                        // AB
     7670                        $rqt = "CREATE TABLE IF NOT EXISTS onto_uri (
     7671                                        uri_id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
     7672                                        uri VARCHAR(255) NOT NULL UNIQUE DEFAULT '' )";
     7673                        echo traite_rqt($rqt,"create table onto_uri") ;
     7674
     7675                        //DB - Génération de cartes lecteurs sur imprimante ticket
     7676                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_handler' "))==0){
     7677                                $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)";
     7678                                echo traite_rqt($rqt,"insert pmb_printer_card_handler into parametres");
     7679                        }
     7680                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_name' "))==0){
     7681                                $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)";
     7682                                echo traite_rqt($rqt,"insert pmb_printer_card_options into parametres");
     7683                        }
     7684                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_url' "))==0){
     7685                                $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)";
     7686                                echo traite_rqt($rqt,"insert pmb_printer_card_url into parametres");
     7687                        }
     7688
     7689                        // NG - Vignette de la notice
     7690                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notice_img_folder_id' "))==0){
     7691                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) ";
     7692                                $rqt.= "VALUES (NULL, 'pmb', 'notice_img_folder_id', '0', 'Identifiant du répertoire d\'upload des vignettes de notices', '', '0')" ;
     7693                                echo traite_rqt($rqt,"insert pmb_notice_img_folder_id into parametres") ;
     7694                        }
     7695
     7696                        //AR - On ajoute une colonne pour l'inscription en ligne à l'OPAC (pour conserver ce que l'on faisait)
     7697                        $rqt = "alter table empr add empr_subscription_action text";
     7698                        echo traite_rqt($rqt,"alter table empr add empr_subscription_action");
     7699
     7700                        //AR - Modification du paramètre opac_websubscribe_show
     7701                        $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'";
     7702                        echo traite_rqt($rqt,"update parametres opac_websubscribe_show");
     7703
     7704                        //AB parametre du template d'affichage des notices pour le comparateur.
     7705                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='compare_notice_template' "))==0){
     7706                                $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)";
     7707                                echo traite_rqt($rqt,"insert pmb_compare_notice_template into parametres");
     7708                        }
     7709
     7710                        //AB comparateur.
     7711                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='compare_notice_nb' "))==0){
     7712                                $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)";
     7713                                echo traite_rqt($rqt,"insert pmb_compare_notice_nb into parametres");
     7714                        }
     7715
     7716                        //AB parametre du template d'affichage des notices pour le comparateur.
     7717                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='compare_notice_active' "))==0){
     7718                                $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)";
     7719                                echo traite_rqt($rqt,"insert opac_compare_notice_active into parametres");
     7720                        }
     7721                        // NG - Transfert: mémorisation de la loc d'origine des exemplaires en transfert
     7722                        $rqt = "CREATE TABLE if not exists transferts_source (
     7723                                trans_source_numexpl INT UNSIGNED NOT NULL default 0 ,
     7724                                trans_source_numloc INT UNSIGNED NOT NULL default 0 ,
     7725                                PRIMARY KEY(trans_source_numexpl))";
     7726                        echo traite_rqt($rqt,"CREATE TABLE transferts_source ") ;
     7727
     7728                        // NG - Ajout dans les archives de prêt les localisations du pret et de la loc d'origine de l'exemplaire
     7729                        $rqt = "alter table pret_archive add arc_expl_location_retour INT UNSIGNED NOT NULL default 0 AFTER arc_expl_location";
     7730                        echo traite_rqt($rqt,"alter table pret_archive add arc_expl_location_retour");
     7731                        $rqt = "alter table pret_archive add arc_expl_location_origine INT UNSIGNED NOT NULL default 0 AFTER arc_expl_location";
     7732                        echo traite_rqt($rqt,"alter table pret_archive add arc_expl_location_origine");
     7733
     7734                        //DG - Augmentation de la taille du champ pour les équations
     7735                        $rqt = "ALTER TABLE equations MODIFY nom_equation TEXT NOT NULL";
     7736                        echo traite_rqt($rqt,"ALTER TABLE equations MODIFY nom_equation TEXT");
     7737
     7738                        // +-------------------------------------------------+
     7739                        echo "</table>";
     7740                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     7741                        $res = pmb_mysql_query($rqt, $dbh) ;
     7742                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     7743                        $action=$action+$increment;
     7744                //      echo form_relance ("v5.16");
     7745                //      break;
     7746
     7747//case "v5.16":
     7748                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     7749                        // +-------------------------------------------------+
     7750
     7751                        // AR indexons correctement SKOS - Table de mots
     7752                        $rqt = "create table if not exists skos_words_global_index(
     7753                                id_item int unsigned not null default 0,
     7754                                code_champ int unsigned not null default 0,
     7755                                code_ss_champ int unsigned not null default 0,
     7756                                num_word int unsigned not null default 0,
     7757                                pond int unsigned not null default 100,
     7758                                position int unsigned not null default 1,
     7759                                field_position int unsigned not null default 1,
     7760                                primary key (id_item,code_champ,num_word,position,code_ss_champ),
     7761                                index code_champ(code_champ),
     7762                                index i_id_mot(num_word,id_item),
     7763                                index i_code_champ_code_ss_champ_num_word(code_champ,code_ss_champ,num_word))";
     7764                        echo traite_rqt($rqt,"create table skos_words_global_index");
     7765
     7766                        // AR indexons correctement  SKOS - Table de champs
     7767                        $rqt = "create table if not exists skos_fields_global_index(
     7768                                id_item int unsigned not null default 0,
     7769                                code_champ int(3) unsigned not null default 0,
     7770                                code_ss_champ int(3) unsigned not null default 0,
     7771                                ordre int(4) unsigned not null default 0,
     7772                                value text not null,
     7773                                pond int(4) unsigned not null default 100,
     7774                                lang varchar(10) not null default '',
     7775                                authority_num varchar(50) not null default 0,
     7776                                primary key(id_item,code_champ,code_ss_champ,lang,ordre),
     7777                                index i_value(value(300)),
     7778                                index i_code_champ_code_ss_champ(code_champ,code_ss_champ))";
     7779                        echo traite_rqt($rqt,"create table skos_fields_global_index ");
     7780
     7781                        //AB table de construction d'une vedette composée
     7782                        $rqt = "CREATE TABLE IF NOT EXISTS vedette_object (
     7783                                                object_type int(3) unsigned NOT NULL DEFAULT 0,
     7784                                                object_id int(11) unsigned NOT NULL DEFAULT 0,
     7785                                                num_vedette int(11) unsigned NOT NULL DEFAULT 0,
     7786                                                subdivision varchar(50) NOT NULL default '',
     7787                                                position int(3) unsigned NOT NULL DEFAULT 0,
     7788                                                PRIMARY KEY (object_type, object_id, num_vedette, subdivision, position),
     7789                                                INDEX i_vedette_object_object (object_type,object_id),
     7790                                                INDEX i_vedette_object_vedette (num_vedette)
     7791                                        ) ";
     7792                        echo traite_rqt($rqt,"CREATE TABLE vedette_object") ;
     7793
     7794                        //AB table des identifiants de vedettes
     7795                        $rqt = "CREATE TABLE IF NOT EXISTS vedette (
     7796                                                id_vedette int(11) unsigned NOT NULL AUTO_INCREMENT,
     7797                                                label varchar(255) NOT NULL default '',
     7798                                                PRIMARY KEY (id_vedette)
     7799                                        ) ";
     7800                        echo traite_rqt($rqt,"CREATE TABLE vedette") ;
     7801
     7802                        //AP ajout de la table index_concept
     7803                        $rqt = "CREATE TABLE IF NOT EXISTS index_concept (
     7804                                        num_object INT UNSIGNED NOT NULL ,
     7805                                        type_object INT UNSIGNED NOT NULL ,
     7806                                        num_concept INT UNSIGNED NOT NULL ,
     7807                                        order_concept INT UNSIGNED NOT NULL default 0 ,
     7808                                        PRIMARY KEY(num_object, type_object, num_concept))";
     7809                        echo traite_rqt($rqt,"create table index_concept");
     7810
     7811                        //AP création de la table de lien entre vedettes et autorités
     7812                        $rqt = "CREATE TABLE if not exists vedette_link (
     7813                                num_vedette INT UNSIGNED NOT NULL ,
     7814                                num_object INT UNSIGNED NOT NULL ,
     7815                                type_object INT UNSIGNED NOT NULL ,
     7816                                PRIMARY KEY (num_vedette, num_object, type_object))";
     7817                        echo traite_rqt($rqt,"create table vedette_link");
     7818
     7819                        // AP script de vérification de saisie des autorités
     7820                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='autorites_verif_js' "))==0){
     7821                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     7822                                                VALUES ( 'pmb', 'autorites_verif_js', '', 'Script de vérification de saisie des autorités','', 0)";
     7823                                echo traite_rqt($rqt,"insert autorites_verif_js into parametres");
     7824                        }
     7825
     7826                        //AB paramètre pour masquer/afficher la reservation par panier
     7827                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='resa_cart' "))==0){
     7828                                $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)";
     7829                                echo traite_rqt($rqt,"insert opac_resa_cart into parametres");
     7830                        }
     7831
     7832                        // AR - Report du paramètre activant le stemming en gestion
     7833                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_stemming_active' "))==0){
     7834                                $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7835                                        VALUES('pmb','search_stemming_active',0,'Activer le stemming dans la recherche\n0 : Désactiver\n1 : Activer','search',0)" ;
     7836                                echo traite_rqt($rqt,"insert pmb_search_stemming_active=0 into parametres") ;
     7837                        }
     7838
     7839                        // AR - Report du paramètre excluant des champ dans la recherche tous les champs en gestion
     7840                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_exclude_fields' "))==0){
     7841                                $rqt = "insert into parametres ( type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7842                                        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)" ;
     7843                                echo traite_rqt($rqt,"insert pmb_search_exclude_fields into parametres") ;
     7844                        }
     7845
     7846                        //AR - Report du paramètre d'écretage des résultats de recherche en gestion
     7847                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_noise_limit_type' "))==0){
     7848                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7849                                        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')";
     7850                                echo traite_rqt($rqt,"insert pmb_search_search_noise_limit_type='0' into parametres ");
     7851                        }
     7852
     7853                        //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
     7854                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_relevant_with_frequency' "))==0){
     7855                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7856                                        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')";
     7857                                echo traite_rqt($rqt,"insert pmb_search_relevant_with_frequency='0' into parametres ");
     7858                        }
     7859
     7860                        //AR - Report du paramètre gérant la troncature À droite automatique
     7861                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='allow_term_troncat_search' "))==0){
     7862                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7863                                        VALUES (NULL, 'pmb', 'allow_term_troncat_search', '0', 'Troncature à droite automatique :\n0 : Non \n1 : Oui' , 'search', '0')";
     7864                                echo traite_rqt($rqt,"insert pmb_allow_term_troncat_search='0' into parametres ");
     7865                        }
     7866
     7867                        //AR - Report du paramètre gérant la durée du cache des recherches
     7868                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='search_cache_duration' "))==0){
     7869                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7870                                        VALUES (NULL, 'pmb', 'search_cache_duration', '0', 'Durée de validité (en secondes) du cache des recherches' , 'search', '0')";
     7871                                echo traite_rqt($rqt,"insert pmb_search_cache_duration='0' into parametres ");
     7872                        }
     7873
     7874                        //DG - En impression de panier, imprimer les exemplaires est coché par défaut
     7875                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='print_expl_default' "))==0){
     7876                                $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) " ;
     7877                                echo traite_rqt($rqt,"insert pmb_print_expl_default = 0 into parametres");
     7878                        }
     7879
     7880
     7881                        //AR - Activation des concepts ou non
     7882                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='concepts_active' "))==0){
     7883                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7884                                        VALUES (NULL, 'thesaurus', 'concepts_active', '0', 'Active ou non l\'utilisation des concepts:\n0 : Non\n1 : Oui', 'concepts', '0')";
     7885                                echo traite_rqt($rqt,"insert thesaurus_concepts_active='0' into parametres ");
     7886                        }
     7887
     7888                        //AP - Paramétrage de l'ordre d'affichage des concepts d'une notice
     7889                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='concepts_affichage_ordre' "))==0){
     7890                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7891                                        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')";
     7892                                echo traite_rqt($rqt,"insert concepts_affichage_ordre into parametres ");
     7893                        }
     7894
     7895                        //AP - Paramétrage du mode d'affichage des concepts d'une notice (en ligne ou pas)
     7896                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='concepts_concept_in_line' "))==0){
     7897                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7898                                        VALUES (NULL, 'thesaurus', 'concepts_concept_in_line', '0', 'Affichage des catégories en ligne.\n 0 : Non.\n 1 : Oui.', 'concepts', '0')";
     7899                                echo traite_rqt($rqt,"insert concepts_concept_in_line into parametres ");
     7900                        }
     7901
     7902                        //AB Checkbox pour réafficher les notices dans chaque groupement ou pas
     7903                        $rqt = "ALTER TABLE bannettes ADD display_notice_in_every_group INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER group_pperso";
     7904                        echo traite_rqt($rqt,"alter table bannettes add display_notice_in_every_group");
     7905
     7906                        //NG - Autorités personalisées
     7907                        $rqt = "create table if not exists authperso (
     7908                                id_authperso int(10) unsigned NOT NULL auto_increment,
     7909                                authperso_name varchar(255) NOT NULL default '',
     7910                                authperso_notice_onglet_num  int unsigned not null default 0,
     7911                                authperso_isbd_script text not null,
     7912                                authperso_view_script text not null,
     7913                                authperso_opac_search int unsigned not null default 0,
     7914                                authperso_opac_multi_search int unsigned not null default 0,
     7915                                authperso_gestion_search int unsigned not null default 0,
     7916                                authperso_gestion_multi_search int unsigned not null default 0,
     7917                                authperso_comment text not null,
     7918                                PRIMARY KEY  (id_authperso)) ";
     7919                        echo traite_rqt($rqt,"create table authperso ");
     7920
     7921                        //NG - Champs perso des autorités personalisées
     7922                        $rqt = "create table if not exists authperso_custom (
     7923                                idchamp int(10) unsigned NOT NULL auto_increment,
     7924                                custom_prefixe varchar(255) NOT NULL default '',
     7925                                num_type int unsigned not null default 0,
     7926                                name varchar(255) NOT NULL default '',
     7927                                titre varchar(255) default NULL,
     7928                                type varchar(10) NOT NULL default 'text',
     7929                                datatype varchar(10) NOT NULL default '',
     7930                                options text,
     7931                                multiple int(11) NOT NULL default 0,
     7932                                obligatoire int(11) NOT NULL default 0,
     7933                                ordre int(11) default NULL,
     7934                                search INT(1) unsigned NOT NULL DEFAULT 0,
     7935                                export INT(1) unsigned NOT NULL DEFAULT 0,
     7936                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     7937                                pond int not null default 100,
     7938                                opac_sort INT NOT NULL DEFAULT 0,
     7939                        PRIMARY KEY  (idchamp)) ";
     7940                        echo traite_rqt($rqt,"create table authperso_custom ");
     7941
     7942                        $rqt = "create table if not exists authperso_custom_lists (
     7943                                authperso_custom_champ int(10) unsigned NOT NULL default 0,
     7944                                authperso_custom_list_value varchar(255) default NULL,
     7945                                authperso_custom_list_lib varchar(255) default NULL,
     7946                                ordre int(11) default NULL,
     7947                                KEY editorial_custom_champ (authperso_custom_champ),
     7948                                KEY editorial_champ_list_value (authperso_custom_champ,authperso_custom_list_value)) " ;
     7949                        echo traite_rqt($rqt,"create table if not exists authperso_custom_lists ");
     7950
     7951                        $rqt = "create table if not exists authperso_custom_values (
     7952                                authperso_custom_champ int(10) unsigned NOT NULL default 0,
     7953                                authperso_custom_origine int(10) unsigned NOT NULL default 0,
     7954                                authperso_custom_small_text varchar(255) default NULL,
     7955                                authperso_custom_text text,
     7956                                authperso_custom_integer int(11) default NULL,
     7957                                authperso_custom_date date default NULL,
     7958                                authperso_custom_float float default NULL,
     7959                                KEY editorial_custom_champ (authperso_custom_champ),
     7960                                KEY editorial_custom_origine (authperso_custom_origine)) " ;
     7961                        echo traite_rqt($rqt,"create table if not exists authperso_custom_values ");
     7962
     7963                        $rqt = "create table if not exists authperso_authorities (
     7964                                id_authperso_authority int(10) unsigned NOT NULL auto_increment,
     7965                                authperso_authority_authperso_num int(10) unsigned NOT NULL default 0 ,
     7966                                authperso_infos_global text not null,
     7967                                authperso_index_infos_global text not null,
     7968                                PRIMARY KEY  (id_authperso_authority))  " ;
     7969                        echo traite_rqt($rqt,"create table if not exists authperso_authorities ");
     7970
     7971                        $rqt = "create table if not exists notices_authperso (
     7972                                notice_authperso_notice_num int(10) unsigned NOT NULL default 0,
     7973                                notice_authperso_authority_num int(10) unsigned NOT NULL default 0,
     7974                                notice_authperso_order int(10) unsigned NOT NULL default 0,
     7975                                PRIMARY KEY  (notice_authperso_notice_num,notice_authperso_authority_num))  " ;
     7976                        echo traite_rqt($rqt,"create table if not exists notices_authperso ");
     7977
     7978                        // NG : Onglet personalisé de notice
     7979                        $rqt = "create table if not exists notice_onglet (
     7980                                id_onglet int(10) unsigned NOT NULL auto_increment,
     7981                                onglet_name varchar(255) default NULL,
     7982                                PRIMARY KEY  (id_onglet)) ";
     7983                        echo traite_rqt($rqt,"create table if not exists notice_onglet ");
     7984
     7985                        //DG - Personnalisation des colonnes pour l'affichage des états des collections
     7986                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='collstate_data' "))==0){
     7987                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     7988                                        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)";
     7989                                echo traite_rqt($rqt,"insert opac_collstate_data = 0 into parametres");
     7990                        }
     7991
     7992                        //AB ajout d'un schema SKOS par défaut
     7993                        $rqt = "ALTER TABLE users ADD deflt_concept_scheme INT(3) UNSIGNED NOT NULL DEFAULT 0 AFTER deflt_thesaurus";
     7994                        echo traite_rqt($rqt,"alter table users add deflt_concept_scheme");
     7995
     7996                        //AB paramètre caché pour conservation de la date de dernière modification de l'ontologie
     7997                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'thesaurus' and sstype_param='ontology_filemtime' "))==0){
     7998                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     7999                                        VALUES ('thesaurus','ontology_filemtime',0,'Paramètre caché pour conservation de la date de dernière modification de l\'ontologie','ontologie',1)";
     8000                                echo traite_rqt($rqt,"insert thesaurus_ontology_filemtime into parametres");
     8001                        }
     8002
     8003                        // NG - Ajout du champ resa_arc_trans pour associer un transfert à une archive résa
     8004                        $rqt = "ALTER TABLE transferts_demande ADD resa_arc_trans int(8) UNSIGNED NOT NULL DEFAULT 0 ";
     8005                        echo traite_rqt($rqt,"alter table transferts_demande add resa_arc_trans ");
     8006
     8007                        // NG - Ajout champ info dans les audits
     8008                        $rqt = "ALTER TABLE audit ADD info text NOT NULL";
     8009                        echo traite_rqt($rqt,"alter table audit add info ");
     8010
     8011                        // AP modification du paramètre de schema SKOS par défaut
     8012                        $rqt = "ALTER TABLE users CHANGE deflt_concept_scheme deflt_concept_scheme INT(3) NOT NULL DEFAULT -1";
     8013                        echo traite_rqt($rqt,"alter table users change deflt_concept_scheme");
     8014
     8015                        //DG - Statuts sur les documents numériques
     8016                        $rqt = "create table if not exists explnum_statut (
     8017                                id_explnum_statut smallint(5) unsigned not null auto_increment,
     8018                                gestion_libelle varchar(255) not NULL default '',
     8019                                opac_libelle varchar(255)  not NULL default '',
     8020                                class_html VARCHAR( 255 )  not NULL default '',
     8021                                explnum_visible_opac tinyint(1) NOT NULL default 1,
     8022                                explnum_visible_opac_abon tinyint(1) NOT NULL default 0,
     8023                                explnum_consult_opac tinyint(1) NOT NULL default 1,
     8024                                explnum_consult_opac_abon tinyint(1) NOT NULL default 0,
     8025                                explnum_download_opac tinyint(1) NOT NULL default 1,
     8026                                explnum_download_opac_abon tinyint(1) NOT NULL default 0,
     8027                                primary key(id_explnum_statut))";
     8028                        echo traite_rqt($rqt,"create table explnum_statut ");
     8029
     8030                        //DG - Statut "Sans statut particulier" ajouté par défaut
     8031                        $rqt = "insert into explnum_statut SET id_explnum_statut=1, gestion_libelle='Sans statut particulier',opac_libelle='', explnum_visible_opac='1' ";
     8032                        echo traite_rqt($rqt,"insert minimum into explnum_statut");
     8033
     8034                        //DG - Ajout d'un champ statut sur les documents numériques
     8035                        $rqt = "ALTER TABLE explnum ADD explnum_docnum_statut smallint(5) UNSIGNED NOT NULL DEFAULT 1 ";
     8036                        echo traite_rqt($rqt,"alter table explnum add explnum_docnum_statut ");
     8037
     8038                        //DG - Statut de document numérique par défaut en création de document numérique
     8039                        $rqt = "ALTER TABLE users ADD deflt_explnum_statut INT(6) UNSIGNED DEFAULT 1 NOT NULL " ;
     8040                        echo traite_rqt($rqt,"ALTER users ADD deflt_explnum_statut ");
     8041
     8042                        //AR - paramétrages des droits d'accès sur les documents numériques
     8043                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'gestion_acces' and sstype_param='empr_docnum' "))==0){
     8044                        $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     8045                                        VALUES ('gestion_acces','empr_docnum',0,'Gestion des droits d\'accès des emprunteurs aux documents numériques\n0 : Non.\n1 : Oui.','',0)";
     8046                                echo traite_rqt($rqt,"insert gestion_acces_empr_docnum into parametres");
     8047                        }
     8048                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'gestion_acces' and sstype_param='empr_docnum_def' "))==0){
     8049                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     8050                                        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)";
     8051                                echo traite_rqt($rqt,"insert gestion_acces_empr_docnum_def into parametres");
     8052                        }
     8053
     8054                        // NG - Ajout param transferts_retour_action_resa
     8055                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='retour_action_resa' "))==0){
     8056                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     8057                                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') ";
     8058                                echo traite_rqt($rqt,"INSERT transferts_retour_action_resa INTO parametres") ;
     8059                        }
     8060
     8061                        //DG - Logs OPAC - Exclusion possible des robots et de certaines adresses IP
     8062                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='logs_exclude_robots' "))==0){
     8063                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8064                                        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)";
     8065                                echo traite_rqt($rqt,"insert pmb_logs_exclude_robots = 1 into parametres");
     8066                        }
     8067
     8068                        // NG - Auteurs répétables dans les titres uniformes
     8069                        $rqt = "CREATE TABLE if not exists responsability_tu (
     8070                                        responsability_tu_author_num int unsigned NOT NULL default 0,
     8071                                        responsability_tu_num int unsigned NOT NULL default 0,
     8072                                        responsability_tu_fonction char(4) NOT NULL default '',
     8073                                        responsability_tu_type int unsigned NOT NULL default 0,
     8074                                        responsability_tu_ordre smallint(2) unsigned NOT NULL default 0,
     8075                                        PRIMARY KEY  (responsability_tu_author_num, responsability_tu_num, responsability_tu_fonction),
     8076                                        KEY responsability_tu_author (responsability_tu_author_num),
     8077                                        KEY responsability_tu_num (responsability_tu_num) )";
     8078                        echo traite_rqt($rqt,"CREATE TABLE responsability_tu ");
     8079                        // NG - migration de l'auteur de titre uniforme dans la table responsability_tu
     8080                        if ($res = pmb_mysql_query("select tu_num_author, tu_id from titres_uniformes where tu_num_author>0")){
     8081                                while ( $row = pmb_mysql_fetch_object($res)) {
     8082                                        $rqt = "INSERT INTO responsability_tu set responsability_tu_author_num=".$row->tu_num_author.", responsability_tu_num= ".$row->tu_id."  ";
     8083                                        pmb_mysql_query($rqt, $dbh);
     8084                                }
     8085                        }
     8086
     8087                        //NG - ajout pied de page dans la fiche de circulation
     8088                        $rqt = "ALTER TABLE serialcirc ADD serialcirc_piedpage text NOT NULL AFTER serialcirc_tpl";
     8089                        echo traite_rqt($rqt,"alter table serialcirc add serialcirc_piedpage");
     8090
     8091                        //DG - Templates de listes de circulation
     8092                        $rqt = "CREATE TABLE serialcirc_tpl (
     8093                                        serialcirctpl_id int(10) unsigned NOT NULL auto_increment,
     8094                                        serialcirctpl_name varchar(255) NOT NULL DEFAULT '',
     8095                                        serialcirctpl_comment varchar(255) NOT NULL DEFAULT '',
     8096                                        serialcirctpl_tpl text NOT NULL,
     8097                                        PRIMARY KEY  (serialcirctpl_id))";
     8098                        echo traite_rqt($rqt,"CREATE TABLE serialcirc_tpl") ;
     8099                        $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\";}}' ";
     8100                        echo traite_rqt($rqt,"insert minimum into serialcirc_tpl");
     8101
     8102                        //DG - Circulation des périodiques : Tri sur les destinataires
     8103                        $rqt = "ALTER TABLE serialcirc ADD serialcirc_sort_diff text NOT NULL";
     8104                        echo traite_rqt($rqt,"alter table serialcirc add serialcirc_sort_diff");
     8105
     8106                        //NG - Templates de bannettes
     8107                        $rqt = "CREATE TABLE bannette_tpl (
     8108                                        bannettetpl_id int(10) unsigned NOT NULL auto_increment,
     8109                                        bannettetpl_name varchar(255) NOT NULL DEFAULT '',
     8110                                        bannettetpl_comment varchar(255) NOT NULL DEFAULT '',
     8111                                        bannettetpl_tpl text NOT NULL,
     8112                                        PRIMARY KEY  (bannettetpl_id))";
     8113                        echo traite_rqt($rqt,"CREATE TABLE bannette_tpl") ;
     8114                        $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\";}}' ";
     8115                        echo traite_rqt($rqt,"insert minimum into bannette_tpl");
     8116
     8117                        //NG - Templates de bannettes
     8118                        $rqt = "ALTER TABLE bannettes ADD bannette_tpl_num INT(6) UNSIGNED DEFAULT 0 NOT NULL " ;
     8119                        echo traite_rqt($rqt,"ALTER bannettes ADD bannette_tpl_num ");
     8120
     8121
     8122                        // +-------------------------------------------------+
     8123                        echo "</table>";
     8124                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     8125                        $res = pmb_mysql_query($rqt, $dbh) ;
     8126                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     8127                        $action=$action+$increment;
     8128                        //echo form_relance ("v5.17");
     8129                        //break;
     8130
     8131//case "v5.17":
     8132                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     8133                        // +-------------------------------------------------+
     8134
     8135                        // NG - Ajout paramètre pour activer la géolocalisation
     8136                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_activate' "))==0){
     8137                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8138                                VALUES ( 'pmb', 'map_activate', '0', 'Activation de la géolocalisation:\n 0 : non \n 1 : oui','', 0)";
     8139                                echo traite_rqt($rqt,"insert pmb_map_activate into parametres");
     8140                        }
     8141
     8142                        //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)
     8143                        $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))";
     8144                        echo traite_rqt($rqt,"update exemplaires transfert_location_origine transfert_statut_origine");
     8145                        //NG - géolocalisation
     8146                        $rqt = "ALTER TABLE notices ADD map_echelle_num int(10) unsigned NOT NULL default 0" ;
     8147                        echo traite_rqt($rqt,"ALTER notices ADD map_echelle_num ");
     8148
     8149                        $rqt = "ALTER TABLE notices ADD map_projection_num int(10) unsigned NOT NULL default 0" ;
     8150                        echo traite_rqt($rqt,"ALTER notices ADD map_projection_num ");
     8151
     8152                        $rqt = "ALTER TABLE notices ADD map_ref_num int(10) unsigned NOT NULL default 0" ;
     8153                        echo traite_rqt($rqt,"ALTER notices ADD map_ref_num ");
     8154
     8155                        $rqt = "ALTER TABLE notices ADD map_equinoxe varchar(255) NOT NULL DEFAULT ''" ;
     8156                        echo traite_rqt($rqt,"ALTER notices ADD map_equinoxe ");
     8157
     8158
     8159
     8160                        //NG - géolocalisation: Memo des emprises
     8161                        $rqt = "CREATE TABLE if not exists map_emprises (
     8162                                        map_emprise_id int(10) unsigned NOT NULL auto_increment,
     8163                                        map_emprise_type int(10) unsigned NOT NULL default 0,
     8164                                        map_emprise_obj_num int(10) unsigned NOT NULL default 0,
     8165                                        map_emprise_data GEOMETRY NOT NULL,
     8166                                        map_emprise_order int(10) unsigned NOT NULL default 0,
     8167                                        PRIMARY KEY  (map_emprise_id))";
     8168                        echo traite_rqt($rqt,"CREATE TABLE map_emprises") ;
     8169
     8170                        //NG - géolocalisation: Echelles
     8171                        $rqt = "CREATE TABLE if not exists map_echelles (
     8172                                        map_echelle_id int(10) unsigned NOT NULL auto_increment,
     8173                                        map_echelle_name varchar(255) NOT NULL DEFAULT '',
     8174                                        PRIMARY KEY  (map_echelle_id))";
     8175                        echo traite_rqt($rqt,"CREATE TABLE map_echelles") ;
     8176
     8177                        //NG - géolocalisation: Système de projection du document
     8178                        $rqt = "CREATE TABLE if not exists map_projections (
     8179                                        map_projection_id int(10) unsigned NOT NULL auto_increment,
     8180                                        map_projection_name varchar(255) NOT NULL DEFAULT '',
     8181                                        PRIMARY KEY  (map_projection_id))";
     8182                        echo traite_rqt($rqt,"CREATE TABLE map_projections") ;
     8183
     8184                        //NG - géolocalisation: Systeme de référence de coord de la carte
     8185                        $rqt = "CREATE TABLE if not exists map_refs (
     8186                                        map_ref_id int(10) unsigned NOT NULL auto_increment,
     8187                                        map_ref_name varchar(255) NOT NULL DEFAULT '',
     8188                                        PRIMARY KEY  (map_ref_id))";
     8189                        echo traite_rqt($rqt,"CREATE TABLE map_refs") ;
     8190
     8191                        // AR - Ajout paramètre pour limiter le nombre d'emprises sur une carte !
     8192                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_max_holds' "))==0){
     8193                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8194                                VALUES ( 'pmb', 'map_max_holds', '250', 'Nombre d\'emprise maximum souhaité par type d\'emprise','map', 0)";
     8195                                echo traite_rqt($rqt,"insert pmb_map_max_holds into parametres");
     8196                        }
     8197
     8198                        // AR - Les paramètres de cartes sont rangés ensemble !
     8199                        $rqt = "update parametres set section_param= 'map' where type_param like 'pmb' and sstype_param like 'map_activate'";
     8200                        echo traite_rqt($rqt,"update pmb_map_max_holds");
     8201
     8202                        // AR - Définition de la couleur d'une emprise de notice
     8203                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_holds_record_color' "))==0){
     8204                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8205                                VALUES ( 'pmb', 'map_holds_record_color', '#D6A40F', 'Couleur des emprises associées à des notices','map', 0)";
     8206                                echo traite_rqt($rqt,"insert pmb_map_holds_record_color into parametres");
     8207                        }
     8208
     8209                        // AR - Définition de la couleur d'une emprise d'autorité
     8210                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_holds_authority_color' "))==0){
     8211                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8212                                VALUES ( 'pmb', 'map_holds_authority_color', '#D60F0F', 'Couleur des emprises associées à des autorités','map', 0)";
     8213                                echo traite_rqt($rqt,"insert pmb_map_holds_authority_color into parametres");
     8214                        }
     8215
     8216
     8217                        // AR - Définition du fond de carte
     8218                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_base_layer_type' "))==0){
     8219                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8220                                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)";
     8221                                echo traite_rqt($rqt,"insert pmb_map_base_layer_type into parametres");
     8222                        }
     8223                        // AR - Définition des paramètres du fond de carte
     8224                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_base_layer_params' "))==0){
     8225                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8226                                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)";
     8227                                echo traite_rqt($rqt,"insert pmb_map_base_layer_params into parametres");
     8228                        }
     8229
     8230                        // NG - Ajout paramètre de la taille de la carte en saisie de recherche
     8231                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_search_edition' "))==0){
     8232                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8233                                VALUES ( 'pmb', 'map_size_search_edition', '800*480', 'Taille de la carte en saisie de recherche','map', 0)";
     8234                                echo traite_rqt($rqt,"insert pmb_map_size_search_edition into parametres");
     8235                        }
     8236
     8237                        // NG - Ajout paramètre de la taille de la carte en résultat de recherche
     8238                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_search_result' "))==0){
     8239                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8240                                VALUES ( 'pmb', 'map_size_search_result', '800*480', 'Taille de la carte en résultat de recherche','map', 0)";
     8241                                echo traite_rqt($rqt,"insert pmb_map_size_search_result into parametres");
     8242                        }
     8243                        // NG - Ajout paramètre de la taille de la carte en visualisation de notice
     8244                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_notice_view' "))==0){
     8245                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8246                                VALUES ( 'pmb', 'map_size_notice_view', '800*480', 'Taille de la carte en visualisation de notice','map', 0)";
     8247                                echo traite_rqt($rqt,"insert pmb_map_size_notice_view into parametres");
     8248                        }
     8249
     8250                        // NG - Ajout paramètre de la taille de la carte en édition de notice
     8251                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_notice_edition' "))==0){
     8252                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8253                                VALUES ( 'pmb', 'map_size_notice_edition', '800*480', 'Taille de la carte en édition de notice','map', 0)";
     8254                                echo traite_rqt($rqt,"insert pmb_map_size_notice_edition into parametres");
     8255                        }
     8256
     8257                        // NG - cms: Ajout des vues opac
     8258                        $rqt = "ALTER TABLE cms ADD cms_opac_view_num int(10) unsigned NOT NULL default 0" ;
     8259                        echo traite_rqt($rqt,"ALTER cms ADD cms_opac_view_num ");
     8260
     8261                        //DG - Modification taille du champ article_resume de la table cms_articles
     8262                        $rqt ="alter table cms_articles MODIFY article_resume MEDIUMTEXT NOT NULL";
     8263                        echo traite_rqt($rqt,"alter table cms_articles modify article_resume mediumtext");
     8264
     8265                        //DG - Modification taille du champ article_contenu de la table cms_articles
     8266                        $rqt ="alter table cms_articles MODIFY article_contenu MEDIUMTEXT NOT NULL";
     8267                        echo traite_rqt($rqt,"alter table cms_articles modify article_contenu mediumtext");
     8268
     8269                        //DG - Modification taille du champ section_resume de la table cms_sections
     8270                        $rqt ="alter table cms_sections MODIFY section_resume MEDIUMTEXT NOT NULL";
     8271                        echo traite_rqt($rqt,"alter table cms_sections modify section_resume mediumtext");
     8272
     8273                        //MB - Définition de la taille maximum des vignettes des notices
     8274                        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){
     8275                                $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')";
     8276                                echo traite_rqt($rqt,"insert pmb_notice_img_pics_max_size='150' into parametres");
     8277                        }
     8278
     8279                        //DG - Vues OPAC dans les facettes
     8280                        $rqt = "show fields from facettes";
     8281                        $res = pmb_mysql_query($rqt);
     8282                        $exists = false;
     8283                        if(pmb_mysql_num_rows($res)){
     8284                                while($row = pmb_mysql_fetch_object($res)){
     8285                                        if($row->Field == "facette_opac_views_num"){
     8286                                                $exists = true;
     8287                                                break;
     8288                                        }
     8289                                }
     8290                        }
     8291                        if(!$exists){
     8292                                $rqt = "ALTER TABLE facettes ADD facette_opac_views_num text NOT NULL";
     8293                                echo traite_rqt($rqt,"alter table facettes add facette_opac_views_num");
     8294
     8295                                $req = "select id_facette, facette_opac_views_num from facettes";
     8296                                $res = pmb_mysql_query($req,$dbh);
     8297                                if ($res) {
     8298                                        $facettes = array();
     8299                                        while($row = pmb_mysql_fetch_object($res)) {
     8300                                                $facettes[] = $row->id_facette;
     8301                                        }
     8302                                        if (count($facettes)) {
     8303                                                $req = "select opac_view_id, opac_view_name from opac_views";
     8304                                                $myQuery = pmb_mysql_query($req, $dbh);
     8305                                                if ($myQuery) {
     8306                                                        $views = array();
     8307                                                        while ($row = pmb_mysql_fetch_object($myQuery)) {
     8308                                                                $v = array();
     8309                                                                $v["id"] = $row->opac_view_id;
     8310                                                                $v["name"] = $row->opac_view_name;
     8311                                                                $views[] = $v;
     8312                                                        }
     8313                                                        $param["selected"] = $facettes;
     8314                                                        $param=addslashes(serialize($param));
     8315                                                        foreach ($views as $view) {
     8316                                                                //Dans le cas où une modification a été faite avant le passage de la MAJ..
     8317                                                                $req = "delete from opac_filters where opac_filter_view_num=".$view["id"]." and opac_filter_path='facettes'";
     8318                                                                $res = pmb_mysql_query($req,$dbh);
     8319                                                                //Insertion..
     8320                                                                $rqt="insert into opac_filters set opac_filter_view_num=".$view["id"].",opac_filter_path='facettes', opac_filter_param='$param' ";
     8321                                                                echo traite_rqt($rqt,"insert authorization facettes into opac_filters view ".$view["name"]);
     8322                                                        }
     8323                                                }
     8324                                        }
     8325                                }
     8326                        }
     8327
     8328                        // NG - Ajout paramètre pour activer la géolocalisation en Opac
     8329                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_activate' "))==0){
     8330                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8331                                VALUES ( 'opac', 'map_activate', '0', 'Activation de la géolocalisation:\n 0 : non \n 1 : oui','a_general', 0)";
     8332                                echo traite_rqt($rqt,"insert opac_map_activate into parametres");
     8333                        }
     8334
     8335                        //DB - commande psexec (planificateur sous windows)
     8336                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='psexec_cmd' "))==0){
     8337                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8338                                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) ";
     8339                                echo traite_rqt($rqt, "insert pmb_psexec_cmd into parameters");
     8340                        }
     8341
     8342                        // AR - Ajout paramètre pour activer l'éditeur Dojo
     8343                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='editorial_dojo_editor' "))==0){
     8344                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8345                                VALUES ( 'pmb', 'editorial_dojo_editor', '1', 'Activation de l\'éditeur DoJo dans le contenu éditorial:\n 0 : non \n 1 : oui','', 0)";
     8346                                echo traite_rqt($rqt,"insert pmb_editorial_dojo_editor into parametres");
     8347                        }
     8348
     8349                        // DG - Module "Surcharge de méta-données" : Groupes de méta-données par défaut
     8350                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from cms_managed_modules where managed_module_name= 'cms_module_metadatas' "))==0){
     8351                                $struct = array();
     8352                                $struct["metadatas1"] = array(
     8353                                                'prefix' => "og",
     8354                                                'name' => "Open Graph Protocol",
     8355                                                'items' => array(
     8356                                                                'title' => array(
     8357                                                                                'label' => "titre",
     8358                                                                                'desc' => "Titre",
     8359                                                                                'default_template' => "{{title}}"
     8360                                                                ),
     8361                                                                'type' => array(
     8362                                                                                'label' => "type",
     8363                                                                                'desc' => "Type",
     8364                                                                                'default_template' => "{{type}}"
     8365                                                                ),
     8366                                                                'image' => array(
     8367                                                                                'label' => "logo",
     8368                                                                                'desc' => "Lien vers le logo",
     8369                                                                                'default_template' => "{{logo_url}}"
     8370                                                                ),
     8371                                                                'url' => array(
     8372                                                                                'label' => "lien",
     8373                                                                                'desc' => "Lien",
     8374                                                                                'default_template' => "{{link}}"
     8375                                                                ),
     8376                                                                'description' => array(
     8377                                                                                'label' => "description",
     8378                                                                                'desc' => "Résumé",
     8379                                                                                'default_template' => "{{resume}}"
     8380                                                                ),
     8381                                                                'locale' => array(
     8382                                                                                'label' => "locale",
     8383                                                                                'desc' => "Langue",
     8384                                                                                'default_template' => ""
     8385                                                                ),
     8386                                                                'site_name' => array(
     8387                                                                                'label' => "site_name",
     8388                                                                                'desc' => "Nom du site",
     8389                                                                                'default_template' => ""
     8390                                                                ),
     8391                                                ),
     8392                                                'separator' => ":",
     8393                                                'group_template' => "<meta property='{{key_metadata}}' content='{{value_metadata}}' />"
     8394                                );
     8395
     8396                                $struct["metadatas2"] = array(
     8397                                                'prefix' => "twitter",
     8398                                                'name' => "Twitter Cards",
     8399                                                'items' => array(
     8400                                                                'title' => array(
     8401                                                                                'label' => "titre",
     8402                                                                                'desc' => "Titre",
     8403                                                                                'default_template' => "{{title}}"
     8404                                                                ),
     8405                                                                'card' => array(
     8406                                                                                'label' => "card",
     8407                                                                                'desc' => "Résumé",
     8408                                                                                'default_template' => ""
     8409                                                                ),
     8410                                                                'description' => array(
     8411                                                                                'label' => "description",
     8412                                                                                'desc' => "Description",
     8413                                                                                'default_template' => "{{resume}}"
     8414                                                                ),
     8415                                                                'image' => array(
     8416                                                                                'label' => "logo",
     8417                                                                                'desc' => "Lien vers le logo",
     8418                                                                                'default_template' => "{{logo_url}}"
     8419                                                                ),
     8420                                                                'site' => array(
     8421                                                                                'label' => "site",
     8422                                                                                'desc' => "Site",
     8423                                                                                'default_template' => ""
     8424                                                                ),
     8425                                                ),
     8426                                                'separator' => ":",
     8427                                                'group_template' => "<meta name='{{key_metadata}}' content='{{value_metadata}}' />"
     8428                                );
     8429                                $managed_datas = array();
     8430                                $managed_datas["module"]["metadatas"] = $struct;
     8431                                $managed_datas=addslashes(serialize($managed_datas));
     8432                                $rqt = "INSERT INTO cms_managed_modules ( managed_module_name, managed_module_box)
     8433                                VALUES ('cms_module_metadatas', '$managed_datas')";
     8434                                echo traite_rqt($rqt,"insert cms_module_metadatas into cms_managed_modules");
     8435                        }
     8436
     8437                        //DB Ajout vignette etageres (SDN)
     8438                        $rqt = "ALTER TABLE etagere ADD thumbnail_url MEDIUMBLOB NOT NULL " ;
     8439                        echo traite_rqt($rqt,"ALTER TABLE etagere ADD thumbnail_url ");
     8440
     8441                        // AR - Ajout paramètre pour limiter le nombre d'emprises sur une carte à l'OPAC!
     8442                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_max_holds' "))==0){
     8443                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8444                                VALUES ( 'opac', 'map_max_holds', '250', 'Nombre d\'emprise maximum souhaité par type d\'emprise','map', 0)";
     8445                                echo traite_rqt($rqt,"insert opac_map_max_holds into parametres");
     8446                        }
     8447
     8448                        // AR - Les paramètres de cartes sont rangés ensemble !
     8449                        $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'";
     8450                        echo traite_rqt($rqt,"update opac_map_activate");
     8451
     8452                        // AR - Changement de nom !
     8453                        $rqt = "update parametres set comment_param='Activation du géoréférencement' where type_param like 'pmb' and sstype_param like 'map_activate'";
     8454                        echo traite_rqt($rqt,"update pmb_map_activate");
     8455
     8456                        // AR - Définition de la couleur d'une emprise de notice à l'OPAC
     8457                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_holds_record_color' "))==0){
     8458                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8459                                VALUES ( 'opac', 'map_holds_record_color', '#D6A40F', 'Couleur des emprises associées à des notices','map', 0)";
     8460                                echo traite_rqt($rqt,"insert opac_map_holds_record_color into parametres");
     8461                        }
     8462
     8463                        // AR - Définition de la couleur d'une emprise d'autorité à l'OPAC
     8464                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_holds_authority_color' "))==0){
     8465                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8466                                VALUES ( 'opac', 'map_holds_authority_color', '#D60F0F', 'Couleur des emprises associées à des autorités','map', 0)";
     8467                                echo traite_rqt($rqt,"insert opac_map_holds_authority_color into parametres");
     8468                        }
     8469
     8470                        // AR - Ajout paramètre de la taille de la carte en saisie de recherche à l'OPAC
     8471                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_search_edition' "))==0){
     8472                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8473                                VALUES ( 'opac', 'map_size_search_edition', '800*480', 'Taille de la carte en saisie de recherche','map', 0)";
     8474                                echo traite_rqt($rqt,"insert opac_map_size_search_edition into parametres");
     8475                        }
     8476
     8477                        // AR - Ajout paramètre de la taille de la carte en résultat de recherche à l'OPAC
     8478                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_search_result' "))==0){
     8479                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8480                                VALUES ( 'opac', 'map_size_search_result', '800*480', 'Taille de la carte en résultat de recherche','map', 0)";
     8481                                echo traite_rqt($rqt,"insert opac_map_size_search_result into parametres");
     8482                        }
     8483                        // AR - Ajout paramètre de la taille de la carte en visualisation de notice à l'OPAC
     8484                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_notice_view' "))==0){
     8485                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8486                                VALUES ( 'opac', 'map_size_notice_view', '800*480', 'Taille de la carte en visualisation de notice','map', 0)";
     8487                                echo traite_rqt($rqt,"insert opac_map_size_notice_view into parametres");
     8488                        }
     8489
     8490                        // AR - Définition du fond de carte à l'OPAC
     8491                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_base_layer_type' "))==0){
     8492                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8493                                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)";
     8494                                echo traite_rqt($rqt,"insert opac_map_base_layer_type into parametres");
     8495                        }
     8496                        // AR - Définition des paramètres du fond de carte à l'OPAC
     8497                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_base_layer_params' "))==0){
     8498                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8499                                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)";
     8500                                echo traite_rqt($rqt,"insert opac_map_base_layer_params into parametres");
     8501                        }
     8502
     8503                        // JP - Suggestions - Utilisateur : pouvoir être alerté en cas de nouvelle suggestion à l'OPAC
     8504                        $rqt = "ALTER TABLE users ADD user_alert_suggmail int(1) UNSIGNED NOT NULL DEFAULT 0";
     8505                        echo traite_rqt($rqt,"alter table users add user_alert_suggmail");
     8506
     8507                        // JP - Acquisitions - Sélection rubrique budgétaire en commande : pouvoir toutes les afficher
     8508                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='budget_show_all' "))==0){
     8509                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8510                                        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)";
     8511                                echo traite_rqt($rqt,"insert budget_show_all = 0 into parametres");
     8512                        }
     8513
     8514
     8515                        // +-------------------------------------------------+
     8516                        echo "</table>";
     8517                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     8518                        $res = pmb_mysql_query($rqt, $dbh) ;
     8519                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     8520                        $action=$action+$increment;
     8521                        //echo form_relance ("v5.18");
     8522                        //break;
     8523
     8524//case "v5.18":
     8525                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     8526                        // +-------------------------------------------------+
     8527
     8528                        //MB - Ajout index sur le nom des fichiers numériques pour accélérer la recherche
     8529                        $add_index=true;
     8530                        $req="SHOW INDEX FROM explnum";
     8531                        $res=pmb_mysql_query($req);
     8532                        if($res && pmb_mysql_num_rows($res)){
     8533                                while ($ligne = pmb_mysql_fetch_object($res)){
     8534                                        if($ligne->Column_name == "explnum_nomfichier"){
     8535                                                $add_index=false;
     8536                                                break;
     8537                                        }
     8538                                }
     8539                        }
     8540                        if($add_index){
     8541                                @set_time_limit(0);
     8542                                pmb_mysql_query("set wait_timeout=28800", $dbh);
     8543                                $rqt = "alter table explnum add index i_explnum_nomfichier(explnum_nomfichier(30))";
     8544                                echo traite_rqt($rqt,"alter table explnum add index i_explnum_nomfichier");
     8545                        }
     8546
     8547                        //JP - Ajout deux index sur les liens entre actes pour accélérer la recherche
     8548                        $rqt = "alter table liens_actes drop index i_num_acte";
     8549                        echo traite_rqt($rqt,"alter table liens_actes drop index i_num_acte");
     8550                        $rqt = "alter table liens_actes add index i_num_acte(num_acte)";
     8551                        echo traite_rqt($rqt,"alter table liens_actes add index i_num_acte");
     8552
     8553                        $rqt = "alter table liens_actes drop index i_num_acte_lie";
     8554                        echo traite_rqt($rqt,"alter table liens_actes drop index i_num_acte_lie");
     8555                        $rqt = "alter table liens_actes add index i_num_acte_lie(num_acte_lie)";
     8556                        echo traite_rqt($rqt,"alter table liens_actes add index i_num_acte_lie");
     8557
     8558                        //JP - Modification taille du champ mailtpl_tpl de la table mailtpl
     8559                        $rqt ="alter table mailtpl MODIFY mailtpl_tpl MEDIUMTEXT NOT NULL";
     8560                        echo traite_rqt($rqt,"alter table mailtpl modify mailtpl_tpl mediumtext");
     8561
     8562                        //JP - Nettoyage des catégories sans libellé
     8563                        $rqt ="DELETE FROM categories WHERE libelle_categorie=''";
     8564                        echo traite_rqt($rqt,"Delete categories sans libellé");
     8565
     8566                        // JP - Abonnements - nom du périodique par défaut en création d'abonnement
     8567                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='abt_label_perio' "))==0){
     8568                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8569                                                        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)";
     8570                                echo traite_rqt($rqt,"insert pmb_abt_label_perio = 0 into parametres");
     8571                        }
     8572
     8573                        // JP - Acquisitions - afficher le nom de l'abonnement dans les lignes de la commande
     8574                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'acquisition' and sstype_param='show_abt_in_cmde' "))==0){
     8575                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8576                                                VALUES (0, 'acquisition', 'show_abt_in_cmde', '0', 'Afficher l\'abonnement dans les lignes de la commande ?\n 0: Non \n 1: Oui.','',0)";
     8577                                echo traite_rqt($rqt,"insert acquisition_show_abt_in_cmde = 0 into parametres");
     8578                        }
     8579
     8580                        // NG - Nomenclature: Familles
     8581                        $rqt = "CREATE TABLE if not exists nomenclature_families (
     8582                                        id_family int unsigned NOT NULL auto_increment,
     8583                                        family_name varchar(255) NOT NULL DEFAULT '',
     8584                                        family_order int unsigned NOT NULL DEFAULT 0,
     8585                                        PRIMARY KEY (id_family))";
     8586                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_families");
     8587
     8588                        // NG - Nomenclature: pupitres
     8589                        $rqt = "CREATE TABLE if not exists nomenclature_musicstands (
     8590                                        id_musicstand int unsigned NOT NULL auto_increment,
     8591                                        musicstand_name varchar(255) NOT NULL DEFAULT '',
     8592                                        musicstand_famille_num int unsigned NOT NULL DEFAULT 0,
     8593                                        musicstand_division int unsigned NOT NULL DEFAULT 0,
     8594                                        musicstand_order int unsigned NOT NULL DEFAULT 0,
     8595                                        musicstand_workshop int unsigned NOT NULL DEFAULT 0,
     8596                                        PRIMARY KEY (id_musicstand))";
     8597                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_musicstands");
     8598
     8599                        // NG - Nomenclature: instruments
     8600                        $rqt = "CREATE TABLE if not exists nomenclature_instruments (
     8601                                        id_instrument int unsigned NOT NULL auto_increment,
     8602                                        instrument_code varchar(255) NOT NULL DEFAULT '',
     8603                                        instrument_name varchar(255) NOT NULL DEFAULT '',
     8604                                        instrument_musicstand_num int unsigned NOT NULL DEFAULT 0,
     8605                                        instrument_standard int unsigned NOT NULL DEFAULT 0,
     8606                                        PRIMARY KEY (id_instrument))";
     8607                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_instruments");
     8608
     8609                        //NG - Nomenclature: Formations
     8610                        $rqt = "CREATE TABLE if not exists nomenclature_formations (
     8611                                        id_formation int unsigned NOT NULL auto_increment,
     8612                                        formation_name varchar(255) NOT NULL DEFAULT '',
     8613                                        formation_nature int unsigned NOT NULL DEFAULT 0,
     8614                                        formation_order int unsigned NOT NULL DEFAULT 0,
     8615                                        PRIMARY KEY (id_formation))";
     8616                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_formations");
     8617
     8618                        // NG - Nomenclature: Types
     8619                        $rqt = "CREATE TABLE if not exists nomenclature_types (
     8620                                        id_type int unsigned NOT NULL auto_increment,
     8621                                        type_name varchar(255) NOT NULL DEFAULT '',
     8622                                        type_formation_num int unsigned NOT NULL DEFAULT 0,
     8623                                        type_order int unsigned NOT NULL DEFAULT 0,
     8624                                        PRIMARY KEY (id_type))";
     8625                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_types");
     8626
     8627                        // NG - Nomenclature: voix
     8628                        $rqt = "CREATE TABLE if not exists nomenclature_voices (
     8629                                id_voice int unsigned NOT NULL auto_increment,
     8630                                voice_code varchar(255) NOT NULL DEFAULT '',
     8631                                voice_name varchar(255) NOT NULL DEFAULT '',
     8632                                voice_order int unsigned NOT NULL DEFAULT 0,
     8633                                PRIMARY KEY (id_voice))";
     8634                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_voices");
     8635
     8636                        // NG - Nomenclature: Formations dans les notices
     8637                        $rqt = "CREATE TABLE if not exists nomenclature_notices_nomenclatures (
     8638                                id_notice_nomenclature int unsigned NOT NULL auto_increment,
     8639                                notice_nomenclature_num_notice int unsigned NOT NULL DEFAULT 0,
     8640                                notice_nomenclature_num_formation int unsigned NOT NULL DEFAULT 0,
     8641                                notice_nomenclature_num_type int unsigned NOT NULL DEFAULT 0,
     8642                                notice_nomenclature_label varchar(255) NOT NULL DEFAULT '',
     8643                                notice_nomenclature_abbreviation TEXT NOT NULL ,
     8644                                notice_nomenclature_notes TEXT NOT NULL,
     8645                                notice_nomenclature_order int unsigned NOT NULL DEFAULT 0,
     8646                                PRIMARY KEY (id_notice_nomenclature))";
     8647                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_notices_nomenclatures");
     8648
     8649                        // NG - Nomenclature: Ateliers des formations de la notice
     8650                        $rqt = "CREATE TABLE if not exists nomenclature_workshops (
     8651                                id_workshop int unsigned NOT NULL auto_increment,
     8652                                workshop_label varchar(255) NOT NULL DEFAULT '',
     8653                                workshop_num_nomenclature int unsigned NOT NULL DEFAULT 0,
     8654                                workshop_order int unsigned NOT NULL DEFAULT 0,
     8655                                PRIMARY KEY (id_workshop))";
     8656                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_workshops");
     8657
     8658                        // NG - Nomenclature: Instruments des ateliers de la notice
     8659                        $rqt = "CREATE TABLE if not exists nomenclature_workshops_instruments (
     8660                                id_workshop_instrument int unsigned NOT NULL auto_increment,
     8661                                workshop_instrument_num_workshop int unsigned NOT NULL DEFAULT 0,
     8662                                workshop_instrument_num_instrument int unsigned NOT NULL DEFAULT 0,
     8663                                workshop_instrument_number int unsigned NOT NULL DEFAULT 0,
     8664                                workshop_instrument_order int unsigned NOT NULL DEFAULT 0,
     8665                                PRIMARY KEY (id_workshop_instrument))";
     8666                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_workshops_instruments");
     8667
     8668                        // NG - Nomenclature: Instruments non standards de la formation de la notice
     8669                        $rqt = "CREATE TABLE if not exists nomenclature_exotic_instruments (
     8670                                id_exotic_instrument int unsigned NOT NULL auto_increment,
     8671                                exotic_instrument_num_nomenclature int unsigned NOT NULL DEFAULT 0,
     8672                                exotic_instrument_num_instrument int unsigned NOT NULL DEFAULT 0,
     8673                                exotic_instrument_number int unsigned NOT NULL DEFAULT 0,
     8674                                exotic_instrument_order int unsigned NOT NULL DEFAULT 0,
     8675                                PRIMARY KEY (id_exotic_instrument))";
     8676                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_exotic_instruments");
     8677
     8678
     8679                        // NG - Nomenclature: Instruments non standards autres de la formation de la notice
     8680                        $rqt = "CREATE TABLE if not exists nomenclature_exotic_other_instruments (
     8681                                id_exotic_other_instrument int unsigned NOT NULL auto_increment,
     8682                                exotic_other_instrument_num_exotic_instrument int unsigned NOT NULL DEFAULT 0,
     8683                                exotic_other_instrument_num_instrument int unsigned NOT NULL DEFAULT 0,
     8684                                exotic_other_instrument_order int unsigned NOT NULL DEFAULT 0,
     8685                                PRIMARY KEY (id_exotic_other_instrument))";
     8686                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_exotic_other_instruments");
     8687
     8688                        // NG - Nomenclature: notices filles
     8689                        $rqt = "CREATE TABLE if not exists nomenclature_children_records (
     8690                                child_record_num_record int unsigned NOT NULL DEFAULT 0,
     8691                                child_record_num_formation int unsigned NOT NULL DEFAULT 0,
     8692                                child_record_num_type int unsigned NOT NULL DEFAULT 0,
     8693                                child_record_num_musicstand int unsigned NOT NULL DEFAULT 0,
     8694                                child_record_num_instrument int unsigned NOT NULL DEFAULT 0,
     8695                                child_record_effective int unsigned NOT NULL DEFAULT 0,
     8696                                child_record_order int unsigned NOT NULL DEFAULT 0,
     8697                                child_record_other varchar(255) NOT NULL DEFAULT '',
     8698                                child_record_num_voice int unsigned NOT NULL DEFAULT 0,
     8699                                child_record_num_workshop int unsigned NOT NULL DEFAULT 0,
     8700                                PRIMARY KEY (child_record_num_record))";
     8701                        echo traite_rqt($rqt,"CREATE TABLE nomenclature_children_records");
     8702
     8703                        // NG - Ajout paramètre pour identifier le type de relation entre une notice de nomenclature et ses notices filles
     8704                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_record_children_link' "))==0){
     8705                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8706                                VALUES ( 'pmb', 'nomenclature_record_children_link', '', 'Type de relation entre une notice de nomenclature et ses notices filles.','', 0)";
     8707                                echo traite_rqt($rqt,"insert pmb_nomenclature_record_children_link");
     8708                        }
     8709
     8710                        // NG - Ajout paramètre pour activer les nomenclatures
     8711                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_activate' "))==0){
     8712                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8713                                VALUES ( 'pmb', 'nomenclature_activate', '0', 'Activation des nomenclatures:\n 0 : non \n 1 : oui','', 0)";
     8714                                echo traite_rqt($rqt,"insert pmb_nomenclature_activate into parametres");
     8715                        }
     8716
     8717                        //MHo - Augmentation de la taille du champ pour les titres_uniformes
     8718                        $rqt = "ALTER TABLE titres_uniformes MODIFY tu_sujet TEXT NOT NULL";
     8719                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes MODIFY tu_sujet TEXT NOT NULL");
     8720
     8721                        // MB - Affichage liste des bulletins - Modification explication du paramètre
     8722                        $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'";
     8723                        echo traite_rqt($rqt,"UPDATE parametres opac_fonction_affichage_liste_bull");
     8724
     8725                        // VT & DG - Création des tables de veilles
     8726                        $rqt="create table if not exists docwatch_watches(
     8727                                id_watch int unsigned not null auto_increment primary key,
     8728                                watch_title varchar(255) not null default '',
     8729                                watch_owner int unsigned not null default 0,
     8730                                watch_allowed_users varchar(255) not null default '',
     8731                                watch_num_category int unsigned not null default 0,
     8732                                watch_last_date datetime,
     8733                                watch_ttl int unsigned not null default 0,
     8734                                index i_docwatch_watch_title(watch_title)
     8735                                )";
     8736                        echo traite_rqt($rqt, "create table docwatch_watches");
     8737
     8738                        $rqt="create table if not exists docwatch_datasources(
     8739                                id_datasource int unsigned not null auto_increment primary key,
     8740                                datasource_type varchar(255) not null default '',
     8741                                datasource_title varchar(255) not null default '',
     8742                                datasource_ttl int unsigned not null default 0,
     8743                                datasource_last_date datetime,
     8744                                datasource_parameters mediumtext not null,
     8745                                datasource_num_category int unsigned not null default 0,
     8746                                datasource_default_interesting int unsigned not null default 0,
     8747                                datasource_num_watch int unsigned not null default 0,
     8748                                index i_docwatch_datasource_title(datasource_title)
     8749                                )";
     8750                        echo traite_rqt($rqt, "create table docwatch_datasources");
     8751
     8752                        $rqt="create table if not exists docwatch_selectors (
     8753                                id_selector int unsigned not null auto_increment primary key,
     8754                                selector_type varchar(255) not null default '',
     8755                                selector_num_datasource int unsigned not null default 0,
     8756                                selector_parameters mediumtext not null
     8757                                )";
     8758                        echo traite_rqt($rqt, "create table docwatch_selectors");
     8759
     8760                        $rqt="create table if not exists docwatch_items(
     8761                                id_item int unsigned not null auto_increment primary key,
     8762                                item_type varchar(255) not null default '',
     8763                                item_title varchar(255) not null default '',
     8764                                item_summary mediumtext not null,
     8765                                item_content mediumtext not null,
     8766                                item_added_date datetime,
     8767                                item_publication_date datetime,
     8768                                item_hash varchar(255) not null default '',
     8769                                item_url varchar(255) not null default '',
     8770                                item_logo_url varchar(255) not null default '',
     8771                                item_status int unsigned not null default 0,
     8772                                item_interesting int unsigned not null default 0,
     8773                                item_num_article int unsigned not null default 0,
     8774                                item_num_section int unsigned not null default 0,
     8775                                item_num_notice int unsigned not null default 0,
     8776                                item_num_datasource int unsigned not null default 0,
     8777                                item_num_watch int unsigned not null default 0,
     8778                                index i_docwatch_item_type(item_type),
     8779                                index i_docwatch_item_title(item_title),
     8780                                index i_docwatch_item_num_article(item_num_article),
     8781                                index i_docwatch_item_num_section(item_num_section),
     8782                                index i_docwatch_item_num_notice(item_num_notice),
     8783                                index i_docwatch_item_num_watch(item_num_watch)
     8784                                )";
     8785                        echo traite_rqt($rqt, "create table docwatch_items");
     8786
     8787                        $rqt="create table if not exists docwatch_items_descriptors(
     8788                                num_item int unsigned not null default 0,
     8789                                num_noeud int unsigned not null default 0,
     8790                                primary key (num_item, num_noeud)
     8791                                )";
     8792                        echo traite_rqt($rqt, "create table docwatch_items_descriptors");
     8793
     8794                        $rqt="create table if not exists docwatch_categories(
     8795                                id_category int unsigned not null auto_increment primary key,
     8796                                category_title varchar(255) not null default '',
     8797                                category_num_parent int unsigned not null default 0
     8798                                )";
     8799                        echo traite_rqt($rqt, "create table docwatch_categories");
     8800
     8801                        $rqt="create table if not exists docwatch_items_tags(
     8802                                num_item int unsigned not null default 0,
     8803                                num_tag int unsigned not null default 0,
     8804                                primary key (num_item, num_tag)
     8805                                )";
     8806                        echo traite_rqt($rqt, "create table docwatch_items_tags");
     8807
     8808                        $rqt="create table if not exists docwatch_tags(
     8809                                id_tag int unsigned not null auto_increment primary key,
     8810                                tag_title varchar(255) not null default ''
     8811                                )";
     8812                        echo traite_rqt($rqt, "create table docwatch_tags");
     8813
     8814                        $rqt = "ALTER TABLE docwatch_watches ADD watch_desc text NOT NULL" ;
     8815                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_desc ");
     8816
     8817                        $rqt = "ALTER TABLE docwatch_watches ADD watch_logo_url varchar(255) NOT NULL default ''" ;
     8818                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_logo_url ");
     8819
     8820                        $rqt = "ALTER TABLE docwatch_watches ADD watch_record_default_type char(2) not null default 'a'" ;
     8821                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_record_default_type ");
     8822
     8823                        $rqt = "ALTER TABLE docwatch_watches ADD watch_record_default_status int unsigned not null default 0" ;
     8824                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_record_default_status ");
     8825
     8826                        $rqt = "ALTER TABLE docwatch_watches ADD watch_article_default_parent int unsigned not null default 0" ;
     8827                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_article_default_parent");
     8828
     8829                        $rqt = "ALTER TABLE docwatch_watches ADD watch_article_default_content_type int unsigned not null default 0" ;
     8830                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_article_default_content_type ");
     8831
     8832                        $rqt = "ALTER TABLE docwatch_watches ADD watch_article_default_publication_status int unsigned not null default 0" ;
     8833                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_article_default_content_publication_status ");
     8834
     8835                        $rqt = "ALTER TABLE docwatch_watches ADD watch_section_default_parent int unsigned not null default 0" ;
     8836                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_section_default_parent");
     8837
     8838                        $rqt = "ALTER TABLE docwatch_watches ADD watch_section_default_content_type int unsigned not null default 0" ;
     8839                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_section_default_content_type ");
     8840
     8841                        $rqt = "ALTER TABLE docwatch_watches ADD watch_section_default_publication_status int unsigned not null default 0" ;
     8842                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_section_default_content_publication_status ");
     8843
     8844                        // NG - Demandes: Ajout d'un paramètre permettant de saisir un email générique pour la gestion des demanades
     8845                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'demandes' and sstype_param='email_generic' "))==0){
     8846                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8847                                VALUES (0, 'demandes', 'email_generic', '',
     8848                                '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 ',
     8849                                '',0) ";
     8850                                echo traite_rqt($rqt, "insert demandes_email_generic into parameters");
     8851                        }
     8852
     8853                        // NG - Demandes: Ajout d'un paramètre permettant d'afficher le format simplifié en Opac
     8854                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='demandes_affichage_simplifie' "))==0){
     8855                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8856                                VALUES (0, 'opac', 'demandes_affichage_simplifie', '0',
     8857                                'Active le format simplifié des demandes en Opac:\n 0 : non \n 1 : oui',
     8858                                'a_general',0) ";
     8859                                echo traite_rqt($rqt, "insert opac_demandes_affichage_simplifie into parameters");
     8860                        }
     8861
     8862                        // NG - Demandes: Ajout d'un paramètre permettant d'interdire l'ajout d'une action en Opac
     8863                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='demandes_no_action' "))==0){
     8864                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8865                                VALUES (0, 'opac', 'demandes_no_action', '0',
     8866                                'Interdire l\'ajout d\'une action en Opac:\n 0 : non \n 1 : oui',
     8867                                'a_general',0) ";
     8868                                echo traite_rqt($rqt, "insert opac_demandes_no_action into parameters");
     8869                        }
     8870
     8871                        // NG - Demandes: lien entre la note générant la réponse finale d'une demande
     8872                        $rqt = "ALTER TABLE demandes ADD demande_note_num int unsigned not null default 0" ;
     8873                        echo traite_rqt($rqt,"ALTER TABLE demandes ADD demande_note_num ");
     8874
     8875                        //JP - Modification de la longueur du champ email de la table coordonnees
     8876                        $rqt = "ALTER TABLE coordonnees MODIFY email varchar(255) NOT NULL default '' ";
     8877                        echo traite_rqt($rqt,"alter table coordonnees modify email");
     8878
     8879                        // DG - Veilles : Option pour nettoyer le contenu HTML des nouveaux éléments
     8880                        $rqt = "ALTER TABLE docwatch_datasources ADD datasource_clean_html int unsigned not null default 1 after datasource_default_interesting" ;
     8881                        echo traite_rqt($rqt,"ALTER TABLE docwatch_datasources ADD datasource_clean_html ");
     8882
     8883                        // VT - Ajout paramètre pour definir le ratio minimum d'une emprise pour qu'elle s'affiche
     8884                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_hold_ratio_min' "))==0){
     8885                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8886                                VALUES ( 'pmb', 'map_hold_ratio_min', '4', 'Ratio minimum d\'occupation en pourcentage d\'une emprise pour s\'afficher','map', 0)";
     8887                                echo traite_rqt($rqt,"insert pmb_map_hold_ratio_min into parametres");
     8888                        }
     8889
     8890                        // VT - Ajout paramètre pour definir le ratio maximum d'une emprise pour qu'elle s'affiche
     8891                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_hold_ratio_max' "))==0){
     8892                        $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8893                                VALUES ( 'pmb', 'map_hold_ratio_max', '75', 'Ratio maximum d\'occupation en pourcentage d\'une emprise pour s\'afficher','map', 0)";
     8894                                echo traite_rqt($rqt,"insert pmb_map_hold_ratio_max into parametres");
     8895                        }
     8896
     8897                        // VT - Ajout paramètre pour definir le rapport de distance entre deux points pour qu'ils soit aggrégés ensembles
     8898                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_hold_distance' "))==0){
     8899                                        $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8900                                VALUES ( 'pmb', 'map_hold_distance', '10', 'Rapport de distance entre deux points pour les agréger','map', 0)";
     8901                                echo traite_rqt($rqt,"insert pmb_map_hold_distance into parametres");
     8902                        }
     8903
     8904                        // VT - Creation table de correspondance contenant les aires des différentes emprises de la base
     8905                        $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)";
     8906                        echo traite_rqt($rqt, "create table map_hold_areas");
     8907
     8908                        //VT - Verification de l'existance de la clé primaire (création si non-existante)
     8909                        if (pmb_mysql_num_rows(pmb_mysql_query("show keys from map_hold_areas where column_name = 'id_obj' "))==0){
     8910                                $rqt="alter table map_hold_areas add primary key(id_obj)";
     8911                                echo traite_rqt($rqt, "alter table map_hold_areas add primary key");
     8912                        }
     8913
     8914                        //NG - ajout pied de page dans template de la fiche de circulation
     8915                        $rqt = "ALTER TABLE serialcirc_tpl ADD serialcirctpl_piedpage text NOT NULL ";
     8916                        echo traite_rqt($rqt,"alter table serialcirc_tpl add serialcirctpl_piedpage");
     8917
     8918                        // AP - Ajout de la recherche dans les concepts
     8919                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='modules_search_concept' "))==0) {
     8920                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8921                                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) ";
     8922                                echo traite_rqt($rqt, "insert opac_modules_search_concept into parameters");
     8923                        }
     8924
     8925                        // VT - Ajout paramètre pour definir le ratio minimum d'une emprise pour qu'elle s'affiche (opac)
     8926                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_hold_ratio_min' "))==0) {
     8927                                $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8928                                VALUES ('opac', 'map_hold_ratio_min', '4', 'Ratio minimum d\'occupation en pourcentage d\'une emprise pour s\'afficher', 'map', 0) ";
     8929                                echo traite_rqt($rqt, "insert opac_map_hold_ratio_min into parametres");
     8930                        }
     8931
     8932                        // VT - Ajout paramètre pour definir le ratio maximum d'une emprise pour qu'elle s'affiche (opac)
     8933                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_hold_ratio_max' "))==0){
     8934                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8935                                VALUES ( 'opac', 'map_hold_ratio_max', '75', 'Ratio maximum d\'occupation en pourcentage d\'une emprise pour s\'afficher','map', 0)";
     8936                                echo traite_rqt($rqt,"insert opac_map_hold_ratio_max into parametres");
     8937                        }
     8938
     8939                        // VT - Ajout paramètre pour definir le rapport de distance entre deux points pour qu'ils soit aggrégés ensembles (opac)
     8940                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_hold_distance' "))==0){
     8941                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     8942                                VALUES ( 'opac', 'map_hold_distance', '10', 'Rapport de distance entre deux points pour les agréger','map', 0)";
     8943                                echo traite_rqt($rqt,"insert opac_map_hold_distance into parametres");
     8944                        }
     8945
     8946                        // VT - Ajout d'un index sur la colonne map_emprise_obj_num de la table map_emprises
     8947                        $rqt="alter table map_emprises add index i_map_emprise_obj_num(map_emprise_obj_num)";
     8948                        echo traite_rqt($rqt, "alter table map_emprises add index i_map_emprise_obj_num");
     8949
     8950                        // JP - Ajout champ de classement sur étagères et paniers
     8951                        $rqt = "ALTER TABLE caddie ADD caddie_classement varchar(255) NOT NULL default ''" ;
     8952                        echo traite_rqt($rqt,"ALTER TABLE caddie ADD caddie_classement ");
     8953
     8954                        $rqt = "ALTER TABLE empr_caddie ADD empr_caddie_classement varchar(255) NOT NULL default ''" ;
     8955                        echo traite_rqt($rqt,"ALTER TABLE empr_caddie ADD empr_caddie_classement ");
     8956
     8957                        $rqt = "ALTER TABLE etagere ADD etagere_classement varchar(255) NOT NULL default ''" ;
     8958                        echo traite_rqt($rqt,"ALTER TABLE etagere ADD etagere_classement ");
     8959
     8960                        // MB - LDAP gestion de l'encodage lors de l'import
     8961                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'ldap' and sstype_param='encoding_utf8' "))==0){
     8962                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8963                                        VALUES (0, 'ldap', 'encoding_utf8', '0', 'Les informations du LDAP sont en utf-8 ?\n 0: Non \n 1: Oui.','',0)";
     8964                                echo traite_rqt($rqt,"insert ldap_encoding_utf8 = 0 into parametres");
     8965                        }
     8966
     8967                        // +-------------------------------------------------+
     8968                        echo "</table>";
     8969                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     8970                        $res = pmb_mysql_query($rqt, $dbh) ;
     8971                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     8972                        $action=$action+$increment;
     8973                        //echo form_relance ("v5.19");
     8974                        //break;
     8975
     8976//case "v5.19":
     8977                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     8978                        // +-------------------------------------------------+
     8979
     8980                        //DG - Code Javascript d'analyse d'audience
     8981                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='script_analytics' "))==0){
     8982                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8983                                        VALUES (0, 'opac', 'script_analytics', '', 'Code Javascript d\'analyse d\'audience (Par exemple pour Google Analytics, XiTi,..).','a_general',0)";
     8984                                echo traite_rqt($rqt,"insert opac_script_analytics into parametres");
     8985                        }
     8986
     8987                        //DG - Accessibilité OPAC : Paramètre d'activation
     8988                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='accessibility' "))==0){
     8989                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     8990                                        VALUES (0, 'opac', 'accessibility', '1', 'Accessibilité activée.\n 0 : Non.\n 1 : Oui.','a_general',0)";
     8991                                echo traite_rqt($rqt,"insert opac_accessibility = 1 into parametres");
     8992                        }
     8993
     8994                        //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)
     8995                        $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))";
     8996                        echo traite_rqt($rqt,"update exemplaires transfert_location_origine");
     8997
     8998                        $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))";
     8999                        echo traite_rqt($rqt,"update exemplaires transfert_statut_origine");
     9000
     9001                        // NG - Ajout paramètre indiquant la durée en jours de conservation des notices en tant que nouveauté
     9002                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='newrecord_timeshift' "))==0){
     9003                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     9004                                VALUES ( 'pmb', 'newrecord_timeshift', '0', 'Nombre de jours de conservation des notices en tant que nouveauté.','', 0)";
     9005                                echo traite_rqt($rqt,"insert pmb_newrecord_timeshift");
     9006                        }
     9007
     9008                        // Création shorturls
     9009                        $rqt="create table if not exists shorturls (
     9010                                id_shorturl int unsigned not null auto_increment primary key,
     9011                                shorturl_hash varchar(255) not null default '',
     9012                                shorturl_last_access datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     9013                                shorturl_context text not null,
     9014                                shorturl_type varchar(255) not null default '',
     9015                                shorturl_action varchar(255) not null default ''
     9016                        )";
     9017                        echo traite_rqt($rqt,"create table shorturls");
     9018
     9019                        // NG - Nouveautés
     9020                        $rqt = "ALTER TABLE notices ADD notice_is_new int unsigned not null default 0" ;
     9021                        echo traite_rqt($rqt,"ALTER TABLE notices ADD notice_is_new ");
     9022
     9023                        $rqt = "ALTER TABLE notices ADD notice_date_is_new  datetime NOT NULL DEFAULT '0000-00-00 00:00:00'" ;
     9024                        echo traite_rqt($rqt,"ALTER TABLE notices ADD notice_date_is_new ");
     9025
     9026                        // 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
     9027                        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){
     9028                                $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'";
     9029                                echo traite_rqt($rqt, "update parametres map_max_holds gestion");
     9030                        }
     9031
     9032                        // 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
     9033                        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){
     9034                                $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'";
     9035                                echo traite_rqt($rqt, "update parametres map_max_holds opac");
     9036                        }
     9037
     9038                        // DB - Modification de la table resa_planning (ajout de previsions sur bulletins)
     9039                        $rqt = "alter table resa_planning add resa_idbulletin int(8) unsigned default '0' not null after resa_idnotice";
     9040                        echo traite_rqt($rqt,"alter resa_planning add resa_idbulletin ");
     9041
     9042                        //JP - Section origine pour les transferts
     9043                        $rqt = "ALTER TABLE exemplaires ADD transfert_section_origine SMALLINT(5) NOT NULL default '0'" ;
     9044                        echo traite_rqt($rqt,"ALTER TABLE exemplaires ADD transfert_section_origine ");
     9045
     9046                        $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))";
     9047                        echo traite_rqt($rqt,"update exemplaires transfert_section_origine");
     9048
     9049                        //AP Modification du commentaire d'opac_notices_format : Ajout des templates django
     9050                        $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' ";
     9051                        echo traite_rqt($rqt,"update opac_notices_format into parametres");
     9052
     9053                        // AP - Ajout paramètre indiquant le nom du répertoire des templates django à utiliser en affichage de notice
     9054                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notices_format_django_directory' "))==0){
     9055                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     9056                                        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)";
     9057                                echo traite_rqt($rqt,"insert notices_format_django_directory into parametres");
     9058                        }
     9059
     9060                        //MB: Ajouter une PK aux tables de vue
     9061                        $res=pmb_mysql_query("SHOW TABLES LIKE 'opac_view_notices_%'");
     9062                        if($res && pmb_mysql_num_rows($res)){
     9063                                while ($r=pmb_mysql_fetch_array($res)){
     9064                                        $rqt = "ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice" ;
     9065                                        echo traite_rqt($rqt,"ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice ");
     9066
     9067                                        $rqt = "ALTER TABLE ".$r[0]." DROP PRIMARY KEY";
     9068                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." DROP PRIMARY KEY");
     9069
     9070                                        $rqt = "ALTER TABLE ".$r[0]." ADD PRIMARY KEY (opac_view_num_notice)";
     9071                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." ADD PRIMARY KEY");
     9072                                }
     9073                        }
     9074
     9075                        //DG - Paramètre OPAC : Autoriser le téléchargement des documents numériques
     9076                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='allow_download_docnums' "))==0){
     9077                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9078                                        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)";
     9079                                echo traite_rqt($rqt,"insert opac_allow_download_docnums = 1 into parametres");
     9080                        }
     9081
     9082                        //AB - Le nom du fichier de paramétrage du selecteur d'affichage de notice
     9083                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='notices_display_modes' "))==0){
     9084                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9085                                        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)";
     9086                                echo traite_rqt($rqt,"insert opac_notices_display_modes='' into parametres");
     9087                        }
     9088
     9089                        //DG - Lien pour en savoir plus sur l'utilisation des cookies et des traceurs
     9090                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='url_more_about_cookies' "))==0){
     9091                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9092                                        VALUES (0, 'opac', 'url_more_about_cookies', '', 'Lien pour en savoir plus sur l\'utilisation des cookies et des traceurs','a_general',0)";
     9093                                echo traite_rqt($rqt,"insert opac_url_more_about_cookies into parametres");
     9094                        }
     9095
     9096                        //DG - MAJ du template de bannettes par défaut (identifiant 1)
     9097                        $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}}'
     9098                                        WHERE bannettetpl_id=1";
     9099                        echo traite_rqt($rqt,"ALTER minimum into bannette_tpl");
     9100
     9101                        // DB - Modification de la table resa_planning (prévisions localisées)
     9102                        $rqt = "alter table resa_planning add resa_loc_retrait int(5) unsigned not null default 0 ";
     9103                        echo traite_rqt($rqt,"alter resa_planning add resa_loc_retrait ");
     9104
     9105                        // JP - Ajout champ demande abonnement sur périodique
     9106                        $rqt = "ALTER TABLE notices ADD opac_serialcirc_demande TINYINT UNSIGNED NOT NULL DEFAULT 1";
     9107                        echo traite_rqt($rqt,"ALTER TABLE notices ADD opac_serialcirc_demande") ;
     9108
     9109                        // JP - Ajout champ de classement sur infopages
     9110                        $rqt = "ALTER TABLE infopages ADD infopage_classement varchar(255) NOT NULL default ''" ;
     9111                        echo traite_rqt($rqt,"ALTER TABLE infopages ADD infopage_classement ");
     9112
     9113                        // JP - Ajout autorisations sur recherches prédéfinies gestion
     9114                        $rqt = "ALTER TABLE search_perso ADD autorisations MEDIUMTEXT NULL DEFAULT NULL ";
     9115                        echo traite_rqt($rqt,"ALTER TABLE search_perso ADD autorisations") ;
     9116
     9117                        $rqt = "UPDATE search_perso SET autorisations=num_user ";
     9118                        echo traite_rqt($rqt,"UPDATE autorisations INTO search_perso");
     9119
     9120                        //VT - Paramètre OPAC : Definition du chemin des templates d'autorités en OPAC
     9121                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='authorities_templates_folder' "))==0){
     9122                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9123                                        VALUES (0, 'opac', 'authorities_templates_folder', './includes/templates/authorities/common', 'Repertoire des templates utilisés pour l\'affichage des autorités en OPAC','',1)";
     9124                                echo traite_rqt($rqt,"insert opac_authorities_templates_folder = ./includes/templates/authorities/common into parametres");
     9125                        }
     9126
     9127                        // JP - template par défaut pour les bannettes privées
     9128                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'dsi' and sstype_param='private_bannette_notices_template' "))==0){
     9129                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9130                        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)";
     9131                                echo traite_rqt($rqt, "insert private_bannette_notices_template into parameters");
     9132                        }
     9133
     9134                        // JP - ajout index manquants sur tables de champs persos
     9135                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_st " ;
     9136                        echo traite_rqt($rqt,"DROP INDEX i_acv_st");
     9137                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_st(author_custom_small_text)" ;
     9138                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_st");
     9139
     9140                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_t " ;
     9141                        echo traite_rqt($rqt,"DROP INDEX i_acv_t");
     9142                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_t(author_custom_text(255))" ;
     9143                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_t");
     9144
     9145                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_i " ;
     9146                        echo traite_rqt($rqt,"DROP INDEX i_acv_i");
     9147                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_i(author_custom_integer)" ;
     9148                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_i");
     9149
     9150                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_d " ;
     9151                        echo traite_rqt($rqt,"DROP INDEX i_acv_d");
     9152                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_d(author_custom_date)" ;
     9153                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_d");
     9154
     9155                        $rqt = "ALTER TABLE author_custom_values DROP INDEX i_acv_f " ;
     9156                        echo traite_rqt($rqt,"DROP INDEX i_acv_f");
     9157                        $rqt = "ALTER TABLE author_custom_values ADD INDEX i_acv_f(author_custom_float)" ;
     9158                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD INDEX i_acv_f");
     9159
     9160                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_st " ;
     9161                        echo traite_rqt($rqt,"DROP INDEX i_acv_st");
     9162                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_st(authperso_custom_small_text)" ;
     9163                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_st");
     9164
     9165                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_t " ;
     9166                        echo traite_rqt($rqt,"DROP INDEX i_acv_t");
     9167                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_t(authperso_custom_text(255))" ;
     9168                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_t");
     9169
     9170                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_i " ;
     9171                        echo traite_rqt($rqt,"DROP INDEX i_acv_i");
     9172                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_i(authperso_custom_integer)" ;
     9173                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_i");
     9174
     9175                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_d " ;
     9176                        echo traite_rqt($rqt,"DROP INDEX i_acv_d");
     9177                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_d(authperso_custom_date)" ;
     9178                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_d");
     9179
     9180                        $rqt = "ALTER TABLE authperso_custom_values DROP INDEX i_acv_f " ;
     9181                        echo traite_rqt($rqt,"DROP INDEX i_acv_f");
     9182                        $rqt = "ALTER TABLE authperso_custom_values ADD INDEX i_acv_f(authperso_custom_float)" ;
     9183                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD INDEX i_acv_f");
     9184
     9185                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_st " ;
     9186                        echo traite_rqt($rqt,"DROP INDEX i_ccv_st");
     9187                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_st(categ_custom_small_text)" ;
     9188                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_st");
     9189
     9190                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_t " ;
     9191                        echo traite_rqt($rqt,"DROP INDEX i_ccv_t");
     9192                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_t(categ_custom_text(255))" ;
     9193                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_t");
     9194
     9195                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_i " ;
     9196                        echo traite_rqt($rqt,"DROP INDEX i_ccv_i");
     9197                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_i(categ_custom_integer)" ;
     9198                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_i");
     9199
     9200                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_d " ;
     9201                        echo traite_rqt($rqt,"DROP INDEX i_ccv_d");
     9202                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_d(categ_custom_date)" ;
     9203                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_d");
     9204
     9205                        $rqt = "ALTER TABLE categ_custom_values DROP INDEX i_ccv_f " ;
     9206                        echo traite_rqt($rqt,"DROP INDEX i_ccv_f");
     9207                        $rqt = "ALTER TABLE categ_custom_values ADD INDEX i_ccv_f(categ_custom_float)" ;
     9208                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD INDEX i_ccv_f");
     9209
     9210                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_st " ;
     9211                        echo traite_rqt($rqt,"DROP INDEX i_ccv_st");
     9212                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_st(cms_editorial_custom_small_text)" ;
     9213                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_st");
     9214
     9215                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_t " ;
     9216                        echo traite_rqt($rqt,"DROP INDEX i_ccv_t");
     9217                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_t(cms_editorial_custom_text(255))" ;
     9218                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_t");
     9219
     9220                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_i " ;
     9221                        echo traite_rqt($rqt,"DROP INDEX i_ccv_i");
     9222                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_i(cms_editorial_custom_integer)" ;
     9223                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_i");
     9224
     9225                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_d " ;
     9226                        echo traite_rqt($rqt,"DROP INDEX i_ccv_d");
     9227                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_d(cms_editorial_custom_date)" ;
     9228                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_d");
     9229
     9230                        $rqt = "ALTER TABLE cms_editorial_custom_values DROP INDEX i_ccv_f " ;
     9231                        echo traite_rqt($rqt,"DROP INDEX i_ccv_f");
     9232                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_f(cms_editorial_custom_float)" ;
     9233                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD INDEX i_ccv_f");
     9234
     9235                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_st " ;
     9236                        echo traite_rqt($rqt,"DROP INDEX i_ccv_st");
     9237                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_st(collection_custom_small_text)" ;
     9238                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_st");
     9239
     9240                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_t " ;
     9241                        echo traite_rqt($rqt,"DROP INDEX i_ccv_t");
     9242                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_t(collection_custom_text(255))" ;
     9243                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_t");
     9244
     9245                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_i " ;
     9246                        echo traite_rqt($rqt,"DROP INDEX i_ccv_i");
     9247                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_i(collection_custom_integer)" ;
     9248                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_i");
     9249
     9250                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_d " ;
     9251                        echo traite_rqt($rqt,"DROP INDEX i_ccv_d");
     9252                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_d(collection_custom_date)" ;
     9253                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_d");
     9254
     9255                        $rqt = "ALTER TABLE collection_custom_values DROP INDEX i_ccv_f " ;
     9256                        echo traite_rqt($rqt,"DROP INDEX i_ccv_f");
     9257                        $rqt = "ALTER TABLE collection_custom_values ADD INDEX i_ccv_f(collection_custom_float)" ;
     9258                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD INDEX i_ccv_f");
     9259
     9260                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_st " ;
     9261                        echo traite_rqt($rqt,"DROP INDEX i_gcv_st");
     9262                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_st(gestfic0_custom_small_text)" ;
     9263                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_st");
     9264
     9265                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_t " ;
     9266                        echo traite_rqt($rqt,"DROP INDEX i_gcv_t");
     9267                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_t(gestfic0_custom_text(255))" ;
     9268                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_t");
     9269
     9270                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_i " ;
     9271                        echo traite_rqt($rqt,"DROP INDEX i_gcv_i");
     9272                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_i(gestfic0_custom_integer)" ;
     9273                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_i");
     9274
     9275                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_d " ;
     9276                        echo traite_rqt($rqt,"DROP INDEX i_gcv_d");
     9277                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_d(gestfic0_custom_date)" ;
     9278                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_d");
     9279
     9280                        $rqt = "ALTER TABLE gestfic0_custom_values DROP INDEX i_gcv_f " ;
     9281                        echo traite_rqt($rqt,"DROP INDEX i_gcv_f");
     9282                        $rqt = "ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_f(gestfic0_custom_float)" ;
     9283                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD INDEX i_gcv_f");
     9284
     9285                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_st " ;
     9286                        echo traite_rqt($rqt,"DROP INDEX i_icv_st");
     9287                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_st(indexint_custom_small_text)" ;
     9288                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_st");
     9289
     9290                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_t " ;
     9291                        echo traite_rqt($rqt,"DROP INDEX i_icv_t");
     9292                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_t(indexint_custom_text(255))" ;
     9293                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_t");
     9294
     9295                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_i " ;
     9296                        echo traite_rqt($rqt,"DROP INDEX i_icv_i");
     9297                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_i(indexint_custom_integer)" ;
     9298                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_i");
     9299
     9300                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_d " ;
     9301                        echo traite_rqt($rqt,"DROP INDEX i_icv_d");
     9302                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_d(indexint_custom_date)" ;
     9303                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_d");
     9304
     9305                        $rqt = "ALTER TABLE indexint_custom_values DROP INDEX i_icv_f " ;
     9306                        echo traite_rqt($rqt,"DROP INDEX i_icv_f");
     9307                        $rqt = "ALTER TABLE indexint_custom_values ADD INDEX i_icv_f(indexint_custom_float)" ;
     9308                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD INDEX i_icv_f");
     9309
     9310                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_st " ;
     9311                        echo traite_rqt($rqt,"DROP INDEX i_pcv_st");
     9312                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_st(publisher_custom_small_text)" ;
     9313                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_st");
     9314
     9315                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_t " ;
     9316                        echo traite_rqt($rqt,"DROP INDEX i_pcv_t");
     9317                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_t(publisher_custom_text(255))" ;
     9318                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_t");
     9319
     9320                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_i " ;
     9321                        echo traite_rqt($rqt,"DROP INDEX i_pcv_i");
     9322                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_i(publisher_custom_integer)" ;
     9323                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_i");
     9324
     9325                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_d " ;
     9326                        echo traite_rqt($rqt,"DROP INDEX i_pcv_d");
     9327                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_d(publisher_custom_date)" ;
     9328                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_d");
     9329
     9330                        $rqt = "ALTER TABLE publisher_custom_values DROP INDEX i_pcv_f " ;
     9331                        echo traite_rqt($rqt,"DROP INDEX i_pcv_f");
     9332                        $rqt = "ALTER TABLE publisher_custom_values ADD INDEX i_pcv_f(publisher_custom_float)" ;
     9333                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD INDEX i_pcv_f");
     9334
     9335                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_st " ;
     9336                        echo traite_rqt($rqt,"DROP INDEX i_scv_st");
     9337                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_st(serie_custom_small_text)" ;
     9338                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_st");
     9339
     9340                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_t " ;
     9341                        echo traite_rqt($rqt,"DROP INDEX i_scv_t");
     9342                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_t(serie_custom_text(255))" ;
     9343                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_t");
     9344
     9345                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_i " ;
     9346                        echo traite_rqt($rqt,"DROP INDEX i_scv_i");
     9347                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_i(serie_custom_integer)" ;
     9348                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_i");
     9349
     9350                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_d " ;
     9351                        echo traite_rqt($rqt,"DROP INDEX i_scv_d");
     9352                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_d(serie_custom_date)" ;
     9353                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_d");
     9354
     9355                        $rqt = "ALTER TABLE serie_custom_values DROP INDEX i_scv_f " ;
     9356                        echo traite_rqt($rqt,"DROP INDEX i_scv_f");
     9357                        $rqt = "ALTER TABLE serie_custom_values ADD INDEX i_scv_f(serie_custom_float)" ;
     9358                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD INDEX i_scv_f");
     9359
     9360                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_st " ;
     9361                        echo traite_rqt($rqt,"DROP INDEX i_scv_st");
     9362                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_st(subcollection_custom_small_text)" ;
     9363                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_st");
     9364
     9365                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_t " ;
     9366                        echo traite_rqt($rqt,"DROP INDEX i_scv_t");
     9367                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_t(subcollection_custom_text(255))" ;
     9368                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_t");
     9369
     9370                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_i " ;
     9371                        echo traite_rqt($rqt,"DROP INDEX i_scv_i");
     9372                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_i(subcollection_custom_integer)" ;
     9373                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_i");
     9374
     9375                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_d " ;
     9376                        echo traite_rqt($rqt,"DROP INDEX i_scv_d");
     9377                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_d(subcollection_custom_date)" ;
     9378                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_d");
     9379
     9380                        $rqt = "ALTER TABLE subcollection_custom_values DROP INDEX i_scv_f " ;
     9381                        echo traite_rqt($rqt,"DROP INDEX i_scv_f");
     9382                        $rqt = "ALTER TABLE subcollection_custom_values ADD INDEX i_scv_f(subcollection_custom_float)" ;
     9383                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD INDEX i_scv_f");
     9384
     9385                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_st " ;
     9386                        echo traite_rqt($rqt,"DROP INDEX i_tcv_st");
     9387                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_st(tu_custom_small_text)" ;
     9388                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_st");
     9389
     9390                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_t " ;
     9391                        echo traite_rqt($rqt,"DROP INDEX i_tcv_t");
     9392                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_t(tu_custom_text(255))" ;
     9393                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_t");
     9394
     9395                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_i " ;
     9396                        echo traite_rqt($rqt,"DROP INDEX i_tcv_i");
     9397                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_i(tu_custom_integer)" ;
     9398                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_i");
     9399
     9400                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_d " ;
     9401                        echo traite_rqt($rqt,"DROP INDEX i_tcv_d");
     9402                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_d(tu_custom_date)" ;
     9403                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_d");
     9404
     9405                        $rqt = "ALTER TABLE tu_custom_values DROP INDEX i_tcv_f " ;
     9406                        echo traite_rqt($rqt,"DROP INDEX i_tcv_f");
     9407                        $rqt = "ALTER TABLE tu_custom_values ADD INDEX i_tcv_f(tu_custom_float)" ;
     9408                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD INDEX i_tcv_f");
     9409
     9410
     9411                        //AR - Paramètre Portail : Activer la mise en cache des images
     9412                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'cms' and sstype_param='active_image_cache' "))==0){
     9413                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9414                                        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)";
     9415                                echo traite_rqt($rqt,"insert cms_active_image_cache into parametres");
     9416                        }
     9417
     9418                        // 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")
     9419                        $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'
     9420                                WHERE type_param='thesaurus' AND sstype_param='concepts_affichage_ordre' AND section_param='concepts'";
     9421                        echo traite_rqt($rqt,"update comment_param de concepts_affichage_ordre into parametres ");
     9422
     9423                        $rqt="UPDATE parametres SET comment_param='Affichage des concepts en ligne.\n 0 : Non.\n 1 : Oui.'
     9424                                WHERE type_param='thesaurus' AND sstype_param='concepts_concept_in_line' AND section_param='concepts'";
     9425                        echo traite_rqt($rqt,"update comment_param de concepts_concept_in_line into parametres ");
     9426
     9427                        //DG - Flag pour savoir si le mot de passe est déjà encrypté
     9428                        $rqt= "alter table empr add empr_password_is_encrypted int(1) not null default 0 after empr_password";
     9429                        echo traite_rqt($rqt,"alter table empr add empr_password_is_encrypted");
     9430
     9431                        //DG - Phrase pour le hashage des mots de passe emprunteurs (paramètre invisible)
     9432                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='empr_password_salt' "))==0){
     9433                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9434                                        VALUES (0, 'opac', 'empr_password_salt', '', 'Phrase pour le hashage des mots de passe emprunteurs','a_general',1)";
     9435                                echo traite_rqt($rqt,"insert opac_empr_password_salt into parametres");
     9436                        }
     9437
     9438                        //DG - Info d'encodage des mots de passe lecteurs pour la connexion à l'Opac
     9439                        $res=pmb_mysql_query("SELECT count(*) FROM empr");
     9440                        if($res && pmb_mysql_result($res,0,0)){
     9441                                $rqt = " select 1 " ;
     9442                                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> ") ;
     9443                        }
     9444
     9445                        // JP - Parametre affichage des dates de creation et modification notices
     9446                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notices_show_dates' "))==0){
     9447                                $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) ";
     9448                                echo traite_rqt($rqt, "insert expl_show_dates=0 into parameters");
     9449                        }
     9450
     9451                        // AR - Paramètre pour activer la compression des CSS
     9452                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='compress_css' "))==0){
     9453                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9454                                        VALUES (0, 'opac', 'compress_css', '0', 'Activer la compilation et la compression des feuilles de styles.\n0: Non\n1: Oui','a_general',0)";
     9455                                echo traite_rqt($rqt,"insert opac_compress_css into parametres");
     9456                        }
     9457
     9458                        //VT - Ajout d'un champ tonalité marclist dans la table titres_uniformes
     9459                        $rqt = "ALTER TABLE titres_uniformes ADD tu_tonalite_marclist VARCHAR(5) NOT NULL DEFAULT '' ";
     9460                        echo traite_rqt($rqt,"alter titres_uniformes add tu_tonalite_marclist");
     9461
     9462                        //VT - Ajout d'un champ forme marclist dans la table titres_uniformes
     9463                        $rqt = "ALTER TABLE titres_uniformes ADD tu_forme_marclist VARCHAR(5) NOT NULL DEFAULT '' ";
     9464                        echo traite_rqt($rqt,"alter titres_uniformes add tu_forme_marclist");
     9465
     9466                        // DB - Modification de la table resa_planning (quantité prévisions)
     9467                        $rqt = "alter table resa_planning add resa_qty int(5) unsigned not null default 1";
     9468                        echo traite_rqt($rqt,"alter resa_planning add resa_qty");
     9469                        $rqt = "alter table resa_planning add resa_remaining_qty int(5) unsigned not null default 1";
     9470                        echo traite_rqt($rqt,"alter resa_planning add resa_remaining_qty");
     9471                        // DB - Modification de la table resa (lien vers prévisions)
     9472                        $rqt = "alter table resa add resa_planning_id_resa int(8) unsigned not null default 0";
     9473                        echo traite_rqt($rqt,"alter resa add resa_planning_id_resa");
     9474
     9475                        // DB - Delai d'alerte pour le transfert des previsions en reservations
     9476                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='resa_planning_toresa' "))==0){
     9477                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9478                                        VALUES (0, 'pmb', 'resa_planning_toresa', '10', 'Délai d\'alerte pour le transfert des prévisions en réservations (en jours). ' ,'',0)";
     9479                                echo traite_rqt($rqt,"insert resa_planning_toresa into parametres");
     9480                        }
     9481                       
     9482                        //JP - Nettoyage vues en erreur suite ajout index unique
     9483                        $res=mysql_query("SHOW TABLES LIKE 'opac_view_notices_%'");
     9484                        if($res && mysql_num_rows($res)){
     9485                                while ($r=mysql_fetch_array($res)){
     9486                                        $rqt = "TRUNCATE TABLE ".$r[0] ;
     9487                                        echo traite_rqt($rqt,"TRUNCATE TABLE ".$r[0]);
     9488                       
     9489                                        $rqt = "ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice" ;
     9490                                        echo traite_rqt($rqt,"ALTER TABLE ".$r[0]." DROP INDEX opac_view_num_notice ");
     9491                       
     9492                                        $rqt = "ALTER TABLE ".$r[0]." DROP PRIMARY KEY";
     9493                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." DROP PRIMARY KEY");
     9494                       
     9495                                        $rqt = "ALTER TABLE ".$r[0]." ADD PRIMARY KEY (opac_view_num_notice)";
     9496                                        echo traite_rqt($rqt, "ALTER TABLE ".$r[0]." ADD PRIMARY KEY");
     9497                                }
     9498                       
     9499                                $rqt = " select 1 " ;
     9500                                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> ") ;
     9501                        }
     9502                       
     9503                        //JP - nettoyage table authorities_sources
     9504                        $rqt = "DELETE FROM authorities_sources WHERE num_authority=0";
     9505                        echo traite_rqt($rqt,"DELETE FROM authorities_sources num_authority vide");
     9506                       
     9507                        //JP - accès rapide pour les paniers de notices
     9508                        $rqt = "ALTER TABLE caddie ADD acces_rapide INT NOT NULL default 0";
     9509                        echo traite_rqt($rqt,"ALTER TABLE caddie ADD acces_rapide");
     9510                       
     9511                        //JP - modification index notices_mots_global_index
     9512                        $rqt = "truncate table notices_mots_global_index";
     9513                        echo traite_rqt($rqt,"truncate table notices_mots_global_index");
     9514                               
     9515                        $rqt ="alter table notices_mots_global_index drop primary key";
     9516                        echo traite_rqt($rqt,"alter table notices_mots_global_index drop primary key");
     9517                        $rqt ="alter table notices_mots_global_index add primary key (id_notice,code_champ,code_ss_champ,num_word,position,field_position)";
     9518                        echo traite_rqt($rqt,"alter table notices_mots_global_index add primary key");
     9519                        // Info de réindexation
     9520                        $rqt = " select 1 " ;
     9521                        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> ") ;
     9522                               
     9523                        //DG - Proposer la conservation de catégories en remplacement de notice
     9524                        $rqt= "alter table users add deflt_notice_replace_keep_categories int(1) not null default 0";
     9525                        echo traite_rqt($rqt,"alter table users add deflt_notice_replace_keep_categories");
     9526                       
     9527                        //DG - Champs perso pret
     9528                        $rqt = "create table if not exists pret_custom (
     9529                                idchamp int(10) unsigned NOT NULL auto_increment,
     9530                                name varchar(255) NOT NULL default '',
     9531                                titre varchar(255) default NULL,
     9532                                type varchar(10) NOT NULL default 'text',
     9533                                datatype varchar(10) NOT NULL default '',
     9534                                options text,
     9535                                multiple int(11) NOT NULL default 0,
     9536                                obligatoire int(11) NOT NULL default 0,
     9537                                ordre int(11) default NULL,
     9538                                search INT(1) unsigned NOT NULL DEFAULT 0,
     9539                                export INT(1) unsigned NOT NULL DEFAULT 0,
     9540                                filters INT(1) unsigned NOT NULL DEFAULT 0,
     9541                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     9542                                pond int not null default 100,
     9543                                opac_sort INT NOT NULL DEFAULT 0,
     9544                                PRIMARY KEY  (idchamp)) ";
     9545                        echo traite_rqt($rqt,"create table pret_custom ");
     9546                       
     9547                        $rqt = "create table if not exists pret_custom_lists (
     9548                                pret_custom_champ int(10) unsigned NOT NULL default 0,
     9549                                pret_custom_list_value varchar(255) default NULL,
     9550                                pret_custom_list_lib varchar(255) default NULL,
     9551                                ordre int(11) default NULL,
     9552                                KEY i_pret_custom_champ (pret_custom_champ),
     9553                                KEY i_pret_champ_list_value (pret_custom_champ,pret_custom_list_value)) " ;
     9554                        echo traite_rqt($rqt,"create table if not exists pret_custom_lists ");
     9555                       
     9556                        $rqt = "create table if not exists pret_custom_values (
     9557                                pret_custom_champ int(10) unsigned NOT NULL default 0,
     9558                                pret_custom_origine int(10) unsigned NOT NULL default 0,
     9559                                pret_custom_small_text varchar(255) default NULL,
     9560                                pret_custom_text text,
     9561                                pret_custom_integer int(11) default NULL,
     9562                                pret_custom_date date default NULL,
     9563                                pret_custom_float float default NULL,
     9564                                KEY i_pret_custom_champ (pret_custom_champ),
     9565                                KEY i_pret_custom_origine (pret_custom_origine)) " ;
     9566                        echo traite_rqt($rqt,"create table if not exists pret_custom_values ");
     9567                               
     9568                        //DG - maj valeurs possibles pour empr_sort_rows
     9569                        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){
     9570                                $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' ";
     9571                                echo traite_rqt($rqt,"update empr_sort_rows into parametres");
     9572                        }
     9573                               
     9574                        //DG - maj valeurs possibles pour empr_filter_rows
     9575                        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){
     9576                                $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' ";
     9577                                echo traite_rqt($rqt,"update empr_filter_rows into parametres");
     9578                        }
     9579                               
     9580                        //DG - maj valeurs possibles pour empr_show_rows
     9581                        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){
     9582                                $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' ";
     9583                                echo traite_rqt($rqt,"update empr_show_rows into parametres");
     9584                        }
     9585                               
     9586                        // AP - Création d'une table pour la gestion de la suppression des enregistrements OAI
     9587                        $rqt = "CREATE TABLE if not exists connectors_out_oai_deleted_records (
     9588                                        num_set int(11) unsigned NOT NULL DEFAULT 0,
     9589                                        num_notice int(11) unsigned NOT NULL DEFAULT 0,
     9590                                        deletion_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     9591                                        PRIMARY KEY (num_set, num_notice))";
     9592                        echo traite_rqt($rqt,"CREATE TABLE connectors_out_oai_deleted_records") ;
     9593                       
     9594                        // AP - Ajout du stockage de la grammaire d'une vedette
     9595                        $rqt = "ALTER TABLE vedette ADD grammar varchar(255) NOT NULL default 'rameau'" ;
     9596                        echo traite_rqt($rqt,"ALTER TABLE vedette ADD grammar");
     9597                       
     9598                        //JP - recalcul des isbn à cause du nouveau fomatage
     9599                        require_once($include_path."/isbn.inc.php");
     9600                        $res=pmb_mysql_query("SELECT notice_id, code FROM notices WHERE code<>'' AND niveau_biblio='m' AND code LIKE '97%'");
     9601                        if($res && pmb_mysql_num_rows($res)){
     9602                                while ($row=pmb_mysql_fetch_object($res)) {
     9603                                        $code = $row->code;
     9604                                        $new_code = formatISBN($code);
     9605                                        if ($code!= $new_code){
     9606                                                pmb_mysql_query("UPDATE notices SET code='".addslashes($new_code)."', update_date=update_date WHERE notice_id=".$row->notice_id);
     9607                                        }
     9608                                }
     9609                        }
     9610                        $rqt = " select 1 " ;
     9611                        echo traite_rqt($rqt,"update notices code / ISBN check and clean") ;
     9612                               
     9613                       
     9614                        //JP - mise à jour des dates de validation des commandes
     9615                        $rqt="UPDATE actes SET date_valid=date_acte WHERE statut>1 AND date_valid='0000-00-00'";
     9616                        echo traite_rqt($rqt,"update actes date_validation ");
     9617                       
     9618                        $rqt = "update parametres set valeur_param='0' where type_param='pmb' and sstype_param='bdd_subversion' " ;
     9619                        echo traite_rqt($rqt,"update pmb_bdd_subversion=0 into parametres");
     9620                        $pmb_bdd_subversion=0;
     9621                       
     9622                        if ($pmb_subversion_database_as_it_shouldbe!=$pmb_bdd_subversion) {
     9623                                // Info de déconnexion pour passer le add-on
     9624                                $rqt = " select 1 " ;
     9625                                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> ") ;
     9626                        }
     9627                       
     9628               
     9629                // +-------------------------------------------------+
     9630                echo "</table>";
     9631                $rqt = "update parametres set valeur_param='v5.19' where type_param='pmb' and sstype_param='bdd_version' " ;
    61999632                $res = mysql_query($rqt, $dbh) ;
    62009633                echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
    62019634                $action=$action+$increment;
    62029635
    6203                 // Parcheamos la base de datos
     9636                // // Parcheamos la base de datos
    62049637                require("$base_path/includes/db_param.inc.php");
    62059638                $comando= "cat ".$base_path."/admin/misc/mods_vLlxNemo.sql | mysql -u ". USER_NAME ." --password=". USER_PASS ." ". DATA_BASE;
    62069639                if (system($comando, $salida)==0){
    6207                         echo "$msg[db_patched]";
     9640                        echo "$msg[db_patched]";
    62089641                }
    62099642                echo "<SCRIPT>alert(\"".$msg[actualizacion_ok]."\");</SCRIPT>";
     
    62159648                break;
    62169649        }
    6217                
Note: See TracChangeset for help on using the changeset viewer.