source: spip-zone/_squelettes_/soyezcreateurs_net/trunk/plugins/soyezcreateurs/base/soyezcreateurs_install.php @ 82343

Last change on this file since 82343 was 82343, checked in by real3t@…, 7 years ago

Il semblerait que ça remarche d'installer les paramètres du Couteau Suisse en une seule fois.

File size: 10.6 KB
Line 
1<?php
2/*
3* Configuration de SPIP pour SoyezCreateurs
4* Realisation : RealET : real3t@gmail.com
5* Attention, fichier en UTF-8 sans BOM
6*/
7
8if (!defined('_ECRIRE_INC_VERSION')) return;
9
10include_spip('inc/meta');
11
12/*
13 * Fonction d'installation, mise a jour de la base
14 *
15 * @param unknown_type $nom_meta_base_version
16 * @param unknown_type $version_cible
17 */
18function soyezcreateurs_upgrade($nom_meta_base_version,$version_cible){
19        include_spip('base/soyezcreateurs');
20        $current_version = 0.0;
21        if ((!isset($GLOBALS['meta'][$nom_meta_base_version])) || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
22                if (version_compare($current_version,'3.0.20','<')) {
23                        spip_log("SoyezCreateurs maj 3.0.20 Début", "soyezcreateurs_install");
24                        soyezcreateurs_config_site();
25                        soyezcreateurs_config_motsclefs();
26                        // Installation des index FullText si le plugin est présent
27                        $f = chercher_filtre('info_plugin');
28                        if($f('Fulltext', 'est_actif')) {
29                                include_spip('inc/fulltext_exec');
30                                Fulltext_creer_tous();
31                        }
32                        // Installation d'exemples concernant l'agenda si le plugin est actif
33                        if ($f('agenda', 'est_actif')) {
34                                // Réserve le formulaire des événements aux seules rubriques d'Agenda (avec le plugin agenda 2 installé)
35                                sql_update('spip_rubriques INNER JOIN spip_mots_rubriques ON spip_rubriques.id_rubrique = spip_mots_rubriques.id_rubrique INNER JOIN spip_mots ON spip_mots_rubriques.id_mot=spip_mots.id_mot', array('spip_rubriques.agenda' => 1), 'spip_mots.titre='.sql_quote('Agenda'));
36                                include_spip('inc/sc_article');
37                               
38                                $id_rubrique = id_rubrique('900. Agenda');
39                                if ($id_rubrique >0) {
40                                        $date = date('Y-m-d H:i:00');
41                                        create_evenement("900. Agenda", "Installation du site", "Installation du site", $date, $date, "Quand le titre de l'événement est identique au titre de l'article, il n'est pas affiché en plus", 'Votre serveur web.');
42                                        create_evenement("900. Agenda", "Installation du site", "Installé !", $date, $date, "Quand le titre de l'événement est différent du titre de l'article, alors, les 2 titres sont affichés.", '');
43                                        create_evenement("900. Agenda", "Événement exceptionnel", "Événement exceptionnel", date('Y-m-d 20:30:00'), date('Y-m-d 22:30:00'), "Quand l'heure de début est différente de l'heure de fin, c'est un événement avec une durée...", '');
44                                        create_evenement("10. SPIP", "Historique des versions de SPIP", "SPIP 2.1", '2010-04-09', '2010-04-09', "[->http://www.spip.net/fr_article4728.html]", '', 'non');
45                                        create_evenement("10. SPIP", "Historique des versions de SPIP", "SPIP 2.0", '2008-12-13', '2008-12-13', "[->http://www.spip.net/fr_article3784.html]", '', 'non');
46                                        create_evenement("900. Agenda", "Démonstration Agenda", "Démonstration Agenda", '2017-12-13', '2017-12-13', "", '', 'non');
47                                }
48                        }
49                        spip_log("SoyezCreateurs maj 3.0.20 Faite", "soyezcreateurs_install");
50                        ecrire_meta($nom_meta_base_version,$current_version='3.0.20','non');
51                }
52
53                if (version_compare($current_version,'3.0.23','<')) {
54                        spip_log("SoyezCreateurs maj 3.0.23 Début", "soyezcreateurs_install");
55                        // Activer les lames du CouteauSuisse Special SoyezCreateurs
56                        $f = chercher_filtre('info_plugin');
57                        if ($f('couteau_suisse', 'est_actif')) {
58                                include_spip('couteau_suisse_administrations');
59                                cout_install_pack('SoyezCreateurs');
60                                include_spip('outils/boites_privees');
61                                tri_auteurs_verifie_table(true);
62                                cout_exec_redirige(false);
63                        }
64                        spip_log("SoyezCreateurs maj 3.0.23 Faite", "soyezcreateurs_install");
65                        ecrire_meta($nom_meta_base_version,$current_version='3.0.23','non');
66                }
67                if (version_compare($current_version,'3.0.24','<')) {
68                        spip_log("SoyezCreateurs maj 3.0.24 Début", "soyezcreateurs_install");
69                        // Initialisation Sigles du dictionnaire
70                        if (defined('_DIR_PLUGIN_DICTIONNAIRES')) {
71                                include_spip('action/editer_dictionnaire');
72                                $id_dictionnaire = sql_fetsel("id_dictionnaire", "spip_dictionnaires", "titre='"._T('dictionnaire:importer_acronymes_titre')."'");
73                                if (is_array($id_dictionnaire)) {
74                                        $id_dictionnaire = $id_dictionnaire['id_dictionnaire'];
75                                }
76                                if (!$id_dictionnaire) {
77                                        if ($id_dictionnaire = insert_dictionnaire()){
78                                                // On lui met des champs par défaut
79                                                dictionnaire_set($id_dictionnaire, array(
80                                                        'titre' => _T('dictionnaire:importer_acronymes_titre'),
81                                                        'actif' => 1,
82                                                        'descriptif' => _T('dictionnaire:importer_acronymes_descriptif'),
83                                                        'type_defaut' => 'abbr',
84                                                ));
85                                        }
86                                }
87                                if ($id_dictionnaire) {
88                                        $definition = array(
89                                                'id_dictionnaire' => $id_dictionnaire,
90                                                'titre' => 'SPIP',
91                                                'texte' => 'Système de Publication pour un Internet Participatif',
92                                                'type' => 'abbr',
93                                                'casse' => 1,
94                                                'statut' => 'publie',
95                                                'lang' => 'fr'
96                                        );
97                                        $id_definition = sql_fetsel("id_definition", "spip_definitions", "titre='".$definition['titre']."' AND id_dictionnaire=$id_dictionnaire");
98                                        if (!$id_definition) {
99                                                // On crée la définition dans la base SANS calculer le cache
100                                                include_spip('action/editer_definition');
101                                                if ($id_definition = insert_definition()){
102                                                        definition_set($id_definition, $definition, false);
103                                                }
104                                        }
105                                        $definition = array(
106                                                'id_dictionnaire' => $id_dictionnaire,
107                                                'titre' => 'RGAA',
108                                                'texte' => 'Référentiel Général pour l\'Accessibilité des Administrations',
109                                                'type' => 'abbr',
110                                                'casse' => 1,
111                                                'statut' => 'publie',
112                                                'lang' => 'fr'
113                                        );
114                                        $id_definition = sql_fetsel("id_definition", "spip_definitions", "titre='".$definition['titre']."' AND id_dictionnaire=$id_dictionnaire");
115                                        if (!$id_definition) {
116                                                // On crée la définition dans la base SANS calculer le cache
117                                                include_spip('action/editer_definition');
118                                                if ($id_definition = insert_definition()){
119                                                        definition_set($id_definition, $definition, false);
120                                                }
121                                        }
122                                }
123                                // On calcule le cache des définitions une seule fois à la fin
124                                include_spip('inc/dictionnaires');
125                                dictionnaires_lister_definitions(true);
126                               
127                        }
128                        spip_log("SoyezCreateurs maj 3.0.24 Faite", "soyezcreateurs_install");
129                        ecrire_meta($nom_meta_base_version,$current_version='3.0.24','non');
130                }
131                if (version_compare($current_version,'3.0.28','<')) {
132                        spip_log("SoyezCreateurs maj 3.0.28 Début", "soyezcreateurs_install");
133                        // Au cas où : remttre au carré les id_secteur des articles et rubriques.
134                        include_spip('inc/rubriques');
135                        calculer_rubriques();
136                        propager_les_secteurs();
137                        effacer_meta("date_calcul_rubriques");
138                       
139                        spip_log("SoyezCreateurs maj 3.0.28 Faite", "soyezcreateurs_install");
140                        ecrire_meta($nom_meta_base_version,$current_version='3.0.28','non');
141                }
142               
143                if (version_compare($current_version,'3.0.29','<')) {
144                        spip_log("SoyezCreateurs maj 3.0.29 Début", "soyezcreateurs_install");
145                        create_groupe("_FondPage", "Images en fond de page :\n-* Créer autant de mots clefs que de fonds de page désirés\n-* Mettre un logo à ces mots clefs\n-* Possibilité de fixer un fond de page pour :\n-** Une rubrique (et la branche en dessous)\n-** Un type de page particulier (Sommaire, Plan)\n\nSe reporter à la documentation sur [Personnalisation graphique du squelette SoyezCreateurs->http://contrib.spip.net/Personnalisation-graphique-du-squelette-SoyezCreateurs]", "", 'oui', 'non', 'non', 'non', 'oui', 'non', 'non', 'oui', 'non', 'non');
146                       
147                        spip_log("SoyezCreateurs maj 3.0.29 Faite", "soyezcreateurs_install");
148                        ecrire_meta($nom_meta_base_version,$current_version='3.0.29','non');
149                }
150               
151                /*if (version_compare($current_version,'3.0.10','<')) {
152                        create_document('documents/image.jpg', array('objet' => 'article', 'id_objet' => 3), 'image', array('titre' => 'Mon image', 'descriptif' => 'Superbe image'));
153                }
154                */
155                /*
156                #En attente
157                if (version_compare($current_version,'3.0.11','<')) {
158                        create_groupe("_TypeArticle", "Pour indiquer un type spécifique d'article", "Il faut choisir un mot clef dans cette liste pour obtenir un affichage spécifique d'article.\n\nNB : pour rajouter un mot clef \"mc1\", il faut aussi rajouter les squelettes correspondants :\n-* noisettes/articles/typearticle_mc1.html\n-* noisettes/footer/footer_typearticle_mc1.html", 'oui', 'non', 'oui', 'non', 'non', 'non', 'non', 'oui', 'non', 'non');
159                                create_mot("_TypeArticle", "annuaire", "Pour dire que l'article ayant ce mot clef doit utiliser le squelette type des annuaire.", "Affecter ce mot clef à chaque article de l'annuaire.");
160                        ecrire_meta($nom_meta_base_version,$current_version='3.0.11','non');
161                }
162                // A integrer quand SPIP permettra d'avoir des critères optionnels sur un champ de table innexistant
163                // en l'occurrence, remplacer dans le squelette {titre_mot=Agenda} par {agenda=1}
164                if (version_compare($current_version,'2.1.14','<')) {
165                        include_spip('base/soyezcreateurs');
166                        spip_log("SoyezCreateurs maj 2.1.14", "soyezcreateurs_install");
167                        $id_groupe = id_groupe("_Specialisation_Rubrique");
168                        $id_mot = id_mot("Agenda", $id_groupe);
169                        if ($id_mot>0) {
170                                sql_delete("spip_mots", "id_mot=$id_mot");
171                                sql_delete("spip_mots_articles", "id_mot=$id_mot");
172                                sql_delete("spip_mots_rubriques", "id_mot=$id_mot");
173                                sql_delete("spip_mots_syndic", "id_mot=$id_mot");
174                                sql_delete("spip_mots_forum", "id_mot=$id_mot");
175                        }
176                        ecrire_meta($nom_meta_base_version,$current_version='2.1.14','non');
177                }
178                */
179        }
180}
181
182function soyezcreateurs_changer_cfg($cfg) {
183        include_spip('inc/cfg_config'); 
184        foreach ($cfg as $conf => $faire) {
185                $recherche_conf = lire_config('soyezcreateurs/'.$conf);
186                spip_log('cfg = '.$conf.' = '.$recherche_conf.' go','soyezcreateurs_install');
187                if ($faire == 'radio') {
188                        if ($recherche_conf == 'Oui') {
189                                $res = ecrire_config('soyezcreateurs/'.$conf, 'oui');
190                                spip_log('cfg go to '.$faire.'= '.$recherche_conf.' ok','soyezcreateurs_install');
191                        }
192                        else if ($recherche_conf == 'Non') {
193                                $res = ecrire_config('soyezcreateurs/'.$conf, 'non');
194                                spip_log('cfg go to '.$faire.'= '.$recherche_conf.' ok','soyezcreateurs_install');
195                        }
196                }
197                else if ($faire == 'oui_non') {
198                        if ($recherche_conf == 'Non') {
199                                $res = ecrire_config('soyezcreateurs/'.$conf, '');
200                                spip_log('cfg go to '.$faire.'= '.$recherche_conf.' ok','soyezcreateurs_install');
201                        }
202                        else if ($recherche_conf == 'Oui') {
203                                $res = ecrire_config('soyezcreateurs/'.$conf, 'on');
204                                spip_log('cfg go to '.$faire.'= '.$recherche_conf.' ok','soyezcreateurs_install');
205                        }
206                }
207        }
208        return true;
209}
210
211/*
212 * Fonction de desinstallation
213 *
214 * @param unknown_type $nom_meta_base_version
215 */
216function soyezcreateurs_vider_tables($nom_meta_base_version) {
217        effacer_meta('soyezcreateurs');
218        effacer_meta('soyezcreateurs_couleurs');
219        effacer_meta('soyezcreateurs_google');
220        effacer_meta('soyezcreateurs_layout');
221        effacer_meta($nom_meta_base_version);
222}
223?>
Note: See TracBrowser for help on using the repository browser.