Changeset 6976


Ignore:
Timestamp:
Mar 7, 2018, 2:43:24 PM (20 months ago)
Author:
jrpelegrina
Message:

WIP in migration 14. Import db from Trusty and Xenial and Tejuelo with percentaje option

Location:
pmb5.0/trunk/fuentes/pmb
Files:
1 added
7 edited

Legend:

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

    r6890 r6976  
    141141                    include ("./alter_vLlxTrusty.inc.php") ;
    142142            }
     143//--------------------LLIUREX 07/03/2018---------------------------
     144                if ($version_pmb_bdd=="vLlxXenial"){   
     145                    include ("./alter_vLlxXenial.inc.php") ;
     146            }
     147//--------------------FIN LLIUREX 07/03/2018-------------------             
    143148                break ;
    144149//------- ----------FIN LLIUREX 21/02/2018 -----------------------             
  • pmb5.0/trunk/fuentes/pmb/admin/misc/alter_vLlxTrusty.inc.php

    r6916 r6976  
    33//  2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
    44// +-------------------------------------------------+
    5 // $Id: alter_vLlxTrusty.inc.php, migración BD a v5.19 (Lliurex 16.05 Xenial desde v.5.14 (Lliurex 15.05 Trusty)
     5// $Id: alter_vLlxTrusty.inc.php, migración BD a v5.28 (Lliurex 16+ Xenial desde v.5.14 (Lliurex 15.05 Trusty)
    66
    77
     
    1515       
    1616//      case "v5.14":
    17                 // 5 actualizaciones desde trusty (v5.14) a xenial (v5.19)
    18                 $increment=100/6;
     17//---------------------LLIUREX 07/03/2018-------------------------     
     18                // 15 actualizaciones desde trusty (v5.14) a xenial+ (v5.28)
     19                $increment=100/15;
     20//---------------------FIN LLIUREX 07/03/2018----------------------             
    1921                $action=$increment;
    2022                echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     
    29072909                        echo traite_rqt($rqt,"update actes date_validation ");
    29082910                       
     2911
     2912        //-----------------LLIUREX 07/03/2018---------------   
     2913                        echo "</table>";
     2914                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     2915                        $res = pmb_mysql_query($rqt, $dbh) ;
     2916                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     2917                        $action=$action+$increment;
     2918                        //echo form_relance ("v5.20");
     2919
     2920        //case "v5.20":
     2921
     2922                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     2923                        // +-------------------------------------------------+
     2924
     2925                        //DG - maj Colonnes exemplaires affichées en gestion - ajout en commentaire du groupe d'exemplaires
     2926                        $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' ";
     2927                        echo traite_rqt($rqt,"update pmb_expl_data into parametres");
     2928
     2929                        // AP - Ajout d'une colonne pour lier une notice à une demande
     2930                        $rqt = "ALTER TABLE demandes ADD num_linked_notice mediumint(8) UNSIGNED NOT NULL default 0" ;
     2931                        echo traite_rqt($rqt,"ALTER TABLE demandes ADD num_linked_notice");
     2932
     2933                        // AP - Ajout d'un parametre permettant d'autoriser le lecteur à faire une demande à partir d'une notice
     2934                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='demandes_allow_from_record' "))==0){
     2935                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     2936                                                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) ";
     2937                                echo traite_rqt($rqt, "insert opac_demandes_allow_from_record into parameters");
     2938                        }
     2939
     2940
     2941                        //VT - Parametre d'activation de la génération des exemplaires fantomes dans la popup de transfert en gestion
     2942                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='ghost_expl_enable' "))==0){
     2943                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     2944                                        VALUES (0, 'transferts', 'ghost_expl_enable', '0', '1', 'Script de generation utilise pour les codes barres d\'exemplaires fantomes') ";
     2945                                echo traite_rqt($rqt,"INSERT transferts_ghost_expl_enable INTO parametres") ;
     2946                        }
     2947
     2948                        //VT - Parametre de statut par défaut pour les exemplaires fantomes en transfert
     2949                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='ghost_statut_expl_transferts' "))==0){
     2950                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     2951                                        VALUES (0, 'transferts', 'ghost_statut_expl_transferts', '0', '1', 'id du statut dans lequel seront placés les exemplaires fantomes en cours de transit') ";
     2952                                echo traite_rqt($rqt,"INSERT transferts_ghost_statut_expl_transferts INTO parametres") ;
     2953                        }
     2954
     2955                        //VT - Parametre de choix du script par défaut pour la génération des codes barres des exemplaires fantomes
     2956                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='ghost_expl_gen_script' "))==0){
     2957                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     2958                                        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') ";
     2959                                echo traite_rqt($rqt,"INSERT transferts_ghost_expl_gen_script INTO parametres") ;
     2960                        }
     2961
     2962                        //VT - Ajout d'un champs expl_ref_num correspondant à l'id d'exemplaire dont le fantome est issu
     2963                        $rqt = "ALTER TABLE exemplaires ADD expl_ref_num INT(10) NOT NULL default '0'" ;
     2964                        echo traite_rqt($rqt,"ALTER TABLE exemplaires ADD expl_ref_num ");
     2965
     2966                        //DG - Champs perso demandes
     2967                        $rqt = "create table if not exists demandes_custom (
     2968                                idchamp int(10) unsigned NOT NULL auto_increment,
     2969                                name varchar(255) NOT NULL default '',
     2970                                titre varchar(255) default NULL,
     2971                                type varchar(10) NOT NULL default 'text',
     2972                                datatype varchar(10) NOT NULL default '',
     2973                                options text,
     2974                                multiple int(11) NOT NULL default 0,
     2975                                obligatoire int(11) NOT NULL default 0,
     2976                                ordre int(11) default NULL,
     2977                                search INT(1) unsigned NOT NULL DEFAULT 0,
     2978                                export INT(1) unsigned NOT NULL DEFAULT 0,
     2979                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     2980                                pond int not null default 100,
     2981                                opac_sort INT NOT NULL DEFAULT 0,
     2982                                PRIMARY KEY  (idchamp)) ";
     2983                        echo traite_rqt($rqt,"create table if not exists demandes_custom ");
     2984
     2985                        $rqt = "create table if not exists demandes_custom_lists (
     2986                                demandes_custom_champ int(10) unsigned NOT NULL default 0,
     2987                                demandes_custom_list_value varchar(255) default NULL,
     2988                                demandes_custom_list_lib varchar(255) default NULL,
     2989                                ordre int(11) default NULL,
     2990                                KEY i_demandes_custom_champ (demandes_custom_champ),
     2991                                KEY i_demandes_champ_list_value (demandes_custom_champ,demandes_custom_list_value)) " ;
     2992                        echo traite_rqt($rqt,"create table if not exists demandes_custom_lists ");
     2993
     2994                        $rqt = "create table if not exists demandes_custom_values (
     2995                                demandes_custom_champ int(10) unsigned NOT NULL default 0,
     2996                                demandes_custom_origine int(10) unsigned NOT NULL default 0,
     2997                                demandes_custom_small_text varchar(255) default NULL,
     2998                                demandes_custom_text text,
     2999                                demandes_custom_integer int(11) default NULL,
     3000                                demandes_custom_date date default NULL,
     3001                                demandes_custom_float float default NULL,
     3002                                KEY i_demandes_custom_champ (demandes_custom_champ),
     3003                                KEY i_demandes_custom_origine (demandes_custom_origine)) " ;
     3004                        echo traite_rqt($rqt,"create table if not exists demandes_custom_values ");
     3005
     3006                        //AR - Gestion d'ontologies...
     3007                        $rqt = "create table if not exists ontologies (
     3008                                id_ontology int unsigned not null auto_increment,
     3009                                ontology_name varchar(255) not null default '',
     3010                                ontology_description text not null,
     3011                                ontology_creation_date datetime not null default '0000-00-00 00:00:00',
     3012                                primary key(id_ontology)
     3013                        )";
     3014                        echo traite_rqt($rqt,"create table if not exists ontologies");
     3015
     3016                        // NG - Circulation simplifiée de périodique
     3017                        $rqt = "ALTER TABLE serialcirc ADD serialcirc_simple int unsigned not null default 0" ;
     3018                        echo traite_rqt($rqt,"ALTER TABLE serialcirc ADD serialcirc_simple ");
     3019
     3020                        // NG - Script de construction d'étiquette de circulation simplifiée de périodique
     3021                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='serialcirc_simple_print_script' "))==0){
     3022                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3023                                        VALUES (0, 'pmb', 'serialcirc_simple_print_script', '', 'Script de construction d\'étiquette de circulation simplifiée de périodique' ,'',0)";
     3024                                echo traite_rqt($rqt,"insert pmb_serialcirc_simple_print_script into parametres");
     3025                        }
     3026
     3027                        // DB - Modification de la table resarc (id resa_planning pour resa issue d'une prévision)
     3028                        $rqt = "alter table resa_archive add resarc_resa_planning_id_resa int(8) unsigned not null default 0";
     3029                        echo traite_rqt($rqt,"alter resa_archive add resarc_resa_planning_id_resa");
     3030
     3031                        // NG - Ajout de tu_oeuvre_nature et tu_oeuvre_type
     3032                        $rqt = "ALTER TABLE titres_uniformes ADD tu_oeuvre_nature VARCHAR(3) NOT NULL default 'a'" ;
     3033                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes ADD tu_oeuvre_nature ");
     3034                        $rqt = "ALTER TABLE titres_uniformes ADD tu_oeuvre_type VARCHAR(3) NOT NULL default 'a'" ;
     3035                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes ADD tu_oeuvre_type ");
     3036
     3037                        // NG - Ajout de la table tu_oeuvres_links
     3038                        $rqt = "create table if not exists tu_oeuvres_links (
     3039                                oeuvre_link_from int not null default 0,
     3040                                oeuvre_link_to int not null default 0,
     3041                                oeuvre_link_type VARCHAR(3) not null default '',
     3042                                oeuvre_link_expression int not null default 0,
     3043                                oeuvre_link_other_link int not null default 1,
     3044                                oeuvre_link_order int not null default 0
     3045                        )";
     3046                        echo traite_rqt($rqt,"create table if not exists tu_oeuvres_links");
     3047
     3048                        // AP - Nombre maximum de notices à afficher dans une liste sans pagination
     3049                        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){
     3050                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3051                                        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)";
     3052                                echo traite_rqt($rqt,"insert max_results_on_a_page into parametres");
     3053                        }
     3054
     3055                        //JP - taille de certains champs blob trop juste
     3056                        $rqt = "ALTER TABLE opac_sessions CHANGE session session MEDIUMBLOB NULL DEFAULT NULL";
     3057                        echo traite_rqt($rqt,"ALTER TABLE opac_sessions CHANGE session MEDIUMBLOB");
     3058                        $rqt = " select 1 " ;
     3059                        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> ") ;
     3060
     3061                        // NG - Ajout tu_oeuvre_nature_nature dans titres_uniformes
     3062                        $rqt = "ALTER TABLE titres_uniformes ADD tu_oeuvre_nature_nature VARCHAR(255) NOT NULL default 'original'" ;
     3063                        echo traite_rqt($rqt,"ALTER TABLE titres_uniformes ADD tu_oeuvre_nature_nature ");
     3064
     3065                        // NG - Ajout authperso_oeuvre_event dans authperso
     3066                        $rqt = "ALTER TABLE authperso ADD authperso_oeuvre_event int unsigned NOT NULL default '0'" ;
     3067                        echo traite_rqt($rqt,"ALTER TABLE authperso ADD authperso_oeuvre_event ");
     3068
     3069                        // NG - Ajout de la table tu_oeuvres_events
     3070                        $rqt = "create table if not exists tu_oeuvres_events (
     3071                                oeuvre_event_tu_num int not null default 0,
     3072                                oeuvre_event_authperso_authority_num int not null default 0,
     3073                                oeuvre_event_order int not null default 0
     3074                        )";
     3075                        echo traite_rqt($rqt,"create table if not exists tu_oeuvres_events");
     3076
     3077                        // NG - Ajout comment dans les champs personalisés
     3078                        $rqt = "ALTER TABLE notices_custom ADD comment BLOB NOT NULL default ''" ;
     3079                        echo traite_rqt($rqt,"ALTER TABLE notices_custom ADD comment ");
     3080
     3081                        $rqt = "ALTER TABLE author_custom ADD comment BLOB NOT NULL default ''" ;
     3082                        echo traite_rqt($rqt,"ALTER TABLE author_custom ADD comment ");
     3083
     3084                        $rqt = "ALTER TABLE authperso_custom ADD comment BLOB NOT NULL default ''" ;
     3085                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom ADD comment ");
     3086
     3087                        $rqt = "ALTER TABLE categ_custom ADD comment BLOB NOT NULL default ''" ;
     3088                        echo traite_rqt($rqt,"ALTER TABLE categ_custom ADD comment ");
     3089
     3090                        $rqt = "ALTER TABLE cms_editorial_custom ADD comment BLOB NOT NULL default ''" ;
     3091                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom ADD comment ");
     3092
     3093                        $rqt = "ALTER TABLE collection_custom ADD comment BLOB NOT NULL default ''" ;
     3094                        echo traite_rqt($rqt,"ALTER TABLE collection_custom ADD comment ");
     3095
     3096                        $rqt = "ALTER TABLE collstate_custom ADD comment BLOB NOT NULL default ''" ;
     3097                        echo traite_rqt($rqt,"ALTER TABLE collstate_custom ADD comment ");
     3098
     3099                        $rqt = "ALTER TABLE demandes_custom ADD comment BLOB NOT NULL default ''" ;
     3100                        echo traite_rqt($rqt,"ALTER TABLE demandes_custom ADD comment ");
     3101
     3102                        $rqt = "ALTER TABLE empr_custom ADD comment BLOB NOT NULL default ''" ;
     3103                        echo traite_rqt($rqt,"ALTER TABLE empr_custom ADD comment ");
     3104
     3105                        $rqt = "ALTER TABLE expl_custom ADD comment BLOB NOT NULL default ''" ;
     3106                        echo traite_rqt($rqt,"ALTER TABLE expl_custom ADD comment ");
     3107
     3108                        $rqt = "ALTER TABLE gestfic0_custom ADD comment BLOB NOT NULL default ''" ;
     3109                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom ADD comment ");
     3110
     3111                        $rqt = "ALTER TABLE indexint_custom ADD comment BLOB NOT NULL default ''" ;
     3112                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom ADD comment ");
     3113
     3114                        $rqt = "ALTER TABLE pret_custom ADD comment BLOB NOT NULL default ''" ;
     3115                        echo traite_rqt($rqt,"ALTER TABLE pret_custom ADD comment ");
     3116
     3117                        $rqt = "ALTER TABLE publisher_custom ADD comment BLOB NOT NULL default ''" ;
     3118                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom ADD comment ");
     3119
     3120                        $rqt = "ALTER TABLE serie_custom ADD comment BLOB NOT NULL default ''" ;
     3121                        echo traite_rqt($rqt,"ALTER TABLE serie_custom ADD comment ");
     3122
     3123                        $rqt = "ALTER TABLE subcollection_custom ADD comment BLOB NOT NULL default ''" ;
     3124                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom ADD comment ");
     3125
     3126                        $rqt = "ALTER TABLE tu_custom ADD comment BLOB NOT NULL default ''" ;
     3127                        echo traite_rqt($rqt,"ALTER TABLE tu_custom ADD comment ");
     3128
     3129                        // AP - Activation de l'interface DOJO pour la multicritère en gestion
     3130                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='extended_search_dnd_interface' "))==0){
     3131                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3132                                        VALUES (0, 'pmb', 'extended_search_dnd_interface', '1', 'Activer l\'interface drag\'n\'drop pour la recherche multicritère.\n0 : Non\n1 : Oui' ,'', 0)";
     3133                                echo traite_rqt($rqt,"insert extended_search_dnd_interface into parametres");
     3134                        }
     3135
     3136                        // AP - Activation de l'interface DOJO pour la multicritère en OPAC
     3137                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='extended_search_dnd_interface' "))==0){
     3138                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3139                                        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)";
     3140                                echo traite_rqt($rqt,"insert extended_search_dnd_interface into parametres");
     3141                        }
     3142
     3143                        //JP - bouton vider le cache portail
     3144                        $rqt = "ALTER TABLE cms_articles ADD article_update_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL";
     3145                        echo traite_rqt($rqt,"ALTER TABLE cms_articles ADD article_update_timestamp");
     3146                        $rqt = "UPDATE cms_articles SET article_update_timestamp=article_creation_date";
     3147                        echo traite_rqt($rqt,"UPDATE cms_articles SET article_update_timestamp");
     3148                        $rqt = "ALTER TABLE cms_sections ADD section_update_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL";
     3149                        echo traite_rqt($rqt,"ALTER TABLE cms_sections ADD section_update_timestamp");
     3150                        $rqt = "UPDATE cms_sections SET section_update_timestamp=section_creation_date";
     3151                        echo traite_rqt($rqt,"UPDATE cms_sections SET section_update_timestamp");
     3152
     3153                        //JP - choix notice nouveauté oui/non par utilisateur en création de notice
     3154                        $rqt = "ALTER TABLE users ADD deflt_notice_is_new INT( 1 ) UNSIGNED NOT NULL DEFAULT '0'";
     3155                        echo traite_rqt($rqt,"ALTER TABLE users ADD deflt_notice_is_new");
     3156
     3157                        // JP - paramètre mail_adresse_from pour l'envoi de mails
     3158                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='mail_adresse_from' "))==0){
     3159                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3160                                                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)";
     3161                                echo traite_rqt($rqt,"insert pmb_mail_adresse_from into parametres");
     3162                        }
     3163                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='mail_adresse_from' "))==0){
     3164                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3165                                                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)";
     3166                                echo traite_rqt($rqt,"insert opac_mail_adresse_from into parametres");
     3167                        }
     3168
     3169                        // JP - blocage des prolongations autorisées si relance sur le prêt
     3170                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='pret_prolongation_blocage' "))==0){
     3171                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3172                                                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)";
     3173                                echo traite_rqt($rqt,"insert opac_pret_prolongation_blocage into parametres");
     3174                        }
     3175
     3176                        // VT & DG - Ajout de la table memorisant les grilles de saisie de formulaire
     3177                        // grid_generic_type : Type d'objet
     3178                        // grid_generic_filter : Signature (en cas de grilles multiples)
     3179                        // grid_generic_data : Format JSON de la grille
     3180                        $rqt = "create table if not exists grids_generic (
     3181                                grid_generic_type VARCHAR(32) not null default '',
     3182                                grid_generic_filter VARCHAR(255) not null default '',
     3183                                grid_generic_data mediumblob NOT NULL,
     3184                                PRIMARY KEY (grid_generic_type,grid_generic_filter)
     3185                                )";
     3186                        echo traite_rqt($rqt,"create table if not exists grids_generic");
     3187
     3188                        //DG - Grilles d'autorités éditables
     3189                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='form_authorities_editables' "))==0){
     3190                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3191                                        VALUES (0, 'pmb', 'form_authorities_editables', '1', 'Grilles d\'autorités éditables \n 0 non \n 1 oui','',0)";
     3192                                echo traite_rqt($rqt,"insert pmb_form_authorities_editables into parametres");
     3193                        }
     3194
     3195                        //JP - Export tableur des prêts dans le compte emprunteur
     3196                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='empr_export_loans' "))==0){
     3197                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3198                                        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)";
     3199                                echo traite_rqt($rqt,"insert opac_empr_export_loans into parametres");
     3200                        }
     3201
     3202                        //Alexandre - Ajout des modes d'affichage avec sélection par étoiles
     3203                        $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'";
     3204                        echo traite_rqt($rqt,"UPDATE pmb_avis_note_display_mode into parametres");
     3205                        $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'";
     3206                        echo traite_rqt($rqt,"UPDATE opac_avis_note_display_mode into parametres");
     3207
     3208                        //JP - paramètre utilisateur : localisation par défaut en bulletinage
     3209                        // deflt_bulletinage_location : Identifiant de la localisation par défaut en bulletinage
     3210                        $rqt = "ALTER TABLE users ADD deflt_bulletinage_location INT( 6 ) UNSIGNED NOT NULL DEFAULT 0 AFTER deflt_collstate_location";
     3211                        echo traite_rqt($rqt,"ALTER TABLE users ADD deflt_bulletinage_location");
     3212                        $rqt = "UPDATE users SET deflt_bulletinage_location=deflt_docs_location";
     3213                        echo traite_rqt($rqt,"UPDATE users SET deflt_bulletinage_location=deflt_docs_location");
     3214
     3215                        //JP - audit sur le contenu éditorial
     3216                        $res=pmb_mysql_query("SELECT id_section, section_creation_date, section_update_timestamp FROM cms_sections");
     3217                        if($res && pmb_mysql_num_rows($res)){
     3218                                while ($r=pmb_mysql_fetch_object($res)){
     3219                                        $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='' ";
     3220                                        pmb_mysql_query($rqt);
     3221                                        if ($r->section_update_timestamp != $r->section_creation_date.' 00:00:00') {
     3222                                                $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='' ";
     3223                                                pmb_mysql_query($rqt);
     3224                                        }
     3225                                }
     3226                                $rqt = " select 1 " ;
     3227                                echo traite_rqt($rqt,"INSERT editorial_sections INTO audit ");
     3228                        }
     3229                        $res=pmb_mysql_query("SELECT id_article, article_creation_date, article_update_timestamp FROM cms_articles");
     3230                        if($res && pmb_mysql_num_rows($res)){
     3231                                while ($r=pmb_mysql_fetch_object($res)){
     3232                                        $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='' ";
     3233                                        pmb_mysql_query($rqt);
     3234                                        if ($r->article_update_timestamp != $r->article_creation_date.' 00:00:00') {
     3235                                                $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='' ";
     3236                                                pmb_mysql_query($rqt);
     3237                                        }
     3238                                }
     3239                                $rqt = " select 1 " ;
     3240                                echo traite_rqt($rqt,"INSERT editorial_articles INTO audit ");
     3241                        }
     3242
     3243                        //MB - last_sync_date : Date de la dernière synchronisation du connecteur
     3244                        $rqt = "ALTER TABLE connectors_sources ADD last_sync_date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL";
     3245                        echo traite_rqt($rqt,"ALTER TABLE connectors_sources ADD last_sync_date");
     3246
     3247                        // DG & AP - Création d'une table d'autorités pour des identifiants uniques quel que soit le type d'autorité
     3248                        // id_authority : Identifiant unique de l'autorité
     3249                        // num_object : Identifiant de l'autorité dans sa table
     3250                        // type_object : Type de l'autorité
     3251                        $rqt="create table if not exists authorities (
     3252                                id_authority int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
     3253                                num_object mediumint(8) UNSIGNED NOT NULL default 0,
     3254                                type_object int unsigned not null default 0,
     3255                                index i_object(num_object, type_object)
     3256                                )";
     3257                        echo traite_rqt($rqt, "create table authorities");
     3258
     3259                        // DG & AP - Création de la table d'indexation d'autorités - Table des champs
     3260                        // id_authority : Identifiant de l'autorité faisant référence à l'identifiant de la table authorities
     3261                        // type : Type d'autorité
     3262                        // code_champ : Code champ
     3263                        // code_ss_champ : Code sous champ
     3264                        // ordre : Ordre
     3265                        // value : Valeur
     3266                        // pond : Pondération
     3267                        // lang : Langue
     3268                        // authority_num : Identifiant de l'autorité liée
     3269                        $rqt="create table if not exists authorities_fields_global_index (
     3270                                id_authority int unsigned not null default 0,
     3271                                type int(5) unsigned not null default 0,
     3272                                code_champ int(10) not null default 0,
     3273                                code_ss_champ int(3) not null default 0,
     3274                                ordre int(4) not null default 0,
     3275                                value text not null,
     3276                                pond int(4) not null default 100,
     3277                                lang varchar(10) not null default '',
     3278                                authority_num varchar(50) not null default '',
     3279                                primary key(id_authority,code_champ,code_ss_champ,ordre),
     3280                                index i_value(value(300)),
     3281                                index i_id_value(id_authority,value(300))
     3282                                )";
     3283                        echo traite_rqt($rqt, "create table authorities_fields_global_index");
     3284
     3285                        // DG & AP - Création de la table d'indexation d'autorités - Table de mots
     3286                        // id_authority : Identifiant de l'autorité faisant référence à l'identifiant de la table authorities
     3287                        // type : Type d'autorité
     3288                        // code_champ : Code champ
     3289                        // code_ss_champ : Code sous champ
     3290                        // num_word : Identifiant du mot dans la table words
     3291                        // pond : Pondération
     3292                        // position : Position du champ
     3293                        // field_position : Position du mot dans le champ
     3294                        $rqt = "create table if not exists authorities_words_global_index(
     3295                                id_authority int unsigned not null default 0,
     3296                                type int(5) unsigned not null default 0,
     3297                                code_champ int unsigned not null default 0,
     3298                                code_ss_champ int unsigned not null default 0,
     3299                                num_word int unsigned not null default 0,
     3300                                pond int unsigned not null default 100,
     3301                                position int unsigned not null default 1,
     3302                                field_position int unsigned not null default 1,
     3303                                primary key (id_authority,code_champ,num_word,position,code_ss_champ),
     3304                                index code_champ(code_champ),
     3305                                index i_id_mot(num_word,id_authority),
     3306                                index i_code_champ_code_ss_champ_num_word(code_champ,code_ss_champ,num_word))";
     3307                        echo traite_rqt($rqt,"create table authorities_words_global_index");
     3308
     3309                        // DG & AP - Ajout d'index sur la table aut_link
     3310                        $rqt = "ALTER TABLE aut_link drop index i_from";
     3311                        echo traite_rqt($rqt,"alter table aut_link drop index i_from");
     3312                        $rqt = "ALTER TABLE aut_link add index i_from (aut_link_from,aut_link_from_num) ";
     3313                        echo traite_rqt($rqt, "add index i_from to aut_link");
     3314
     3315                        // DG & AP - Ajout d'index sur la table aut_link
     3316                        $rqt = "ALTER TABLE aut_link drop index i_to";
     3317                        echo traite_rqt($rqt,"alter table aut_link drop index i_to");
     3318                        $rqt = "ALTER TABLE aut_link add index i_to (aut_link_to,aut_link_to_num) ";
     3319                        echo traite_rqt($rqt, "add index i_to to aut_link");
     3320
     3321                        // AR - Création d'un statut pour les autorités
     3322                        // id_authorities_statut : Identifiant du statut d'autorités
     3323                        // authorities_statut_label : Libellé du statut
     3324                        // authorities_statut_class_html : Distinction de couleur pour le statut
     3325                        // authorities_statut_available_for : Quelles sont les autorités autorisées à utiliser ce statut ?
     3326                        $rqt = "create table if not exists authorities_statuts (
     3327                                id_authorities_statut int unsigned not null auto_increment primary key,
     3328                                authorities_statut_label varchar(255) not null default '',
     3329                                authorities_statut_class_html varchar(25) not null default '',
     3330                                authorities_statut_available_for text
     3331                                )";
     3332                        echo traite_rqt($rqt,"create table authorities_statuts");
     3333
     3334                        // NG - VT - Statut par défaut pour les autorités
     3335                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from authorities_statuts where id_authorities_statut='1' "))==0) {
     3336                                $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";}').'") ';
     3337                                echo traite_rqt($rqt,"insert default lignes_actes_statuts");
     3338                        }
     3339
     3340                        // DG - création du champ statut pour les autorités
     3341                        $rqt = "alter table authorities add num_statut int(2) unsigned not null default 1";
     3342                        echo traite_rqt($rqt,"alter table authorities add num_statut");
     3343
     3344                        //DG - Paramètre pour afficher ou non le bandeau d'acceptation des cookies
     3345                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='cookies_consent' "))==0){
     3346                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3347                                        VALUES (0, 'opac', 'cookies_consent', '1', 'Afficher le bandeau d\'acceptation des cookies et des traceurs ? \n0 : Non 1 : Oui','a_general',0)";
     3348                                echo traite_rqt($rqt,"insert opac_cookies_consent into parametres");
     3349                        }
     3350
     3351                        //DG - Grille d'auteur pour les personnes physiques
     3352                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from grids_generic where grid_generic_type= 'auteurs' and grid_generic_filter='70' "))==0){
     3353                                $rqt = "INSERT INTO grids_generic (grid_generic_type, grid_generic_filter, grid_generic_data)
     3354                                                                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\"}]}]')";
     3355                                echo traite_rqt($rqt,"insert minimum into grids_generic");
     3356                        }
     3357
     3358                        //DG - Info de réindexation
     3359                        $rqt = " select 1 " ;
     3360                        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> ") ;
     3361
     3362                        // +-------------------------------------------------+
     3363                        echo "</table>";
     3364                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     3365                        $res = pmb_mysql_query($rqt, $dbh) ;
     3366
     3367                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     3368                        $action=$action+$increment;
     3369                        //echo form_relance ("v5.21");
     3370
     3371       
     3372        //      case "v5.21":
     3373                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     3374                        // +-------------------------------------------------+
     3375
     3376                        //NG -  DSI: Ajout de bannette_aff_notice_number pour afficher ou pas le nombre de notices envoyées dans le mail
     3377                        $rqt = "ALTER TABLE bannettes ADD bannette_aff_notice_number int unsigned NOT NULL default 1 " ;
     3378                        echo traite_rqt($rqt,"ALTER TABLE bannettes ADD bannette_aff_notice_number ");
     3379
     3380                        //JP - Personnalisation des colonnes pour l'affichage des états des collections en gestion
     3381                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='collstate_data' "))==0){
     3382                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3383                                                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)";
     3384                                echo traite_rqt($rqt,"insert pmb_collstate_data = '' into parametres");
     3385                        }
     3386
     3387                        //JP - champ historique de session trop petit
     3388                        $rqt = "ALTER TABLE admin_session CHANGE session session MEDIUMBLOB " ;
     3389                        echo traite_rqt($rqt,"ALTER TABLE admin_session CHANGE session MEDIUMBLOB ");
     3390
     3391                        // JP - Alertes localisées pour les réservations depuis l'OPAC
     3392                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='resa_alert_localized' "))==0){
     3393                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3394                                                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)";
     3395                                echo traite_rqt($rqt,"insert pmb_resa_alert_localized into parametres");
     3396                        }
     3397
     3398                        // VT & AP - Modification de la table nomenclature_children_records : on passe à un varchar pour la gestion des effectifs indéfinis
     3399                        $rqt = "ALTER TABLE nomenclature_children_records CHANGE child_record_effective child_record_effective varchar(10) not null default '0'";
     3400                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_children_records CHANGE child_record_effective varchar(10)");
     3401
     3402                        //AP & VT - Ajout d'un paramètre définissant le nombre d'éléments affichés par onglet
     3403                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nb_elems_per_tab' "))==0){
     3404                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3405                                        VALUES (NULL, 'pmb', 'nb_elems_per_tab', '20', 'Nombre d\'éléments affichés par page dans les onglets', '', '0')";
     3406                                echo traite_rqt($rqt,"insert nb_elems_per_tab='20' into parametres ");
     3407                        }
     3408
     3409                        //NG - Ajout identifiant unique à la table responsability_tu
     3410                        $query = "SHOW KEYS FROM responsability_tu WHERE Key_name = 'PRIMARY'";
     3411                        $result = pmb_mysql_query($query);
     3412                        $primary_fields = array('id_responsability_tu','responsability_tu_author_num','responsability_tu_num','responsability_tu_fonction');
     3413                        $flag = false;
     3414                        while($row = pmb_mysql_fetch_object($result)) {
     3415                                if(!in_array($row->Column_name, $primary_fields)) {
     3416                                        $flag = true;
     3417                                }
     3418                        }
     3419                        if(!$flag && pmb_mysql_num_rows($result) != 4) {
     3420                                $flag = true;
     3421                        }
     3422                        if($flag) {                     
     3423                                $rqt = "alter table responsability_tu drop primary key";
     3424                                echo traite_rqt($rqt,"alter table responsability_tu drop primary key");
     3425                                $rqt = "ALTER TABLE responsability_tu ADD id_responsability_tu  int unsigned not null auto_increment primary key FIRST";
     3426                                echo traite_rqt($rqt,"alter table responsability_tu add id_responsability_tu");
     3427                                $rqt = "alter table responsability_tu drop primary key, add primary key (id_responsability_tu,responsability_tu_author_num, responsability_tu_num, responsability_tu_fonction)";
     3428                                echo traite_rqt($rqt,"alter table responsability_tu add primary key (id_responsability_tu,responsability_tu_author_num, responsability_tu_num, responsability_tu_fonction)");
     3429                        }
     3430                       
     3431                        //NG - Ajout identifiant unique à la table responsability
     3432                        $query = "SHOW KEYS FROM responsability WHERE Key_name = 'PRIMARY'";
     3433                        $result = pmb_mysql_query($query);
     3434                        $primary_fields = array('id_responsability','responsability_author','responsability_notice','responsability_fonction');
     3435                        $flag = false;
     3436                        while($row = pmb_mysql_fetch_object($result)) {
     3437                                if(!in_array($row->Column_name, $primary_fields)) {
     3438                                        $flag = true;
     3439                                }
     3440                        }
     3441                        if(!$flag && pmb_mysql_num_rows($result) != 4) {
     3442                                $flag = true;
     3443                        }
     3444                        if($flag) {
     3445                                $rqt = "alter table responsability drop primary key";
     3446                                echo traite_rqt($rqt,"alter table responsability drop primary key");
     3447                                $rqt = "ALTER TABLE responsability ADD id_responsability  int unsigned not null auto_increment primary key FIRST";
     3448                                echo traite_rqt($rqt,"alter table responsability add id_responsability");
     3449                                $rqt = "alter table responsability drop primary key, add primary key (id_responsability, responsability_author, responsability_notice, responsability_fonction)";
     3450                                echo traite_rqt($rqt,"alter table responsability add primary key (id_responsability, responsability_author, responsability_notice, responsability_fonction)");
     3451                        }
     3452                       
     3453                        //NG - Ajout d'un paramètre pour activer la qualification d'un lien d'auteur dans les notices et les titres uniformes
     3454                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='authors_qualification' "))==0){
     3455                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3456                                        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')";
     3457                                echo traite_rqt($rqt,"insert pmb_authors_qualification=0 into parametres ");
     3458                        }
     3459
     3460                        //DG - Entrepôt par défaut en suppression de notices d'un panier
     3461                        $rqt = "ALTER TABLE users ADD deflt_agnostic_warehouse INT(6) UNSIGNED DEFAULT 0 NOT NULL " ;
     3462                        echo traite_rqt($rqt,"ALTER users ADD deflt_agnostic_warehouse");
     3463
     3464
     3465                        // NG : ajout dans les préférences utilisateur du statut de publication d'article par défaut en création d'article
     3466                        $rqt = "ALTER TABLE users ADD deflt_cms_article_statut INT(6) UNSIGNED NOT NULL DEFAULT 0 " ;
     3467                        echo traite_rqt($rqt,"ALTER users ADD deflt_cms_article_statut ");
     3468                        // NG : ajout dans les préférences utilisateur du type de contenu par défaut en création d'article
     3469                        $rqt = "ALTER TABLE users ADD deflt_cms_article_type INT(6) UNSIGNED NOT NULL DEFAULT 0 " ;
     3470                        echo traite_rqt($rqt,"ALTER users ADD deflt_cms_article_type ");
     3471                        // NG : ajout dans les préférences utilisateur du type de contenu par défaut en création de rubrique
     3472                        $rqt = "ALTER TABLE users ADD deflt_cms_section_type INT(6) UNSIGNED NOT NULL DEFAULT 0 " ;
     3473                        echo traite_rqt($rqt,"ALTER users ADD deflt_cms_section_type ");
     3474
     3475                        //NG - Ajout d'un paramètre définissant le nombre de bulletins à afficher dans le navigateur de bulletins
     3476                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='navigateur_bulletin_number' "))==0){
     3477                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3478                                        VALUES (NULL, 'opac', 'navigateur_bulletin_number', '3', 'Nombre de bulletins à afficher dans le navigateur de bulletins', 'e_aff_notice', '0')";
     3479                                echo traite_rqt($rqt,"insert opac_navigateur_bulletin_number=3 into parametres ");
     3480                        }
     3481
     3482                        //DG - Upload du logo pour les veilles
     3483                        $rqt = "ALTER TABLE docwatch_watches ADD watch_logo mediumblob not null after watch_desc";
     3484                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_logo ");
     3485
     3486                        //DG Ajout couleur sur le statut de publication du contenu éditorial
     3487                        $rqt = "ALTER TABLE cms_editorial_publications_states ADD editorial_publication_state_class_html VARCHAR( 255 ) NOT NULL default '' " ;
     3488                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_publications_states ADD editorial_publication_state_class_html ");
     3489
     3490                        //VT - Paramètre permettant de définir le dossier des classes de mappage à utiliser pour le mappage entre autorités
     3491                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='authority_mapping_folder' "))==0){
     3492                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3493                                        VALUES (0, 'pmb', 'authority_mapping_folder', '', 'Dossier des classes de mappage à utiliser pour les autorités','',0)";
     3494                                echo traite_rqt($rqt,"insert pmb_authority_mapping_folder='' into parametres");
     3495                        }
     3496
     3497                        //DG - Nomenclatures : Atelier défini/non défini
     3498                        $rqt = "ALTER TABLE nomenclature_workshops ADD workshop_defined int unsigned not null default 0";
     3499                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_workshops ADD workshop_defined ");
     3500
     3501                        //DG - Nomenclatures : Notes par familles en édition de notices
     3502                        $rqt = "ALTER TABLE nomenclature_notices_nomenclatures ADD notice_nomenclature_families_notes mediumtext not null after notice_nomenclature_notes";
     3503                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_notices_nomenclatures ADD notice_nomenclature_families_notes ");
     3504
     3505                        // AP - Ajout d'un droit de numérisation sur les notices
     3506                        // notice_scan_request_opac : Autorisation de demander une numérisation de la notice à l'OPAC
     3507                        $rqt = "ALTER TABLE notice_statut ADD notice_scan_request_opac tinyint(1) NOT NULL default 0";
     3508                        echo traite_rqt($rqt, "ALTER TABLE notice_statut ADD notice_scan_request_opac");
     3509                        // notice_scan_request_opac_abon : Autorisation uniquement pour les abonnés de demander une numérisation de la notice à l'OPAC
     3510                        $rqt = "ALTER TABLE notice_statut ADD notice_scan_request_opac_abon tinyint(1) NOT NULL default 0";
     3511                        echo traite_rqt($rqt, "ALTER TABLE notice_statut ADD notice_scan_request_opac_abon");
     3512
     3513                        // AP - Activation de la demande de numérisation en gestion
     3514                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='scan_request_activate' "))==0){
     3515                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3516                                VALUES (0, 'pmb', 'scan_request_activate', '0', 'Activer la demande de numérisation.\n0 : Non\n1 : Oui' ,'', 0)";
     3517                                echo traite_rqt($rqt,"insert pmb_scan_request_activate=0 into parametres");
     3518                        }
     3519
     3520                        // AP - Activation de la demande de numérisation en OPAC
     3521                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='scan_request_activate' "))==0){
     3522                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3523                                        VALUES (0, 'opac', 'scan_request_activate', '0', 'Activer la demande de numérisation.\n0 : Non\n1 : Oui' ,'f_modules', 0)";
     3524                                echo traite_rqt($rqt,"insert opac_scan_request_activate=0 into parametres");
     3525                        }
     3526
     3527                        // NG - Demande de numérisation: Ajout de l'interface de gestion de la liste des statuts.
     3528                        $rqt = "create table if not exists scan_request_status(
     3529                                id_scan_request_status int unsigned not null auto_increment primary key,
     3530                                scan_request_status_label varchar(255) not null default '',
     3531                                scan_request_status_opac_show int(1) not null default 0,
     3532                                scan_request_status_cancelable int(1) not null default 0,
     3533                                scan_request_status_infos_editable int(1) not null default 0,
     3534                                scan_request_status_class_html VARCHAR( 255 ) not NULL default ''
     3535                                )";
     3536                        echo traite_rqt($rqt, "create table scan_request_status");
     3537
     3538                        // NG - Demande de numérisation: Interface pour définir à partir d'un statut, les statuts suivants possibles (Workflow)
     3539                        $rqt = "create table if not exists scan_request_status_workflow(
     3540                                scan_request_status_workflow_from_num int unsigned not null default 0,
     3541                                scan_request_status_workflow_to_num int unsigned not null default 0
     3542                                )";
     3543                        echo traite_rqt($rqt, "create table scan_request_status_workflow");
     3544
     3545                        // NG - Demande de numérisation: Interface pour définir les priorités des demandes
     3546                        $rqt = "create table if not exists scan_request_priorities(
     3547                                id_scan_request_priority int unsigned not null auto_increment primary key,
     3548                                scan_request_priority_label varchar(255) not null default '',
     3549                                scan_request_priority_weight int unsigned not null default 0
     3550                                )";
     3551                        echo traite_rqt($rqt, "create table scan_request_priorities");
     3552
     3553                        // VT : Ajout dans les préférences utilisateur du statut par défaut à la création d'une demande de numérisation
     3554                        $rqt = "ALTER TABLE users ADD deflt_scan_request_status INT(1) UNSIGNED NOT NULL DEFAULT 0 " ;
     3555                        echo traite_rqt($rqt,"ALTER users ADD deflt_scan_request_status");
     3556
     3557                        // VT - NG - Table des demandes de numérisation
     3558                        // id_scan_request  : Identifiant de la demande de numérisation
     3559                        // scan_request_title : Libellé du titre de la demande
     3560                        // scan_request_desc : Description de la demande
     3561                        // scan_request_num_status : Clé étrangère (correspondance dans la table scan_request_status)
     3562                        // scan_request_num_priority : Clé étrangère (correspondance dans la table scan_request_priorities)
     3563                        // scan_request_create_date : Date de création de la demande (machine)
     3564                        // scan_request_update_date : Date de mise à jour de la demande (machine)
     3565                        // scan_request_date : Date de la demande (humain)
     3566                        // scan_request_wish_date : Date de traitement de la demande souhaité (humain)
     3567                        // scan_request_deadline_date : Date butoir de la demande (humain)
     3568                        // scan_request_comment : Commentaire de la demande
     3569                        // scan_request_elapsed_time : Temps passé sur la demande
     3570                        // scan_request_num_dest_empr : ID du destinataire de la demande
     3571                        // scan_request_num_creator : Identifiant du créateur de la demande  (User Gestion ou usager OPAC)
     3572                        // scan_request_type_creator : Type du créateur (User Gestion ou usager OPAC)
     3573                        // scan_request_num_last_user : Dernier utilisateur à avoir travaillé sur la demande
     3574                        // 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)
     3575                        $rqt = "create table if not exists scan_requests(
     3576                                id_scan_request int unsigned not null auto_increment primary key,
     3577                                scan_request_title varchar(255) not null default '',
     3578                                scan_request_desc text,
     3579                                scan_request_num_status int unsigned not null default 0,
     3580                                scan_request_num_priority int unsigned not null default 0,
     3581                                scan_request_create_date datetime,
     3582                                scan_request_update_date datetime,
     3583                                scan_request_date datetime,
     3584                                scan_request_wish_date datetime,
     3585                                scan_request_deadline_date datetime,
     3586                                scan_request_comment text,
     3587                                scan_request_elapsed_time int unsigned not null default 0,
     3588                                scan_request_num_dest_empr int unsigned not null default 0,
     3589                                scan_request_num_creator int unsigned not null default 0,
     3590                                scan_request_type_creator int unsigned not null default 0,
     3591                                scan_request_num_last_user int unsigned not null default 0,
     3592                                scan_request_state int unsigned not null default 0,
     3593                                scan_request_as_folder int(1) unsigned not null default 0,
     3594                                scan_request_folder_num_notice int unsigned not null default 0
     3595                                )";
     3596                        echo traite_rqt($rqt, "create table scan_requests");
     3597
     3598                        // VT - NG - Table des correspondance notices / demandes de numérisation
     3599                        // scan_request_linked_record_num_request  : Identifiant de la demande de numérisation
     3600                        // scan_request_linked_record_num_notice : Identifiant de la notice
     3601                        // scan_request_linked_record_num_bulletin : Identifiant du bulletin
     3602                        // scan_request_linked_record_comment : Commentaire lié à cette notice dans la demande 'num_request'
     3603                        // scan_request_linked_record_order : Ordre des éléments
     3604                        $rqt = "create table if not exists scan_request_linked_records(
     3605                                scan_request_linked_record_num_request int unsigned not null default 0,
     3606                                scan_request_linked_record_num_notice int unsigned not null default 0,
     3607                                scan_request_linked_record_num_bulletin int unsigned not null default 0,
     3608                                scan_request_linked_record_comment text,
     3609                                scan_request_linked_record_order int(3) unsigned not null default 0,
     3610                                PRIMARY KEY (scan_request_linked_record_num_request,scan_request_linked_record_num_notice,scan_request_linked_record_num_bulletin)
     3611                                )";
     3612                        echo traite_rqt($rqt, "create table scan_requests_linked_records");
     3613
     3614                        //AP & DG - Ajout d'un droit sur le statut pour les demandes de numérisation
     3615                        $rqt = "alter table empr_statut add allow_scan_request int unsigned not null default 0";
     3616                        echo traite_rqt($rqt,"alter table empr_statut add allow_scan_request");
     3617
     3618
     3619                        // AP & DG - Statut par défaut en création de demande de numérisation à l'OPAC (paramètre invisible)
     3620                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='scan_request_create_status' "))==0){
     3621                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3622                                VALUES (0, 'opac', 'scan_request_create_status', '1', 'Statut de création à l\'OPAC','a_general',1)";
     3623                                echo traite_rqt($rqt,"insert opac_scan_request_create_status=1 into parametres");
     3624                        }
     3625
     3626                        // AP & DG - Statut par défaut après annulation à l'OPAC (paramètre invisible)
     3627                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='scan_request_cancel_status' "))==0){
     3628                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3629                                        VALUES (0, 'opac', 'scan_request_cancel_status', '1', 'Statut après annulation à l\'OPAC','a_general',1)";
     3630                                echo traite_rqt($rqt,"insert opac_scan_request_cancel_status=1 into parametres");
     3631                        }
     3632
     3633                        //DG - Statut "Sans statut particulier" ajouté par défaut pour les demandes de numérisation
     3634                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from scan_request_status where id_scan_request_status=1"))==0){
     3635                                $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' ";
     3636                                echo traite_rqt($rqt,"insert minimum into scan_request_status");
     3637                        }
     3638                       
     3639                        // VT - Table des correspondance demandes de numérisation/document numérique
     3640                        // scan_request_explnum_num_request  : Identifiant de la demande de numérisation
     3641                        // scan_request_explnum_num_notice : Identifiant de la notice
     3642                        // scan_request_explnum_num_bulletin : Identifiant du bulletin
     3643                        // scan_request_explnum_num_explnum : Identifiant du document numérique
     3644                        $rqt = "create table if not exists scan_request_explnum(
     3645                                scan_request_explnum_num_request int unsigned not null default 0,
     3646                                scan_request_explnum_num_notice int unsigned not null default 0,
     3647                                scan_request_explnum_num_bulletin int unsigned not null default 0,
     3648                                scan_request_explnum_num_explnum int unsigned not null default 0,
     3649                                PRIMARY KEY (scan_request_explnum_num_request, scan_request_explnum_num_explnum)
     3650                                )";
     3651                        echo traite_rqt($rqt, "create table scan_requests_explnum");
     3652
     3653                        //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)
     3654                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='scan_request_explnum_folder' "))==0){
     3655                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3656                                        VALUES (0, 'pmb', 'scan_request_explnum_folder', '0', 'Répertoire d\'upload des documents numériques liés aux demandes de numérisation', '', '1')";
     3657                                        echo traite_rqt($rqt,"insert pmb_scan_request_explnum_folder=0 into parametres ");
     3658                                }
     3659
     3660                        // 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
     3661                        $rqt = "ALTER TABLE users ADD xmlta_doctype_scan_request_folder_record VARCHAR(2) NOT NULL DEFAULT 'a' " ;
     3662                        echo traite_rqt($rqt,"ALTER users ADD xmlta_doctype_scan_request_folder_record='a'");
     3663
     3664                        //DG - Paramètre pour activer ou non le sélecteur d'accès rapide
     3665                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='quick_access' "))==0){
     3666                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3667                                VALUES (0, 'opac', 'quick_access', '1', 'Activer le sélecteur d\'accès rapide ? \n0 : Non 1 : Oui','a_general',0)";
     3668                                echo traite_rqt($rqt,"insert opac_quick_access into parametres");
     3669                        }
     3670
     3671                        // AP & VT - Ajout de la colonne concept dans la table scan_request (permet de spécifier un concept pour indexer les documents numériques)
     3672                        $rqt = "ALTER TABLE scan_requests ADD scan_request_concept_uri VARCHAR(255) NOT NULL DEFAULT '' " ;
     3673                        echo traite_rqt($rqt,"ALTER scan_requests ADD scan_request_concept_uri");
     3674
     3675                        // 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)
     3676                        $rqt = "ALTER TABLE scan_requests ADD scan_request_nb_scanned_pages INT unsigned NOT NULL DEFAULT 0 " ;
     3677                        echo traite_rqt($rqt,"ALTER scan_requests ADD scan_request_nb_scanned_pages");
     3678
     3679                        // VT & AP - Modification de la table nomenclature_children_records : on ajoute une colonne pour stocker l'id de la nomenclature
     3680                        $rqt = "ALTER TABLE nomenclature_children_records ADD child_record_num_nomenclature int unsigned not null default 0";
     3681                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_children_records ADD child_record_num_nomenclature int unsigned not null");
     3682
     3683                        //MB - Champ prix trop petit
     3684                        $rqt = "ALTER TABLE lignes_actes CHANGE prix prix DOUBLE PRECISION(12,2) unsigned NOT NULL default '0.00'" ;
     3685                        echo traite_rqt($rqt,"ALTER lignes_actes CHANGE prix");
     3686
     3687                        //MB - Champ montant trop petit
     3688                        $rqt = "ALTER TABLE frais CHANGE montant montant DOUBLE PRECISION(12,2) unsigned NOT NULL default '0.00'" ;
     3689                        echo traite_rqt($rqt,"ALTER frais CHANGE montant");
     3690
     3691                        //MB - Champ montant_global trop petit
     3692                        $rqt = "ALTER TABLE budgets CHANGE montant_global montant_global DOUBLE PRECISION(12,2) unsigned NOT NULL default '0.00'" ;
     3693                        echo traite_rqt($rqt,"ALTER budgets CHANGE montant_global");
     3694
     3695                        //DB - script de vérification de saisie d'une notice perso en integration
     3696                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='catalog_verif_js_integration' "))==0){
     3697                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     3698                                VALUES ( 'pmb', 'catalog_verif_js_integration', '', 'Script de vérification de saisie de notice en intégration','', 0)";
     3699                                echo traite_rqt($rqt,"insert pmb_catalog_verif_js_integration='' into parametres");
     3700                        }
     3701
     3702                        //NG & DG - Ajout de la table rent_pricing_systems
     3703                        // id_pricing_system : Identifiant du système de tarification
     3704                        // pricing_system_label : Nom
     3705                        // pricing_system_desc : Description
     3706                        // pricing_system_percents : Liste des pourcentages associés
     3707                        // pricing_system_num_exercice : Exercice comptable associé
     3708
     3709                        $rqt = "create table if not exists rent_pricing_systems(
     3710                                id_pricing_system int unsigned not null auto_increment primary key,
     3711                                pricing_system_label varchar(255) not null default '',
     3712                                pricing_system_desc text,
     3713                                pricing_system_percents text,
     3714                                pricing_system_num_exercice int unsigned not null default 0
     3715                                )";
     3716                        echo traite_rqt($rqt, "create table rent_pricing_systems");
     3717
     3718                        //NG & DG - Ajout de la table rent_pricing_system_grids
     3719                        // id_pricing_system_grid : Identifiant incrémentiel
     3720                        // pricing_system_grid_num_system : Système de tarification associé
     3721                        // pricing_system_grid_time_start : Minutage de départ
     3722                        // pricing_system_grid_time_end : Minutage de fin
     3723                        // pricing_system_grid_price : Prix
     3724                        // pricing_system_grid_type : Type (1 : intervalle, 2 : Temps suppl, 3 : Non utilisé)
     3725                        $rqt = "create table if not exists rent_pricing_system_grids(
     3726                                id_pricing_system_grid int unsigned not null auto_increment primary key,
     3727                                pricing_system_grid_num_system int unsigned not null default 0,
     3728                                pricing_system_grid_time_start int unsigned not null default 0,
     3729                                pricing_system_grid_time_end int unsigned not null default 0,
     3730                                pricing_system_grid_price float(12,2) unsigned not null default 0,
     3731                                pricing_system_grid_type int unsigned not null default 0
     3732                                )";
     3733                        echo traite_rqt($rqt, "create table rent_pricing_system_grids");
     3734
     3735                        //NG & DG - Ajout de la table rent_account_sections
     3736                        // account_type_num_exercice : Exercice comptable associé
     3737                        // account_type_num_section : Rubrique budgétaire associée
     3738                        // account_type_marclist : Type de décompte associé
     3739                        $rqt = "create table if not exists rent_account_types_sections(
     3740                                account_type_num_exercice int unsigned not null default 0,
     3741                                account_type_num_section int unsigned not null default 0,
     3742                                account_type_marclist varchar(10) not null default '',
     3743                                PRIMARY KEY (account_type_num_section, account_type_marclist)
     3744                                )";
     3745                        echo traite_rqt($rqt, "create table rent_account_sections");
     3746
     3747                        //NG & DG - Ajout de la table rent_accounts
     3748                        // id_account : Identifiant du décompte
     3749                        // account_num_user : Identifiant de l'utilisateur qui l'a créé
     3750                        // account_num_exercice : Exercice comptable associé
     3751                        // account_type : Type de la demande
     3752                        // account_desc : Description
     3753                        // account_date : Date de création
     3754                        // account_receipt_limit_date : Date limite de réception
     3755                        // account_receipt_effective_date : Date effective de réception
     3756                        // account_return_date : Date de retour
     3757                        // account_num_authority : Exécution associée
     3758                        // account_title : Titre
     3759                        // account_event_date : Date de l'évènement
     3760                        // account_event_formation : Formation
     3761                        // account_event_orchestra : Chef d'orchestre
     3762                        // account_event_place : Lieu de l'évènement
     3763                        // account_num_publisher : Editeur associé
     3764                        // account_num_author : Compositeur associé
     3765                        // account_num_pricing_system : Système de tarification associé
     3766                        // account_time : Minutage
     3767                        // account_percent : Pourcentage
     3768                        // account_price : Prix
     3769                        // account_web : Diffusion Web (Oui/Non)
     3770                        // account_web_percent : Pourcentage Web
     3771                        // account_web_price : Prix Web
     3772                        $rqt = "create table if not exists rent_accounts(
     3773                                id_account int unsigned not null auto_increment primary key,
     3774                                account_num_user int unsigned not null default 0,
     3775                                account_num_exercice int unsigned not null default 0,
     3776                                account_type varchar(3) not null default '',
     3777                                account_desc text,
     3778                                account_date datetime,
     3779                                account_receipt_limit_date datetime,
     3780                                account_receipt_effective_date datetime,
     3781                                account_return_date datetime,
     3782                                account_num_uniform_title int unsigned not null default 0,
     3783                                account_title varchar(255) not null default '',
     3784                                account_event_date varchar(255) not null default '',
     3785                                account_event_formation varchar(255) not null default '',
     3786                                account_event_orchestra varchar(255) not null default '',
     3787                                account_event_place varchar(255) not null default '',
     3788                                account_num_publisher int unsigned not null default 0,
     3789                                account_num_author int unsigned not null default 0,
     3790                                account_num_pricing_system int unsigned not null default 0,
     3791                                account_time int unsigned not null default 0,
     3792                                account_percent float(8,2) unsigned not null default 0,
     3793                                account_price float(12,2) unsigned not null default 0,
     3794                                account_web int(1) unsigned not null default 0,
     3795                                account_web_percent float(8,2) unsigned not null default 0,
     3796                                account_web_price float(12,2) unsigned not null default 0,
     3797                                account_comment text
     3798                                )";
     3799                        echo traite_rqt($rqt, "create table rent_accounts");
     3800
     3801                        //NG & DG - Ajout de la table rent_invoices
     3802                        // id_invoice : Identifiant de la facture
     3803                        // invoice_num_user : Identifiant de l'utilisateur qui l'a créée
     3804                        // invoice_date : Date de génération
     3805                        // invoice_status : Enumération (0 = en cours, 1 = validée)
     3806                        // invoice_valid_date : Date de validation
     3807                        $rqt = "create table if not exists rent_invoices(
     3808                                id_invoice int unsigned not null auto_increment primary key,
     3809                                invoice_num_user int unsigned not null default 0,
     3810                                invoice_date datetime,
     3811                                invoice_status int unsigned not null default 1,
     3812                                invoice_valid_date datetime,
     3813                                invoice_destination varchar(10) not null default ''
     3814                                )";
     3815                        echo traite_rqt($rqt, "create table rent_invoices");
     3816
     3817                        //NG & DG - Ajout de la table rent_accounts_invoices
     3818                        // account_invoice_num_account : Identifiant du décompte associé
     3819                        // account_invoice_num_invoice : Identifiant de la facture associée
     3820                        $rqt = "create table if not exists rent_accounts_invoices(
     3821                                account_invoice_num_account int unsigned not null default 0,
     3822                                account_invoice_num_invoice int unsigned not null default 0,
     3823                                PRIMARY KEY (account_invoice_num_account, account_invoice_num_invoice)
     3824                                )";
     3825                        echo traite_rqt($rqt, "create table rent_accounts_invoices");
     3826
     3827                        //NG
     3828                        $rqt = "ALTER TABLE rent_accounts ADD account_request_type varchar(3) not null default '' after account_num_exercice " ;
     3829                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_request_type ");
     3830
     3831                        //DG - Statut sur les demandes de location (commandé / non commandé)
     3832                        $rqt = "ALTER TABLE rent_accounts ADD account_request_status int(1) unsigned not null default 1 " ;
     3833                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_request_status ");
     3834
     3835                        //NG
     3836                        $rqt = "ALTER TABLE rent_accounts ADD account_num_acte int unsigned not null default 0 " ;
     3837                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_num_acte ");
     3838
     3839                        //NG
     3840                        $rqt = "ALTER TABLE rent_invoices ADD invoice_num_acte int unsigned not null default 0 " ;
     3841                        echo traite_rqt($rqt,"ALTER TABLE rent_invoices ADD invoice_num_acte ");
     3842
     3843                        //NG - Ajout d'un lien fournisseur dans la table des editeurs
     3844                        $rqt = "ALTER TABLE publishers ADD ed_num_entite int unsigned NOT NULL default 0 " ;
     3845                        echo traite_rqt($rqt,"ALTER TABLE publishers ADD ed_num_entite ");
     3846
     3847                        // DG - Afficher la possibilité pour le lecteur d'inscrire d'autres membres à ses listes
     3848                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param='opac' and sstype_param='shared_lists_add_empr' "))==0){
     3849                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3850                                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')";
     3851                                echo traite_rqt($rqt,"insert opac_shared_lists_add_empr='0' into parametres ");
     3852                        }
     3853
     3854                        //DG - Gestion des avis - Notion de commentaire privé
     3855                        $rqt = "ALTER TABLE avis ADD avis_private int(1) unsigned not null default 0 " ;
     3856                        echo traite_rqt($rqt,"ALTER TABLE avis ADD avis_private ");
     3857
     3858                        //DG - Gestion des avis - Association d'une liste lecture
     3859                        $rqt = "ALTER TABLE avis ADD avis_num_liste_lecture int(8) unsigned not null default 0 " ;
     3860                        echo traite_rqt($rqt,"ALTER TABLE avis ADD avis_num_liste_lecture ");
     3861
     3862                        //DG - Listes de lecture - Saisie libre d'un tag
     3863                        $rqt = "ALTER TABLE opac_liste_lecture ADD tag varchar(255) not null default '' " ;
     3864                        echo traite_rqt($rqt,"ALTER TABLE opac_liste_lecture ADD tag ");
     3865
     3866                        // AP & NG - Ajout d'un paramètre URI du concept à associer aux partitions avant exécution
     3867                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_music_concept_before' "))==0){
     3868                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3869                                        VALUES (NULL, 'pmb', 'nomenclature_music_concept_before', '0', 'URI du concept à associer aux partitions avant exécution', '', '1')";
     3870                                echo traite_rqt($rqt,"insert pmb_nomenclature_music_concept_before into parametres ");
     3871                        }
     3872
     3873                        // AP & NG - Ajout d'un paramètre URI du concept à associer aux partitions après exécution
     3874                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_music_concept_after' "))==0){
     3875                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3876                                        VALUES (NULL, 'pmb', 'nomenclature_music_concept_after', '0', 'URI du concept à associer aux partitions après exécution', '', '1')";
     3877                                echo traite_rqt($rqt,"insert pmb_nomenclature_music_concept_after into parametres ");
     3878                        }
     3879
     3880                        // AP & NG - Ajout d'un paramètre URI du concept à associer aux partitions originales
     3881                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='nomenclature_music_concept_blank' "))==0){
     3882                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3883                                        VALUES (NULL, 'pmb', 'nomenclature_music_concept_blank', '0', 'URI du concept à associer aux partitions originales', '', '1')";
     3884                                echo traite_rqt($rqt,"insert pmb_nomenclature_music_concept_blank into parametres ");
     3885                        }
     3886
     3887                        // AP & NG - Passage du paramètre nomenclature_record_children_link en caché
     3888                        $rqt = "UPDATE parametres SET gestion='1' where type_param= 'pmb' and sstype_param='nomenclature_record_children_link' ";
     3889                        echo traite_rqt($rqt,"update pmb_nomenclature_record_children_link");
     3890
     3891
     3892                        //AP & VT - Mise à jour du paramètre de définition de répertoire de template pour les affichages autorités en opac
     3893                        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 "%/%"'))){
     3894                                $rqt = 'UPDATE parametres set valeur_param = SUBSTRING_INDEX(valeur_param, "/", -1) where type_param= "opac" and sstype_param="authorities_templates_folder" ';
     3895                                echo traite_rqt($rqt,"UPDATE parametres opac_authorities_templates_folder");
     3896                        }
     3897
     3898                        //DG - Fournisseur associé au décompte de location
     3899                        $rqt = "ALTER TABLE rent_accounts ADD account_num_supplier int unsigned not null default 0 after account_num_publisher" ;
     3900                        echo traite_rqt($rqt,"ALTER TABLE rent_accounts ADD account_num_supplier ");
     3901
     3902                        //DG - Modification du champ account_event_date de la table rent_accounts
     3903                        $rqt = "ALTER TABLE rent_accounts MODIFY account_event_date datetime" ;
     3904                        echo traite_rqt($rqt,"alter table rent_accounts modify account_event_date");
     3905
     3906                        //DB Maj commentaires mail_methode
     3907                        $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' ";
     3908                        echo traite_rqt($rqt,"update mail_methode comments");
     3909
     3910                        // DG & VT - Activation des actions rapides (dans le tableau de bord)
     3911                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='dashboard_quick_params_activate' "))==0){
     3912                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3913                                VALUES (0, 'pmb', 'dashboard_quick_params_activate', '1', 'Activer les actions rapides dans le tableau de bord.\n0 : Non\n1 : Oui' ,'', 0)";
     3914                                echo traite_rqt($rqt,"insert pmb_dashboard_quick_params_activate=1 into parametres");
     3915                        }
     3916
     3917                        //JP - Autoriser les montants négatifs dans les acquisitions
     3918                        $rqt = "ALTER TABLE frais CHANGE montant montant DOUBLE(12,2) NOT NULL DEFAULT '0.00'";
     3919                        echo traite_rqt($rqt,"ALTER TABLE frais CHANGE montant");
     3920                        $rqt = "ALTER TABLE lignes_actes CHANGE prix prix DOUBLE(12,2) NOT NULL DEFAULT '0.00'";
     3921                        echo traite_rqt($rqt,"ALTER TABLE lignes_actes CHANGE prix");
     3922
     3923                        //DG - accès rapide pour les paniers de lecteurs
     3924                        $rqt = "ALTER TABLE empr_caddie ADD acces_rapide INT NOT NULL default 0";
     3925                        echo traite_rqt($rqt,"ALTER TABLE empr_caddie ADD acces_rapide");
     3926
     3927                        //JP - update bannette_aff_notice_number pour les bannettes privées
     3928                        $rqt = "UPDATE bannettes SET bannette_aff_notice_number = 1 WHERE proprio_bannette <> 0" ;
     3929                        echo traite_rqt($rqt,"UPDATE bannettes SET bannette_aff_notice_number ");
     3930                        echo traite_rqt($rqt,"UPDATE bannettes SET bannette_aff_notice_number ");
     3931
     3932                        //NG - Mémorisation de l'utilisateur qui fait une demande de transfert
     3933                        $rqt = "ALTER TABLE transferts ADD transfert_ask_user_num INT NOT NULL default 0";
     3934                        echo traite_rqt($rqt,"ALTER TABLE transferts ADD transfert_ask_user_num");
     3935
     3936                        //AP - Ajout du nom de groupe dans la table des circulations en cours
     3937                        $rqt = "ALTER TABLE serialcirc_circ ADD serialcirc_circ_group_name varchar(255) NOT NULL DEFAULT ''";
     3938                        echo traite_rqt($rqt,"ALTER TABLE serialcirc_circ add serialcirc_circ_group_name default ''");
     3939
     3940                        //DG - Avis privé par défaut
     3941                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='avis_default_private' "))==0){
     3942                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3943                                VALUES (0, 'opac', 'avis_default_private', '0', 'Avis privé par défaut ? \n 0 : Non \n 1 : Oui', 'a_general', 0) ";
     3944                                echo traite_rqt($rqt,"insert opac_avis_default_private into parametres") ;
     3945                        }
     3946
     3947                        //JP - Alerter l'utilisateur par mail des nouvelles demandes d'inscription aux listes de circulation
     3948                        $rqt = "ALTER TABLE users ADD user_alert_serialcircmail INT(1) UNSIGNED NOT NULL DEFAULT 0 after user_alert_subscribemail";
     3949                        echo traite_rqt($rqt,"ALTER TABLE users add user_alert_serialcircmail default 0");
     3950
     3951                        //JP - Enrichir les flux rss générés par les veilles
     3952                        $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";
     3953                        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");
     3954
     3955                        //JP - Possibilité de nettoyer le contenu HTML dans un OAI entrant
     3956                        $rqt = "ALTER TABLE connectors_sources ADD clean_html INT(3) UNSIGNED NOT NULL DEFAULT '0'";
     3957                        echo traite_rqt($rqt,"ALTER TABLE connectors_sources add clean_html");
     3958
     3959                        //Alexandre - Préremplissage de la vignette des dépouillements avec la vignette du bulletin
     3960                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='bulletin_thumbnail_url_article' "))==0){
     3961                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3962                                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) ";
     3963                                echo traite_rqt($rqt, "insert pmb_bulletin_thumbnail_url_article=0 into parametres");
     3964                        }
     3965
     3966                        //DG - Grilles exemplaires éditables
     3967                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='form_expl_editables' "))==0){
     3968                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3969                                        VALUES (0, 'pmb', 'form_expl_editables', '1', 'Grilles exemplaires éditables ? \n 0 non \n 1 oui','',0)";
     3970                                echo traite_rqt($rqt,"insert pmb_form_expl_editables into parametres");
     3971                        }
     3972
     3973                        //DG - Grilles exemplaires numériques éditables
     3974                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='form_explnum_editables' "))==0){
     3975                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     3976                                        VALUES (0, 'pmb', 'form_explnum_editables', '1', 'Grilles exemplaires numériques éditables ? \n 0 non \n 1 oui','',0)";
     3977                                echo traite_rqt($rqt,"insert pmb_form_explnum_editables into parametres");
     3978                        }
     3979
     3980                        //DG - Mis à jour de la table grilles_auth (pour ceux qui ont une version récente de PMB) pour la rendre générique
     3981                        if (pmb_mysql_query("select * from grilles_auth")){
     3982                                $rqt = "RENAME TABLE grilles_auth TO grids_generic";
     3983                                echo traite_rqt($rqt, "rename grilles_auth to grids_generic");
     3984
     3985                                // DG - Renommage de la colonne "grille_auth_type" en "grid_generic_type"
     3986                                $rqt = "ALTER TABLE grids_generic CHANGE grille_auth_type grid_generic_type VARCHAR(32) not null default ''";
     3987                                echo traite_rqt($rqt,"alter grids_generic change grille_auth_type grid_generic_type");
     3988
     3989                                // DG - Renommage de la colonne "grille_auth_filter" en "grid_generic_filter"
     3990                                $rqt = "ALTER TABLE grids_generic CHANGE grille_auth_filter grid_generic_filter VARCHAR(255) null default ''";
     3991                                echo traite_rqt($rqt,"alter grids_generic change grille_auth_filter grid_generic_filter");
     3992
     3993                                // DG - Renommage de la colonne "grille_auth_descr_format" en "grid_generic_descr_format"
     3994                                $rqt = "ALTER TABLE grids_generic CHANGE grille_auth_descr_format grid_generic_data mediumblob NOT NULL";
     3995                                echo traite_rqt($rqt,"alter grids_generic change grille_auth_descr_format grid_generic_data");
     3996                        }
     3997
     3998                        //NG - Mémorisation de l'utilisateur qui fait l'envoi de transfert
     3999                        $rqt = "ALTER TABLE transferts ADD transfert_send_user_num INT NOT NULL default 0";
     4000                        echo traite_rqt($rqt,"ALTER TABLE transferts ADD transfert_send_user_num");
     4001
     4002                        // DG - Création de la table de stockage des objets pour le formulaire de contact opac
     4003                        // id_object : Identifiant de l'objet
     4004                        // object_label : Libellé de l'objet
     4005                        $rqt = "create table if not exists contact_form_objects(
     4006                                id_object int unsigned not null auto_increment primary key,
     4007                                object_label varchar(255) not null default '') ";
     4008                        echo traite_rqt($rqt,"create table contact_form_objects");
     4009
     4010                        //DG - Formulaire de contact - Paramétrage général
     4011                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contact_form_parameters' "))==0){
     4012                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     4013                                        VALUES ('pmb','contact_form_parameters','','Paramétrage général du formulaire de contact','',1)";
     4014                                echo traite_rqt($rqt,"insert pmb_contact_form_parameters into parametres");
     4015                        }
     4016
     4017                        //DG - Formulaire de contact - Paramétrage des listes de destinataires
     4018                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contact_form_recipients_lists' "))==0){
     4019                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     4020                                        VALUES ('pmb','contact_form_recipients_lists','','Paramétrage des listes de destinataires du formulaire de contact','',1)";
     4021                                echo traite_rqt($rqt,"insert pmb_contact_form_recipients_lists into parametres");
     4022                        }
     4023
     4024                        //DG - Paramètre pour afficher ou non le formulaire de contact
     4025                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='contact_form' "))==0){
     4026                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4027                                        VALUES (0, 'opac', 'contact_form', '0', 'Afficher le formulaire de contact ? \n0 : Non 1 : Oui','a_general',0)";
     4028                                echo traite_rqt($rqt,"insert opac_contact_form into parametres");
     4029                        }
     4030
     4031                        //JP - Paramètre inutilisé caché
     4032                        $rqt = "update parametres set gestion=1 where type_param= 'opac' and sstype_param='categories_categ_sort_records' ";
     4033                        echo traite_rqt($rqt,"update categories_categ_sort_records hide into parametres");
     4034
     4035                        //JP - date de création et créateur des paniers
     4036                        $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'";
     4037                        echo traite_rqt($rqt,"ALTER TABLE caddie add creation_user_name, creation_date");
     4038                        $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'";
     4039                        echo traite_rqt($rqt,"ALTER TABLE empr_caddie add creation_user_name, creation_date");
     4040
     4041                        //NG - Mémorisation de la date demandée par l'utilisateur en demande de transfert
     4042                        $rqt = "ALTER TABLE transferts ADD transfert_ask_date date NOT NULL default '0000-00-00'";
     4043                        echo traite_rqt($rqt,"ALTER TABLE transferts ADD transfert_ask_date");
     4044
     4045                        //DG - Ajout du type sur les recherches prédéfinies gestion (Pour spécifier Notices / Autorités)
     4046                        $rqt = "ALTER TABLE search_perso ADD search_type varchar(255) not null default 'RECORDS' after search_id";
     4047                        echo traite_rqt($rqt,"ALTER TABLE search_perso ADD search_type") ;
     4048
     4049                        //DG - Nomenclatures : Note pour les instruments non standard en édition de notices
     4050                        $rqt = "ALTER TABLE nomenclature_notices_nomenclatures ADD notice_nomenclature_exotic_instruments_note text not null after notice_nomenclature_families_notes";
     4051                        echo traite_rqt($rqt,"ALTER TABLE nomenclature_notices_nomenclatures ADD notice_nomenclature_exotic_instruments_note ");
     4052
     4053                        //TS - Ajout d'une classe CSS sur les cadres du portail
     4054                        $rqt = "ALTER TABLE cms_cadres ADD cadre_css_class VARCHAR(255) NOT NULL DEFAULT '' AFTER cadre_modcache";
     4055                        echo traite_rqt($rqt,"ALTER TABLE cms_cadres ADD cadre_css_class");
     4056                        //DG - Personnalisables de notices : Ordre pour les champs répétables
     4057                        $rqt = "ALTER TABLE notices_custom_values ADD notices_custom_order int(11) NOT NULL default 0";
     4058                        echo traite_rqt($rqt,"ALTER TABLE notices_custom_values ADD notices_custom_order");
     4059
     4060                        //DG - Personnalisables de auteurs : Ordre pour les champs répétables
     4061                        $rqt = "ALTER TABLE author_custom_values ADD author_custom_order int(11) NOT NULL default 0";
     4062                        echo traite_rqt($rqt,"ALTER TABLE author_custom_values ADD author_custom_order");
     4063
     4064                        //DG - Personnalisables de catégories : Ordre pour les champs répétables
     4065                        $rqt = "ALTER TABLE categ_custom_values ADD categ_custom_order int(11) NOT NULL default 0";
     4066                        echo traite_rqt($rqt,"ALTER TABLE categ_custom_values ADD categ_custom_order");
     4067
     4068                        //DG - Personnalisables de éditeurs : Ordre pour les champs répétables
     4069                        $rqt = "ALTER TABLE publisher_custom_values ADD publisher_custom_order int(11) NOT NULL default 0";
     4070                        echo traite_rqt($rqt,"ALTER TABLE publisher_custom_values ADD publisher_custom_order");
     4071
     4072                        //DG - Personnalisables de collections : Ordre pour les champs répétables
     4073                        $rqt = "ALTER TABLE collection_custom_values ADD collection_custom_order int(11) NOT NULL default 0";
     4074                        echo traite_rqt($rqt,"ALTER TABLE collection_custom_values ADD collection_custom_order");
     4075
     4076                        //DG - Personnalisables de sous-collections : Ordre pour les champs répétables
     4077                        $rqt = "ALTER TABLE subcollection_custom_values ADD subcollection_custom_order int(11) NOT NULL default 0";
     4078                        echo traite_rqt($rqt,"ALTER TABLE subcollection_custom_values ADD subcollection_custom_order");
     4079
     4080                        //DG - Personnalisables de titres de séries : Ordre pour les champs répétables
     4081                        $rqt = "ALTER TABLE serie_custom_values ADD serie_custom_order int(11) NOT NULL default 0";
     4082                        echo traite_rqt($rqt,"ALTER TABLE serie_custom_values ADD serie_custom_order");
     4083
     4084                        //DG - Personnalisables de titres uniformes : Ordre pour les champs répétables
     4085                        $rqt = "ALTER TABLE tu_custom_values ADD tu_custom_order int(11) NOT NULL default 0";
     4086                        echo traite_rqt($rqt,"ALTER TABLE tu_custom_values ADD tu_custom_order");
     4087
     4088                        //DG - Personnalisables d'indexations décimales : Ordre pour les champs répétables
     4089                        $rqt = "ALTER TABLE indexint_custom_values ADD indexint_custom_order int(11) NOT NULL default 0";
     4090                        echo traite_rqt($rqt,"ALTER TABLE indexint_custom_values ADD indexint_custom_order");
     4091
     4092                        //DG - Personnalisables d'autorités perso : Ordre pour les champs répétables
     4093                        $rqt = "ALTER TABLE authperso_custom_values ADD authperso_custom_order int(11) NOT NULL default 0";
     4094                        echo traite_rqt($rqt,"ALTER TABLE authperso_custom_values ADD authperso_custom_order");
     4095
     4096                        //DG - Personnalisables du contenu éditorial : Ordre pour les champs répétables
     4097                        $rqt = "ALTER TABLE cms_editorial_custom_values ADD cms_editorial_custom_order int(11) NOT NULL default 0";
     4098                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_custom_values ADD cms_editorial_custom_order");
     4099
     4100                        //DG - Personnalisables d'états des collections : Ordre pour les champs répétables
     4101                        $rqt = "ALTER TABLE collstate_custom_values ADD collstate_custom_order int(11) NOT NULL default 0";
     4102                        echo traite_rqt($rqt,"ALTER TABLE collstate_custom_values ADD collstate_custom_order");
     4103
     4104                        //DG - Personnalisables de demandes : Ordre pour les champs répétables
     4105                        $rqt = "ALTER TABLE demandes_custom_values ADD demandes_custom_order int(11) NOT NULL default 0";
     4106                        echo traite_rqt($rqt,"ALTER TABLE demandes_custom_values ADD demandes_custom_order");
     4107
     4108                        //DG - Personnalisables de lecteurs : Ordre pour les champs répétables
     4109                        $rqt = "ALTER TABLE empr_custom_values ADD empr_custom_order int(11) NOT NULL default 0";
     4110                        echo traite_rqt($rqt,"ALTER TABLE empr_custom_values ADD empr_custom_order");
     4111
     4112                        //DG - Personnalisables d'exemplaires : Ordre pour les champs répétables
     4113                        $rqt = "ALTER TABLE expl_custom_values ADD expl_custom_order int(11) NOT NULL default 0";
     4114                        echo traite_rqt($rqt,"ALTER TABLE expl_custom_values ADD expl_custom_order");
     4115
     4116                        //DG - Personnalisables de fiches : Ordre pour les champs répétables
     4117                        $rqt = "ALTER TABLE gestfic0_custom_values ADD gestfic0_custom_order int(11) NOT NULL default 0";
     4118                        echo traite_rqt($rqt,"ALTER TABLE gestfic0_custom_values ADD gestfic0_custom_order");
     4119
     4120                        //DG - Personnalisables de prêts : Ordre pour les champs répétables
     4121                        $rqt = "ALTER TABLE pret_custom_values ADD pret_custom_order int(11) NOT NULL default 0";
     4122                        echo traite_rqt($rqt,"ALTER TABLE pret_custom_values ADD pret_custom_order");
     4123
     4124
     4125                        //DG - Paramètre pour afficher ou non le lien de génération d'un flux RSS de la recherche
     4126                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='short_url' "))==0){
     4127                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4128                                        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)";
     4129                                echo traite_rqt($rqt,"insert opac_short_url=1 into parametres");
     4130                        }
     4131
     4132                        //AR - Les index, c'est pratique...
     4133                        $rqt = "alter table tu_oeuvres_events add index i_toe_oeuvre_event_tu_num(oeuvre_event_tu_num)";
     4134                        echo traite_rqt($rqt,$rqt);
     4135
     4136                        $rqt = "alter table tu_oeuvres_events add index i_toe_oeuvre_event_authperso_authority_num(oeuvre_event_authperso_authority_num)";
     4137                        echo traite_rqt($rqt,$rqt);
     4138
     4139                        $rqt = "alter table notices_titres_uniformes add index i_ntu_ntu_num_tu(ntu_num_tu)";
     4140                        echo traite_rqt($rqt,$rqt);
     4141
     4142                        $rqt = "ALTER TABLE authorities ADD INDEX i_a_num_object_type_object(num_object,type_object)";
     4143                        echo traite_rqt($rqt,$rqt);
     4144
     4145                        $rqt = "ALTER TABLE authorities ADD INDEX i_a_num_statut(num_statut)";
     4146                        echo traite_rqt($rqt,$rqt);
     4147
     4148                        $rqt = "ALTER TABLE titres_uniformes ADD INDEX i_tu_tu_oeuvre_type(tu_oeuvre_type)";
     4149                        echo traite_rqt($rqt,$rqt);
     4150
     4151                        $rqt = "ALTER TABLE titres_uniformes ADD INDEX i_tu_tu_oeuvre_nature(tu_oeuvre_nature)";
     4152                        echo traite_rqt($rqt,$rqt);
     4153
     4154                        // AP & DG - Création de la table de planches d'étiquettes
     4155                        // id_sticks_sheet : Identifiant
     4156                        // sticks_sheet_label : Libellé
     4157                        // sticks_sheet_data : Structure JSON des données de génération
     4158                        // sticks_sheet_order : Ordre
     4159                        $rqt = "create table if not exists sticks_sheets(
     4160                                id_sticks_sheet int unsigned not null auto_increment primary key,
     4161                                sticks_sheet_label varchar(255) not null default '',
     4162                                sticks_sheet_data text not null,
     4163                                sticks_sheet_order int(11) NOT NULL default 0) ";
     4164                        echo traite_rqt($rqt,"create table sticks_sheets");
     4165
     4166                        // AP & DG - Création de la table de seuils de commandes
     4167                        // id_threshold : Identifiant
     4168                        // threshold_label : Libellé
     4169                        // threshold_amount : Montant du seuil
     4170                        // threshold_amount_tax_included : Montant du seuil HT/TTC
     4171                        // threshold_footer : Pied de page Signature
     4172                        // threshold_num_entity : Etablissement associé
     4173                        $rqt = "create table if not exists thresholds(
     4174                                id_threshold int unsigned not null auto_increment primary key,
     4175                                threshold_label varchar(255) not null default '',
     4176                                threshold_amount float NOT NULL DEFAULT 0,
     4177                                threshold_amount_tax_included int(1) NOT NULL DEFAULT 0,
     4178                                threshold_footer text not null,
     4179                                threshold_num_entity int(11) NOT NULL default 0) ";
     4180                        echo traite_rqt($rqt,"create table thresholds");
     4181
     4182                        // DG & AP - Ajout d'un paramètre pour activer la gestion avancées des états des collections
     4183                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='collstate_advanced' "))==0){
     4184                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4185                                        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')";
     4186                                echo traite_rqt($rqt,"insert collstate_advanced='0' into parametres ");
     4187                        }
     4188
     4189                        // DG & AP - Création de la table de liaison entre bulletins et états des collections
     4190                        // collstate_bulletins_num_collstate : Identifiant de la collection
     4191                        // collstate_bulletins_num_bulletin : Identifiant du bulletin
     4192                        // collstate_bulletins_order : Ordre
     4193                        $rqt = "create table if not exists collstate_bulletins(
     4194                                collstate_bulletins_num_collstate int(8) not null default 0,
     4195                                collstate_bulletins_num_bulletin int(8) not null default 0,
     4196                                collstate_bulletins_order int(8) NOT NULL default 0,
     4197                                primary key (collstate_bulletins_num_collstate, collstate_bulletins_num_bulletin)) ";
     4198                        echo traite_rqt($rqt,"create table collstate_bulletins");
     4199
     4200                        //DG - OPAC : Personnalisation de la pagination des listes
     4201                        if(pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='items_pagination_custom' "))==0){
     4202                                $rqt = "INSERT INTO parametres ( id_param , type_param , sstype_param , valeur_param , comment_param , section_param , gestion )
     4203                                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')";
     4204                                echo traite_rqt($rqt, "insert opac_items_pagination_custom=25,50,100,200 into parametres");
     4205                        }
     4206
     4207                        //DG - Gestion : Personnalisation de la pagination des listes
     4208                        if(pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='items_pagination_custom' "))==0){
     4209                                $rqt = "INSERT INTO parametres ( id_param , type_param , sstype_param , valeur_param , comment_param , section_param , gestion )
     4210                                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')";
     4211                                echo traite_rqt($rqt, "insert pmb_items_pagination_custom=25,50,100,200 into parametres");
     4212                        }
     4213
     4214                        //DG - Attribution des droits de construction de portail au Super User uniquement
     4215                        $rqt = "update users set rights=rights+1048576 where rights<1048576 and userid=1";
     4216                        echo traite_rqt($rqt, "update users add rights cms_build only for Super User");
     4217
     4218                        //DG - Ajout de l'ordre sur les recherches prédéfinies OPAC
     4219                        $rqt = "ALTER TABLE search_persopac ADD search_order int(11) NOT NULL default 0";
     4220                        echo traite_rqt($rqt,"ALTER TABLE search_persopac ADD search_order") ;
     4221
     4222                        //JP - Message personnalisé sur la page de connexion
     4223                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='login_message' "))==0){
     4224                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4225                                        VALUES ( 'pmb', 'login_message', '', 'Message à afficher sur la page de connexion','', 0)";
     4226                                echo traite_rqt($rqt,"insert pmb_login_message into parametres");
     4227                        }
     4228
     4229                        //JP - éviter les codes-barre identiques en création d'emprunteur
     4230                        $rqt = "create table if not exists empr_temp (cb varchar( 255 ) NOT NULL ,sess varchar( 12 ) NOT NULL ,UNIQUE (cb))";
     4231                        echo traite_rqt($rqt,"create table  if not exists empr_temp ") ;
     4232
     4233                        //NG - Ajout d'un paramètre utilisateur permettant d'activer la webcam
     4234                        $rqt = "alter table users add deflt_camera_empr int not null default 0";
     4235                        echo traite_rqt($rqt,"alter table users add deflt_camera_empr");
     4236
     4237                        //JP - changement du séparateur des tris de l'opac pour pouvoir utiliser le parse HTML
     4238                        $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'";
     4239                        echo traite_rqt($rqt,"update value into parametres") ;
     4240
     4241                        //JP - Recherche étendue aux oeuvres sur paramètre
     4242                        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){
     4243                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4244                                        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)";
     4245                                echo traite_rqt($rqt,"insert pmb_allow_search_into_linked_elements into parametres");
     4246                        }
     4247                        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){
     4248                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4249                                        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)";
     4250                                echo traite_rqt($rqt,"insert opac_allow_search_into_linked_elements into parametres");
     4251                        }
     4252
     4253                        //DG - Typage des avis pour combiner les notices et les articles du contenu éditorial..pour le moment..
     4254                        $rqt = "ALTER TABLE avis ADD type_object mediumint(8) NOT NULL AFTER num_notice";
     4255                        echo traite_rqt($rqt,"ALTER TABLE avis ADD type_object") ;
     4256                        //DG - On affecte les avis existants de type AVIS_RECORDS
     4257                        $rqt = "UPDATE avis set type_object = 1, dateajout = dateajout where type_object = 0";
     4258                        echo traite_rqt($rqt,"UPDATE type_object = 1 FOR records avis") ;
     4259
     4260                        //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
     4261                        $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 ''";
     4262                        echo traite_rqt($rqt,"ALTER TABLE cms_editorial_types ADD editorial_type_permalink_num_page, ADD editorial_type_permalink_var_name") ;
     4263
     4264                        //VT - Définition du mode de génération du flux rss de recherche (le paramètre opac_short_url doit être activé)
     4265                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='short_url_mode' "))==0){
     4266                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4267                                        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)";
     4268                                echo traite_rqt($rqt,"insert opac_short_url_mode=0 into parametres");
     4269                        }
     4270
     4271                        //VT - Ajout d'un paramètre autorisant la réservation d'une notice sans exemplaire
     4272                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='resa_records_no_expl' "))==0){
     4273                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4274                                VALUES (0, 'pmb', 'resa_records_no_expl', '0', 'Réservation sur les notices \n 0 : Non \n 1 : Oui','',0)";
     4275                                echo traite_rqt($rqt,"insert pmb_resa_records_no_expl=0 into parametres");
     4276                        }
     4277
     4278                        //VT - Création d'une table permettant de stocker les identifiants des emprunteurs ayant suggéré la commande
     4279                        $rqt = "create table if not exists lignes_actes_applicants(
     4280                                ligne_acte_num int not null default 0,
     4281                                empr_num int not null default 0,
     4282                                primary key (ligne_acte_num, empr_num)) ";
     4283                        echo traite_rqt($rqt,"create table lignes_actes_applicants");
     4284
     4285                        //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
     4286                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='quick_access_logout' "))==0){
     4287                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4288                                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)";
     4289                                echo traite_rqt($rqt,"insert opac_quick_access_logout into parametres");
     4290                        }
     4291
     4292                        //NG - Ajout du libellé opac des classements de bannettes publiques
     4293                        $rqt = "ALTER TABLE classements ADD classement_opac_name varchar(255) not null default ''";
     4294                        echo traite_rqt($rqt,"ALTER TABLE classements ADD classement_opac_name") ;
     4295
     4296                        //NG - Ajout de l'ordre dans les classements de bannettes publiques
     4297                        $rqt = "ALTER TABLE classements ADD classement_order int NOT NULL default 0";
     4298                        echo traite_rqt($rqt,"ALTER TABLE classements ADD classement_order") ;
     4299
     4300                        //NG - Attribution d'un ordre par défault pour le fonctionnement du tri des classement des classement de bannettes
     4301                        $rqt = "update classements set classement_order=id_classement where (type_classement='BAN' or type_classement='')";
     4302                        echo traite_rqt($rqt, "update classements set classement_order");
     4303
     4304                        //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.
     4305                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='pics_folder' "))==0){
     4306                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4307                                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)";
     4308                                echo traite_rqt($rqt,"insert empr_pics_folder into parametres");
     4309                        }
     4310
     4311                        //NG - Activer la recherche de notices déjà présentes en saisie d'une suggestion d'acquisition
     4312                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='suggestion_search_notice_doublon' "))==0){
     4313                        $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4314                                        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)" ;
     4315                                echo traite_rqt($rqt,"insert opac_suggestion_search_notice_doublon into parametres") ;
     4316                        }
     4317
     4318                        //TS & NG - Ajout de la notion de propriétaire pour les documents numériques
     4319                        $rqt = "create table if not exists explnum_lenders(
     4320                                explnum_lender_num_explnum int not null default 0,
     4321                                explnum_lender_num_lender int not null default 0,
     4322                                primary key (explnum_lender_num_explnum, explnum_lender_num_lender)) ";
     4323                        echo traite_rqt($rqt,"create table explnum_lenders");
     4324
     4325                        // VT - Ajout d'un paramètre permettant de d'activer/désactiver l'affinage des recherches à l'OPAC
     4326                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='search_allow_refinement' "))==0){
     4327                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4328                                VALUES ( 'opac', 'search_allow_refinement', '1', 'Afficher le lien \"Affiner la recherche\" en résultat de recherche','c_recherche', 0)";
     4329                                echo traite_rqt($rqt,"insert opac_search_allow_refinement into parametres");
     4330                        }
     4331
     4332                        //DG - Modification du commentaire opac_etagere_notices_format
     4333                        $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'" ;
     4334                        echo traite_rqt($rqt,"UPDATE parametres SET comment_param for opac_etagere_notices_format") ;
     4335
     4336                        //DG - Modification du commentaire opac_bannette_notices_format
     4337                        $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'" ;
     4338                        echo traite_rqt($rqt,"UPDATE parametres SET comment_param for opac_bannette_notices_format") ;
     4339
     4340                        // NG - Création de la table mémorisant les groupes de lecteurs abonnés à une bannette
     4341                        // empr_groupe_num_bannette : Identifiant de bannette
     4342                        // empr_groupe_num_groupe : Identifiant de groupe de lecteur
     4343                        $rqt = "create table if not exists bannette_empr_groupes(
     4344                                empr_groupe_num_bannette int unsigned not null default 0,
     4345                                empr_groupe_num_groupe int unsigned not null default 0,
     4346                                PRIMARY KEY (empr_groupe_num_bannette, empr_groupe_num_groupe) )";
     4347                        echo traite_rqt($rqt,"create table bannette_empr_groupes");
     4348
     4349                        // NG - Création de la table mémorisant les catégories de lecteurs abonnés à une bannette
     4350                        // empr_categ_num_bannette : Identifiant de bannette
     4351                        // empr_categ_num_categ : Identifiant de categorie de lecteur
     4352                        $rqt = "create table if not exists bannette_empr_categs(
     4353                                empr_categ_num_bannette int unsigned not null default 0,
     4354                                empr_categ_num_categ int unsigned not null default 0,
     4355                                PRIMARY KEY (empr_categ_num_bannette, empr_categ_num_categ) )";
     4356                        echo traite_rqt($rqt,"create table bannette_empr_categs");
     4357
     4358                        $rqt = "insert into bannette_empr_groupes (empr_groupe_num_bannette, empr_groupe_num_groupe)
     4359                                        select id_bannette, groupe_lecteurs from bannettes where groupe_lecteurs > 0";
     4360                        echo traite_rqt($rqt,"insert into bannette_empr_groupes");
     4361
     4362                        $rqt = "insert into bannette_empr_categs (empr_categ_num_bannette, empr_categ_num_categ)
     4363                                        select id_bannette, categorie_lecteurs from bannettes where categorie_lecteurs > 0";
     4364                        echo traite_rqt($rqt,"insert into bannette_empr_categs");
     4365
     4366                        //Alexandre - Suppression du code pour les articles de périodiques
     4367                        $rqt = "UPDATE notices SET code='',update_date=update_date WHERE niveau_biblio='a'";
     4368                        echo traite_rqt($rqt,"UPDATE notices SET code for niveau_biblio=a");
     4369
     4370                        // TS & NG - Définition de la couleur d'une emprise de localisation
     4371                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_holds_location_color' "))==0){
     4372                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4373                                VALUES ( 'pmb', 'map_holds_location_color', '#D60F0F', 'Couleur des emprises associées à des localisations','map', 0)";
     4374                                echo traite_rqt($rqt,"insert pmb_map_holds_location_color into parametres");
     4375                        }
     4376
     4377                        // TS & NG - Ajout paramètre de la taille de la carte en édition de localisation
     4378                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_location_edition' "))==0){
     4379                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4380                                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)";
     4381                                echo traite_rqt($rqt,"insert pmb_map_size_location_edition into parametres");
     4382                        }
     4383
     4384                        // TS & NG - Ajout paramètre de la taille de la carte en visualisation des localisations
     4385                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_size_location_view' "))==0){
     4386                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4387                                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)";
     4388                                echo traite_rqt($rqt,"insert pmb_map_size_location_view into parametres");
     4389                        }
     4390
     4391                        // TS & NG - Définition de la couleur d'une emprise de localisation
     4392                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_holds_location_color' "))==0){
     4393                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4394                                VALUES ( 'opac', 'map_holds_location_color', '#D60F0F', 'Couleur des emprises associées à des localisations en RVB, exemple : #D60F0F','map', 0)";
     4395                                echo traite_rqt($rqt,"insert opac_map_holds_location_color into parametres");
     4396                        }
     4397
     4398                        // TS & NG - Ajout paramètre de la taille de la carte en visualisation des localisations
     4399                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_location_view' "))==0){
     4400                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4401                                VALUES ( 'opac', 'map_size_location_view', '800*480', 'Taille de la carte en visualisation des localisationsen pixels, L*H, exemple : 800*480','map', 0)";
     4402                                echo traite_rqt($rqt,"insert opac_map_size_location_view into parametres");
     4403                        }
     4404
     4405                        //JP - Templates de bannette pour dsi privées
     4406                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'dsi' and sstype_param='private_bannette_tpl' "))==0){
     4407                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4408                                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)";
     4409                                echo traite_rqt($rqt,"insert dsi_private_bannette_tpl into parametres");
     4410                        }
     4411
     4412                        //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
     4413                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pdflettreresa' and sstype_param='resa_prolong_email' "))==0){
     4414                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4415                                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)";
     4416                                echo traite_rqt($rqt,"insert pmb_resa_prolong_email=0 into parametres");
     4417                        }
     4418
     4419                        // VT - Ajout d'un paramètre permettant de masquer les +/- dans les listes de résultats à l'opac
     4420                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='recherche_show_expand' "))==0){
     4421                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4422                                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)";
     4423                                echo traite_rqt($rqt,"insert opac_recherche_show_expand into parametres");
     4424                        }
     4425
     4426                        //DG - Paramètre Portail : Activer l'onglet Toolkits
     4427                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'cms' and sstype_param='active_toolkits' "))==0){
     4428                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4429                                        VALUES (0, 'cms', 'active_toolkits', '0', 'Activer la possibilité de gérer des toolkits.\n 0: non \n 1:Oui','',0)";
     4430                                echo traite_rqt($rqt,"insert cms_active_toolkits into parametres");
     4431                        }
     4432
     4433                        // DG - Création de la table pour les toolkits d'aide à la construction d'un portail
     4434                        // cms_toolkit_name : Nom du toolkit
     4435                        // cms_toolkit_active : Activé Oui/Non
     4436                        // cms_toolkit_data : Données
     4437                        // cms_toolkit_order : Ordre
     4438                        $rqt = "create table if not exists cms_toolkits(
     4439                                cms_toolkit_name varchar(255) not null default '' primary key,
     4440                                cms_toolkit_active int(1) NOT NULL DEFAULT 0,
     4441                                cms_toolkit_data text not null,
     4442                                cms_toolkit_order int(3) unsigned not null default 0)";
     4443                        echo traite_rqt($rqt,"create table cms_toolkits");
     4444
     4445                        //DG - Ajout de l'ordre sur les recherches prédéfinies Gestion
     4446                        $rqt = "ALTER TABLE search_perso ADD search_order int(11) NOT NULL default 0";
     4447                        echo traite_rqt($rqt,"ALTER TABLE search_perso ADD search_order") ;
     4448
     4449                        //JP - Champs persos sur les documents numériques
     4450                        $rqt = "create table if not exists explnum_custom (
     4451                                idchamp int(10) unsigned NOT NULL auto_increment,
     4452                                num_type int unsigned not null default 0,
     4453                                name varchar(255) NOT NULL default '',
     4454                                titre varchar(255) default NULL,
     4455                                type varchar(10) NOT NULL default 'text',
     4456                                datatype varchar(10) NOT NULL default '',
     4457                                options text,
     4458                                multiple int(11) NOT NULL default 0,
     4459                                obligatoire int(11) NOT NULL default 0,
     4460                                ordre int(11) default NULL,
     4461                                search INT(1) unsigned NOT NULL DEFAULT 0,
     4462                                export INT(1) unsigned NOT NULL DEFAULT 0,
     4463                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     4464                                pond int not null default 100,
     4465                                opac_sort INT NOT NULL DEFAULT 0,
     4466                                comment BLOB NOT NULL default '',
     4467                                PRIMARY KEY  (idchamp)) ";
     4468                        echo traite_rqt($rqt,"create table explnum_custom ");
     4469
     4470                        $rqt = "create table if not exists explnum_custom_lists (
     4471                                explnum_custom_champ int(10) unsigned NOT NULL default 0,
     4472                                explnum_custom_list_value varchar(255) default NULL,
     4473                                explnum_custom_list_lib varchar(255) default NULL,
     4474                                ordre int(11) default NULL,
     4475                                KEY explnum_custom_champ (explnum_custom_champ),
     4476                                KEY explnum_champ_list_value (explnum_custom_champ,explnum_custom_list_value)) " ;
     4477                        echo traite_rqt($rqt,"create table explnum_custom_lists ");
     4478
     4479                        $rqt = "create table if not exists explnum_custom_values (
     4480                                explnum_custom_champ int(10) unsigned NOT NULL default 0,
     4481                                explnum_custom_origine int(10) unsigned NOT NULL default 0,
     4482                                explnum_custom_small_text varchar(255) default NULL,
     4483                                explnum_custom_text text,
     4484                                explnum_custom_integer int(11) default NULL,
     4485                                explnum_custom_date date default NULL,
     4486                                explnum_custom_float float default NULL,
     4487                                explnum_custom_order int(11) NOT NULL default 0,
     4488                                KEY explnum_custom_champ (explnum_custom_champ),
     4489                                KEY i_encv_st (explnum_custom_small_text),
     4490                                KEY i_encv_t (explnum_custom_text(255)),
     4491                                KEY i_encv_i (explnum_custom_integer),
     4492                                KEY i_encv_d (explnum_custom_date),
     4493                                KEY i_encv_f (explnum_custom_float),
     4494                                KEY explnum_custom_origine (explnum_custom_origine)) " ;
     4495                        echo traite_rqt($rqt,"create table explnum_custom_values ");
     4496
     4497                        //JP - paramètre utilisateur : paniers du catalogue dépliés ou non par défaut
     4498                        $rqt = "ALTER TABLE users ADD deflt_catalog_expanded_caddies INT( 1 ) UNSIGNED NOT NULL DEFAULT 1";
     4499                        echo traite_rqt($rqt,"ALTER TABLE users ADD deflt_catalog_expanded_caddies");
     4500                       
     4501                        //JP - Ajout du champ de notice Droit d'usage
     4502                        $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 ) ) " ;
     4503                        echo traite_rqt($rqt,"CREATE TABLE notice_usage ");
     4504                        $rqt = "ALTER TABLE notices ADD num_notice_usage INT( 8 ) UNSIGNED DEFAULT 0 NOT NULL ";
     4505                        echo traite_rqt($rqt,"ALTER TABLE notices ADD num_notice_usage ");
     4506
     4507                        // +-------------------------------------------------+
     4508                        echo "</table>";
     4509                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;             
     4510                        $res = pmb_mysql_query($rqt, $dbh) ;
     4511
     4512                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     4513                        $action=$action+$increment;
     4514                        //echo form_relance ("v5.22");
     4515
     4516
     4517       
     4518        //case "v5.22":
     4519                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     4520                        // +-------------------------------------------------+
     4521                                       
     4522                        // DG - Veilles : Option pour filtrer les nouveaux items avec une expression booléènne au niveau de la source
     4523                        $rqt = "ALTER TABLE docwatch_datasources ADD datasource_boolean_expression varchar(255) not null default '' after datasource_clean_html" ;
     4524                        echo traite_rqt($rqt,"ALTER TABLE docwatch_datasources ADD datasource_boolean_expression ");
     4525                               
     4526                        // DG - Veilles : Option pour filtrer les nouveaux items avec une expression booléènne au niveau de la veille
     4527                        $rqt = "ALTER TABLE docwatch_watches ADD watch_boolean_expression varchar(255) not null default ''" ;
     4528                        echo traite_rqt($rqt,"ALTER TABLE docwatch_watches ADD watch_boolean_expression ");
     4529                               
     4530                        // DG - Items de veilles : Index sans les mots vides
     4531                        $rqt = "ALTER TABLE docwatch_items ADD item_index_sew mediumtext not null default ''" ;
     4532                        echo traite_rqt($rqt,"ALTER TABLE docwatch_items ADD item_index_sew ");
     4533                               
     4534                        // DG - Items de veilles : Index avec les mots vides
     4535                        $rqt = "ALTER TABLE docwatch_items ADD item_index_wew mediumtext not null default ''" ;
     4536                        echo traite_rqt($rqt,"ALTER TABLE docwatch_items ADD item_index_wew ");
     4537                               
     4538                        // DG - Création d'une table pour stocker le source des sites surveillés
     4539                        // datasource_monitoring_website_num_datasource : Identifiant de la source
     4540                        // datasource_monitoring_website_upload_date : Date du téléchargement
     4541                        // datasource_monitoring_website_content : Contenu
     4542                        // datasource_monitoring_website_content_hash : Hash du contenu
     4543                        $rqt = "create table if not exists docwatch_datasource_monitoring_website(
     4544                                datasource_monitoring_website_num_datasource int(10) unsigned not null default 0 primary key,
     4545                                datasource_monitoring_website_upload_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     4546                                datasource_monitoring_website_content mediumtext not null,
     4547                                datasource_monitoring_website_content_hash varchar(255) not null default '')";
     4548                        echo traite_rqt($rqt,"create table docwatch_datasource_monitoring_website");
     4549                               
     4550                        // TS & AP - Création d'une table de liaison entre SESSID et token (pour les SSO)
     4551                        // sessions_tokens_SESSID : SESSID
     4552                        // sessions_tokens_token : Token
     4553                        // sessions_tokens_type : Information sur l'utilisation du token
     4554                        $rqt = "create table if not exists sessions_tokens(
     4555                                sessions_tokens_SESSID varchar(12) not null default '',
     4556                                sessions_tokens_token varchar(255) NOT NULL default '',
     4557                                sessions_tokens_type varchar(255) NOT NULL default '',
     4558                                primary key (sessions_tokens_SESSID, sessions_tokens_type),
     4559                                index i_st_sessions_tokens_type(sessions_tokens_type),
     4560                                index i_st_sessions_tokens_token(sessions_tokens_token))";
     4561                                        echo traite_rqt($rqt,"create table sessions_tokens");
     4562                                                               
     4563                        // NG - Création de la table des facettes de notices externes
     4564                        $rqt = "CREATE TABLE if not exists facettes_external (
     4565                                id_facette int unsigned auto_increment,
     4566                                facette_name varchar(255) not null default '',
     4567                                facette_critere int(5) not null default 0,
     4568                                facette_ss_critere int(5) not null default 0,
     4569                                facette_nb_result int(2) not null default 0,
     4570                                facette_visible_gestion tinyint(1) not null default 0,
     4571                                facette_visible tinyint(1) not null default 0,
     4572                                facette_type_sort int(1) not null default 0,
     4573                                facette_order_sort int(1) not null default 0,
     4574                                facette_order int not null default 1,
     4575                                facette_limit_plus int not null default 0,
     4576                                facette_opac_views_num text NOT NULL,
     4577                                primary key (id_facette))";
     4578                        echo traite_rqt($rqt,"CREATE TABLE facettes_external");
     4579               
     4580                        // NG - Ajout de la visibilité des facettes en Gestion
     4581                        $rqt = "ALTER TABLE facettes add facette_visible_gestion tinyint(1) not null default 0 AFTER facette_nb_result";
     4582                        echo traite_rqt($rqt,"ALTER TABLE facettes add facette_visible_gestion ");
     4583
     4584                        //AP & TS - Ajout de la notion de fermeture des statuts de demandes de numérisation
     4585                        $rqt = "ALTER TABLE scan_request_status ADD scan_request_status_is_closed int(1) NOT NULL default 0";
     4586                        echo traite_rqt($rqt,"ALTER TABLE scan_request_status ADD scan_request_status_is_closed");
     4587
     4588                        // NG - Suppression de la table tu_oeuvres_others_links
     4589                        $rqt ="drop table if exists tu_oeuvres_others_links";
     4590                        echo traite_rqt($rqt,"drop table tu_oeuvres_others_links");
     4591
     4592                        // NG - Suppression de la table tu_oeuvres_expressions
     4593                        $rqt ="drop table if exists tu_oeuvres_expressions";
     4594                        echo traite_rqt($rqt,"drop table tu_oeuvres_expressions");
     4595
     4596                        // NG - Ajoute index scan_request_status_workflow
     4597                        $rqt ="alter table scan_request_status_workflow add primary key (scan_request_status_workflow_from_num, scan_request_status_workflow_to_num)";
     4598                        echo traite_rqt($rqt,"alter table scan_request_status_workflow add primary key");
     4599
     4600                        // NG - Ajoute index tu_oeuvres_links
     4601                        $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)";
     4602                        echo traite_rqt($rqt,"alter table tu_oeuvres_links add primary key");
     4603
     4604                        //DG - Parametre du template d'affichage des notices pour le comparateur.
     4605                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='compare_notice_active' "))==0){
     4606                                $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)";
     4607                                echo traite_rqt($rqt,"insert pmb_compare_notice_active into parametres");
     4608                        }
     4609
     4610                        // NG - Ajout d'un paramètre mémorisant le décompte préféré à un type de demande
     4611                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'acquisition' and sstype_param='request_type_pref_account' "))==0){
     4612                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     4613                                        VALUES (0, 'acquisition', 'request_type_pref_account', '', '1', 'Mémorise le décompte préféré à un type de demande') ";
     4614                                echo traite_rqt($rqt,"INSERT acquisition_request_type_pref_account INTO parametres") ;
     4615                        }
     4616                                                                                       
     4617                        //Alexandre - Préremplissage du prix des exemplaires avec le prix indiqué en notice
     4618                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='prefill_prix' "))==0){
     4619                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4620                                        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) ";
     4621                                echo traite_rqt($rqt, "insert pmb_prefill_prix=0 into parametres");
     4622                        }
     4623
     4624                        // NG - Modification des commentaires des paramètres de géolocalisation
     4625                        $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'
     4626                                        WHERE type_param= 'opac' and sstype_param='map_activate' ";
     4627                        echo traite_rqt($rqt,"UPDATE comment_param of opac_map_activate");
     4628                               
     4629                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en visualisation de notice. En pixels ou en pourcentage. Exemple : 100%*480px'
     4630                                        WHERE type_param= 'opac' and sstype_param='map_size_notice_view' ";
     4631                        echo traite_rqt($rqt,"UPDATE comment_param of opac_map_size_notice_view");
     4632                               
     4633                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en saisie de recherche. En pixels ou en pourcentage. Exemple : 100%*480px'
     4634                                        WHERE type_param= 'opac' and sstype_param='map_size_search_edition' ";
     4635                        echo traite_rqt($rqt,"UPDATE comment_param of opac_map_size_search_edition");
     4636                               
     4637                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en résultat de recherche. En pixels ou en pourcentage. Exemple : 100%*480px'
     4638                                        WHERE type_param= 'opac' and sstype_param='map_size_search_result' ";
     4639                        echo traite_rqt($rqt,"UPDATE comment_param of opac_map_size_search_result");
     4640                               
     4641                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en édition de notice. En pixels ou en pourcentage. Exemple : 100%*480px'
     4642                                        WHERE type_param= 'pmb' and sstype_param='map_size_notice_edition' ";
     4643                        echo traite_rqt($rqt,"UPDATE comment_param of pmb_map_size_notice_edition");
     4644                               
     4645                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en visualisation de notice. En pixels ou en pourcentage. Exemple : 100%*480px'
     4646                                        WHERE type_param= 'pmb' and sstype_param='map_size_notice_view' ";
     4647                        echo traite_rqt($rqt,"UPDATE comment_param of pmb_map_size_notice_view");
     4648                               
     4649                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en saisie de recherche. En pixels ou en pourcentage. Exemple : 100%*480px'
     4650                                        WHERE type_param= 'pmb' and sstype_param='map_size_search_edition' ";
     4651                        echo traite_rqt($rqt,"UPDATE comment_param of pmb_map_size_search_edition");
     4652                               
     4653                        $rqt = "UPDATE parametres SET comment_param = 'Taille de la carte en résultat de recherche. En pixels ou en pourcentage. Exemple : 100%*480px'
     4654                                        WHERE type_param= 'pmb' and sstype_param='map_size_search_result' ";
     4655                        echo traite_rqt($rqt,"UPDATE comment_param of pmb_map_size_search_result");
     4656                               
     4657                        // TS & NG - Définition de la couleur d'une emprise de sur-localisation
     4658                        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){
     4659                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4660                                        VALUES ( 'opac', 'map_holds_sur_location_color', '#D60F0F', 'Couleur des emprises associées à des sur-localisations','map', 0)";
     4661                                echo traite_rqt($rqt,"insert opac_map_holds_sur_location_color into parametres");
     4662                        }
     4663                               
     4664                        // TS & NG - Ajout paramètre de la taille de la carte des localisations dans les facettes
     4665                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_size_location_facette' "))==0){
     4666                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4667                                        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)";
     4668                                echo traite_rqt($rqt,"insert opac_map_size_location_facette into parametres");
     4669                        }
     4670                               
     4671                        // TS & NG - Ajout paramètre de la taille de la carte des localisations dans la page d'accueil de l'Opac
     4672                        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){
     4673                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4674                                        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)";
     4675                                echo traite_rqt($rqt,"insert opac_map_size_location_home_page");
     4676                        }
     4677
     4678                        // NG - Paramètre d'activation de la localisation d'une demande de numérisation
     4679                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='scan_request_location_activate' "))==0){
     4680                                $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)";
     4681                                echo traite_rqt($rqt,"insert pmb_scan_request_location_activate into parametres");
     4682                        }
     4683
     4684                        // NG - Ajout de la localisation d'une demande de numérisation
     4685                        $rqt = "ALTER TABLE scan_requests ADD scan_request_num_location INT UNSIGNED NOT NULL DEFAULT 0";
     4686                        echo traite_rqt($rqt,"ALTER TABLE scan_requests ADD scan_request_num_location");
     4687                               
     4688                        // JP - Pouvoir cacher les documents numériques dans les options d'impression des paniers à l'opac
     4689                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='print_explnum' "))==0){
     4690                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4691                                        VALUES (0, 'opac', 'print_explnum', '1', 'Activer la possibilité d\'imprimer les documents numériques.\n 0: non \n 1: oui','h_cart',0)";
     4692                                echo traite_rqt($rqt,"insert opac_print_explnum into parametres");
     4693                        }
     4694
     4695                        // 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)
     4696                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='allow_authorities_first_page' "))==0){
     4697                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4698                                                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)";
     4699                                echo traite_rqt($rqt,"insert pmb_allow_authorities_first_page into parametres");
     4700                        }
     4701                               
     4702                        // NG - Autoriser le prêt d'un exemplaire déjà prêté
     4703                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='pret_already_borrowed' "))==0){
     4704                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4705                                                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)";
     4706                                echo traite_rqt($rqt,"insert pmb_pret_already_borrowed into parametres");
     4707                        }
     4708                               
     4709                        // NG - Ajout préférences utilisateur en créattion d'une fiche lecteur
     4710                        $rqt = "ALTER TABLE users ADD deflt_empr_categ INT UNSIGNED DEFAULT 1 NOT NULL AFTER deflt_empr_statut ";
     4711                        echo traite_rqt($rqt, "add deflt_empr_categ in table users");
     4712                        $rqt = "ALTER TABLE users ADD deflt_empr_codestat INT UNSIGNED DEFAULT 1 NOT NULL AFTER deflt_empr_categ ";
     4713                        echo traite_rqt($rqt, "add deflt_empr_codestat in table users");
     4714                                                                                       
     4715
     4716                        // +-------------------------------------------------+
     4717                        echo "</table>";
     4718                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     4719                        $res = pmb_mysql_query($rqt, $dbh) ;
     4720
     4721                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     4722                        $action=$action+$increment;
     4723                        //echo form_relance ("v5.23");
     4724               
     4725        //case "v5.23":
     4726                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     4727                        // +-------------------------------------------------+
     4728                       
     4729                        // DG/JP - ajout des paramètres d'export pour les notices liées horizontales
     4730                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'exportparam' and sstype_param='export_horizontale' "))==0){
     4731                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4732                                        VALUES (NULL, 'exportparam', 'export_horizontale', '0', 'Lien vers les notices liées horizontales', '', '1')";
     4733                                echo traite_rqt($rqt,"insert exportparam_export_horizontale='0' into parametres ");
     4734                        }
     4735                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'exportparam' and sstype_param='export_notice_horizontale_link' "))==0){
     4736                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4737                                        VALUES (NULL, 'exportparam', 'export_notice_horizontale_link', '0', 'Exporter les notices liées horizontales', '', '1')";
     4738                                echo traite_rqt($rqt,"insert exportparam_export_notice_horizontale_link='0' into parametres ");
     4739                        }
     4740                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='exp_export_horizontale' "))==0){
     4741                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4742                                        VALUES (NULL, 'opac', 'exp_export_horizontale', '0', 'Lien vers les notices liées horizontales', '', '1')";
     4743                                echo traite_rqt($rqt,"insert opac_exp_export_horizontale='0' into parametres ");
     4744                        }
     4745                        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){
     4746                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4747                                        VALUES (NULL, 'opac', 'exp_export_notice_horizontale_link', '0', 'Exporter les notices liées horizontales', '', '1')";
     4748                                echo traite_rqt($rqt,"insert opac_exp_export_notice_horizontale_link='0' into parametres ");
     4749                        }
     4750                        // DG/JP - mise à jour de la table notices_relations
     4751                        if (pmb_mysql_num_rows(pmb_mysql_query("show columns from notices_relations like 'id_notices_relations'"))==0) {
     4752                                $rqt = " select 1 " ;
     4753                                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> ") ;
     4754                        }                       
     4755                        // AR - Activer les ontologies génériques et l'onglet sémantique
     4756                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'semantic' and sstype_param='active' "))==0){
     4757                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4758                                                                VALUES (0, 'semantic', 'active', '0', 'Module \"Sémantique\" activé.\n 0: non \n 1:Oui','',0)";
     4759                                echo traite_rqt($rqt,"insert semantic_active into parametres");
     4760                        }
     4761
     4762                        // NG - Activer le focus sur le champ de recherche a l'opac
     4763                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='focus_user_query' "))==0){
     4764                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4765                                                VALUES (0, 'opac', 'focus_user_query', '1', 'Activer le focus sur le champ de recherche.\n 0: non \n 1:Oui','c_recherche',0)";
     4766                                echo traite_rqt($rqt,"insert opac_focus_user_query into parametres");
     4767                        }
     4768                       
     4769                        //NG - Parametre pour afficher dans tous les cas la source et la destination en édition de transfert
     4770                        if (pmb_mysql_num_rows(pmb_mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='edition_show_all_colls' "))==0){
     4771                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param)
     4772                                        VALUES (0, 'transferts', 'edition_show_all_colls', '0', '1', 'Afficher dans tous les cas la source et la destination en édition de transfert') ";
     4773                                echo traite_rqt($rqt,"INSERT transferts_edition_show_all_colls INTO parametres") ;
     4774                        }
     4775                       
     4776                        //JP - Ajout d'index sur la table catégories
     4777                        $rqt = "alter table categories drop index i_num_thesaurus";
     4778                        echo traite_rqt($rqt,"alter table categories drop index i_num_thesaurus");
     4779                        $rqt = "alter table categories add index i_num_thesaurus(num_thesaurus)";
     4780                        echo traite_rqt($rqt,"alter table categories add index i_num_thesaurus");
     4781
     4782                        ///JP - Nombre de notices diffusées pour dsi privées
     4783                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'dsi' and sstype_param='private_bannette_nb_notices' "))==0){
     4784                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4785                                        VALUES ( 'dsi', 'private_bannette_nb_notices', '30', 'Nombre maximum par défaut de notices diffusées dans les bannettes privées.','', 0)";
     4786                                echo traite_rqt($rqt,"insert dsi_private_bannette_nb_notices into parametres");
     4787                        }
     4788                               
     4789                        // AP-VT - Paramètre d'activation des graphes côté gestion
     4790                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='entity_graph_activate' "))==0){
     4791                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4792                                                VALUES (0, 'pmb', 'entity_graph_activate', '1', 'Active ou non le graphe des entités PMB.\n 0: Non \n 1: Oui','',0)";
     4793                                echo traite_rqt($rqt,"insert pmb_entity_graph_activate into parametres");
     4794                        }
     4795                               
     4796                        // AP-VT - Définition du niveau de récursion affiché par défaut dans le graphe
     4797                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='entity_graph_recursion_lvl' "))==0){
     4798                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4799                                                VALUES (0, 'pmb', 'entity_graph_recursion_lvl', '1', 'Valeur numérique définissant le niveau de profondeur du graphe.','',0)";
     4800                                echo traite_rqt($rqt,"insert pmb_entity_graph_recursion_lvl into parametres");
     4801                        }
     4802                               
     4803                        // NG - VT - Création du paramètre d'activation des espaces de contribution en gestion
     4804                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contribution_area_activate' "))==0){
     4805                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4806                VALUES (NULL, 'pmb', 'contribution_area_activate', '0', 'Espace de contribution actif: \r\n0: Non\r\n1: Oui', '', '0')";
     4807                                echo traite_rqt($rqt,"insert pmb_contribution_area_activate=0 into parametres ");
     4808                        }
     4809                       
     4810                        // AP & TS - Création d'un paramètre permettant d'activer l'espace de contribution à l'OPAC
     4811                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='contribution_area_activate' "))==0){
     4812                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4813                                VALUES ( 'opac', 'contribution_area_activate', '0', 'Espace de contribution actif ? \n0 : Non\n1 : Oui\n','f_modules', 0)";
     4814                                echo traite_rqt($rqt,"insert opac_contribution_area_activate=0 into parametres");
     4815                        }
     4816                               
     4817                        // NG - VT Création de la table des espaces de contribution
     4818                        // id_area: identifiant de l'espace de contribution
     4819                        // area_title: nom de l'espace de contribution
     4820                        // area_comment : Commentaire associé à l'espace de contribution
     4821                        // area_color : Couleur associée à l'espace de contribution
     4822                        // area_order : Ordre associé à l'espace de contribution
     4823                        $rqt="create table if not exists contribution_area_areas(
     4824                                id_area int unsigned not null auto_increment primary key,
     4825                                area_title varchar(255) not null default '',
     4826                                area_comment text not null,
     4827                                area_color varchar(10) not null default '',
     4828                                area_order int(5) not null default 0
     4829                        )";
     4830                        echo traite_rqt($rqt, "create table contribution_area_areas");
     4831               
     4832                        // AR - VT Création de la table des formulaires de contribution
     4833                        // id_form: Identifiant du formulaire
     4834                        // form_title: Nom du formulaire
     4835                        // form_type: type d'entité que représente le formulaire (notice, auteur, categ etc...)
     4836                        // form_status : statut du formulaire
     4837                        // form_parameters: structure JSON contenant le paramétrage spécifique du formulaire (champs affichés, label choisis etc..)
     4838                        $rqt="create table if not exists contribution_area_forms(
     4839                                id_form int unsigned not null auto_increment primary key,
     4840                                form_title varchar(255) not null default '',
     4841                                form_type varchar(255) not null default '',
     4842                                form_status int(3) unsigned NOT NULL DEFAULT 1,
     4843                                form_parameters blob not null
     4844                        )";
     4845                        echo traite_rqt($rqt, "create table contribution_area_forms");
     4846                       
     4847                        //AP & TS - paramétrages des droits d'accès sur les espaces de contribution
     4848                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'gestion_acces' and sstype_param='empr_contribution' "))==0){
     4849                        $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     4850                                        VALUES ('gestion_acces','empr_contribution',0,'Gestion des droits d\'accès des emprunteurs aux espaces de contribution\n0 : Non.\n1 : Oui.','',0)";
     4851                                echo traite_rqt($rqt,"insert gestion_acces_empr_contribution=0 into parametres");
     4852                        }
     4853                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'gestion_acces' and sstype_param='empr_contribution_def' "))==0){
     4854                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     4855                                        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)";
     4856                                echo traite_rqt($rqt,"insert gestion_acces_empr_contribution_def=0 into parametres");
     4857                        }
     4858               
     4859                        //AP & TS - Création de la table des status des espaces de contribution
     4860                        //contribution_area_status_id : identifiant du statut
     4861                        //contribution_area_status_gestion_libelle : libellé du statut en gestion
     4862                        //contribution_area_status_opac_libelle : libellé du statut en OPAC
     4863                        //contribution_area_status_class_html : classe HTML du statut
     4864                        //contribution_area_status_available_for : Définit les types d'entités PMB pour lesquelles un statut est disponible
     4865                        $rqt="create table if not exists contribution_area_status(
     4866                        contribution_area_status_id int unsigned not null auto_increment primary key,
     4867                                contribution_area_status_gestion_libelle varchar(255) not null default '',
     4868                                contribution_area_status_opac_libelle varchar(255) not null default '',
     4869                                contribution_area_status_class_html varchar(255) not null default '',
     4870                                contribution_area_status_available_for text default null
     4871                        )";
     4872                        echo traite_rqt($rqt, "create table contribution_area_status");
     4873                               
     4874                        // AP & TS - Statut par défaut pour la contribution
     4875                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from contribution_area_status where contribution_area_status_id ='1' "))==0) {
     4876                                $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";}').'")';
     4877                                echo traite_rqt($rqt,"insert default contribution_area_status");
     4878                        }
     4879                               
     4880                        //NG & TS - Création de la table des equations de recherches pour les sélecteurs de ressource dans les formulaires de contribution
     4881                        //contribution_area_equation_id : identifiant de l'equation
     4882                        //contribution_area_equation_name : libellé de l'equation
     4883                        //contribution_area_equation_type : type de l'equation
     4884                        //contribution_area_equation_query : requete de recherche de l'equation
     4885                        //contribution_area_equation_human_query : requete comprehensible
     4886                        $rqt="create table if not exists contribution_area_equations(
     4887                        contribution_area_equation_id int unsigned not null auto_increment primary key,
     4888                                contribution_area_equation_name varchar(255) not null default '',
     4889                                contribution_area_equation_type varchar(255) not null default '',
     4890                                contribution_area_equation_query text not null,
     4891                                contribution_area_equation_human_query text not null
     4892                        )";
     4893                        echo traite_rqt($rqt, "create table contribution_area_equations");
     4894               
     4895                        // AP - Activer les statistiques de fréquentation
     4896                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param='empr' and sstype_param='visits_statistics_active' "))==0){
     4897                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4898                                                VALUES (0, 'empr', 'visits_statistics_active', '0', 'Activer les statistiques de fréquentation.\n 0 : Non \n 1 : Oui','',0)";
     4899                                echo traite_rqt($rqt,"insert empr_visits_statistics_active=0 into parametres");
     4900                        }
     4901               
     4902                        // AP - Création d'une table pour stocker les statistiques de fréquentation
     4903                        // visits_statistics_date : Date
     4904                        // visits_statistics_location : Localisation
     4905                        // visits_statistics_type : Type de service
     4906                        // visits_statistics_value : Valeur
     4907                        $rqt = "CREATE TABLE if not exists visits_statistics (
     4908                        visits_statistics_date DATE NOT NULL default '0000-00-00',
     4909                        visits_statistics_location SMALLINT(5) UNSIGNED NOT NULL default 0,
     4910                                        visits_statistics_type VARCHAR(255) NOT NULL default '',
     4911                                        visits_statistics_value INT UNSIGNED NOT NULL default 0,
     4912                                        primary key (visits_statistics_date, visits_statistics_location, visits_statistics_type)
     4913                        )";
     4914                        echo traite_rqt($rqt,"CREATE TABLE visits_statistics ") ;
     4915                       
     4916                        // AP - Ajout d'une colonne de signature dans la table de documents numériques
     4917                                                // Attention, chez certain client, cette opération peut prendre beaucoup de temps et mener à un timeout
     4918                        if (pmb_mysql_num_rows(pmb_mysql_query("show columns from explnum like 'explnum_signature'")) == 0){
     4919                        $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 !";
     4920                                echo "<tr><td><font size='1'>".($charset == "utf-8" ? utf8_encode($info_message) : $info_message)."</font></td><td></td></tr>";
     4921                        flush();
     4922                                ob_flush();
     4923                       
     4924                                $rqt = "ALTER TABLE explnum ADD explnum_signature varchar(255) not null default ''";
     4925                                echo traite_rqt($rqt,"alter table explnum add explnum_signature");
     4926                        }
     4927                       
     4928                        // TS - VT // Ajout d'un parametre caché contenant le nom d'utilisateur du webservice associé à la contribution OPAC
     4929                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contribution_ws_username' "))==0){
     4930                                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     4931                                        VALUES ('pmb','contribution_ws_username','','Paramètre caché contenant le nom d\'utilisateur du ws','',1)";
     4932                                echo traite_rqt($rqt,"insert pmb_contribution_ws_username='' into parametres");
     4933                        }
     4934               
     4935                        // TS - VT // Ajout d'un parametre caché contenant le mot de passe de l'utilisateur du ws associé à la contribution OPAC
     4936                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contribution_ws_password' "))==0){
     4937                                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     4938                                        VALUES ('pmb','contribution_ws_password','','Paramètre caché contenant le mot de passe de l\'utilisateur du ws','',1)";
     4939                                echo traite_rqt($rqt,"insert pmb_contribution_ws_password='' into parametres");
     4940                        }
     4941               
     4942                        // TS - VT // Ajout d'un parametre caché contenant l'url du webservice associé à la contribution OPAC
     4943                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='contribution_ws_url' "))==0){
     4944                                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     4945                                        VALUES ('pmb','contribution_ws_url','','Paramètre caché contenant l\'url du ws','',1)";
     4946                                echo traite_rqt($rqt,"insert pmb_contribution_ws_url='' into parametres");
     4947                        }
     4948               
     4949                        // AP - Paramètre de contrôle des doublons de documents numériques
     4950                                                if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='explnum_controle_doublons' "))==0){
     4951                                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4952                                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)";
     4953                                echo traite_rqt($rqt,"insert pmb_explnum_controle_doublons=0 into parametres");
     4954                        }
     4955               
     4956                        // VT & DG - Paramètre de transfert de panier anonyme
     4957                                                // 0 : Non
     4958                                                // 1 : Sur demande
     4959                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='integrate_anonymous_cart' "))==0){
     4960                                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4961                                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)";
     4962                                echo traite_rqt($rqt,"insert opac_integrate_anonymous_cart=1 into parametres");
     4963                        }
     4964               
     4965                        // DG - VT Activer l'autocompletion lecteur sur l'impression de recherche à l'opac
     4966                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param='opac' and sstype_param='print_email_autocomplete' "))==0){
     4967                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4968                                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')";
     4969                                echo traite_rqt($rqt,"insert opac_print_email_autocomplete='0' into parametres ");
     4970                        }
     4971                               
     4972                        ///JP - Affichage simplifié du panier OPAC
     4973                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='simplified_cart' "))==0){
     4974                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     4975                                        VALUES ( 'opac', 'simplified_cart', '0', 'Affichage simplifié du panier.\n 0 : non \n 1 : oui','h_cart', 0)";
     4976                                echo traite_rqt($rqt,"insert opac_simplified_cart=0 into parametres");
     4977                        }
     4978                       
     4979                        //JP - Prix de l'exemplaire dans le paramétrage de l'abonnement
     4980                        $rqt = "ALTER TABLE abts_abts ADD prix varchar(255) NOT NULL DEFAULT ''";
     4981                        echo traite_rqt($rqt,"ALTER TABLE abts_abts ADD prix");
     4982                       
     4983                        //JP - Envoi d'email dans les demandes de numérisation (paramètre invisible)
     4984                        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){
     4985                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion)
     4986                                VALUES (0, 'opac', 'scan_request_send_mail_status', '', 'Envoi d\'email au destinataire sur passage de la demande à ces statuts','a_general',1)";
     4987                                echo traite_rqt($rqt,"insert opac_scan_request_send_mail_status='' into parametres");
     4988                        }                       
     4989                       
     4990                        //JP - Bloquer les prêts dès qu'un lecteur est en retard
     4991                        $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' ";
     4992                        echo traite_rqt($rqt,"update blocage_delai into parametres");
     4993                        $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' ";
     4994                        echo traite_rqt($rqt,"update blocage_max into parametres");
     4995                       
     4996                        //JP - Ajout d'index sur la table es_searchcache
     4997                        $rqt = "alter table es_searchcache drop index i_es_searchcache_date";
     4998                        echo traite_rqt($rqt,"alter table es_searchcache drop index i_es_searchcache_date");
     4999                        $rqt = "alter table es_searchcache add index i_es_searchcache_date(es_searchcache_date)";
     5000                        echo traite_rqt($rqt,"alter table es_searchcache add index i_es_searchcache_date");
     5001                               
     5002                        //JP - Lien vers la documentation des fonctions de parse HTML dans les paramètres
     5003                        $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' ";
     5004                        echo traite_rqt($rqt,"update parse_html into parametres");
     5005                       
     5006                        //MB - Ajout d'index sur la table es_cache_blob
     5007                        $req="SHOW INDEX FROM es_cache_blob WHERE key_name LIKE 'i_es_cache_expirationdate'";
     5008                        $res=pmb_mysql_query($req);
     5009                        if($res && (pmb_mysql_num_rows($res) == 0)){
     5010                                $rqt = "alter table es_cache_blob add index i_es_cache_expirationdate(es_cache_expirationdate)";
     5011                                echo traite_rqt($rqt,"alter table es_cache_blob add index i_es_cache_expirationdate");
     5012                        }
     5013                       
     5014                        //JP - filtres de relances personnalisables
     5015                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'empr' and sstype_param='filter_relance_rows' "))==0){
     5016                                $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')";
     5017                                echo traite_rqt($rqt,"insert empr_filter_relance_rows into parametres");
     5018                        }
     5019                               
     5020                        //TS & DG - Liste des pages FRBR
     5021                        // id_page : Identifiant de la page
     5022                        // page_name : Libellé de la page
     5023                        // page_comment : Description de la page
     5024                        // page_entity : Quelle page d'entité ?
     5025                        // page_parameters : Paramètres
     5026                        // page_opac_views : Vues OPAC
     5027                        $rqt="create table if not exists frbr_pages (
     5028                    id_page int unsigned not null auto_increment primary key,
     5029                    page_name varchar(255) not null default '',
     5030                                page_comment text not null,
     5031                    page_entity varchar(255) not null default '',
     5032                                page_parameters text not null,
     5033                            page_opac_views varchar(255) not null default ''
     5034                        )";
     5035                        echo traite_rqt($rqt,"create table frbr_pages");
     5036                               
     5037                        //TS & DG - Liste des données FRBR
     5038                        // id_datanode : Identifiant du noeud
     5039                        // datanode_name : Libellé
     5040                        // datanode_comment : Description
     5041                        // datanode_object : Classe PHP
     5042                        // datanode_num_page : Page associée
     5043                        // datanode_num_parent : Noeud de données parent
     5044                        $rqt="create table if not exists frbr_datanodes (
     5045                    id_datanode int unsigned not null auto_increment primary key,
     5046                    datanode_name varchar(255) not null default '',
     5047                                datanode_comment text not null,
     5048                                datanode_object varchar(255) not null default '',
     5049                                datanode_num_page int unsigned not null default 0,
     5050                                datanode_num_parent int unsigned not null default 0
     5051                )";
     5052                        echo traite_rqt($rqt,"create table frbr_datanodes");
     5053                               
     5054                        //TS & DG - Liste des données FRBR
     5055                        // id_datanode_content : Identifiant d'un élément du noeud
     5056                        // datanode_content_type : Type (datasource, filter, etc..)
     5057                        // datanode_content_object : Classe PHP
     5058                        // datanode_content_num_datanode : Identifiant du noeud associé
     5059                        // datanode_content_data : Données
     5060                        $rqt="create table if not exists frbr_datanodes_content (
     5061                    id_datanode_content int unsigned not null auto_increment primary key,
     5062                    datanode_content_type varchar(255) not null default '',
     5063                                datanode_content_object varchar(255) not null default '',
     5064                                datanode_content_num_datanode int unsigned not null default 0,
     5065                                datanode_content_data text not null
     5066                )";
     5067                        echo traite_rqt($rqt,"create table frbr_datanodes_content");
     5068               
     5069                        //TS & DG - Liste des cadres FRBR
     5070                        // id_cadre : Identifiant du cadre
     5071                        // cadre_name : Libellé
     5072                        // cadre_comment : Description
     5073                        // cadre_object : Classe PHP
     5074                        // cadre_css_class : Classe CSS
     5075                        // cadre_num_datanode : Noeud de données associé
     5076                        $rqt="create table if not exists frbr_cadres (
     5077                    id_cadre int unsigned not null auto_increment primary key,
     5078                    cadre_name varchar(255) not null default '',
     5079                                cadre_comment text not null,
     5080                                cadre_object varchar(255) not null default '',
     5081                                cadre_css_class VARCHAR(255) NOT NULL DEFAULT '',
     5082                                cadre_num_datanode int unsigned not null default 0
     5083                )";
     5084                        echo traite_rqt($rqt,"create table frbr_cadres");
     5085                                                       
     5086                        //TS & DG - Liste des éléments de cadres FRBR
     5087                        // id_cadre_content : Identifiant d'un élément du cadre
     5088                        // cadre_content_type : Type (view, filter, etc..)
     5089                        // cadre_content_object : Classe PHP
     5090                        // cadre_content_num_cadre : Identifiant du cadre associé
     5091                        // cadre_content_data : Données
     5092                        $rqt="create table if not exists frbr_cadres_content (
     5093                        id_cadre_content int unsigned not null auto_increment primary key,
     5094                    cadre_content_type varchar(255) not null default '',
     5095                                cadre_content_object varchar(255) not null default '',
     5096                                cadre_content_num_cadre int unsigned not null default 0,
     5097                                cadre_content_data text not null default ''
     5098                )";
     5099                        echo traite_rqt($rqt,"create table frbr_cadres_content");
     5100                       
     5101                        //DG - Gestion des entités pour le FRBR
     5102                        $rqt="create table if not exists frbr_managed_entities (
     5103                        managed_entity_name varchar(255) not null default '',
     5104                        managed_entity_box text not null,
     5105                        primary key (managed_entity_name))";
     5106                        echo traite_rqt($rqt, "create table if not exists frbr_managed_entities");
     5107                       
     5108                        //DG - Vignettes sur les autorités
     5109                        $rqt = "ALTER TABLE authorities ADD thumbnail_url MEDIUMBLOB NOT NULL" ;
     5110                        echo traite_rqt($rqt,"ALTER TABLE authorities ADD thumbnail_url ");
     5111                               
     5112                        //DG - Répertoire d'upload pour les vignettes sur les autorités
     5113                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='authority_img_folder_id' "))==0){
     5114                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) ";
     5115                                $rqt.= "VALUES (NULL, 'pmb', 'authority_img_folder_id', '0', 'Identifiant du répertoire d\'upload des vignettes d\'autorités', '', '0')" ;
     5116                                echo traite_rqt($rqt,"insert pmb_authority_img_folder_id into parametres") ;
     5117                        }
     5118                                                       
     5119                        //DG - Définition de la taille maximum des vignettes sur les autorités
     5120                        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){
     5121                                $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')";
     5122                                echo traite_rqt($rqt,"insert pmb_authority_img_pics_max_size='150' into parametres");
     5123                        }
     5124                       
     5125                        //NG - Update fonction d'auteur 'danseur' du code 274 en 275, suite au changement de function.xml
     5126                        $rqt = "UPDATE responsability set responsability_fonction='275' where responsability_fonction='274' ";
     5127                        echo traite_rqt($rqt,"UPDATE responsability set responsability_fonction ");
     5128                        $rqt = "UPDATE responsability_tu set responsability_tu_fonction='275' where responsability_tu_fonction='274' ";
     5129                        echo traite_rqt($rqt,"UPDATE responsability_tu set responsability_tu_fonction ");
     5130                                                       
     5131                        //NG - Ajout du champ commentaire de gestion dans les étagères
     5132                        $rqt = "ALTER TABLE etagere ADD comment_gestion TEXT NOT NULL " ;
     5133                        echo traite_rqt($rqt,"ALTER TABLE etagere ADD comment_gestion ");
     5134
     5135                        //DG - Ordre sur les pages FRBR
     5136                        $rqt = "alter table frbr_pages add page_order int not null default 1";
     5137                        echo traite_rqt($rqt,"alter table frbr_pages add page_order");
     5138                                                                       
     5139                        //TS & DG - Liste des données FRBR
     5140                        // id_page_content : Identifiant d'un élément du noeud
     5141                        // page_content_type : Type (backbone, etc..)
     5142                        // page_content_object : Classe PHP
     5143                        // page_content_num_page : Identifiant du noeud associé
     5144                        // page_content_data : Données
     5145                        $rqt="create table if not exists frbr_pages_content (
     5146                                id_page_content int unsigned not null auto_increment primary key,
     5147                    page_content_type varchar(255) not null default '',
     5148                                page_content_object varchar(255) not null default '',
     5149                                page_content_num_page int unsigned not null default 0,
     5150                                page_content_data text not null
     5151                )";
     5152                        echo traite_rqt($rqt,"create table frbr_pages_content");
     5153               
     5154                        //TS & DG - Placement des cadres FRBR
     5155                        // place_num_page : Identifiant de la page associée
     5156                        // place_num_cadre : Identifiant du cadre associé
     5157                        // place_cadre_type : Type de cadre (natif, dynamique)
     5158                        // place_visibility : Visibilité du cadre
     5159                        // place_order : Ordre
     5160                        $rqt="create table if not exists frbr_place (
     5161                                place_num_page int unsigned not null default 0,
     5162                                place_num_cadre int unsigned not null default 0,
     5163                                place_cadre_type varchar(255) not null default '',
     5164                    place_visibility int(1) not null default 0,
     5165                                place_order int(10) UNSIGNED NOT NULL default 0,
     5166                                PRIMARY KEY(place_num_page,place_num_cadre, place_cadre_type)
     5167                )";
     5168                        echo traite_rqt($rqt,"create table frbr_place");
     5169                       
     5170                        //TS - Numéro de page sur les cadres (nécessaire pour les  cadres liés uniquement à la page)
     5171                        $rqt = "ALTER TABLE frbr_cadres ADD cadre_num_page int(10) UNSIGNED NOT NULL default 0 " ;
     5172                        echo traite_rqt($rqt,"ALTER TABLE frbr_cadres ADD cadre_num_page");
     5173               
     5174                        //DG - Paniers d'autorités
     5175                        $rqt = "CREATE TABLE IF NOT EXISTS authorities_caddie (
     5176                              idcaddie int(8) unsigned NOT NULL AUTO_INCREMENT,
     5177                                  name varchar(255) NOT NULL DEFAULT '',
     5178                                  type varchar(20) NOT NULL DEFAULT '',
     5179                                  comment varchar(255) NOT NULL DEFAULT '',
     5180                                  autorisations mediumtext,
     5181                                  caddie_classement varchar(255) NOT NULL DEFAULT '',
     5182                                  acces_rapide int(11) NOT NULL DEFAULT '0',
     5183                                  creation_user_name varchar(255) NOT NULL DEFAULT '',
     5184                                  creation_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     5185                                  PRIMARY KEY (idcaddie),
     5186                                  KEY caddie_type (type)) ";
     5187                        echo traite_rqt($rqt,"create table authorities_caddie");
     5188               
     5189                        //DG - Contenu des paniers d'autorités
     5190                        $rqt = "CREATE TABLE IF NOT EXISTS authorities_caddie_content (
     5191                                caddie_id int(8) unsigned NOT NULL DEFAULT '0',
     5192                                object_id int(10) unsigned NOT NULL DEFAULT '0',
     5193                                flag varchar(10) DEFAULT NULL,
     5194                                PRIMARY KEY (caddie_id,object_id),
     5195                                KEY object_id (object_id)) ";
     5196                        echo traite_rqt($rqt,"create table authorities_caddie_content");
     5197               
     5198                        //DG - Procédures des paniers d'autorités
     5199                        $rqt = "CREATE TABLE IF NOT EXISTS authorities_caddie_procs (
     5200                                idproc smallint(5) unsigned NOT NULL AUTO_INCREMENT,
     5201                                type varchar(20) NOT NULL DEFAULT 'SELECT',
     5202                                name varchar(255) NOT NULL DEFAULT '',
     5203                                requete blob NOT NULL,
     5204                                comment tinytext NOT NULL,
     5205                                autorisations mediumtext,
     5206                                parameters text,
     5207                                PRIMARY KEY (idproc)) ";
     5208                        echo traite_rqt($rqt,"create table authorities_caddie_procs");
     5209               
     5210               
     5211                        //NG - Regrouper les fonctions d'auteur en affichage de notice
     5212                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notice_author_functions_grouping' "))==0){
     5213                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     5214                                                        VALUES ('pmb','notice_author_functions_grouping',1,'Regrouper les fonctions d\'auteur en affichage de notice ? \n0 : Non.\n1 : Oui.','',0)";
     5215                                echo traite_rqt($rqt,"insert pmb_notice_author_functions_grouping=1 into parametres");
     5216                        }
     5217               
     5218                        //AP - Champs persos sur les concepts
     5219                        $rqt = "create table if not exists skos_custom (
     5220                                idchamp int(10) unsigned NOT NULL auto_increment,
     5221                                name varchar(255) NOT NULL default '',
     5222                                titre varchar(255) default NULL,
     5223                                type varchar(10) NOT NULL default 'text',
     5224                                datatype varchar(10) NOT NULL default '',
     5225                                options text,
     5226                                multiple int(11) NOT NULL default 0,
     5227                                obligatoire int(11) NOT NULL default 0,
     5228                                ordre int(11) default NULL,
     5229                                search INT(1) unsigned NOT NULL DEFAULT 0,
     5230                                export INT(1) unsigned NOT NULL DEFAULT 0,
     5231                                exclusion_obligatoire INT(1) unsigned NOT NULL DEFAULT 0,
     5232                                pond int not null default 100,
     5233                                opac_sort INT NOT NULL DEFAULT 0,
     5234                                comment BLOB NOT NULL default '',
     5235                                PRIMARY KEY  (idchamp)) ";
     5236                        echo traite_rqt($rqt,"create table skos_custom ");
     5237                       
     5238                        $rqt = "create table if not exists skos_custom_lists (
     5239                                skos_custom_champ int(10) unsigned NOT NULL default 0,
     5240                                skos_custom_list_value varchar(255) default NULL,
     5241                                skos_custom_list_lib varchar(255) default NULL,
     5242                                ordre int(11) default NULL,
     5243                                KEY skos_custom_champ (skos_custom_champ),
     5244                                KEY skos_champ_list_value (skos_custom_champ,skos_custom_list_value)) " ;
     5245                        echo traite_rqt($rqt,"create table skos_custom_lists ");
     5246                       
     5247                        $rqt = "create table if not exists skos_custom_values (
     5248                                skos_custom_champ int(10) unsigned NOT NULL default 0,
     5249                                skos_custom_origine int(10) unsigned NOT NULL default 0,
     5250                                skos_custom_small_text varchar(255) default NULL,
     5251                                skos_custom_text text,
     5252                                skos_custom_integer int(11) default NULL,
     5253                                skos_custom_date date default NULL,
     5254                                skos_custom_float float default NULL,
     5255                                skos_custom_order int(11) NOT NULL default 0,
     5256                                KEY skos_custom_champ (skos_custom_champ),
     5257                                KEY i_encv_st (skos_custom_small_text),
     5258                                KEY i_encv_t (skos_custom_text(255)),
     5259                                KEY i_encv_i (skos_custom_integer),
     5260                                KEY i_encv_d (skos_custom_date),
     5261                                KEY i_encv_f (skos_custom_float),
     5262                                KEY skos_custom_origine (skos_custom_origine)) " ;
     5263                        echo traite_rqt($rqt,"create table skos_custom_values ");
     5264                       
     5265                        //JP - cacher les amendes et frais de relance dans les lettres et mails de retard
     5266                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'mailretard' and sstype_param='hide_fine' "))==0){
     5267                                $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)" ;
     5268                                echo traite_rqt($rqt,"insert mailretard_hide_fine into parametres") ;
     5269                        }
     5270                               
     5271                        //JP - paramètre pour forcer l'envoi de relance de niveau 2 par lettre si priorite_email = 1
     5272                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'mailretard' and sstype_param='priorite_email_2' "))==0){
     5273                                $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)" ;
     5274                                echo traite_rqt($rqt,"insert mailretard_priorite_email_2 into parametres") ;
     5275                        }
     5276                               
     5277                        //JP - Calculer le retard, l'amende et le blocage sur le calendrier d'ouverture de la localisation de l'utilisateur ou de l'exemplaire
     5278                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='utiliser_calendrier_location' "))==0){
     5279                                $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)" ;
     5280                                echo traite_rqt($rqt,"insert pmb_utiliser_calendrier_location into parametres") ;
     5281                        }
     5282
     5283                        // NG - Ajout d'un parametre caché indiquant l'affichage ou non des sous-formulaires de contribution
     5284                        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){
     5285                                $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion)
     5286                                        VALUES ('pmb','contribution_opac_show_sub_form','','Paramètre caché indiquant l\'affichage ou non des sous-formulaires de contribution','',1)";
     5287                                echo traite_rqt($rqt,"insert pmb_contribution_opac_show_sub_form='' into parametres");
     5288                        }
     5289                       
     5290                        // TS - cadre visible ou non dans le graphe
     5291                        $rqt = "ALTER TABLE frbr_cadres ADD cadre_visible_in_graph tinyint(1) UNSIGNED NOT NULL default 0" ;
     5292                        echo traite_rqt($rqt,"ALTER TABLE frbr_cadres ADD cadre_visible_in_graph");
     5293                               
     5294                        // TS - Chemin des jeux de données parent du cadre
     5295                        $rqt = "ALTER TABLE frbr_cadres ADD cadre_datanodes_path varchar(255) default NULL " ;
     5296                        echo traite_rqt($rqt,"ALTER TABLE frbr_cadres ADD cadre_datanodes_path");
     5297                               
     5298                        // VT - Ajout de l'identifiant de la methode de stockage sur les ontologies (partie semantique)
     5299                        $rqt = "ALTER TABLE ontologies ADD ontology_storage_id INT NOT NULL default 0";
     5300                        echo traite_rqt($rqt,"alter table ontologies add ontology_storage_id");
     5301                               
     5302                        // AP / VT - Création d'une table permettant de stocker les informations liées aux fichiers uploadés pour les ontologies
     5303                        $rqt = "CREATE TABLE IF NOT EXISTS onto_files (
     5304                                                id_onto_file int(10) unsigned NOT NULL auto_increment primary key,
     5305                                                onto_file_title varchar(255) NOT NULL DEFAULT '' ,
     5306                                                onto_file_description text NOT NULL,
     5307                                                onto_file_filename varchar(255) NOT NULL DEFAULT '',
     5308                                                onto_file_mimetype varchar(100) NOT NULL DEFAULT '',
     5309                                                onto_file_filesize int(11) NOT NULL DEFAULT '0',
     5310                                                onto_file_vignette mediumblob NOT NULL,
     5311                                                onto_file_url text NOT NULL,
     5312                                                onto_file_path varchar(255)NOT NULL DEFAULT '',
     5313                                                onto_file_create_date date NOT NULL DEFAULT '0000-00-00',
     5314                                                onto_file_num_storage int(11) NOT NULL DEFAULT '0',
     5315                                                onto_file_type_object varchar(255) NOT NULL DEFAULT '',
     5316                                                onto_file_num_object int(11) NOT NULL DEFAULT '0',
     5317                                                INDEX i_of_onto_file_title (onto_file_title)
     5318                                        )";
     5319                        echo traite_rqt($rqt,"create table onto_files");
     5320                               
     5321                        // TS - ajout d'un index sur le code champ et code sous champ de la table authorities_fields_global_index
     5322                        $req="SHOW INDEX FROM authorities_fields_global_index WHERE key_name LIKE 'i_code_champ_code_ss_champ'";
     5323                        $res=pmb_mysql_query($req);
     5324                        if($res && (pmb_mysql_num_rows($res) == 0)){
     5325                                $rqt = "ALTER TABLE authorities_fields_global_index ADD INDEX i_code_champ_code_ss_champ(code_champ,code_ss_champ)";
     5326                                echo traite_rqt($rqt,"ALTER TABLE authorities_fields_global_index ADD INDEX i_code_champ_code_ss_champ");
     5327                        }
     5328                               
     5329                        // TS - ajout d'un index sur le num_concept et type_object de la table index_concept
     5330                        $req="SHOW INDEX FROM index_concept WHERE key_name LIKE 'i_num_concept_type_object'";
     5331                        $res=pmb_mysql_query($req);
     5332                        if($res && (pmb_mysql_num_rows($res) == 0)){
     5333                                $rqt = "ALTER TABLE index_concept ADD INDEX i_num_concept_type_object(num_concept,type_object)";
     5334                                echo traite_rqt($rqt,"ALTER TABLE index_concept ADD INDEX i_num_concept_type_object");
     5335                        }
     5336                               
     5337                        // TS - ajout d'un index sur le type_object et num_object de la table index_concept
     5338                        $req="SHOW INDEX FROM index_concept WHERE key_name LIKE 'i_type_object_num_object'";
     5339                        $res=pmb_mysql_query($req);
     5340                        if($res && (pmb_mysql_num_rows($res) == 0)){
     5341                                $rqt = "ALTER TABLE index_concept ADD INDEX i_type_object_num_object(type_object,num_object)";
     5342                                echo traite_rqt($rqt,"ALTER TABLE index_concept ADD INDEX i_type_object_num_object");
     5343                        }
     5344                               
     5345                        // 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)
     5346                        $rqt = "CREATE TABLE IF NOT EXISTS parametres_uncached (
     5347                                         id_param int(6) unsigned NOT NULL AUTO_INCREMENT,
     5348                                         type_param varchar(20) DEFAULT NULL,
     5349                                         sstype_param varchar(255) DEFAULT NULL,
     5350                                         valeur_param text,
     5351                                         comment_param longtext,
     5352                                         section_param varchar(255) NOT NULL DEFAULT '',
     5353                                         gestion int(1) NOT NULL DEFAULT '0',
     5354                                         PRIMARY KEY (id_param),
     5355                                         UNIQUE KEY typ_sstyp (type_param,sstype_param)
     5356                                        )";
     5357                        echo traite_rqt($rqt,"create table parametres_uncached");
     5358                               
     5359                        // MB - Paramètre de verrou pour la gestion des stats
     5360                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres_uncached where type_param= 'internal' and sstype_param='emptylogstatopac' "))==0){
     5361                                $rqt = "INSERT INTO parametres_uncached (type_param, sstype_param, valeur_param, comment_param,gestion)
     5362                                        VALUES ('internal', 'emptylogstatopac', '0', 'Paramètre interne, ne pas modifier\r\n =1 si vidage des logs en cours', 0)";
     5363                                echo traite_rqt($rqt,"insert internal_emptylogstatopac=0 into parametres_uncached");
     5364                        }
     5365                               
     5366                        // MB - Suppression de l'ancien paramètre déplacé dans la nouvelle table
     5367                        if(isset($internal_emptylogstatopac)){
     5368                                $rqt = "delete from parametres where type_param= 'internal' and sstype_param='emptylogstatopac' " ;
     5369                                echo traite_rqt($rqt,"delete old parameter 'emptylogstatopac' from parametres");
     5370                        }
     5371                        // +-------------------------------------------------+
     5372                        echo "</table>";
     5373                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     5374                        $res = pmb_mysql_query($rqt, $dbh) ;
     5375
     5376                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     5377                        $action=$action+$increment;
     5378                        //echo form_relance ("v5.24");
     5379                       
     5380        //case "v5.24":
     5381                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     5382                        // +-------------------------------------------------+
     5383                        // MB - Paramètre pour définir le répertoire à utiliser pour le cache des images en gestion
     5384                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='img_cache_folder' "))==0){
     5385                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param)
     5386                                        VALUES (NULL, 'pmb', 'img_cache_folder', '', 'Répertoire de stockage du cache des images')";
     5387                                echo traite_rqt($rqt,"insert pmb_img_cache_folder='' into parametres ");
     5388                        }
     5389                               
     5390                        // MB - Paramètre pour définir l'URL du répertoire pour le cache des images en gestion et avoir des URLs en dur
     5391                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='img_cache_url' "))==0){
     5392                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param)
     5393                                        VALUES (NULL, 'pmb', 'img_cache_url', '', 'URL d\'accès du répertoire du cache des images (img_cache_folder)')";
     5394                                echo traite_rqt($rqt,"insert pmb_img_cache_url='' into parametres ");
     5395                        }
     5396                               
     5397                        // MB - Paramètre pour définir le répertoire à utiliser pour le cache des images en opac
     5398                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='img_cache_folder' "))==0){
     5399                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param)
     5400                                        VALUES (NULL, 'opac', 'img_cache_folder', '', 'Répertoire de stockage du cache des images','a_general')";
     5401                                echo traite_rqt($rqt,"insert opac_img_cache_folder='' into parametres ");
     5402                        }
     5403                        // MB - Paramètre pour définir l'URL du répertoire pour le cache des images en opac et avoir des URLs en dur
     5404                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='img_cache_url' "))==0){
     5405                                $rqt="INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param)
     5406                                        VALUES (NULL, 'opac', 'img_cache_url', '', 'URL d\'accès du répertoire du cache des images (img_cache_folder)','a_general')";
     5407                                echo traite_rqt($rqt,"insert opac_img_cache_url='' into parametres ");
     5408                        }
     5409                       
     5410                        // DG - Index sur le champ oeuvre_link_from de la table tu_oeuvres_links
     5411                        $req="SHOW INDEX FROM tu_oeuvres_links WHERE key_name LIKE 'i_oeuvre_link_from'";
     5412                        $res=pmb_mysql_query($req);
     5413                        if($res && (pmb_mysql_num_rows($res) == 0)){
     5414                                $rqt = "ALTER TABLE tu_oeuvres_links ADD INDEX i_oeuvre_link_from(oeuvre_link_from)";
     5415                                echo traite_rqt($rqt,"ALTER TABLE tu_oeuvres_links ADD INDEX i_oeuvre_link_from");
     5416                        }
     5417                               
     5418                        // DG - Index sur le champ oeuvre_link_to de la table tu_oeuvres_links
     5419                        $req="SHOW INDEX FROM tu_oeuvres_links WHERE key_name LIKE 'i_oeuvre_link_to'";
     5420                        $res=pmb_mysql_query($req);
     5421                        if($res && (pmb_mysql_num_rows($res) == 0)){
     5422                                $rqt = "ALTER TABLE tu_oeuvres_links ADD INDEX i_oeuvre_link_to(oeuvre_link_to)";
     5423                                echo traite_rqt($rqt,"ALTER TABLE tu_oeuvres_links ADD INDEX i_oeuvre_link_to");
     5424                        }
     5425                       
     5426                        // DG - Index sur le champ oeuvre_link_to de la table nomenclature_notices_nomenclatures
     5427                        $req="SHOW INDEX FROM nomenclature_notices_nomenclatures WHERE key_name LIKE 'i_notice_nomenclature_num_notice'";
     5428                        $res=pmb_mysql_query($req);
     5429                        if($res && (pmb_mysql_num_rows($res) == 0)){
     5430                                $rqt = "ALTER TABLE nomenclature_notices_nomenclatures ADD INDEX i_notice_nomenclature_num_notice(notice_nomenclature_num_notice)";
     5431                                echo traite_rqt($rqt,"ALTER TABLE nomenclature_notices_nomenclatures ADD INDEX i_notice_nomenclature_num_notice");
     5432                        }
     5433                               
     5434                        // DG - Index sur le champ map_echelle_num de la table notices
     5435                        $req="SHOW INDEX FROM notices WHERE key_name LIKE 'i_map_echelle_num'";
     5436                        $res=pmb_mysql_query($req);
     5437                        if($res && (pmb_mysql_num_rows($res) == 0)){
     5438                                $rqt = "ALTER TABLE notices ADD INDEX i_map_echelle_num(map_echelle_num)";
     5439                                echo traite_rqt($rqt,"ALTER TABLE notices ADD INDEX i_map_echelle_num");
     5440                        }
     5441                               
     5442                        // DG - Index sur le champ map_projection_num de la table notices
     5443                        $req="SHOW INDEX FROM notices WHERE key_name LIKE 'i_map_projection_num'";
     5444                        $res=pmb_mysql_query($req);
     5445                        if($res && (pmb_mysql_num_rows($res) == 0)){
     5446                                $rqt = "ALTER TABLE notices ADD INDEX i_map_projection_num(map_projection_num)";
     5447                                echo traite_rqt($rqt,"ALTER TABLE notices ADD INDEX i_map_projection_num");
     5448                        }
     5449                               
     5450                        // DG - Index sur le champ authperso_authority_authperso_num de la table authperso_authorities
     5451                        $req="SHOW INDEX FROM authperso_authorities WHERE key_name LIKE 'i_authperso_authority_authperso_num'";
     5452                        $res=pmb_mysql_query($req);
     5453                        if($res && (pmb_mysql_num_rows($res) == 0)){
     5454                                $rqt = "ALTER TABLE authperso_authorities ADD INDEX i_authperso_authority_authperso_num(authperso_authority_authperso_num)";
     5455                                echo traite_rqt($rqt,"ALTER TABLE authperso_authorities ADD INDEX i_authperso_authority_authperso_num");
     5456                        }
     5457                               
     5458                        // +-------------------------------------------------+
     5459                        echo "</table>";
     5460                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     5461                        $res = pmb_mysql_query($rqt, $dbh) ;
     5462                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     5463                        $action=$action+$increment;
     5464                        //echo form_relance ("v5.25");
     5465       
     5466        //case "v5.25":
     5467                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     5468                        // +-------------------------------------------------+
     5469                        // NG - Ajout index sur num_word de la table notices_mots_global_index
     5470                        $req="SHOW INDEX FROM notices_mots_global_index WHERE key_name LIKE 'i_num_word'";
     5471                        $res=pmb_mysql_query($req);
     5472                        if($res && !pmb_mysql_num_rows($res)){
     5473                                $rqt = "alter table notices_mots_global_index add index i_num_word (num_word)";
     5474                                echo traite_rqt($rqt,"alter table notices_mots_global_index add index i_num_word");
     5475                        }
     5476                               
     5477                        // +-------------------------------------------------+
     5478                        echo "</table>";
     5479                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     5480                        $res = pmb_mysql_query($rqt, $dbh) ;
     5481                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     5482                        $action=$action+$increment;
     5483                        //echo form_relance ("v5.26");
     5484        //case "v5.26":
     5485                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     5486                        // +-------------------------------------------------+
     5487                        // NG - Ajout index sur num_word de la table cms_editorial_words_global_index
     5488                        $req="SHOW INDEX FROM cms_editorial_words_global_index WHERE key_name LIKE 'i_num_word'";
     5489                        $res=pmb_mysql_query($req);
     5490                        if($res && !pmb_mysql_num_rows($res)){
     5491                                $rqt = "alter table cms_editorial_words_global_index add index i_num_word (num_word)";
     5492                                echo traite_rqt($rqt,"alter table cms_editorial_words_global_index add index i_num_word");
     5493                        }
     5494                               
     5495                        // NG - Ajout index sur num_word de la table authorities_words_global_index
     5496                        $req="SHOW INDEX FROM authorities_words_global_index WHERE key_name LIKE 'i_num_word'";
     5497                        $res=pmb_mysql_query($req);
     5498                        if($res && !pmb_mysql_num_rows($res)){
     5499                                $rqt = "alter table authorities_words_global_index add index i_num_word (num_word)";
     5500                                echo traite_rqt($rqt,"alter table authorities_words_global_index add index i_num_word");
     5501                        }
     5502                               
     5503                        // NG - Ajout index sur num_word de la table skos_words_global_index
     5504                        $req="SHOW INDEX FROM skos_words_global_index WHERE key_name LIKE 'i_num_word'";
     5505                        $res=pmb_mysql_query($req);
     5506                        if($res && !pmb_mysql_num_rows($res)){
     5507                                $rqt = "alter table skos_words_global_index add index i_num_word (num_word)";
     5508                                echo traite_rqt($rqt,"alter table skos_words_global_index add index i_num_word");
     5509                        }
     5510                               
     5511                        // NG - Ajout index sur num_word de la table faq_questions_words_global_index
     5512                        $req="SHOW INDEX FROM faq_questions_words_global_index WHERE key_name LIKE 'i_num_word'";
     5513                        $res=pmb_mysql_query($req);
     5514                        if($res && !pmb_mysql_num_rows($res)){
     5515                                $rqt = "alter table faq_questions_words_global_index add index i_num_word (num_word)";
     5516                                echo traite_rqt($rqt,"alter table faq_questions_words_global_index add index i_num_word");
     5517                        }
     5518                               
     5519                        // NG - Ajout index sur responsability_author de la table responsability
     5520                        $req="SHOW INDEX FROM responsability WHERE key_name LIKE 'i_responsability_author'";
     5521                        $res=pmb_mysql_query($req);
     5522                        if($res && !pmb_mysql_num_rows($res)){
     5523                                $rqt = "alter table responsability add index i_responsability_author (responsability_author)";
     5524                                echo traite_rqt($rqt,"alter table responsability add index i_responsability_author");
     5525                        }
     5526                       
     5527                        // NG - Ajout index sur shorturl_hash de la table shorturls
     5528                        $req="SHOW INDEX FROM shorturls WHERE key_name LIKE 'i_shorturl_hash'";
     5529                        $res=pmb_mysql_query($req);
     5530                        if($res && !pmb_mysql_num_rows($res)){
     5531                                $rqt = "alter table shorturls add index i_shorturl_hash (shorturl_hash)";
     5532                                echo traite_rqt($rqt,"alter table shorturls add index i_shorturl_hash");
     5533                        }
     5534                       
     5535                        // NG - Ajout index sur empr_login de la table empr
     5536                        $req="SHOW INDEX FROM empr WHERE key_name LIKE 'i_empr_login'";
     5537                        $res=pmb_mysql_query($req);
     5538                        if($res && !pmb_mysql_num_rows($res)){
     5539                                $rqt = "alter table empr add index i_empr_login (empr_login)";
     5540                                echo traite_rqt($rqt,"alter table empr add index i_empr_login");
     5541                        }
     5542                       
     5543                        // NG - Ajout index sur ouvert, num_location, date_ouverture de la table ouvertures
     5544                        $req="SHOW INDEX FROM ouvertures WHERE key_name LIKE 'i_ouvert_num_location_date_ouverture'";
     5545                        $res=pmb_mysql_query($req);
     5546                        if($res && !pmb_mysql_num_rows($res)){
     5547                                $rqt = "alter table ouvertures add index i_ouvert_num_location_date_ouverture (ouvert, num_location, date_ouverture)";
     5548                                echo traite_rqt($rqt,"alter table ouvertures add index i_ouvert_num_location_date_ouverture");
     5549                        }
     5550                               
     5551                        // NG - Ajout index sur etat_transfert, origine de la table transferts
     5552                        $req="SHOW INDEX FROM transferts WHERE key_name LIKE 'i_etat_transfert_origine'";
     5553                        $res=pmb_mysql_query($req);
     5554                        if($res && !pmb_mysql_num_rows($res)){
     5555                                $rqt = "alter table transferts add index i_etat_transfert_origine (etat_transfert, origine)";
     5556                                echo traite_rqt($rqt,"alter table transferts add index i_etat_transfert_origine");
     5557                        }
     5558                               
     5559                        // NG - Ajout index sur author_type de la table authors
     5560                        $req="SHOW INDEX FROM authors WHERE key_name LIKE 'i_author_type'";
     5561                        $res=pmb_mysql_query($req);
     5562                        if($res && !pmb_mysql_num_rows($res)){
     5563                                $rqt = "alter table authors add index i_author_type (author_type)";
     5564                                echo traite_rqt($rqt,"alter table authors add index i_author_type");
     5565                        }
     5566                       
     5567                        // NG - Ajout index sur grammar de la table vedette
     5568                        $req="SHOW INDEX FROM vedette WHERE key_name LIKE 'i_grammar'";
     5569                        $res=pmb_mysql_query($req);
     5570                        if($res && !pmb_mysql_num_rows($res)){
     5571                                $rqt = "alter table vedette add index i_grammar (grammar)";
     5572                                echo traite_rqt($rqt,"alter table vedette add index i_grammar");
     5573                        }
     5574                               
     5575                        // NG - Suppression index doublon dans la table authorities
     5576                        $req="SHOW INDEX FROM authorities WHERE key_name LIKE 'i_object'";
     5577                        $res=pmb_mysql_query($req);
     5578                        if($res && pmb_mysql_num_rows($res)){
     5579                                $req="ALTER TABLE authorities DROP INDEX i_object ";
     5580                                $res=pmb_mysql_query($req);
     5581                                echo traite_rqt($rqt,"alter table authorities drop index i_object");
     5582                        }
     5583                       
     5584                        // AP - Paramètre pour activer sphinx
     5585                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'sphinx' and sstype_param='active' "))==0){
     5586                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param)
     5587                                        VALUES (NULL, 'sphinx', 'active', '0', 'Sphinx activé.\n 0 : Non\n 1 : Oui','')";
     5588                                echo traite_rqt($rqt,"insert sphinx_active = 0 into parametres ");
     5589                        }
     5590                               
     5591                        // AP - Paramètre de définition du chemin vers les index sphinx
     5592                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'sphinx' and sstype_param='indexes_path' "))==0){
     5593                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param)
     5594                                        VALUES (NULL, 'sphinx', 'indexes_path', '', 'Chemin vers le répertoire de stockage des index sphinx','')";
     5595                                echo traite_rqt($rqt,"insert sphinx_indexes_path = '' into parametres ");
     5596                        }
     5597                               
     5598                        // AP - Paramètre de connexion mysql pour sphinx
     5599                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'sphinx' and sstype_param='mysql_connect' "))==0){
     5600                                $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param)
     5601                                        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.','')";
     5602                                echo traite_rqt($rqt,"insert sphinx_indexes_path = '127.0.0.1:9306,0' into parametres ");
     5603                        }
     5604                               
     5605                        // JP - Ajout index sur num_authority / authority_type de la table authorities_sources
     5606                        $req="SHOW INDEX FROM authorities_sources WHERE key_name LIKE 'i_num_authority_authority_type'";
     5607                        $res=pmb_mysql_query($req);
     5608                        if($res && !pmb_mysql_num_rows($res)){
     5609                                $rqt = "alter table authorities_sources add index i_num_authority_authority_type (num_authority, authority_type)";
     5610                                echo traite_rqt($rqt,"alter table authorities_sources add index i_num_authority_authority_type");
     5611                        }
     5612                               
     5613                        // JP - Ajout index sur cadre_memo_url de la table cms_cadres
     5614                        $req="SHOW INDEX FROM cms_cadres WHERE key_name LIKE 'i_cadre_memo_url'";
     5615                        $res=pmb_mysql_query($req);
     5616                        if($res && !pmb_mysql_num_rows($res)){
     5617                                $rqt = "alter table cms_cadres add index i_cadre_memo_url (cadre_memo_url)";
     5618                                echo traite_rqt($rqt,"alter table cms_cadres add index i_cadre_memo_url");
     5619                        }
     5620                               
     5621                        // JP - Ajout index sur cadre_object de la table cms_cadres
     5622                        $req="SHOW INDEX FROM cms_cadres WHERE key_name LIKE 'i_cadre_object'";
     5623                        $res=pmb_mysql_query($req);
     5624                        if($res && !pmb_mysql_num_rows($res)){
     5625                                $rqt = "alter table cms_cadres add index i_cadre_object (cadre_object)";
     5626                                echo traite_rqt($rqt,"alter table cms_cadres add index i_cadre_object");
     5627                        }
     5628                               
     5629                        // JP - Ajout index sur cadre_content_num_cadre de la table cms_cadre_content
     5630                        $req="SHOW INDEX FROM cms_cadre_content WHERE key_name LIKE 'i_cadre_content_num_cadre'";
     5631                        $res=pmb_mysql_query($req);
     5632                        if($res && !pmb_mysql_num_rows($res)){
     5633                                $rqt = "alter table cms_cadre_content add index i_cadre_content_num_cadre (cadre_content_num_cadre)";
     5634                                echo traite_rqt($rqt,"alter table cms_cadre_content add index i_cadre_content_num_cadre");
     5635                        }
     5636                               
     5637                        // JP - Ajout index sur cadre_content_num_cadre_content / cadre_content_type cms_cadre_content de la table cms_cadre_content
     5638                        $req="SHOW INDEX FROM cms_cadre_content WHERE key_name LIKE 'i_cadre_content_num_cadre_content_cadre_content_type'";
     5639                        $res=pmb_mysql_query($req);
     5640                        if($res && !pmb_mysql_num_rows($res)){
     5641                                $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)";
     5642                                echo traite_rqt($rqt,"alter table cms_cadre_content add index i_cadre_content_num_cadre_content_cadre_content_type");
     5643                        }
     5644                               
     5645                        // JP - Ajout index sur document_num_object / document_type_object de la table cms_documents
     5646                        $req="SHOW INDEX FROM cms_documents WHERE key_name LIKE 'i_document_num_object_document_type_object'";
     5647                        $res=pmb_mysql_query($req);
     5648                        if($res && !pmb_mysql_num_rows($res)){
     5649                                $rqt = "alter table cms_documents add index i_document_num_object_document_type_object (document_num_object, document_type_object)";
     5650                                echo traite_rqt($rqt,"alter table cms_documents add index i_document_num_object_document_type_object");
     5651                        }
     5652                               
     5653                        // JP - Ajout index sur document_link_num_document de la table cms_documents_links
     5654                        $req="SHOW INDEX FROM cms_documents_links WHERE key_name LIKE 'i_document_link_num_document'";
     5655                        $res=pmb_mysql_query($req);
     5656                        if($res && !pmb_mysql_num_rows($res)){
     5657                                $rqt = "alter table cms_documents_links add index i_document_link_num_document (document_link_num_document)";
     5658                                echo traite_rqt($rqt,"alter table cms_documents_links add index i_document_link_num_document");
     5659                        }
     5660                               
     5661                        // JP - Ajout index sur groupe / method / available de la table es_methods
     5662                        $req="SHOW INDEX FROM es_methods WHERE key_name LIKE 'i_groupe_method_available'";
     5663                        $res=pmb_mysql_query($req);
     5664                        if($res && !pmb_mysql_num_rows($res)){
     5665                                $rqt = "alter table es_methods add index i_groupe_method_available (groupe(50), method(50), available)";
     5666                                echo traite_rqt($rqt,"alter table es_methods add index i_groupe_method_available");
     5667                        }
     5668                               
     5669                        // JP - Ajout index sur facette_visible de la table facettes
     5670                        $req="SHOW INDEX FROM facettes WHERE key_name LIKE 'i_facette_visible'";
     5671                        $res=pmb_mysql_query($req);
     5672                        if($res && !pmb_mysql_num_rows($res)){
     5673                                $rqt = "alter table facettes add index i_facette_visible (facette_visible)";
     5674                                echo traite_rqt($rqt,"alter table facettes add index i_facette_visible");
     5675                        }
     5676                               
     5677                        // JP - Ajout index sur origine de la table import_marc
     5678                        $req="SHOW INDEX FROM import_marc WHERE key_name LIKE 'i_origine'";
     5679                        $res=pmb_mysql_query($req);
     5680                        if($res && !pmb_mysql_num_rows($res)){
     5681                                $rqt = "alter table import_marc add index i_origine (origine)";
     5682                                echo traite_rqt($rqt,"alter table import_marc add index i_origine");
     5683                        }
     5684                               
     5685                        // +-------------------------------------------------+
     5686                        echo "</table>";
     5687                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     5688                        $res = pmb_mysql_query($rqt, $dbh) ;
     5689                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     5690                        $action=$action+$increment;
     5691                        //echo form_relance ("v5.27");
     5692        //case "v5.27":
     5693                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     5694                        // +-------------------------------------------------+
     5695                        // JP - Ajout index sur id_notice de la table notices_mots_global_index
     5696                        $req="SHOW INDEX FROM notices_mots_global_index WHERE key_name LIKE 'i_id_notice'";
     5697                        $res=pmb_mysql_query($req);
     5698                        if($res && !pmb_mysql_num_rows($res)){
     5699                                $rqt = "alter table notices_mots_global_index add index i_id_notice (id_notice)";
     5700                                echo traite_rqt($rqt,"alter table notices_mots_global_index add index i_id_notice");
     5701                        }
     5702                               
     5703                        // +-------------------------------------------------+
     5704                        echo "</table>";
     5705                        $rqt = "update parametres set valeur_param='".$action."' where type_param='pmb' and sstype_param='bdd_version' " ;
     5706                        $res = pmb_mysql_query($rqt, $dbh) ;
     5707                        echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
     5708                        $action=$action+$increment;
     5709                        //echo form_relance ("v5.27");
     5710
     5711               
     5712        //case "v5.28":
     5713                        echo "<table ><tr><th>".$msg['admin_misc_action']."</th><th>".$msg['admin_misc_resultat']."</th></tr>";
     5714                        // +-------------------------------------------------+
     5715                        // JP - Ajout index sur resa_idempr de la table resa
     5716                        $req="SHOW INDEX FROM resa WHERE key_name LIKE 'i_resa_idempr'";
     5717                        $res=pmb_mysql_query($req);
     5718                        if($res && !pmb_mysql_num_rows($res)){
     5719                                $rqt = "alter table resa add index i_resa_idempr (resa_idempr)";
     5720                                echo traite_rqt($rqt,"alter table resa add index i_resa_idempr");
     5721                        }
     5722                               
     5723                        // JP - Ajout index sur num_suggestion de la table suggestions_origine
     5724                        $req="SHOW INDEX FROM suggestions_origine WHERE key_name LIKE 'i_num_suggestion'";
     5725                        $res=pmb_mysql_query($req);
     5726                        if($res && !pmb_mysql_num_rows($res)){
     5727                                $rqt = "alter table suggestions_origine add index i_num_suggestion (num_suggestion)";
     5728                                echo traite_rqt($rqt,"alter table suggestions_origine add index i_num_suggestion");
     5729                        }
     5730                               
     5731                        // JP - Ajout index sur resa_trans de la table transferts_demande
     5732                        $req="SHOW INDEX FROM transferts_demande WHERE key_name LIKE 'i_resa_trans'";
     5733                        $res=pmb_mysql_query($req);
     5734                        if($res && !pmb_mysql_num_rows($res)){
     5735                                $rqt = "alter table transferts_demande add index i_resa_trans (resa_trans)";
     5736                                echo traite_rqt($rqt,"alter table transferts_demande add index i_resa_trans");
     5737                        }
     5738                               
     5739                        // JP - Ajout index sur realisee de la table transactions
     5740                        $req="SHOW INDEX FROM transactions WHERE key_name LIKE 'i_realisee'";
     5741                        $res=pmb_mysql_query($req);
     5742                        if($res && !pmb_mysql_num_rows($res)){
     5743                                $rqt = "alter table transactions add index i_realisee (realisee)";
     5744                                echo traite_rqt($rqt,"alter table transactions add index i_realisee");
     5745                        }
     5746                               
     5747                        // JP - Ajout index sur compte_id de la table transactions
     5748                        $req="SHOW INDEX FROM transactions WHERE key_name LIKE 'i_compte_id'";
     5749                        $res=pmb_mysql_query($req);
     5750                        if($res && !pmb_mysql_num_rows($res)){
     5751                                $rqt = "alter table transactions add index i_compte_id (compte_id)";
     5752                                echo traite_rqt($rqt,"alter table transactions add index i_compte_id");
     5753                        }
     5754                       
     5755                        // DG - Ajout index sur id_notice de la table notices_fields_global_index
     5756                        $req="SHOW INDEX FROM notices_fields_global_index WHERE key_name LIKE 'i_id_notice'";
     5757                        $res=pmb_mysql_query($req);
     5758                        if($res && !pmb_mysql_num_rows($res)){
     5759                                $rqt = "alter table notices_fields_global_index add index i_id_notice (id_notice)";
     5760                                echo traite_rqt($rqt,"alter table notices_fields_global_index add index i_id_notice");
     5761                        }
     5762                       
     5763                        // DG - Ajout index sur id_authority de la table authorities_words_global_index
     5764                        $req="SHOW INDEX FROM authorities_words_global_index WHERE key_name LIKE 'i_id_authority'";
     5765                        $res=pmb_mysql_query($req);
     5766                        if($res && !pmb_mysql_num_rows($res)){
     5767                                $rqt = "alter table authorities_words_global_index add index i_id_authority (id_authority)";
     5768                                echo traite_rqt($rqt,"alter table authorities_words_global_index add index i_id_authority");
     5769                        }
     5770                               
     5771                        // DG - Ajout index sur id_authority de la table authorities_fields_global_index
     5772                        $req="SHOW INDEX FROM authorities_fields_global_index WHERE key_name LIKE 'i_id_authority'";
     5773                        $res=pmb_mysql_query($req);
     5774                        if($res && !pmb_mysql_num_rows($res)){
     5775                                $rqt = "alter table authorities_fields_global_index add index i_id_authority (id_authority)";
     5776                                echo traite_rqt($rqt,"alter table authorities_fields_global_index add index i_id_authority");
     5777                        }
     5778                                               
     5779                        // VT & AP - Nouvelle table pour les régimes de licence de documents numériques
     5780                                        // id_explnum_licence : Identifiant
     5781                                        // explnum_licence_label : Libellé
     5782                                        // explnum_licence_uri : URI
     5783                                        $rqt = "CREATE TABLE IF NOT EXISTS explnum_licence (
     5784                                                id_explnum_licence int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
     5785                                                explnum_licence_label varchar(255) DEFAULT '',
     5786                                                explnum_licence_uri varchar(255) DEFAULT ''
     5787                                        )";
     5788                        echo traite_rqt($rqt,"create table explnum_licence");
     5789               
     5790                        // VT & AP - Nouvelle table pour les profils de régimes de licence de documents numériques
     5791                                        // id_explnum_licence_profile : Identifiant
     5792                                        // explnum_licence_profile_explnum_licence_num : Identifiant du régime de licence
     5793                                        // explnum_licence_profile_label : Libellé
     5794                                        // explnum_licence_profile_uri : URI
     5795                                        // explnum_licence_profile_logo_url : URL du logo
     5796                                        // explnum_licence_profile_explanation : Texte explicatif
     5797                                        // explnum_licence_profile_quotation_rights : Droit de citation du profil
     5798                                        $rqt = "CREATE TABLE IF NOT EXISTS explnum_licence_profiles (
     5799                                                id_explnum_licence_profile int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
     5800                                                explnum_licence_profile_explnum_licence_num int(10) unsigned NOT NULL DEFAULT 0,
     5801                                                explnum_licence_profile_label varchar(255) DEFAULT '',
     5802                                                explnum_licence_profile_uri varchar(255) DEFAULT '',
     5803                                                explnum_licence_profile_logo_url varchar(255) DEFAULT '',
     5804                                                explnum_licence_profile_explanation text,
     5805                                                explnum_licence_profile_quotation_rights text,
     5806                                                INDEX i_elp_explnum_licence_num (explnum_licence_profile_explnum_licence_num)
     5807                                        )";
     5808                        echo traite_rqt($rqt,"create table explnum_licence_profiles");
     5809               
     5810                        // VT & AP - Nouvelle table pour les droits de régimes de licence de documents numériques
     5811                                        // id_explnum_licence_right : Identifiant
     5812                                        // explnum_licence_profile_explnum_licence_num : Identifiant du régime de licence
     5813                                        // explnum_licence_right_label : Libellé
     5814                                        // explnum_licence_right_type : Type de droit (Autorisation / Interdiction)
     5815                                        // explnum_licence_right_logo_url : URL du logo
     5816                                        // explnum_licence_right_explanation : Texte explicatif
     5817                                        $rqt = "CREATE TABLE IF NOT EXISTS explnum_licence_rights (
     5818                                                id_explnum_licence_right int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
     5819                                                explnum_licence_right_explnum_licence_num int(10) unsigned NOT NULL DEFAULT 0,
     5820                                                explnum_licence_right_label varchar(255) DEFAULT '',
     5821                                                explnum_licence_right_type int(2) DEFAULT 0,
     5822                                                explnum_licence_right_logo_url varchar(255) DEFAULT '',
     5823                                                explnum_licence_right_explanation text,
     5824                                                INDEX i_elr_explnum_licence_num (explnum_licence_right_explnum_licence_num)
     5825                                        )";
     5826                        echo traite_rqt($rqt,"create table explnum_licence_rights");
     5827                       
     5828                        // VT & AP - Nouvelle table pour les liens droits / profils
     5829                                        // explnum_licence_right_num : Identifiant du droit
     5830                                        // explnum_licence_profile_num : Identifiant du lien
     5831                                        $rqt = "CREATE TABLE IF NOT EXISTS explnum_licence_profile_rights (
     5832                                                explnum_licence_profile_num INT not null DEFAULT 0,
     5833                                                explnum_licence_right_num INT not null DEFAULT 0,
     5834                                                PRIMARY KEY (explnum_licence_profile_num, explnum_licence_right_num)
     5835                                        )";
     5836                        echo traite_rqt($rqt,"create table explnum_licence_profile_rights");
     5837
     5838                        // AP & VT - Nouvelle table associant un document numérique à un régime de licence
     5839                        // explnum_licence_explnums_licence_num : Identifiant du régime de licence
     5840                        // explnum_licence_explnums_explnum_num : Identifiant du document numérique
     5841                        $rqt = "CREATE TABLE IF NOT EXISTS explnum_licence_profile_explnums (
     5842                                                explnum_licence_profile_explnums_explnum_num int(10) unsigned NOT NULL DEFAULT 0,
     5843                                                explnum_licence_profile_explnums_profile_num int(10) unsigned NOT NULL DEFAULT 0,
     5844                                                PRIMARY KEY (explnum_licence_profile_explnums_explnum_num, explnum_licence_profile_explnums_profile_num),
     5845                                                INDEX i_elpe_explnum_profile_num (explnum_licence_profile_explnums_profile_num)
     5846                                        )";
     5847                        echo traite_rqt($rqt,"create table explnum_licence_profile_explnums");
     5848                       
     5849                        // DG - Modification de la clé primaire de la table authorities_words_global_index
     5850                        $query = "SHOW KEYS FROM authorities_words_global_index WHERE Key_name = 'PRIMARY'";
     5851                        $result = pmb_mysql_query($query);
     5852                        $primary_fields = array('id_authority','code_champ','code_ss_champ','num_word','position','field_position');
     5853                        $flag = false;
     5854                        while($row = pmb_mysql_fetch_object($result)) {
     5855                                if(!in_array($row->Column_name, $primary_fields)) {
     5856                                        $flag = true;
     5857                                }
     5858                        }
     5859                        if(!$flag && pmb_mysql_num_rows($result) != 6) {
     5860                                $flag = true;
     5861                        }
     5862                        if($flag) {
     5863                                $rqt ="alter table authorities_words_global_index drop primary key";
     5864                                echo traite_rqt($rqt,"alter table authorities_words_global_index drop primary key");
     5865                                $rqt ="alter table authorities_words_global_index add primary key (id_authority,code_champ,code_ss_champ,num_word,position,field_position)";
     5866                                echo traite_rqt($rqt,"alter table authorities_words_global_index add primary key");
     5867                        }
     5868                       
     5869                        // NG - Zone d'affichage par défaut de la carte
     5870                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='map_bounding_box' "))==0){
     5871                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     5872                                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)";
     5873                                echo traite_rqt($rqt,"insert pmb_map_bounding_box into parametres");
     5874                        }
     5875                        if (pmb_mysql_num_rows(pmb_mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='map_bounding_box' "))==0){
     5876                                $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion)
     5877                                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)";
     5878                                echo traite_rqt($rqt,"insert opac_map_bounding_box into parametres");
     5879                        }
     5880
     5881
    29095882                        $rqt = "update parametres set valeur_param='0' where type_param='pmb' and sstype_param='bdd_subversion' " ;
    29105883                        echo traite_rqt($rqt,"update pmb_bdd_subversion=0 into parametres");
     
    29205893                // +-------------------------------------------------+
    29215894                echo "</table>";
    2922                 $rqt = "update parametres set valeur_param='v5.19' where type_param='pmb' and sstype_param='bdd_version' " ;
     5895                $rqt = "update parametres set valeur_param='v5.28' where type_param='pmb' and sstype_param='bdd_version' " ;
     5896//--------------------------- FIN LLIUREX 07/03/2018------------------         
    29235897                $res = mysql_query($rqt, $dbh) ;
    29245898                echo "<strong><font color='#FF0000'>".$msg[1807]." ".number_format($action, 2, ',', '.')."%</font></strong><br />";
  • pmb5.0/trunk/fuentes/pmb/copia_seg_importa.php

    r6916 r6976  
    166166                                //--------------FIN LLIUREX 08/06/2017 -----------------
    167167
     168                                //--------------LLIUREX 07/03/2018----------------------
     169                                //cambiamos la versión para que el proceso de actualización sea más rápido
     170
     171                                $rqt = "update parametres set valeur_param='vLlxXenial' where type_param='pmb' and sstype_param='bdd_version' ";
     172                                $res = mysql_query($rqt, $dbh);
     173                                //------------FIN LLIUREX 07/03/2018---------------------
     174
    168175                               
    169176                                echo "<SCRIPT>alert(\"".$msg[close_session]." ".$msg[database_update]."\");</SCRIPT>";
  • pmb5.0/trunk/fuentes/pmb/includes/messages/es_ES.xml

    r6965 r6976  
    1002610026<entry code="xml_incorrect">No tiene una estructura válida</entry>
    1002710027
    10028 
    1002910028<!-- FIN LLIUREX 22/02/2018 -->
     10029<!--LLIUREX 07/03/2018-->
     10030<entry code="porcentaje_tejuelo">Porcentaje de escala del tejuelo en la etiqueta: </entry>
     10031<!--FIN LLIUREX 07/03/2018-->
    1003010032
    1003110033</XMLlist>
  • pmb5.0/trunk/fuentes/pmb/includes/messages/va_ES.xml

    r6965 r6976  
    76687668<entry code="xml_incorrect">No té una estructura vàlida</entry>
    76697669// -- ------------------------------- FIN LLIUREX 02/02/2015---------------------
     7670<!--LLIUREX 07/03/2018-->
     7671<entry code="porcentaje_tejuelo">Porcentaje de escala del tejuelo en la etiqueta: </entry>
     7672<!--FIN LLIUREX 07/03/2018-->
    76707673</XMLlist>
  • pmb5.0/trunk/fuentes/pmb/lliurex/utilidades_sql/Update_tables.sql

    r6916 r6976  
    22
    33UPDATE z_bib SET bib_nom = 'REBECA', url = 'catalogos.mecd.es', port = '220', base = 'ABNET_REBECA', format ='ISO 8859-1' WHERE url = 'rebeca.mcu.es' || url='rebeca_z3950.mcu.es';
     4
     5-- Se cambia la versión de base de datos de v5.19 a vLlxXenial para actualizar a PMB 5.0.4
     6UPDATE parametres SET valeur_param='vLlxXenial' WHERE type_param='pmb' and sstype_param='bdd_version' and valeur_param='v5.19';
    47
    58-- Se cambia el idioma por defecto del tesauro a es_ES para que la creación de nuevas categorias funcione correctamente
  • pmb5.0/trunk/fuentes/pmb/tejuelo.php

    r6924 r6976  
    2525define(COLS_PER_PAGE, 3); // Nº columnas por página
    2626define(ROWS_PER_PAGE, 8); // Nº filas por página
    27 define(BARCODE_HEIGHT, 54); // en pixels
    28 define(BARCODE_WIDTH, 175); // en pixels
     27//----------------------------LLIUREX 07/03/2018-------------
     28//define(BARCODE_HEIGHT, 54); // en pixels
     29//define(BARCODE_WIDTH, 175); // en pixels
     30//----------------------------FIN LLIUREX 07/03/2018------------
    2931define(ALIGN, 'C');
    3032define(LABEL_WIDTH, (70.8*CONVERSION)); // en mm
     
    5153$codigos=$_GET['codigos'];
    5254//$codigos=str_replace(" ", "", $codigos);
     55//-----------------LLIUREX 07/03/2018-----------
     56$per=$_GET['percentaje_combobox'];
    5357
    5458
     
    5963       //require_once ("$base_path/includes/init.inc.php");
    6064 //---------------------FIN LLIUREX 12/02/215 ----------------------
    61         echo "<center><form class='form-admin' name='form2' ENCTYPE=\"multipart/form-data\" method='get' action=\"./tejuelo.php?codigos=\".$codigos·\"\"><b>$msg[tejuelo]&nbsp;</b><input name='codigos' accept='text/plain' type='text'  size='80'><input align='center' type='button' name='continuar' value='Continuar' onclick='form.submit()'></form></center>";
     65 //-----------------------LLIUREX 07/03/2018-----------------------     
     66        //echo "<center><form class='form-admin' name='form2' ENCTYPE=\"multipart/form-data\" method='get' action=\"./tejuelo.php?codigos=\".$codigos·\"\"><b>$msg[tejuelo]&nbsp;</b><input name='codigos' accept='text/plain' type='text'  size='80'><input align='center' type='button' name='continuar' value='Continuar' onclick='form.submit()'></form></center>";
     67
     68        echo "<center><form class='form-admin' name='form2' ENCTYPE=\"multipart/form-data\" method='get' action=\"./tejuelo.php\"\"><b>$msg[tejuelo]&nbsp;</b><input name='codigos' accept='text/plain' type='text'  size='80'>";
     69        echo "<center><b>$msg[porcentaje_tejuelo]</b>
     70        <select name='percentaje_combobox' >
     71        <option value='1'>100%</option>
     72        <option value='0.9'>90%</option>
     73        <option value='0.8'>80%</option>
     74        <option value='0.7'>70%</option>
     75        <option value='0.6'>60%</option>
     76        <option value='0.5'>50%</option>
     77        </select></center>";
     78        echo "<input align='center' type='button' name='continuar' value='Continuar' onclick='form.submit()'></form></center>";
     79//------------------------FIN LLIUREX 07/03/2018--------------------------
     80
    6281break;}
    6382
     
    6786$matriz=array();
    6887$base_noheader = 1;
     88
     89
     90//------------------------------LLIUREX 07/03/2018--------------------
     91$BARCODE_HEIGHT=(54*$per); // en pixels
     92$BARCODE_WIDTH=(175*$per); // en pixels
     93$LABEL_WIDTH2=((70.8*CONVERSION)*$per); // en mm
     94$LABEL_HEIGHT2=((36.5*CONVERSION)*$per);  // en mm
     95$font_size1=10*$per;
     96$font_size2=25*$per;
     97//--------------------------------FIN LLIUREX 07/03/2018--------------------
    6998
    7099
     
    132161
    133162//Determinamos margenes de los barcode
    134 $barcode_h_margin = ((LABEL_WIDTH-(BARCODE_WIDTH/72))/2);
    135 $barcode_v_margin = ((LABEL_HEIGHT-(BARCODE_HEIGHT/72))/2);
     163//----------------------LLIUREX 07/03/2018-----------------
     164//$barcode_h_margin = ((LABEL_WIDTH-(BARCODE_WIDTH/72))/2);
     165//$barcode_v_margin = ((LABEL_HEIGHT-(BARCODE_HEIGHT/72))/2);
     166$barcode_h_margin = (($LABEL_WIDTH2-($BARCODE_WIDTH/72))/2);
     167$barcode_v_margin = (($LABEL_HEIGHT2-($BARCODE_HEIGHT/72))/2);
     168//---------------------FIN LLIUREX 07/03/2018--------------------
     169
    136170
    137171//----------------LLIUREX 26/02/2018-------------------
     
    209243                        }
    210244
    211                 $matriz2=explode(" ",$cote);                   
     245                $matriz2=explode(" ",$cote);
     246//--------------------------------LLIUREX 07/03/2018------------------                                 
     247               
     248/*
    212249                $pdf->SetFont('Arial','B',10);
    213250                $pdf->SetY($y);
     
    240277
    241278                }
     279                */
     280                $pdf->SetFont('Arial','B',$font_size1);
     281                $pdf->SetY($y+((LABEL_HEIGHT-$LABEL_HEIGHT2)/3));
     282                $pdf->SetX($x+((LABEL_WIDTH-$LABEL_WIDTH2)/3));
     283                if (strlen($matriz2[0])>6) $align="";
     284                else $align="C";
     285                //Dibuja la linea superior de la caja  correspndiente al 1º parametro
     286                $pdf->Cell(LABEL_WIDTH/(5+(1-$per)), ($barcode_v_margin*1),$matriz2[0],"LT", 0, 'L');
     287                //Dibuja el borde vertica de la caja correspondiente al 1º parametro
     288                $pdf->Cell($LABEL_WIDTH2-(1-(1-$per)), ($barcode_v_margin*1),"","TR", 0,'C');
     289                $pdf->Ln();
     290                $pdf->SetX($x+((LABEL_WIDTH-$LABEL_WIDTH2)/3));
     291                $pdf->Cell(LABEL_WIDTH/(5+(1-$per)), ($barcode_v_margin*1),$matriz2[1],"L", 0,'L');
     292                $pdf->setFont('barcode',"",$font_size2);
     293                $pdf->Cell($LABEL_WIDTH2-(1-(1-$per)), ($barcode_v_margin*1),"*".f_rellena_ceros($cb)."*","R", 0,'C');
     294                $pdf->SetFont('Arial','B',$font_size1);
     295                $pdf->Ln();
     296                $pdf->SetX($x+((LABEL_WIDTH-$LABEL_WIDTH2)/3));
     297                $pdf->Cell(LABEL_WIDTH/(5+(1-$per)), ($barcode_v_margin*1),$matriz2[2],"LB", 0,'L');
     298                $pdf->Cell($LABEL_WIDTH2-(1-(1-$per)), ($barcode_v_margin*1),f_rellena_ceros($cb),"BR", 0,'C');
     299
     300                if (($new_col%COLS_PER_PAGE)==0) {
     301                        $x = H_MARGIN;
     302                        $y += LABEL_HEIGHT-0.03;
     303                        $new_row++;
     304                        $new_col=1;
     305                } else {
     306                        $new_col++;
     307                        $x += LABEL_WIDTH-0.10;
     308                        }
     309
     310
     311                }
     312        //-------------------------FIN LLIUREX 07/03/2018-----------------     
     313
    242314                @mysql_free_result($resultData);
    243315
Note: See TracChangeset for help on using the changeset viewer.