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

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

Synchro avec la version pour SPIP 2.1

File size: 43.9 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['nom_site'], $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                                "statut" => $site['statut'] ? $site['statut']:'prop',
575                                "syndication" => $site['url_syndic'] ? 'oui':'non'
576                        ), "id_syndic='$id_syndic'"
577                );
578        } else {
579                $id_site = sql_insertq(
580                        "spip_syndic", array(
581                                "id_rubrique" => $id_rubrique,
582                                "nom_site" => $site['nom_site'],
583                                "url_site" => $site['url_site'],
584                                "url_syndic" => $site['url_syndic'],
585                                "descriptif" => $site['descriptif'],
586                                "statut" => $site['statut'] ? $site['statut']:'prop',
587                                "syndication" => $site['url_syndic'] ? 'oui':'non'
588                        )
589                );
590                include_spip('inc/rubriques');
591                calculer_rubriques();
592                propager_les_secteurs();
593        }
594        return $id_site;
595}
596
597//fonction qui permet de trouver l'id d'un formulaire à partir de l'id textuel
598function id_formidable($identifiant) {
599        $identifiant = addslashes($identifiant);
600        $result = sql_fetsel(
601                "id_formulaire", 
602                "spip_formulaires", 
603                "identifiant='$identifiant'"
604        );
605        $resultat = $result['id_formulaire'];
606        return $resultat;
607}
608
609function create_formidable($formidable) {
610        $id_formulaire = id_formidable($formidable['identifiant']);
611        if ($id_formulaire > 0) {
612                sql_updateq(
613                        "spip_formulaires", array(
614                                "titre" => $formidable['titre'],
615                                "descriptif" => $formidable['descriptif'],
616                                "message_retour" => $formidable['message_retour'],
617                                "saisies" => $formidable['saisies'],
618                                "traitements" => $formidable['traitements'],
619                                "public" => $formidable['public'],
620                                "statut" => $formidable['statut'],
621                                "apres" => $formidable['apres'],
622                                "url_redirect" => $formidable['url_redirect']
623                        ), "id_formulaire='$id_formulaire'"
624                );
625        } else {
626                $id_formulaire = sql_insertq(
627                        "spip_formulaires", array(
628                                "identifiant" => $formidable['identifiant'],
629                                "titre" => $formidable['titre'],
630                                "descriptif" => $formidable['descriptif'],
631                                "message_retour" => $formidable['message_retour'],
632                                "saisies" => $formidable['saisies'],
633                                "traitements" => $formidable['traitements'],
634                                "public" => $formidable['public'],
635                                "statut" => $formidable['statut'],
636                                "apres" => $formidable['apres'],
637                                "url_redirect" => $formidable['url_redirect']
638                        )
639                );
640                include_spip('inc/rubriques');
641        }
642        return $id_formulaire;
643}
644
645//fonction qui permet de trouver des liaisons entre site et mot clé
646function find_site_mot($id_mot, $id_syndic) {
647        $count = sql_countsel(
648                "spip_mots_liens", 
649                "id_mot = $id_mot AND id_objet = $id_syndic AND objet = 'syndic'"
650        );
651        return $count;
652}
653function create_site_mot($id_syndic, $mot, $groupe) {
654        $id_groupe = id_groupe($groupe);
655        $id_mot = id_mot($mot, $id_groupe);
656        $count = find_site_mot($id_mot, $id_rubrique);
657        if ($count == 0) {
658                sql_insertq(
659                        "spip_mots_liens", array(
660                                "id_mot" => $id_mot,
661                                "id_objet" => $id_syndic,
662                                "objet" => 'syndic'
663                        )
664                );
665        }
666        return true;
667}
668
669//fonction qui permet de créer le tout
670function soyezcreateurs_config_motsclefs() {
671        //les rubriques
672        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");
673        create_rubrique('900. Agenda', '0');
674        create_rubrique('999. Citations', '0', "Mettre dans cette rubrique une citation par article");
675        //les groupes puis mots
676        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');
677        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');
678        create_groupe("_ClasseRubriqueMenu", "Pour affecter une classe spécifique aux éléments du menu", "", 'oui', 'non', 'rubriques', 'oui', 'non', 'non');
679                create_mot("_ClasseRubriqueMenu", "separation", "Affecter ce mot clef aux rubriques qui doivent être affichée avec une séparation dans le menu.", "");
680        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');
681                create_mot("_CouleurRubrique", "Bleu", "", "6392A9");
682                create_mot("_CouleurRubrique", "Marron clair", "", "9F7561");
683                create_mot("_CouleurRubrique", "Turkoise pastel", "", "89A699");
684        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');
685                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.", "");
686        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');
687                create_mot("_InformationsLegales", "10. Propriétaire du site", "Mettre les coordonnées du propriétaire du site ci-dessous", "");
688                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");
689                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.");
690                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");
691                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 [Mantalo.net|Création de sites web->http://www.mantalo-conseil.fr/] en utilisant l'outil [SPIP->http://www.spip.net/].\n\n[Mantalo.net|Création de sites web->http://www.mantalo-conseil.fr/] 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.");
692        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');
693                create_mot("_LayoutGala", "01. Three percentage columns", "", "");
694                create_mot("_LayoutGala", "02. Three percentage columns (InverseColor)", "", "");
695                create_mot("_LayoutGala", "03. Three percentage columns (Right)", "", "");
696                create_mot("_LayoutGala", "04. Three percentage columns (Right InverseColor)", "", "");
697                create_mot("_LayoutGala", "05. Three percentage columns (Left)", "", "");
698                create_mot("_LayoutGala", "06. Three percentage columns (Left InverseColor)", "", "");
699                create_mot("_LayoutGala", "07. Three fixed columns", "", "");
700                create_mot("_LayoutGala", "08. Three fixed columns (InverseColor)", "", "");
701                create_mot("_LayoutGala", "09. Three fixed columns (Right)", "", "");
702                create_mot("_LayoutGala", "10. Three fixed columns (Right InverseColor)", "", "");
703                create_mot("_LayoutGala", "11. Three fixed columns (Left)", "", "");
704                create_mot("_LayoutGala", "12. Three fixed columns (Left InverseColor)", "", "");
705                create_mot("_LayoutGala", "13. Liquid, secondary columns fixed-width", "", "");
706                create_mot("_LayoutGala", "14. Liquid, secondary columns fixed-width (InverseColor)", "", "");
707                create_mot("_LayoutGala", "15. Liquid, secondary columns fixed-width (Right)", "", "");
708                create_mot("_LayoutGala", "16. Liquid, secondary columns fixed-width (Right InverseColor)", "", "");
709                create_mot("_LayoutGala", "17. Liquid, secondary columns fixed-width (Left)", "", "");
710                create_mot("_LayoutGala", "18. Liquid, secondary columns fixed-width (Left InverseColor)", "", "");
711                create_mot("_LayoutGala", "19. Liquid, three columns, hybrid widths", "", "");
712                create_mot("_LayoutGala", "20. Liquid, three columns, hybrid widths (InverseColor)", "", "");
713                create_mot("_LayoutGala", "21. Liquid, three columns, hybrid widths (Right)", "", "");
714                create_mot("_LayoutGala", "22. Liquid, three columns, hybrid widths (Right InverseColor)", "", "");
715                create_mot("_LayoutGala", "23. Two columns liquid, side fixed", "", "");
716                create_mot("_LayoutGala", "24. Two columns liquid, side fixed", "", "");
717                create_mot("_LayoutGala", "25. Two percentage columns", "", "");
718                create_mot("_LayoutGala", "26. Two percentage columns", "", "");
719                create_mot("_LayoutGala", "27. One column liquid and two halves", "", "");
720                create_mot("_LayoutGala", "28. One column liquid and two halves (InverseColor)", "", "");
721                create_mot("_LayoutGala", "29. Two percentage columns and one larger", "", "");
722                create_mot("_LayoutGala", "30. Two percentage columns and one larger (Right)", "", "");
723                create_mot("_LayoutGala", "31. Two columns liquid, fixed side and large one", "", "");
724                create_mot("_LayoutGala", "32. Two columns liquid, fixed side and large one (Right)", "", "");
725                create_mot("_LayoutGala", "33. Two colums fixed (Right)", "", "");
726                create_mot("_LayoutGala", "34. Two colums fixed", "", "");
727                create_mot("_LayoutGala", "35. Two colums fixed (ShortLeft)", "", "");
728                create_mot("_LayoutGala", "36. Two colums fixed (ShortRight)", "", "");
729                create_mot("_LayoutGala", "37. Two colums fixed (Right)", "", "");
730                create_mot("_LayoutGala", "38. Two colums fixed", "", "");
731                create_mot("_LayoutGala", "39. One column fixed and two halves (Right)", "", "");
732                create_mot("_LayoutGala", "40. One column fixed and two halves", "", "");
733        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');
734        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');
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_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');
738                create_mot("_ModePortail", "1. Mot1", "", "");
739                create_mot("_ModePortail", "2. Mot2", "", "");
740                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.");
741                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");
742        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');
743                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).");
744                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)", "");
745                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");
746                create_mot("_Specialisation", "DevoilerDate", "Mettre ce mot clef à un article dont on veut afficher la date de publication.", "");
747                create_mot("_Specialisation", "DevoilerIdentite", "Mettre ce mot clef à un article dont on veut afficher le nom du ou des auteurs (au sens de SPIP)", "");
748                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!");
749                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.");
750                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).");
751                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)");
752                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");
753                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.");
754                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.");
755                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.");
756                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");
757                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)");
758        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');
759                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.");
760                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).");
761                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");
762                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.");
763                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.");
764                create_mot("_Specialisation_Rubrique", "PasDansMenu", "Pour interdire que la rubrique (et ses sous-rubriques) soi(en)t dans le menu de gauche", "");
765                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");
766                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");
767        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');
768                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...");
769                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.");
770        // les liaisons entre rubriques et mot clé
771        create_rubrique_mot('000. Fourre-tout', 'SecteurPasDansQuoiDeNeuf', "_Specialisation_Rubrique");
772        create_rubrique_mot('000. Fourre-tout', 'PasDansMenu', "_Specialisation_Rubrique");
773        create_rubrique_mot('000. Fourre-tout', 'PasDansPlan', "_Specialisation_Rubrique");
774        create_rubrique_mot('900. Agenda', 'Agenda', "_Specialisation_Rubrique");
775        create_rubrique_mot('900. Agenda', 'SecteurPasDansQuoiDeNeuf', "_Specialisation_Rubrique");
776        create_rubrique_mot('900. Agenda', 'PasDansMenu', "_Specialisation_Rubrique");
777        create_rubrique_mot('999. Citations', 'SecteurPasDansQuoiDeNeuf', "_Specialisation_Rubrique");
778        create_rubrique_mot('999. Citations', 'PasDansMenu', "_Specialisation_Rubrique");
779        create_rubrique_mot('999. Citations', 'PasDansPlan', "_Specialisation_Rubrique");
780        create_rubrique_mot('999. Citations', 'Citations', "_Specialisation_Rubrique");
781       
782        include_spip('inc/sc_article');
783        $article1 = trouve_article_sc("Premiers pas dans le squelette SoyezCreateurs");
784                create_article($article1, "000. Fourre-tout");
785                create_article_mot($article1['titre'], "000. Fourre-tout", "EDITO", "_Specialisation");
786        $article2 = trouve_article_sc('Partage');
787                create_article($article2, '999. Citations');
788        $article3 = trouve_article_sc('Contact');
789                $id_article3 = create_article($article3, '000. Fourre-tout');
790                create_article_mot($article3['titre'], '000. Fourre-tout', "MENURACINEBAS_Systematique", "_Specialisation");
791        $article4 = trouve_article_sc('Économies');
792                create_article($article4, '999. Citations');
793        $article5 = trouve_article_sc('Concision');
794                create_article($article5, '999. Citations');
795        $article5b = trouve_article_sc('Force');
796                create_article($article5b, '999. Citations');
797        $id_doc = create_document('documents/contact.jpg', 
798                null, 
799                'image',
800                array('titre' => 'Contactez-nous', 'descriptif' => 'Clavier de téléphone...')); 
801        $article6 = trouve_article_sc("Raccourcis Typographiques de SPIP, mode d'emploi");
802                $article6['texte'] = str_replace('<img1', "<img$id_doc>", $article6['texte']);
803                $article6['texte'] = str_replace('<doc1', "<doc$id_doc>", $article6['texte']);
804                create_article($article6, "000. Fourre-tout");
805                create_article_mot($article6['titre'], "000. Fourre-tout", "ALaUne", "_Specialisation");
806       
807        return true;
808}
809?>
Note: See TracBrowser for help on using the repository browser.