source: spip-zone/_squelettes_/soyezcreateurs_net/trunk/base/soyezcreateurs.php @ 67371

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

Adaptation de la procédure d'installation à SPIP 3

File size: 43.5 KB
Line 
1<?php
2/*
3* Configuration de SPIP pour SoyezCreateurs
4* Configurateur de mots clefs et de rubriques bas'e sur
5* Configurateur Squelette Epona - 2004 Nov 10 - Marc Lebas.
6* Realisation : RealET : real3t@gmail.com
7* Attention, fichier en UTF-8 sans BOM
8*/
9
10if (!defined('_ECRIRE_INC_VERSION')) return;
11
12include_spip("inc/lang");
13include_spip('inc/meta');
14define('_LOG_INSTALL', "soyezcreateurs_install");
15
16//fonction qui permet de créer les métas de config du site
17function soyezcreateurs_config_site() { 
18        ecrire_meta('activer_breves', 'non','non');
19        ecrire_meta('activer_logos_survol', 'oui','non');
20        ecrire_meta('config_precise_groupes', 'oui','non');
21        ecrire_meta('articles_surtitre', 'oui','non');
22        ecrire_meta('articles_soustitre', 'oui','non');
23        ecrire_meta('articles_descriptif', 'oui','non');
24        ecrire_meta('articles_chapeau', 'oui','non');
25        ecrire_meta('articles_ps', 'oui','non');
26        ecrire_meta('articles_mots', 'oui','non');
27        ecrire_meta('articles_urlref', 'oui','non');
28        ecrire_meta('articles_redirection', 'oui','non');
29        ecrire_meta('creer_preview', 'oui','non');
30        ecrire_meta('articles_modif', 'oui','non');
31        ecrire_meta('rubriques_descriptif', 'oui','non');
32        ecrire_meta('forums_urlref', 'oui','non');
33        ecrire_meta('activer_sites', 'oui','non');
34        ecrire_meta('forums_publics', 'non','non');
35        ecrire_meta('accepter_inscriptions', 'oui','non');
36        ecrire_meta('prevenir_auteurs', ',pos,pri,abo,','non');
37        ecrire_meta('messagerie_agenda', 'non','non');
38        ecrire_meta('articles_versions', 'oui','non');
39        ecrire_meta('activer_statistiques', 'oui','non');
40        ecrire_meta('documents_article', 'oui','non');
41        ecrire_meta('documents_rubrique', 'oui','non');
42        ecrire_meta('preview', ',0minirezo,1comite,','non');
43        ecrire_meta('barre_typo_generalisee', 'a:6:{s:38:\"rubriques_texte_barre_typo_generalisee\";s:2:\"on\";s:40:\"groupesmots_texte_barre_typo_generalisee\";s:2:\"on\";s:33:\"mots_texte_barre_typo_generalisee\";s:2:\"on\";s:40:\"sites_description_barre_typo_generalisee\";s:2:\"on\";s:48:\"configuration_description_barre_typo_generalisee\";s:2:\"on\";s:42:\"auteurs_quietesvous_barre_typo_generalisee\";s:2:\"on\";}','non');
44        ecrire_meta('image_process', 'gd2', 'non');
45        ecrire_meta('gd_formats_read', 'gif,jpg,png', 'non');
46        ecrire_meta('gd_formats', 'gif,jpg,png', 'non');
47        ecrire_meta('formats_graphiques', 'gif,jpg,png', 'non');
48        ecrire_meta('btv2', 'a:1:{s:7:"avancee";s:3:"Oui";}', 'non');
49        ecrire_meta('bte', 'a:14:{s:5:"puces";s:3:"Oui";s:14:"titraille1open";s:17:"<h2 class="spip">";s:15:"titraille1close";s:5:"</h2>";s:14:"titraille2open";s:17:"<h3 class="spip">";s:15:"titraille2close";s:5:"</h3>";s:14:"titraille3open";s:17:"<h4 class="spip">";s:15:"titraille3close";s:5:"</h4>";s:14:"titraille4open";s:17:"<h5 class="spip">";s:15:"titraille4close";s:5:"</h5>";s:14:"titraille5open";s:17:"<h6 class="spip">";s:15:"titraille5close";s:5:"</h6>";s:9:"insertcss";s:3:"Non";s:17:"defaultbarrestyle";s:5:"close";s:14:"mode_titraille";N;}', 'non');
50        ecrire_meta('ppp', 'a:5:{s:14:"descriptif_ppp";s:0:"";s:9:"chapo_ppp";s:2:"on";s:6:"ps_ppp";s:2:"on";s:29:"configuration_description_ppp";s:2:"on";s:23:"auteurs_quietesvous_ppp";s:2:"on";}', 'non');
51        // Activer les crayons dans ecrire, et la barre typo sur les crayons, réduire les images à 400 px de large (au cas où)
52        ecrire_config('crayons/barretypo','on');
53        ecrire_config('crayons/reduire_logo',400);
54        ecrire_config('crayons/espaceprive','on');
55        ecrire_config('crayons/exec_autorise','*');
56        // Permettre aux webmestres d'éditer les forums (dans le privé et le public, avec les crayons).
57        ecrire_config('autorite/editer_forums',1);
58       
59        ecrire_config('boutonstexte/txtOnly','_');
60        ecrire_meta('socialtags', 'a:5:{s:4:"tags";a:7:{i:0;s:0:"";i:1;s:9:"blogmarks";i:2;s:9:"delicious";i:3;s:4:"digg";i:4;s:6:"google";i:5;s:7:"twitter";i:6;s:6:"viadeo";}s:10:"jsselector";s:11:"#socialtags";s:5:"badge";s:0:"";s:7:"badgejs";s:0:"";s:9:"ifreferer";N;}','non');
61        if ( $GLOBALS['meta']['nom_site'] == _T('info_mon_site_spip') )
62                ecrire_meta('nom_site', 'Mon site SPIP <sub>Squelette SoyezCreateurs</sub>','non');
63        spip_log("1. (soyezcreateurs_config_site) metas du plugins ecrite", _LOG_INSTALL);
64        return true;
65}
66
67// fonction qui permet de trouver si un groupe de mots clés existe à partir du titre
68function find_groupe($titre) {
69        $titre = addslashes($titre);
70        spip_log("1. (find_groupe) recherche des occurences dans la table spip_groupes_mots de l'id de : $titre", _LOG_INSTALL);
71        $count = sql_countsel("spip_groupes_mots", "titre='$titre'");
72        spip_log("2. (find_groupe) resultat de la recherche : $count occurences pour $titre", _LOG_INSTALL);
73        return $count;
74}
75
76// fonction pour trouver l'id du groupe de mots clés à partir du titre du groupe
77function id_groupe($titre) {
78        $titre = addslashes($titre);
79        spip_log("1. (id_groupe) selection dans la table spip_groupes_mots de l'id de : $titre", _LOG_INSTALL);
80        $result = sql_fetsel("id_groupe", "spip_groupes_mots", "titre='$titre'");
81        $resultat = $result['id_groupe'];
82        spip_log("2. (id_groupe) selection = $resultat pour $titre", _LOG_INSTALL);
83        return $resultat;
84}
85
86//fonction qui permet de créer un groupe de mots clés
87function create_groupe($groupe, $descriptif='', $texte='', $unseul='non', $obligatoire='non', $tables_liees='', $minirezo='oui', $comite='oui', $forum='non') {
88        $id_groupe = find_groupe($groupe);
89        spip_log("1. (create_groupe) pret a creer groupe : titre = $groupe. retour de find_groupe = $id_groupe", _LOG_INSTALL);
90        if ($id_groupe == 0) {
91                $id_insert = sql_insertq(
92                        "spip_groupes_mots", array(
93                                "id_groupe" => '',
94                                "titre" => $groupe,
95                                "descriptif" => $descriptif,
96                                "texte" => $texte,
97                                "unseul" => $unseul,
98                                "obligatoire" => $obligatoire,
99                                "tables_liees" => $tables_liees,
100                                "minirezo" => $minirezo,
101                                "comite" => $comite,
102                                "forum" => $forum
103                        )
104                );
105                spip_log("2. (create_groupe) retour de find_groupe : $id_groupe, donc insertion avec id = $id__insert et titre = $groupe", _LOG_INSTALL);
106        } 
107        else if ($id_groupe > 0) {
108                $id_insert = remplacer_groupe($groupe, $descriptif, $texte, $unseul, $obligatoire, $tables_liees, $minirezo, $comite, $forum);
109                spip_log("2. (create_groupe) retour de find_groupe : $id_groupe... passage a remplacer_groupe", _LOG_INSTALL);
110        }
111        return $id_insert;
112}
113
114function supprimer_mot_groupe($nom_groupe,$nom_mot) {
115        $id_groupe = id_groupe($nom_groupe);
116        if ($id_groupe>0) {
117                $id_mot = id_mot($nom_mot, $id_groupe);
118                if ($id_mot>0) {
119                        sql_delete("spip_mots", "id_mot=$id_mot");
120                        sql_delete("spip_mots_liens", "id_mot=$id_mot");
121                }
122        }
123}
124
125function vider_groupe($nom_groupe) {
126        $id_groupe = id_groupe($nom_groupe);
127        if ($id_groupe>0) {
128                $id_mots = sql_select('id_mot',  'spip_mots',  'id_groupe='.sql_quote($id_groupe));
129                while($id_mot = sql_fetch($id_mots)){
130                        sql_delete("spip_mots", "id_mot=".$id_mot['id_mot']);
131                        sql_delete("spip_mots_liens", "id_mot=".$id_mot['id_mot']);
132                }
133                sql_delete("spip_groupes_mots", "id_groupe=$id_groupe");
134        }
135}
136
137//fonction qui mets à jour un groupe de mots clés
138function remplacer_groupe($titre, $descriptif, $texte, $unseul, $obligatoire, $tables_liees, $minirezo, $comite, $forum) {
139        $id_groupe = id_groupe($titre);
140        sql_updateq(
141                "spip_groupes_mots", array(
142                        "descriptif" => $descriptif,
143                        "texte" => $texte,
144                        "unseul" => $unseul,
145                        "obligatoire" => $obligatoire,
146                        "tables_liees" => $tables_liees,
147                        "minirezo" => $minirezo,
148                        "comite" => $comite,
149                        "forum" => $forum
150                ), "id_groupe=$id_groupe"
151        );
152        return true;
153}
154
155// fonction qui permet de trouver si un mot clé existe à partir du titre et de l'id du groupe
156function find_mot($titre, $id_groupe) {
157        $titre = addslashes($titre);
158        $count = sql_countsel(
159                "spip_mots", 
160                "titre = '$titre' AND id_groupe = $id_groupe"
161        );
162        return $count;
163}
164
165//fonction qui permet de trouver l'id du mot clé à partir du titre et de l'id du groupe
166function id_mot($titre, $id_groupe) {
167        spip_log("1. (id_mot) debut de recherche de l'id de $titre avec $id_groupe", _LOG_INSTALL);
168        $titre = addslashes($titre);
169        $result = sql_fetsel(
170                "id_mot", 
171                "spip_mots", 
172                "titre='$titre' AND id_groupe = $id_groupe"
173        );
174        $id_mot = $result['id_mot'];
175        spip_log("2. (id_mot) retour de la fonction id_mot = $id_mot", _LOG_INSTALL);
176        return $id_mot;
177}
178
179//fonction qui permet de créer un mot clé
180function create_mot($groupe, $mot, $descriptif='', $texte='') {
181        $id_groupe = id_groupe($groupe);
182        $find_mot = find_mot($mot, $id_groupe);
183        if ($find_mot == 0) {
184                spip_log("1. (create_mot) debut create_mot. mot inexistant donc creation : $id_groupe - $mot", _LOG_INSTALL);
185                $id_mot = sql_insertq(
186                        "spip_mots", array(
187                                "id_mot" => '',
188                                "titre" => $mot,
189                                "descriptif" => $descriptif,
190                                "texte" => $texte,
191                                "id_groupe" => $id_groupe,
192                                "type" => $groupe
193                        )
194                );
195                spip_log("2. (create_mot) mot cle $mot insere sous l'id $id_mot dans la table avec groupe = $id_groupe", _LOG_INSTALL);
196        }
197        else if ($find_mot > 0) {
198                $id_mot = id_mot($mot, $id_groupe);
199                spip_log("1. (create_mot) mise a jour dans la table du mot cle : $mot", _LOG_INSTALL);
200                remplacer_mot($id_mot, $mot, $descriptif, $texte, $id_groupe, $groupe);
201        }
202        else {
203                spip_log("insertion impossible ! debug : groupe = $groupe --- id_groupe = $id_groupe", _LOG_INSTALL);
204        }
205        return $id_mot;
206}
207
208//fonction qui permet de mettre à jour un mot clé
209function remplacer_mot($id_mot, $mot, $descriptif, $texte, $id_groupe, $groupe) {
210        sql_updateq(
211                        "spip_mots", array(
212                                "titre" => $mot,
213                                "descriptif" => $descriptif,
214                                "texte" => $texte,
215                                "id_groupe" => $id_groupe,
216                                "type" => $groupe
217                        ), "id_mot=$id_mot"
218                );
219        return true;
220}
221// fonction qui permet de trouver si une rubrique existe à partir du titre
222function find_rubrique($titre) {
223        $titre = addslashes($titre);
224        $count = sql_countsel(
225                "spip_rubriques", 
226                "titre = '$titre'"
227        );
228        return $count;
229}
230
231//fonction qui permet de trouver l'id d'une rubrique à partir du titre
232function id_rubrique($titre) {
233        $result = sql_fetsel(
234                "id_rubrique", 
235                "spip_rubriques", 
236                "titre='$titre'"
237        );
238        $resultat = $result['id_rubrique'];
239        spip_log("1. (id_rubrique) recherche de l'id_rubrique de $titre = $resultat", _LOG_INSTALL);
240        return $resultat;
241}
242
243// fonction qui permet de renommer une rubrique à partir du titre
244function rename_rubrique($titre, $nouveau_titre) {
245        $id_rubrique = id_rubrique($titre);
246        if ($id_rubrique) {
247                sql_updateq(
248                        "spip_rubriques", array(
249                                "titre" => $nouveau_titre
250                        ), "id_rubrique=$id_rubrique"
251                );
252                spip_log("rename_rubrique) renommage de $titre en $nouveau_titre", _LOG_INSTALL);
253        }
254        return true;
255}
256       
257
258//fonction qui permet de créer une rubrique
259function create_rubrique($titre, $id_parent='0', $descriptif='') {
260        $id_rubrique = find_rubrique($titre);
261        if ($id_rubrique == 0) {
262                $id_rubrique = sql_insertq(
263                        "spip_rubriques", array(
264                                "titre" => $titre,
265                                "id_parent" => $id_parent,
266                                "descriptif" => $descriptif
267                        )
268                );
269                sql_updateq(
270                        "spip_rubriques", array(
271                                "id_secteur" => $id_rubrique
272                        ), "id_rubrique=$id_rubrique"
273                );
274                spip_log("1. (create_rubrique) rubrique cree : id = $id_rubrique, titre = $titre", _LOG_INSTALL);
275        }
276        else if ($id_rubrique > 0) {
277                $id_rubrique = id_rubrique($titre);
278                remplacer_rubrique($id_rubrique, $id_parent, $descriptif);
279        }
280        return $id_rubrique;
281}
282
283//fonction qui mets à jour une rubrique
284function remplacer_rubrique($id_rubrique, $id_parent, $descriptif) {
285        sql_updateq(
286                "spip_rubriques", array(
287                        "id_parent" => $id_parent,
288                        "descriptif" => $descriptif
289                ), "id_rubrique=$id_rubrique"
290        );
291        return true;
292}
293
294// fonction qui permet de trouver si un article existe à partir du titre
295function find_article($titre, $id_rubrique) {
296        $titre = addslashes($titre);
297        $count = sql_countsel(
298                "spip_articles", 
299                "titre='$titre' AND id_rubrique = $id_rubrique"
300        );
301        return $count;
302}
303
304//fonction qui permet de trouver l'id d'un article à partir du titre
305function id_article($titre, $id_rubrique) {
306        $titre = addslashes($titre);
307        $result = sql_fetsel(
308                "id_article", 
309                "spip_articles", 
310                "titre='$titre' AND id_rubrique = $id_rubrique"
311        );
312        $resultat = $result['id_article'];
313        spip_log("1. (id_article) recherche de l'id_article de $titre = $resultat", _LOG_INSTALL);
314        return $resultat;
315}
316
317//fonction qui permet de créer un article
318function create_article($texte, $rubrique, $lang='fr') {
319        $id_rubrique = id_rubrique($rubrique);
320        $count_articles = find_article($texte['titre'], $id_rubrique);
321        if ($count_articles == 0) {
322                spip_log("1. (create_article) insertion d'un article : ".$texte['titre'], _LOG_INSTALL);
323                $statut = 'publie';
324                $date = date("Y-m-d H:i:s");
325                $id_article = sql_insertq(
326                        "spip_articles", array(
327                                "id_article" => '',
328                                "surtitre" => $texte['surtitre'],
329                                "titre" => $texte['titre'],
330                                "soustitre" => $texte['soustitre'],
331                                "id_rubrique" => $id_rubrique,
332                                "descriptif" => $texte['descriptif'],
333                                "chapo" => $texte['chapo'],
334                                "texte" => $texte['texte'],
335                                "ps" => $texte['ps'],
336                                "date" => $date,
337                                "statut" => $statut,
338                                "id_secteur" => $id_rubrique,
339                                "maj" => $date,
340                                "export" => '',
341                                "date_redac" => '0000-00-00 00:00:00',
342                                "visites" => 0,
343                                "referers" => 0,
344                                "popularite" => 0,
345                                "accepter_forum" => '',
346                                "date_modif" => $date,
347                                "lang" => $lang,
348                                "langue_choisie" => 'non',
349                                "id_trad" => 0,
350                                "nom_site" => $texte['nom_site'],
351                                "url_site" => $texte['url_site'],
352                                "virtuel" => $texte['virtuel']
353                        )
354                );
355                sql_insertq(
356                        "spip_auteurs_articles", array(
357                                "id_auteur" => 1,
358                                "id_article" => $id_article
359                        )
360                );
361                include_spip('inc/rubriques');
362                calculer_rubriques();
363                propager_les_secteurs();
364                spip_log("2. (create_article) article insere : $id_article", _LOG_INSTALL);
365        }
366        else if ($count_articles > 0) {
367                $id_article = id_article($texte['titre'], $id_rubrique);
368                spip_log("2. (create_article) maj de l'article : ".$texte['titre'], _LOG_INSTALL);
369                remplacer_article($id_article, $id_rubrique, $texte);
370        }
371        return $id_article;
372}
373
374//fonction qui permet de mettre à jour un article
375function remplacer_article($id_article, $id_rubrique, $texte) {
376        sql_updateq(
377                "spip_articles", array(
378                        "surtitre" => $texte['surtitre'],
379                        "soustitre" => $texte['soustitre'],
380                        "descriptif" => $texte['descriptif'],
381                        "chapo" => $texte['chapo'],
382                        "texte" => $texte['texte'],
383                        "ps" => $texte['ps'],
384                        "nom_site" => $texte['nom_site'],
385                        "url_site" => $texte['url_site'],
386                        "virtuel" => $texte['virtuel']
387                ), "id_article='$id_article' AND id_rubrique = $id_rubrique"
388        );
389        return true;
390}
391
392function poubelle_article($titre_article, $titre_rubrique) {
393        $id_rubrique = id_rubrique($titre_rubrique);
394        if ($id_rubrique) {
395                $id_article = id_article($titre_article, $id_rubrique);
396                if ($id_article) {
397                        sql_updateq("spip_articles", array("statut" => "poubelle"),"id_article=$id_article");
398                }
399        }
400}
401
402// fonction qui permet de trouver si une liaison entre un article et un mot clé existe
403function find_article_mot($id_mot, $id_article) {
404        $count = sql_countsel(
405                "spip_mots_liens", 
406                "id_mot = $id_mot AND id_objet = $id_article AND objet='article'"
407        );
408        return $count;
409}
410
411//fonction qui permet de créer une relation entre un article et un mot clé
412function create_article_mot($article, $rubrique, $mot, $groupe) {
413        spip_log("1. (create_article_mot) demande de creation de liaison : $article avec $mot", _LOG_INSTALL);
414        $id_rubrique = id_rubrique($rubrique);
415        $id_groupe = id_groupe($groupe);
416        $id_mot = id_mot($mot, $id_groupe);
417        $id_article = id_article($article, $id_rubrique);
418        $count = find_article_mot($id_mot, $id_article);
419        if ($count == 0) {
420                sql_insertq(
421                        "spip_mots_liens", 
422                        array(
423                                "id_mot"=> $id_mot, 
424                                "id_objet" => $id_article,
425                                "objet" => 'article'
426                        )
427                );
428                spip_log("2. (create_article_mot) liaison mise en place (article = $id_article - mot = $id_mot)", _LOG_INSTALL);
429        }
430        else {
431                spip_log("2. (create_article_mot) liaison deja existante ! (article = $id_article - mot = $id_mot)", _LOG_INSTALL);
432        }
433}
434
435//fonction qui permet de trouver des liaisons entre rubrique et mot clé
436function find_rubrique_mot($id_mot, $id_rubrique) {
437        $count = sql_countsel(
438                "spip_mots_liens", 
439                "id_mot = $id_mot AND id_objet = $id_rubrique AND objet = 'rubrique'"
440        );
441        return $count;
442}
443
444//fonction qui permet de créer une relation entre une rubrique et un mot clé
445function create_rubrique_mot($rubrique, $mot, $groupe) {
446        $id_rubrique = id_rubrique($rubrique);
447        $id_groupe = id_groupe($groupe);
448        $id_mot = id_mot($mot, $id_groupe);
449        spip_log("1. (create_rubrique_mot) creation : rubrique = $id_rubrique ($rubrique) - mot = $id_mot ($mot) - groupe = $id_groupe ($groupe)", _LOG_INSTALL);
450        $count = find_rubrique_mot($id_mot, $id_rubrique);
451        if ($count == 0) {
452                sql_insertq(
453                        "spip_mots_liens", array(
454                                "id_mot" => $id_mot,
455                                "id_objet" => $id_rubrique,
456                                "objet" => 'rubrique'
457                        )
458                );
459        }
460        return true;
461}
462
463function create_evenement($rubrique, $article, $titre_evenement, $debut, $fin, $descriptif = '',$lieu ='', $horaire='oui') {
464        $id_rubrique = id_rubrique($rubrique);
465        if ($id_rubrique > 0) {
466                $id_article = id_article($article, $id_rubrique );
467                if ($id_article > 0) {
468                        sql_insertq(
469                                        "spip_evenements", array(
470                                                "id_article" => $id_article,
471                                                "titre" => $titre_evenement,
472                                                "date_debut" => $debut,
473                                                "date_fin" => $fin,
474                                                "descriptif" => $descriptif,
475                                                "lieu" => $lieu,
476                                                "horaire" => $horaire,
477                                        ));
478                }
479        }
480}
481
482//fonction qui permet de trouver l'id d'un auteur à partir de son nom
483function find_auteur($nom) {
484        $result = sql_fetsel(
485                "id_auteur", 
486                "spip_auteurs", 
487                "nom='$nom'"
488        );
489        $resultat = $result['id_auteur'];
490        spip_log("1. (id_auteur) recherche de l'id_auteur de $nom = $resultat", _LOG_INSTALL);
491        return $resultat;
492}
493
494//fonction qui permet de trouver l'email d'un auteur à partir de son id
495function find_auteur_email($id_auteur) {
496        $result = sql_fetsel(
497                "email", 
498                "spip_auteurs", 
499                "id_auteur=$id_auteur"
500        );
501        $resultat = $result['email'];
502        spip_log("1. (email) recherche de l'email de $id_auteur = $resultat", _LOG_INSTALL);
503        return $resultat;
504}
505
506//fonction qui permet de créer un auteur (sans login ni mot de passe)
507function create_auteur($nom, $email='', $bio='') {
508        $id_auteur = find_auteur($nom);
509        if ($id_auteur > 0) {
510                sql_updateq(
511                        "spip_auteurs", array(
512                                "email" => $email,
513                                "bio" => $bio
514                        ), "id_auteur=$id_auteur"
515                );
516        } else {
517                $id_auteur = sql_insertq(
518                        "spip_auteurs", array(
519                                "nom" => $nom,
520                                "email" => $email,
521                                "bio" => $bio,
522                                "statut" => '1comite'
523                        )
524                );
525        }
526        spip_log("1. (create_auteur) auteur cree : id = $id_auteur, nom = $nom", _LOG_INSTALL);
527        return $id_auteur;
528}
529
530
531function create_document($chemin, $objet, $mode, $champs='non', $id_document='non') {
532        include_spip('action/ajouter_documents');
533        $chemin = find_in_path($chemin);
534        $type = $objet['type'];
535        $id_objet = $objet['id_objet'];
536        spip_log(array('tmp_name' => $chemin, 'name' => basename($chemin)), 'docusc');
537        if ($id_document = 'non' AND $chemin) {
538                $id_document = action_ajouter_un_document_dist('non', array('tmp_name' => $chemin, 'name' => basename($chemin)), $type, $id_objet, $mode);
539                if (is_array($champs))
540                sql_updateq("spip_documents", $champs, "id_document=$id_document");
541                return $id_document;
542        }
543        else
544                return false;
545}
546
547function create_logo($chemin, $type='art', $id, $ext, $onoff='on') {
548        include_spip('inc/getdocument');
549        $file = deplacer_fichier_upload(find_in_path($chemin), _DIR_LOGOS . $type . $onoff . $id . '.' .$ext);
550        return $file;
551}
552
553//fonction qui permet de trouver l'id d'un site à partir du titre
554function id_site($titre, $id_rubrique) {
555        $titre = addslashes($titre);
556        $result = sql_fetsel(
557                "id_syndic", 
558                "spip_syndic", 
559                "nom_site='$titre' AND id_rubrique = $id_rubrique"
560        );
561        $resultat = $result['id_syndic'];
562        return $resultat;
563}
564
565function create_site($site, $rubrique) {
566        $id_rubrique = id_rubrique($rubrique);
567        $id_site = id_site($site['titre'], $id_rubrique);
568        if ($id_site > 0) {
569                sql_updateq(
570                        "spip_syndic", array(
571                                "url_site" => $site['url_site'],
572                                "url_syndic" => $site['url_syndic'],
573                                "descriptif" => $site['descriptif'],
574                                "syndication" => $site['url_syndic'] ? 'oui':'non'
575                        ), "id_syndic='$id_syndic'"
576                );
577        } else {
578                $id_site = sql_insertq(
579                        "spip_syndic", array(
580                                "id_rubrique" => $id_rubrique,
581                                "nom_site" => $site['nom_site'],
582                                "url_site" => $site['url_site'],
583                                "url_syndic" => $site['url_syndic'],
584                                "descriptif" => $site['descriptif'],
585                                "statut" => $site['statut'] ? $site['statut']:'prop',
586                                "syndication" => $site['url_syndic'] ? 'oui':'non'
587                        )
588                );
589                include_spip('inc/rubriques');
590                calculer_rubriques();
591                propager_les_secteurs();
592        }
593        return $id_site;
594}
595
596//fonction qui permet de trouver l'id d'un formulaire à partir de l'id textuel
597function id_formidable($identifiant) {
598        $identifiant = addslashes($identifiant);
599        $result = sql_fetsel(
600                "id_formulaire", 
601                "spip_formulaires", 
602                "identifiant='$identifiant'"
603        );
604        $resultat = $result['id_formulaire'];
605        return $resultat;
606}
607
608function create_formidable($formidable) {
609        $id_formulaire = id_formidable($formidable['identifiant']);
610        if ($id_formulaire > 0) {
611                sql_updateq(
612                        "spip_formulaires", array(
613                                "titre" => $formidable['titre'],
614                                "descriptif" => $formidable['descriptif'],
615                                "message_retour" => $formidable['message_retour'],
616                                "saisies" => $formidable['saisies'],
617                                "traitements" => $formidable['traitements'],
618                                "public" => $formidable['public'],
619                                "statut" => $formidable['statut'],
620                                "apres" => $formidable['apres'],
621                                "url_redirect" => $formidable['url_redirect']
622                        ), "id_formulaire='$id_formulaire'"
623                );
624        } else {
625                $id_formulaire = sql_insertq(
626                        "spip_formulaires", array(
627                                "identifiant" => $formidable['identifiant'],
628                                "titre" => $formidable['titre'],
629                                "descriptif" => $formidable['descriptif'],
630                                "message_retour" => $formidable['message_retour'],
631                                "saisies" => $formidable['saisies'],
632                                "traitements" => $formidable['traitements'],
633                                "public" => $formidable['public'],
634                                "statut" => $formidable['statut'],
635                                "apres" => $formidable['apres'],
636                                "url_redirect" => $formidable['url_redirect']
637                        )
638                );
639                include_spip('inc/rubriques');
640        }
641        return $id_formulaire;
642}
643
644//fonction qui permet de trouver des liaisons entre site et mot clé
645function find_site_mot($id_mot, $id_syndic) {
646        $count = sql_countsel(
647                "spip_mots_liens", 
648                "id_mot = $id_mot AND id_objet = $id_syndic AND objet = 'syndic'"
649        );
650        return $count;
651}
652function create_site_mot($id_syndic, $mot, $groupe) {
653        $id_groupe = id_groupe($groupe);
654        $id_mot = id_mot($mot, $id_groupe);
655        $count = find_site_mot($id_mot, $id_rubrique);
656        if ($count == 0) {
657                sql_insertq(
658                        "spip_mots_liens", array(
659                                "id_mot" => $id_mot,
660                                "id_objet" => $id_syndic,
661                                "objet" => 'syndic'
662                        )
663                );
664        }
665        return true;
666}
667
668//fonction qui permet de créer le tout
669function soyezcreateurs_config_motsclefs() {
670        //les rubriques
671        create_rubrique('000. Fourre-tout', '0', "Vous trouverez dans cette rubrique:\n\n-* Les Éditos\n-* Des articles concernant le site lui-même\n");
672        create_rubrique('900. Agenda', '0');
673        create_rubrique('999. Citations', '0', "Mettre dans cette rubrique une citation par article");
674        //les groupes puis mots
675        create_groupe("Thèmes de l'Agenda", "Détermine la liste des éléments pouvant être présentés en liste déroulante dans l'Agenda du site", "Un événement de l'Agenda peut avoir un ou {{plusieurs}} mot clefs ratachés (les sélectionner avec maj-clic).", 'non', 'non', 'evenements', 'oui', 'oui', 'non');
676        create_groupe("_AgendaStatut", "Statut d'un événement dans l'Agenda", "Permet de spécifier un statut d'un événement dans l'Agenda.\n\nL'événement sera affiché dans la couleur spécifiée par le {Texte} du Mot Clef.\n\nLe {Descriptif rapide} sera quant à lui utilisé en bulle d'aide.", 'oui', 'oui', 'evenements', 'oui', 'oui', 'non');
677        create_groupe("_ClasseRubriqueMenu", "Pour affecter une classe spécifique aux éléments du menu", "", 'oui', 'non', 'rubriques', 'oui', 'non', 'non');
678                create_mot("_ClasseRubriqueMenu", "separation", "Affecter ce mot clef aux rubriques qui doivent être affichée avec une séparation dans le menu.", "");
679        create_groupe("_CouleurRubrique", "Permet de changer la couleur d'une Rubrique.", "Affecter un mot clef de ce groupe à une rubrique (et ses descendants) pour en changer la tonalité de couleur.\n\nPour chacun des mots clefs, mettre en titre quelque chose d'intelligible, un éventuel descriptif rapide sur l'usage à en faire et le code hexadecimal de la couleur dans le texte. \n\nExemple : \n-* Titre: Orange\n-* Texte : f78221", 'oui', 'non', 'rubriques', 'oui', 'non', 'non');
680                create_mot("_CouleurRubrique", "Bleu", "", "6392A9");
681                create_mot("_CouleurRubrique", "Marron clair", "", "9F7561");
682                create_mot("_CouleurRubrique", "Turkoise pastel", "", "89A699");
683        create_groupe("_HTTP-EQUIV", "Paramétrage du site", "Paramétrage des entêtes HTML HTTP-EQUIV.\n\nÀ utiliser en sachant pourquoi.", 'non', 'non', '', 'oui', 'non', 'non');
684                create_mot("_HTTP-EQUIV", "pics-label", "Mettre ci-dessous le contenu du label ICRA (XHTML) généré depuis [->http://www.icra.org/].\n\nIl s'agit d'une démarche volontaire du responsable du site visant à indiquer si le site peut ou non être visité sans dommage par des enfants.", "");
685        create_groupe("_InformationsLegales", "Mentions légales obligatoire ([CNIL|Commision Nationale Informatique et Liberté->http://www.cnil.fr/] et [LcEN|Loi sur la confiance en l'Économie Numérique->http://www.legifrance.gouv.fr/WAspad/UnTexteDeJorf?numjo=ECOX0200175L])", "[Décryptage des obligations légales->http://maitre.eolas.free.fr/journal/index.php?2005/05/27/135-responsabilite-du-blogueur].", 'non', 'non', 'non', 'non', 'non', 'non', 'non', 'oui', 'non', 'non');
686                create_mot("_InformationsLegales", "10. Propriétaire du site", "Mettre les coordonnées du propriétaire du site ci-dessous", "");
687                create_mot("_InformationsLegales", "20. Hébergeur", "Mettre les coordonnées de l'hébergeur ci-dessous", "[Siegler informatique->http://www.siegler-informatique.fr/], hébergeur SPIP + SoyezCreateurs");
688                create_mot("_InformationsLegales", "30. Liens vers ce site", "Mettre ci-dessous les conditions d'utilisation du contenu", "Le site autorise tout site Internet ou tout autre support à le citer ou à mettre en place un lien hypertexte pointant vers son contenu.\n\nL'autorisation de mise en place d'un lien est valable pour tout support, à l'exception de ceux diffusant des informations à caractère polémique, pornographique, xénophobe ou pouvant, dans une plus large mesure porter atteinte à la sensibilité du plus grand nombre.\n\nLa reprise intégrale du contenu d'une page est aussi autorisée, sous réserve d'établir un lien clair vers sa source. C'est la [licence CC-By-SA|Paternité-Partage des Conditions Initiales à l'Identique 2.0 France->http://creativecommons.org/licenses/by-sa/2.0/fr/] qui s'applique.");
689                create_mot("_InformationsLegales", "35. Traitement automatisé d'informations nominatives", "", "Ce site ne collecte sur les visiteurs du site aucune autre information nominative ou personnelle que celles qui lui sont ouvertement et volontairement fournies en particulier par l'intermédiaire des adresses électroniques de ses correspondants.\n\nNous vous rappelons que vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données vous concernant (article 34 de la loi \"Informatique et Libertés\" du 6 janvier 1978). \nPour exercer ce droit, contactez-nous.\n");
690                create_mot("_InformationsLegales", "40. Réalisation", "Mettre ci-dessous les informations concernant la réalisation de ce site.", "Ce site a été réalisé par [PYRAT.net|Création de sites web->http://www.pyrat.net/] en utilisant l'outil [SPIP->http://www.spip.net/].\n\n[PYRAT.net|Création de sites web->http://www.pyrat.net/] a réalisé ce site dans les respect des [normes pour l'accessibilité->http://www.pyrat.net/Accessibilite-d-un-site-web,193.html] des sites web à tous.");
691        create_groupe("_LayoutGala", "Permet de faire appel à l'une des 40 mises en page disponibles sur [Layout Gala->http://blog.html.it/layoutgala/]", "Mode d'emploi : affecter un des mots mots clefs de ce groupe à un objet de SPIP (Articles, Rubriques, Brèves, Sites) permet de lui affecter la mise en page associée", 'oui', 'non', 'articles,breves,rubriques,syndic', 'oui', 'non', 'non');
692                create_mot("_LayoutGala", "01. Three percentage columns", "", "");
693                create_mot("_LayoutGala", "02. Three percentage columns (InverseColor)", "", "");
694                create_mot("_LayoutGala", "03. Three percentage columns (Right)", "", "");
695                create_mot("_LayoutGala", "04. Three percentage columns (Right InverseColor)", "", "");
696                create_mot("_LayoutGala", "05. Three percentage columns (Left)", "", "");
697                create_mot("_LayoutGala", "06. Three percentage columns (Left InverseColor)", "", "");
698                create_mot("_LayoutGala", "07. Three fixed columns", "", "");
699                create_mot("_LayoutGala", "08. Three fixed columns (InverseColor)", "", "");
700                create_mot("_LayoutGala", "09. Three fixed columns (Right)", "", "");
701                create_mot("_LayoutGala", "10. Three fixed columns (Right InverseColor)", "", "");
702                create_mot("_LayoutGala", "11. Three fixed columns (Left)", "", "");
703                create_mot("_LayoutGala", "12. Three fixed columns (Left InverseColor)", "", "");
704                create_mot("_LayoutGala", "13. Liquid, secondary columns fixed-width", "", "");
705                create_mot("_LayoutGala", "14. Liquid, secondary columns fixed-width (InverseColor)", "", "");
706                create_mot("_LayoutGala", "15. Liquid, secondary columns fixed-width (Right)", "", "");
707                create_mot("_LayoutGala", "16. Liquid, secondary columns fixed-width (Right InverseColor)", "", "");
708                create_mot("_LayoutGala", "17. Liquid, secondary columns fixed-width (Left)", "", "");
709                create_mot("_LayoutGala", "18. Liquid, secondary columns fixed-width (Left InverseColor)", "", "");
710                create_mot("_LayoutGala", "19. Liquid, three columns, hybrid widths", "", "");
711                create_mot("_LayoutGala", "20. Liquid, three columns, hybrid widths (InverseColor)", "", "");
712                create_mot("_LayoutGala", "21. Liquid, three columns, hybrid widths (Right)", "", "");
713                create_mot("_LayoutGala", "22. Liquid, three columns, hybrid widths (Right InverseColor)", "", "");
714                create_mot("_LayoutGala", "23. Two columns liquid, side fixed", "", "");
715                create_mot("_LayoutGala", "24. Two columns liquid, side fixed", "", "");
716                create_mot("_LayoutGala", "25. Two percentage columns", "", "");
717                create_mot("_LayoutGala", "26. Two percentage columns", "", "");
718                create_mot("_LayoutGala", "27. One column liquid and two halves", "", "");
719                create_mot("_LayoutGala", "28. One column liquid and two halves (InverseColor)", "", "");
720                create_mot("_LayoutGala", "29. Two percentage columns and one larger", "", "");
721                create_mot("_LayoutGala", "30. Two percentage columns and one larger (Right)", "", "");
722                create_mot("_LayoutGala", "31. Two columns liquid, fixed side and large one", "", "");
723                create_mot("_LayoutGala", "32. Two columns liquid, fixed side and large one (Right)", "", "");
724                create_mot("_LayoutGala", "33. Two colums fixed (Right)", "", "");
725                create_mot("_LayoutGala", "34. Two colums fixed", "", "");
726                create_mot("_LayoutGala", "35. Two colums fixed (ShortLeft)", "", "");
727                create_mot("_LayoutGala", "36. Two colums fixed (ShortRight)", "", "");
728                create_mot("_LayoutGala", "37. Two colums fixed (Right)", "", "");
729                create_mot("_LayoutGala", "38. Two colums fixed", "", "");
730                create_mot("_LayoutGala", "39. One column fixed and two halves (Right)", "", "");
731                create_mot("_LayoutGala", "40. One column fixed and two halves", "", "");
732        create_groupe("_LogosExtra", "Permet de placer une image en fond de la colonne Extra (c'est-à-dire, soit la colonne secondaire qui peut être afichée soit de l'autre côté du menu, soit en dessous de celui-ci).", "{{Utilisation}} : affecter un ou plusieurs mots clefs de ce groupe aux rubriques (héritage automatique) qui doivent avoir une ou plusieurs image en fond. L'image est choisie aléatoirement parmis celles disponibles.\n\n{{Configuration}} : \n-* créer des mots clefs dans ce groupe et leur donner un logo de mot clef.\n-* il est possible de mettre un logo de survol qui sera alors utilisé en fond de texte (en plus de l'autre logo) et positionné en haut à droite sauf si le texte contient les ordres CSS de positionnement ({bottom left} par exemple)", 'non', 'non', 'rubriques', 'oui', 'non', 'non');
733        create_groupe("_META", "Paramètrage du site", "Permet de spécifier des META pour le site.\n\nIl est possible de rajouter des METAs non encore présents, mais, comme d'habitude en la matière : sachez ce que vous faites !", 'non', 'non', '', 'oui', 'non', 'non');
734                create_mot("_META", "Description", "Mettre ci-dessous la description du site", "");
735                create_mot("_META", "ICBM", "Mettre la latitude et la longitude du lieu sous la forme : XX.XXXXX,XX.XXXXX (ex: 45.3393,1.06292)\n_ Pour trouver vos coordonnées : [Multimap->http://www.multimap.com/]\n_ Et [vous référencer sur GeoURL->http://geourl.org/ping/]", "");
736                create_mot("_META", "Keywords", "Mettre ci-dessous les mots clef du site séparés par des virgules", "");
737                create_mot("_META", "revisit-after", "Fréquence d'indexation du site", "3 days");
738        create_groupe("_ModePortail", "Les mots clefs de ce groupe permettent de gérer les éléments qui s'affichent sur la page d'accueil du site si celui-ci est en mode portail.", "Les mots clefs numérotés dans leur titre de 0. à 9. verront leur logo utilisé dans les colonnes de gauche et de droite de la page d'accueil (respectivement pour les numéros impairs et pairs).", 'oui', 'non', 'articles,rubriques', 'oui', 'non', 'non');
739                create_mot("_ModePortail", "1. Mot1", "", "");
740                create_mot("_ModePortail", "2. Mot2", "", "");
741                create_mot("_ModePortail", "Goodies", "Affecter ce mot clef aux objets SPIP devant apparaitre dans la zone des Goodies.", "Ne pas oublier de mettre un logo (120×30) aux objet concernés.");
742                create_mot("_ModePortail", "ZoomSur", "Affecter ce mot clef à l'objet que vous voulez placer dans le cadre « Zoom sur » (facultatif).\n\nLe site prendra les 3 derniers articles ayant ce mot clef", "S'applique aux :\n-* articles\n-* rubriques");
743        create_groupe("_Specialisation", "Spécialisation d'un article ", "Un mot clef pris dans ce groupe permettra de modifier\n\n-* le comportement d'un article particulier\n", 'non', 'non', 'articles', 'oui', 'oui', 'non');
744                create_mot("_Specialisation", "AccesibiliteLien", "Affecter ce mot clef à l'article traitant de la politique d'accessibilité du site.", "Un fois l'article écrit, lui affecter ce mot clef pour qu'il soit disponible en lien en haut de la page (caché pour les voyants, sauf sur la page d'accueil).");
745                create_mot("_Specialisation", "ALaUne", "Article qui doit rester à la une du site (soit dans quoi de neuf, soit dans la liste des articles en ModeNews, Soit dans le cartouche À la une en ModePortail)", "");
746                create_mot("_Specialisation", "Courrier_libre", "Affecter ce mot clef à l'article utilisé comme courrier libre.", "Concerne les articles qui servent à l'envoi de courriers libres");
747                create_mot("_Specialisation", "DevoilerDate", "Mettre ce mot clef à un article dont on veut afficher la date de publication.", "");
748                create_mot("_Specialisation", "DevoilerIdentite", "Mettre ce mot clef à un article dont on veut afficher le nom du ou des auteurs (au sens de SPIP)", "");
749                create_mot("_Specialisation", "EDITO", "Sert à dire que l'article est un éditorial.", "{{Attention}} : le site utilisera l'article le plus récent ayant ce mot clef pour l'afficher en tant qu'éditorial.\n\n[*Conséquence*] : ne changez pas le contenu d'un éditorial par le nouvel éditorial, créez un nouvel article éditorial!");
750                create_mot("_Specialisation", "EDITO_Restreint", "Pour un article d'Edito ne s'affichant qu'en mode restreint", "Permet donc d'avoir un Edito pour le grand public et un Edito pour la zone restreinte.\n\nMieux encore, avec 2 EDITO_Restreint, un en libre accès et un en zone restreinte, on pourra avoir :\n-* un Edito d'accueil après inscription au site\n-* Un Edito d'accueil après rattachement à une zone restreinte.");
751                create_mot("_Specialisation", "GraverSonNom", "Un article avec ce mot clef permettra aux visiteurs de laisser leur nom sur le site en tant que bulle d'aide sur l'image (Logo du mot) et de faire parvenir un texte aux administrateurs", "Il faut pour que ça fonctionne:\n\n-* un article\n-* un forum modéré a posteriori\n-* ce mot mot clef attaché à cet article\n-* un logo à ce mot clef\n\nÀ partir de là, l'article permet aux visiteurs de «graver leur nom» dans le site. Leur nom aparaitra en bulle d'aide sur une image (le logo de ce mot clef).");
752                create_mot("_Specialisation", "Livre d'Or", "Pour empécher que l'on puisse répondre à un forum", "Ce mot clef appliqué à un article ayant un forum fait que ce forum n'a qu'un niveau (pas possible de répondre à une intervention, seulement d'en rajouter)");
753                create_mot("_Specialisation", "MENURACINE", "Doit s'afficher en dessous de Accueil", "Pour dire que l'article s'affiche en dessous de Accueil dans le menu de gauche avant les rubriques du site");
754                create_mot("_Specialisation", "MENURACINEBAS", "Pour dire que l'article s'affiche au dessus de Plan", "Permet de placer dans le menu de gauche un (ou plusieurs) article(s) en bas de menu, avant le plan du site.");
755                create_mot("_Specialisation", "MENURACINEBAS_Systematique", "Affichage systématique dans le menu de gauche en bas", "Affecter ce mot clef à un article qui devra être présent dans le menu de gauche, en bas, que l'on soit dans un secteur avec MenuHaut ou non.");
756                create_mot("_Specialisation", "MENURACINE_Systematique", "Affichage systématique dans le menu de gauche en haut", "Affecter ce mot clef à un article qui devra être présent dans le menu de gauche, en haut, que l'on soit dans un secteur avec MenuHaut ou non.");
757                create_mot("_Specialisation", "PasDansRecherche", "Permet de masquer un article des résultats de la recherche", "À affecter aux articles qui ne doivent pas être affichées dans les résultats de la recherche");
758                create_mot("_Specialisation", "PasdeSiteDansForums", "Pour que les sites référencés n'apparaissent pas dans un forum (mesure anti SPAM)", "Pour décourager ceux qui utiliseraient vos forums pour faire de la pub pour leurs site (généralement, des sonneries de téléphone)");
759        create_groupe("_Specialisation_Rubrique", "Spécialisation d'une rubrique", "Un mot clef pris dans ce groupe permettra de modifier\n\n-* le comportement d'une rubrique et de ses articles\n", 'non', 'non', 'rubriques', 'oui', 'oui', 'non');
760                create_mot("_Specialisation_Rubrique", "AfficherArticlesMenu", "Affichage des articles de la rubrique dans le menu de gauche", "Affecter ce mot clef aux rubriques dont la liste des articles doit être affichée dans le menu de gauche.");
761                create_mot("_Specialisation_Rubrique", "Agenda", "Pour dire qu'une rubrique est dans l'Agenda", "Il est impératif de mettre ce mot clef pour la rubrique à la racine ayant cette caractéristique (inutile pour les sous rubriques de cette rubrique).");
762                create_mot("_Specialisation_Rubrique", "agenda_principal", "", "");
763                create_mot("_Specialisation_Rubrique", "Citations", "Rubrique destinée à recevoir de courtes citations (une par article) affichées en haut à droite des pages du site de manière alléatoire (une nouvelle citation toutes les heures)", "Créer un article par citation avec :\n\n-* La citation dans le corps du texte (entourée de guillemets si nécessaires)\n-* L'auteur dans le sous-titre\n-* Le titre de l'article sert d'accroche pour le lecteur\n");
764                create_mot("_Specialisation_Rubrique", "DessousBreves", "Pour placer une rubrique et ses articles qui sont placés sous les brèves (dans la colonne de droite du site)", "[*Attention*] : une rubrique qui a ce mot clef ne doit pas avoir de sous-rubrique !\n\nLe titre de la rubrique sera affiché sur la droite et la liste de ses articles en dessous.\n\nSeuls les articles sont clicables pour accéder à leur contenu.");
765                create_mot("_Specialisation_Rubrique", "MenuHaut", "Pour qu'un secteur soit dans un menu horizontal en haut du site", "Affecter ce mot clef aux secteurs (rubriques rattachées à la racine du site) qui doivent être dans le menu horizontal en haut du site.");
766                create_mot("_Specialisation_Rubrique", "PasDansMenu", "Pour interdire que la rubrique (et ses sous-rubriques) soi(en)t dans le menu de gauche", "");
767                create_mot("_Specialisation_Rubrique", "PasDansPlan", "Permet de masquer une rubrique, et tout son contenu (y compris les sous-rubriques) du plan du site", "À affecter aux rubriques qui ne doivent pas être affichées dans le plan du site");
768                create_mot("_Specialisation_Rubrique", "SecteurPasDansQuoiDeNeuf", "Pour interdire que les articles d'un secteur entier soit dans «Quoi de Neuf» sur la page d'accueil", "Un secteur, c'est une rubrique rattachée à la racine du site et toutes ses sous-rubriques");
769        create_groupe("_Specialisation_Rubrique_ou_Article", "Spécialisation d'une rubrique ou d'un article", "Un mot clef pris dans ce groupe permettra de modifier\n\n-* le comportement d'une rubrique et de ses articles\n-* le comportement d'un article particulier", 'non', 'non', 'articles,rubriques', 'oui', 'oui', 'non');
770                create_mot("_Specialisation_Rubrique_ou_Article", "PasDansQuoiDeNeuf", "Pour interdire que l'article ou la rubrique soit dans «Quoi de Neuf» sur la page d'accueil", "À mettre soit:\n\n-* pour un article précis\n-* pour une rubrique particulière\n\nRemarque : si elle a des sous rubriques, il faut aussi le faire pour chacunes de celles-ci si on veut les exclure aussi...");
771                create_mot("_Specialisation_Rubrique_ou_Article", "Sommaire", "Pour dire que les articles de cette rubrique ont un sommaire ou que l'article a un sommaire", "Un sommaire automatique sera placé en début d'article.\n\nCe sommaire sera bati à partir des titres et sous-titres du texte de l'article.");
772        // les liaisons entre rubriques et mot clé
773        create_rubrique_mot('000. Fourre-tout', 'SecteurPasDansQuoiDeNeuf', "_Specialisation_Rubrique");
774        create_rubrique_mot('000. Fourre-tout', 'PasDansMenu', "_Specialisation_Rubrique");
775        create_rubrique_mot('000. Fourre-tout', 'PasDansPlan', "_Specialisation_Rubrique");
776        create_rubrique_mot('900. Agenda', 'Agenda', "_Specialisation_Rubrique");
777        create_rubrique_mot('900. Agenda', 'SecteurPasDansQuoiDeNeuf', "_Specialisation_Rubrique");
778        create_rubrique_mot('900. Agenda', 'PasDansMenu', "_Specialisation_Rubrique");
779        create_rubrique_mot('999. Citations', 'SecteurPasDansQuoiDeNeuf', "_Specialisation_Rubrique");
780        create_rubrique_mot('999. Citations', 'PasDansMenu', "_Specialisation_Rubrique");
781        create_rubrique_mot('999. Citations', 'PasDansPlan', "_Specialisation_Rubrique");
782        create_rubrique_mot('999. Citations', 'Citations', "_Specialisation_Rubrique");
783       
784        include_spip('inc/sc_article');
785        $article1 = trouve_article_sc("Premiers pas dans le squelette SoyezCreateurs");
786                create_article($article1, "000. Fourre-tout");
787                create_article_mot($article1['titre'], "000. Fourre-tout", "EDITO", "_Specialisation");
788        $article2 = trouve_article_sc('Partage');
789                create_article($article2, '999. Citations');
790        $article3 = trouve_article_sc('Contact');
791                $id_article3 = create_article($article3, '000. Fourre-tout');
792                create_article_mot($article3['titre'], '000. Fourre-tout', "MENURACINEBAS_Systematique", "_Specialisation");
793        $article4 = trouve_article_sc('Économies');
794                create_article($article4, '999. Citations');
795        $article5 = trouve_article_sc('Concision');
796                create_article($article5, '999. Citations');
797        $article5b = trouve_article_sc('Force');
798                create_article($article5b, '999. Citations');
799        $id_doc = create_document('documents/contact.jpg', 
800                null, 
801                'image',
802                array('titre' => 'Contactez-nous', 'descriptif' => 'Clavier de téléphone...')); 
803        $article6 = trouve_article_sc("Raccourcis Typographiques de SPIP, mode d'emploi");
804                $article6['texte'] = str_replace('<img1', "<img$id_doc>", $article6['texte']);
805                $article6['texte'] = str_replace('<doc1', "<doc$id_doc>", $article6['texte']);
806                create_article($article6, "000. Fourre-tout");
807                create_article_mot($article6['titre'], "000. Fourre-tout", "ALaUne", "_Specialisation");
808       
809        return true;
810}
811?>
Note: See TracBrowser for help on using the repository browser.