Error may be fatal : ".mysql_error().""; break; } } return "".($charset == "utf-8" ? utf8_encode($message) : $message)."".$retour.""; } echo ""; /******************** AJOUTER ICI LES MODIFICATIONS *******************************/ switch ($pmb_bdd_subversion) { case "0": //DB -Ajout d'une fonction spécifique pour génération de code-barres lecteurs $rqt = "update parametres set comment_param='Numéro de carte de lecteur automatique ?\n 0: Non (si utilisation de cartes pré-imprimées)\n"; $rqt.= " 1: Oui, entièrement numérique\n 2,a,b,c: Oui, avec préfixe: a=longueur du préfixe, b=nombre de chiffres de la partie numérique, c=préfixe fixé (facultatif)\n"; $rqt.= " 3,fonction: fonction de génération spécifique dans fichier nommé de la même façon, à placer dans pmb/circ/empr' "; $rqt.= " where type_param='pmb' and sstype_param='num_carte_auto' "; echo traite_rqt($rqt,"update parametre pmb_num_carte_auto "); case "1": //DG - Le super user doit avoir accès à tous les établissements $rqt = "UPDATE entites SET autorisations=CONCAT(' 1', autorisations) WHERE type_entite='1' AND autorisations NOT LIKE '% 1 %'"; echo traite_rqt($rqt, 'UPDATE entites SET autorisations=CONCAT(" 1",autorisations) for super user'); case "2": //DG - Optimisation $rqt = "show fields from notices_fields_global_index"; $res = mysql_query($rqt); $exists = false; if(mysql_num_rows($res)){ while($row = mysql_fetch_object($res)){ if($row->Field == "authority_num"){ $exists = true; break; } } } if(!$exists){ if (mysql_result(mysql_query("select count(*) from notices"),0,0) > 15000){ $rqt = "truncate table notices_fields_global_index"; echo traite_rqt($rqt,"truncate table notices_fields_global_index"); // Info de réindexation $rqt = " select 1 " ; echo traite_rqt($rqt,"VOUS DEVEZ REINDEXER / YOU MUST REINDEX : Admin > Outils > Nettoyage de base ") ; } //JP - Synchronisation RDF $rqt = "ALTER TABLE notices_fields_global_index ADD authority_num VARCHAR(50) NOT NULL DEFAULT '0'"; echo traite_rqt($rqt,"alter table notices_fields_global_index add authority_num"); } if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='synchro_rdf' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pmb', 'synchro_rdf', '0', 'Activer la synchronisation rdf\n 0 : non \n 1 : oui (l\'activation de ce paramètre nécessite une ré-indexation)','',0) " ; echo traite_rqt($rqt,"insert opac_bannette_priv_periodicite = 15 into parametres"); } case "3": //DB - Génération code-barres pour les inscritions Web if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='websubscribe_num_carte_auto' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) "; $rqt.= "VALUES (NULL, 'opac', 'websubscribe_num_carte_auto', '', 'Numéro de carte de lecteur automatique ?\n 2,a,b,c: Oui avec préfixe: a=longueur du préfixe, b=nombre de chiffres de la partie numérique, c=préfixe fixé (facultatif)\n 3,fonction: fonction de génération spécifique dans fichier nommé de la même façon, à placer dans pmb/opac_css/circ/empr', 'f_modules', '0')" ; echo traite_rqt($rqt,"insert opac_websubscribe_num_carte_auto into parametres") ; } case "4": //DB - Génération de cartes lecteurs sur imprimante ticket if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_handler' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pdfcartelecteur', 'printer_card_handler', '', 'Gestionnaire d\'impression :\n\n 1 = script \"print_cb.php\"\n 2 = applet jzebra\n 3 = requête ajax','',0)"; echo traite_rqt($rqt,"insert pmb_printer_card_handler into parametres"); } if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_name' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pdfcartelecteur', 'printer_card_name', '', 'Nom de l\'imprimante.','',0)"; echo traite_rqt($rqt,"insert pmb_printer_card_options into parametres"); } if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pdfcartelecteur' and sstype_param='printer_card_url' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pdfcartelecteur', 'printer_card_url', '', 'Adresse de l\'imprimante.','',0)"; echo traite_rqt($rqt,"insert pmb_printer_card_url into parametres"); } case "5" : //AR - On ajoute une colonne pour l'inscription en ligne à l'OPAC (pour conserver ce que l'on faisait) $rqt = "alter table empr add empr_subscription_action text"; echo traite_rqt($rqt,"alter table empr add empr_subscription_action"); //AR - Modification du paramètre opac_websubscribe_show $rqt = "update parametres set comment_param = 'Afficher la possibilité de s\'inscrire en ligne ?\n0: Non\n1: Oui\n2: Oui + proposition s\'incription sur les réservations/abonnements' where type_param='opac' and sstype_param = 'websubscribe_show'"; echo traite_rqt($rqt,"update parametres opac_websubscribe_show"); case "6" : // NG - Transfert: mémorisation de la loc d'origine des exemplaires en transfert $rqt = "CREATE TABLE if not exists transferts_source ( trans_source_numexpl INT UNSIGNED NOT NULL default 0 , trans_source_numloc INT UNSIGNED NOT NULL default 0 , PRIMARY KEY(trans_source_numexpl))"; echo traite_rqt($rqt,"CREATE TABLE transferts_source ") ; case "7" : // NG - Vignette de la notice if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notice_img_folder_id' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) "; $rqt.= "VALUES (NULL, 'pmb', 'notice_img_folder_id', '0', 'Identifiant du répertoire d\'upload des vignettes de notices', '', '0')" ; echo traite_rqt($rqt,"insert pmb_notice_img_folder_id into parametres") ; } case "8" : // NG - Ajout dans les archives de prêt les localisations du pret et de la loc d'origine de l'exemplaire $rqt = "alter table pret_archive add arc_expl_location_retour INT UNSIGNED NOT NULL default 0 AFTER arc_expl_location"; echo traite_rqt($rqt,"alter table pret_archive add arc_expl_location_retour"); $rqt = "alter table pret_archive add arc_expl_location_origine INT UNSIGNED NOT NULL default 0 AFTER arc_expl_location"; echo traite_rqt($rqt,"alter table pret_archive add arc_expl_location_origine"); case "9" : //DG - Augmentation de la taille du champ pour les équations $rqt = "ALTER TABLE equations MODIFY nom_equation TEXT NOT NULL"; echo traite_rqt($rqt,"ALTER TABLE equations MODIFY nom_equation TEXT"); case "10" : // AP script de vérification de saisie d'un auteur perso if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='autorites_verif_js' "))==0){ $rqt = "INSERT INTO parametres ( type_param, sstype_param, valeur_param, comment_param,section_param,gestion) VALUES ( 'pmb', 'autorites_verif_js', '', 'Script de vérification de saisie des autorités','', 0)"; echo traite_rqt($rqt,"insert autorites_verif_js into parametres"); } case "11" : //AB paramètre pour masquer/afficher la reservation par panier if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='resa_cart' "))==0){ $rqt = "INSERT INTO parametres (type_param,sstype_param,valeur_param,comment_param,section_param,gestion) VALUES ('opac','resa_cart',1,'Paramètre pour masquer/afficher la reservation par panier\n0 : Non \n1 : Oui','a_general',0)"; echo traite_rqt($rqt,"insert opac_resa_cart into parametres"); } case "12" : //DG - En impression de panier, imprimer les exemplaires est coché par défaut if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='print_expl_default' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pmb', 'print_expl_default', '0', 'En impression de panier, imprimer les exemplaires est coché par défaut \n 0 : Non \n 1 : Oui','',0) " ; echo traite_rqt($rqt,"insert pmb_print_expl_default = 0 into parametres"); } case "13" : //DG - Personnalisation des colonnes pour l'affichage des états des collections if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'opac' and sstype_param='collstate_data' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'opac', 'collstate_data', '', 'Colonne des états des collections, dans l\'ordre donné, séparé par des virgules : location_libelle,emplacement_libelle,cote,type_libelle,statut_opac_libelle,origine,state_collections,archive,lacune,surloc_libelle,note\nLes valeurs possibles sont les propriétés de la classe PHP \"pmb/opac_css/classes/collstate.class.php\".','e_aff_notice',0)"; echo traite_rqt($rqt,"insert opac_collstate_data = 0 into parametres"); } case "14" : // NG - Ajout du champ resa_arc_trans pour associer un transfert à une archive résa $rqt = "ALTER TABLE transferts_demande ADD resa_arc_trans int(8) UNSIGNED NOT NULL DEFAULT 0 "; echo traite_rqt($rqt,"alter table transferts_demande add resa_arc_trans "); case "15" : // NG - Ajout champ info dans les audits $rqt = "ALTER TABLE audit ADD info text NOT NULL "; echo traite_rqt($rqt,"alter table audit add info "); case "16" : // NG - Ajout param transferts_retour_action_resa if (mysql_num_rows(mysql_query("SELECT 1 FROM parametres WHERE type_param= 'transferts' and sstype_param='retour_action_resa' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, gestion, comment_param) VALUES (0, 'transferts', 'retour_action_resa', '1', '1', 'Génére un transfert pour répondre à une réservation lors du retour de l\'exemplaire\n 0: Non\n 1: Oui') "; echo traite_rqt($rqt,"INSERT transferts_retour_action_resa INTO parametres") ; } case "17" : //DG - Logs OPAC - Exclusion possible des robots et de certaines adresses IP if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='logs_exclude_robots' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pmb', 'logs_exclude_robots', '1', 'Exclure les robots dans les logs OPAC ?\n 0: Non\n 1: Oui. \nFaire suivre d\'une virgule pour éventuellement exclure les logs OPAC provenant de certaines adresses IP, elles-mêmes séparées par des virgules (ex : 1,127.0.0.1,192.168.0.1).','',0)"; echo traite_rqt($rqt,"insert pmb_logs_exclude_robots = 1 into parametres"); } case "18" : //MB + CB - Renseigner les champs d'exemplaires transfert_location_origine et transfert_statut_origine pour les statistiques et si ils ne le sont pas déjà (lié aux améliorations pour les transferts) $rqt = "UPDATE exemplaires SET transfert_location_origine=expl_location, transfert_statut_origine=expl_statut WHERE transfert_location_origine=0 AND transfert_statut_origine=0 AND expl_id NOT IN (SELECT num_expl FROM transferts_demande JOIN transferts ON (num_transfert=id_transfert AND etat_transfert=0))"; echo traite_rqt($rqt,"update exemplaires transfert_location_origine transfert_statut_origine"); case "19" : //DG - Modification taille du champ article_resume de la table cms_articles $rqt ="alter table cms_articles MODIFY article_resume MEDIUMTEXT NOT NULL"; echo traite_rqt($rqt,"alter table cms_articles modify article_resume mediumtext"); //DG - Modification taille du champ article_contenu de la table cms_articles $rqt ="alter table cms_articles MODIFY article_contenu MEDIUMTEXT NOT NULL"; echo traite_rqt($rqt,"alter table cms_articles modify article_contenu mediumtext"); //DG - Modification taille du champ section_resume de la table cms_sections $rqt ="alter table cms_sections MODIFY section_resume MEDIUMTEXT NOT NULL"; echo traite_rqt($rqt,"alter table cms_sections modify section_resume mediumtext"); case "20" : //MB - Définition de la taille maximum des vignettes des notices if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='notice_img_pics_max_size' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param) VALUES (0, 'pmb', 'notice_img_pics_max_size', '150', 'Taille maximale des vignettes uploadées dans les notices, en largeur ou en hauteur')"; echo traite_rqt($rqt,"insert pmb_notice_img_pics_max_size='150' into parametres"); } case '21' : //DB - commande psexec (planificateur sous windows) if (mysql_num_rows(mysql_query("select 1 from parametres where type_param= 'pmb' and sstype_param='psexec_cmd' "))==0){ $rqt = "INSERT INTO parametres (id_param, type_param, sstype_param, valeur_param, comment_param, section_param, gestion) VALUES (0, 'pmb', 'psexec_cmd', 'psexec -d', 'Paramètres de lancement de psexec (planificateur sous windows)\r\n\nAjouter l\'option -accepteula sur les versions les plus récentes. ', '',0) "; echo traite_rqt($rqt, "insert pmb_psexec_cmd into parameters"); } } /******************** JUSQU'ICI **************************************************/ /* PENSER à faire +1 au paramètre $pmb_subversion_database_as_it_shouldbe dans includes/config.inc.php */ /* COMMITER les deux fichiers addon.inc.php ET config.inc.php en même temps */ echo traite_rqt("update parametres set valeur_param='".$pmb_subversion_database_as_it_shouldbe."' where type_param='pmb' and sstype_param='bdd_subversion'","Update to $pmb_subversion_database_as_it_shouldbe database subversion."); echo "
";