[PLUGINS] +clavettes et dependances
[lhc/web/clavette_www.git] / www / plugins / seminaire / seminaire_administrations.php
1 <?php
2 /**
3 * Plugin Séminaire LATP
4 * (c) 2012 Amaury Adon
5 * Licence GNU/GPL
6 */
7
8 if (!defined('_ECRIRE_INC_VERSION')) return;
9
10 include_spip('inc/cextras');
11 include_spip('base/seminaire');
12 include_spip('inc/meta');
13
14
15 /**
16 * Fonction d'installation du plugin et de mise à jour.
17 **/
18 function seminaire_upgrade($nom_meta_base_version, $version_cible) {
19
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");
26 }
27 /**activer les révisions sur les événements**/
28 // ce qui existe déjà
29 $versions = unserialize($GLOBALS['meta']['objets_versions']);
30 // ce que j'ajoute
31 $versionnage_des_evenements = array('spip_evenements');
32 // merge des 2
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)
38 {
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')
41 );
42 if (sql_error() != '') die((_T('seminaire:erreur_install_groupe_technique ')).sql_error());
43
44 $Tstatuts = array('séminaire','groupe de travail','événement important');
45 foreach ($Tstatuts as $st)
46 {
47 sql_insertq('spip_mots',
48 array('titre'=>$st, 'descriptif'=>$st, 'id_groupe'=>$id_groupe, 'type'=>'Type')
49 );
50 if (sql_error() != '') $Terreur[] = (_T('erreur_creation_mot_cle')).$st.': '.sql_error();
51 };
52 };
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)
55 {
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')
57 );
58 if (sql_error() != '') die((_T('seminaire:erreur_install_groupe_coordonnees')).sql_error());
59
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')
64 );
65 if (sql_error() != '') $Terreurs[] = (_T('erreur_creation_mot_cle')).$st.': '.sql_error();
66 }
67 }
68
69 $maj = array();
70 $maj['create']= array(
71 array('maj_tables',array('spip_evenements')),
72 );
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"),
81 );
82 $maj['1.0.2'] = array(
83 array('sql_alter',"TABLE spip_evenements ADD id_mot integer NOT NULL"),
84 );
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);
89 }
90
91
92 /**
93 * Fonction de désinstallation du plugin.
94 **/
95 function seminaire_vider_tables($nom_meta_base_version) {
96
97
98 effacer_meta($nom_meta_base_version);
99 }
100
101 ?>