Changeset 6967


Ignore:
Timestamp:
Mar 6, 2018, 6:23:51 PM (20 months ago)
Author:
jrpelegrina
Message:

WIP in migration 13. Import from Nemo and Pandora

Location:
pmb5.0/trunk/fuentes/pmb/admin/misc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pmb5.0/trunk/fuentes/pmb/admin/misc/alter_vLlxNemo.inc.php

    r6916 r6967  
    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.19 (Lliurex 16.05 Xenial) desde v.4.47 (Lliurex 12.06 Nemo)
     5// $Id: alter_vLlxNemo.inc.php, migración BD a v5.28 (Lliurex 16+ Xenial) desde v.4.47 (Lliurex 12.06 Nemo)
    66
    77
     
    1414switch ($version_pmb_bdd) {
    1515        case "vLlxNemo":
    16 //      case "v4.47":
    17                 // 63 actualizaciones desde nemo (v4.47) a xenial (v5.19)
    18                 $increment=100/63;
     16//      case "v4.47":
     17//-------------------LLIUREX 06/03/2018-------
     18                // 72 actualizaciones desde nemo (v4.47) a xenial (v5.28)
     19       
     20                $increment=100/72;
     21//-------------------FIN LLIUREX 06/03/2018------
    1922                $action=$increment;
    2023                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     
    96599662                        $rqt="UPDATE actes SET date_valid=date_acte WHERE statut>1 AND date_valid='0000-00-00'";
    96609663                        echo traite_rqt($rqt,"update actes date_validation ");
     9664
     9665                // +-------------------------------------------------+
     9666        //-----------------LLIUREX 06/03/2018---------------   
     9667                        echo "</table>";
     9668                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     9669                        $res = pmb_mysql_query($rqt, $dbh) ;
     9670                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     9671                        $action=$action+$increment;
     9672                        //echo form_relance ("v5.20");
     9673
     9674        //case "v5.20":
     9675
     9676                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     9677                        // +-------------------------------------------------+
     9678
     9679                        //DG - maj Colonnes exemplaires affichées en gestion - ajout en commentaire du groupe d'exemplaires
     9680                        $rqt = "update parametres set comment_param='Colonne des exemplaires, dans l\'ordre donné, séparé par des virgules : expl_cb,expl_cote,location_libelle,section_libelle,statut_libelle,tdoc_libelle,groupexpl_name #n : id des champs personnalisés \r\n expl_cb est obligatoire et sera ajouté si absent' where type_param= 'pmb' and sstype_param='expl_data' ";
     9681                        echo traite_rqt($rqt,"update pmb_expl_data into parametres");
     9682
     9683                        // AP - Ajout d'une colonne pour lier une notice à une demande
     9684                        $rqt = "ALTER TABLE demandes ADD num_linked_notice mediumint(8) UNSIGNED NOT NULL default 0" ;
     9685                        echo traite_rqt($rqt,"ALTER TABLE demandes ADD num_linked_notice");
     9686
     9687                        // AP - Ajout d'un parametre permettant d'autoriser le lecteur à faire une demande à partir d'une notice
     9688                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='demandes_allow_from_record' "))==0){
     9689                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9690                                                VALUES (0, 'opac', 'demandes_allow_from_record', '0',   'Autoriser les lecteurs à créer une demande à partir d\'une notice.\n 0 : Non\n 1 : Oui', 'a_general', 0) ";
     9691                                echo traite_rqt($rqt, "insert opac_demandes_allow_from_record into parameters");
     9692                        }
     9693
     9694
     9695                        //VT - Parametre d'activation de la génération des exemplaires fantomes dans la popup de transfert en gestion
     9696                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='ghost_expl_enable' "))==0){
     9697                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     9698                                        VALUES (0, 'transferts', 'ghost_expl_enable', '0', '1', 'Script de generation utilise pour les codes barres d\'exemplaires fantomes') ";
     9699                                echo traite_rqt($rqt,"INSERT transferts_ghost_expl_enable INTO parametres") ;
     9700                        }
     9701
     9702                        //VT - Parametre de statut par défaut pour les exemplaires fantomes en transfert
     9703                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='ghost_statut_expl_transferts' "))==0){
     9704                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     9705                                        VALUES (0, 'transferts', 'ghost_statut_expl_transferts', '0', '1', 'id du statut dans lequel seront placés les exemplaires fantomes en cours de transit') ";
     9706                                echo traite_rqt($rqt,"INSERT transferts_ghost_statut_expl_transferts INTO parametres") ;
     9707                        }
     9708
     9709                        //VT - Parametre de choix du script par défaut pour la génération des codes barres des exemplaires fantomes
     9710                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='ghost_expl_gen_script' "))==0){
     9711                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     9712                                        VALUES (0, 'transferts', 'ghost_expl_gen_script', 'gen_code\/gen_code_exemplaire.php', '1', 'Script de generation utilise pour les codes barres d\'exemplaires fantomes') ";
     9713                                echo traite_rqt($rqt,"INSERT transferts_ghost_expl_gen_script INTO parametres") ;
     9714                        }
     9715
     9716                        //VT - Ajout d'un champs expl_ref_num correspondant à l'id d'exemplaire dont le fantome est issu
     9717                        $rqt = "ALTER TABLE exemplaires ADD expl_ref_num INT(10) NOT NULL default '0'" ;
     9718                        echo traite_rqt($rqt,"ALTER TABLE exemplaires ADD expl_ref_num ");
     9719
     9720                        //DG - Champs perso demandes
     9721                        $rqt = "create table if not exists demandes_custom (
     9722                                idchamp int(10) unsigned NOT NULL auto_increment,
     9723                                name varchar(255) NOT NULL default '',
     9724                                titre varchar(255) default NULL,
     9725                                type varchar(10) NOT NULL default 'text',
     9726                                datatype varchar(10) NOT NULL default '',
     9727                                options text,
     9728                                multiple int(11) NOT NULL default 0,
     9729                                obligatoire int(11) NOT NULL default 0,
     9730                                ordre int(11) default NULL,
     9731                                search INT(1) unsigned NOT NULL DEFAULT 0,
     9732                                export INT(1) unsigned NOT NULL DEFAULT 0,
     9733                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     9734                                pond int not null default 100,
     9735                                opac_sort INT NOT NULL DEFAULT 0,
     9736                                PRIMARY KEY  (idchamp)) ";
     9737                        echo traite_rqt($rqt,"create table if not exists demandes_custom ");
     9738
     9739                        $rqt = "create table if not exists demandes_custom_lists (
     9740                                demandes_custom_champ int(10) unsigned NOT NULL default 0,
     9741                                demandes_custom_list_value varchar(255) default NULL,
     9742                                demandes_custom_list_lib varchar(255) default NULL,
     9743                                ordre int(11) default NULL,
     9744                                KEY i_demandes_custom_champ (demandes_custom_champ),
     9745                                KEY i_demandes_champ_list_value (demandes_custom_champ,demandes_custom_list_value)) " ;
     9746                        echo traite_rqt($rqt,"create table if not exists demandes_custom_lists ");
     9747
     9748                        $rqt = "create table if not exists demandes_custom_values (
     9749                                demandes_custom_champ int(10) unsigned NOT NULL default 0,
     9750                                demandes_custom_origine int(10) unsigned NOT NULL default 0,
     9751                                demandes_custom_small_text varchar(255) default NULL,
     9752                                demandes_custom_text text,
     9753                                demandes_custom_integer int(11) default NULL,
     9754                                demandes_custom_date date default NULL,
     9755                                demandes_custom_float float default NULL,
     9756                                KEY i_demandes_custom_champ (demandes_custom_champ),
     9757                                KEY i_demandes_custom_origine (demandes_custom_origine)) " ;
     9758                        echo traite_rqt($rqt,"create table if not exists demandes_custom_values ");
     9759
     9760                        //AR - Gestion d'ontologies...
     9761                        $rqt = "create table if not exists ontologies (
     9762                                id_ontology int unsigned not null auto_increment,
     9763                                ontology_name varchar(255) not null default '',
     9764                                ontology_description text not null,
     9765                                ontology_creation_date datetime not null default '0000-00-00 00:00:00',
     9766                                primary key(id_ontology)
     9767                        )";
     9768                        echo traite_rqt($rqt,"create table if not exists ontologies");
     9769
     9770                        // NG - Circulation simplifiée de périodique
     9771                        $rqt = "ALTER TABLE serialcirc ADD serialcirc_simple int unsigned not null default 0" ;
     9772                        echo traite_rqt($rqt,"ALTER TABLE serialcirc ADD serialcirc_simple ");
     9773
     9774                        // NG - Script de construction d'étiquette de circulation simplifiée de périodique
     9775                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='serialcirc_simple_print_script' "))==0){
     9776                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9777                                        VALUES (0, 'pmb', 'serialcirc_simple_print_script', '', 'Script de construction d\'étiquette de circulation simplifiée de périodique' ,'',0)";
     9778                                echo traite_rqt($rqt,"insert pmb_serialcirc_simple_print_script into parametres");
     9779                        }
     9780
     9781                        // DB - Modification de la table resarc (id resa_planning pour resa issue d'une prévision)
     9782                        $rqt = "alter table resa_archive add resarc_resa_planning_id_resa int(8) unsigned not null default 0";
     9783                        echo traite_rqt($rqt,"alter resa_archive add resarc_resa_planning_id_resa");
     9784
     9785                        // NG - Ajout de tu_oeuvre_nature et tu_oeuvre_type
     9786                        $rqt = "ALTER TABLE titres_uniformes ADD tu_oeuvre_nature VARCHAR(3) NOT NULL default 'a'" ;
     9787                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes ADD tu_oeuvre_nature ");
     9788                        $rqt = "ALTER TABLE titres_uniformes ADD tu_oeuvre_type VARCHAR(3) NOT NULL default 'a'" ;
     9789                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes ADD tu_oeuvre_type ");
     9790
     9791                        // NG - Ajout de la table tu_oeuvres_links
     9792                        $rqt = "create table if not exists tu_oeuvres_links (
     9793                                oeuvre_link_from int not null default 0,
     9794                                oeuvre_link_to int not null default 0,
     9795                                oeuvre_link_type VARCHAR(3) not null default '',
     9796                                oeuvre_link_expression int not null default 0,
     9797                                oeuvre_link_other_link int not null default 1,
     9798                                oeuvre_link_order int not null default 0
     9799                        )";
     9800                        echo traite_rqt($rqt,"create table if not exists tu_oeuvres_links");
     9801
     9802                        // AP - Nombre maximum de notices à afficher dans une liste sans pagination
     9803                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='max_results_on_a_page' "))==0){
     9804                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9805                                        VALUES (0, 'opac', 'max_results_on_a_page', '500', 'Nombre maximum de notices à afficher sur une page, utile notamment quand la navigation est désactivée' ,'d_aff_recherche',0)";
     9806                                echo traite_rqt($rqt,"insert max_results_on_a_page into parametres");
     9807                        }
     9808
     9809                        //JP - taille de certains champs blob trop juste
     9810                        $rqt = "ALTER TABLE opac_sessions CHANGE session session MEDIUMBLOB NULL DEFAULT NULL";
     9811                        echo traite_rqt($rqt,"ALTER TABLE opac_sessions CHANGE session MEDIUMBLOB");
     9812                        $rqt = " select 1 " ;
     9813                        echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ FAIRE UN NETTOYAGE DE BASE (APRES ETAPES DE MISE A JOUR) / YOU MUST DO A DATABASE CLEANUP (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
     9814
     9815                        // NG - Ajout tu_oeuvre_nature_nature dans titres_uniformes
     9816                        $rqt = "ALTER TABLE titres_uniformes ADD tu_oeuvre_nature_nature VARCHAR(255) NOT NULL default 'original'" ;
     9817                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes ADD tu_oeuvre_nature_nature ");
     9818
     9819                        // NG - Ajout authperso_oeuvre_event dans authperso
     9820                        $rqt = "ALTER TABLE authperso ADD authperso_oeuvre_event int unsigned NOT NULL default '0'" ;
     9821                        echo traite_rqt($rqt,"ALTER TABLE authperso ADD authperso_oeuvre_event ");
     9822
     9823                        // NG - Ajout de la table tu_oeuvres_events
     9824                        $rqt = "create table if not exists tu_oeuvres_events (
     9825                                oeuvre_event_tu_num int not null default 0,
     9826                                oeuvre_event_authperso_authority_num int not null default 0,
     9827                                oeuvre_event_order int not null default 0
     9828                        )";
     9829                        echo traite_rqt($rqt,"create table if not exists tu_oeuvres_events");
     9830
     9831                        // NG - Ajout comment dans les champs personalisés
     9832                        $rqt = "ALTER TABLE notices_custom ADD comment BLOB NOT NULL default ''" ;
     9833                        echo traite_rqt($rqt,"ALTER TABLE notices_custom ADD comment ");
     9834
     9835                        $rqt = "ALTER TABLE author_custom ADD comment BLOB NOT NULL default ''" ;
     9836                        echo traite_rqt($rqt,"ALTER TABLE author_custom ADD comment ");
     9837
     9838                        $rqt = "ALTER TABLE authperso_custom ADD comment BLOB NOT NULL default ''" ;
     9839                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom ADD comment ");
     9840
     9841                        $rqt = "ALTER TABLE categ_custom ADD comment BLOB NOT NULL default ''" ;
     9842                        echo traite_rqt($rqt,"ALTER TABLE categ_custom ADD comment ");
     9843
     9844                        $rqt = "ALTER TABLE cms_editorial_custom ADD comment BLOB NOT NULL default ''" ;
     9845                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom ADD comment ");
     9846
     9847                        $rqt = "ALTER TABLE collection_custom ADD comment BLOB NOT NULL default ''" ;
     9848                        echo traite_rqt($rqt,"ALTER TABLE collection_custom ADD comment ");
     9849
     9850                        $rqt = "ALTER TABLE collstate_custom ADD comment BLOB NOT NULL default ''" ;
     9851                        echo traite_rqt($rqt,"ALTER TABLE collstate_custom ADD comment ");
     9852
     9853                        $rqt = "ALTER TABLE demandes_custom ADD comment BLOB NOT NULL default ''" ;
     9854                        echo traite_rqt($rqt,"ALTER TABLE demandes_custom ADD comment ");
     9855
     9856                        $rqt = "ALTER TABLE empr_custom ADD comment BLOB NOT NULL default ''" ;
     9857                        echo traite_rqt($rqt,"ALTER TABLE empr_custom ADD comment ");
     9858
     9859                        $rqt = "ALTER TABLE expl_custom ADD comment BLOB NOT NULL default ''" ;
     9860                        echo traite_rqt($rqt,"ALTER TABLE expl_custom ADD comment ");
     9861
     9862                        $rqt = "ALTER TABLE gestfic0_custom ADD comment BLOB NOT NULL default ''" ;
     9863                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom ADD comment ");
     9864
     9865                        $rqt = "ALTER TABLE indexint_custom ADD comment BLOB NOT NULL default ''" ;
     9866                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom ADD comment ");
     9867
     9868                        $rqt = "ALTER TABLE pret_custom ADD comment BLOB NOT NULL default ''" ;
     9869                        echo traite_rqt($rqt,"ALTER TABLE pret_custom ADD comment ");
     9870
     9871                        $rqt = "ALTER TABLE publisher_custom ADD comment BLOB NOT NULL default ''" ;
     9872                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom ADD comment ");
     9873
     9874                        $rqt = "ALTER TABLE serie_custom ADD comment BLOB NOT NULL default ''" ;
     9875                        echo traite_rqt($rqt,"ALTER TABLE serie_custom ADD comment ");
     9876
     9877                        $rqt = "ALTER TABLE subcollection_custom ADD comment BLOB NOT NULL default ''" ;
     9878                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom ADD comment ");
     9879
     9880                        $rqt = "ALTER TABLE tu_custom ADD comment BLOB NOT NULL default ''" ;
     9881                        echo traite_rqt($rqt,"ALTER TABLE tu_custom ADD comment ");
     9882
     9883                        // AP - Activation de l'interface DOJO pour la multicritère en gestion
     9884                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='extended_search_dnd_interface' "))==0){
     9885                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9886                                        VALUES (0, 'pmb', 'extended_search_dnd_interface', '1', 'Activer l\'interface drag\'n\'drop pour la recherche multicritère.\n0 : Non\n1 : Oui' ,'', 0)";
     9887                                echo traite_rqt($rqt,"insert extended_search_dnd_interface into parametres");
     9888                        }
     9889
     9890                        // AP - Activation de l'interface DOJO pour la multicritère en OPAC
     9891                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='extended_search_dnd_interface' "))==0){
     9892                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9893                                        VALUES (0, 'opac', 'extended_search_dnd_interface', '0', 'Activer l\'interface drag\'n\'drop pour la recherche multicritère.\n0 : Non\n1 : Oui' ,'c_recherche', 0)";
     9894                                echo traite_rqt($rqt,"insert extended_search_dnd_interface into parametres");
     9895                        }
     9896
     9897                        //JP - bouton vider le cache portail
     9898                        $rqt = "ALTER TABLE cms_articles ADD article_update_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL";
     9899                        echo traite_rqt($rqt,"ALTER TABLE cms_articles ADD article_update_timestamp");
     9900                        $rqt = "UPDATE cms_articles SET article_update_timestamp=article_creation_date";
     9901                        echo traite_rqt($rqt,"UPDATE cms_articles SET article_update_timestamp");
     9902                        $rqt = "ALTER TABLE cms_sections ADD section_update_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL";
     9903                        echo traite_rqt($rqt,"ALTER TABLE cms_sections ADD section_update_timestamp");
     9904                        $rqt = "UPDATE cms_sections SET section_update_timestamp=section_creation_date";
     9905                        echo traite_rqt($rqt,"UPDATE cms_sections SET section_update_timestamp");
     9906
     9907                        //JP - choix notice nouveauté oui/non par utilisateur en création de notice
     9908                        $rqt = "ALTER TABLE users ADD deflt_notice_is_new INT( 1 ) UNSIGNED NOT NULL DEFAULT '0'";
     9909                        echo traite_rqt($rqt,"ALTER TABLE users ADD deflt_notice_is_new");
     9910
     9911                        // JP - paramètre mail_adresse_from pour l'envoi de mails
     9912                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='mail_adresse_from' "))==0){
     9913                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9914                                                VALUES (0, 'pmb', 'mail_adresse_from', '', 'Adresse d\'expédition des emails. Ce paramètre permet de forcer le From des mails envoyés par PMB. Le reply-to reste inchangé (mail de l\'utilisateur en DSI ou relance, mail de la localisation ou paramètre opac_biblio_mail à défaut).\nFormat : adresse_email;libellé\nExemple : pmb@sigb.net;PMB Services' ,'',0)";
     9915                                echo traite_rqt($rqt,"insert pmb_mail_adresse_from into parametres");
     9916                        }
     9917                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='mail_adresse_from' "))==0){
     9918                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9919                                                VALUES (0, 'opac', 'mail_adresse_from', '', 'Adresse d\'expédition des emails. Ce paramètre permet de forcer le From des mails envoyés par PMB. Le reply-to reste inchangé (mail de l\'utilisateur en DSI ou relance, mail de la localisation ou paramètre opac_biblio_mail à défaut).\nFormat : adresse_email;libellé\nExemple : pmb@sigb.net;PMB Services' ,'a_general',0)";
     9920                                echo traite_rqt($rqt,"insert opac_mail_adresse_from into parametres");
     9921                        }
     9922
     9923                        // JP - blocage des prolongations autorisées si relance sur le prêt
     9924                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='pret_prolongation_blocage' "))==0){
     9925                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9926                                                VALUES (0, 'opac', 'pret_prolongation_blocage', '0', 'Bloquer la prolongation s\'il y a un niveau de relance validé sur le prêt ?\n0 : Non 1 : Oui' ,'a_general',0)";
     9927                                echo traite_rqt($rqt,"insert opac_pret_prolongation_blocage into parametres");
     9928                        }
     9929
     9930                        // VT & DG - Ajout de la table memorisant les grilles de saisie de formulaire
     9931                        // grid_generic_type : Type d'objet
     9932                        // grid_generic_filter : Signature (en cas de grilles multiples)
     9933                        // grid_generic_data : Format JSON de la grille
     9934                        $rqt = "create table if not exists grids_generic (
     9935                                grid_generic_type VARCHAR(32) not null default '',
     9936                                grid_generic_filter VARCHAR(255) not null default '',
     9937                                grid_generic_data mediumblob NOT NULL,
     9938                                PRIMARY KEY (grid_generic_type,grid_generic_filter)
     9939                                )";
     9940                        echo traite_rqt($rqt,"create table if not exists grids_generic");
     9941
     9942                        //DG - Grilles d'autorités éditables
     9943                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='form_authorities_editables' "))==0){
     9944                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9945                                        VALUES (0, 'pmb', 'form_authorities_editables', '1', 'Grilles d\'autorités éditables \n 0 non \n 1 oui','',0)";
     9946                                echo traite_rqt($rqt,"insert pmb_form_authorities_editables into parametres");
     9947                        }
     9948
     9949                        //JP - Export tableur des prêts dans le compte emprunteur
     9950                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='empr_export_loans' "))==0){
     9951                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     9952                                        VALUES (0, 'opac', 'empr_export_loans', '0', 'Afficher sur le compte emprunteur un bouton permettant d\'exporter les prêts dans un tableur ?\n0 : Non 1 : Oui' ,'a_general',0)";
     9953                                echo traite_rqt($rqt,"insert opac_empr_export_loans into parametres");
     9954                        }
     9955
     9956                        //Alexandre - Ajout des modes d'affichage avec sélection par étoiles
     9957                        $rqt = "UPDATE parametres SET comment_param=CONCAT(comment_param,'\n 4 : Affichage de la note sous la forme d\'étoiles, choix de la note sous la forme d\'étoiles.\n 5 : Affichage de la note sous la forme textuelle et d\'étoiles, choix de la note sous la forme d\'étoiles.') WHERE type_param= 'pmb' AND sstype_param='avis_note_display_mode'";
     9958                        echo traite_rqt($rqt,"UPDATE pmb_avis_note_display_mode into parametres");
     9959                        $rqt = "UPDATE parametres SET comment_param=CONCAT(comment_param,'\n 4 : Affichage de la note sous la forme d\'étoiles, choix de la note sous la forme d\'étoiles.\n 5 : Affichage de la note sous la forme textuelle et d\'étoiles, choix de la note sous la forme d\'étoiles.') WHERE type_param= 'opac' AND sstype_param='avis_note_display_mode'";
     9960                        echo traite_rqt($rqt,"UPDATE opac_avis_note_display_mode into parametres");
     9961
     9962                        //JP - paramètre utilisateur : localisation par défaut en bulletinage
     9963                        // deflt_bulletinage_location : Identifiant de la localisation par défaut en bulletinage
     9964                        $rqt = "ALTER TABLE users ADD deflt_bulletinage_location INT( 6 ) UNSIGNED NOT NULL DEFAULT 0 AFTER deflt_collstate_location";
     9965                        echo traite_rqt($rqt,"ALTER TABLE users ADD deflt_bulletinage_location");
     9966                        $rqt = "UPDATE users SET deflt_bulletinage_location=deflt_docs_location";
     9967                        echo traite_rqt($rqt,"UPDATE users SET deflt_bulletinage_location=deflt_docs_location");
     9968
     9969                        //JP - audit sur le contenu éditorial
     9970                        $res=pmb_mysql_query("SELECT id_section, section_creation_date, section_update_timestamp FROM cms_sections");
     9971                        if($res && pmb_mysql_num_rows($res)){
     9972                                while ($r=pmb_mysql_fetch_object($res)){
     9973                                        $rqt = "INSERT INTO audit SET type_obj='".AUDIT_EDITORIAL_SECTION."', object_id='".$r->id_section."', user_id='0', user_name='', type_modif=1, quand='".$r->section_creation_date." 00:00:00', info='' ";
     9974                                        pmb_mysql_query($rqt);
     9975                                        if ($r->section_update_timestamp != $r->section_creation_date.' 00:00:00') {
     9976                                                $rqt = "INSERT INTO audit SET type_obj='".AUDIT_EDITORIAL_SECTION."', object_id='".$r->id_section."', user_id='0', user_name='', type_modif=2, quand='".$r->section_update_timestamp."', info='' ";
     9977                                                pmb_mysql_query($rqt);
     9978                                        }
     9979                                }
     9980                                $rqt = " select 1 " ;
     9981                                echo traite_rqt($rqt,"INSERT editorial_sections INTO audit ");
     9982                        }
     9983                        $res=pmb_mysql_query("SELECT id_article, article_creation_date, article_update_timestamp FROM cms_articles");
     9984                        if($res && pmb_mysql_num_rows($res)){
     9985                                while ($r=pmb_mysql_fetch_object($res)){
     9986                                        $rqt = "INSERT INTO audit SET type_obj='".AUDIT_EDITORIAL_ARTICLE."', object_id='".$r->id_article."', user_id='0', user_name='', type_modif=1, quand='".$r->article_creation_date." 00:00:00', info='' ";
     9987                                        pmb_mysql_query($rqt);
     9988                                        if ($r->article_update_timestamp != $r->article_creation_date.' 00:00:00') {
     9989                                                $rqt = "INSERT INTO audit SET type_obj='".AUDIT_EDITORIAL_ARTICLE."', object_id='".$r->id_article."', user_id='0', user_name='', type_modif=2, quand='".$r->article_update_timestamp."', info='' ";
     9990                                                pmb_mysql_query($rqt);
     9991                                        }
     9992                                }
     9993                                $rqt = " select 1 " ;
     9994                                echo traite_rqt($rqt,"INSERT editorial_articles INTO audit ");
     9995                        }
     9996
     9997                        //MB - last_sync_date : Date de la dernière synchronisation du connecteur
     9998                        $rqt = "ALTER TABLE connectors_sources ADD last_sync_date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL";
     9999                        echo traite_rqt($rqt,"ALTER TABLE connectors_sources ADD last_sync_date");
     10000
     10001                        // DG & AP - Création d'une table d'autorités pour des identifiants uniques quel que soit le type d'autorité
     10002                        // id_authority : Identifiant unique de l'autorité
     10003                        // num_object : Identifiant de l'autorité dans sa table
     10004                        // type_object : Type de l'autorité
     10005                        $rqt="create table if not exists authorities (
     10006                                id_authority int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
     10007                                num_object mediumint(8) UNSIGNED NOT NULL default 0,
     10008                                type_object int unsigned not null default 0,
     10009                                index i_object(num_object, type_object)
     10010                                )";
     10011                        echo traite_rqt($rqt, "create table authorities");
     10012
     10013                        // DG & AP - Création de la table d'indexation d'autorités - Table des champs
     10014                        // id_authority : Identifiant de l'autorité faisant référence à l'identifiant de la table authorities
     10015                        // type : Type d'autorité
     10016                        // code_champ : Code champ
     10017                        // code_ss_champ : Code sous champ
     10018                        // ordre : Ordre
     10019                        // value : Valeur
     10020                        // pond : Pondération
     10021                        // lang : Langue
     10022                        // authority_num : Identifiant de l'autorité liée
     10023                        $rqt="create table if not exists authorities_fields_global_index (
     10024                                id_authority int unsigned not null default 0,
     10025                                type int(5) unsigned not null default 0,
     10026                                code_champ int(10) not null default 0,
     10027                                code_ss_champ int(3) not null default 0,
     10028                                ordre int(4) not null default 0,
     10029                                value text not null,
     10030                                pond int(4) not null default 100,
     10031                                lang varchar(10) not null default '',
     10032                                authority_num varchar(50) not null default '',
     10033                                primary key(id_authority,code_champ,code_ss_champ,ordre),
     10034                                index i_value(value(300)),
     10035                                index i_id_value(id_authority,value(300))
     10036                                )";
     10037                        echo traite_rqt($rqt, "create table authorities_fields_global_index");
     10038
     10039                        // DG & AP - Création de la table d'indexation d'autorités - Table de mots
     10040                        // id_authority : Identifiant de l'autorité faisant référence à l'identifiant de la table authorities
     10041                        // type : Type d'autorité
     10042                        // code_champ : Code champ
     10043                        // code_ss_champ : Code sous champ
     10044                        // num_word : Identifiant du mot dans la table words
     10045                        // pond : Pondération
     10046                        // position : Position du champ
     10047                        // field_position : Position du mot dans le champ
     10048                        $rqt = "create table if not exists authorities_words_global_index(
     10049                                id_authority int unsigned not null default 0,
     10050                                type int(5) unsigned not null default 0,
     10051                                code_champ int unsigned not null default 0,
     10052                                code_ss_champ int unsigned not null default 0,
     10053                                num_word int unsigned not null default 0,
     10054                                pond int unsigned not null default 100,
     10055                                position int unsigned not null default 1,
     10056                                field_position int unsigned not null default 1,
     10057                                primary key (id_authority,code_champ,num_word,position,code_ss_champ),
     10058                                index code_champ(code_champ),
     10059                                index i_id_mot(num_word,id_authority),
     10060                                index i_code_champ_code_ss_champ_num_word(code_champ,code_ss_champ,num_word))";
     10061                        echo traite_rqt($rqt,"create table authorities_words_global_index");
     10062
     10063                        // DG & AP - Ajout d'index sur la table aut_link
     10064                        $rqt = "ALTER TABLE aut_link drop index i_from";
     10065                        echo traite_rqt($rqt,"alter table aut_link drop index i_from");
     10066                        $rqt = "ALTER TABLE aut_link add index i_from (aut_link_from,aut_link_from_num) ";
     10067                        echo traite_rqt($rqt, "add index i_from to aut_link");
     10068
     10069                        // DG & AP - Ajout d'index sur la table aut_link
     10070                        $rqt = "ALTER TABLE aut_link drop index i_to";
     10071                        echo traite_rqt($rqt,"alter table aut_link drop index i_to");
     10072                        $rqt = "ALTER TABLE aut_link add index i_to (aut_link_to,aut_link_to_num) ";
     10073                        echo traite_rqt($rqt, "add index i_to to aut_link");
     10074
     10075                        // AR - Création d'un statut pour les autorités
     10076                        // id_authorities_statut : Identifiant du statut d'autorités
     10077                        // authorities_statut_label : Libellé du statut
     10078                        // authorities_statut_class_html : Distinction de couleur pour le statut
     10079                        // authorities_statut_available_for : Quelles sont les autorités autorisées à utiliser ce statut ?
     10080                        $rqt = "create table if not exists authorities_statuts (
     10081                                id_authorities_statut int unsigned not null auto_increment primary key,
     10082                                authorities_statut_label varchar(255) not null default '',
     10083                                authorities_statut_class_html varchar(25) not null default '',
     10084                                authorities_statut_available_for text
     10085                                )";
     10086                        echo traite_rqt($rqt,"create table authorities_statuts");
     10087
     10088                        // NG - VT - Statut par défaut pour les autorités
     10089                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from authorities_statuts where id_authorities_statut='1' "))==0) {
     10090                                $rqt = 'INSERT INTO authorities_statuts (id_authorities_statut,authorities_statut_label,authorities_statut_class_html,authorities_statut_available_for) VALUES (1 ,"Statut par défaut", "statutnot1", "'.addslashes('a:9:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";i:3;s:1:"4";i:4;s:1:"5";i:5;s:1:"6";i:6;s:1:"8";i:7;s:1:"7";i:8;s:2:"10";}').'") ';
     10091                                echo traite_rqt($rqt,"insert default lignes_actes_statuts");
     10092                        }
     10093
     10094                        // DG - création du champ statut pour les autorités
     10095                        $rqt = "alter table authorities add num_statut int(2) unsigned not null default 1";
     10096                        echo traite_rqt($rqt,"alter table authorities add num_statut");
     10097
     10098                        //DG - Paramètre pour afficher ou non le bandeau d'acceptation des cookies
     10099                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='cookies_consent' "))==0){
     10100                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10101                                        VALUES (0, 'opac', 'cookies_consent', '1', 'Afficher le bandeau d\'acceptation des cookies et des traceurs ? \n0 : Non 1 : Oui','a_general',0)";
     10102                                echo traite_rqt($rqt,"insert opac_cookies_consent into parametres");
     10103                        }
     10104
     10105                        //DG - Grille d'auteur pour les personnes physiques
     10106                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from grids_generic where grid_generic_type= 'auteurs' and grid_generic_filter='70' "))==0){
     10107                                $rqt = "INSERT INTO grids_generic (grid_generic_type, grid_generic_filter, grid_generic_data)
     10108                                                                VALUES ('auteurs', '70', '[{\"nodeId\":\"el0\",\"label\":\"Zone par d\\u00e9faut\",\"isExpandable\":false,\"showLabel\":false,\"visible\":true,\"elements\":[{\"nodeId\":\"el0Child_0\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el0Child_1_a\",\"visible\":true,\"className\":\"colonne2\"},{\"nodeId\":\"el0Child_1_b\",\"visible\":true,\"className\":\"colonne_suite\"},{\"nodeId\":\"el0Child_2\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el0Child_3\",\"visible\":false,\"className\":\"row\"},{\"nodeId\":\"el0Child_4_a\",\"visible\":false,\"className\":\"colonne2\"},{\"nodeId\":\"el0Child_4_b\",\"visible\":false,\"className\":\"colonne_suite\"},{\"nodeId\":\"el0Child_5_a\",\"visible\":false,\"className\":\"colonne2\"},{\"nodeId\":\"el0Child_5_b\",\"visible\":false,\"className\":\"colonne_suite\"},{\"nodeId\":\"el0Child_6\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el0Child_7\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el0Child_8\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el6Child_3\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el0Child_9\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el7Child_0\",\"visible\":true,\"className\":\"row\"}]}]')";
     10109                                echo traite_rqt($rqt,"insert minimum into grids_generic");
     10110                        }
     10111
     10112                        //DG - Info de réindexation
     10113                        $rqt = " select 1 " ;
     10114                        echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ REINDEXER LES AUTORITES (APRES ETAPES DE MISE A JOUR) / YOU MUST REINDEX THE AUTHORITIES (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
     10115
     10116                        // +-------------------------------------------------+
     10117                        echo "</table>";
     10118                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     10119                        $res = pmb_mysql_query($rqt, $dbh) ;
     10120
     10121                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     10122                        $action=$action+$increment;
     10123                        //echo form_relance ("v5.21");
     10124
     10125       
     10126        //      case "v5.21":
     10127                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     10128                        // +-------------------------------------------------+
     10129
     10130                        //NG -  DSI: Ajout de bannette_aff_notice_number pour afficher ou pas le nombre de notices envoyées dans le mail
     10131                        $rqt = "ALTER TABLE bannettes ADD bannette_aff_notice_number int unsigned NOT NULL default 1 " ;
     10132                        echo traite_rqt($rqt,"ALTER TABLE bannettes ADD bannette_aff_notice_number ");
     10133
     10134                        //JP - Personnalisation des colonnes pour l'affichage des états des collections en gestion
     10135                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='collstate_data' "))==0){
     10136                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10137                                                VALUES (0, 'pmb', '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,#n : id des champs personnalisés\nLes valeurs possibles sont les propriétés de la classe PHP \"pmb/classes/collstate.class.php\".','',0)";
     10138                                echo traite_rqt($rqt,"insert pmb_collstate_data = '' into parametres");
     10139                        }
     10140
     10141                        //JP - champ historique de session trop petit
     10142                        $rqt = "ALTER TABLE admin_session CHANGE session session MEDIUMBLOB " ;
     10143                        echo traite_rqt($rqt,"ALTER TABLE admin_session CHANGE session MEDIUMBLOB ");
     10144
     10145                        // JP - Alertes localisées pour les réservations depuis l'OPAC
     10146                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='resa_alert_localized' "))==0){
     10147                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10148                                                VALUES (0, 'pmb', 'resa_alert_localized', '0', 'Si les lecteurs sont localisés, restreindre les notifications par email des nouvelles réservations aux utilisateurs selon le site de gestion des lecteurs par défaut ? \n0 : Non 1 : Oui' ,'',0)";
     10149                                echo traite_rqt($rqt,"insert pmb_resa_alert_localized into parametres");
     10150                        }
     10151
     10152                        // VT & AP - Modification de la table nomenclature_children_records : on passe à un varchar pour la gestion des effectifs indéfinis
     10153                        $rqt = "ALTER TABLE nomenclature_children_records CHANGE child_record_effective child_record_effective varchar(10) not null default '0'";
     10154                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_children_records CHANGE child_record_effective varchar(10)");
     10155
     10156                        //AP & VT - Ajout d'un paramètre définissant le nombre d'éléments affichés par onglet
     10157                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nb_elems_per_tab' "))==0){
     10158                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10159                                        VALUES (NULL, 'pmb', 'nb_elems_per_tab', '20', 'Nombre d\'éléments affichés par page dans les onglets', '', '0')";
     10160                                echo traite_rqt($rqt,"insert nb_elems_per_tab='20' into parametres ");
     10161                        }
     10162
     10163                        //NG - Ajout identifiant unique à la table responsability_tu
     10164                        $query = "SHOW KEYS FROM responsability_tu WHERE Key_name = 'PRIMARY'";
     10165                        $result = pmb_mysql_query($query);
     10166                        $primary_fields = array('id_responsability_tu','responsability_tu_author_num','responsability_tu_num','responsability_tu_fonction');
     10167                        $flag = false;
     10168                        while($row = pmb_mysql_fetch_object($result)) {
     10169                                if(!in_array($row->Column_name, $primary_fields)) {
     10170                                        $flag = true;
     10171                                }
     10172                        }
     10173                        if(!$flag && pmb_mysql_num_rows($result) != 4) {
     10174                                $flag = true;
     10175                        }
     10176                        if($flag) {                     
     10177                                $rqt = "alter table responsability_tu drop primary key";
     10178                                echo traite_rqt($rqt,"alter table responsability_tu drop primary key");
     10179                                $rqt = "ALTER TABLE responsability_tu ADD id_responsability_tu  int unsigned not null auto_increment primary key FIRST";
     10180                                echo traite_rqt($rqt,"alter table responsability_tu add id_responsability_tu");
     10181                                $rqt = "alter table responsability_tu drop primary key, add primary key (id_responsability_tu,responsability_tu_author_num, responsability_tu_num, responsability_tu_fonction)";
     10182                                echo traite_rqt($rqt,"alter table responsability_tu add primary key (id_responsability_tu,responsability_tu_author_num, responsability_tu_num, responsability_tu_fonction)");
     10183                        }
    966110184                       
     10185                        //NG - Ajout identifiant unique à la table responsability
     10186                        $query = "SHOW KEYS FROM responsability WHERE Key_name = 'PRIMARY'";
     10187                        $result = pmb_mysql_query($query);
     10188                        $primary_fields = array('id_responsability','responsability_author','responsability_notice','responsability_fonction');
     10189                        $flag = false;
     10190                        while($row = pmb_mysql_fetch_object($result)) {
     10191                                if(!in_array($row->Column_name, $primary_fields)) {
     10192                                        $flag = true;
     10193                                }
     10194                        }
     10195                        if(!$flag && pmb_mysql_num_rows($result) != 4) {
     10196                                $flag = true;
     10197                        }
     10198                        if($flag) {
     10199                                $rqt = "alter table responsability drop primary key";
     10200                                echo traite_rqt($rqt,"alter table responsability drop primary key");
     10201                                $rqt = "ALTER TABLE responsability ADD id_responsability  int unsigned not null auto_increment primary key FIRST";
     10202                                echo traite_rqt($rqt,"alter table responsability add id_responsability");
     10203                                $rqt = "alter table responsability drop primary key, add primary key (id_responsability, responsability_author, responsability_notice, responsability_fonction)";
     10204                                echo traite_rqt($rqt,"alter table responsability add primary key (id_responsability, responsability_author, responsability_notice, responsability_fonction)");
     10205                        }
     10206                       
     10207                        //NG - Ajout d'un paramètre pour activer la qualification d'un lien d'auteur dans les notices et les titres uniformes
     10208                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='authors_qualification' "))==0){
     10209                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10210                                        VALUES (0, 'pmb', 'authors_qualification', '0', 'Activer qualification d\'un lien d\'auteur dans les notices et les titres uniformes\n 0 : Non\n 1 : Oui', '', '0')";
     10211                                echo traite_rqt($rqt,"insert pmb_authors_qualification=0 into parametres ");
     10212                        }
     10213
     10214                        //DG - Entrepôt par défaut en suppression de notices d'un panier
     10215                        $rqt = "ALTER TABLE users ADD deflt_agnostic_warehouse INT(6) UNSIGNED DEFAULT 0 NOT NULL " ;
     10216                        echo traite_rqt($rqt,"ALTER users ADD deflt_agnostic_warehouse");
     10217
     10218
     10219                        // NG : ajout dans les préférences utilisateur du statut de publication d'article par défaut en création d'article
     10220                        $rqt = "ALTER TABLE users ADD deflt_cms_article_statut INT(6) UNSIGNED NOT NULL DEFAULT 0 " ;
     10221                        echo traite_rqt($rqt,"ALTER users ADD deflt_cms_article_statut ");
     10222                        // NG : ajout dans les préférences utilisateur du type de contenu par défaut en création d'article
     10223                        $rqt = "ALTER TABLE users ADD deflt_cms_article_type INT(6) UNSIGNED NOT NULL DEFAULT 0 " ;
     10224                        echo traite_rqt($rqt,"ALTER users ADD deflt_cms_article_type ");
     10225                        // NG : ajout dans les préférences utilisateur du type de contenu par défaut en création de rubrique
     10226                        $rqt = "ALTER TABLE users ADD deflt_cms_section_type INT(6) UNSIGNED NOT NULL DEFAULT 0 " ;
     10227                        echo traite_rqt($rqt,"ALTER users ADD deflt_cms_section_type ");
     10228
     10229                        //NG - Ajout d'un paramètre définissant le nombre de bulletins à afficher dans le navigateur de bulletins
     10230                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='navigateur_bulletin_number' "))==0){
     10231                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10232                                        VALUES (NULL, 'opac', 'navigateur_bulletin_number', '3', 'Nombre de bulletins à afficher dans le navigateur de bulletins', 'e_aff_notice', '0')";
     10233                                echo traite_rqt($rqt,"insert opac_navigateur_bulletin_number=3 into parametres ");
     10234                        }
     10235
     10236                        //DG - Upload du logo pour les veilles
     10237                        $rqt = "ALTER TABLE docwatch_watches ADD watch_logo mediumblob not null after watch_desc";
     10238                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_logo ");
     10239
     10240                        //DG Ajout couleur sur le statut de publication du contenu éditorial
     10241                        $rqt = "ALTER TABLE cms_editorial_publications_states ADD editorial_publication_state_class_html VARCHAR( 255 ) NOT NULL default '' " ;
     10242                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_publications_states ADD editorial_publication_state_class_html ");
     10243
     10244                        //VT - Paramètre permettant de définir le dossier des classes de mappage à utiliser pour le mappage entre autorités
     10245                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='authority_mapping_folder' "))==0){
     10246                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10247                                        VALUES (0, 'pmb', 'authority_mapping_folder', '', 'Dossier des classes de mappage à utiliser pour les autorités','',0)";
     10248                                echo traite_rqt($rqt,"insert pmb_authority_mapping_folder='' into parametres");
     10249                        }
     10250
     10251                        //DG - Nomenclatures : Atelier défini/non défini
     10252                        $rqt = "ALTER TABLE nomenclature_workshops ADD workshop_defined int unsigned not null default 0";
     10253                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_workshops ADD workshop_defined ");
     10254
     10255                        //DG - Nomenclatures : Notes par familles en édition de notices
     10256                        $rqt = "ALTER TABLE nomenclature_notices_nomenclatures ADD notice_nomenclature_families_notes mediumtext not null after notice_nomenclature_notes";
     10257                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_notices_nomenclatures ADD notice_nomenclature_families_notes ");
     10258
     10259                        // AP - Ajout d'un droit de numérisation sur les notices
     10260                        // notice_scan_request_opac : Autorisation de demander une numérisation de la notice à l'OPAC
     10261                        $rqt = "ALTER TABLE notice_statut ADD notice_scan_request_opac tinyint(1) NOT NULL default 0";
     10262                        echo traite_rqt($rqt, "ALTER TABLE notice_statut ADD notice_scan_request_opac");
     10263                        // notice_scan_request_opac_abon : Autorisation uniquement pour les abonnés de demander une numérisation de la notice à l'OPAC
     10264                        $rqt = "ALTER TABLE notice_statut ADD notice_scan_request_opac_abon tinyint(1) NOT NULL default 0";
     10265                        echo traite_rqt($rqt, "ALTER TABLE notice_statut ADD notice_scan_request_opac_abon");
     10266
     10267                        // AP - Activation de la demande de numérisation en gestion
     10268                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='scan_request_activate' "))==0){
     10269                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10270                                VALUES (0, 'pmb', 'scan_request_activate', '0', 'Activer la demande de numérisation.\n0 : Non\n1 : Oui' ,'', 0)";
     10271                                echo traite_rqt($rqt,"insert pmb_scan_request_activate=0 into parametres");
     10272                        }
     10273
     10274                        // AP - Activation de la demande de numérisation en OPAC
     10275                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='scan_request_activate' "))==0){
     10276                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10277                                        VALUES (0, 'opac', 'scan_request_activate', '0', 'Activer la demande de numérisation.\n0 : Non\n1 : Oui' ,'f_modules', 0)";
     10278                                echo traite_rqt($rqt,"insert opac_scan_request_activate=0 into parametres");
     10279                        }
     10280
     10281                        // NG - Demande de numérisation: Ajout de l'interface de gestion de la liste des statuts.
     10282                        $rqt = "create table if not exists scan_request_status(
     10283                                id_scan_request_status int unsigned not null auto_increment primary key,
     10284                                scan_request_status_label varchar(255) not null default '',
     10285                                scan_request_status_opac_show int(1) not null default 0,
     10286                                scan_request_status_cancelable int(1) not null default 0,
     10287                                scan_request_status_infos_editable int(1) not null default 0,
     10288                                scan_request_status_class_html VARCHAR( 255 ) not NULL default ''
     10289                                )";
     10290                        echo traite_rqt($rqt, "create table scan_request_status");
     10291
     10292                        // NG - Demande de numérisation: Interface pour définir à partir d'un statut, les statuts suivants possibles (Workflow)
     10293                        $rqt = "create table if not exists scan_request_status_workflow(
     10294                                scan_request_status_workflow_from_num int unsigned not null default 0,
     10295                                scan_request_status_workflow_to_num int unsigned not null default 0
     10296                                )";
     10297                        echo traite_rqt($rqt, "create table scan_request_status_workflow");
     10298
     10299                        // NG - Demande de numérisation: Interface pour définir les priorités des demandes
     10300                        $rqt = "create table if not exists scan_request_priorities(
     10301                                id_scan_request_priority int unsigned not null auto_increment primary key,
     10302                                scan_request_priority_label varchar(255) not null default '',
     10303                                scan_request_priority_weight int unsigned not null default 0
     10304                                )";
     10305                        echo traite_rqt($rqt, "create table scan_request_priorities");
     10306
     10307                        // VT : Ajout dans les préférences utilisateur du statut par défaut à la création d'une demande de numérisation
     10308                        $rqt = "ALTER TABLE users ADD deflt_scan_request_status INT(1) UNSIGNED NOT NULL DEFAULT 0 " ;
     10309                        echo traite_rqt($rqt,"ALTER users ADD deflt_scan_request_status");
     10310
     10311                        // VT - NG - Table des demandes de numérisation
     10312                        // id_scan_request  : Identifiant de la demande de numérisation
     10313                        // scan_request_title : Libellé du titre de la demande
     10314                        // scan_request_desc : Description de la demande
     10315                        // scan_request_num_status : Clé étrangère (correspondance dans la table scan_request_status)
     10316                        // scan_request_num_priority : Clé étrangère (correspondance dans la table scan_request_priorities)
     10317                        // scan_request_create_date : Date de création de la demande (machine)
     10318                        // scan_request_update_date : Date de mise à jour de la demande (machine)
     10319                        // scan_request_date : Date de la demande (humain)
     10320                        // scan_request_wish_date : Date de traitement de la demande souhaité (humain)
     10321                        // scan_request_deadline_date : Date butoir de la demande (humain)
     10322                        // scan_request_comment : Commentaire de la demande
     10323                        // scan_request_elapsed_time : Temps passé sur la demande
     10324                        // scan_request_num_dest_empr : ID du destinataire de la demande
     10325                        // scan_request_num_creator : Identifiant du créateur de la demande  (User Gestion ou usager OPAC)
     10326                        // scan_request_type_creator : Type du créateur (User Gestion ou usager OPAC)
     10327                        // scan_request_num_last_user : Dernier utilisateur à avoir travaillé sur la demande
     10328                        // scan_request_state : Défini l'état d'une demande par rapport aux actions de l'usager destinataire (0 = demande normale, 1=modifiée, 2=annulée)
     10329                        $rqt = "create table if not exists scan_requests(
     10330                                id_scan_request int unsigned not null auto_increment primary key,
     10331                                scan_request_title varchar(255) not null default '',
     10332                                scan_request_desc text,
     10333                                scan_request_num_status int unsigned not null default 0,
     10334                                scan_request_num_priority int unsigned not null default 0,
     10335                                scan_request_create_date datetime,
     10336                                scan_request_update_date datetime,
     10337                                scan_request_date datetime,
     10338                                scan_request_wish_date datetime,
     10339                                scan_request_deadline_date datetime,
     10340                                scan_request_comment text,
     10341                                scan_request_elapsed_time int unsigned not null default 0,
     10342                                scan_request_num_dest_empr int unsigned not null default 0,
     10343                                scan_request_num_creator int unsigned not null default 0,
     10344                                scan_request_type_creator int unsigned not null default 0,
     10345                                scan_request_num_last_user int unsigned not null default 0,
     10346                                scan_request_state int unsigned not null default 0,
     10347                                scan_request_as_folder int(1) unsigned not null default 0,
     10348                                scan_request_folder_num_notice int unsigned not null default 0
     10349                                )";
     10350                        echo traite_rqt($rqt, "create table scan_requests");
     10351
     10352                        // VT - NG - Table des correspondance notices / demandes de numérisation
     10353                        // scan_request_linked_record_num_request  : Identifiant de la demande de numérisation
     10354                        // scan_request_linked_record_num_notice : Identifiant de la notice
     10355                        // scan_request_linked_record_num_bulletin : Identifiant du bulletin
     10356                        // scan_request_linked_record_comment : Commentaire lié à cette notice dans la demande 'num_request'
     10357                        // scan_request_linked_record_order : Ordre des éléments
     10358                        $rqt = "create table if not exists scan_request_linked_records(
     10359                                scan_request_linked_record_num_request int unsigned not null default 0,
     10360                                scan_request_linked_record_num_notice int unsigned not null default 0,
     10361                                scan_request_linked_record_num_bulletin int unsigned not null default 0,
     10362                                scan_request_linked_record_comment text,
     10363                                scan_request_linked_record_order int(3) unsigned not null default 0,
     10364                                PRIMARY KEY (scan_request_linked_record_num_request,scan_request_linked_record_num_notice,scan_request_linked_record_num_bulletin)
     10365                                )";
     10366                        echo traite_rqt($rqt, "create table scan_requests_linked_records");
     10367
     10368                        //AP & DG - Ajout d'un droit sur le statut pour les demandes de numérisation
     10369                        $rqt = "alter table empr_statut add allow_scan_request int unsigned not null default 0";
     10370                        echo traite_rqt($rqt,"alter table empr_statut add allow_scan_request");
     10371
     10372
     10373                        // AP & DG - Statut par défaut en création de demande de numérisation à l'OPAC (paramètre invisible)
     10374                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='scan_request_create_status' "))==0){
     10375                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10376                                VALUES (0, 'opac', 'scan_request_create_status', '1', 'Statut de création à l\'OPAC','a_general',1)";
     10377                                echo traite_rqt($rqt,"insert opac_scan_request_create_status=1 into parametres");
     10378                        }
     10379
     10380                        // AP & DG - Statut par défaut après annulation à l'OPAC (paramètre invisible)
     10381                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='scan_request_cancel_status' "))==0){
     10382                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10383                                        VALUES (0, 'opac', 'scan_request_cancel_status', '1', 'Statut après annulation à l\'OPAC','a_general',1)";
     10384                                echo traite_rqt($rqt,"insert opac_scan_request_cancel_status=1 into parametres");
     10385                        }
     10386
     10387                        //DG - Statut "Sans statut particulier" ajouté par défaut pour les demandes de numérisation
     10388                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from scan_request_status where id_scan_request_status=1"))==0){
     10389                                $rqt = "insert into scan_request_status SET id_scan_request_status=1, scan_request_status_label='Sans statut particulier', scan_request_status_opac_show='1' ";
     10390                                echo traite_rqt($rqt,"insert minimum into scan_request_status");
     10391                        }
     10392                       
     10393                        // VT - Table des correspondance demandes de numérisation/document numérique
     10394                        // scan_request_explnum_num_request  : Identifiant de la demande de numérisation
     10395                        // scan_request_explnum_num_notice : Identifiant de la notice
     10396                        // scan_request_explnum_num_bulletin : Identifiant du bulletin
     10397                        // scan_request_explnum_num_explnum : Identifiant du document numérique
     10398                        $rqt = "create table if not exists scan_request_explnum(
     10399                                scan_request_explnum_num_request int unsigned not null default 0,
     10400                                scan_request_explnum_num_notice int unsigned not null default 0,
     10401                                scan_request_explnum_num_bulletin int unsigned not null default 0,
     10402                                scan_request_explnum_num_explnum int unsigned not null default 0,
     10403                                PRIMARY KEY (scan_request_explnum_num_request, scan_request_explnum_num_explnum)
     10404                                )";
     10405                        echo traite_rqt($rqt, "create table scan_requests_explnum");
     10406
     10407                        //NG - Ajout d'un paramètre renseignant le répertoire d'upload des documents numériques liés aux demandes de numérisation (paramètre invisible)
     10408                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='scan_request_explnum_folder' "))==0){
     10409                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10410                                        VALUES (0, 'pmb', 'scan_request_explnum_folder', '0', 'Répertoire d\'upload des documents numériques liés aux demandes de numérisation', '', '1')";
     10411                                        echo traite_rqt($rqt,"insert pmb_scan_request_explnum_folder=0 into parametres ");
     10412                                }
     10413
     10414                        // AP : Ajout dans les préférences utilisateur du type de notice par défaut à la création d'une notice de dossier de demande de numérisation
     10415                        $rqt = "ALTER TABLE users ADD xmlta_doctype_scan_request_folder_record VARCHAR(2) NOT NULL DEFAULT 'a' " ;
     10416                        echo traite_rqt($rqt,"ALTER users ADD xmlta_doctype_scan_request_folder_record='a'");
     10417
     10418                        //DG - Paramètre pour activer ou non le sélecteur d'accès rapide
     10419                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='quick_access' "))==0){
     10420                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10421                                VALUES (0, 'opac', 'quick_access', '1', 'Activer le sélecteur d\'accès rapide ? \n0 : Non 1 : Oui','a_general',0)";
     10422                                echo traite_rqt($rqt,"insert opac_quick_access into parametres");
     10423                        }
     10424
     10425                        // AP & VT - Ajout de la colonne concept dans la table scan_request (permet de spécifier un concept pour indexer les documents numériques)
     10426                        $rqt = "ALTER TABLE scan_requests ADD scan_request_concept_uri VARCHAR(255) NOT NULL DEFAULT '' " ;
     10427                        echo traite_rqt($rqt,"ALTER scan_requests ADD scan_request_concept_uri");
     10428
     10429                        // AP & VT - Ajout de la colonne nb_scanned_pages dans la table scan_request (permet de renseigner le nombre de pages scannées dans la demande de numérisation)
     10430                        $rqt = "ALTER TABLE scan_requests ADD scan_request_nb_scanned_pages INT unsigned NOT NULL DEFAULT 0 " ;
     10431                        echo traite_rqt($rqt,"ALTER scan_requests ADD scan_request_nb_scanned_pages");
     10432
     10433                        // VT & AP - Modification de la table nomenclature_children_records : on ajoute une colonne pour stocker l'id de la nomenclature
     10434                        $rqt = "ALTER TABLE nomenclature_children_records ADD child_record_num_nomenclature int unsigned not null default 0";
     10435                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_children_records ADD child_record_num_nomenclature int unsigned not null");
     10436
     10437                        //MB - Champ prix trop petit
     10438                        $rqt = "ALTER TABLE lignes_actes CHANGE prix prix DOUBLE PRECISION(12,2) unsigned NOT NULL default '0.00'" ;
     10439                        echo traite_rqt($rqt,"ALTER lignes_actes CHANGE prix");
     10440
     10441                        //MB - Champ montant trop petit
     10442                        $rqt = "ALTER TABLE frais CHANGE montant montant DOUBLE PRECISION(12,2) unsigned NOT NULL default '0.00'" ;
     10443                        echo traite_rqt($rqt,"ALTER frais CHANGE montant");
     10444
     10445                        //MB - Champ montant_global trop petit
     10446                        $rqt = "ALTER TABLE budgets CHANGE montant_global montant_global DOUBLE PRECISION(12,2) unsigned NOT NULL default '0.00'" ;
     10447                        echo traite_rqt($rqt,"ALTER budgets CHANGE montant_global");
     10448
     10449                        //DB - script de vérification de saisie d'une notice perso en integration
     10450                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='catalog_verif_js_integration' "))==0){
     10451                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     10452                                VALUES ( 'pmb', 'catalog_verif_js_integration', '', 'Script de vérification de saisie de notice en intégration','', 0)";
     10453                                echo traite_rqt($rqt,"insert pmb_catalog_verif_js_integration='' into parametres");
     10454                        }
     10455
     10456                        //NG & DG - Ajout de la table rent_pricing_systems
     10457                        // id_pricing_system : Identifiant du système de tarification
     10458                        // pricing_system_label : Nom
     10459                        // pricing_system_desc : Description
     10460                        // pricing_system_percents : Liste des pourcentages associés
     10461                        // pricing_system_num_exercice : Exercice comptable associé
     10462
     10463                        $rqt = "create table if not exists rent_pricing_systems(
     10464                                id_pricing_system int unsigned not null auto_increment primary key,
     10465                                pricing_system_label varchar(255) not null default '',
     10466                                pricing_system_desc text,
     10467                                pricing_system_percents text,
     10468                                pricing_system_num_exercice int unsigned not null default 0
     10469                                )";
     10470                        echo traite_rqt($rqt, "create table rent_pricing_systems");
     10471
     10472                        //NG & DG - Ajout de la table rent_pricing_system_grids
     10473                        // id_pricing_system_grid : Identifiant incrémentiel
     10474                        // pricing_system_grid_num_system : Système de tarification associé
     10475                        // pricing_system_grid_time_start : Minutage de départ
     10476                        // pricing_system_grid_time_end : Minutage de fin
     10477                        // pricing_system_grid_price : Prix
     10478                        // pricing_system_grid_type : Type (1 : intervalle, 2 : Temps suppl, 3 : Non utilisé)
     10479                        $rqt = "create table if not exists rent_pricing_system_grids(
     10480                                id_pricing_system_grid int unsigned not null auto_increment primary key,
     10481                                pricing_system_grid_num_system int unsigned not null default 0,
     10482                                pricing_system_grid_time_start int unsigned not null default 0,
     10483                                pricing_system_grid_time_end int unsigned not null default 0,
     10484                                pricing_system_grid_price float(12,2) unsigned not null default 0,
     10485                                pricing_system_grid_type int unsigned not null default 0
     10486                                )";
     10487                        echo traite_rqt($rqt, "create table rent_pricing_system_grids");
     10488
     10489                        //NG & DG - Ajout de la table rent_account_sections
     10490                        // account_type_num_exercice : Exercice comptable associé
     10491                        // account_type_num_section : Rubrique budgétaire associée
     10492                        // account_type_marclist : Type de décompte associé
     10493                        $rqt = "create table if not exists rent_account_types_sections(
     10494                                account_type_num_exercice int unsigned not null default 0,
     10495                                account_type_num_section int unsigned not null default 0,
     10496                                account_type_marclist varchar(10) not null default '',
     10497                                PRIMARY KEY (account_type_num_section, account_type_marclist)
     10498                                )";
     10499                        echo traite_rqt($rqt, "create table rent_account_sections");
     10500
     10501                        //NG & DG - Ajout de la table rent_accounts
     10502                        // id_account : Identifiant du décompte
     10503                        // account_num_user : Identifiant de l'utilisateur qui l'a créé
     10504                        // account_num_exercice : Exercice comptable associé
     10505                        // account_type : Type de la demande
     10506                        // account_desc : Description
     10507                        // account_date : Date de création
     10508                        // account_receipt_limit_date : Date limite de réception
     10509                        // account_receipt_effective_date : Date effective de réception
     10510                        // account_return_date : Date de retour
     10511                        // account_num_authority : Exécution associée
     10512                        // account_title : Titre
     10513                        // account_event_date : Date de l'évènement
     10514                        // account_event_formation : Formation
     10515                        // account_event_orchestra : Chef d'orchestre
     10516                        // account_event_place : Lieu de l'évènement
     10517                        // account_num_publisher : Editeur associé
     10518                        // account_num_author : Compositeur associé
     10519                        // account_num_pricing_system : Système de tarification associé
     10520                        // account_time : Minutage
     10521                        // account_percent : Pourcentage
     10522                        // account_price : Prix
     10523                        // account_web : Diffusion Web (Oui/Non)
     10524                        // account_web_percent : Pourcentage Web
     10525                        // account_web_price : Prix Web
     10526                        $rqt = "create table if not exists rent_accounts(
     10527                                id_account int unsigned not null auto_increment primary key,
     10528                                account_num_user int unsigned not null default 0,
     10529                                account_num_exercice int unsigned not null default 0,
     10530                                account_type varchar(3) not null default '',
     10531                                account_desc text,
     10532                                account_date datetime,
     10533                                account_receipt_limit_date datetime,
     10534                                account_receipt_effective_date datetime,
     10535                                account_return_date datetime,
     10536                                account_num_uniform_title int unsigned not null default 0,
     10537                                account_title varchar(255) not null default '',
     10538                                account_event_date varchar(255) not null default '',
     10539                                account_event_formation varchar(255) not null default '',
     10540                                account_event_orchestra varchar(255) not null default '',
     10541                                account_event_place varchar(255) not null default '',
     10542                                account_num_publisher int unsigned not null default 0,
     10543                                account_num_author int unsigned not null default 0,
     10544                                account_num_pricing_system int unsigned not null default 0,
     10545                                account_time int unsigned not null default 0,
     10546                                account_percent float(8,2) unsigned not null default 0,
     10547                                account_price float(12,2) unsigned not null default 0,
     10548                                account_web int(1) unsigned not null default 0,
     10549                                account_web_percent float(8,2) unsigned not null default 0,
     10550                                account_web_price float(12,2) unsigned not null default 0,
     10551                                account_comment text
     10552                                )";
     10553                        echo traite_rqt($rqt, "create table rent_accounts");
     10554
     10555                        //NG & DG - Ajout de la table rent_invoices
     10556                        // id_invoice : Identifiant de la facture
     10557                        // invoice_num_user : Identifiant de l'utilisateur qui l'a créée
     10558                        // invoice_date : Date de génération
     10559                        // invoice_status : Enumération (0 = en cours, 1 = validée)
     10560                        // invoice_valid_date : Date de validation
     10561                        $rqt = "create table if not exists rent_invoices(
     10562                                id_invoice int unsigned not null auto_increment primary key,
     10563                                invoice_num_user int unsigned not null default 0,
     10564                                invoice_date datetime,
     10565                                invoice_status int unsigned not null default 1,
     10566                                invoice_valid_date datetime,
     10567                                invoice_destination varchar(10) not null default ''
     10568                                )";
     10569                        echo traite_rqt($rqt, "create table rent_invoices");
     10570
     10571                        //NG & DG - Ajout de la table rent_accounts_invoices
     10572                        // account_invoice_num_account : Identifiant du décompte associé
     10573                        // account_invoice_num_invoice : Identifiant de la facture associée
     10574                        $rqt = "create table if not exists rent_accounts_invoices(
     10575                                account_invoice_num_account int unsigned not null default 0,
     10576                                account_invoice_num_invoice int unsigned not null default 0,
     10577                                PRIMARY KEY (account_invoice_num_account, account_invoice_num_invoice)
     10578                                )";
     10579                        echo traite_rqt($rqt, "create table rent_accounts_invoices");
     10580
     10581                        //NG
     10582                        $rqt = "ALTER TABLE rent_accounts ADD account_request_type varchar(3) not null default '' after account_num_exercice " ;
     10583                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_request_type ");
     10584
     10585                        //DG - Statut sur les demandes de location (commandé / non commandé)
     10586                        $rqt = "ALTER TABLE rent_accounts ADD account_request_status int(1) unsigned not null default 1 " ;
     10587                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_request_status ");
     10588
     10589                        //NG
     10590                        $rqt = "ALTER TABLE rent_accounts ADD account_num_acte int unsigned not null default 0 " ;
     10591                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_num_acte ");
     10592
     10593                        //NG
     10594                        $rqt = "ALTER TABLE rent_invoices ADD invoice_num_acte int unsigned not null default 0 " ;
     10595                        echo traite_rqt($rqt,"ALTER TABLE rent_invoices ADD invoice_num_acte ");
     10596
     10597                        //NG - Ajout d'un lien fournisseur dans la table des editeurs
     10598                        $rqt = "ALTER TABLE publishers ADD ed_num_entite int unsigned NOT NULL default 0 " ;
     10599                        echo traite_rqt($rqt,"ALTER TABLE publishers ADD ed_num_entite ");
     10600
     10601                        // DG - Afficher la possibilité pour le lecteur d'inscrire d'autres membres à ses listes
     10602                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param='opac' and sstype_param='shared_lists_add_empr' "))==0){
     10603                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10604                                VALUES (0, 'opac', 'shared_lists_add_empr', '0', 'Afficher la possibilité pour le lecteur d\'inscrire d\'autres membres à ses listes de lecture partagées \n 0 : Non \n 1 : Oui', 'a_general', '0')";
     10605                                echo traite_rqt($rqt,"insert opac_shared_lists_add_empr='0' into parametres ");
     10606                        }
     10607
     10608                        //DG - Gestion des avis - Notion de commentaire privé
     10609                        $rqt = "ALTER TABLE avis ADD avis_private int(1) unsigned not null default 0 " ;
     10610                        echo traite_rqt($rqt,"ALTER TABLE avis ADD avis_private ");
     10611
     10612                        //DG - Gestion des avis - Association d'une liste lecture
     10613                        $rqt = "ALTER TABLE avis ADD avis_num_liste_lecture int(8) unsigned not null default 0 " ;
     10614                        echo traite_rqt($rqt,"ALTER TABLE avis ADD avis_num_liste_lecture ");
     10615
     10616                        //DG - Listes de lecture - Saisie libre d'un tag
     10617                        $rqt = "ALTER TABLE opac_liste_lecture ADD tag varchar(255) not null default '' " ;
     10618                        echo traite_rqt($rqt,"ALTER TABLE opac_liste_lecture ADD tag ");
     10619
     10620                        // AP & NG - Ajout d'un paramètre URI du concept à associer aux partitions avant exécution
     10621                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_music_concept_before' "))==0){
     10622                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10623                                        VALUES (NULL, 'pmb', 'nomenclature_music_concept_before', '0', 'URI du concept à associer aux partitions avant exécution', '', '1')";
     10624                                echo traite_rqt($rqt,"insert pmb_nomenclature_music_concept_before into parametres ");
     10625                        }
     10626
     10627                        // AP & NG - Ajout d'un paramètre URI du concept à associer aux partitions après exécution
     10628                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_music_concept_after' "))==0){
     10629                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10630                                        VALUES (NULL, 'pmb', 'nomenclature_music_concept_after', '0', 'URI du concept à associer aux partitions après exécution', '', '1')";
     10631                                echo traite_rqt($rqt,"insert pmb_nomenclature_music_concept_after into parametres ");
     10632                        }
     10633
     10634                        // AP & NG - Ajout d'un paramètre URI du concept à associer aux partitions originales
     10635                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_music_concept_blank' "))==0){
     10636                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10637                                        VALUES (NULL, 'pmb', 'nomenclature_music_concept_blank', '0', 'URI du concept à associer aux partitions originales', '', '1')";
     10638                                echo traite_rqt($rqt,"insert pmb_nomenclature_music_concept_blank into parametres ");
     10639                        }
     10640
     10641                        // AP & NG - Passage du paramètre nomenclature_record_children_link en caché
     10642                        $rqt = "UPDATE parametres SET gestion='1' where type_param= 'pmb' and sstype_param='nomenclature_record_children_link' ";
     10643                        echo traite_rqt($rqt,"update pmb_nomenclature_record_children_link");
     10644
     10645
     10646                        //AP & VT - Mise à jour du paramètre de définition de répertoire de template pour les affichages autorités en opac
     10647                        if(pmb_mysql_num_rows(pmb_mysql_query('select valeur_param from parametres where type_param= "opac" and sstype_param="authorities_templates_folder" and valeur_param like "%/%"'))){
     10648                                $rqt = 'UPDATE parametres set valeur_param = SUBSTRING_INDEX(valeur_param, "/", -1) where type_param= "opac" and sstype_param="authorities_templates_folder" ';
     10649                                echo traite_rqt($rqt,"UPDATE parametres opac_authorities_templates_folder");
     10650                        }
     10651
     10652                        //DG - Fournisseur associé au décompte de location
     10653                        $rqt = "ALTER TABLE rent_accounts ADD account_num_supplier int unsigned not null default 0 after account_num_publisher" ;
     10654                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_num_supplier ");
     10655
     10656                        //DG - Modification du champ account_event_date de la table rent_accounts
     10657                        $rqt = "ALTER TABLE rent_accounts MODIFY account_event_date datetime" ;
     10658                        echo traite_rqt($rqt,"alter table rent_accounts modify account_event_date");
     10659
     10660                        //DB Maj commentaires mail_methode
     10661                        $rqt = "update parametres set comment_param= 'Méthode d\'envoi des mails : \n php : fonction mail() de php\n smtp,hote:port,auth,user,pass,(ssl|tls) : en smtp, mettre O ou 1 pour l\'authentification... ' where sstype_param='mail_methode' ";
     10662                        echo traite_rqt($rqt,"update mail_methode comments");
     10663
     10664                        // DG & VT - Activation des actions rapides (dans le tableau de bord)
     10665                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='dashboard_quick_params_activate' "))==0){
     10666                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10667                                VALUES (0, 'pmb', 'dashboard_quick_params_activate', '1', 'Activer les actions rapides dans le tableau de bord.\n0 : Non\n1 : Oui' ,'', 0)";
     10668                                echo traite_rqt($rqt,"insert pmb_dashboard_quick_params_activate=1 into parametres");
     10669                        }
     10670
     10671                        //JP - Autoriser les montants négatifs dans les acquisitions
     10672                        $rqt = "ALTER TABLE frais CHANGE montant montant DOUBLE(12,2) NOT NULL DEFAULT '0.00'";
     10673                        echo traite_rqt($rqt,"ALTER TABLE frais CHANGE montant");
     10674                        $rqt = "ALTER TABLE lignes_actes CHANGE prix prix DOUBLE(12,2) NOT NULL DEFAULT '0.00'";
     10675                        echo traite_rqt($rqt,"ALTER TABLE lignes_actes CHANGE prix");
     10676
     10677                        //DG - accès rapide pour les paniers de lecteurs
     10678                        $rqt = "ALTER TABLE empr_caddie ADD acces_rapide INT NOT NULL default 0";
     10679                        echo traite_rqt($rqt,"ALTER TABLE empr_caddie ADD acces_rapide");
     10680
     10681                        //JP - update bannette_aff_notice_number pour les bannettes privées
     10682                        $rqt = "UPDATE bannettes SET bannette_aff_notice_number = 1 WHERE proprio_bannette <> 0" ;
     10683                        echo traite_rqt($rqt,"UPDATE bannettes SET bannette_aff_notice_number ");
     10684                        echo traite_rqt($rqt,"UPDATE bannettes SET bannette_aff_notice_number ");
     10685
     10686                        //NG - Mémorisation de l'utilisateur qui fait une demande de transfert
     10687                        $rqt = "ALTER TABLE transferts ADD transfert_ask_user_num INT NOT NULL default 0";
     10688                        echo traite_rqt($rqt,"ALTER TABLE transferts ADD transfert_ask_user_num");
     10689
     10690                        //AP - Ajout du nom de groupe dans la table des circulations en cours
     10691                        $rqt = "ALTER TABLE serialcirc_circ ADD serialcirc_circ_group_name varchar(255) NOT NULL DEFAULT ''";
     10692                        echo traite_rqt($rqt,"ALTER TABLE serialcirc_circ add serialcirc_circ_group_name default ''");
     10693
     10694                        //DG - Avis privé par défaut
     10695                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='avis_default_private' "))==0){
     10696                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10697                                VALUES (0, 'opac', 'avis_default_private', '0', 'Avis privé par défaut ? \n 0 : Non \n 1 : Oui', 'a_general', 0) ";
     10698                                echo traite_rqt($rqt,"insert opac_avis_default_private into parametres") ;
     10699                        }
     10700
     10701                        //JP - Alerter l'utilisateur par mail des nouvelles demandes d'inscription aux listes de circulation
     10702                        $rqt = "ALTER TABLE users ADD user_alert_serialcircmail INT(1) UNSIGNED NOT NULL DEFAULT 0 after user_alert_subscribemail";
     10703                        echo traite_rqt($rqt,"ALTER TABLE users add user_alert_serialcircmail default 0");
     10704
     10705                        //JP - Enrichir les flux rss générés par les veilles
     10706                        $rqt = "ALTER TABLE docwatch_watches ADD watch_rss_link VARCHAR(255) NOT NULL, ADD watch_rss_lang VARCHAR(255) NOT NULL, ADD watch_rss_copyright VARCHAR(255) NOT NULL, ADD watch_rss_editor VARCHAR(255) NOT NULL, ADD watch_rss_webmaster VARCHAR(255) NOT NULL, ADD watch_rss_image_title VARCHAR(255) NOT NULL, ADD watch_rss_image_website VARCHAR(255) NOT NULL";
     10707                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches add watch_rss_link, watch_rss_lang, watch_rss_copyright, watch_rss_editor, watch_rss_webmaster, watch_rss_image_title, watch_rss_image_website");
     10708
     10709                        //JP - Possibilité de nettoyer le contenu HTML dans un OAI entrant
     10710                        $rqt = "ALTER TABLE connectors_sources ADD clean_html INT(3) UNSIGNED NOT NULL DEFAULT '0'";
     10711                        echo traite_rqt($rqt,"ALTER TABLE connectors_sources add clean_html");
     10712
     10713                        //Alexandre - Préremplissage de la vignette des dépouillements avec la vignette du bulletin
     10714                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='bulletin_thumbnail_url_article' "))==0){
     10715                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10716                                VALUES (0, 'pmb', 'bulletin_thumbnail_url_article', '0', 'Préremplissage de l\'url de la vignette des dépouillements avec l\'url de la vignette de la notice bulletin en catalogage des périodiques ? \n 0 : Non \n 1 : Oui', '',0) ";
     10717                                echo traite_rqt($rqt, "insert pmb_bulletin_thumbnail_url_article=0 into parametres");
     10718                        }
     10719
     10720                        //DG - Grilles exemplaires éditables
     10721                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='form_expl_editables' "))==0){
     10722                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10723                                        VALUES (0, 'pmb', 'form_expl_editables', '1', 'Grilles exemplaires éditables ? \n 0 non \n 1 oui','',0)";
     10724                                echo traite_rqt($rqt,"insert pmb_form_expl_editables into parametres");
     10725                        }
     10726
     10727                        //DG - Grilles exemplaires numériques éditables
     10728                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='form_explnum_editables' "))==0){
     10729                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10730                                        VALUES (0, 'pmb', 'form_explnum_editables', '1', 'Grilles exemplaires numériques éditables ? \n 0 non \n 1 oui','',0)";
     10731                                echo traite_rqt($rqt,"insert pmb_form_explnum_editables into parametres");
     10732                        }
     10733
     10734                        //DG - Mis à jour de la table grilles_auth (pour ceux qui ont une version récente de PMB) pour la rendre générique
     10735                        if (pmb_mysql_query("select * from grilles_auth")){
     10736                                $rqt = "RENAME TABLE grilles_auth TO grids_generic";
     10737                                echo traite_rqt($rqt, "rename grilles_auth to grids_generic");
     10738
     10739                                // DG - Renommage de la colonne "grille_auth_type" en "grid_generic_type"
     10740                                $rqt = "ALTER TABLE grids_generic CHANGE grille_auth_type grid_generic_type VARCHAR(32) not null default ''";
     10741                                echo traite_rqt($rqt,"alter grids_generic change grille_auth_type grid_generic_type");
     10742
     10743                                // DG - Renommage de la colonne "grille_auth_filter" en "grid_generic_filter"
     10744                                $rqt = "ALTER TABLE grids_generic CHANGE grille_auth_filter grid_generic_filter VARCHAR(255) null default ''";
     10745                                echo traite_rqt($rqt,"alter grids_generic change grille_auth_filter grid_generic_filter");
     10746
     10747                                // DG - Renommage de la colonne "grille_auth_descr_format" en "grid_generic_descr_format"
     10748                                $rqt = "ALTER TABLE grids_generic CHANGE grille_auth_descr_format grid_generic_data mediumblob NOT NULL";
     10749                                echo traite_rqt($rqt,"alter grids_generic change grille_auth_descr_format grid_generic_data");
     10750                        }
     10751
     10752                        //NG - Mémorisation de l'utilisateur qui fait l'envoi de transfert
     10753                        $rqt = "ALTER TABLE transferts ADD transfert_send_user_num INT NOT NULL default 0";
     10754                        echo traite_rqt($rqt,"ALTER TABLE transferts ADD transfert_send_user_num");
     10755
     10756                        // DG - Création de la table de stockage des objets pour le formulaire de contact opac
     10757                        // id_object : Identifiant de l'objet
     10758                        // object_label : Libellé de l'objet
     10759                        $rqt = "create table if not exists contact_form_objects(
     10760                                id_object int unsigned not null auto_increment primary key,
     10761                                object_label varchar(255) not null default '') ";
     10762                        echo traite_rqt($rqt,"create table contact_form_objects");
     10763
     10764                        //DG - Formulaire de contact - Paramétrage général
     10765                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contact_form_parameters' "))==0){
     10766                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     10767                                        VALUES ('pmb','contact_form_parameters','','Paramétrage général du formulaire de contact','',1)";
     10768                                echo traite_rqt($rqt,"insert pmb_contact_form_parameters into parametres");
     10769                        }
     10770
     10771                        //DG - Formulaire de contact - Paramétrage des listes de destinataires
     10772                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contact_form_recipients_lists' "))==0){
     10773                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     10774                                        VALUES ('pmb','contact_form_recipients_lists','','Paramétrage des listes de destinataires du formulaire de contact','',1)";
     10775                                echo traite_rqt($rqt,"insert pmb_contact_form_recipients_lists into parametres");
     10776                        }
     10777
     10778                        //DG - Paramètre pour afficher ou non le formulaire de contact
     10779                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='contact_form' "))==0){
     10780                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10781                                        VALUES (0, 'opac', 'contact_form', '0', 'Afficher le formulaire de contact ? \n0 : Non 1 : Oui','a_general',0)";
     10782                                echo traite_rqt($rqt,"insert opac_contact_form into parametres");
     10783                        }
     10784
     10785                        //JP - Paramètre inutilisé caché
     10786                        $rqt = "update parametres set gestion=1 where type_param= 'opac' and sstype_param='categories_categ_sort_records' ";
     10787                        echo traite_rqt($rqt,"update categories_categ_sort_records hide into parametres");
     10788
     10789                        //JP - date de création et créateur des paniers
     10790                        $rqt = "ALTER TABLE caddie ADD creation_user_name VARCHAR(255) NOT NULL DEFAULT '', ADD creation_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00'";
     10791                        echo traite_rqt($rqt,"ALTER TABLE caddie add creation_user_name, creation_date");
     10792                        $rqt = "ALTER TABLE empr_caddie ADD creation_user_name VARCHAR(255) NOT NULL DEFAULT '', ADD creation_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00'";
     10793                        echo traite_rqt($rqt,"ALTER TABLE empr_caddie add creation_user_name, creation_date");
     10794
     10795                        //NG - Mémorisation de la date demandée par l'utilisateur en demande de transfert
     10796                        $rqt = "ALTER TABLE transferts ADD transfert_ask_date date NOT NULL default '0000-00-00'";
     10797                        echo traite_rqt($rqt,"ALTER TABLE transferts ADD transfert_ask_date");
     10798
     10799                        //DG - Ajout du type sur les recherches prédéfinies gestion (Pour spécifier Notices / Autorités)
     10800                        $rqt = "ALTER TABLE search_perso ADD search_type varchar(255) not null default 'RECORDS' after search_id";
     10801                        echo traite_rqt($rqt,"ALTER TABLE search_perso ADD search_type") ;
     10802
     10803                        //DG - Nomenclatures : Note pour les instruments non standard en édition de notices
     10804                        $rqt = "ALTER TABLE nomenclature_notices_nomenclatures ADD notice_nomenclature_exotic_instruments_note text not null after notice_nomenclature_families_notes";
     10805                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_notices_nomenclatures ADD notice_nomenclature_exotic_instruments_note ");
     10806
     10807                        //TS - Ajout d'une classe CSS sur les cadres du portail
     10808                        $rqt = "ALTER TABLE cms_cadres ADD cadre_css_class VARCHAR(255) NOT NULL DEFAULT '' AFTER cadre_modcache";
     10809                        echo traite_rqt($rqt,"ALTER TABLE cms_cadres ADD cadre_css_class");
     10810                        //DG - Personnalisables de notices : Ordre pour les champs répétables
     10811                        $rqt = "ALTER TABLE notices_custom_values ADD notices_custom_order int(11) NOT NULL default 0";
     10812                        echo traite_rqt($rqt,"ALTER TABLE notices_custom_values ADD notices_custom_order");
     10813
     10814                        //DG - Personnalisables de auteurs : Ordre pour les champs répétables
     10815                        $rqt = "ALTER TABLE author_custom_values ADD author_custom_order int(11) NOT NULL default 0";
     10816                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD author_custom_order");
     10817
     10818                        //DG - Personnalisables de catégories : Ordre pour les champs répétables
     10819                        $rqt = "ALTER TABLE categ_custom_values ADD categ_custom_order int(11) NOT NULL default 0";
     10820                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD categ_custom_order");
     10821
     10822                        //DG - Personnalisables de éditeurs : Ordre pour les champs répétables
     10823                        $rqt = "ALTER TABLE publisher_custom_values ADD publisher_custom_order int(11) NOT NULL default 0";
     10824                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD publisher_custom_order");
     10825
     10826                        //DG - Personnalisables de collections : Ordre pour les champs répétables
     10827                        $rqt = "ALTER TABLE collection_custom_values ADD collection_custom_order int(11) NOT NULL default 0";
     10828                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD collection_custom_order");
     10829
     10830                        //DG - Personnalisables de sous-collections : Ordre pour les champs répétables
     10831                        $rqt = "ALTER TABLE subcollection_custom_values ADD subcollection_custom_order int(11) NOT NULL default 0";
     10832                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD subcollection_custom_order");
     10833
     10834                        //DG - Personnalisables de titres de séries : Ordre pour les champs répétables
     10835                        $rqt = "ALTER TABLE serie_custom_values ADD serie_custom_order int(11) NOT NULL default 0";
     10836                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD serie_custom_order");
     10837
     10838                        //DG - Personnalisables de titres uniformes : Ordre pour les champs répétables
     10839                        $rqt = "ALTER TABLE tu_custom_values ADD tu_custom_order int(11) NOT NULL default 0";
     10840                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD tu_custom_order");
     10841
     10842                        //DG - Personnalisables d'indexations décimales : Ordre pour les champs répétables
     10843                        $rqt = "ALTER TABLE indexint_custom_values ADD indexint_custom_order int(11) NOT NULL default 0";
     10844                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD indexint_custom_order");
     10845
     10846                        //DG - Personnalisables d'autorités perso : Ordre pour les champs répétables
     10847                        $rqt = "ALTER TABLE authperso_custom_values ADD authperso_custom_order int(11) NOT NULL default 0";
     10848                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD authperso_custom_order");
     10849
     10850                        //DG - Personnalisables du contenu éditorial : Ordre pour les champs répétables
     10851                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD cms_editorial_custom_order int(11) NOT NULL default 0";
     10852                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD cms_editorial_custom_order");
     10853
     10854                        //DG - Personnalisables d'états des collections : Ordre pour les champs répétables
     10855                        $rqt = "ALTER TABLE collstate_custom_values ADD collstate_custom_order int(11) NOT NULL default 0";
     10856                        echo traite_rqt($rqt,"ALTER TABLE collstate_custom_values ADD collstate_custom_order");
     10857
     10858                        //DG - Personnalisables de demandes : Ordre pour les champs répétables
     10859                        $rqt = "ALTER TABLE demandes_custom_values ADD demandes_custom_order int(11) NOT NULL default 0";
     10860                        echo traite_rqt($rqt,"ALTER TABLE demandes_custom_values ADD demandes_custom_order");
     10861
     10862                        //DG - Personnalisables de lecteurs : Ordre pour les champs répétables
     10863                        $rqt = "ALTER TABLE empr_custom_values ADD empr_custom_order int(11) NOT NULL default 0";
     10864                        echo traite_rqt($rqt,"ALTER TABLE empr_custom_values ADD empr_custom_order");
     10865
     10866                        //DG - Personnalisables d'exemplaires : Ordre pour les champs répétables
     10867                        $rqt = "ALTER TABLE expl_custom_values ADD expl_custom_order int(11) NOT NULL default 0";
     10868                        echo traite_rqt($rqt,"ALTER TABLE expl_custom_values ADD expl_custom_order");
     10869
     10870                        //DG - Personnalisables de fiches : Ordre pour les champs répétables
     10871                        $rqt = "ALTER TABLE gestfic0_custom_values ADD gestfic0_custom_order int(11) NOT NULL default 0";
     10872                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD gestfic0_custom_order");
     10873
     10874                        //DG - Personnalisables de prêts : Ordre pour les champs répétables
     10875                        $rqt = "ALTER TABLE pret_custom_values ADD pret_custom_order int(11) NOT NULL default 0";
     10876                        echo traite_rqt($rqt,"ALTER TABLE pret_custom_values ADD pret_custom_order");
     10877
     10878
     10879                        //DG - Paramètre pour afficher ou non le lien de génération d'un flux RSS de la recherche
     10880                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='short_url' "))==0){
     10881                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10882                                        VALUES (0, 'opac', 'short_url', '1', 'Afficher le lien permettant de générer un flux RSS de la recherche ? \n0 : Non 1 : Oui','d_aff_recherche',0)";
     10883                                echo traite_rqt($rqt,"insert opac_short_url=1 into parametres");
     10884                        }
     10885
     10886                        //AR - Les index, c'est pratique...
     10887                        $rqt = "alter table tu_oeuvres_events add index i_toe_oeuvre_event_tu_num(oeuvre_event_tu_num)";
     10888                        echo traite_rqt($rqt,$rqt);
     10889
     10890                        $rqt = "alter table tu_oeuvres_events add index i_toe_oeuvre_event_authperso_authority_num(oeuvre_event_authperso_authority_num)";
     10891                        echo traite_rqt($rqt,$rqt);
     10892
     10893                        $rqt = "alter table notices_titres_uniformes add index i_ntu_ntu_num_tu(ntu_num_tu)";
     10894                        echo traite_rqt($rqt,$rqt);
     10895
     10896                        $rqt = "ALTER TABLE authorities ADD INDEX i_a_num_object_type_object(num_object,type_object)";
     10897                        echo traite_rqt($rqt,$rqt);
     10898
     10899                        $rqt = "ALTER TABLE authorities ADD INDEX i_a_num_statut(num_statut)";
     10900                        echo traite_rqt($rqt,$rqt);
     10901
     10902                        $rqt = "ALTER TABLE titres_uniformes ADD INDEX i_tu_tu_oeuvre_type(tu_oeuvre_type)";
     10903                        echo traite_rqt($rqt,$rqt);
     10904
     10905                        $rqt = "ALTER TABLE titres_uniformes ADD INDEX i_tu_tu_oeuvre_nature(tu_oeuvre_nature)";
     10906                        echo traite_rqt($rqt,$rqt);
     10907
     10908                        // AP & DG - Création de la table de planches d'étiquettes
     10909                        // id_sticks_sheet : Identifiant
     10910                        // sticks_sheet_label : Libellé
     10911                        // sticks_sheet_data : Structure JSON des données de génération
     10912                        // sticks_sheet_order : Ordre
     10913                        $rqt = "create table if not exists sticks_sheets(
     10914                                id_sticks_sheet int unsigned not null auto_increment primary key,
     10915                                sticks_sheet_label varchar(255) not null default '',
     10916                                sticks_sheet_data text not null,
     10917                                sticks_sheet_order int(11) NOT NULL default 0) ";
     10918                        echo traite_rqt($rqt,"create table sticks_sheets");
     10919
     10920                        // AP & DG - Création de la table de seuils de commandes
     10921                        // id_threshold : Identifiant
     10922                        // threshold_label : Libellé
     10923                        // threshold_amount : Montant du seuil
     10924                        // threshold_amount_tax_included : Montant du seuil HT/TTC
     10925                        // threshold_footer : Pied de page Signature
     10926                        // threshold_num_entity : Etablissement associé
     10927                        $rqt = "create table if not exists thresholds(
     10928                                id_threshold int unsigned not null auto_increment primary key,
     10929                                threshold_label varchar(255) not null default '',
     10930                                threshold_amount float NOT NULL DEFAULT 0,
     10931                                threshold_amount_tax_included int(1) NOT NULL DEFAULT 0,
     10932                                threshold_footer text not null,
     10933                                threshold_num_entity int(11) NOT NULL default 0) ";
     10934                        echo traite_rqt($rqt,"create table thresholds");
     10935
     10936                        // DG & AP - Ajout d'un paramètre pour activer la gestion avancées des états des collections
     10937                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='collstate_advanced' "))==0){
     10938                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     10939                                        VALUES (NULL, 'pmb', 'collstate_advanced', '0', 'Activer la gestion avancée des états des collections :\n 0 : non activée \n 1 : activée', '', '0')";
     10940                                echo traite_rqt($rqt,"insert collstate_advanced='0' into parametres ");
     10941                        }
     10942
     10943                        // DG & AP - Création de la table de liaison entre bulletins et états des collections
     10944                        // collstate_bulletins_num_collstate : Identifiant de la collection
     10945                        // collstate_bulletins_num_bulletin : Identifiant du bulletin
     10946                        // collstate_bulletins_order : Ordre
     10947                        $rqt = "create table if not exists collstate_bulletins(
     10948                                collstate_bulletins_num_collstate int(8) not null default 0,
     10949                                collstate_bulletins_num_bulletin int(8) not null default 0,
     10950                                collstate_bulletins_order int(8) NOT NULL default 0,
     10951                                primary key (collstate_bulletins_num_collstate, collstate_bulletins_num_bulletin)) ";
     10952                        echo traite_rqt($rqt,"create table collstate_bulletins");
     10953
     10954                        //DG - OPAC : Personnalisation de la pagination des listes
     10955                        if(pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='items_pagination_custom' "))==0){
     10956                                $rqt = "INSERT INTO parametres ( id_param , type_param , sstype_param , valeur_param , comment_param , section_param , gestion )
     10957                                VALUES (0 , 'opac', 'items_pagination_custom', '25,50,100,200', 'Personnalisation de valeurs numériques supplémentaires dans les listes paginées, séparées par des virgules : 25,50,100,200.', 'a_general', '0')";
     10958                                echo traite_rqt($rqt, "insert opac_items_pagination_custom=25,50,100,200 into parametres");
     10959                        }
     10960
     10961                        //DG - Gestion : Personnalisation de la pagination des listes
     10962                        if(pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='items_pagination_custom' "))==0){
     10963                                $rqt = "INSERT INTO parametres ( id_param , type_param , sstype_param , valeur_param , comment_param , section_param , gestion )
     10964                                VALUES (0 , 'pmb', 'items_pagination_custom', '25,50,100,200', 'Personnalisation de valeurs numériques supplémentaires dans les listes paginées, séparées par des virgules : 25,50,100,200.', '', '0')";
     10965                                echo traite_rqt($rqt, "insert pmb_items_pagination_custom=25,50,100,200 into parametres");
     10966                        }
     10967
     10968                        //DG - Attribution des droits de construction de portail au Super User uniquement
     10969                        $rqt = "update users set rights=rights+1048576 where rights<1048576 and userid=1";
     10970                        echo traite_rqt($rqt, "update users add rights cms_build only for Super User");
     10971
     10972                        //DG - Ajout de l'ordre sur les recherches prédéfinies OPAC
     10973                        $rqt = "ALTER TABLE search_persopac ADD search_order int(11) NOT NULL default 0";
     10974                        echo traite_rqt($rqt,"ALTER TABLE search_persopac ADD search_order") ;
     10975
     10976                        //JP - Message personnalisé sur la page de connexion
     10977                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='login_message' "))==0){
     10978                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     10979                                        VALUES ( 'pmb', 'login_message', '', 'Message à afficher sur la page de connexion','', 0)";
     10980                                echo traite_rqt($rqt,"insert pmb_login_message into parametres");
     10981                        }
     10982
     10983                        //JP - éviter les codes-barre identiques en création d'emprunteur
     10984                        $rqt = "create table if not exists empr_temp (cb varchar( 255 ) NOT NULL ,sess varchar( 12 ) NOT NULL ,UNIQUE (cb))";
     10985                        echo traite_rqt($rqt,"create table  if not exists empr_temp ") ;
     10986
     10987                        //NG - Ajout d'un paramètre utilisateur permettant d'activer la webcam
     10988                        $rqt = "alter table users add deflt_camera_empr int not null default 0";
     10989                        echo traite_rqt($rqt,"alter table users add deflt_camera_empr");
     10990
     10991                        //JP - changement du séparateur des tris de l'opac pour pouvoir utiliser le parse HTML
     10992                        $rqt = "UPDATE parametres SET valeur_param=REPLACE(valeur_param,';','||'), comment_param='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)' WHERE type_param='opac' AND sstype_param='default_sort_list'";
     10993                        echo traite_rqt($rqt,"update value into parametres") ;
     10994
     10995                        //JP - Recherche étendue aux oeuvres sur paramètre
     10996                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='allow_search_into_linked_elements' "))==0){
     10997                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     10998                                        VALUES ( 'pmb', 'allow_search_into_linked_elements', '2', 'Afficher la case à cocher permettant d\'étendre la recherche aux oeuvres ?\n 0 : Non\n 1 : Oui, cochée par défaut\n 2 : Oui, non-cochée par défaut','search', 0)";
     10999                                echo traite_rqt($rqt,"insert pmb_allow_search_into_linked_elements into parametres");
     11000                        }
     11001                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='allow_search_into_linked_elements' "))==0){
     11002                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11003                                        VALUES ( 'opac', 'allow_search_into_linked_elements', '2', 'Afficher la case à cocher permettant d\'étendre la recherche aux oeuvres ?\n 0 : Non\n 1 : Oui, cochée par défaut\n 2 : Oui, non-cochée par défaut','c_recherche', 0)";
     11004                                echo traite_rqt($rqt,"insert opac_allow_search_into_linked_elements into parametres");
     11005                        }
     11006
     11007                        //DG - Typage des avis pour combiner les notices et les articles du contenu éditorial..pour le moment..
     11008                        $rqt = "ALTER TABLE avis ADD type_object mediumint(8) NOT NULL AFTER num_notice";
     11009                        echo traite_rqt($rqt,"ALTER TABLE avis ADD type_object") ;
     11010                        //DG - On affecte les avis existants de type AVIS_RECORDS
     11011                        $rqt = "UPDATE avis set type_object = 1, dateajout = dateajout where type_object = 0";
     11012                        echo traite_rqt($rqt,"UPDATE type_object = 1 FOR records avis") ;
     11013
     11014                        //VT - Ajout de deux éléments dans la table cms_editorial_types (id d'une page et variable d'environnement) permettant de générer un permalink
     11015                        $rqt = "ALTER TABLE cms_editorial_types ADD editorial_type_permalink_num_page int(11) NOT NULL default 0, ADD editorial_type_permalink_var_name varchar(255) not null default ''";
     11016                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_types ADD editorial_type_permalink_num_page, ADD editorial_type_permalink_var_name") ;
     11017
     11018                        //VT - Définition du mode de génération du flux rss de recherche (le paramètre opac_short_url doit être activé)
     11019                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='short_url_mode' "))==0){
     11020                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11021                                        VALUES (0, 'opac', 'short_url_mode', '0', 'Elements générés dans le flux rss de la recherche: \n0 : Nouveautés \n1 : Résultats de la recherche \nPour le mode 1, un nombre de résultats limite peut être ajouté après le mode, il doit être précédé d\'une virgule\nExemple: 1,30\nSi aucune limite n\'est spécifiée, c\'est le paramètre opac_search_results_per_page qui sera pris en compte','d_aff_recherche',0)";
     11022                                echo traite_rqt($rqt,"insert opac_short_url_mode=0 into parametres");
     11023                        }
     11024
     11025                        //VT - Ajout d'un paramètre autorisant la réservation d'une notice sans exemplaire
     11026                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='resa_records_no_expl' "))==0){
     11027                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11028                                VALUES (0, 'pmb', 'resa_records_no_expl', '0', 'Réservation sur les notices \n 0 : Non \n 1 : Oui','',0)";
     11029                                echo traite_rqt($rqt,"insert pmb_resa_records_no_expl=0 into parametres");
     11030                        }
     11031
     11032                        //VT - Création d'une table permettant de stocker les identifiants des emprunteurs ayant suggéré la commande
     11033                        $rqt = "create table if not exists lignes_actes_applicants(
     11034                                ligne_acte_num int not null default 0,
     11035                                empr_num int not null default 0,
     11036                                primary key (ligne_acte_num, empr_num)) ";
     11037                        echo traite_rqt($rqt,"create table lignes_actes_applicants");
     11038
     11039                        //NG - OPAC : Ajout du paramètre activant la déconnexion dans le menu d'accès rapide et désactivant le lien de déconnexion classique
     11040                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='quick_access_logout' "))==0){
     11041                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11042                                VALUES (0, 'opac', 'quick_access_logout', '0', 'Activer le menu de déconnexion dans le sélecteur d\'accès rapide ? \n0 : Non 1 : Oui','a_general',0)";
     11043                                echo traite_rqt($rqt,"insert opac_quick_access_logout into parametres");
     11044                        }
     11045
     11046                        //NG - Ajout du libellé opac des classements de bannettes publiques
     11047                        $rqt = "ALTER TABLE classements ADD classement_opac_name varchar(255) not null default ''";
     11048                        echo traite_rqt($rqt,"ALTER TABLE classements ADD classement_opac_name") ;
     11049
     11050                        //NG - Ajout de l'ordre dans les classements de bannettes publiques
     11051                        $rqt = "ALTER TABLE classements ADD classement_order int NOT NULL default 0";
     11052                        echo traite_rqt($rqt,"ALTER TABLE classements ADD classement_order") ;
     11053
     11054                        //NG - Attribution d'un ordre par défault pour le fonctionnement du tri des classement des classement de bannettes
     11055                        $rqt = "update classements set classement_order=id_classement where (type_classement='BAN' or type_classement='')";
     11056                        echo traite_rqt($rqt, "update classements set classement_order");
     11057
     11058                        //NG - Ajout du paramètre du répertoire et motif d'upload des photos des emprunteurs, dans le motif fourni, !!num_carte!! sera remplacé par le numéro de carte du lecteur.
     11059                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='pics_folder' "))==0){
     11060                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11061                                VALUES (0, 'empr', 'pics_folder', '', 'Répertoire et motif d\'upload des photos des emprunteurs, dans le motif fourni, !!num_carte!! sera remplacé par le numéro de carte du lecteur. \n exemple : ./photos/lecteurs/!!num_carte!!.jpg \n ATTENTION : cohérence avec empr_pics_url à vérifier','',0)";
     11062                                echo traite_rqt($rqt,"insert empr_pics_folder into parametres");
     11063                        }
     11064
     11065                        //NG - Activer la recherche de notices déjà présentes en saisie d'une suggestion d'acquisition
     11066                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='suggestion_search_notice_doublon' "))==0){
     11067                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11068                                        VALUES(0,'opac','suggestion_search_notice_doublon','0','Activer la recherche de notices déjà présentes en saisie d\'une suggestion d\'acquisition\n0 : Désactiver\n1 : Activer\n2 : Activer avec le levenshtein\n    NB : Cette fonction nécessite l\'installation de l\'extension levenshtein dans MySQL','c_recherche',0)" ;
     11069                                echo traite_rqt($rqt,"insert opac_suggestion_search_notice_doublon into parametres") ;
     11070                        }
     11071
     11072                        //TS & NG - Ajout de la notion de propriétaire pour les documents numériques
     11073                        $rqt = "create table if not exists explnum_lenders(
     11074                                explnum_lender_num_explnum int not null default 0,
     11075                                explnum_lender_num_lender int not null default 0,
     11076                                primary key (explnum_lender_num_explnum, explnum_lender_num_lender)) ";
     11077                        echo traite_rqt($rqt,"create table explnum_lenders");
     11078
     11079                        // VT - Ajout d'un paramètre permettant de d'activer/désactiver l'affinage des recherches à l'OPAC
     11080                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_allow_refinement' "))==0){
     11081                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11082                                VALUES ( 'opac', 'search_allow_refinement', '1', 'Afficher le lien \"Affiner la recherche\" en résultat de recherche','c_recherche', 0)";
     11083                                echo traite_rqt($rqt,"insert opac_search_allow_refinement into parametres");
     11084                        }
     11085
     11086                        //DG - Modification du commentaire opac_etagere_notices_format
     11087                        $rqt = "update parametres set comment_param='Format d\'affichage des notices dans les étagères de l\'écran d\'accueil \n 1 : ISBD seul \n 2 : Public seul \n 4 : ISBD et Public \n 8 : 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='etagere_notices_format'" ;
     11088                        echo traite_rqt($rqt,"UPDATE parametres SET comment_param for opac_etagere_notices_format") ;
     11089
     11090                        //DG - Modification du commentaire opac_bannette_notices_format
     11091                        $rqt = "update parametres set comment_param='Format d\'affichage des notices dans les bannettes \n 1 : ISBD seul \n 2 : Public seul \n 4 : ISBD et Public \n 8 : 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='bannette_notices_format'" ;
     11092                        echo traite_rqt($rqt,"UPDATE parametres SET comment_param for opac_bannette_notices_format") ;
     11093
     11094                        // NG - Création de la table mémorisant les groupes de lecteurs abonnés à une bannette
     11095                        // empr_groupe_num_bannette : Identifiant de bannette
     11096                        // empr_groupe_num_groupe : Identifiant de groupe de lecteur
     11097                        $rqt = "create table if not exists bannette_empr_groupes(
     11098                                empr_groupe_num_bannette int unsigned not null default 0,
     11099                                empr_groupe_num_groupe int unsigned not null default 0,
     11100                                PRIMARY KEY (empr_groupe_num_bannette, empr_groupe_num_groupe) )";
     11101                        echo traite_rqt($rqt,"create table bannette_empr_groupes");
     11102
     11103                        // NG - Création de la table mémorisant les catégories de lecteurs abonnés à une bannette
     11104                        // empr_categ_num_bannette : Identifiant de bannette
     11105                        // empr_categ_num_categ : Identifiant de categorie de lecteur
     11106                        $rqt = "create table if not exists bannette_empr_categs(
     11107                                empr_categ_num_bannette int unsigned not null default 0,
     11108                                empr_categ_num_categ int unsigned not null default 0,
     11109                                PRIMARY KEY (empr_categ_num_bannette, empr_categ_num_categ) )";
     11110                        echo traite_rqt($rqt,"create table bannette_empr_categs");
     11111
     11112                        $rqt = "insert into bannette_empr_groupes (empr_groupe_num_bannette, empr_groupe_num_groupe)
     11113                                        select id_bannette, groupe_lecteurs from bannettes where groupe_lecteurs > 0";
     11114                        echo traite_rqt($rqt,"insert into bannette_empr_groupes");
     11115
     11116                        $rqt = "insert into bannette_empr_categs (empr_categ_num_bannette, empr_categ_num_categ)
     11117                                        select id_bannette, categorie_lecteurs from bannettes where categorie_lecteurs > 0";
     11118                        echo traite_rqt($rqt,"insert into bannette_empr_categs");
     11119
     11120                        //Alexandre - Suppression du code pour les articles de périodiques
     11121                        $rqt = "UPDATE notices SET code='',update_date=update_date WHERE niveau_biblio='a'";
     11122                        echo traite_rqt($rqt,"UPDATE notices SET code for niveau_biblio=a");
     11123
     11124                        // TS & NG - Définition de la couleur d'une emprise de localisation
     11125                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_holds_location_color' "))==0){
     11126                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11127                                VALUES ( 'pmb', 'map_holds_location_color', '#D60F0F', 'Couleur des emprises associées à des localisations','map', 0)";
     11128                                echo traite_rqt($rqt,"insert pmb_map_holds_location_color into parametres");
     11129                        }
     11130
     11131                        // TS & NG - Ajout paramètre de la taille de la carte en édition de localisation
     11132                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_location_edition' "))==0){
     11133                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11134                                VALUES ( 'pmb', 'map_size_location_edition', '800*480', 'Taille de la carte en édition de localisation en pixels, L*H, exemple : 800*480','map', 0)";
     11135                                echo traite_rqt($rqt,"insert pmb_map_size_location_edition into parametres");
     11136                        }
     11137
     11138                        // TS & NG - Ajout paramètre de la taille de la carte en visualisation des localisations
     11139                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_location_view' "))==0){
     11140                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11141                                VALUES ( 'pmb', 'map_size_location_view', '800*480', 'Taille de la carte en visualisation des localisations en pixels, L*H, exemple : 800*480','map', 0)";
     11142                                echo traite_rqt($rqt,"insert pmb_map_size_location_view into parametres");
     11143                        }
     11144
     11145                        // TS & NG - Définition de la couleur d'une emprise de localisation
     11146                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_holds_location_color' "))==0){
     11147                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11148                                VALUES ( 'opac', 'map_holds_location_color', '#D60F0F', 'Couleur des emprises associées à des localisations en RVB, exemple : #D60F0F','map', 0)";
     11149                                echo traite_rqt($rqt,"insert opac_map_holds_location_color into parametres");
     11150                        }
     11151
     11152                        // TS & NG - Ajout paramètre de la taille de la carte en visualisation des localisations
     11153                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_location_view' "))==0){
     11154                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11155                                VALUES ( 'opac', 'map_size_location_view', '800*480', 'Taille de la carte en visualisation des localisationsen pixels, L*H, exemple : 800*480','map', 0)";
     11156                                echo traite_rqt($rqt,"insert opac_map_size_location_view into parametres");
     11157                        }
     11158
     11159                        //JP - Templates de bannette pour dsi privées
     11160                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'dsi' and sstype_param='private_bannette_tpl' "))==0){
     11161                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11162                                VALUES ( 'dsi', 'private_bannette_tpl', '0', 'Identifiant du template de bannette à appliquer sur les bannettes privées \nSi vide ou à 0, l\'entête et pied de page par défaut seront utilisés.','', 0)";
     11163                                echo traite_rqt($rqt,"insert dsi_private_bannette_tpl into parametres");
     11164                        }
     11165
     11166                        //VT - Ajout d'un paramètre qui active l'envoi de mail au premier réservataire d'une notice en cas de prolongation du prêt
     11167                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdflettreresa' and sstype_param='resa_prolong_email' "))==0){
     11168                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11169                                VALUES (0, 'pdflettreresa', 'resa_prolong_email', '0', 'Envoi d\'un mail au réservataire de rang 1, dont réservation validée, lorsque le prêt en cours est prolongé \n Non : 0 \n Oui : id_template ','',0)";
     11170                                echo traite_rqt($rqt,"insert pmb_resa_prolong_email=0 into parametres");
     11171                        }
     11172
     11173                        // VT - Ajout d'un paramètre permettant de masquer les +/- dans les listes de résultats à l'opac
     11174                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='recherche_show_expand' "))==0){
     11175                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11176                                VALUES ( 'opac', 'recherche_show_expand', '1', 'Affichage des boutons de dépliage de toutes les notices dans les listes de résultats à l\'OPAC \n0: Boutons non affichés \n1: Boutons affichés','c_recherche', 0)";
     11177                                echo traite_rqt($rqt,"insert opac_recherche_show_expand into parametres");
     11178                        }
     11179
     11180                        //DG - Paramètre Portail : Activer l'onglet Toolkits
     11181                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'cms' and sstype_param='active_toolkits' "))==0){
     11182                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11183                                        VALUES (0, 'cms', 'active_toolkits', '0', 'Activer la possibilité de gérer des toolkits.\n 0: non \n 1:Oui','',0)";
     11184                                echo traite_rqt($rqt,"insert cms_active_toolkits into parametres");
     11185                        }
     11186
     11187                        // DG - Création de la table pour les toolkits d'aide à la construction d'un portail
     11188                        // cms_toolkit_name : Nom du toolkit
     11189                        // cms_toolkit_active : Activé Oui/Non
     11190                        // cms_toolkit_data : Données
     11191                        // cms_toolkit_order : Ordre
     11192                        $rqt = "create table if not exists cms_toolkits(
     11193                                cms_toolkit_name varchar(255) not null default '' primary key,
     11194                                cms_toolkit_active int(1) NOT NULL DEFAULT 0,
     11195                                cms_toolkit_data text not null,
     11196                                cms_toolkit_order int(3) unsigned not null default 0)";
     11197                        echo traite_rqt($rqt,"create table cms_toolkits");
     11198
     11199                        //DG - Ajout de l'ordre sur les recherches prédéfinies Gestion
     11200                        $rqt = "ALTER TABLE search_perso ADD search_order int(11) NOT NULL default 0";
     11201                        echo traite_rqt($rqt,"ALTER TABLE search_perso ADD search_order") ;
     11202
     11203                        //JP - Champs persos sur les documents numériques
     11204                        $rqt = "create table if not exists explnum_custom (
     11205                                idchamp int(10) unsigned NOT NULL auto_increment,
     11206                                num_type int unsigned not null default 0,
     11207                                name varchar(255) NOT NULL default '',
     11208                                titre varchar(255) default NULL,
     11209                                type varchar(10) NOT NULL default 'text',
     11210                                datatype varchar(10) NOT NULL default '',
     11211                                options text,
     11212                                multiple int(11) NOT NULL default 0,
     11213                                obligatoire int(11) NOT NULL default 0,
     11214                                ordre int(11) default NULL,
     11215                                search INT(1) unsigned NOT NULL DEFAULT 0,
     11216                                export INT(1) unsigned NOT NULL DEFAULT 0,
     11217                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     11218                                pond int not null default 100,
     11219                                opac_sort INT NOT NULL DEFAULT 0,
     11220                                comment BLOB NOT NULL default '',
     11221                                PRIMARY KEY  (idchamp)) ";
     11222                        echo traite_rqt($rqt,"create table explnum_custom ");
     11223
     11224                        $rqt = "create table if not exists explnum_custom_lists (
     11225                                explnum_custom_champ int(10) unsigned NOT NULL default 0,
     11226                                explnum_custom_list_value varchar(255) default NULL,
     11227                                explnum_custom_list_lib varchar(255) default NULL,
     11228                                ordre int(11) default NULL,
     11229                                KEY explnum_custom_champ (explnum_custom_champ),
     11230                                KEY explnum_champ_list_value (explnum_custom_champ,explnum_custom_list_value)) " ;
     11231                        echo traite_rqt($rqt,"create table explnum_custom_lists ");
     11232
     11233                        $rqt = "create table if not exists explnum_custom_values (
     11234                                explnum_custom_champ int(10) unsigned NOT NULL default 0,
     11235                                explnum_custom_origine int(10) unsigned NOT NULL default 0,
     11236                                explnum_custom_small_text varchar(255) default NULL,
     11237                                explnum_custom_text text,
     11238                                explnum_custom_integer int(11) default NULL,
     11239                                explnum_custom_date date default NULL,
     11240                                explnum_custom_float float default NULL,
     11241                                explnum_custom_order int(11) NOT NULL default 0,
     11242                                KEY explnum_custom_champ (explnum_custom_champ),
     11243                                KEY i_encv_st (explnum_custom_small_text),
     11244                                KEY i_encv_t (explnum_custom_text(255)),
     11245                                KEY i_encv_i (explnum_custom_integer),
     11246                                KEY i_encv_d (explnum_custom_date),
     11247                                KEY i_encv_f (explnum_custom_float),
     11248                                KEY explnum_custom_origine (explnum_custom_origine)) " ;
     11249                        echo traite_rqt($rqt,"create table explnum_custom_values ");
     11250
     11251                        //JP - paramètre utilisateur : paniers du catalogue dépliés ou non par défaut
     11252                        $rqt = "ALTER TABLE users ADD deflt_catalog_expanded_caddies INT( 1 ) UNSIGNED NOT NULL DEFAULT 1";
     11253                        echo traite_rqt($rqt,"ALTER TABLE users ADD deflt_catalog_expanded_caddies");
     11254                       
     11255                        //JP - Ajout du champ de notice Droit d'usage
     11256                        $rqt = "CREATE TABLE if not exists notice_usage (id_usage INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT , usage_libelle VARCHAR( 255 ) NOT NULL default '', PRIMARY KEY ( id_usage ) , INDEX ( usage_libelle ) ) " ;
     11257                        echo traite_rqt($rqt,"CREATE TABLE notice_usage ");
     11258                        $rqt = "ALTER TABLE notices ADD num_notice_usage INT( 8 ) UNSIGNED DEFAULT 0 NOT NULL ";
     11259                        echo traite_rqt($rqt,"ALTER TABLE notices ADD num_notice_usage ");
     11260
     11261                        // +-------------------------------------------------+
     11262                        echo "</table>";
     11263                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;             
     11264                        $res = pmb_mysql_query($rqt, $dbh) ;
     11265
     11266                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     11267                        $action=$action+$increment;
     11268                        //echo form_relance ("v5.22");
     11269
     11270
     11271       
     11272        //case "v5.22":
     11273                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     11274                        // +-------------------------------------------------+
     11275                                       
     11276                        // DG - Veilles : Option pour filtrer les nouveaux items avec une expression booléènne au niveau de la source
     11277                        $rqt = "ALTER TABLE docwatch_datasources ADD datasource_boolean_expression varchar(255) not null default '' after datasource_clean_html" ;
     11278                        echo traite_rqt($rqt,"ALTER TABLE docwatch_datasources ADD datasource_boolean_expression ");
     11279                               
     11280                        // DG - Veilles : Option pour filtrer les nouveaux items avec une expression booléènne au niveau de la veille
     11281                        $rqt = "ALTER TABLE docwatch_watches ADD watch_boolean_expression varchar(255) not null default ''" ;
     11282                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_boolean_expression ");
     11283                               
     11284                        // DG - Items de veilles : Index sans les mots vides
     11285                        $rqt = "ALTER TABLE docwatch_items ADD item_index_sew mediumtext not null default ''" ;
     11286                        echo traite_rqt($rqt,"ALTER TABLE docwatch_items ADD item_index_sew ");
     11287                               
     11288                        // DG - Items de veilles : Index avec les mots vides
     11289                        $rqt = "ALTER TABLE docwatch_items ADD item_index_wew mediumtext not null default ''" ;
     11290                        echo traite_rqt($rqt,"ALTER TABLE docwatch_items ADD item_index_wew ");
     11291                               
     11292                        // DG - Création d'une table pour stocker le source des sites surveillés
     11293                        // datasource_monitoring_website_num_datasource : Identifiant de la source
     11294                        // datasource_monitoring_website_upload_date : Date du téléchargement
     11295                        // datasource_monitoring_website_content : Contenu
     11296                        // datasource_monitoring_website_content_hash : Hash du contenu
     11297                        $rqt = "create table if not exists docwatch_datasource_monitoring_website(
     11298                                datasource_monitoring_website_num_datasource int(10) unsigned not null default 0 primary key,
     11299                                datasource_monitoring_website_upload_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     11300                                datasource_monitoring_website_content mediumtext not null,
     11301                                datasource_monitoring_website_content_hash varchar(255) not null default '')";
     11302                        echo traite_rqt($rqt,"create table docwatch_datasource_monitoring_website");
     11303                               
     11304                        // TS & AP - Création d'une table de liaison entre SESSID et token (pour les SSO)
     11305                        // sessions_tokens_SESSID : SESSID
     11306                        // sessions_tokens_token : Token
     11307                        // sessions_tokens_type : Information sur l'utilisation du token
     11308                        $rqt = "create table if not exists sessions_tokens(
     11309                                sessions_tokens_SESSID varchar(12) not null default '',
     11310                                sessions_tokens_token varchar(255) NOT NULL default '',
     11311                                sessions_tokens_type varchar(255) NOT NULL default '',
     11312                                primary key (sessions_tokens_SESSID, sessions_tokens_type),
     11313                                index i_st_sessions_tokens_type(sessions_tokens_type),
     11314                                index i_st_sessions_tokens_token(sessions_tokens_token))";
     11315                                        echo traite_rqt($rqt,"create table sessions_tokens");
     11316                                                               
     11317                        // NG - Création de la table des facettes de notices externes
     11318                        $rqt = "CREATE TABLE if not exists facettes_external (
     11319                                id_facette int unsigned auto_increment,
     11320                                facette_name varchar(255) not null default '',
     11321                                facette_critere int(5) not null default 0,
     11322                                facette_ss_critere int(5) not null default 0,
     11323                                facette_nb_result int(2) not null default 0,
     11324                                facette_visible_gestion tinyint(1) not null default 0,
     11325                                facette_visible tinyint(1) not null default 0,
     11326                                facette_type_sort int(1) not null default 0,
     11327                                facette_order_sort int(1) not null default 0,
     11328                                facette_order int not null default 1,
     11329                                facette_limit_plus int not null default 0,
     11330                                facette_opac_views_num text NOT NULL,
     11331                                primary key (id_facette))";
     11332                        echo traite_rqt($rqt,"CREATE TABLE facettes_external");
     11333               
     11334                        // NG - Ajout de la visibilité des facettes en Gestion
     11335                        $rqt = "ALTER TABLE facettes add facette_visible_gestion tinyint(1) not null default 0 AFTER facette_nb_result";
     11336                        echo traite_rqt($rqt,"ALTER TABLE facettes add facette_visible_gestion ");
     11337
     11338                        //AP & TS - Ajout de la notion de fermeture des statuts de demandes de numérisation
     11339                        $rqt = "ALTER TABLE scan_request_status ADD scan_request_status_is_closed int(1) NOT NULL default 0";
     11340                        echo traite_rqt($rqt,"ALTER TABLE scan_request_status ADD scan_request_status_is_closed");
     11341
     11342                        // NG - Suppression de la table tu_oeuvres_others_links
     11343                        $rqt ="drop table if exists tu_oeuvres_others_links";
     11344                        echo traite_rqt($rqt,"drop table tu_oeuvres_others_links");
     11345
     11346                        // NG - Suppression de la table tu_oeuvres_expressions
     11347                        $rqt ="drop table if exists tu_oeuvres_expressions";
     11348                        echo traite_rqt($rqt,"drop table tu_oeuvres_expressions");
     11349
     11350                        // NG - Ajoute index scan_request_status_workflow
     11351                        $rqt ="alter table scan_request_status_workflow add primary key (scan_request_status_workflow_from_num, scan_request_status_workflow_to_num)";
     11352                        echo traite_rqt($rqt,"alter table scan_request_status_workflow add primary key");
     11353
     11354                        // NG - Ajoute index tu_oeuvres_links
     11355                        $rqt ="alter table tu_oeuvres_links add primary key (oeuvre_link_from, oeuvre_link_to, oeuvre_link_type, oeuvre_link_expression, oeuvre_link_other_link)";
     11356                        echo traite_rqt($rqt,"alter table tu_oeuvres_links add primary key");
     11357
     11358                        //DG - Parametre du template d'affichage des notices pour le comparateur.
     11359                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='compare_notice_active' "))==0){
     11360                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion) VALUES ('pmb','compare_notice_active',1,'Activer le comparateur de notices','',0)";
     11361                                echo traite_rqt($rqt,"insert pmb_compare_notice_active into parametres");
     11362                        }
     11363
     11364                        // NG - Ajout d'un paramètre mémorisant le décompte préféré à un type de demande
     11365                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'acquisition' and sstype_param='request_type_pref_account' "))==0){
     11366                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     11367                                        VALUES (0, 'acquisition', 'request_type_pref_account', '', '1', 'Mémorise le décompte préféré à un type de demande') ";
     11368                                echo traite_rqt($rqt,"INSERT acquisition_request_type_pref_account INTO parametres") ;
     11369                        }
     11370                                                                                       
     11371                        //Alexandre - Préremplissage du prix des exemplaires avec le prix indiqué en notice
     11372                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='prefill_prix' "))==0){
     11373                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11374                                        VALUES (0, 'pmb', 'prefill_prix', '0', 'Préremplissage du prix des exemplaires avec le prix indiqué en notice ? \n 0 : Non \n 1 : Oui', '',0) ";
     11375                                echo traite_rqt($rqt, "insert pmb_prefill_prix=0 into parametres");
     11376                        }
     11377
     11378                        // NG - Modification des commentaires des paramètres de géolocalisation
     11379                        $rqt = "UPDATE parametres SET comment_param = 'Activation de la géolocalisation:\n 0 : Non \n 1 : Pour toutes les cartes \n 2 : Seulement pour les cartes de notices \n 3 : Seulement pour les cartes de localisation des exemplaires'
     11380                                        WHERE type_param= 'opac' and sstype_param='map_activate' ";
     11381                        echo traite_rqt($rqt,"UPDATE comment_param of opac_map_activate");
     11382                               
     11383                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en visualisation de notice. En pixels ou en pourcentage. Exemple : 100%*480px'
     11384                                        WHERE type_param= 'opac' and sstype_param='map_size_notice_view' ";
     11385                        echo traite_rqt($rqt,"UPDATE comment_param of opac_map_size_notice_view");
     11386                               
     11387                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en saisie de recherche. En pixels ou en pourcentage. Exemple : 100%*480px'
     11388                                        WHERE type_param= 'opac' and sstype_param='map_size_search_edition' ";
     11389                        echo traite_rqt($rqt,"UPDATE comment_param of opac_map_size_search_edition");
     11390                               
     11391                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en résultat de recherche. En pixels ou en pourcentage. Exemple : 100%*480px'
     11392                                        WHERE type_param= 'opac' and sstype_param='map_size_search_result' ";
     11393                        echo traite_rqt($rqt,"UPDATE comment_param of opac_map_size_search_result");
     11394                               
     11395                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en édition de notice. En pixels ou en pourcentage. Exemple : 100%*480px'
     11396                                        WHERE type_param= 'pmb' and sstype_param='map_size_notice_edition' ";
     11397                        echo traite_rqt($rqt,"UPDATE comment_param of pmb_map_size_notice_edition");
     11398                               
     11399                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en visualisation de notice. En pixels ou en pourcentage. Exemple : 100%*480px'
     11400                                        WHERE type_param= 'pmb' and sstype_param='map_size_notice_view' ";
     11401                        echo traite_rqt($rqt,"UPDATE comment_param of pmb_map_size_notice_view");
     11402                               
     11403                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en saisie de recherche. En pixels ou en pourcentage. Exemple : 100%*480px'
     11404                                        WHERE type_param= 'pmb' and sstype_param='map_size_search_edition' ";
     11405                        echo traite_rqt($rqt,"UPDATE comment_param of pmb_map_size_search_edition");
     11406                               
     11407                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en résultat de recherche. En pixels ou en pourcentage. Exemple : 100%*480px'
     11408                                        WHERE type_param= 'pmb' and sstype_param='map_size_search_result' ";
     11409                        echo traite_rqt($rqt,"UPDATE comment_param of pmb_map_size_search_result");
     11410                               
     11411                        // TS & NG - Définition de la couleur d'une emprise de sur-localisation
     11412                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_holds_sur_location_color' "))==0){
     11413                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11414                                        VALUES ( 'opac', 'map_holds_sur_location_color', '#D60F0F', 'Couleur des emprises associées à des sur-localisations','map', 0)";
     11415                                echo traite_rqt($rqt,"insert opac_map_holds_sur_location_color into parametres");
     11416                        }
     11417                               
     11418                        // TS & NG - Ajout paramètre de la taille de la carte des localisations dans les facettes
     11419                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_location_facette' "))==0){
     11420                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11421                                        VALUES ( 'opac', 'map_size_location_facette', '100%*200px', 'Taille de la carte des localisations dans les facettes. En pixels ou en pourcentage. Exemple : 100%*200px','map', 0)";
     11422                                echo traite_rqt($rqt,"insert opac_map_size_location_facette into parametres");
     11423                        }
     11424                               
     11425                        // TS & NG - Ajout paramètre de la taille de la carte des localisations dans la page d'accueil de l'Opac
     11426                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_location_home_page' "))==0){
     11427                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11428                                        VALUES ( 'opac', 'map_size_location_home_page', '100%*200px', 'Taille de la carte des localisations dans la page d\'accueil de l\'Opac. En pixels ou en pourcentage. Exemple : 100%*480px','map', 0)";
     11429                                echo traite_rqt($rqt,"insert opac_map_size_location_home_page");
     11430                        }
     11431
     11432                        // NG - Paramètre d'activation de la localisation d'une demande de numérisation
     11433                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='scan_request_location_activate' "))==0){
     11434                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion) VALUES ('pmb','scan_request_location_activate',0,'Activer la localisation d\'une demande de numérisation','',0)";
     11435                                echo traite_rqt($rqt,"insert pmb_scan_request_location_activate into parametres");
     11436                        }
     11437
     11438                        // NG - Ajout de la localisation d'une demande de numérisation
     11439                        $rqt = "ALTER TABLE scan_requests ADD scan_request_num_location INT UNSIGNED NOT NULL DEFAULT 0";
     11440                        echo traite_rqt($rqt,"ALTER TABLE scan_requests ADD scan_request_num_location");
     11441                               
     11442                        // JP - Pouvoir cacher les documents numériques dans les options d'impression des paniers à l'opac
     11443                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='print_explnum' "))==0){
     11444                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11445                                        VALUES (0, 'opac', 'print_explnum', '1', 'Activer la possibilité d\'imprimer les documents numériques.\n 0: non \n 1: oui','h_cart',0)";
     11446                                echo traite_rqt($rqt,"insert opac_print_explnum into parametres");
     11447                        }
     11448
     11449                        // AR - Permettre de masquer les premières pages affichées par défaut dans les listes d'autorités (Onglet autorités et popup de sélection)
     11450                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='allow_authorities_first_page' "))==0){
     11451                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11452                                                VALUES (0, 'pmb', 'allow_authorities_first_page', '1', 'Active ou non l\'affichage par défaut la première page d\'une liste d\'autorité lorsque l\'on arrive en sélection dans un popup.\n 0: non \n 1:Oui','',0)";
     11453                                echo traite_rqt($rqt,"insert pmb_allow_authorities_first_page into parametres");
     11454                        }
     11455                               
     11456                        // NG - Autoriser le prêt d'un exemplaire déjà prêté
     11457                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='pret_already_borrowed' "))==0){
     11458                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11459                                                VALUES (0, 'pmb', 'pret_already_borrowed', '0', 'Autoriser le prêt d\'un exemplaire déjà prêté.\n 0: non \n 1:Oui','',0)";
     11460                                echo traite_rqt($rqt,"insert pmb_pret_already_borrowed into parametres");
     11461                        }
     11462                               
     11463                        // NG - Ajout préférences utilisateur en créattion d'une fiche lecteur
     11464                        $rqt = "ALTER TABLE users ADD deflt_empr_categ INT UNSIGNED DEFAULT 1 NOT NULL AFTER deflt_empr_statut ";
     11465                        echo traite_rqt($rqt, "add deflt_empr_categ in table users");
     11466                        $rqt = "ALTER TABLE users ADD deflt_empr_codestat INT UNSIGNED DEFAULT 1 NOT NULL AFTER deflt_empr_categ ";
     11467                        echo traite_rqt($rqt, "add deflt_empr_codestat in table users");
     11468                                                                                       
     11469
     11470                        // +-------------------------------------------------+
     11471                        echo "</table>";
     11472                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     11473                        $res = pmb_mysql_query($rqt, $dbh) ;
     11474
     11475                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     11476                        $action=$action+$increment;
     11477                        //echo form_relance ("v5.23");
     11478               
     11479        //case "v5.23":
     11480                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     11481                        // +-------------------------------------------------+
     11482                       
     11483                        // DG/JP - ajout des paramètres d'export pour les notices liées horizontales
     11484                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'exportparam' and sstype_param='export_horizontale' "))==0){
     11485                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11486                                        VALUES (NULL, 'exportparam', 'export_horizontale', '0', 'Lien vers les notices liées horizontales', '', '1')";
     11487                                echo traite_rqt($rqt,"insert exportparam_export_horizontale='0' into parametres ");
     11488                        }
     11489                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'exportparam' and sstype_param='export_notice_horizontale_link' "))==0){
     11490                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11491                                        VALUES (NULL, 'exportparam', 'export_notice_horizontale_link', '0', 'Exporter les notices liées horizontales', '', '1')";
     11492                                echo traite_rqt($rqt,"insert exportparam_export_notice_horizontale_link='0' into parametres ");
     11493                        }
     11494                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='exp_export_horizontale' "))==0){
     11495                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11496                                        VALUES (NULL, 'opac', 'exp_export_horizontale', '0', 'Lien vers les notices liées horizontales', '', '1')";
     11497                                echo traite_rqt($rqt,"insert opac_exp_export_horizontale='0' into parametres ");
     11498                        }
     11499                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='exp_export_notice_horizontale_link' "))==0){
     11500                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11501                                        VALUES (NULL, 'opac', 'exp_export_notice_horizontale_link', '0', 'Exporter les notices liées horizontales', '', '1')";
     11502                                echo traite_rqt($rqt,"insert opac_exp_export_notice_horizontale_link='0' into parametres ");
     11503                        }
     11504                        // DG/JP - mise à jour de la table notices_relations
     11505                        if (pmb_mysql_num_rows(pmb_mysql_query("show columns from notices_relations like 'id_notices_relations'"))==0) {
     11506                                $rqt = " select 1 " ;
     11507                                echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ FAIRE UN NETTOYAGE DE BASE (APRES ETAPES DE MISE A JOUR) / YOU MUST DO A DATABASE CLEANUP (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
     11508                        }                       
     11509                        // AR - Activer les ontologies génériques et l'onglet sémantique
     11510                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'semantic' and sstype_param='active' "))==0){
     11511                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11512                                                                VALUES (0, 'semantic', 'active', '0', 'Module \"Sémantique\" activé.\n 0: non \n 1:Oui','',0)";
     11513                                echo traite_rqt($rqt,"insert semantic_active into parametres");
     11514                        }
     11515
     11516                        // NG - Activer le focus sur le champ de recherche a l'opac
     11517                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='focus_user_query' "))==0){
     11518                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11519                                                VALUES (0, 'opac', 'focus_user_query', '1', 'Activer le focus sur le champ de recherche.\n 0: non \n 1:Oui','c_recherche',0)";
     11520                                echo traite_rqt($rqt,"insert opac_focus_user_query into parametres");
     11521                        }
     11522                       
     11523                        //NG - Parametre pour afficher dans tous les cas la source et la destination en édition de transfert
     11524                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='edition_show_all_colls' "))==0){
     11525                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     11526                                        VALUES (0, 'transferts', 'edition_show_all_colls', '0', '1', 'Afficher dans tous les cas la source et la destination en édition de transfert') ";
     11527                                echo traite_rqt($rqt,"INSERT transferts_edition_show_all_colls INTO parametres") ;
     11528                        }
     11529                       
     11530                        //JP - Ajout d'index sur la table catégories
     11531                        $rqt = "alter table categories drop index i_num_thesaurus";
     11532                        echo traite_rqt($rqt,"alter table categories drop index i_num_thesaurus");
     11533                        $rqt = "alter table categories add index i_num_thesaurus(num_thesaurus)";
     11534                        echo traite_rqt($rqt,"alter table categories add index i_num_thesaurus");
     11535
     11536                        ///JP - Nombre de notices diffusées pour dsi privées
     11537                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'dsi' and sstype_param='private_bannette_nb_notices' "))==0){
     11538                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11539                                        VALUES ( 'dsi', 'private_bannette_nb_notices', '30', 'Nombre maximum par défaut de notices diffusées dans les bannettes privées.','', 0)";
     11540                                echo traite_rqt($rqt,"insert dsi_private_bannette_nb_notices into parametres");
     11541                        }
     11542                               
     11543                        // AP-VT - Paramètre d'activation des graphes côté gestion
     11544                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='entity_graph_activate' "))==0){
     11545                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11546                                                VALUES (0, 'pmb', 'entity_graph_activate', '1', 'Active ou non le graphe des entités PMB.\n 0: Non \n 1: Oui','',0)";
     11547                                echo traite_rqt($rqt,"insert pmb_entity_graph_activate into parametres");
     11548                        }
     11549                               
     11550                        // AP-VT - Définition du niveau de récursion affiché par défaut dans le graphe
     11551                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='entity_graph_recursion_lvl' "))==0){
     11552                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11553                                                VALUES (0, 'pmb', 'entity_graph_recursion_lvl', '1', 'Valeur numérique définissant le niveau de profondeur du graphe.','',0)";
     11554                                echo traite_rqt($rqt,"insert pmb_entity_graph_recursion_lvl into parametres");
     11555                        }
     11556                               
     11557                        // NG - VT - Création du paramètre d'activation des espaces de contribution en gestion
     11558                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contribution_area_activate' "))==0){
     11559                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11560                VALUES (NULL, 'pmb', 'contribution_area_activate', '0', 'Espace de contribution actif: \r\n0: Non\r\n1: Oui', '', '0')";
     11561                                echo traite_rqt($rqt,"insert pmb_contribution_area_activate=0 into parametres ");
     11562                        }
     11563                       
     11564                        // AP & TS - Création d'un paramètre permettant d'activer l'espace de contribution à l'OPAC
     11565                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='contribution_area_activate' "))==0){
     11566                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11567                                VALUES ( 'opac', 'contribution_area_activate', '0', 'Espace de contribution actif ? \n0 : Non\n1 : Oui\n','f_modules', 0)";
     11568                                echo traite_rqt($rqt,"insert opac_contribution_area_activate=0 into parametres");
     11569                        }
     11570                               
     11571                        // NG - VT Création de la table des espaces de contribution
     11572                        // id_area: identifiant de l'espace de contribution
     11573                        // area_title: nom de l'espace de contribution
     11574                        // area_comment : Commentaire associé à l'espace de contribution
     11575                        // area_color : Couleur associée à l'espace de contribution
     11576                        // area_order : Ordre associé à l'espace de contribution
     11577                        $rqt="create table if not exists contribution_area_areas(
     11578                                id_area int unsigned not null auto_increment primary key,
     11579                                area_title varchar(255) not null default '',
     11580                                area_comment text not null,
     11581                                area_color varchar(10) not null default '',
     11582                                area_order int(5) not null default 0
     11583                        )";
     11584                        echo traite_rqt($rqt, "create table contribution_area_areas");
     11585               
     11586                        // AR - VT Création de la table des formulaires de contribution
     11587                        // id_form: Identifiant du formulaire
     11588                        // form_title: Nom du formulaire
     11589                        // form_type: type d'entité que représente le formulaire (notice, auteur, categ etc...)
     11590                        // form_status : statut du formulaire
     11591                        // form_parameters: structure JSON contenant le paramétrage spécifique du formulaire (champs affichés, label choisis etc..)
     11592                        $rqt="create table if not exists contribution_area_forms(
     11593                                id_form int unsigned not null auto_increment primary key,
     11594                                form_title varchar(255) not null default '',
     11595                                form_type varchar(255) not null default '',
     11596                                form_status int(3) unsigned NOT NULL DEFAULT 1,
     11597                                form_parameters blob not null
     11598                        )";
     11599                        echo traite_rqt($rqt, "create table contribution_area_forms");
     11600                       
     11601                        //AP & TS - paramétrages des droits d'accès sur les espaces de contribution
     11602                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'gestion_acces' and sstype_param='empr_contribution' "))==0){
     11603                        $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     11604                                        VALUES ('gestion_acces','empr_contribution',0,'Gestion des droits d\'accès des emprunteurs aux espaces de contribution\n0 : Non.\n1 : Oui.','',0)";
     11605                                echo traite_rqt($rqt,"insert gestion_acces_empr_contribution=0 into parametres");
     11606                        }
     11607                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'gestion_acces' and sstype_param='empr_contribution_def' "))==0){
     11608                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     11609                                        VALUES ('gestion_acces','empr_contribution_def',0,'Valeur par défaut en modification d\'espaces de contribution pour les droits d\'accès emprunteurs - espaces de contribution \n0 : Recalculer.\n1 : Choisir.','',0)";
     11610                                echo traite_rqt($rqt,"insert gestion_acces_empr_contribution_def=0 into parametres");
     11611                        }
     11612               
     11613                        //AP & TS - Création de la table des status des espaces de contribution
     11614                        //contribution_area_status_id : identifiant du statut
     11615                        //contribution_area_status_gestion_libelle : libellé du statut en gestion
     11616                        //contribution_area_status_opac_libelle : libellé du statut en OPAC
     11617                        //contribution_area_status_class_html : classe HTML du statut
     11618                        //contribution_area_status_available_for : Définit les types d'entités PMB pour lesquelles un statut est disponible
     11619                        $rqt="create table if not exists contribution_area_status(
     11620                        contribution_area_status_id int unsigned not null auto_increment primary key,
     11621                                contribution_area_status_gestion_libelle varchar(255) not null default '',
     11622                                contribution_area_status_opac_libelle varchar(255) not null default '',
     11623                                contribution_area_status_class_html varchar(255) not null default '',
     11624                                contribution_area_status_available_for text default null
     11625                        )";
     11626                        echo traite_rqt($rqt, "create table contribution_area_status");
     11627                               
     11628                        // AP & TS - Statut par défaut pour la contribution
     11629                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from contribution_area_status where contribution_area_status_id ='1' "))==0) {
     11630                                $rqt = 'INSERT INTO contribution_area_status (contribution_area_status_id, contribution_area_status_gestion_libelle, contribution_area_status_opac_libelle, contribution_area_status_class_html, contribution_area_status_available_for) VALUES (1,"Statut par défaut", "Statut par défaut", "statutnot1","'.addslashes('a:10:{i:0;s:6:"record";i:1;s:6:"author";i:2;s:8:"category";i:3;s:9:"publisher";i:4;s:10:"collection";i:5;s:14:"sub_collection";i:6;s:5:"serie";i:7;s:4:"work";i:8;s:8:"indexint";i:9;s:7:"concept";}').'")';
     11631                                echo traite_rqt($rqt,"insert default contribution_area_status");
     11632                        }
     11633                               
     11634                        //NG & TS - Création de la table des equations de recherches pour les sélecteurs de ressource dans les formulaires de contribution
     11635                        //contribution_area_equation_id : identifiant de l'equation
     11636                        //contribution_area_equation_name : libellé de l'equation
     11637                        //contribution_area_equation_type : type de l'equation
     11638                        //contribution_area_equation_query : requete de recherche de l'equation
     11639                        //contribution_area_equation_human_query : requete comprehensible
     11640                        $rqt="create table if not exists contribution_area_equations(
     11641                        contribution_area_equation_id int unsigned not null auto_increment primary key,
     11642                                contribution_area_equation_name varchar(255) not null default '',
     11643                                contribution_area_equation_type varchar(255) not null default '',
     11644                                contribution_area_equation_query text not null,
     11645                                contribution_area_equation_human_query text not null
     11646                        )";
     11647                        echo traite_rqt($rqt, "create table contribution_area_equations");
     11648               
     11649                        // AP - Activer les statistiques de fréquentation
     11650                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param='empr' and sstype_param='visits_statistics_active' "))==0){
     11651                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11652                                                VALUES (0, 'empr', 'visits_statistics_active', '0', 'Activer les statistiques de fréquentation.\n 0 : Non \n 1 : Oui','',0)";
     11653                                echo traite_rqt($rqt,"insert empr_visits_statistics_active=0 into parametres");
     11654                        }
     11655               
     11656                        // AP - Création d'une table pour stocker les statistiques de fréquentation
     11657                        // visits_statistics_date : Date
     11658                        // visits_statistics_location : Localisation
     11659                        // visits_statistics_type : Type de service
     11660                        // visits_statistics_value : Valeur
     11661                        $rqt = "CREATE TABLE if not exists visits_statistics (
     11662                        visits_statistics_date DATE NOT NULL default '0000-00-00',
     11663                        visits_statistics_location SMALLINT(5) UNSIGNED NOT NULL default 0,
     11664                                        visits_statistics_type VARCHAR(255) NOT NULL default '',
     11665                                        visits_statistics_value INT UNSIGNED NOT NULL default 0,
     11666                                        primary key (visits_statistics_date, visits_statistics_location, visits_statistics_type)
     11667                        )";
     11668                        echo traite_rqt($rqt,"CREATE TABLE visits_statistics ") ;
     11669                       
     11670                        // AP - Ajout d'une colonne de signature dans la table de documents numériques
     11671                                                // Attention, chez certain client, cette opération peut prendre beaucoup de temps et mener à un timeout
     11672                        if (pmb_mysql_num_rows(pmb_mysql_query("show columns from explnum like 'explnum_signature'")) == 0){
     11673                        $info_message = "<font color=\"#FF0000\">ATTENTION</font> si vous avez beaucoup de documents numériques, la prochaine opération peut prendre du temps et nécessiter une nouvelle mise à jour de base !";
     11674                                echo "<tr><td><font size='1'>".($charset == "utf-8" ? utf8_encode($info_message) : $info_message)."</font></td><td></td></tr>";
     11675                        flush();
     11676                                ob_flush();
     11677                       
     11678                                $rqt = "ALTER TABLE explnum ADD explnum_signature varchar(255) not null default ''";
     11679                                echo traite_rqt($rqt,"alter table explnum add explnum_signature");
     11680                        }
     11681                       
     11682                        // TS - VT // Ajout d'un parametre caché contenant le nom d'utilisateur du webservice associé à la contribution OPAC
     11683                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contribution_ws_username' "))==0){
     11684                                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     11685                                        VALUES ('pmb','contribution_ws_username','','Paramètre caché contenant le nom d\'utilisateur du ws','',1)";
     11686                                echo traite_rqt($rqt,"insert pmb_contribution_ws_username='' into parametres");
     11687                        }
     11688               
     11689                        // TS - VT // Ajout d'un parametre caché contenant le mot de passe de l'utilisateur du ws associé à la contribution OPAC
     11690                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contribution_ws_password' "))==0){
     11691                                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     11692                                        VALUES ('pmb','contribution_ws_password','','Paramètre caché contenant le mot de passe de l\'utilisateur du ws','',1)";
     11693                                echo traite_rqt($rqt,"insert pmb_contribution_ws_password='' into parametres");
     11694                        }
     11695               
     11696                        // TS - VT // Ajout d'un parametre caché contenant l'url du webservice associé à la contribution OPAC
     11697                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contribution_ws_url' "))==0){
     11698                                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     11699                                        VALUES ('pmb','contribution_ws_url','','Paramètre caché contenant l\'url du ws','',1)";
     11700                                echo traite_rqt($rqt,"insert pmb_contribution_ws_url='' into parametres");
     11701                        }
     11702               
     11703                        // AP - Paramètre de contrôle des doublons de documents numériques
     11704                                                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='explnum_controle_doublons' "))==0){
     11705                                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11706                                VALUES (0, 'pmb', 'explnum_controle_doublons', '0', 'Contrôle sur les doublons de documents numérique.\n 0 : Aucun dédoublonnage\n 1 : Dédoublonnage sur le contenu des documents numériques','',0)";
     11707                                echo traite_rqt($rqt,"insert pmb_explnum_controle_doublons=0 into parametres");
     11708                        }
     11709               
     11710                        // VT & DG - Paramètre de transfert de panier anonyme
     11711                                                // 0 : Non
     11712                                                // 1 : Sur demande
     11713                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='integrate_anonymous_cart' "))==0){
     11714                                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11715                                VALUES (0, 'opac', 'integrate_anonymous_cart', '1', 'Proposer le transfert des éléments du panier lors de l\'authentification.\n 0 : Non\n 1 : Sur demande','h_cart',0)";
     11716                                echo traite_rqt($rqt,"insert opac_integrate_anonymous_cart=1 into parametres");
     11717                        }
     11718               
     11719                        // DG - VT Activer l'autocompletion lecteur sur l'impression de recherche à l'opac
     11720                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param='opac' and sstype_param='print_email_autocomplete' "))==0){
     11721                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11722                                VALUES (0, 'opac', 'print_email_autocomplete', '0', 'Autoriser la complétion de l\'adresse mail sur le formulaire d\'impression de recherche\n 0 : Non \n 1 : Seulement pour les lecteurs connectés \n 2 : Pour tous les lecteurs', 'a_general', '0')";
     11723                                echo traite_rqt($rqt,"insert opac_print_email_autocomplete='0' into parametres ");
     11724                        }
     11725                               
     11726                        ///JP - Affichage simplifié du panier OPAC
     11727                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='simplified_cart' "))==0){
     11728                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     11729                                        VALUES ( 'opac', 'simplified_cart', '0', 'Affichage simplifié du panier.\n 0 : non \n 1 : oui','h_cart', 0)";
     11730                                echo traite_rqt($rqt,"insert opac_simplified_cart=0 into parametres");
     11731                        }
     11732                       
     11733                        //JP - Prix de l'exemplaire dans le paramétrage de l'abonnement
     11734                        $rqt = "ALTER TABLE abts_abts ADD prix varchar(255) NOT NULL DEFAULT ''";
     11735                        echo traite_rqt($rqt,"ALTER TABLE abts_abts ADD prix");
     11736                       
     11737                        //JP - Envoi d'email dans les demandes de numérisation (paramètre invisible)
     11738                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='scan_request_send_mail_status' "))==0){
     11739                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     11740                                VALUES (0, 'opac', 'scan_request_send_mail_status', '', 'Envoi d\'email au destinataire sur passage de la demande à ces statuts','a_general',1)";
     11741                                echo traite_rqt($rqt,"insert opac_scan_request_send_mail_status='' into parametres");
     11742                        }                       
     11743                       
     11744                        //JP - Bloquer les prêts dès qu'un lecteur est en retard
     11745                        $rqt = "update parametres set comment_param='Délai à partir duquel le retard est pris en compte pour le blocage\n 0 : dès qu\'un prêt est en retard\n N : au bout de N jours de retard' where type_param= 'pmb' and sstype_param='blocage_delai' ";
     11746                        echo traite_rqt($rqt,"update blocage_delai into parametres");
     11747                        $rqt = "update parametres set comment_param='Nombre maximum de jours bloqués\n 0 : pas de limite\n N : maxi N\n -1 : blocage levé dès qu\'il n\'y a plus de retard' where type_param= 'pmb' and sstype_param='blocage_max' ";
     11748                        echo traite_rqt($rqt,"update blocage_max into parametres");
     11749                       
     11750                        //JP - Ajout d'index sur la table es_searchcache
     11751                        $rqt = "alter table es_searchcache drop index i_es_searchcache_date";
     11752                        echo traite_rqt($rqt,"alter table es_searchcache drop index i_es_searchcache_date");
     11753                        $rqt = "alter table es_searchcache add index i_es_searchcache_date(es_searchcache_date)";
     11754                        echo traite_rqt($rqt,"alter table es_searchcache add index i_es_searchcache_date");
     11755                               
     11756                        //JP - Lien vers la documentation des fonctions de parse HTML dans les paramètres
     11757                        $rqt = "update parametres set comment_param=CONCAT(comment_param,'\n<a href=\'".$base_path."/includes/interpreter/doc?group=inhtml\' target=\'_blank\'>Consulter la liste des fonctions disponibles</a>') where type_param= 'opac' and sstype_param='parse_html' ";
     11758                        echo traite_rqt($rqt,"update parse_html into parametres");
     11759                       
     11760                        //MB - Ajout d'index sur la table es_cache_blob
     11761                        $req="SHOW INDEX FROM es_cache_blob WHERE key_name LIKE 'i_es_cache_expirationdate'";
     11762                        $res=pmb_mysql_query($req);
     11763                        if($res && (pmb_mysql_num_rows($res) == 0)){
     11764                                $rqt = "alter table es_cache_blob add index i_es_cache_expirationdate(es_cache_expirationdate)";
     11765                                echo traite_rqt($rqt,"alter table es_cache_blob add index i_es_cache_expirationdate");
     11766                        }
     11767                       
     11768                        //JP - filtres de relances personnalisables
     11769                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='filter_relance_rows' "))==0){
     11770                                $rqt = "INSERT INTO parametres (type_param, sstype_param, valeur_param,comment_param, section_param, gestion) VALUES ('empr','filter_relance_rows', 'g,cs', 'Critères de filtrage ajoutés aux critères existants pour les relances à faire, saisir les critères séparés par des virgules.\nLes critères disponibles correspondent à l\'attribut value du fichier substituable empr_list.xml', '','0')";
     11771                                echo traite_rqt($rqt,"insert empr_filter_relance_rows into parametres");
     11772                        }
     11773                               
     11774                        //TS & DG - Liste des pages FRBR
     11775                        // id_page : Identifiant de la page
     11776                        // page_name : Libellé de la page
     11777                        // page_comment : Description de la page
     11778                        // page_entity : Quelle page d'entité ?
     11779                        // page_parameters : Paramètres
     11780                        // page_opac_views : Vues OPAC
     11781                        $rqt="create table if not exists frbr_pages (
     11782                    id_page int unsigned not null auto_increment primary key,
     11783                    page_name varchar(255) not null default '',
     11784                                page_comment text not null,
     11785                    page_entity varchar(255) not null default '',
     11786                                page_parameters text not null,
     11787                            page_opac_views varchar(255) not null default ''
     11788                        )";
     11789                        echo traite_rqt($rqt,"create table frbr_pages");
     11790                               
     11791                        //TS & DG - Liste des données FRBR
     11792                        // id_datanode : Identifiant du noeud
     11793                        // datanode_name : Libellé
     11794                        // datanode_comment : Description
     11795                        // datanode_object : Classe PHP
     11796                        // datanode_num_page : Page associée
     11797                        // datanode_num_parent : Noeud de données parent
     11798                        $rqt="create table if not exists frbr_datanodes (
     11799                    id_datanode int unsigned not null auto_increment primary key,
     11800                    datanode_name varchar(255) not null default '',
     11801                                datanode_comment text not null,
     11802                                datanode_object varchar(255) not null default '',
     11803                                datanode_num_page int unsigned not null default 0,
     11804                                datanode_num_parent int unsigned not null default 0
     11805                )";
     11806                        echo traite_rqt($rqt,"create table frbr_datanodes");
     11807                               
     11808                        //TS & DG - Liste des données FRBR
     11809                        // id_datanode_content : Identifiant d'un élément du noeud
     11810                        // datanode_content_type : Type (datasource, filter, etc..)
     11811                        // datanode_content_object : Classe PHP
     11812                        // datanode_content_num_datanode : Identifiant du noeud associé
     11813                        // datanode_content_data : Données
     11814                        $rqt="create table if not exists frbr_datanodes_content (
     11815                    id_datanode_content int unsigned not null auto_increment primary key,
     11816                    datanode_content_type varchar(255) not null default '',
     11817                                datanode_content_object varchar(255) not null default '',
     11818                                datanode_content_num_datanode int unsigned not null default 0,
     11819                                datanode_content_data text not null
     11820                )";
     11821                        echo traite_rqt($rqt,"create table frbr_datanodes_content");
     11822               
     11823                        //TS & DG - Liste des cadres FRBR
     11824                        // id_cadre : Identifiant du cadre
     11825                        // cadre_name : Libellé
     11826                        // cadre_comment : Description
     11827                        // cadre_object : Classe PHP
     11828                        // cadre_css_class : Classe CSS
     11829                        // cadre_num_datanode : Noeud de données associé
     11830                        $rqt="create table if not exists frbr_cadres (
     11831                    id_cadre int unsigned not null auto_increment primary key,
     11832                    cadre_name varchar(255) not null default '',
     11833                                cadre_comment text not null,
     11834                                cadre_object varchar(255) not null default '',
     11835                                cadre_css_class VARCHAR(255) NOT NULL DEFAULT '',
     11836                                cadre_num_datanode int unsigned not null default 0
     11837                )";
     11838                        echo traite_rqt($rqt,"create table frbr_cadres");
     11839                                                       
     11840                        //TS & DG - Liste des éléments de cadres FRBR
     11841                        // id_cadre_content : Identifiant d'un élément du cadre
     11842                        // cadre_content_type : Type (view, filter, etc..)
     11843                        // cadre_content_object : Classe PHP
     11844                        // cadre_content_num_cadre : Identifiant du cadre associé
     11845                        // cadre_content_data : Données
     11846                        $rqt="create table if not exists frbr_cadres_content (
     11847                        id_cadre_content int unsigned not null auto_increment primary key,
     11848                    cadre_content_type varchar(255) not null default '',
     11849                                cadre_content_object varchar(255) not null default '',
     11850                                cadre_content_num_cadre int unsigned not null default 0,
     11851                                cadre_content_data text not null default ''
     11852                )";
     11853                        echo traite_rqt($rqt,"create table frbr_cadres_content");
     11854                       
     11855                        //DG - Gestion des entités pour le FRBR
     11856                        $rqt="create table if not exists frbr_managed_entities (
     11857                        managed_entity_name varchar(255) not null default '',
     11858                        managed_entity_box text not null,
     11859                        primary key (managed_entity_name))";
     11860                        echo traite_rqt($rqt, "create table if not exists frbr_managed_entities");
     11861                       
     11862                        //DG - Vignettes sur les autorités
     11863                        $rqt = "ALTER TABLE authorities ADD thumbnail_url MEDIUMBLOB NOT NULL" ;
     11864                        echo traite_rqt($rqt,"ALTER TABLE authorities ADD thumbnail_url ");
     11865                               
     11866                        //DG - Répertoire d'upload pour les vignettes sur les autorités
     11867                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='authority_img_folder_id' "))==0){
     11868                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) ";
     11869                                $rqt.= "VALUES (NULL, 'pmb', 'authority_img_folder_id', '0', 'Identifiant du répertoire d\'upload des vignettes d\'autorités', '', '0')" ;
     11870                                echo traite_rqt($rqt,"insert pmb_authority_img_folder_id into parametres") ;
     11871                        }
     11872                                                       
     11873                        //DG - Définition de la taille maximum des vignettes sur les autorités
     11874                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='authority_img_pics_max_size' "))==0){
     11875                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param) VALUES (0, 'pmb', 'authority_img_pics_max_size', '150', 'Taille maximale des vignettes uploadées dans les autorités, en largeur ou en hauteur')";
     11876                                echo traite_rqt($rqt,"insert pmb_authority_img_pics_max_size='150' into parametres");
     11877                        }
     11878                       
     11879                        //NG - Update fonction d'auteur 'danseur' du code 274 en 275, suite au changement de function.xml
     11880                        $rqt = "UPDATE responsability set responsability_fonction='275' where responsability_fonction='274' ";
     11881                        echo traite_rqt($rqt,"UPDATE responsability set responsability_fonction ");
     11882                        $rqt = "UPDATE responsability_tu set responsability_tu_fonction='275' where responsability_tu_fonction='274' ";
     11883                        echo traite_rqt($rqt,"UPDATE responsability_tu set responsability_tu_fonction ");
     11884                                                       
     11885                        //NG - Ajout du champ commentaire de gestion dans les étagères
     11886                        $rqt = "ALTER TABLE etagere ADD comment_gestion TEXT NOT NULL " ;
     11887                        echo traite_rqt($rqt,"ALTER TABLE etagere ADD comment_gestion ");
     11888
     11889                        //DG - Ordre sur les pages FRBR
     11890                        $rqt = "alter table frbr_pages add page_order int not null default 1";
     11891                        echo traite_rqt($rqt,"alter table frbr_pages add page_order");
     11892                                                                       
     11893                        //TS & DG - Liste des données FRBR
     11894                        // id_page_content : Identifiant d'un élément du noeud
     11895                        // page_content_type : Type (backbone, etc..)
     11896                        // page_content_object : Classe PHP
     11897                        // page_content_num_page : Identifiant du noeud associé
     11898                        // page_content_data : Données
     11899                        $rqt="create table if not exists frbr_pages_content (
     11900                                id_page_content int unsigned not null auto_increment primary key,
     11901                    page_content_type varchar(255) not null default '',
     11902                                page_content_object varchar(255) not null default '',
     11903                                page_content_num_page int unsigned not null default 0,
     11904                                page_content_data text not null
     11905                )";
     11906                        echo traite_rqt($rqt,"create table frbr_pages_content");
     11907               
     11908                        //TS & DG - Placement des cadres FRBR
     11909                        // place_num_page : Identifiant de la page associée
     11910                        // place_num_cadre : Identifiant du cadre associé
     11911                        // place_cadre_type : Type de cadre (natif, dynamique)
     11912                        // place_visibility : Visibilité du cadre
     11913                        // place_order : Ordre
     11914                        $rqt="create table if not exists frbr_place (
     11915                                place_num_page int unsigned not null default 0,
     11916                                place_num_cadre int unsigned not null default 0,
     11917                                place_cadre_type varchar(255) not null default '',
     11918                    place_visibility int(1) not null default 0,
     11919                                place_order int(10) UNSIGNED NOT NULL default 0,
     11920                                PRIMARY KEY(place_num_page,place_num_cadre, place_cadre_type)
     11921                )";
     11922                        echo traite_rqt($rqt,"create table frbr_place");
     11923                       
     11924                        //TS - Numéro de page sur les cadres (nécessaire pour les  cadres liés uniquement à la page)
     11925                        $rqt = "ALTER TABLE frbr_cadres ADD cadre_num_page int(10) UNSIGNED NOT NULL default 0 " ;
     11926                        echo traite_rqt($rqt,"ALTER TABLE frbr_cadres ADD cadre_num_page");
     11927               
     11928                        //DG - Paniers d'autorités
     11929                        $rqt = "CREATE TABLE IF NOT EXISTS authorities_caddie (
     11930                              idcaddie int(8) unsigned NOT NULL AUTO_INCREMENT,
     11931                                  name varchar(255) NOT NULL DEFAULT '',
     11932                                  type varchar(20) NOT NULL DEFAULT '',
     11933                                  comment varchar(255) NOT NULL DEFAULT '',
     11934                                  autorisations mediumtext,
     11935                                  caddie_classement varchar(255) NOT NULL DEFAULT '',
     11936                                  acces_rapide int(11) NOT NULL DEFAULT '0',
     11937                                  creation_user_name varchar(255) NOT NULL DEFAULT '',
     11938                                  creation_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     11939                                  PRIMARY KEY (idcaddie),
     11940                                  KEY caddie_type (type)) ";
     11941                        echo traite_rqt($rqt,"create table authorities_caddie");
     11942               
     11943                        //DG - Contenu des paniers d'autorités
     11944                        $rqt = "CREATE TABLE IF NOT EXISTS authorities_caddie_content (
     11945                                caddie_id int(8) unsigned NOT NULL DEFAULT '0',
     11946                                object_id int(10) unsigned NOT NULL DEFAULT '0',
     11947                                flag varchar(10) DEFAULT NULL,
     11948                                PRIMARY KEY (caddie_id,object_id),
     11949                                KEY object_id (object_id)) ";
     11950                        echo traite_rqt($rqt,"create table authorities_caddie_content");
     11951               
     11952                        //DG - Procédures des paniers d'autorités
     11953                        $rqt = "CREATE TABLE IF NOT EXISTS authorities_caddie_procs (
     11954                                idproc smallint(5) unsigned NOT NULL AUTO_INCREMENT,
     11955                                type varchar(20) NOT NULL DEFAULT 'SELECT',
     11956                                name varchar(255) NOT NULL DEFAULT '',
     11957                                requete blob NOT NULL,
     11958                                comment tinytext NOT NULL,
     11959                                autorisations mediumtext,
     11960                                parameters text,
     11961                                PRIMARY KEY (idproc)) ";
     11962                        echo traite_rqt($rqt,"create table authorities_caddie_procs");
     11963               
     11964               
     11965                        //NG - Regrouper les fonctions d'auteur en affichage de notice
     11966                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notice_author_functions_grouping' "))==0){
     11967                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     11968                                                        VALUES ('pmb','notice_author_functions_grouping',1,'Regrouper les fonctions d\'auteur en affichage de notice ? \n0 : Non.\n1 : Oui.','',0)";
     11969                                echo traite_rqt($rqt,"insert pmb_notice_author_functions_grouping=1 into parametres");
     11970                        }
     11971               
     11972                        //AP - Champs persos sur les concepts
     11973                        $rqt = "create table if not exists skos_custom (
     11974                                idchamp int(10) unsigned NOT NULL auto_increment,
     11975                                name varchar(255) NOT NULL default '',
     11976                                titre varchar(255) default NULL,
     11977                                type varchar(10) NOT NULL default 'text',
     11978                                datatype varchar(10) NOT NULL default '',
     11979                                options text,
     11980                                multiple int(11) NOT NULL default 0,
     11981                                obligatoire int(11) NOT NULL default 0,
     11982                                ordre int(11) default NULL,
     11983                                search INT(1) unsigned NOT NULL DEFAULT 0,
     11984                                export INT(1) unsigned NOT NULL DEFAULT 0,
     11985                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     11986                                pond int not null default 100,
     11987                                opac_sort INT NOT NULL DEFAULT 0,
     11988                                comment BLOB NOT NULL default '',
     11989                                PRIMARY KEY  (idchamp)) ";
     11990                        echo traite_rqt($rqt,"create table skos_custom ");
     11991                       
     11992                        $rqt = "create table if not exists skos_custom_lists (
     11993                                skos_custom_champ int(10) unsigned NOT NULL default 0,
     11994                                skos_custom_list_value varchar(255) default NULL,
     11995                                skos_custom_list_lib varchar(255) default NULL,
     11996                                ordre int(11) default NULL,
     11997                                KEY skos_custom_champ (skos_custom_champ),
     11998                                KEY skos_champ_list_value (skos_custom_champ,skos_custom_list_value)) " ;
     11999                        echo traite_rqt($rqt,"create table skos_custom_lists ");
     12000                       
     12001                        $rqt = "create table if not exists skos_custom_values (
     12002                                skos_custom_champ int(10) unsigned NOT NULL default 0,
     12003                                skos_custom_origine int(10) unsigned NOT NULL default 0,
     12004                                skos_custom_small_text varchar(255) default NULL,
     12005                                skos_custom_text text,
     12006                                skos_custom_integer int(11) default NULL,
     12007                                skos_custom_date date default NULL,
     12008                                skos_custom_float float default NULL,
     12009                                skos_custom_order int(11) NOT NULL default 0,
     12010                                KEY skos_custom_champ (skos_custom_champ),
     12011                                KEY i_encv_st (skos_custom_small_text),
     12012                                KEY i_encv_t (skos_custom_text(255)),
     12013                                KEY i_encv_i (skos_custom_integer),
     12014                                KEY i_encv_d (skos_custom_date),
     12015                                KEY i_encv_f (skos_custom_float),
     12016                                KEY skos_custom_origine (skos_custom_origine)) " ;
     12017                        echo traite_rqt($rqt,"create table skos_custom_values ");
     12018                       
     12019                        //JP - cacher les amendes et frais de relance dans les lettres et mails de retard
     12020                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'mailretard' and sstype_param='hide_fine' "))==0){
     12021                                $rqt = "INSERT INTO parametres VALUES (0,'mailretard','hide_fine','0','Masquer les amendes et frais de relance dans les lettres et mails de retard :\n 0 : Non\n 1 : Oui','',0)" ;
     12022                                echo traite_rqt($rqt,"insert mailretard_hide_fine into parametres") ;
     12023                        }
     12024                               
     12025                        //JP - paramètre pour forcer l'envoi de relance de niveau 2 par lettre si priorite_email = 1
     12026                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'mailretard' and sstype_param='priorite_email_2' "))==0){
     12027                                $rqt = "INSERT INTO parametres VALUES (0,'mailretard','priorite_email_2','0','Forcer le deuxième niveau de relance par lettre si priorite_email = 1 :\n 0 : Non\n 1 : Oui','',0)" ;
     12028                                echo traite_rqt($rqt,"insert mailretard_priorite_email_2 into parametres") ;
     12029                        }
     12030                               
     12031                        //JP - Calculer le retard, l'amende et le blocage sur le calendrier d'ouverture de la localisation de l'utilisateur ou de l'exemplaire
     12032                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='utiliser_calendrier_location' "))==0){
     12033                                $rqt = "INSERT INTO parametres VALUES (0,'pmb','utiliser_calendrier_location','0','Si le paramètre utiliser_calendrier est à 1, choix de la localisation pour calculer le retard, l\'amende et le blocage :\n 0 : calcul sur le calendrier d\'ouverture de la localisation de l\'utilisateur\n 1 : calcul sur le calendrier d\'ouverture de la localisation de l\'exemplaire','',0)" ;
     12034                                echo traite_rqt($rqt,"insert pmb_utiliser_calendrier_location into parametres") ;
     12035                        }
     12036
     12037                        // NG - Ajout d'un parametre caché indiquant l'affichage ou non des sous-formulaires de contribution
     12038                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contribution_opac_show_sub_form' "))==0){
     12039                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     12040                                        VALUES ('pmb','contribution_opac_show_sub_form','','Paramètre caché indiquant l\'affichage ou non des sous-formulaires de contribution','',1)";
     12041                                echo traite_rqt($rqt,"insert pmb_contribution_opac_show_sub_form='' into parametres");
     12042                        }
     12043                       
     12044                        // TS - cadre visible ou non dans le graphe
     12045                        $rqt = "ALTER TABLE frbr_cadres ADD cadre_visible_in_graph tinyint(1) UNSIGNED NOT NULL default 0" ;
     12046                        echo traite_rqt($rqt,"ALTER TABLE frbr_cadres ADD cadre_visible_in_graph");
     12047                               
     12048                        // TS - Chemin des jeux de données parent du cadre
     12049                        $rqt = "ALTER TABLE frbr_cadres ADD cadre_datanodes_path varchar(255) default NULL " ;
     12050                        echo traite_rqt($rqt,"ALTER TABLE frbr_cadres ADD cadre_datanodes_path");
     12051                               
     12052                        // VT - Ajout de l'identifiant de la methode de stockage sur les ontologies (partie semantique)
     12053                        $rqt = "ALTER TABLE ontologies ADD ontology_storage_id INT NOT NULL default 0";
     12054                        echo traite_rqt($rqt,"alter table ontologies add ontology_storage_id");
     12055                               
     12056                        // AP / VT - Création d'une table permettant de stocker les informations liées aux fichiers uploadés pour les ontologies
     12057                        $rqt = "CREATE TABLE IF NOT EXISTS onto_files (
     12058                                                id_onto_file int(10) unsigned NOT NULL auto_increment primary key,
     12059                                                onto_file_title varchar(255) NOT NULL DEFAULT '' ,
     12060                                                onto_file_description text NOT NULL,
     12061                                                onto_file_filename varchar(255) NOT NULL DEFAULT '',
     12062                                                onto_file_mimetype varchar(100) NOT NULL DEFAULT '',
     12063                                                onto_file_filesize int(11) NOT NULL DEFAULT '0',
     12064                                                onto_file_vignette mediumblob NOT NULL,
     12065                                                onto_file_url text NOT NULL,
     12066                                                onto_file_path varchar(255)NOT NULL DEFAULT '',
     12067                                                onto_file_create_date date NOT NULL DEFAULT '0000-00-00',
     12068                                                onto_file_num_storage int(11) NOT NULL DEFAULT '0',
     12069                                                onto_file_type_object varchar(255) NOT NULL DEFAULT '',
     12070                                                onto_file_num_object int(11) NOT NULL DEFAULT '0',
     12071                                                INDEX i_of_onto_file_title (onto_file_title)
     12072                                        )";
     12073                        echo traite_rqt($rqt,"create table onto_files");
     12074                               
     12075                        // TS - ajout d'un index sur le code champ et code sous champ de la table authorities_fields_global_index
     12076                        $req="SHOW INDEX FROM authorities_fields_global_index WHERE key_name LIKE 'i_code_champ_code_ss_champ'";
     12077                        $res=pmb_mysql_query($req);
     12078                        if($res && (pmb_mysql_num_rows($res) == 0)){
     12079                                $rqt = "ALTER TABLE authorities_fields_global_index ADD INDEX i_code_champ_code_ss_champ(code_champ,code_ss_champ)";
     12080                                echo traite_rqt($rqt,"ALTER TABLE authorities_fields_global_index ADD INDEX i_code_champ_code_ss_champ");
     12081                        }
     12082                               
     12083                        // TS - ajout d'un index sur le num_concept et type_object de la table index_concept
     12084                        $req="SHOW INDEX FROM index_concept WHERE key_name LIKE 'i_num_concept_type_object'";
     12085                        $res=pmb_mysql_query($req);
     12086                        if($res && (pmb_mysql_num_rows($res) == 0)){
     12087                                $rqt = "ALTER TABLE index_concept ADD INDEX i_num_concept_type_object(num_concept,type_object)";
     12088                                echo traite_rqt($rqt,"ALTER TABLE index_concept ADD INDEX i_num_concept_type_object");
     12089                        }
     12090                               
     12091                        // TS - ajout d'un index sur le type_object et num_object de la table index_concept
     12092                        $req="SHOW INDEX FROM index_concept WHERE key_name LIKE 'i_type_object_num_object'";
     12093                        $res=pmb_mysql_query($req);
     12094                        if($res && (pmb_mysql_num_rows($res) == 0)){
     12095                                $rqt = "ALTER TABLE index_concept ADD INDEX i_type_object_num_object(type_object,num_object)";
     12096                                echo traite_rqt($rqt,"ALTER TABLE index_concept ADD INDEX i_type_object_num_object");
     12097                        }
     12098                               
     12099                        // MB - Nouvelle table pour les paramètres de PMB à ne pas surtout pas mettre dans le cache_apc ni en global (paramètres modifiés fréquemment pour le fonctionnement de PMB)
     12100                        $rqt = "CREATE TABLE IF NOT EXISTS parametres_uncached (
     12101                                         id_param int(6) unsigned NOT NULL AUTO_INCREMENT,
     12102                                         type_param varchar(20) DEFAULT NULL,
     12103                                         sstype_param varchar(255) DEFAULT NULL,
     12104                                         valeur_param text,
     12105                                         comment_param longtext,
     12106                                         section_param varchar(255) NOT NULL DEFAULT '',
     12107                                         gestion int(1) NOT NULL DEFAULT '0',
     12108                                         PRIMARY KEY (id_param),
     12109                                         UNIQUE KEY typ_sstyp (type_param,sstype_param)
     12110                                        )";
     12111                        echo traite_rqt($rqt,"create table parametres_uncached");
     12112                               
     12113                        // MB - Paramètre de verrou pour la gestion des stats
     12114                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres_uncached where type_param= 'internal' and sstype_param='emptylogstatopac' "))==0){
     12115                                $rqt = "INSERT INTO parametres_uncached (type_param, sstype_param, valeur_param, comment_param,gestion)
     12116                                        VALUES ('internal', 'emptylogstatopac', '0', 'Paramètre interne, ne pas modifier\r\n =1 si vidage des logs en cours', 0)";
     12117                                echo traite_rqt($rqt,"insert internal_emptylogstatopac=0 into parametres_uncached");
     12118                        }
     12119                               
     12120                        // MB - Suppression de l'ancien paramètre déplacé dans la nouvelle table
     12121                        if(isset($internal_emptylogstatopac)){
     12122                                $rqt = "delete from parametres where type_param= 'internal' and sstype_param='emptylogstatopac' " ;
     12123                                echo traite_rqt($rqt,"delete old parameter 'emptylogstatopac' from parametres");
     12124                        }
     12125                        // +-------------------------------------------------+
     12126                        echo "</table>";
     12127                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     12128                        $res = pmb_mysql_query($rqt, $dbh) ;
     12129
     12130                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     12131                        $action=$action+$increment;
     12132                        //echo form_relance ("v5.24");
     12133                       
     12134        //case "v5.24":
     12135                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     12136                        // +-------------------------------------------------+
     12137                        // MB - Paramètre pour définir le répertoire à utiliser pour le cache des images en gestion
     12138                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='img_cache_folder' "))==0){
     12139                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param)
     12140                                        VALUES (NULL, 'pmb', 'img_cache_folder', '', 'Répertoire de stockage du cache des images')";
     12141                                echo traite_rqt($rqt,"insert pmb_img_cache_folder='' into parametres ");
     12142                        }
     12143                               
     12144                        // MB - Paramètre pour définir l'URL du répertoire pour le cache des images en gestion et avoir des URLs en dur
     12145                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='img_cache_url' "))==0){
     12146                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param)
     12147                                        VALUES (NULL, 'pmb', 'img_cache_url', '', 'URL d\'accès du répertoire du cache des images (img_cache_folder)')";
     12148                                echo traite_rqt($rqt,"insert pmb_img_cache_url='' into parametres ");
     12149                        }
     12150                               
     12151                        // MB - Paramètre pour définir le répertoire à utiliser pour le cache des images en opac
     12152                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='img_cache_folder' "))==0){
     12153                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param)
     12154                                        VALUES (NULL, 'opac', 'img_cache_folder', '', 'Répertoire de stockage du cache des images','a_general')";
     12155                                echo traite_rqt($rqt,"insert opac_img_cache_folder='' into parametres ");
     12156                        }
     12157                        // MB - Paramètre pour définir l'URL du répertoire pour le cache des images en opac et avoir des URLs en dur
     12158                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='img_cache_url' "))==0){
     12159                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param)
     12160                                        VALUES (NULL, 'opac', 'img_cache_url', '', 'URL d\'accès du répertoire du cache des images (img_cache_folder)','a_general')";
     12161                                echo traite_rqt($rqt,"insert opac_img_cache_url='' into parametres ");
     12162                        }
     12163                       
     12164                        // DG - Index sur le champ oeuvre_link_from de la table tu_oeuvres_links
     12165                        $req="SHOW INDEX FROM tu_oeuvres_links WHERE key_name LIKE 'i_oeuvre_link_from'";
     12166                        $res=pmb_mysql_query($req);
     12167                        if($res && (pmb_mysql_num_rows($res) == 0)){
     12168                                $rqt = "ALTER TABLE tu_oeuvres_links ADD INDEX i_oeuvre_link_from(oeuvre_link_from)";
     12169                                echo traite_rqt($rqt,"ALTER TABLE tu_oeuvres_links ADD INDEX i_oeuvre_link_from");
     12170                        }
     12171                               
     12172                        // DG - Index sur le champ oeuvre_link_to de la table tu_oeuvres_links
     12173                        $req="SHOW INDEX FROM tu_oeuvres_links WHERE key_name LIKE 'i_oeuvre_link_to'";
     12174                        $res=pmb_mysql_query($req);
     12175                        if($res && (pmb_mysql_num_rows($res) == 0)){
     12176                                $rqt = "ALTER TABLE tu_oeuvres_links ADD INDEX i_oeuvre_link_to(oeuvre_link_to)";
     12177                                echo traite_rqt($rqt,"ALTER TABLE tu_oeuvres_links ADD INDEX i_oeuvre_link_to");
     12178                        }
     12179                       
     12180                        // DG - Index sur le champ oeuvre_link_to de la table nomenclature_notices_nomenclatures
     12181                        $req="SHOW INDEX FROM nomenclature_notices_nomenclatures WHERE key_name LIKE 'i_notice_nomenclature_num_notice'";
     12182                        $res=pmb_mysql_query($req);
     12183                        if($res && (pmb_mysql_num_rows($res) == 0)){
     12184                                $rqt = "ALTER TABLE nomenclature_notices_nomenclatures ADD INDEX i_notice_nomenclature_num_notice(notice_nomenclature_num_notice)";
     12185                                echo traite_rqt($rqt,"ALTER TABLE nomenclature_notices_nomenclatures ADD INDEX i_notice_nomenclature_num_notice");
     12186                        }
     12187                               
     12188                        // DG - Index sur le champ map_echelle_num de la table notices
     12189                        $req="SHOW INDEX FROM notices WHERE key_name LIKE 'i_map_echelle_num'";
     12190                        $res=pmb_mysql_query($req);
     12191                        if($res && (pmb_mysql_num_rows($res) == 0)){
     12192                                $rqt = "ALTER TABLE notices ADD INDEX i_map_echelle_num(map_echelle_num)";
     12193                                echo traite_rqt($rqt,"ALTER TABLE notices ADD INDEX i_map_echelle_num");
     12194                        }
     12195                               
     12196                        // DG - Index sur le champ map_projection_num de la table notices
     12197                        $req="SHOW INDEX FROM notices WHERE key_name LIKE 'i_map_projection_num'";
     12198                        $res=pmb_mysql_query($req);
     12199                        if($res && (pmb_mysql_num_rows($res) == 0)){
     12200                                $rqt = "ALTER TABLE notices ADD INDEX i_map_projection_num(map_projection_num)";
     12201                                echo traite_rqt($rqt,"ALTER TABLE notices ADD INDEX i_map_projection_num");
     12202                        }
     12203                               
     12204                        // DG - Index sur le champ authperso_authority_authperso_num de la table authperso_authorities
     12205                        $req="SHOW INDEX FROM authperso_authorities WHERE key_name LIKE 'i_authperso_authority_authperso_num'";
     12206                        $res=pmb_mysql_query($req);
     12207                        if($res && (pmb_mysql_num_rows($res) == 0)){
     12208                                $rqt = "ALTER TABLE authperso_authorities ADD INDEX i_authperso_authority_authperso_num(authperso_authority_authperso_num)";
     12209                                echo traite_rqt($rqt,"ALTER TABLE authperso_authorities ADD INDEX i_authperso_authority_authperso_num");
     12210                        }
     12211                               
     12212                        // +-------------------------------------------------+
     12213                        echo "</table>";
     12214                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     12215                        $res = pmb_mysql_query($rqt, $dbh) ;
     12216                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     12217                        $action=$action+$increment;
     12218                        //echo form_relance ("v5.25");
     12219       
     12220        //case "v5.25":
     12221                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     12222                        // +-------------------------------------------------+
     12223                        // NG - Ajout index sur num_word de la table notices_mots_global_index
     12224                        $req="SHOW INDEX FROM notices_mots_global_index WHERE key_name LIKE 'i_num_word'";
     12225                        $res=pmb_mysql_query($req);
     12226                        if($res && !pmb_mysql_num_rows($res)){
     12227                                $rqt = "alter table notices_mots_global_index add index i_num_word (num_word)";
     12228                                echo traite_rqt($rqt,"alter table notices_mots_global_index add index i_num_word");
     12229                        }
     12230                               
     12231                        // +-------------------------------------------------+
     12232                        echo "</table>";
     12233                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     12234                        $res = pmb_mysql_query($rqt, $dbh) ;
     12235                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     12236                        $action=$action+$increment;
     12237                        //echo form_relance ("v5.26");
     12238        //case "v5.26":
     12239                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     12240                        // +-------------------------------------------------+
     12241                        // NG - Ajout index sur num_word de la table cms_editorial_words_global_index
     12242                        $req="SHOW INDEX FROM cms_editorial_words_global_index WHERE key_name LIKE 'i_num_word'";
     12243                        $res=pmb_mysql_query($req);
     12244                        if($res && !pmb_mysql_num_rows($res)){
     12245                                $rqt = "alter table cms_editorial_words_global_index add index i_num_word (num_word)";
     12246                                echo traite_rqt($rqt,"alter table cms_editorial_words_global_index add index i_num_word");
     12247                        }
     12248                               
     12249                        // NG - Ajout index sur num_word de la table authorities_words_global_index
     12250                        $req="SHOW INDEX FROM authorities_words_global_index WHERE key_name LIKE 'i_num_word'";
     12251                        $res=pmb_mysql_query($req);
     12252                        if($res && !pmb_mysql_num_rows($res)){
     12253                                $rqt = "alter table authorities_words_global_index add index i_num_word (num_word)";
     12254                                echo traite_rqt($rqt,"alter table authorities_words_global_index add index i_num_word");
     12255                        }
     12256                               
     12257                        // NG - Ajout index sur num_word de la table skos_words_global_index
     12258                        $req="SHOW INDEX FROM skos_words_global_index WHERE key_name LIKE 'i_num_word'";
     12259                        $res=pmb_mysql_query($req);
     12260                        if($res && !pmb_mysql_num_rows($res)){
     12261                                $rqt = "alter table skos_words_global_index add index i_num_word (num_word)";
     12262                                echo traite_rqt($rqt,"alter table skos_words_global_index add index i_num_word");
     12263                        }
     12264                               
     12265                        // NG - Ajout index sur num_word de la table faq_questions_words_global_index
     12266                        $req="SHOW INDEX FROM faq_questions_words_global_index WHERE key_name LIKE 'i_num_word'";
     12267                        $res=pmb_mysql_query($req);
     12268                        if($res && !pmb_mysql_num_rows($res)){
     12269                                $rqt = "alter table faq_questions_words_global_index add index i_num_word (num_word)";
     12270                                echo traite_rqt($rqt,"alter table faq_questions_words_global_index add index i_num_word");
     12271                        }
     12272                               
     12273                        // NG - Ajout index sur responsability_author de la table responsability
     12274                        $req="SHOW INDEX FROM responsability WHERE key_name LIKE 'i_responsability_author'";
     12275                        $res=pmb_mysql_query($req);
     12276                        if($res && !pmb_mysql_num_rows($res)){
     12277                                $rqt = "alter table responsability add index i_responsability_author (responsability_author)";
     12278                                echo traite_rqt($rqt,"alter table responsability add index i_responsability_author");
     12279                        }
     12280                       
     12281                        // NG - Ajout index sur shorturl_hash de la table shorturls
     12282                        $req="SHOW INDEX FROM shorturls WHERE key_name LIKE 'i_shorturl_hash'";
     12283                        $res=pmb_mysql_query($req);
     12284                        if($res && !pmb_mysql_num_rows($res)){
     12285                                $rqt = "alter table shorturls add index i_shorturl_hash (shorturl_hash)";
     12286                                echo traite_rqt($rqt,"alter table shorturls add index i_shorturl_hash");
     12287                        }
     12288                       
     12289                        // NG - Ajout index sur empr_login de la table empr
     12290                        $req="SHOW INDEX FROM empr WHERE key_name LIKE 'i_empr_login'";
     12291                        $res=pmb_mysql_query($req);
     12292                        if($res && !pmb_mysql_num_rows($res)){
     12293                                $rqt = "alter table empr add index i_empr_login (empr_login)";
     12294                                echo traite_rqt($rqt,"alter table empr add index i_empr_login");
     12295                        }
     12296                       
     12297                        // NG - Ajout index sur ouvert, num_location, date_ouverture de la table ouvertures
     12298                        $req="SHOW INDEX FROM ouvertures WHERE key_name LIKE 'i_ouvert_num_location_date_ouverture'";
     12299                        $res=pmb_mysql_query($req);
     12300                        if($res && !pmb_mysql_num_rows($res)){
     12301                                $rqt = "alter table ouvertures add index i_ouvert_num_location_date_ouverture (ouvert, num_location, date_ouverture)";
     12302                                echo traite_rqt($rqt,"alter table ouvertures add index i_ouvert_num_location_date_ouverture");
     12303                        }
     12304                               
     12305                        // NG - Ajout index sur etat_transfert, origine de la table transferts
     12306                        $req="SHOW INDEX FROM transferts WHERE key_name LIKE 'i_etat_transfert_origine'";
     12307                        $res=pmb_mysql_query($req);
     12308                        if($res && !pmb_mysql_num_rows($res)){
     12309                                $rqt = "alter table transferts add index i_etat_transfert_origine (etat_transfert, origine)";
     12310                                echo traite_rqt($rqt,"alter table transferts add index i_etat_transfert_origine");
     12311                        }
     12312                               
     12313                        // NG - Ajout index sur author_type de la table authors
     12314                        $req="SHOW INDEX FROM authors WHERE key_name LIKE 'i_author_type'";
     12315                        $res=pmb_mysql_query($req);
     12316                        if($res && !pmb_mysql_num_rows($res)){
     12317                                $rqt = "alter table authors add index i_author_type (author_type)";
     12318                                echo traite_rqt($rqt,"alter table authors add index i_author_type");
     12319                        }
     12320                       
     12321                        // NG - Ajout index sur grammar de la table vedette
     12322                        $req="SHOW INDEX FROM vedette WHERE key_name LIKE 'i_grammar'";
     12323                        $res=pmb_mysql_query($req);
     12324                        if($res && !pmb_mysql_num_rows($res)){
     12325                                $rqt = "alter table vedette add index i_grammar (grammar)";
     12326                                echo traite_rqt($rqt,"alter table vedette add index i_grammar");
     12327                        }
     12328                               
     12329                        // NG - Suppression index doublon dans la table authorities
     12330                        $req="SHOW INDEX FROM authorities WHERE key_name LIKE 'i_object'";
     12331                        $res=pmb_mysql_query($req);
     12332                        if($res && pmb_mysql_num_rows($res)){
     12333                                $req="ALTER TABLE authorities DROP INDEX i_object ";
     12334                                $res=pmb_mysql_query($req);
     12335                                echo traite_rqt($rqt,"alter table authorities drop index i_object");
     12336                        }
     12337                       
     12338                        // AP - Paramètre pour activer sphinx
     12339                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'sphinx' and sstype_param='active' "))==0){
     12340                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param)
     12341                                        VALUES (NULL, 'sphinx', 'active', '0', 'Sphinx activé.\n 0 : Non\n 1 : Oui','')";
     12342                                echo traite_rqt($rqt,"insert sphinx_active = 0 into parametres ");
     12343                        }
     12344                               
     12345                        // AP - Paramètre de définition du chemin vers les index sphinx
     12346                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'sphinx' and sstype_param='indexes_path' "))==0){
     12347                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param)
     12348                                        VALUES (NULL, 'sphinx', 'indexes_path', '', 'Chemin vers le répertoire de stockage des index sphinx','')";
     12349                                echo traite_rqt($rqt,"insert sphinx_indexes_path = '' into parametres ");
     12350                        }
     12351                               
     12352                        // AP - Paramètre de connexion mysql pour sphinx
     12353                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'sphinx' and sstype_param='mysql_connect' "))==0){
     12354                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param)
     12355                                        VALUES (NULL, 'sphinx', 'mysql_connect', '127.0.0.1:9306,0', 'Paramètre de connexion mysql au serveur sphinx :\n hote:port,auth,user,pass : mettre 0 ou 1 pour l\'authentification.','')";
     12356                                echo traite_rqt($rqt,"insert sphinx_indexes_path = '127.0.0.1:9306,0' into parametres ");
     12357                        }
     12358                               
     12359                        // JP - Ajout index sur num_authority / authority_type de la table authorities_sources
     12360                        $req="SHOW INDEX FROM authorities_sources WHERE key_name LIKE 'i_num_authority_authority_type'";
     12361                        $res=pmb_mysql_query($req);
     12362                        if($res && !pmb_mysql_num_rows($res)){
     12363                                $rqt = "alter table authorities_sources add index i_num_authority_authority_type (num_authority, authority_type)";
     12364                                echo traite_rqt($rqt,"alter table authorities_sources add index i_num_authority_authority_type");
     12365                        }
     12366                               
     12367                        // JP - Ajout index sur cadre_memo_url de la table cms_cadres
     12368                        $req="SHOW INDEX FROM cms_cadres WHERE key_name LIKE 'i_cadre_memo_url'";
     12369                        $res=pmb_mysql_query($req);
     12370                        if($res && !pmb_mysql_num_rows($res)){
     12371                                $rqt = "alter table cms_cadres add index i_cadre_memo_url (cadre_memo_url)";
     12372                                echo traite_rqt($rqt,"alter table cms_cadres add index i_cadre_memo_url");
     12373                        }
     12374                               
     12375                        // JP - Ajout index sur cadre_object de la table cms_cadres
     12376                        $req="SHOW INDEX FROM cms_cadres WHERE key_name LIKE 'i_cadre_object'";
     12377                        $res=pmb_mysql_query($req);
     12378                        if($res && !pmb_mysql_num_rows($res)){
     12379                                $rqt = "alter table cms_cadres add index i_cadre_object (cadre_object)";
     12380                                echo traite_rqt($rqt,"alter table cms_cadres add index i_cadre_object");
     12381                        }
     12382                               
     12383                        // JP - Ajout index sur cadre_content_num_cadre de la table cms_cadre_content
     12384                        $req="SHOW INDEX FROM cms_cadre_content WHERE key_name LIKE 'i_cadre_content_num_cadre'";
     12385                        $res=pmb_mysql_query($req);
     12386                        if($res && !pmb_mysql_num_rows($res)){
     12387                                $rqt = "alter table cms_cadre_content add index i_cadre_content_num_cadre (cadre_content_num_cadre)";
     12388                                echo traite_rqt($rqt,"alter table cms_cadre_content add index i_cadre_content_num_cadre");
     12389                        }
     12390                               
     12391                        // JP - Ajout index sur cadre_content_num_cadre_content / cadre_content_type cms_cadre_content de la table cms_cadre_content
     12392                        $req="SHOW INDEX FROM cms_cadre_content WHERE key_name LIKE 'i_cadre_content_num_cadre_content_cadre_content_type'";
     12393                        $res=pmb_mysql_query($req);
     12394                        if($res && !pmb_mysql_num_rows($res)){
     12395                                $rqt = "alter table cms_cadre_content add index i_cadre_content_num_cadre_content_cadre_content_type (cadre_content_num_cadre_content, cadre_content_type)";
     12396                                echo traite_rqt($rqt,"alter table cms_cadre_content add index i_cadre_content_num_cadre_content_cadre_content_type");
     12397                        }
     12398                               
     12399                        // JP - Ajout index sur document_num_object / document_type_object de la table cms_documents
     12400                        $req="SHOW INDEX FROM cms_documents WHERE key_name LIKE 'i_document_num_object_document_type_object'";
     12401                        $res=pmb_mysql_query($req);
     12402                        if($res && !pmb_mysql_num_rows($res)){
     12403                                $rqt = "alter table cms_documents add index i_document_num_object_document_type_object (document_num_object, document_type_object)";
     12404                                echo traite_rqt($rqt,"alter table cms_documents add index i_document_num_object_document_type_object");
     12405                        }
     12406                               
     12407                        // JP - Ajout index sur document_link_num_document de la table cms_documents_links
     12408                        $req="SHOW INDEX FROM cms_documents_links WHERE key_name LIKE 'i_document_link_num_document'";
     12409                        $res=pmb_mysql_query($req);
     12410                        if($res && !pmb_mysql_num_rows($res)){
     12411                                $rqt = "alter table cms_documents_links add index i_document_link_num_document (document_link_num_document)";
     12412                                echo traite_rqt($rqt,"alter table cms_documents_links add index i_document_link_num_document");
     12413                        }
     12414                               
     12415                        // JP - Ajout index sur groupe / method / available de la table es_methods
     12416                        $req="SHOW INDEX FROM es_methods WHERE key_name LIKE 'i_groupe_method_available'";
     12417                        $res=pmb_mysql_query($req);
     12418                        if($res && !pmb_mysql_num_rows($res)){
     12419                                $rqt = "alter table es_methods add index i_groupe_method_available (groupe(50), method(50), available)";
     12420                                echo traite_rqt($rqt,"alter table es_methods add index i_groupe_method_available");
     12421                        }
     12422                               
     12423                        // JP - Ajout index sur facette_visible de la table facettes
     12424                        $req="SHOW INDEX FROM facettes WHERE key_name LIKE 'i_facette_visible'";
     12425                        $res=pmb_mysql_query($req);
     12426                        if($res && !pmb_mysql_num_rows($res)){
     12427                                $rqt = "alter table facettes add index i_facette_visible (facette_visible)";
     12428                                echo traite_rqt($rqt,"alter table facettes add index i_facette_visible");
     12429                        }
     12430                               
     12431                        // JP - Ajout index sur origine de la table import_marc
     12432                        $req="SHOW INDEX FROM import_marc WHERE key_name LIKE 'i_origine'";
     12433                        $res=pmb_mysql_query($req);
     12434                        if($res && !pmb_mysql_num_rows($res)){
     12435                                $rqt = "alter table import_marc add index i_origine (origine)";
     12436                                echo traite_rqt($rqt,"alter table import_marc add index i_origine");
     12437                        }
     12438                               
     12439                        // +-------------------------------------------------+
     12440                        echo "</table>";
     12441                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     12442                        $res = pmb_mysql_query($rqt, $dbh) ;
     12443                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     12444                        $action=$action+$increment;
     12445                        //echo form_relance ("v5.27");
     12446        //case "v5.27":
     12447                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     12448                        // +-------------------------------------------------+
     12449                        // JP - Ajout index sur id_notice de la table notices_mots_global_index
     12450                        $req="SHOW INDEX FROM notices_mots_global_index WHERE key_name LIKE 'i_id_notice'";
     12451                        $res=pmb_mysql_query($req);
     12452                        if($res && !pmb_mysql_num_rows($res)){
     12453                                $rqt = "alter table notices_mots_global_index add index i_id_notice (id_notice)";
     12454                                echo traite_rqt($rqt,"alter table notices_mots_global_index add index i_id_notice");
     12455                        }
     12456                               
     12457                        // +-------------------------------------------------+
     12458                        echo "</table>";
     12459                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     12460                        $res = pmb_mysql_query($rqt, $dbh) ;
     12461                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     12462                        $action=$action+$increment;
     12463                        //echo form_relance ("v5.27");
     12464
     12465               
     12466        //case "v5.28":
     12467                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     12468                        // +-------------------------------------------------+
     12469                        // JP - Ajout index sur resa_idempr de la table resa
     12470                        $req="SHOW INDEX FROM resa WHERE key_name LIKE 'i_resa_idempr'";
     12471                        $res=pmb_mysql_query($req);
     12472                        if($res && !pmb_mysql_num_rows($res)){
     12473                                $rqt = "alter table resa add index i_resa_idempr (resa_idempr)";
     12474                                echo traite_rqt($rqt,"alter table resa add index i_resa_idempr");
     12475                        }
     12476                               
     12477                        // JP - Ajout index sur num_suggestion de la table suggestions_origine
     12478                        $req="SHOW INDEX FROM suggestions_origine WHERE key_name LIKE 'i_num_suggestion'";
     12479                        $res=pmb_mysql_query($req);
     12480                        if($res && !pmb_mysql_num_rows($res)){
     12481                                $rqt = "alter table suggestions_origine add index i_num_suggestion (num_suggestion)";
     12482                                echo traite_rqt($rqt,"alter table suggestions_origine add index i_num_suggestion");
     12483                        }
     12484                               
     12485                        // JP - Ajout index sur resa_trans de la table transferts_demande
     12486                        $req="SHOW INDEX FROM transferts_demande WHERE key_name LIKE 'i_resa_trans'";
     12487                        $res=pmb_mysql_query($req);
     12488                        if($res && !pmb_mysql_num_rows($res)){
     12489                                $rqt = "alter table transferts_demande add index i_resa_trans (resa_trans)";
     12490                                echo traite_rqt($rqt,"alter table transferts_demande add index i_resa_trans");
     12491                        }
     12492                               
     12493                        // JP - Ajout index sur realisee de la table transactions
     12494                        $req="SHOW INDEX FROM transactions WHERE key_name LIKE 'i_realisee'";
     12495                        $res=pmb_mysql_query($req);
     12496                        if($res && !pmb_mysql_num_rows($res)){
     12497                                $rqt = "alter table transactions add index i_realisee (realisee)";
     12498                                echo traite_rqt($rqt,"alter table transactions add index i_realisee");
     12499                        }
     12500                               
     12501                        // JP - Ajout index sur compte_id de la table transactions
     12502                        $req="SHOW INDEX FROM transactions WHERE key_name LIKE 'i_compte_id'";
     12503                        $res=pmb_mysql_query($req);
     12504                        if($res && !pmb_mysql_num_rows($res)){
     12505                                $rqt = "alter table transactions add index i_compte_id (compte_id)";
     12506                                echo traite_rqt($rqt,"alter table transactions add index i_compte_id");
     12507                        }
     12508                       
     12509                        // DG - Ajout index sur id_notice de la table notices_fields_global_index
     12510                        $req="SHOW INDEX FROM notices_fields_global_index WHERE key_name LIKE 'i_id_notice'";
     12511                        $res=pmb_mysql_query($req);
     12512                        if($res && !pmb_mysql_num_rows($res)){
     12513                                $rqt = "alter table notices_fields_global_index add index i_id_notice (id_notice)";
     12514                                echo traite_rqt($rqt,"alter table notices_fields_global_index add index i_id_notice");
     12515                        }
     12516                       
     12517                        // DG - Ajout index sur id_authority de la table authorities_words_global_index
     12518                        $req="SHOW INDEX FROM authorities_words_global_index WHERE key_name LIKE 'i_id_authority'";
     12519                        $res=pmb_mysql_query($req);
     12520                        if($res && !pmb_mysql_num_rows($res)){
     12521                                $rqt = "alter table authorities_words_global_index add index i_id_authority (id_authority)";
     12522                                echo traite_rqt($rqt,"alter table authorities_words_global_index add index i_id_authority");
     12523                        }
     12524                               
     12525                        // DG - Ajout index sur id_authority de la table authorities_fields_global_index
     12526                        $req="SHOW INDEX FROM authorities_fields_global_index WHERE key_name LIKE 'i_id_authority'";
     12527                        $res=pmb_mysql_query($req);
     12528                        if($res && !pmb_mysql_num_rows($res)){
     12529                                $rqt = "alter table authorities_fields_global_index add index i_id_authority (id_authority)";
     12530                                echo traite_rqt($rqt,"alter table authorities_fields_global_index add index i_id_authority");
     12531                        }
     12532                                               
     12533                        // VT & AP - Nouvelle table pour les régimes de licence de documents numériques
     12534                                        // id_explnum_licence : Identifiant
     12535                                        // explnum_licence_label : Libellé
     12536                                        // explnum_licence_uri : URI
     12537                                        $rqt = "CREATE TABLE IF NOT EXISTS explnum_licence (
     12538                                                id_explnum_licence int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
     12539                                                explnum_licence_label varchar(255) DEFAULT '',
     12540                                                explnum_licence_uri varchar(255) DEFAULT ''
     12541                                        )";
     12542                        echo traite_rqt($rqt,"create table explnum_licence");
     12543               
     12544                        // VT & AP - Nouvelle table pour les profils de régimes de licence de documents numériques
     12545                                        // id_explnum_licence_profile : Identifiant
     12546                                        // explnum_licence_profile_explnum_licence_num : Identifiant du régime de licence
     12547                                        // explnum_licence_profile_label : Libellé
     12548                                        // explnum_licence_profile_uri : URI
     12549                                        // explnum_licence_profile_logo_url : URL du logo
     12550                                        // explnum_licence_profile_explanation : Texte explicatif
     12551                                        // explnum_licence_profile_quotation_rights : Droit de citation du profil
     12552                                        $rqt = "CREATE TABLE IF NOT EXISTS explnum_licence_profiles (
     12553                                                id_explnum_licence_profile int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
     12554                                                explnum_licence_profile_explnum_licence_num int(10) unsigned NOT NULL DEFAULT 0,
     12555                                                explnum_licence_profile_label varchar(255) DEFAULT '',
     12556                                                explnum_licence_profile_uri varchar(255) DEFAULT '',
     12557                                                explnum_licence_profile_logo_url varchar(255) DEFAULT '',
     12558                                                explnum_licence_profile_explanation text,
     12559                                                explnum_licence_profile_quotation_rights text,
     12560                                                INDEX i_elp_explnum_licence_num (explnum_licence_profile_explnum_licence_num)
     12561                                        )";
     12562                        echo traite_rqt($rqt,"create table explnum_licence_profiles");
     12563               
     12564                        // VT & AP - Nouvelle table pour les droits de régimes de licence de documents numériques
     12565                                        // id_explnum_licence_right : Identifiant
     12566                                        // explnum_licence_profile_explnum_licence_num : Identifiant du régime de licence
     12567                                        // explnum_licence_right_label : Libellé
     12568                                        // explnum_licence_right_type : Type de droit (Autorisation / Interdiction)
     12569                                        // explnum_licence_right_logo_url : URL du logo
     12570                                        // explnum_licence_right_explanation : Texte explicatif
     12571                                        $rqt = "CREATE TABLE IF NOT EXISTS explnum_licence_rights (
     12572                                                id_explnum_licence_right int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
     12573                                                explnum_licence_right_explnum_licence_num int(10) unsigned NOT NULL DEFAULT 0,
     12574                                                explnum_licence_right_label varchar(255) DEFAULT '',
     12575                                                explnum_licence_right_type int(2) DEFAULT 0,
     12576                                                explnum_licence_right_logo_url varchar(255) DEFAULT '',
     12577                                                explnum_licence_right_explanation text,
     12578                                                INDEX i_elr_explnum_licence_num (explnum_licence_right_explnum_licence_num)
     12579                                        )";
     12580                        echo traite_rqt($rqt,"create table explnum_licence_rights");
     12581                       
     12582                        // VT & AP - Nouvelle table pour les liens droits / profils
     12583                                        // explnum_licence_right_num : Identifiant du droit
     12584                                        // explnum_licence_profile_num : Identifiant du lien
     12585                                        $rqt = "CREATE TABLE IF NOT EXISTS explnum_licence_profile_rights (
     12586                                                explnum_licence_profile_num INT not null DEFAULT 0,
     12587                                                explnum_licence_right_num INT not null DEFAULT 0,
     12588                                                PRIMARY KEY (explnum_licence_profile_num, explnum_licence_right_num)
     12589                                        )";
     12590                        echo traite_rqt($rqt,"create table explnum_licence_profile_rights");
     12591
     12592                        // AP & VT - Nouvelle table associant un document numérique à un régime de licence
     12593                        // explnum_licence_explnums_licence_num : Identifiant du régime de licence
     12594                        // explnum_licence_explnums_explnum_num : Identifiant du document numérique
     12595                        $rqt = "CREATE TABLE IF NOT EXISTS explnum_licence_profile_explnums (
     12596                                                explnum_licence_profile_explnums_explnum_num int(10) unsigned NOT NULL DEFAULT 0,
     12597                                                explnum_licence_profile_explnums_profile_num int(10) unsigned NOT NULL DEFAULT 0,
     12598                                                PRIMARY KEY (explnum_licence_profile_explnums_explnum_num, explnum_licence_profile_explnums_profile_num),
     12599                                                INDEX i_elpe_explnum_profile_num (explnum_licence_profile_explnums_profile_num)
     12600                                        )";
     12601                        echo traite_rqt($rqt,"create table explnum_licence_profile_explnums");
     12602                       
     12603                        // DG - Modification de la clé primaire de la table authorities_words_global_index
     12604                        $query = "SHOW KEYS FROM authorities_words_global_index WHERE Key_name = 'PRIMARY'";
     12605                        $result = pmb_mysql_query($query);
     12606                        $primary_fields = array('id_authority','code_champ','code_ss_champ','num_word','position','field_position');
     12607                        $flag = false;
     12608                        while($row = pmb_mysql_fetch_object($result)) {
     12609                                if(!in_array($row->Column_name, $primary_fields)) {
     12610                                        $flag = true;
     12611                                }
     12612                        }
     12613                        if(!$flag && pmb_mysql_num_rows($result) != 6) {
     12614                                $flag = true;
     12615                        }
     12616                        if($flag) {
     12617                                $rqt ="alter table authorities_words_global_index drop primary key";
     12618                                echo traite_rqt($rqt,"alter table authorities_words_global_index drop primary key");
     12619                                $rqt ="alter table authorities_words_global_index add primary key (id_authority,code_champ,code_ss_champ,num_word,position,field_position)";
     12620                                echo traite_rqt($rqt,"alter table authorities_words_global_index add primary key");
     12621                        }
     12622                       
     12623                        // NG - Zone d'affichage par défaut de la carte
     12624                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_bounding_box' "))==0){
     12625                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     12626                                VALUES ( 'pmb', 'map_bounding_box', '-5 50,9 50,9 40,-5 40,-5 50', 'Zone d\'affichage par défaut de la carte. Coordonnées d\'un polygone fermé, en degrés décimaux','map', 0)";
     12627                                echo traite_rqt($rqt,"insert pmb_map_bounding_box into parametres");
     12628                        }
     12629                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_bounding_box' "))==0){
     12630                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     12631                                VALUES ( 'opac', 'map_bounding_box', '-5 50,9 50,9 40,-5 40,-5 50', 'Zone d\'affichage par défaut de la carte. Coordonnées d\'un polygone fermé, en degrés décimaux','map', 0)";
     12632                                echo traite_rqt($rqt,"insert opac_map_bounding_box into parametres");
     12633                        }
     12634
     12635
    966212636                        $rqt = "update parametres set valeur_param='0' where type_param='pmb' and sstype_param='bdd_subversion' " ;
    966312637                        echo traite_rqt($rqt,"update pmb_bdd_subversion=0 into parametres");
     
    967012644                        }
    967112645                       
    9672                
    9673                 // +-------------------------------------------------+
    9674                 echo "</table>";
    9675                 $rqt = "update parametres set valeur_param='v5.19' where type_param='pmb' and sstype_param='bdd_version' " ;
    9676                 $res = mysql_query($rqt, $dbh) ;
    9677                 echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
    9678                 $action=$action+$increment;
    9679 
    9680                 // // Parcheamos la base de datos
    9681                 require("$base_path/includes/db_param.inc.php");
    9682                 $comando= "cat ".$base_path."/admin/misc/mods_vLlxNemo.sql | mysql -u ". USER_NAME ." --password=". USER_PASS ." ". DATA_BASE;
    9683                 if (system($comando, $salida)==0){
    9684                         echo "$msg[db_patched]";
    9685                 }
    9686                 echo "<SCRIPT>alert(\"".$msg[actualizacion_ok]."\");</SCRIPT>";
    9687                 //echo("<SCRIPT LANGUAGE='JavaScript'> window.location = \"$base_path/\"</SCRIPT>");
    9688                 break;
    9689 
    9690         default:
    9691                 include("$include_path/messages/help/$lang/alter.txt");
    9692                 break;
    9693         }
     12646                       
     12647                        // +-------------------------------------------------+
     12648                        echo "</table>";
     12649                        $rqt = "update parametres set valeur_param='v5.28' where type_param='pmb' and sstype_param='bdd_version' " ;
     12650
     12651                //----------FIN LLIUREX 06/03/2018-------       
     12652                       
     12653                        $res = mysql_query($rqt, $dbh) ;
     12654                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     12655                        $action=$action+$increment;
     12656
     12657                        // // Parcheamos la base de datos
     12658                        require("$base_path/includes/db_param.inc.php");
     12659                        $comando= "cat ".$base_path."/admin/misc/mods_vLlxNemo.sql | mysql -u ". USER_NAME ." --password=". USER_PASS ." ". DATA_BASE;
     12660                        if (system($comando, $salida)==0){
     12661                                echo "$msg[db_patched]";
     12662                        }
     12663                        echo "<SCRIPT>alert(\"".$msg[actualizacion_ok]."\");</SCRIPT>";
     12664                        //echo("<SCRIPT LANGUAGE='JavaScript'> window.location = \"$base_path/\"</SCRIPT>");
     12665                        break;
     12666
     12667                default:
     12668                        include("$include_path/messages/help/$lang/alter.txt");
     12669                        break;
     12670                }
  • pmb5.0/trunk/fuentes/pmb/admin/misc/alter_vLlxPandora.inc.php

    r6916 r6967  
    33//  2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
    44// +-------------------------------------------------+
    5 // $Id: alter_vLlxPandora.inc.php, migración BD a v5.19 (Lliurex 16.05 Xenial desde v.5.10 (Lliurex 14.05 Trusty)
     5// $Id: alter_vLlxPandora.inc.php, migración BD a v5.28 (Lliurex 16+ Xenial desde v.5.10 (Lliurex 14.05 Trusty)
    66
    77
     
    1414        case "vLlxPandora":
    1515//  case "v5.10":
    16                 // 10 actualizaciones desde trusty (v5.10) a xenial (v5.19)
    17                 $increment=100/10;
     16//-------------------LLIUREX 06/03/2018----------
     17                // 19 actualizaciones desde trusty (v5.10) a xenial (v5.28)
     18       
     19                $increment=100/19;
     20//---------------------FIN LLIUREX 06/03/2018----------
    1821                $action=$increment;
    1922        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     
    35343537                        $rqt="UPDATE actes SET date_valid=date_acte WHERE statut>1 AND date_valid='0000-00-00'";
    35353538                        echo traite_rqt($rqt,"update actes date_validation ");
     3539                //-----------------LLIUREX 06/03/2018---------------   
     3540                        echo "</table>";
     3541                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     3542                        $res = pmb_mysql_query($rqt, $dbh) ;
     3543                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     3544                        $action=$action+$increment;
     3545                        //echo form_relance ("v5.20");
     3546
     3547        //case "v5.20":
     3548
     3549                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     3550                        // +-------------------------------------------------+
     3551
     3552                        //DG - maj Colonnes exemplaires affichées en gestion - ajout en commentaire du groupe d'exemplaires
     3553                        $rqt = "update parametres set comment_param='Colonne des exemplaires, dans l\'ordre donné, séparé par des virgules : expl_cb,expl_cote,location_libelle,section_libelle,statut_libelle,tdoc_libelle,groupexpl_name #n : id des champs personnalisés \r\n expl_cb est obligatoire et sera ajouté si absent' where type_param= 'pmb' and sstype_param='expl_data' ";
     3554                        echo traite_rqt($rqt,"update pmb_expl_data into parametres");
     3555
     3556                        // AP - Ajout d'une colonne pour lier une notice à une demande
     3557                        $rqt = "ALTER TABLE demandes ADD num_linked_notice mediumint(8) UNSIGNED NOT NULL default 0" ;
     3558                        echo traite_rqt($rqt,"ALTER TABLE demandes ADD num_linked_notice");
     3559
     3560                        // AP - Ajout d'un parametre permettant d'autoriser le lecteur à faire une demande à partir d'une notice
     3561                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='demandes_allow_from_record' "))==0){
     3562                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3563                                                VALUES (0, 'opac', 'demandes_allow_from_record', '0',   'Autoriser les lecteurs à créer une demande à partir d\'une notice.\n 0 : Non\n 1 : Oui', 'a_general', 0) ";
     3564                                echo traite_rqt($rqt, "insert opac_demandes_allow_from_record into parameters");
     3565                        }
     3566
     3567
     3568                        //VT - Parametre d'activation de la génération des exemplaires fantomes dans la popup de transfert en gestion
     3569                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='ghost_expl_enable' "))==0){
     3570                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     3571                                        VALUES (0, 'transferts', 'ghost_expl_enable', '0', '1', 'Script de generation utilise pour les codes barres d\'exemplaires fantomes') ";
     3572                                echo traite_rqt($rqt,"INSERT transferts_ghost_expl_enable INTO parametres") ;
     3573                        }
     3574
     3575                        //VT - Parametre de statut par défaut pour les exemplaires fantomes en transfert
     3576                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='ghost_statut_expl_transferts' "))==0){
     3577                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     3578                                        VALUES (0, 'transferts', 'ghost_statut_expl_transferts', '0', '1', 'id du statut dans lequel seront placés les exemplaires fantomes en cours de transit') ";
     3579                                echo traite_rqt($rqt,"INSERT transferts_ghost_statut_expl_transferts INTO parametres") ;
     3580                        }
     3581
     3582                        //VT - Parametre de choix du script par défaut pour la génération des codes barres des exemplaires fantomes
     3583                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='ghost_expl_gen_script' "))==0){
     3584                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     3585                                        VALUES (0, 'transferts', 'ghost_expl_gen_script', 'gen_code\/gen_code_exemplaire.php', '1', 'Script de generation utilise pour les codes barres d\'exemplaires fantomes') ";
     3586                                echo traite_rqt($rqt,"INSERT transferts_ghost_expl_gen_script INTO parametres") ;
     3587                        }
     3588
     3589                        //VT - Ajout d'un champs expl_ref_num correspondant à l'id d'exemplaire dont le fantome est issu
     3590                        $rqt = "ALTER TABLE exemplaires ADD expl_ref_num INT(10) NOT NULL default '0'" ;
     3591                        echo traite_rqt($rqt,"ALTER TABLE exemplaires ADD expl_ref_num ");
     3592
     3593                        //DG - Champs perso demandes
     3594                        $rqt = "create table if not exists demandes_custom (
     3595                                idchamp int(10) unsigned NOT NULL auto_increment,
     3596                                name varchar(255) NOT NULL default '',
     3597                                titre varchar(255) default NULL,
     3598                                type varchar(10) NOT NULL default 'text',
     3599                                datatype varchar(10) NOT NULL default '',
     3600                                options text,
     3601                                multiple int(11) NOT NULL default 0,
     3602                                obligatoire int(11) NOT NULL default 0,
     3603                                ordre int(11) default NULL,
     3604                                search INT(1) unsigned NOT NULL DEFAULT 0,
     3605                                export INT(1) unsigned NOT NULL DEFAULT 0,
     3606                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     3607                                pond int not null default 100,
     3608                                opac_sort INT NOT NULL DEFAULT 0,
     3609                                PRIMARY KEY  (idchamp)) ";
     3610                        echo traite_rqt($rqt,"create table if not exists demandes_custom ");
     3611
     3612                        $rqt = "create table if not exists demandes_custom_lists (
     3613                                demandes_custom_champ int(10) unsigned NOT NULL default 0,
     3614                                demandes_custom_list_value varchar(255) default NULL,
     3615                                demandes_custom_list_lib varchar(255) default NULL,
     3616                                ordre int(11) default NULL,
     3617                                KEY i_demandes_custom_champ (demandes_custom_champ),
     3618                                KEY i_demandes_champ_list_value (demandes_custom_champ,demandes_custom_list_value)) " ;
     3619                        echo traite_rqt($rqt,"create table if not exists demandes_custom_lists ");
     3620
     3621                        $rqt = "create table if not exists demandes_custom_values (
     3622                                demandes_custom_champ int(10) unsigned NOT NULL default 0,
     3623                                demandes_custom_origine int(10) unsigned NOT NULL default 0,
     3624                                demandes_custom_small_text varchar(255) default NULL,
     3625                                demandes_custom_text text,
     3626                                demandes_custom_integer int(11) default NULL,
     3627                                demandes_custom_date date default NULL,
     3628                                demandes_custom_float float default NULL,
     3629                                KEY i_demandes_custom_champ (demandes_custom_champ),
     3630                                KEY i_demandes_custom_origine (demandes_custom_origine)) " ;
     3631                        echo traite_rqt($rqt,"create table if not exists demandes_custom_values ");
     3632
     3633                        //AR - Gestion d'ontologies...
     3634                        $rqt = "create table if not exists ontologies (
     3635                                id_ontology int unsigned not null auto_increment,
     3636                                ontology_name varchar(255) not null default '',
     3637                                ontology_description text not null,
     3638                                ontology_creation_date datetime not null default '0000-00-00 00:00:00',
     3639                                primary key(id_ontology)
     3640                        )";
     3641                        echo traite_rqt($rqt,"create table if not exists ontologies");
     3642
     3643                        // NG - Circulation simplifiée de périodique
     3644                        $rqt = "ALTER TABLE serialcirc ADD serialcirc_simple int unsigned not null default 0" ;
     3645                        echo traite_rqt($rqt,"ALTER TABLE serialcirc ADD serialcirc_simple ");
     3646
     3647                        // NG - Script de construction d'étiquette de circulation simplifiée de périodique
     3648                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='serialcirc_simple_print_script' "))==0){
     3649                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3650                                        VALUES (0, 'pmb', 'serialcirc_simple_print_script', '', 'Script de construction d\'étiquette de circulation simplifiée de périodique' ,'',0)";
     3651                                echo traite_rqt($rqt,"insert pmb_serialcirc_simple_print_script into parametres");
     3652                        }
     3653
     3654                        // DB - Modification de la table resarc (id resa_planning pour resa issue d'une prévision)
     3655                        $rqt = "alter table resa_archive add resarc_resa_planning_id_resa int(8) unsigned not null default 0";
     3656                        echo traite_rqt($rqt,"alter resa_archive add resarc_resa_planning_id_resa");
     3657
     3658                        // NG - Ajout de tu_oeuvre_nature et tu_oeuvre_type
     3659                        $rqt = "ALTER TABLE titres_uniformes ADD tu_oeuvre_nature VARCHAR(3) NOT NULL default 'a'" ;
     3660                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes ADD tu_oeuvre_nature ");
     3661                        $rqt = "ALTER TABLE titres_uniformes ADD tu_oeuvre_type VARCHAR(3) NOT NULL default 'a'" ;
     3662                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes ADD tu_oeuvre_type ");
     3663
     3664                        // NG - Ajout de la table tu_oeuvres_links
     3665                        $rqt = "create table if not exists tu_oeuvres_links (
     3666                                oeuvre_link_from int not null default 0,
     3667                                oeuvre_link_to int not null default 0,
     3668                                oeuvre_link_type VARCHAR(3) not null default '',
     3669                                oeuvre_link_expression int not null default 0,
     3670                                oeuvre_link_other_link int not null default 1,
     3671                                oeuvre_link_order int not null default 0
     3672                        )";
     3673                        echo traite_rqt($rqt,"create table if not exists tu_oeuvres_links");
     3674
     3675                        // AP - Nombre maximum de notices à afficher dans une liste sans pagination
     3676                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='max_results_on_a_page' "))==0){
     3677                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3678                                        VALUES (0, 'opac', 'max_results_on_a_page', '500', 'Nombre maximum de notices à afficher sur une page, utile notamment quand la navigation est désactivée' ,'d_aff_recherche',0)";
     3679                                echo traite_rqt($rqt,"insert max_results_on_a_page into parametres");
     3680                        }
     3681
     3682                        //JP - taille de certains champs blob trop juste
     3683                        $rqt = "ALTER TABLE opac_sessions CHANGE session session MEDIUMBLOB NULL DEFAULT NULL";
     3684                        echo traite_rqt($rqt,"ALTER TABLE opac_sessions CHANGE session MEDIUMBLOB");
     3685                        $rqt = " select 1 " ;
     3686                        echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ FAIRE UN NETTOYAGE DE BASE (APRES ETAPES DE MISE A JOUR) / YOU MUST DO A DATABASE CLEANUP (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
     3687
     3688                        // NG - Ajout tu_oeuvre_nature_nature dans titres_uniformes
     3689                        $rqt = "ALTER TABLE titres_uniformes ADD tu_oeuvre_nature_nature VARCHAR(255) NOT NULL default 'original'" ;
     3690                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes ADD tu_oeuvre_nature_nature ");
     3691
     3692                        // NG - Ajout authperso_oeuvre_event dans authperso
     3693                        $rqt = "ALTER TABLE authperso ADD authperso_oeuvre_event int unsigned NOT NULL default '0'" ;
     3694                        echo traite_rqt($rqt,"ALTER TABLE authperso ADD authperso_oeuvre_event ");
     3695
     3696                        // NG - Ajout de la table tu_oeuvres_events
     3697                        $rqt = "create table if not exists tu_oeuvres_events (
     3698                                oeuvre_event_tu_num int not null default 0,
     3699                                oeuvre_event_authperso_authority_num int not null default 0,
     3700                                oeuvre_event_order int not null default 0
     3701                        )";
     3702                        echo traite_rqt($rqt,"create table if not exists tu_oeuvres_events");
     3703
     3704                        // NG - Ajout comment dans les champs personalisés
     3705                        $rqt = "ALTER TABLE notices_custom ADD comment BLOB NOT NULL default ''" ;
     3706                        echo traite_rqt($rqt,"ALTER TABLE notices_custom ADD comment ");
     3707
     3708                        $rqt = "ALTER TABLE author_custom ADD comment BLOB NOT NULL default ''" ;
     3709                        echo traite_rqt($rqt,"ALTER TABLE author_custom ADD comment ");
     3710
     3711                        $rqt = "ALTER TABLE authperso_custom ADD comment BLOB NOT NULL default ''" ;
     3712                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom ADD comment ");
     3713
     3714                        $rqt = "ALTER TABLE categ_custom ADD comment BLOB NOT NULL default ''" ;
     3715                        echo traite_rqt($rqt,"ALTER TABLE categ_custom ADD comment ");
     3716
     3717                        $rqt = "ALTER TABLE cms_editorial_custom ADD comment BLOB NOT NULL default ''" ;
     3718                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom ADD comment ");
     3719
     3720                        $rqt = "ALTER TABLE collection_custom ADD comment BLOB NOT NULL default ''" ;
     3721                        echo traite_rqt($rqt,"ALTER TABLE collection_custom ADD comment ");
     3722
     3723                        $rqt = "ALTER TABLE collstate_custom ADD comment BLOB NOT NULL default ''" ;
     3724                        echo traite_rqt($rqt,"ALTER TABLE collstate_custom ADD comment ");
     3725
     3726                        $rqt = "ALTER TABLE demandes_custom ADD comment BLOB NOT NULL default ''" ;
     3727                        echo traite_rqt($rqt,"ALTER TABLE demandes_custom ADD comment ");
     3728
     3729                        $rqt = "ALTER TABLE empr_custom ADD comment BLOB NOT NULL default ''" ;
     3730                        echo traite_rqt($rqt,"ALTER TABLE empr_custom ADD comment ");
     3731
     3732                        $rqt = "ALTER TABLE expl_custom ADD comment BLOB NOT NULL default ''" ;
     3733                        echo traite_rqt($rqt,"ALTER TABLE expl_custom ADD comment ");
     3734
     3735                        $rqt = "ALTER TABLE gestfic0_custom ADD comment BLOB NOT NULL default ''" ;
     3736                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom ADD comment ");
     3737
     3738                        $rqt = "ALTER TABLE indexint_custom ADD comment BLOB NOT NULL default ''" ;
     3739                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom ADD comment ");
     3740
     3741                        $rqt = "ALTER TABLE pret_custom ADD comment BLOB NOT NULL default ''" ;
     3742                        echo traite_rqt($rqt,"ALTER TABLE pret_custom ADD comment ");
     3743
     3744                        $rqt = "ALTER TABLE publisher_custom ADD comment BLOB NOT NULL default ''" ;
     3745                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom ADD comment ");
     3746
     3747                        $rqt = "ALTER TABLE serie_custom ADD comment BLOB NOT NULL default ''" ;
     3748                        echo traite_rqt($rqt,"ALTER TABLE serie_custom ADD comment ");
     3749
     3750                        $rqt = "ALTER TABLE subcollection_custom ADD comment BLOB NOT NULL default ''" ;
     3751                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom ADD comment ");
     3752
     3753                        $rqt = "ALTER TABLE tu_custom ADD comment BLOB NOT NULL default ''" ;
     3754                        echo traite_rqt($rqt,"ALTER TABLE tu_custom ADD comment ");
     3755
     3756                        // AP - Activation de l'interface DOJO pour la multicritère en gestion
     3757                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='extended_search_dnd_interface' "))==0){
     3758                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3759                                        VALUES (0, 'pmb', 'extended_search_dnd_interface', '1', 'Activer l\'interface drag\'n\'drop pour la recherche multicritère.\n0 : Non\n1 : Oui' ,'', 0)";
     3760                                echo traite_rqt($rqt,"insert extended_search_dnd_interface into parametres");
     3761                        }
     3762
     3763                        // AP - Activation de l'interface DOJO pour la multicritère en OPAC
     3764                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='extended_search_dnd_interface' "))==0){
     3765                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3766                                        VALUES (0, 'opac', 'extended_search_dnd_interface', '0', 'Activer l\'interface drag\'n\'drop pour la recherche multicritère.\n0 : Non\n1 : Oui' ,'c_recherche', 0)";
     3767                                echo traite_rqt($rqt,"insert extended_search_dnd_interface into parametres");
     3768                        }
     3769
     3770                        //JP - bouton vider le cache portail
     3771                        $rqt = "ALTER TABLE cms_articles ADD article_update_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL";
     3772                        echo traite_rqt($rqt,"ALTER TABLE cms_articles ADD article_update_timestamp");
     3773                        $rqt = "UPDATE cms_articles SET article_update_timestamp=article_creation_date";
     3774                        echo traite_rqt($rqt,"UPDATE cms_articles SET article_update_timestamp");
     3775                        $rqt = "ALTER TABLE cms_sections ADD section_update_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL";
     3776                        echo traite_rqt($rqt,"ALTER TABLE cms_sections ADD section_update_timestamp");
     3777                        $rqt = "UPDATE cms_sections SET section_update_timestamp=section_creation_date";
     3778                        echo traite_rqt($rqt,"UPDATE cms_sections SET section_update_timestamp");
     3779
     3780                        //JP - choix notice nouveauté oui/non par utilisateur en création de notice
     3781                        $rqt = "ALTER TABLE users ADD deflt_notice_is_new INT( 1 ) UNSIGNED NOT NULL DEFAULT '0'";
     3782                        echo traite_rqt($rqt,"ALTER TABLE users ADD deflt_notice_is_new");
     3783
     3784                        // JP - paramètre mail_adresse_from pour l'envoi de mails
     3785                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='mail_adresse_from' "))==0){
     3786                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3787                                                VALUES (0, 'pmb', 'mail_adresse_from', '', 'Adresse d\'expédition des emails. Ce paramètre permet de forcer le From des mails envoyés par PMB. Le reply-to reste inchangé (mail de l\'utilisateur en DSI ou relance, mail de la localisation ou paramètre opac_biblio_mail à défaut).\nFormat : adresse_email;libellé\nExemple : pmb@sigb.net;PMB Services' ,'',0)";
     3788                                echo traite_rqt($rqt,"insert pmb_mail_adresse_from into parametres");
     3789                        }
     3790                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='mail_adresse_from' "))==0){
     3791                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3792                                                VALUES (0, 'opac', 'mail_adresse_from', '', 'Adresse d\'expédition des emails. Ce paramètre permet de forcer le From des mails envoyés par PMB. Le reply-to reste inchangé (mail de l\'utilisateur en DSI ou relance, mail de la localisation ou paramètre opac_biblio_mail à défaut).\nFormat : adresse_email;libellé\nExemple : pmb@sigb.net;PMB Services' ,'a_general',0)";
     3793                                echo traite_rqt($rqt,"insert opac_mail_adresse_from into parametres");
     3794                        }
     3795
     3796                        // JP - blocage des prolongations autorisées si relance sur le prêt
     3797                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='pret_prolongation_blocage' "))==0){
     3798                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3799                                                VALUES (0, 'opac', 'pret_prolongation_blocage', '0', 'Bloquer la prolongation s\'il y a un niveau de relance validé sur le prêt ?\n0 : Non 1 : Oui' ,'a_general',0)";
     3800                                echo traite_rqt($rqt,"insert opac_pret_prolongation_blocage into parametres");
     3801                        }
     3802
     3803                        // VT & DG - Ajout de la table memorisant les grilles de saisie de formulaire
     3804                        // grid_generic_type : Type d'objet
     3805                        // grid_generic_filter : Signature (en cas de grilles multiples)
     3806                        // grid_generic_data : Format JSON de la grille
     3807                        $rqt = "create table if not exists grids_generic (
     3808                                grid_generic_type VARCHAR(32) not null default '',
     3809                                grid_generic_filter VARCHAR(255) not null default '',
     3810                                grid_generic_data mediumblob NOT NULL,
     3811                                PRIMARY KEY (grid_generic_type,grid_generic_filter)
     3812                                )";
     3813                        echo traite_rqt($rqt,"create table if not exists grids_generic");
     3814
     3815                        //DG - Grilles d'autorités éditables
     3816                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='form_authorities_editables' "))==0){
     3817                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3818                                        VALUES (0, 'pmb', 'form_authorities_editables', '1', 'Grilles d\'autorités éditables \n 0 non \n 1 oui','',0)";
     3819                                echo traite_rqt($rqt,"insert pmb_form_authorities_editables into parametres");
     3820                        }
     3821
     3822                        //JP - Export tableur des prêts dans le compte emprunteur
     3823                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='empr_export_loans' "))==0){
     3824                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3825                                        VALUES (0, 'opac', 'empr_export_loans', '0', 'Afficher sur le compte emprunteur un bouton permettant d\'exporter les prêts dans un tableur ?\n0 : Non 1 : Oui' ,'a_general',0)";
     3826                                echo traite_rqt($rqt,"insert opac_empr_export_loans into parametres");
     3827                        }
     3828
     3829                        //Alexandre - Ajout des modes d'affichage avec sélection par étoiles
     3830                        $rqt = "UPDATE parametres SET comment_param=CONCAT(comment_param,'\n 4 : Affichage de la note sous la forme d\'étoiles, choix de la note sous la forme d\'étoiles.\n 5 : Affichage de la note sous la forme textuelle et d\'étoiles, choix de la note sous la forme d\'étoiles.') WHERE type_param= 'pmb' AND sstype_param='avis_note_display_mode'";
     3831                        echo traite_rqt($rqt,"UPDATE pmb_avis_note_display_mode into parametres");
     3832                        $rqt = "UPDATE parametres SET comment_param=CONCAT(comment_param,'\n 4 : Affichage de la note sous la forme d\'étoiles, choix de la note sous la forme d\'étoiles.\n 5 : Affichage de la note sous la forme textuelle et d\'étoiles, choix de la note sous la forme d\'étoiles.') WHERE type_param= 'opac' AND sstype_param='avis_note_display_mode'";
     3833                        echo traite_rqt($rqt,"UPDATE opac_avis_note_display_mode into parametres");
     3834
     3835                        //JP - paramètre utilisateur : localisation par défaut en bulletinage
     3836                        // deflt_bulletinage_location : Identifiant de la localisation par défaut en bulletinage
     3837                        $rqt = "ALTER TABLE users ADD deflt_bulletinage_location INT( 6 ) UNSIGNED NOT NULL DEFAULT 0 AFTER deflt_collstate_location";
     3838                        echo traite_rqt($rqt,"ALTER TABLE users ADD deflt_bulletinage_location");
     3839                        $rqt = "UPDATE users SET deflt_bulletinage_location=deflt_docs_location";
     3840                        echo traite_rqt($rqt,"UPDATE users SET deflt_bulletinage_location=deflt_docs_location");
     3841
     3842                        //JP - audit sur le contenu éditorial
     3843                        $res=pmb_mysql_query("SELECT id_section, section_creation_date, section_update_timestamp FROM cms_sections");
     3844                        if($res && pmb_mysql_num_rows($res)){
     3845                                while ($r=pmb_mysql_fetch_object($res)){
     3846                                        $rqt = "INSERT INTO audit SET type_obj='".AUDIT_EDITORIAL_SECTION."', object_id='".$r->id_section."', user_id='0', user_name='', type_modif=1, quand='".$r->section_creation_date." 00:00:00', info='' ";
     3847                                        pmb_mysql_query($rqt);
     3848                                        if ($r->section_update_timestamp != $r->section_creation_date.' 00:00:00') {
     3849                                                $rqt = "INSERT INTO audit SET type_obj='".AUDIT_EDITORIAL_SECTION."', object_id='".$r->id_section."', user_id='0', user_name='', type_modif=2, quand='".$r->section_update_timestamp."', info='' ";
     3850                                                pmb_mysql_query($rqt);
     3851                                        }
     3852                                }
     3853                                $rqt = " select 1 " ;
     3854                                echo traite_rqt($rqt,"INSERT editorial_sections INTO audit ");
     3855                        }
     3856                        $res=pmb_mysql_query("SELECT id_article, article_creation_date, article_update_timestamp FROM cms_articles");
     3857                        if($res && pmb_mysql_num_rows($res)){
     3858                                while ($r=pmb_mysql_fetch_object($res)){
     3859                                        $rqt = "INSERT INTO audit SET type_obj='".AUDIT_EDITORIAL_ARTICLE."', object_id='".$r->id_article."', user_id='0', user_name='', type_modif=1, quand='".$r->article_creation_date." 00:00:00', info='' ";
     3860                                        pmb_mysql_query($rqt);
     3861                                        if ($r->article_update_timestamp != $r->article_creation_date.' 00:00:00') {
     3862                                                $rqt = "INSERT INTO audit SET type_obj='".AUDIT_EDITORIAL_ARTICLE."', object_id='".$r->id_article."', user_id='0', user_name='', type_modif=2, quand='".$r->article_update_timestamp."', info='' ";
     3863                                                pmb_mysql_query($rqt);
     3864                                        }
     3865                                }
     3866                                $rqt = " select 1 " ;
     3867                                echo traite_rqt($rqt,"INSERT editorial_articles INTO audit ");
     3868                        }
     3869
     3870                        //MB - last_sync_date : Date de la dernière synchronisation du connecteur
     3871                        $rqt = "ALTER TABLE connectors_sources ADD last_sync_date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL";
     3872                        echo traite_rqt($rqt,"ALTER TABLE connectors_sources ADD last_sync_date");
     3873
     3874                        // DG & AP - Création d'une table d'autorités pour des identifiants uniques quel que soit le type d'autorité
     3875                        // id_authority : Identifiant unique de l'autorité
     3876                        // num_object : Identifiant de l'autorité dans sa table
     3877                        // type_object : Type de l'autorité
     3878                        $rqt="create table if not exists authorities (
     3879                                id_authority int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
     3880                                num_object mediumint(8) UNSIGNED NOT NULL default 0,
     3881                                type_object int unsigned not null default 0,
     3882                                index i_object(num_object, type_object)
     3883                                )";
     3884                        echo traite_rqt($rqt, "create table authorities");
     3885
     3886                        // DG & AP - Création de la table d'indexation d'autorités - Table des champs
     3887                        // id_authority : Identifiant de l'autorité faisant référence à l'identifiant de la table authorities
     3888                        // type : Type d'autorité
     3889                        // code_champ : Code champ
     3890                        // code_ss_champ : Code sous champ
     3891                        // ordre : Ordre
     3892                        // value : Valeur
     3893                        // pond : Pondération
     3894                        // lang : Langue
     3895                        // authority_num : Identifiant de l'autorité liée
     3896                        $rqt="create table if not exists authorities_fields_global_index (
     3897                                id_authority int unsigned not null default 0,
     3898                                type int(5) unsigned not null default 0,
     3899                                code_champ int(10) not null default 0,
     3900                                code_ss_champ int(3) not null default 0,
     3901                                ordre int(4) not null default 0,
     3902                                value text not null,
     3903                                pond int(4) not null default 100,
     3904                                lang varchar(10) not null default '',
     3905                                authority_num varchar(50) not null default '',
     3906                                primary key(id_authority,code_champ,code_ss_champ,ordre),
     3907                                index i_value(value(300)),
     3908                                index i_id_value(id_authority,value(300))
     3909                                )";
     3910                        echo traite_rqt($rqt, "create table authorities_fields_global_index");
     3911
     3912                        // DG & AP - Création de la table d'indexation d'autorités - Table de mots
     3913                        // id_authority : Identifiant de l'autorité faisant référence à l'identifiant de la table authorities
     3914                        // type : Type d'autorité
     3915                        // code_champ : Code champ
     3916                        // code_ss_champ : Code sous champ
     3917                        // num_word : Identifiant du mot dans la table words
     3918                        // pond : Pondération
     3919                        // position : Position du champ
     3920                        // field_position : Position du mot dans le champ
     3921                        $rqt = "create table if not exists authorities_words_global_index(
     3922                                id_authority int unsigned not null default 0,
     3923                                type int(5) unsigned not null default 0,
     3924                                code_champ int unsigned not null default 0,
     3925                                code_ss_champ int unsigned not null default 0,
     3926                                num_word int unsigned not null default 0,
     3927                                pond int unsigned not null default 100,
     3928                                position int unsigned not null default 1,
     3929                                field_position int unsigned not null default 1,
     3930                                primary key (id_authority,code_champ,num_word,position,code_ss_champ),
     3931                                index code_champ(code_champ),
     3932                                index i_id_mot(num_word,id_authority),
     3933                                index i_code_champ_code_ss_champ_num_word(code_champ,code_ss_champ,num_word))";
     3934                        echo traite_rqt($rqt,"create table authorities_words_global_index");
     3935
     3936                        // DG & AP - Ajout d'index sur la table aut_link
     3937                        $rqt = "ALTER TABLE aut_link drop index i_from";
     3938                        echo traite_rqt($rqt,"alter table aut_link drop index i_from");
     3939                        $rqt = "ALTER TABLE aut_link add index i_from (aut_link_from,aut_link_from_num) ";
     3940                        echo traite_rqt($rqt, "add index i_from to aut_link");
     3941
     3942                        // DG & AP - Ajout d'index sur la table aut_link
     3943                        $rqt = "ALTER TABLE aut_link drop index i_to";
     3944                        echo traite_rqt($rqt,"alter table aut_link drop index i_to");
     3945                        $rqt = "ALTER TABLE aut_link add index i_to (aut_link_to,aut_link_to_num) ";
     3946                        echo traite_rqt($rqt, "add index i_to to aut_link");
     3947
     3948                        // AR - Création d'un statut pour les autorités
     3949                        // id_authorities_statut : Identifiant du statut d'autorités
     3950                        // authorities_statut_label : Libellé du statut
     3951                        // authorities_statut_class_html : Distinction de couleur pour le statut
     3952                        // authorities_statut_available_for : Quelles sont les autorités autorisées à utiliser ce statut ?
     3953                        $rqt = "create table if not exists authorities_statuts (
     3954                                id_authorities_statut int unsigned not null auto_increment primary key,
     3955                                authorities_statut_label varchar(255) not null default '',
     3956                                authorities_statut_class_html varchar(25) not null default '',
     3957                                authorities_statut_available_for text
     3958                                )";
     3959                        echo traite_rqt($rqt,"create table authorities_statuts");
     3960
     3961                        // NG - VT - Statut par défaut pour les autorités
     3962                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from authorities_statuts where id_authorities_statut='1' "))==0) {
     3963                                $rqt = 'INSERT INTO authorities_statuts (id_authorities_statut,authorities_statut_label,authorities_statut_class_html,authorities_statut_available_for) VALUES (1 ,"Statut par défaut", "statutnot1", "'.addslashes('a:9:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";i:3;s:1:"4";i:4;s:1:"5";i:5;s:1:"6";i:6;s:1:"8";i:7;s:1:"7";i:8;s:2:"10";}').'") ';
     3964                                echo traite_rqt($rqt,"insert default lignes_actes_statuts");
     3965                        }
     3966
     3967                        // DG - création du champ statut pour les autorités
     3968                        $rqt = "alter table authorities add num_statut int(2) unsigned not null default 1";
     3969                        echo traite_rqt($rqt,"alter table authorities add num_statut");
     3970
     3971                        //DG - Paramètre pour afficher ou non le bandeau d'acceptation des cookies
     3972                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='cookies_consent' "))==0){
     3973                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3974                                        VALUES (0, 'opac', 'cookies_consent', '1', 'Afficher le bandeau d\'acceptation des cookies et des traceurs ? \n0 : Non 1 : Oui','a_general',0)";
     3975                                echo traite_rqt($rqt,"insert opac_cookies_consent into parametres");
     3976                        }
     3977
     3978                        //DG - Grille d'auteur pour les personnes physiques
     3979                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from grids_generic where grid_generic_type= 'auteurs' and grid_generic_filter='70' "))==0){
     3980                                $rqt = "INSERT INTO grids_generic (grid_generic_type, grid_generic_filter, grid_generic_data)
     3981                                                                VALUES ('auteurs', '70', '[{\"nodeId\":\"el0\",\"label\":\"Zone par d\\u00e9faut\",\"isExpandable\":false,\"showLabel\":false,\"visible\":true,\"elements\":[{\"nodeId\":\"el0Child_0\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el0Child_1_a\",\"visible\":true,\"className\":\"colonne2\"},{\"nodeId\":\"el0Child_1_b\",\"visible\":true,\"className\":\"colonne_suite\"},{\"nodeId\":\"el0Child_2\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el0Child_3\",\"visible\":false,\"className\":\"row\"},{\"nodeId\":\"el0Child_4_a\",\"visible\":false,\"className\":\"colonne2\"},{\"nodeId\":\"el0Child_4_b\",\"visible\":false,\"className\":\"colonne_suite\"},{\"nodeId\":\"el0Child_5_a\",\"visible\":false,\"className\":\"colonne2\"},{\"nodeId\":\"el0Child_5_b\",\"visible\":false,\"className\":\"colonne_suite\"},{\"nodeId\":\"el0Child_6\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el0Child_7\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el0Child_8\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el6Child_3\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el0Child_9\",\"visible\":true,\"className\":\"row\"},{\"nodeId\":\"el7Child_0\",\"visible\":true,\"className\":\"row\"}]}]')";
     3982                                echo traite_rqt($rqt,"insert minimum into grids_generic");
     3983                        }
     3984
     3985                        //DG - Info de réindexation
     3986                        $rqt = " select 1 " ;
     3987                        echo traite_rqt($rqt,"<b><a href='".$base_path."/admin.php?categ=netbase' target=_blank>VOUS DEVEZ REINDEXER LES AUTORITES (APRES ETAPES DE MISE A JOUR) / YOU MUST REINDEX THE AUTHORITIES (STEPS AFTER UPDATE) : Admin > Outils > Nettoyage de base</a></b> ") ;
     3988
     3989                        // +-------------------------------------------------+
     3990                        echo "</table>";
     3991                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     3992                        $res = pmb_mysql_query($rqt, $dbh) ;
     3993
     3994                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     3995                        $action=$action+$increment;
     3996                        //echo form_relance ("v5.21");
     3997
     3998       
     3999        //      case "v5.21":
     4000                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     4001                        // +-------------------------------------------------+
     4002
     4003                        //NG -  DSI: Ajout de bannette_aff_notice_number pour afficher ou pas le nombre de notices envoyées dans le mail
     4004                        $rqt = "ALTER TABLE bannettes ADD bannette_aff_notice_number int unsigned NOT NULL default 1 " ;
     4005                        echo traite_rqt($rqt,"ALTER TABLE bannettes ADD bannette_aff_notice_number ");
     4006
     4007                        //JP - Personnalisation des colonnes pour l'affichage des états des collections en gestion
     4008                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='collstate_data' "))==0){
     4009                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4010                                                VALUES (0, 'pmb', '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,#n : id des champs personnalisés\nLes valeurs possibles sont les propriétés de la classe PHP \"pmb/classes/collstate.class.php\".','',0)";
     4011                                echo traite_rqt($rqt,"insert pmb_collstate_data = '' into parametres");
     4012                        }
     4013
     4014                        //JP - champ historique de session trop petit
     4015                        $rqt = "ALTER TABLE admin_session CHANGE session session MEDIUMBLOB " ;
     4016                        echo traite_rqt($rqt,"ALTER TABLE admin_session CHANGE session MEDIUMBLOB ");
     4017
     4018                        // JP - Alertes localisées pour les réservations depuis l'OPAC
     4019                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='resa_alert_localized' "))==0){
     4020                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4021                                                VALUES (0, 'pmb', 'resa_alert_localized', '0', 'Si les lecteurs sont localisés, restreindre les notifications par email des nouvelles réservations aux utilisateurs selon le site de gestion des lecteurs par défaut ? \n0 : Non 1 : Oui' ,'',0)";
     4022                                echo traite_rqt($rqt,"insert pmb_resa_alert_localized into parametres");
     4023                        }
     4024
     4025                        // VT & AP - Modification de la table nomenclature_children_records : on passe à un varchar pour la gestion des effectifs indéfinis
     4026                        $rqt = "ALTER TABLE nomenclature_children_records CHANGE child_record_effective child_record_effective varchar(10) not null default '0'";
     4027                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_children_records CHANGE child_record_effective varchar(10)");
     4028
     4029                        //AP & VT - Ajout d'un paramètre définissant le nombre d'éléments affichés par onglet
     4030                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nb_elems_per_tab' "))==0){
     4031                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4032                                        VALUES (NULL, 'pmb', 'nb_elems_per_tab', '20', 'Nombre d\'éléments affichés par page dans les onglets', '', '0')";
     4033                                echo traite_rqt($rqt,"insert nb_elems_per_tab='20' into parametres ");
     4034                        }
     4035
     4036                        //NG - Ajout identifiant unique à la table responsability_tu
     4037                        $query = "SHOW KEYS FROM responsability_tu WHERE Key_name = 'PRIMARY'";
     4038                        $result = pmb_mysql_query($query);
     4039                        $primary_fields = array('id_responsability_tu','responsability_tu_author_num','responsability_tu_num','responsability_tu_fonction');
     4040                        $flag = false;
     4041                        while($row = pmb_mysql_fetch_object($result)) {
     4042                                if(!in_array($row->Column_name, $primary_fields)) {
     4043                                        $flag = true;
     4044                                }
     4045                        }
     4046                        if(!$flag && pmb_mysql_num_rows($result) != 4) {
     4047                                $flag = true;
     4048                        }
     4049                        if($flag) {                     
     4050                                $rqt = "alter table responsability_tu drop primary key";
     4051                                echo traite_rqt($rqt,"alter table responsability_tu drop primary key");
     4052                                $rqt = "ALTER TABLE responsability_tu ADD id_responsability_tu  int unsigned not null auto_increment primary key FIRST";
     4053                                echo traite_rqt($rqt,"alter table responsability_tu add id_responsability_tu");
     4054                                $rqt = "alter table responsability_tu drop primary key, add primary key (id_responsability_tu,responsability_tu_author_num, responsability_tu_num, responsability_tu_fonction)";
     4055                                echo traite_rqt($rqt,"alter table responsability_tu add primary key (id_responsability_tu,responsability_tu_author_num, responsability_tu_num, responsability_tu_fonction)");
     4056                        }
    35364057                       
     4058                        //NG - Ajout identifiant unique à la table responsability
     4059                        $query = "SHOW KEYS FROM responsability WHERE Key_name = 'PRIMARY'";
     4060                        $result = pmb_mysql_query($query);
     4061                        $primary_fields = array('id_responsability','responsability_author','responsability_notice','responsability_fonction');
     4062                        $flag = false;
     4063                        while($row = pmb_mysql_fetch_object($result)) {
     4064                                if(!in_array($row->Column_name, $primary_fields)) {
     4065                                        $flag = true;
     4066                                }
     4067                        }
     4068                        if(!$flag && pmb_mysql_num_rows($result) != 4) {
     4069                                $flag = true;
     4070                        }
     4071                        if($flag) {
     4072                                $rqt = "alter table responsability drop primary key";
     4073                                echo traite_rqt($rqt,"alter table responsability drop primary key");
     4074                                $rqt = "ALTER TABLE responsability ADD id_responsability  int unsigned not null auto_increment primary key FIRST";
     4075                                echo traite_rqt($rqt,"alter table responsability add id_responsability");
     4076                                $rqt = "alter table responsability drop primary key, add primary key (id_responsability, responsability_author, responsability_notice, responsability_fonction)";
     4077                                echo traite_rqt($rqt,"alter table responsability add primary key (id_responsability, responsability_author, responsability_notice, responsability_fonction)");
     4078                        }
     4079                       
     4080                        //NG - Ajout d'un paramètre pour activer la qualification d'un lien d'auteur dans les notices et les titres uniformes
     4081                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='authors_qualification' "))==0){
     4082                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4083                                        VALUES (0, 'pmb', 'authors_qualification', '0', 'Activer qualification d\'un lien d\'auteur dans les notices et les titres uniformes\n 0 : Non\n 1 : Oui', '', '0')";
     4084                                echo traite_rqt($rqt,"insert pmb_authors_qualification=0 into parametres ");
     4085                        }
     4086
     4087                        //DG - Entrepôt par défaut en suppression de notices d'un panier
     4088                        $rqt = "ALTER TABLE users ADD deflt_agnostic_warehouse INT(6) UNSIGNED DEFAULT 0 NOT NULL " ;
     4089                        echo traite_rqt($rqt,"ALTER users ADD deflt_agnostic_warehouse");
     4090
     4091
     4092                        // NG : ajout dans les préférences utilisateur du statut de publication d'article par défaut en création d'article
     4093                        $rqt = "ALTER TABLE users ADD deflt_cms_article_statut INT(6) UNSIGNED NOT NULL DEFAULT 0 " ;
     4094                        echo traite_rqt($rqt,"ALTER users ADD deflt_cms_article_statut ");
     4095                        // NG : ajout dans les préférences utilisateur du type de contenu par défaut en création d'article
     4096                        $rqt = "ALTER TABLE users ADD deflt_cms_article_type INT(6) UNSIGNED NOT NULL DEFAULT 0 " ;
     4097                        echo traite_rqt($rqt,"ALTER users ADD deflt_cms_article_type ");
     4098                        // NG : ajout dans les préférences utilisateur du type de contenu par défaut en création de rubrique
     4099                        $rqt = "ALTER TABLE users ADD deflt_cms_section_type INT(6) UNSIGNED NOT NULL DEFAULT 0 " ;
     4100                        echo traite_rqt($rqt,"ALTER users ADD deflt_cms_section_type ");
     4101
     4102                        //NG - Ajout d'un paramètre définissant le nombre de bulletins à afficher dans le navigateur de bulletins
     4103                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='navigateur_bulletin_number' "))==0){
     4104                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4105                                        VALUES (NULL, 'opac', 'navigateur_bulletin_number', '3', 'Nombre de bulletins à afficher dans le navigateur de bulletins', 'e_aff_notice', '0')";
     4106                                echo traite_rqt($rqt,"insert opac_navigateur_bulletin_number=3 into parametres ");
     4107                        }
     4108
     4109                        //DG - Upload du logo pour les veilles
     4110                        $rqt = "ALTER TABLE docwatch_watches ADD watch_logo mediumblob not null after watch_desc";
     4111                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_logo ");
     4112
     4113                        //DG Ajout couleur sur le statut de publication du contenu éditorial
     4114                        $rqt = "ALTER TABLE cms_editorial_publications_states ADD editorial_publication_state_class_html VARCHAR( 255 ) NOT NULL default '' " ;
     4115                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_publications_states ADD editorial_publication_state_class_html ");
     4116
     4117                        //VT - Paramètre permettant de définir le dossier des classes de mappage à utiliser pour le mappage entre autorités
     4118                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='authority_mapping_folder' "))==0){
     4119                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4120                                        VALUES (0, 'pmb', 'authority_mapping_folder', '', 'Dossier des classes de mappage à utiliser pour les autorités','',0)";
     4121                                echo traite_rqt($rqt,"insert pmb_authority_mapping_folder='' into parametres");
     4122                        }
     4123
     4124                        //DG - Nomenclatures : Atelier défini/non défini
     4125                        $rqt = "ALTER TABLE nomenclature_workshops ADD workshop_defined int unsigned not null default 0";
     4126                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_workshops ADD workshop_defined ");
     4127
     4128                        //DG - Nomenclatures : Notes par familles en édition de notices
     4129                        $rqt = "ALTER TABLE nomenclature_notices_nomenclatures ADD notice_nomenclature_families_notes mediumtext not null after notice_nomenclature_notes";
     4130                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_notices_nomenclatures ADD notice_nomenclature_families_notes ");
     4131
     4132                        // AP - Ajout d'un droit de numérisation sur les notices
     4133                        // notice_scan_request_opac : Autorisation de demander une numérisation de la notice à l'OPAC
     4134                        $rqt = "ALTER TABLE notice_statut ADD notice_scan_request_opac tinyint(1) NOT NULL default 0";
     4135                        echo traite_rqt($rqt, "ALTER TABLE notice_statut ADD notice_scan_request_opac");
     4136                        // notice_scan_request_opac_abon : Autorisation uniquement pour les abonnés de demander une numérisation de la notice à l'OPAC
     4137                        $rqt = "ALTER TABLE notice_statut ADD notice_scan_request_opac_abon tinyint(1) NOT NULL default 0";
     4138                        echo traite_rqt($rqt, "ALTER TABLE notice_statut ADD notice_scan_request_opac_abon");
     4139
     4140                        // AP - Activation de la demande de numérisation en gestion
     4141                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='scan_request_activate' "))==0){
     4142                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4143                                VALUES (0, 'pmb', 'scan_request_activate', '0', 'Activer la demande de numérisation.\n0 : Non\n1 : Oui' ,'', 0)";
     4144                                echo traite_rqt($rqt,"insert pmb_scan_request_activate=0 into parametres");
     4145                        }
     4146
     4147                        // AP - Activation de la demande de numérisation en OPAC
     4148                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='scan_request_activate' "))==0){
     4149                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4150                                        VALUES (0, 'opac', 'scan_request_activate', '0', 'Activer la demande de numérisation.\n0 : Non\n1 : Oui' ,'f_modules', 0)";
     4151                                echo traite_rqt($rqt,"insert opac_scan_request_activate=0 into parametres");
     4152                        }
     4153
     4154                        // NG - Demande de numérisation: Ajout de l'interface de gestion de la liste des statuts.
     4155                        $rqt = "create table if not exists scan_request_status(
     4156                                id_scan_request_status int unsigned not null auto_increment primary key,
     4157                                scan_request_status_label varchar(255) not null default '',
     4158                                scan_request_status_opac_show int(1) not null default 0,
     4159                                scan_request_status_cancelable int(1) not null default 0,
     4160                                scan_request_status_infos_editable int(1) not null default 0,
     4161                                scan_request_status_class_html VARCHAR( 255 ) not NULL default ''
     4162                                )";
     4163                        echo traite_rqt($rqt, "create table scan_request_status");
     4164
     4165                        // NG - Demande de numérisation: Interface pour définir à partir d'un statut, les statuts suivants possibles (Workflow)
     4166                        $rqt = "create table if not exists scan_request_status_workflow(
     4167                                scan_request_status_workflow_from_num int unsigned not null default 0,
     4168                                scan_request_status_workflow_to_num int unsigned not null default 0
     4169                                )";
     4170                        echo traite_rqt($rqt, "create table scan_request_status_workflow");
     4171
     4172                        // NG - Demande de numérisation: Interface pour définir les priorités des demandes
     4173                        $rqt = "create table if not exists scan_request_priorities(
     4174                                id_scan_request_priority int unsigned not null auto_increment primary key,
     4175                                scan_request_priority_label varchar(255) not null default '',
     4176                                scan_request_priority_weight int unsigned not null default 0
     4177                                )";
     4178                        echo traite_rqt($rqt, "create table scan_request_priorities");
     4179
     4180                        // VT : Ajout dans les préférences utilisateur du statut par défaut à la création d'une demande de numérisation
     4181                        $rqt = "ALTER TABLE users ADD deflt_scan_request_status INT(1) UNSIGNED NOT NULL DEFAULT 0 " ;
     4182                        echo traite_rqt($rqt,"ALTER users ADD deflt_scan_request_status");
     4183
     4184                        // VT - NG - Table des demandes de numérisation
     4185                        // id_scan_request  : Identifiant de la demande de numérisation
     4186                        // scan_request_title : Libellé du titre de la demande
     4187                        // scan_request_desc : Description de la demande
     4188                        // scan_request_num_status : Clé étrangère (correspondance dans la table scan_request_status)
     4189                        // scan_request_num_priority : Clé étrangère (correspondance dans la table scan_request_priorities)
     4190                        // scan_request_create_date : Date de création de la demande (machine)
     4191                        // scan_request_update_date : Date de mise à jour de la demande (machine)
     4192                        // scan_request_date : Date de la demande (humain)
     4193                        // scan_request_wish_date : Date de traitement de la demande souhaité (humain)
     4194                        // scan_request_deadline_date : Date butoir de la demande (humain)
     4195                        // scan_request_comment : Commentaire de la demande
     4196                        // scan_request_elapsed_time : Temps passé sur la demande
     4197                        // scan_request_num_dest_empr : ID du destinataire de la demande
     4198                        // scan_request_num_creator : Identifiant du créateur de la demande  (User Gestion ou usager OPAC)
     4199                        // scan_request_type_creator : Type du créateur (User Gestion ou usager OPAC)
     4200                        // scan_request_num_last_user : Dernier utilisateur à avoir travaillé sur la demande
     4201                        // scan_request_state : Défini l'état d'une demande par rapport aux actions de l'usager destinataire (0 = demande normale, 1=modifiée, 2=annulée)
     4202                        $rqt = "create table if not exists scan_requests(
     4203                                id_scan_request int unsigned not null auto_increment primary key,
     4204                                scan_request_title varchar(255) not null default '',
     4205                                scan_request_desc text,
     4206                                scan_request_num_status int unsigned not null default 0,
     4207                                scan_request_num_priority int unsigned not null default 0,
     4208                                scan_request_create_date datetime,
     4209                                scan_request_update_date datetime,
     4210                                scan_request_date datetime,
     4211                                scan_request_wish_date datetime,
     4212                                scan_request_deadline_date datetime,
     4213                                scan_request_comment text,
     4214                                scan_request_elapsed_time int unsigned not null default 0,
     4215                                scan_request_num_dest_empr int unsigned not null default 0,
     4216                                scan_request_num_creator int unsigned not null default 0,
     4217                                scan_request_type_creator int unsigned not null default 0,
     4218                                scan_request_num_last_user int unsigned not null default 0,
     4219                                scan_request_state int unsigned not null default 0,
     4220                                scan_request_as_folder int(1) unsigned not null default 0,
     4221                                scan_request_folder_num_notice int unsigned not null default 0
     4222                                )";
     4223                        echo traite_rqt($rqt, "create table scan_requests");
     4224
     4225                        // VT - NG - Table des correspondance notices / demandes de numérisation
     4226                        // scan_request_linked_record_num_request  : Identifiant de la demande de numérisation
     4227                        // scan_request_linked_record_num_notice : Identifiant de la notice
     4228                        // scan_request_linked_record_num_bulletin : Identifiant du bulletin
     4229                        // scan_request_linked_record_comment : Commentaire lié à cette notice dans la demande 'num_request'
     4230                        // scan_request_linked_record_order : Ordre des éléments
     4231                        $rqt = "create table if not exists scan_request_linked_records(
     4232                                scan_request_linked_record_num_request int unsigned not null default 0,
     4233                                scan_request_linked_record_num_notice int unsigned not null default 0,
     4234                                scan_request_linked_record_num_bulletin int unsigned not null default 0,
     4235                                scan_request_linked_record_comment text,
     4236                                scan_request_linked_record_order int(3) unsigned not null default 0,
     4237                                PRIMARY KEY (scan_request_linked_record_num_request,scan_request_linked_record_num_notice,scan_request_linked_record_num_bulletin)
     4238                                )";
     4239                        echo traite_rqt($rqt, "create table scan_requests_linked_records");
     4240
     4241                        //AP & DG - Ajout d'un droit sur le statut pour les demandes de numérisation
     4242                        $rqt = "alter table empr_statut add allow_scan_request int unsigned not null default 0";
     4243                        echo traite_rqt($rqt,"alter table empr_statut add allow_scan_request");
     4244
     4245
     4246                        // AP & DG - Statut par défaut en création de demande de numérisation à l'OPAC (paramètre invisible)
     4247                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='scan_request_create_status' "))==0){
     4248                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4249                                VALUES (0, 'opac', 'scan_request_create_status', '1', 'Statut de création à l\'OPAC','a_general',1)";
     4250                                echo traite_rqt($rqt,"insert opac_scan_request_create_status=1 into parametres");
     4251                        }
     4252
     4253                        // AP & DG - Statut par défaut après annulation à l'OPAC (paramètre invisible)
     4254                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='scan_request_cancel_status' "))==0){
     4255                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4256                                        VALUES (0, 'opac', 'scan_request_cancel_status', '1', 'Statut après annulation à l\'OPAC','a_general',1)";
     4257                                echo traite_rqt($rqt,"insert opac_scan_request_cancel_status=1 into parametres");
     4258                        }
     4259
     4260                        //DG - Statut "Sans statut particulier" ajouté par défaut pour les demandes de numérisation
     4261                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from scan_request_status where id_scan_request_status=1"))==0){
     4262                                $rqt = "insert into scan_request_status SET id_scan_request_status=1, scan_request_status_label='Sans statut particulier', scan_request_status_opac_show='1' ";
     4263                                echo traite_rqt($rqt,"insert minimum into scan_request_status");
     4264                        }
     4265                       
     4266                        // VT - Table des correspondance demandes de numérisation/document numérique
     4267                        // scan_request_explnum_num_request  : Identifiant de la demande de numérisation
     4268                        // scan_request_explnum_num_notice : Identifiant de la notice
     4269                        // scan_request_explnum_num_bulletin : Identifiant du bulletin
     4270                        // scan_request_explnum_num_explnum : Identifiant du document numérique
     4271                        $rqt = "create table if not exists scan_request_explnum(
     4272                                scan_request_explnum_num_request int unsigned not null default 0,
     4273                                scan_request_explnum_num_notice int unsigned not null default 0,
     4274                                scan_request_explnum_num_bulletin int unsigned not null default 0,
     4275                                scan_request_explnum_num_explnum int unsigned not null default 0,
     4276                                PRIMARY KEY (scan_request_explnum_num_request, scan_request_explnum_num_explnum)
     4277                                )";
     4278                        echo traite_rqt($rqt, "create table scan_requests_explnum");
     4279
     4280                        //NG - Ajout d'un paramètre renseignant le répertoire d'upload des documents numériques liés aux demandes de numérisation (paramètre invisible)
     4281                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='scan_request_explnum_folder' "))==0){
     4282                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4283                                        VALUES (0, 'pmb', 'scan_request_explnum_folder', '0', 'Répertoire d\'upload des documents numériques liés aux demandes de numérisation', '', '1')";
     4284                                        echo traite_rqt($rqt,"insert pmb_scan_request_explnum_folder=0 into parametres ");
     4285                                }
     4286
     4287                        // AP : Ajout dans les préférences utilisateur du type de notice par défaut à la création d'une notice de dossier de demande de numérisation
     4288                        $rqt = "ALTER TABLE users ADD xmlta_doctype_scan_request_folder_record VARCHAR(2) NOT NULL DEFAULT 'a' " ;
     4289                        echo traite_rqt($rqt,"ALTER users ADD xmlta_doctype_scan_request_folder_record='a'");
     4290
     4291                        //DG - Paramètre pour activer ou non le sélecteur d'accès rapide
     4292                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='quick_access' "))==0){
     4293                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4294                                VALUES (0, 'opac', 'quick_access', '1', 'Activer le sélecteur d\'accès rapide ? \n0 : Non 1 : Oui','a_general',0)";
     4295                                echo traite_rqt($rqt,"insert opac_quick_access into parametres");
     4296                        }
     4297
     4298                        // AP & VT - Ajout de la colonne concept dans la table scan_request (permet de spécifier un concept pour indexer les documents numériques)
     4299                        $rqt = "ALTER TABLE scan_requests ADD scan_request_concept_uri VARCHAR(255) NOT NULL DEFAULT '' " ;
     4300                        echo traite_rqt($rqt,"ALTER scan_requests ADD scan_request_concept_uri");
     4301
     4302                        // AP & VT - Ajout de la colonne nb_scanned_pages dans la table scan_request (permet de renseigner le nombre de pages scannées dans la demande de numérisation)
     4303                        $rqt = "ALTER TABLE scan_requests ADD scan_request_nb_scanned_pages INT unsigned NOT NULL DEFAULT 0 " ;
     4304                        echo traite_rqt($rqt,"ALTER scan_requests ADD scan_request_nb_scanned_pages");
     4305
     4306                        // VT & AP - Modification de la table nomenclature_children_records : on ajoute une colonne pour stocker l'id de la nomenclature
     4307                        $rqt = "ALTER TABLE nomenclature_children_records ADD child_record_num_nomenclature int unsigned not null default 0";
     4308                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_children_records ADD child_record_num_nomenclature int unsigned not null");
     4309
     4310                        //MB - Champ prix trop petit
     4311                        $rqt = "ALTER TABLE lignes_actes CHANGE prix prix DOUBLE PRECISION(12,2) unsigned NOT NULL default '0.00'" ;
     4312                        echo traite_rqt($rqt,"ALTER lignes_actes CHANGE prix");
     4313
     4314                        //MB - Champ montant trop petit
     4315                        $rqt = "ALTER TABLE frais CHANGE montant montant DOUBLE PRECISION(12,2) unsigned NOT NULL default '0.00'" ;
     4316                        echo traite_rqt($rqt,"ALTER frais CHANGE montant");
     4317
     4318                        //MB - Champ montant_global trop petit
     4319                        $rqt = "ALTER TABLE budgets CHANGE montant_global montant_global DOUBLE PRECISION(12,2) unsigned NOT NULL default '0.00'" ;
     4320                        echo traite_rqt($rqt,"ALTER budgets CHANGE montant_global");
     4321
     4322                        //DB - script de vérification de saisie d'une notice perso en integration
     4323                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='catalog_verif_js_integration' "))==0){
     4324                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4325                                VALUES ( 'pmb', 'catalog_verif_js_integration', '', 'Script de vérification de saisie de notice en intégration','', 0)";
     4326                                echo traite_rqt($rqt,"insert pmb_catalog_verif_js_integration='' into parametres");
     4327                        }
     4328
     4329                        //NG & DG - Ajout de la table rent_pricing_systems
     4330                        // id_pricing_system : Identifiant du système de tarification
     4331                        // pricing_system_label : Nom
     4332                        // pricing_system_desc : Description
     4333                        // pricing_system_percents : Liste des pourcentages associés
     4334                        // pricing_system_num_exercice : Exercice comptable associé
     4335
     4336                        $rqt = "create table if not exists rent_pricing_systems(
     4337                                id_pricing_system int unsigned not null auto_increment primary key,
     4338                                pricing_system_label varchar(255) not null default '',
     4339                                pricing_system_desc text,
     4340                                pricing_system_percents text,
     4341                                pricing_system_num_exercice int unsigned not null default 0
     4342                                )";
     4343                        echo traite_rqt($rqt, "create table rent_pricing_systems");
     4344
     4345                        //NG & DG - Ajout de la table rent_pricing_system_grids
     4346                        // id_pricing_system_grid : Identifiant incrémentiel
     4347                        // pricing_system_grid_num_system : Système de tarification associé
     4348                        // pricing_system_grid_time_start : Minutage de départ
     4349                        // pricing_system_grid_time_end : Minutage de fin
     4350                        // pricing_system_grid_price : Prix
     4351                        // pricing_system_grid_type : Type (1 : intervalle, 2 : Temps suppl, 3 : Non utilisé)
     4352                        $rqt = "create table if not exists rent_pricing_system_grids(
     4353                                id_pricing_system_grid int unsigned not null auto_increment primary key,
     4354                                pricing_system_grid_num_system int unsigned not null default 0,
     4355                                pricing_system_grid_time_start int unsigned not null default 0,
     4356                                pricing_system_grid_time_end int unsigned not null default 0,
     4357                                pricing_system_grid_price float(12,2) unsigned not null default 0,
     4358                                pricing_system_grid_type int unsigned not null default 0
     4359                                )";
     4360                        echo traite_rqt($rqt, "create table rent_pricing_system_grids");
     4361
     4362                        //NG & DG - Ajout de la table rent_account_sections
     4363                        // account_type_num_exercice : Exercice comptable associé
     4364                        // account_type_num_section : Rubrique budgétaire associée
     4365                        // account_type_marclist : Type de décompte associé
     4366                        $rqt = "create table if not exists rent_account_types_sections(
     4367                                account_type_num_exercice int unsigned not null default 0,
     4368                                account_type_num_section int unsigned not null default 0,
     4369                                account_type_marclist varchar(10) not null default '',
     4370                                PRIMARY KEY (account_type_num_section, account_type_marclist)
     4371                                )";
     4372                        echo traite_rqt($rqt, "create table rent_account_sections");
     4373
     4374                        //NG & DG - Ajout de la table rent_accounts
     4375                        // id_account : Identifiant du décompte
     4376                        // account_num_user : Identifiant de l'utilisateur qui l'a créé
     4377                        // account_num_exercice : Exercice comptable associé
     4378                        // account_type : Type de la demande
     4379                        // account_desc : Description
     4380                        // account_date : Date de création
     4381                        // account_receipt_limit_date : Date limite de réception
     4382                        // account_receipt_effective_date : Date effective de réception
     4383                        // account_return_date : Date de retour
     4384                        // account_num_authority : Exécution associée
     4385                        // account_title : Titre
     4386                        // account_event_date : Date de l'évènement
     4387                        // account_event_formation : Formation
     4388                        // account_event_orchestra : Chef d'orchestre
     4389                        // account_event_place : Lieu de l'évènement
     4390                        // account_num_publisher : Editeur associé
     4391                        // account_num_author : Compositeur associé
     4392                        // account_num_pricing_system : Système de tarification associé
     4393                        // account_time : Minutage
     4394                        // account_percent : Pourcentage
     4395                        // account_price : Prix
     4396                        // account_web : Diffusion Web (Oui/Non)
     4397                        // account_web_percent : Pourcentage Web
     4398                        // account_web_price : Prix Web
     4399                        $rqt = "create table if not exists rent_accounts(
     4400                                id_account int unsigned not null auto_increment primary key,
     4401                                account_num_user int unsigned not null default 0,
     4402                                account_num_exercice int unsigned not null default 0,
     4403                                account_type varchar(3) not null default '',
     4404                                account_desc text,
     4405                                account_date datetime,
     4406                                account_receipt_limit_date datetime,
     4407                                account_receipt_effective_date datetime,
     4408                                account_return_date datetime,
     4409                                account_num_uniform_title int unsigned not null default 0,
     4410                                account_title varchar(255) not null default '',
     4411                                account_event_date varchar(255) not null default '',
     4412                                account_event_formation varchar(255) not null default '',
     4413                                account_event_orchestra varchar(255) not null default '',
     4414                                account_event_place varchar(255) not null default '',
     4415                                account_num_publisher int unsigned not null default 0,
     4416                                account_num_author int unsigned not null default 0,
     4417                                account_num_pricing_system int unsigned not null default 0,
     4418                                account_time int unsigned not null default 0,
     4419                                account_percent float(8,2) unsigned not null default 0,
     4420                                account_price float(12,2) unsigned not null default 0,
     4421                                account_web int(1) unsigned not null default 0,
     4422                                account_web_percent float(8,2) unsigned not null default 0,
     4423                                account_web_price float(12,2) unsigned not null default 0,
     4424                                account_comment text
     4425                                )";
     4426                        echo traite_rqt($rqt, "create table rent_accounts");
     4427
     4428                        //NG & DG - Ajout de la table rent_invoices
     4429                        // id_invoice : Identifiant de la facture
     4430                        // invoice_num_user : Identifiant de l'utilisateur qui l'a créée
     4431                        // invoice_date : Date de génération
     4432                        // invoice_status : Enumération (0 = en cours, 1 = validée)
     4433                        // invoice_valid_date : Date de validation
     4434                        $rqt = "create table if not exists rent_invoices(
     4435                                id_invoice int unsigned not null auto_increment primary key,
     4436                                invoice_num_user int unsigned not null default 0,
     4437                                invoice_date datetime,
     4438                                invoice_status int unsigned not null default 1,
     4439                                invoice_valid_date datetime,
     4440                                invoice_destination varchar(10) not null default ''
     4441                                )";
     4442                        echo traite_rqt($rqt, "create table rent_invoices");
     4443
     4444                        //NG & DG - Ajout de la table rent_accounts_invoices
     4445                        // account_invoice_num_account : Identifiant du décompte associé
     4446                        // account_invoice_num_invoice : Identifiant de la facture associée
     4447                        $rqt = "create table if not exists rent_accounts_invoices(
     4448                                account_invoice_num_account int unsigned not null default 0,
     4449                                account_invoice_num_invoice int unsigned not null default 0,
     4450                                PRIMARY KEY (account_invoice_num_account, account_invoice_num_invoice)
     4451                                )";
     4452                        echo traite_rqt($rqt, "create table rent_accounts_invoices");
     4453
     4454                        //NG
     4455                        $rqt = "ALTER TABLE rent_accounts ADD account_request_type varchar(3) not null default '' after account_num_exercice " ;
     4456                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_request_type ");
     4457
     4458                        //DG - Statut sur les demandes de location (commandé / non commandé)
     4459                        $rqt = "ALTER TABLE rent_accounts ADD account_request_status int(1) unsigned not null default 1 " ;
     4460                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_request_status ");
     4461
     4462                        //NG
     4463                        $rqt = "ALTER TABLE rent_accounts ADD account_num_acte int unsigned not null default 0 " ;
     4464                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_num_acte ");
     4465
     4466                        //NG
     4467                        $rqt = "ALTER TABLE rent_invoices ADD invoice_num_acte int unsigned not null default 0 " ;
     4468                        echo traite_rqt($rqt,"ALTER TABLE rent_invoices ADD invoice_num_acte ");
     4469
     4470                        //NG - Ajout d'un lien fournisseur dans la table des editeurs
     4471                        $rqt = "ALTER TABLE publishers ADD ed_num_entite int unsigned NOT NULL default 0 " ;
     4472                        echo traite_rqt($rqt,"ALTER TABLE publishers ADD ed_num_entite ");
     4473
     4474                        // DG - Afficher la possibilité pour le lecteur d'inscrire d'autres membres à ses listes
     4475                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param='opac' and sstype_param='shared_lists_add_empr' "))==0){
     4476                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4477                                VALUES (0, 'opac', 'shared_lists_add_empr', '0', 'Afficher la possibilité pour le lecteur d\'inscrire d\'autres membres à ses listes de lecture partagées \n 0 : Non \n 1 : Oui', 'a_general', '0')";
     </