[PLUGINS] +pages
authorLudovic CHEVALIER <tenshi20@no-log.org>
Wed, 12 Feb 2014 13:50:27 +0000 (14:50 +0100)
committerLudovic CHEVALIER <tenshi20@no-log.org>
Wed, 12 Feb 2014 13:50:27 +0000 (14:50 +0100)
37 files changed:
www/plugins/pages/base/pages_tables.php [new file with mode: 0644]
www/plugins/pages/content/articles-resume.html [new file with mode: 0644]
www/plugins/pages/formulaires/editer_identifiant_page.html [new file with mode: 0644]
www/plugins/pages/formulaires/editer_identifiant_page.php [new file with mode: 0644]
www/plugins/pages/images/page-128.png [new file with mode: 0644]
www/plugins/pages/lang/pages.xml [new file with mode: 0644]
www/plugins/pages/lang/pages_ar.php [new file with mode: 0644]
www/plugins/pages/lang/pages_en.php [new file with mode: 0644]
www/plugins/pages/lang/pages_es.php [new file with mode: 0644]
www/plugins/pages/lang/pages_fa.php [new file with mode: 0644]
www/plugins/pages/lang/pages_fr.php [new file with mode: 0644]
www/plugins/pages/lang/pages_nl.php [new file with mode: 0644]
www/plugins/pages/lang/pages_ru.php [new file with mode: 0644]
www/plugins/pages/lang/pages_sk.php [new file with mode: 0644]
www/plugins/pages/lang/paquet-pages.xml [new file with mode: 0644]
www/plugins/pages/lang/paquet-pages_ar.php [new file with mode: 0644]
www/plugins/pages/lang/paquet-pages_en.php [new file with mode: 0644]
www/plugins/pages/lang/paquet-pages_es.php [new file with mode: 0644]
www/plugins/pages/lang/paquet-pages_fa.php [new file with mode: 0644]
www/plugins/pages/lang/paquet-pages_fr.php [new file with mode: 0644]
www/plugins/pages/lang/paquet-pages_nl.php [new file with mode: 0644]
www/plugins/pages/lang/paquet-pages_ru.php [new file with mode: 0644]
www/plugins/pages/lang/paquet-pages_sk.php [new file with mode: 0644]
www/plugins/pages/pages_administrations.php [new file with mode: 0644]
www/plugins/pages/pages_pipelines.php [new file with mode: 0644]
www/plugins/pages/paquet.xml [new file with mode: 0644]
www/plugins/pages/prive/objets/editer/identifiant_page.html [new file with mode: 0644]
www/plugins/pages/prive/squelettes/contenu/pages_tous.html [new file with mode: 0644]
www/plugins/pages/prive/squelettes/navigation/pages_tous.html [new file with mode: 0644]
www/plugins/pages/prive/themes/spip/images/page-16.png [new file with mode: 0644]
www/plugins/pages/prive/themes/spip/images/page-24.png [new file with mode: 0644]
www/plugins/pages/prive/themes/spip/images/page-32.png [new file with mode: 0644]
www/plugins/pages/prive/themes/spip/images/page-new-16.png [new file with mode: 0644]
www/plugins/pages/saisies-vues/pages_uniques.html [new file with mode: 0644]
www/plugins/pages/saisies/pages_uniques.html [new file with mode: 0644]
www/plugins/pages/svn.revision [new file with mode: 0644]
www/plugins/skel_ptitvelo/paquet.xml

