3 * Plugin Séminaire LATP
8 if (!defined('_ECRIRE_INC_VERSION')) return;
10 include_spip('inc/cextras');
11 include_spip('base/seminaire');
12 include_spip('inc/meta');
16 * Fonction d'installation du plugin et de mise à jour.
18 function seminaire_upgrade($nom_meta_base_version, $version_cible) {
20 cextras_api_upgrade(seminaire_declarer_champs_extras(), $maj['create']);
21 /**activer les mots clés et leur configuration avancée s'ils ne le sont pas déjà**/
22 if ($GLOBALS['meta']['articles_mots']!=oui
){
23 ecrire_meta("articles_mots", "oui");
24 ecrire_meta("config_precise_groupes", "oui");
25 ecrire_meta("documents_objets", "spip_evenements");
27 /**activer les révisions sur les événements**/
29 $versions = unserialize($GLOBALS['meta']['objets_versions']);
31 $versionnage_des_evenements = array('spip_evenements');
33 $versions = array_merge($versions,$versionnage_des_evenements);
34 // balançons dans meta
35 ecrire_meta('objets_versions',serialize($versions));
36 /**Creer le groupe de mots clés Type pour les types d'événements**/
37 if (sql_countsel('spip_mots', "titre IN ('seminaire','groupe de travail','evenement important')") == 0)
39 $id_groupe = sql_insertq('spip_groupes_mots',
40 array('titre'=>'Type', 'descriptif'=>_T('seminaire:mots_cles_techniques_kitcnrs'),'tables_liees'=>'evenements', 'minirezo'=>'oui','comite'=>'oui')
42 if (sql_error() != '') die((_T('seminaire:erreur_install_groupe_technique ')).sql_error());
44 $Tstatuts = array('séminaire','groupe de travail','événement important');
45 foreach ($Tstatuts as $st)
47 sql_insertq('spip_mots',
48 array('titre'=>$st, 'descriptif'=>$st, 'id_groupe'=>$id_groupe, 'type'=>'Type')
50 if (sql_error() != '') $Terreur[] = (_T('erreur_creation_mot_cle')).$st.': '.sql_error();
53 /** création du groupe de mots clés Catégorie et de ses mots cles pours les équipes **/
54 if (sql_countsel('spip_mots', "titre IN ('Algèbre, Dynamique et Topologie','Analyse Appliquée', 'Analyse et Géométrie', 'FRUMAM', 'Géométrie et Singularités', 'Guide d’ondes et milieux stratifiés', 'Probabilités et statistiques', 'Séminaire des doctorants', 'Théorie des nombres')") == 0)
56 $id_groupe = sql_insertq('spip_groupes_mots',array('titre'=>'Catégorie', 'descriptif'=> _T('seminaire:mots_cles_categories'), 'tables_liees'=>'articles', 'minirezo'=>'oui','comite'=>'oui')
58 if (sql_error() != '') die((_T('seminaire:erreur_install_groupe_coordonnees')).sql_error());
60 $Tstatuts = array('Algèbre, Dynamique et Topologie','Analyse Appliquée', 'Analyse et Géométrie', 'FRUMAM', 'Géométrie et Singularités', 'Guide d’ondes et milieux stratifiés', 'Probabilités et statistiques', 'Séminaire des doctorants', 'Théorie des nombres');
61 foreach ($Tstatuts as $st) {
62 sql_insertq('spip_mots',
63 array('titre'=>$st, 'id_groupe'=>$id_groupe, 'type'=>'Catégorie')
65 if (sql_error() != '') $Terreurs[] = (_T('erreur_creation_mot_cle')).$st.': '.sql_error();
70 $maj['create']= array(
71 array('maj_tables',array('spip_evenements')),
73 $maj['1.0.1'] = array(
74 /*Copie de abstract vers descriptif*/
75 array('sql_update','spip_evenements', array('descriptif'=>'abstract')),
76 array('sql_alter',"TABLE spip_evenements DROP abstract"),
77 /*on change name en attendee*/
78 array('sql_alter',"TABLE spip_evenements ADD attendee text NOT NULL"),
79 array('sql_update',"spip_evenements", array('attendee'=>'name')),
80 array('sql_alter',"TABLE spip_evenements DROP name"),
82 $maj['1.0.2'] = array(
83 array('sql_alter',"TABLE spip_evenements ADD id_mot integer NOT NULL"),
85 $maj['1.0.3'] = array(
86 array('sql_alter',"TABLE spip_evenements DROP id_mot"),
87 ); include_spip('base/upgrade');
88 maj_plugin($nom_meta_base_version, $version_cible, $maj);
93 * Fonction de désinstallation du plugin.
95 function seminaire_vider_tables($nom_meta_base_version) {
98 effacer_meta($nom_meta_base_version);