diff --git a/www/plugins/pages/base/pages_tables.php b/www/plugins/pages/base/pages_tables.php
new file mode 100644 (file)
index 0000000..47fdabd
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+#---------------------------------------------------#
+#  Plugin  : Pages                                  #
+#  Auteur  : RastaPopoulos                          #
+#  Licence : GPL                                    #
+#--------------------------------------------------------------- -#
+#  Documentation : http://www.spip-contrib.net/Plugin-Pages       #
+#-----------------------------------------------------------------#
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+function pages_declarer_tables_objets_sql($tables){
+       
+       $tables['spip_articles']['field']['page'] = "VARCHAR(255) DEFAULT '' NOT NULL";
+       return $tables;
+
+}
+
+?>
diff --git a/www/plugins/pages/content/articles-resume.html b/www/plugins/pages/content/articles-resume.html
new file mode 100644 (file)
index 0000000..b3d1f9f
--- /dev/null
@@ -0,0 +1,12 @@
+<B_articles>
+<div class="liste resume articles">
+       #ANCRE_PAGINATION
+       <h2 class="h2">[(#ENV{titre,<:derniers_articles:>})]</h2>
+       <ul class="liste-items">
+               <BOUCLE_articles(ARTICLES){id_rubrique?} {id_rubrique >= 0} {!par date} {pagination #ENV{nb,5}}>
+               #INCLURE{fond=inclure/article-resume,id_article}
+               </BOUCLE_articles>
+       </ul>
+       [<p class="pagination">(#PAGINATION)</p>]
+</div>
+</B_articles>
diff --git a/www/plugins/pages/formulaires/editer_identifiant_page.html b/www/plugins/pages/formulaires/editer_identifiant_page.html
new file mode 100644 (file)
index 0000000..94b725b
--- /dev/null
@@ -0,0 +1,40 @@
+<div class="formulaire_spip formulaire_dater formulaire_#FORM formulaire_#FORM-#ENV{objet}-#ENV{id,nouveau}">
+       [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+       [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
+       [(#ENV{editable})
+       <form method='post' action='#ENV{action}'><div>
+               [(#REM) declarer les hidden qui declencheront le service du formulaire
+               parametre : url d'action ]
+               #ACTION_FORMULAIRE{#ENV{action}}
+       ]
+               <ul>
+                       #SET{name,champ_page} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} #SET{obli,''}
+                       <li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+                               <label for="champ_#GET{name}"><:pages:label_champ_page:></label>
+                               [<span class="erreur_message">(#GET{erreurs})</span>]
+                               <span[ (#ENV{#GET{name}}|oui)class="affiche"][(#ENV{_saisie_en_cours}|oui)style="display:none;"]>
+                                       [(#ENV{#GET{name}}|sinon{<em><:pagesbis:info_aucun_champ_page:></em>})]
+                               </span>
+       [(#ENV{editable})
+                               <span class="toggle_box_link"[(#ENV{_saisie_en_cours}|oui)style="display:none;"]>
+                                       &#91;<a href="#"
+                                               onclick="var f=jQuery(this).parents('form').eq(0);f.find('li .input').show('fast').siblings('span').hide('fast');f.find('.boutons').show('fast');f.find('input.page').eq(0).focus();return false;"><:bouton_changer:></a>&#93;
+                               </span>
+                               <span class="input"[(#ENV{_saisie_en_cours}|non)style="display:none;"]>
+                                       <input type="text" class="text page" name="#GET{name}" id="champ_#GET{name}" value="#ENV{#GET{name}}" size="40"/>
+                               </span>
+       ]
+                       </li>
+               </ul>
+       [(#ENV{editable})
+       [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
+       <!--extra-->
+       <p class='boutons'[(#ENV{_saisie_en_cours}|non)style="display:none;"]>
+                       <span class='image_loading'>&nbsp;</span>
+                       <input type='submit' class='over' name='changer' value='<:bouton_changer:>' />
+                       <input type='submit' class='submit' name='annuler' value='<:bouton_annuler:>' />
+                       <input type='submit' class='submit' name='changer' value='<:bouton_changer:>' />
+               </p>
+       </div></form>
+       ]
+</div>
diff --git a/www/plugins/pages/formulaires/editer_identifiant_page.php b/www/plugins/pages/formulaires/editer_identifiant_page.php
new file mode 100644 (file)
index 0000000..65de5fc
--- /dev/null
@@ -0,0 +1,78 @@
+<?php
+/**
+ * Editer l'identifiant page d'un article
+ *
+ * @plugin     Pages Uniques
+ * @copyright  2013
+ * @author     RastaPopoulos
+ * @licence    GNU/GPL
+ * @package    SPIP\Pages\Formulaires
+ */
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+function formulaires_editer_identifiant_page_charger($id_article, $retour=''){
+       $valeurs['champ_page'] = generer_info_entite($id_article,'article','page');
+       $valeurs['_saisie_en_cours'] = (_request('champ_page')!==null);
+       return $valeurs;
+}
+
+/**
+ * Identifier le formulaire en faisant abstraction des parametres qui
+ * ne representent pas l'objet edite
+ */
+function formulaires_editer_identifiant_page_identifier_dist($id_article, $retour=''){
+       return serialize(array('article', $id_article));
+}
+
+/**
+ * Verification avant traitement
+ *
+ * @param integer $id_article
+ * @param string $retour
+ * @return Array Tableau des erreurs
+ */
+function formulaires_editer_identifiant_page_verifier_dist($id_article, $retour=''){
+       $erreurs = array();
+/*
+       if ($page = _request('champ_page')) {
+               // nombre de charactères : 40 max
+               if (strlen($page) > 40)
+                        $erreurs['champ_page'] = _T('pages:erreur_champ_page_taille');
+               // format : charactères alphanumériques en minuscules ou "_"
+               elseif (!preg_match('/^[a-z0-9_]+$/', $page))
+                        $erreurs['champ_page'] = _T('pages:erreur_champ_page_format');
+               // doublon
+               elseif (sql_countsel(table_objet_sql('article'), "page=".sql_quote($page) . " AND id_article!=".intval($id_article)))
+                       $erreurs['champ_page'] = _T('pages:erreur_champ_page_doublon');
+       }
+*/
+       return $erreurs;
+}
+
+/**
+ * Traitement 
+ *
+ * @param integer $id_article
+ * @param string $retour
+ * @return Array
+ */
+function formulaires_editer_identifiant_page_traiter_dist($id_article, $retour=''){
+
+       if (
+               _request('changer')
+               and $page = _request('champ_page')
+       ) {
+               include_spip('action/editer_objet');
+               objet_modifier('article',$id_article,array('page'=>$page));
+       }
+
+       set_request('champ_page');
+       $res['editable'] = true;
+       if ($retour)
+               $res['redirect'] = $retour;
+
+       return $res;
+}
+
+?>
diff --git a/www/plugins/pages/images/page-128.png b/www/plugins/pages/images/page-128.png
new file mode 100644 (file)
index 0000000..eedf501
Binary files /dev/null and b/www/plugins/pages/images/page-128.png differ
diff --git a/www/plugins/pages/lang/pages.xml b/www/plugins/pages/lang/pages.xml
new file mode 100644 (file)
index 0000000..b8b3676
--- /dev/null
@@ -0,0 +1,26 @@
+<traduction module="pages" gestionnaire="salvatore" url="http://trad.spip.net" source="svn://zone.spip.org/spip-zone/_plugins_/pages/trunk/lang/" reference="fr">
+       <langue code="ar" url="http://trad.spip.net/tradlang_module/pages?lang_cible=ar" total="12" traduits="6" relire="0" modifs="2" nouveaux="4" pourcent="50.00">
+               <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
+       </langue>
+       <langue code="en" url="http://trad.spip.net/tradlang_module/pages?lang_cible=en" total="12" traduits="12" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+               <traducteur nom="drBouvierLeduc" lien="http://trad.spip.net/auteur/drbouvierleduc" />
+               <traducteur nom="Hanjo" lien="http://trad.spip.net/auteur/hanjo" />
+       </langue>
+       <langue code="es" url="http://trad.spip.net/tradlang_module/pages?lang_cible=es" total="12" traduits="12" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+               <traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel-s-bujaldon" />
+       </langue>
+       <langue code="fa" url="http://trad.spip.net/tradlang_module/pages?lang_cible=fa" total="12" traduits="6" relire="0" modifs="2" nouveaux="4" pourcent="50.00">
+               <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
+       </langue>
+       <langue code="fr" url="http://trad.spip.net/tradlang_module/pages?lang_cible=fr" total="12" traduits="12" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+       </langue>
+       <langue code="nl" url="http://trad.spip.net/tradlang_module/pages?lang_cible=nl" total="12" traduits="12" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+               <traducteur nom="Hanjo" lien="http://trad.spip.net/auteur/hanjo" />
+       </langue>
+       <langue code="ru" url="http://trad.spip.net/tradlang_module/pages?lang_cible=ru" total="12" traduits="6" relire="0" modifs="2" nouveaux="4" pourcent="50.00">
+               <traducteur nom="Serge Markitanenko" lien="http://trad.spip.net/auteur/serge-markitanenko" />
+       </langue>
+       <langue code="sk" url="http://trad.spip.net/tradlang_module/pages?lang_cible=sk" total="12" traduits="12" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+               <traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
+       </langue>
+</traduction>
diff --git a/www/plugins/pages/lang/pages_ar.php b/www/plugins/pages/lang/pages_ar.php
new file mode 100644 (file)
index 0000000..c8b1af8
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/pages?lang_cible=ar
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // A
+       'aucune_page' => 'لا توجد صفحات في هذه اللحظة.', # MODIF
+
+       // C
+       'convertir_article' => 'تحويل الى مقال',
+       'convertir_page' => 'تحويل الى صفحة',
+       'creer_page' => 'إنشاء صفحة جديدة',
+
+       // M
+       'modifier_page' => 'تغيير الصفحة :', # MODIF
+
+       // P
+       'pages_uniques' => 'صفحات فريدة',
+
+       // T
+       'titre_page' => 'صفحة',
+       'toutes_les_pages' => 'كل الصفحات'
+);
+
+?>
diff --git a/www/plugins/pages/lang/pages_en.php b/www/plugins/pages/lang/pages_en.php
new file mode 100644 (file)
index 0000000..3c9900a
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/pages?lang_cible=en
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // A
+       'aucune_page' => 'There are no pages at the moment.',
+
+       // C
+       'convertir_article' => 'Convert to an article',
+       'convertir_page' => 'Convert to a page',
+       'creer_page' => 'Create a new page',
+
+       // E
+       'erreur_champ_page_doublon' => 'That ID is already in use',
+       'erreur_champ_page_format' => 'Lowercase alphanumerical characters or "_" only',
+       'erreur_champ_page_taille' => 'Up to 255 characters max',
+
+       // L
+       'label_champ_page' => 'Page :',
+
+       // M
+       'modifier_page' => 'Edit page:',
+
+       // P
+       'pages_uniques' => 'Unique pages',
+
+       // T
+       'titre_page' => 'Page',
+       'toutes_les_pages' => 'All pages'
+);
+
+?>
diff --git a/www/plugins/pages/lang/pages_es.php b/www/plugins/pages/lang/pages_es.php
new file mode 100644 (file)
index 0000000..8b38c1b
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/pages?lang_cible=es
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // A
+       'aucune_page' => 'No hay ninguna página por el momento.',
+
+       // C
+       'convertir_article' => 'Convertir en artículo',
+       'convertir_page' => 'Convertir en página',
+       'creer_page' => 'Crear una nueva página',
+
+       // E
+       'erreur_champ_page_doublon' => 'Este identificador ya existe',
+       'erreur_champ_page_format' => 'Caracteres alfanuméricos en minúsculas o "_" únicamente',
+       'erreur_champ_page_taille' => '255 caracteres máximo',
+
+       // L
+       'label_champ_page' => 'Página:',
+
+       // M
+       'modifier_page' => 'Modificar la página:',
+
+       // P
+       'pages_uniques' => 'Páginas únicas',
+
+       // T
+       'titre_page' => 'Página',
+       'toutes_les_pages' => 'Todas las páginas'
+);
+
+?>
diff --git a/www/plugins/pages/lang/pages_fa.php b/www/plugins/pages/lang/pages_fa.php
new file mode 100644 (file)
index 0000000..ec5a92f
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/pages?lang_cible=fa
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // A
+       'aucune_page' => ' براي الأن هيچ صفحه‌ي نيست', # MODIF
+
+       // C
+       'convertir_article' => 'تبديل به يك مقاله',
+       'convertir_page' => 'تبديل به يك صفحه',
+       'creer_page' => 'آفرينش يك صفحه‌ي نو',
+
+       // M
+       'modifier_page' => 'اصلاح صفحه: ', # MODIF
+
+       // P
+       'pages_uniques' => 'صفحه‌هاي تك',
+
+       // T
+       'titre_page' => 'صفحه',
+       'toutes_les_pages' => 'تمام صفه‌ها'
+);
+
+?>
diff --git a/www/plugins/pages/lang/pages_fr.php b/www/plugins/pages/lang/pages_fr.php
new file mode 100644 (file)
index 0000000..d4a286d
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/pages/trunk/lang/
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // A
+       'aucune_page' => 'Il n’y a aucune page pour l’instant.',
+
+       // C
+       'convertir_article' => 'Convertir en article',
+       'convertir_page' => 'Convertir en page',
+       'creer_page' => 'Créer une nouvelle page',
+
+       // E
+       'erreur_champ_page_doublon' => 'Cet identifiant existe déjà',
+       'erreur_champ_page_format' => 'Charactères alphanumériques en minuscules ou "_" uniquement',
+       'erreur_champ_page_taille' => '255 charactères maximum',
+
+       // L
+       'label_champ_page' => 'Page :',
+
+       // M
+       'modifier_page' => 'Modifier la page :',
+
+       // P
+       'pages_uniques' => 'Pages uniques',
+
+       // T
+       'titre_page' => 'Page',
+       'toutes_les_pages' => 'Toutes les pages'
+);
+
+?>
diff --git a/www/plugins/pages/lang/pages_nl.php b/www/plugins/pages/lang/pages_nl.php
new file mode 100644 (file)
index 0000000..b0d85e0
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/pages?lang_cible=nl
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // A
+       'aucune_page' => 'Er is momenteel geen enkele bladzijde.',
+
+       // C
+       'convertir_article' => 'In een artikel omzetten',
+       'convertir_page' => 'In een bladzijde omzetten',
+       'creer_page' => 'Een nieuwe bladzijde maken',
+
+       // E
+       'erreur_champ_page_doublon' => 'Deze identificatie bestaat al',
+       'erreur_champ_page_format' => 'Uitsluitend kleine letters, cijfers of "_"',
+       'erreur_champ_page_taille' => 'maximaal 255 tekens',
+
+       // L
+       'label_champ_page' => 'Bladzijde:',
+
+       // M
+       'modifier_page' => 'Aanpassen van bladzijde:',
+
+       // P
+       'pages_uniques' => 'Unieke bladzijdes',
+
+       // T
+       'titre_page' => 'Bladzijde',
+       'toutes_les_pages' => 'Alle bladzijdes'
+);
+
+?>
diff --git a/www/plugins/pages/lang/pages_ru.php b/www/plugins/pages/lang/pages_ru.php
new file mode 100644 (file)
index 0000000..90c1053
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/pages?lang_cible=ru
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // A
+       'aucune_page' => 'Пока нет страниц.', # MODIF
+
+       // C
+       'convertir_article' => 'Преобразовать в статью',
+       'convertir_page' => 'Преобразовать в страницу',
+       'creer_page' => 'Новая страница',
+
+       // M
+       'modifier_page' => 'Изменить страницу:', # MODIF
+
+       // P
+       'pages_uniques' => 'Отдельные страницы',
+
+       // T
+       'titre_page' => 'Страница',
+       'toutes_les_pages' => 'Все страницы'
+);
+
+?>
diff --git a/www/plugins/pages/lang/pages_sk.php b/www/plugins/pages/lang/pages_sk.php
new file mode 100644 (file)
index 0000000..ac4220c
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/pages?lang_cible=sk
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // A
+       'aucune_page' => 'Momentálne tu nie je žiadna stránka.',
+
+       // C
+       'convertir_article' => 'Zmeniť na článok',
+       'convertir_page' => 'Zmeniť na stránku',
+       'creer_page' => 'Vytvoriť novú stránku',
+
+       // E
+       'erreur_champ_page_doublon' => 'Tento identifikátor už existuje',
+       'erreur_champ_page_format' => 'Malé písmená alebo jeden "_"',
+       'erreur_champ_page_taille' => 'Maximum je 255 znakov',
+
+       // L
+       'label_champ_page' => 'Stránka:',
+
+       // M
+       'modifier_page' => 'Upraviť stránku:',
+
+       // P
+       'pages_uniques' => 'Jedinečné stránky',
+
+       // T
+       'titre_page' => 'Stránka',
+       'toutes_les_pages' => 'Všetky stránky'
+);
+
+?>
diff --git a/www/plugins/pages/lang/paquet-pages.xml b/www/plugins/pages/lang/paquet-pages.xml
new file mode 100644 (file)
index 0000000..1dbb464
--- /dev/null
@@ -0,0 +1,23 @@
+<traduction module="paquet-pages" gestionnaire="salvatore" url="http://trad.spip.net" source="svn://zone.spip.org/spip-zone/_plugins_/pages/trunk/lang/" reference="fr">
+       <langue code="ar" url="http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=ar" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+       </langue>
+       <langue code="en" url="http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=en" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+       </langue>
+       <langue code="es" url="http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=es" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+               <traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel-s-bujaldon" />
+       </langue>
+       <langue code="fa" url="http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=fa" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+               <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
+       </langue>
+       <langue code="fr" url="http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=fr" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+       </langue>
+       <langue code="nl" url="http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=nl" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+               <traducteur nom="Hanjo" lien="http://trad.spip.net/auteur/hanjo" />
+       </langue>
+       <langue code="ru" url="http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=ru" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+               <traducteur nom="Serge Markitanenko" lien="http://trad.spip.net/auteur/serge-markitanenko" />
+       </langue>
+       <langue code="sk" url="http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=sk" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
+               <traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
+       </langue>
+</traduction>
diff --git a/www/plugins/pages/lang/paquet-pages_ar.php b/www/plugins/pages/lang/paquet-pages_ar.php
new file mode 100644 (file)
index 0000000..93f5e6f
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=ar
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // P
+       'pages_description' => 'هذا البرنامج المساعد يسمح لك إنشاء صفحات من البنود التي لا ترتبط بأي تسلسل معين. بيد أنها قد تترافق مع اسم القالب
+يأذن للإنشاء صفحة من المعلومات القانونية ، من نحن ، اتصال ، وما إلى ذلك.
+',
+       'pages_slogan' => ' '
+);
+
+?>
diff --git a/www/plugins/pages/lang/paquet-pages_en.php b/www/plugins/pages/lang/paquet-pages_en.php
new file mode 100644 (file)
index 0000000..763b2bf
--- /dev/null
@@ -0,0 +1,18 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=en
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // P
+       'pages_description' => 'This plugin allows you to create pages of articles that are not linked to any particular hierarchy.
+However they may be associated with a name template.
+This allows the creation of pages of legal information, about, contact, etc..
+',
+       'pages_slogan' => 'Unlinked pages'
+);
+
+?>
diff --git a/www/plugins/pages/lang/paquet-pages_es.php b/www/plugins/pages/lang/paquet-pages_es.php
new file mode 100644 (file)
index 0000000..40b6eb7
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=es
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // P
+       'pages_description' => 'Este plugin permite crear páginas de artículos que no están asociadas a ninguna jerarquía particular.
+Por contra, pueden asociarse a un nombre de esqueleto. Ello permite crear páginas de aviso legal, acerca de, contacto, etc.',
+       'pages_slogan' => 'Páginas sin sección'
+);
+
+?>
diff --git a/www/plugins/pages/lang/paquet-pages_fa.php b/www/plugins/pages/lang/paquet-pages_fa.php
new file mode 100644 (file)
index 0000000..bb4d42b
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=fa
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // P
+       'pages_description' => 'اين پلاگين اجازه‌ي ايجاد صفحه‌هاي مقاله‌هايي را مي‌دهد كه به هيچ سلسله مراتبي متكي نيستند. 
+در عضو مي‌توانند به نام يك اسلكت مرتبط شوند. 
+اين پلاگين اجازه‌ي ايجاد صفحه‌هايي مانند اطلاعات حقوقي، در باره‌ي ما، تماس با ما و غيره را خواهد داد.',
+       'pages_slogan' => 'صفحه‌هاي بدون بخش'
+);
+
+?>
diff --git a/www/plugins/pages/lang/paquet-pages_fr.php b/www/plugins/pages/lang/paquet-pages_fr.php
new file mode 100644 (file)
index 0000000..672ddd0
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/pages/trunk/lang/
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // P
+       'pages_description' => 'Ce plugin permet de créer des pages d’articles qui ne sont reliées à aucune hiérarchie particulière.
+En revanche elles peuvent être associées à un nom de squelette.
+Cela permet notamment de créer des pages de notice légale, d’à-propos, de contact, etc.',
+       'pages_slogan' => 'Des pages sans rubrique'
+);
+
+?>
diff --git a/www/plugins/pages/lang/paquet-pages_nl.php b/www/plugins/pages/lang/paquet-pages_nl.php
new file mode 100644 (file)
index 0000000..645f1d4
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=nl
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // P
+       'pages_description' => 'Met deze plugin kun je bladzijdes met artikelen maken die niet in de hiërarchie van de site zijn opgenomen.
+Ze kunnen worden gekoppeld aan de naam van een skelet.
+Op deze manier kunnen bladzijdes zoals wettelijke vermeldingen, contactinformatie, disclaimers, enz. worden gemaakt.',
+       'pages_slogan' => 'Bladzijdes zonder rubriek'
+);
+
+?>
diff --git a/www/plugins/pages/lang/paquet-pages_ru.php b/www/plugins/pages/lang/paquet-pages_ru.php
new file mode 100644 (file)
index 0000000..70ac5ea
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=ru
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // P
+       'pages_description' => 'Данный плагин позволяет создавать отдельные страницы вне любых разделов сайта. Это отличное решения для размещения контактной информации, условий и правил использования, а так же для любой информации, которая логически не встраивается в структуру сайта.
+Cela permet notamment de créer des pages de notice légale, d’à-propos, de contact, etc.',
+       'pages_slogan' => 'Отдельные страницы'
+);
+
+?>
diff --git a/www/plugins/pages/lang/paquet-pages_sk.php b/www/plugins/pages/lang/paquet-pages_sk.php
new file mode 100644 (file)
index 0000000..b2917f6
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-pages?lang_cible=sk
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // P
+       'pages_description' => 'Tento zásuvný modul vám umožňuje vytvárať stránky s článkami, ktoré nemajú žiadnu konkrétnu hierarchickú štruktúru.
+Môžete ich však prepojiť s názvom šablóny.
+To vám umožňuje vytvárať stránky s informáciami právneho charakteru, časové osi, zmluvy, a i.',
+       'pages_slogan' => 'Stránky bez rubriky'
+);
+
+?>
diff --git a/www/plugins/pages/pages_administrations.php b/www/plugins/pages/pages_administrations.php
new file mode 100644 (file)
index 0000000..e7f7e2d
--- /dev/null
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Fichier gérant l'installation et désinstallation du plugin Pages Uniques
+ *
+ * @plugin     Pages
+ * @copyright  2013
+ * @author     RastaPopoulos 
+ * @licence    GNU/GPL
+ * @package    SPIP\Pages\Installation
+ * @link       http://www.spip-contrib.net/Plugin-Pages
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+
+/**
+ * Fonction d'installation et de mise à jour du plugin
+ *
+ * @param string $nom_meta_base_version
+ *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
+ * @param string $version_cible
+ *     Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
+ * @return void
+**/
+function pages_upgrade($nom_meta_base_version, $version_cible) {
+       $maj = array();
+
+       $maj['create'] = array(
+               array('maj_tables', 'spip_articles')
+       );
+       $maj['1.0.1'] = array(
+               array('sql_alter', "TABLE spip_articles CHANGE page page VARCHAR(255) DEFAULT '' NOT NULL"),
+       );
+
+       include_spip('base/upgrade');
+       maj_plugin($nom_meta_base_version, $version_cible, $maj);
+}
+
+
+/**
+ * Fonction de désinstallation du plugin
+ * Supprimer la colonne 'page' du plugin
+ *
+ * @param string $nom_meta_base_version
+ *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
+ * @return void
+**/
+function pages_vider_tables($nom_meta_base_version) {
+       sql_alter("TABLE spip_articles DROP page");
+       effacer_meta($nom_meta_base_version);
+}
+
+
+?>
diff --git a/www/plugins/pages/pages_pipelines.php b/www/plugins/pages/pages_pipelines.php
new file mode 100644 (file)
index 0000000..2c496c5
--- /dev/null
@@ -0,0 +1,278 @@
+<?php
+/**
+ * Plugin Pages
+ * 
+ * @author Rastapopoulos
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @link http://www.spip-contrib.net/Plugin-Pages Documentation
+ * @package SPIP\Pages\Pipelines
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+// Change l'entête du formulaire des articles pour montrer que c'est une page
+function pages_affiche_milieu_ajouter_page($flux){
+
+       if ($flux['args']['exec'] == 'article_edit'){
+               include_spip('base/abstract_sql');
+               if (
+                       _request('modele') == 'page'
+                       or
+                       (
+                               ($id_article = $flux['args']['id_article']) > 0
+                               and
+                               (sql_getfetsel('page', 'spip_articles', 'id_article='.sql_quote($id_article)))
+                       )
+               )
+               {
+                       
+                       // On cherche et remplace l'entete de la page : "modifier la page"
+                       $cherche = "/(<div[^>]*class=('|\")entete-formulaire.*?<\/span>).*?(<h1>.*?<\/h1>.*?<\/div>)/is";
+                       $surtitre = _T('pages:modifier_page');
+                       $remplace = "$1$surtitre$3";
+                       $flux['data'] = preg_replace($cherche, $remplace, $flux['data']);
+                       
+                       // Si c'est une nouvelle page, on remplace le lien de retour dans l'entete
+                       if (_request('new') == 'oui'){
+                               $cherche = "/(<span[^>]*class=(?:'|\")icone[^'\"]*retour[^'\"]*(?:'|\")>"
+                                        . "<a[^>]*href=(?:'|\"))[^'\"]*('|\")/is";
+                               $retour = generer_url_ecrire("pages_tous");
+                               $remplace = "$1$retour$2";
+                               $flux['data'] = preg_replace($cherche, $remplace, $flux['data']);
+                       
+                       }
+               
+               }
+       
+       }
+       
+       return $flux;
+
+}
+
+
+/**
+ * Saisie de l'identifiant de la page sur la fiche d'une page
+ * 
+ * @param array $flux
+ *             Le contexte du pipeline
+ * @return array $flux
+ *             Le contexte du pipeline modifié
+ */
+function pages_affiche_milieu_identifiant($flux){
+       $texte = "";
+       $e = trouver_objet_exec($flux['args']['exec']);
+
+       // Si on est sur la fiche d'un article...
+       if (!$e['edition'] and $e['type']=='article' ) {
+               include_spip('base/abstract_sql');
+               $id_article = isset($flux['args'][$e['id_table_objet']]) ? $flux['args'][$e['id_table_objet']] : false;
+               // ... et s'il s'agit d'une page
+               if (
+                       _request('modele') == 'page'
+                       or
+                       (
+                               $id_article > 0
+                               and
+                               (sql_getfetsel('page', 'spip_articles', 'id_article='.sql_quote($id_article)))
+                       )
+               ) {
+                       $texte .= recuperer_fond('prive/objets/editer/identifiant_page',
+                               array('id_article' => $id_article),
+                               array('ajax'=>true)
+                       );
+               }
+       }
+
+       if ($texte) {
+               if ($p=strpos($flux['data'],"<!--affiche_milieu-->"))
+                       $flux['data'] = substr_replace($flux['data'],$texte,$p,0);
+               else
+                       $flux['data'] .= $texte;
+       }
+
+       return $flux;
+}
+
+
+// Vérifier que la page n'est pas vide
+function pages_formulaire_charger($flux){
+
+       // Si on est dans l'édition d'un article
+       if (is_array($flux) and $flux['args']['form'] == 'editer_article'){
+       
+               // Si on est dans un article de modele page
+               if (_request('modele') == 'page' or ($flux['data']['page'] and _request('modele') != 'article')){
+                       $flux['data']['modele'] = 'page';
+                       $flux['data']['champ_page'] = $flux['data']['page'];
+               }
+               unset($flux['data']['page']);
+       }
+       
+       return $flux;
+
+}
+
+
+/**
+ * Vérifications de l'identifiant d'une page
+ * 
+ * @param array $flux
+ *             Le contexte du pipeline
+ * @return array $flux
+ *             Le contexte du pipeline modifié
+ */
+function pages_formulaire_verifier($flux){
+
+       // Si on est dans l'édition d'un article/page ou dans le formulaire d'édition d'un identifiant page
+       if ( 
+               is_array($flux)
+               and (
+                       ( $flux['args']['form'] == 'editer_article' and _request('modele') == 'page' )
+                       or $flux['args']['form'] == 'editer_identifiant_page'
+               )
+       ){
+               $erreur = '';
+               $page = _request('champ_page');
+               $id_page = $flux['args']['args'][0];
+
+               // champ vide
+               if (!$page)
+                       $erreur .= _T('info_obligatoire');
+               // nombre de charactères : 40 max
+               elseif (strlen($page) > 255)
+                        $erreur = _T('pages:erreur_champ_page_taille');
+               // format : charactères alphanumériques en minuscules ou "_"
+               elseif (!preg_match('/^[a-z0-9_]+$/', $page))
+                        $erreur = _T('pages:erreur_champ_page_format');
+               // doublon
+               elseif (sql_countsel(table_objet_sql('article'), "page=".sql_quote($page) . " AND id_article!=".intval($id_page)))
+                       $erreur = _T('pages:erreur_champ_page_doublon');
+
+               if ($erreur)
+                       $flux['data']['champ_page'] .= $erreur;
+       }
+       return $flux;
+
+}
+
+
+/**
+ * Insertion dans le pipeline editer_contenu_objet (SPIP)
+ * 
+ * Sur les articles considérés comme pages uniques, on remplace l'élément de choix de rubriques par :
+ * -* un input hidden id_rubrique et id_parent avec pour valeur -1
+ * -* un input hidden modele avec comme valeur "page"
+ * -* un champ d'édition de l'identifiant de la page unique
+ * 
+ * @param array $flux
+ *             Le contexte du pipeline
+ * @return array $flux
+ *             Le contexte du pipeline modifié
+ */
+function pages_editer_contenu_objet($flux){
+       $args = $flux['args'];
+       if ($args['type'] == 'article' && isset($args['contexte']['modele']) && $args['contexte']['modele'] == 'page'){
+               $erreurs = $args['contexte']['erreurs'];
+               // On cherche et remplace l'édition de la rubrique
+               $cherche = "/<li[^>]*class=('|\")editer editer_parent.*?<\/li>/is";
+               $remplace = '<li class="editer editer_page obligatoire'.($erreurs['champ_page'] ? ' erreur' : '').'">';
+               $remplace .= '<input type="hidden" name="id_parent" value="-1" />';
+               $remplace .= '<input type="hidden" name="id_rubrique" value="-1" />';
+               $remplace .= '<input type="hidden" name="modele" value="page" />';
+       $remplace .= '<label for="id_page">'._T('pages:titre_page').'</label>';
+       if ($erreurs['champ_page'])
+               $remplace .= '<span class="erreur_message">'.$erreurs['champ_page'].'</span>';
+       $value = $args['contexte']['champ_page'] ? $args['contexte']['champ_page'] : $args['contexte']['page'];
+       $remplace .= '<input type="text" class="text" name="champ_page" id="id_page" value="'.$value.'" />';
+       $remplace .= '</li>';
+               $flux['data'] = preg_replace($cherche, $remplace, $flux['data'],1);
+               $flux['data'] = preg_replace($cherche, '', $flux['data']);
+       }
+       return $flux;
+}
+
+/**
+ * Insertion dans le pipeline pre_edition (SPIP)
+ * 
+ * Si on édite un article :
+ * - Si on récupère un champ "champ_page" dans les _request() et qu'il est différent de "article", 
+ * on transforme l'article en page unique, id_rubrique devient -1 
+ * - Si on ne récupère pas de champ_page et que id_parent est supérieur à 0, on le passe en article et on vide
+ * son champ page pour pouvoir réaliser le processus inverse dans le futur
+ * 
+ * @param array $flux Le contexte du pipeline
+ * @return array $flux Le contexte modifié
+ */
+function pages_pre_edition_ajouter_page($flux){
+       if (is_array($flux) and isset($flux['args']['type']) && $flux['args']['type'] == 'article'){
+               if ((($page = _request('champ_page')) != '') AND ($page != 'article')){
+                       /**
+                        * On ajoute le "champ_page" du formulaire qui deviendra "page" dans la table
+                        * On force l'id_rubrique à -1
+                        */
+                       $flux['data']['page'] = $page;
+                       $flux['data']['id_rubrique'] = '-1';
+                       $flux['data']['id_secteur'] = '0';
+               }
+               /**
+                * si l'id_parent est supérieur à 0 on que l'on ne récupère pas de champ_page,
+                * on pense à vider le champ "page", pour pouvoir revenir après coup en page
+                */
+               if (!_request('champ_page') && (_request('id_parent') > 0)){
+                       $flux['data']['page'] = '';
+               }
+       }
+       return $flux;
+}
+
+/**
+ * Insertion dans le pipeline boite_infos (SPIP)
+ * 
+ * Ajouter un lien pour transformer une article normal en page inversement
+ * 
+ * @param array $flux 
+ *             Le contexte du pipeline
+ * @return array $flux
+ *             Le contexte modifié
+ */
+function pages_boite_infos($flux){
+       if ($flux['args']['type'] == 'article' and autoriser('modifier', 'article', $flux['args']['id'])){
+               include_spip('inc/presentation');
+               if (sql_getfetsel('page', 'spip_articles', 'id_article='. $flux['args']['id']) == '')
+                       $flux['data'] .= icone_horizontale(_T('pages:convertir_page'), parametre_url(parametre_url(generer_url_ecrire('article_edit'), 'id_article', $flux['args']['id']), 'modele', 'page'), 'page', $fonction="", $dummy="", $javascript="");
+               else
+                       $flux['data'] .= icone_horizontale(_T('pages:convertir_article'), parametre_url(parametre_url(generer_url_ecrire('article_edit'), 'id_article', $flux['args']['id']), 'modele', 'article'), 'article', $fonction="", $dummy="", $javascript="");
+       }
+       return $flux;
+}
+
+
+/**
+ * Insertion dans le pipeline affiche_hierarchie (SPIP)
+ * Pour les pages, faire pointer la racine vers la liste des pages au lieux des rubriques
+ * Pour savoir si on se trouve sur une page, on vérifie que le champ "page" existe, faute de mieux  
+ *
+ * @param array $flux 
+ *             Le contexte du pipeline
+ * @return array $flux
+ *             Le contexte modifié
+ */
+function pages_affiche_hierarchie($flux){
+
+       $objet = $flux['args']['objet'];
+       $id_article = $flux['args']['id_objet'];
+       if (
+               $objet == 'article'
+               and sql_getfetsel('page', 'spip_articles', 'id_article='.sql_quote($id_article))
+       ){
+               $cherche = "<a href=\"". generer_url_ecrire('rubriques') . "\">" . _T('info_racine_site') . "</a>";
+               $remplace = "<a href=\"". generer_url_ecrire('pages_tous') . "\">" . _T('pages:pages_uniques') . "</a>";
+               $flux['data'] = str_replace($cherche,$remplace,$flux['data']);
+       }
+
+
+       return $flux;
+}
+
+?>
diff --git a/www/plugins/pages/paquet.xml b/www/plugins/pages/paquet.xml
new file mode 100644 (file)
index 0000000..b72132e
--- /dev/null
@@ -0,0 +1,33 @@
+<paquet
+       prefix="pages"
+       categorie="divers"
+       version="1.0.5"
+       etat="stable"
+       compatibilite="[3.0.0;3.0.*]"
+       logo="prive/themes/spip/images/page-32.png"
+       documentation="http://www.spip-contrib.net/Plugin-Pages-uniques"
+       schema="1.0.1"
+>
+
+       <nom>Pages</nom>
+       <!-- Gestion des pages sans rubrique -->
+
+       <auteur>RastaPopoulos</auteur>
+       <auteur lien="http://www.ldd.fr">Les Développements Durables</auteur>
+       <licence>GPL v3</licence>
+
+       <pipeline nom="declarer_tables_objets_sql" inclure="base/pages_tables.php" />
+       <pipeline nom="affiche_milieu" action="affiche_milieu_ajouter_page" inclure="pages_pipelines.php" />
+       <pipeline nom="affiche_milieu" action="affiche_milieu_identifiant" inclure="pages_pipelines.php" />
+       <pipeline nom="boite_infos" inclure="pages_pipelines.php" />
+       <pipeline nom="affiche_hierarchie" inclure="pages_pipelines.php" />
+       <pipeline nom="formulaire_charger" inclure="pages_pipelines.php" />
+       <pipeline nom="formulaire_verifier" inclure="pages_pipelines.php" />
+       <pipeline nom="editer_contenu_objet" inclure="pages_pipelines.php" />
+       <pipeline nom="pre_edition" action="pre_edition_ajouter_page" inclure="pages_pipelines.php" />
+
+       <utilise nom="polyhier" />
+
+       <menu nom="pages_tous" titre="pages:pages_uniques" parent="menu_edition" icone="images/page-16.png" />
+       <menu nom="page_creer" titre="pages:creer_page" parent="outils_rapides" icone="images/page-new-16.png" action="article_edit" parametres="new=oui&amp;modele=page&amp;id_rubrique=-1" />
+</paquet>
diff --git a/www/plugins/pages/prive/objets/editer/identifiant_page.html b/www/plugins/pages/prive/objets/editer/identifiant_page.html
new file mode 100644 (file)
index 0000000..7b912a4
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="ajax">
+       #FORMULAIRE_EDITER_IDENTIFIANT_PAGE{#ENV{id_article}}
+</div>
diff --git a/www/plugins/pages/prive/squelettes/contenu/pages_tous.html b/www/plugins/pages/prive/squelettes/contenu/pages_tous.html
new file mode 100644 (file)
index 0000000..d53a423
--- /dev/null
@@ -0,0 +1,15 @@
+<h1 class="grostitre"><:pages:toutes_les_pages:></h1>
+
+#SET{statuts,#SESSION{statut}|statuts_articles_visibles}
+[(#ENV{id_auteur,''}|=={#SESSION{id_auteur}}|oui)
+       #SET{statuts,#GET{statuts}|array_merge{#LISTE{prepa}}}
+]
+<INCLURE{fond=prive/objets/liste/articles,
+       id_rubrique=-1,
+       statut=#GET{statuts},
+       id_auteur=#ENV{id_auteur,''},
+       nb=30,
+       titre=<:pages:toutes_les_pages:>,
+       sinon=<:pages:aucune_page:>,
+       env,
+       ajax}>
diff --git a/www/plugins/pages/prive/squelettes/navigation/pages_tous.html b/www/plugins/pages/prive/squelettes/navigation/pages_tous.html
new file mode 100644 (file)
index 0000000..5519805
--- /dev/null
@@ -0,0 +1,10 @@
+
+[(#BOITE_OUVRIR{<:titre_cadre_raccourcis:>,'raccourcis'})]
+
+[(#URL_ECRIRE{article_edit}
+       |parametre_url{modele,page}
+       |parametre_url{new,oui}
+       |parametre_url{id_rubrique,-1}
+       |icone_horizontale{<:pages:creer_page:>,page,new})]
+
+#BOITE_FERMER
diff --git a/www/plugins/pages/prive/themes/spip/images/page-16.png b/www/plugins/pages/prive/themes/spip/images/page-16.png
new file mode 100644 (file)
index 0000000..9dc2e41
Binary files /dev/null and b/www/plugins/pages/prive/themes/spip/images/page-16.png differ
diff --git a/www/plugins/pages/prive/themes/spip/images/page-24.png b/www/plugins/pages/prive/themes/spip/images/page-24.png
new file mode 100644 (file)
index 0000000..bc3b978
Binary files /dev/null and b/www/plugins/pages/prive/themes/spip/images/page-24.png differ
diff --git a/www/plugins/pages/prive/themes/spip/images/page-32.png b/www/plugins/pages/prive/themes/spip/images/page-32.png
new file mode 100644 (file)
index 0000000..f6882aa
Binary files /dev/null and b/www/plugins/pages/prive/themes/spip/images/page-32.png differ
diff --git a/www/plugins/pages/prive/themes/spip/images/page-new-16.png b/www/plugins/pages/prive/themes/spip/images/page-new-16.png
new file mode 100644 (file)
index 0000000..683b20e
Binary files /dev/null and b/www/plugins/pages/prive/themes/spip/images/page-new-16.png differ
diff --git a/www/plugins/pages/saisies-vues/pages_uniques.html b/www/plugins/pages/saisies-vues/pages_uniques.html
new file mode 100644 (file)
index 0000000..8b7b020
--- /dev/null
@@ -0,0 +1,5 @@
+<BOUCLE_article(ARTICLES){page=#ENV{valeur}}>\r
+<p>#TITRE (#PAGE)</p>\r
+</BOUCLE_article>\r
+<p><:saisies:vue_sans_reponse:></p>\r
+<//B_article>
\ No newline at end of file
diff --git a/www/plugins/pages/saisies/pages_uniques.html b/www/plugins/pages/saisies/pages_uniques.html
new file mode 100644 (file)
index 0000000..2b4d2e3
--- /dev/null
@@ -0,0 +1,19 @@
+[(#REM) \r
+  Saisie permettant de sélectionner une page unique par son nom de page\r
+  \r
+  Parametres :\r
+  - option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")\r
+  - cacher_option_intro : pas de premier option vide  (defaut:"")\r
+  - class : classe(s) css ajoutes au select\r
+  \r
+  Exemple d'appel :\r
+       [(#SAISIE{pages_uniques,nom,\r
+               label=<:plugin:label:>,\r
+       })] \r
+]\r
+<select name="#ENV{nom}" id="champ_#ENV{nom}"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"]>\r
+[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]\r
+<BOUCLE_selection(ARTICLES){par titre}{id_rubrique<0}>\r
+       <option value="#PAGE" [(#PAGE|=={#ENV{valeur,#ENV{defaut}}}|oui) selected="selected"]>#TITRE (#PAGE)</option>\r
+</BOUCLE_selection>\r
+</select>
\ No newline at end of file
diff --git a/www/plugins/pages/svn.revision b/www/plugins/pages/svn.revision
new file mode 100644 (file)
index 0000000..9c81448
--- /dev/null
@@ -0,0 +1,10 @@
+<svn_revision>
+<text_version>
+Origine: file:///home/svn/repository/spip-zone/_plugins_/pages/trunk
+Revision: 80270
+Dernier commit: 2014-01-27 14:00:09 +0100 
+</text_version>
+<origine>file:///home/svn/repository/spip-zone/_plugins_/pages/trunk</origine>
+<revision>80270</revision>
+<commit>2014-01-27 14:00:09 +0100 </commit>
+</svn_revision>
\ No newline at end of file
index 7f85d83..a6acf9c 100644 (file)
@@ -17,6 +17,7 @@
     <necessite nom="menus" compatibilite="[0.9;[" />
     <necessite nom="mll" compatibilite="[1.1.9;[" />
     <necessite nom="multilang" compatibilite="[0.9.2;[" />
+    <necessite nom="pages" compatibilite="[1.0.5;[" />
     <necessite nom="piwik" compatibilite= "[0.6.0;]" />
     <necessite nom="typoenluminee" compatibilite= "[3.3.2;]" />
 </paquet>