SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 47 visiteurs en ce moment

Accueil du site > Rédaction > Archives Rédaction > Proposition d’article à partir de l’espace public par un visiteur non (...)

Proposition d’article à partir de l’espace public par un visiteur non auteur.

2 août 2006 – par Robert Sebille – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

1 vote

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

A partir d’un auteur générique (Visiteur, par exemple), ce squelette permet à un visiteur non auteur spip de proposer un article arrivant directement dans l’espace privé. Un email peut être alors envoyé aux responsables du site, par exemple à l’adresse de suivi de l’activité éditoriale.

Note : Dernière modif : vendredi 30 septembre 2005, 14:13

Cet article est similaire à cette autre contribution Permettre aux visiteurs de proposer un article sur votre site, mais présente quelques fonctionnalités différentes et supplémentaires.

Différence :

-  Le nom de l’auteur spip est un auteur générique, toujours le même pour tous les articles. Le nom et l’email de l’auteur réel de l’article sont recueilli par le formulaire et ajouté au bas de l’article, dans le post scriptum. Il s’agit donc ici d’articles exclusivement « visiteur ».

Fonctionnalités supplémentaires

-  Les champs surtitre, sous-titre, descriptif, chapeau et post-scriptum sont gérés.
-  Une liste déroulante permet le choix d’une rubrique.
-  Une liste déroulante multiselect permet le choix de 0, un ou plusieurs mots clés.
-  les champs du formulaire sont traités non seulement par des addslashes, mais aussi des corriger_caracteres et htmlentities, suivant les cas.
-  un mail peut être envoyé avertissant de l’arrivée d’un article, par exemple à l’adresse de suivi de l’activité éditoriale, et au visiteur auteur de l’article. Le mail comporte l’entièreté de l’article. Le mail de suivi éditorial comprend un lien vers l’article dans la partie privée, et celui du visiteur, un lien vers son article (valable si celui-ci est publié). Le visiteur est averti que le lien n’est valable que si son article est accepté. (NB. : Si vous publiez l’article, il peut être aimable de le signaler au visiteur, puisque vous avez son adresse email).
-  l’adresse IP, la date et l’heure de proposition sont relevés et envoyés via l’email.
-  Les champs (spip 1.8) id_secteur, auteur_modif, date_modif, lang, id_version de $table_prefix."_articles"
-  Les préfixes de tables sont gérés.
-  l’adresse email de l’auteur visiteur est traitée contre le spam sous la forme user(AT)domain(PT)tld.
-  le champ TEXTE comprend une barre de raccourci spip

Configuration :

1. Créer un auteur générique (par exemple « Visiteur ») qui servira d’auteur spip pour toutes les contributions à partir de ce squelette. Retenir l’id de l’auteur.
2. Créer une rubrique particulière pour ce squelette (rubrique=XX.html, par exemple) et à l’emplacement de l’affichage du contenu faire l’inclusion de rubrique-article-proposer.php3 comme suit : <INCLURE(rubrique-article-proposer.php3){id_rubrique}>
3. Ouvrir rubrique-article-proposer.html, et dans le <select name="rubrique"> adapter les 3 boucles rubriques (BOUCLE_rubrique0, BOUCLE_sous_rubriques0, BOUCLE_recursive0) à vos besoins. Au moins : id_rubrique != XX où vous remplacez (3 fois) XX par le n° (id) de la rubrique de ce squelette, car ça aurait peu de sens de proposer des articles ici.
4. Ouvrir rubrique-article-proposer.php3, et, au début du script, entre « /* A configurer (début) */ » et « /* A configurer (fin) */ », vous remplacez :

-  dans $id_auteur= "YY";, YY par l’id de l’auteur générique crée au point 1. Ceci est obligatoire.

-  dans $fromto="";, vous placez éventuellement l’adresse email de suivi de l’activité éditoriale entre les "". Ceci n’est pas obligatoire. Si vous laissez les «  » vide, aucun mail ne sera envoyé. Attention à ceci : A) L’envoi d’email n’est possible que si votre hébergeur le permet. B) Si vous utilisez une liste de diffusion pour le suivi de l’activité éditoriale, attention à bien la configurer pour éviter des « bounces » sans fin.
5. Charger sur votre site rubrique-article-proposer.php3 et ip_date_heure.php3 à la racine, rubrique-article-proposer.html dans le dossier des squelettes et le répertoire misenform et son contenu à la racine. (misenform contient les icônes de la barre de raccourcis ; je ne suis pas très doué pour le graphisme ;), mais rien ne vous empêche d’en faire des plus jolis).
6. Il faut forcer la publication de la rubrique. Il y a plusieurs solutions :
-  La solution spip. Depuis SPIP 1.7.1 « {tout} affiche les rubriques vides en plus des rubriques contenant des éléments publiés. » http://www.spip.net/fr_article904.html#crit_tout
-  Personnellement, j’utilise une autre solution avec des articles numérotés, je construis mes boucles ainsi :

<BOUCLE_articles(ARTICLES){id_rubrique}{0,15}{titre !== ^0\.[[:blank:]].*}>
        <li>[(#TITRE|supprimer_numero)]</li>
</BOUCLE_articles>

{titre !== ^0\.[[:blank:]].*} me permet d’écrire des « articles techniques » débutant par 0. (0.espace) qui ne sont pas affiché dans la navigation, mais me permettent, en les mettant en ligne de forcer aisément l’affichage d’une rubrique vide.

-  A chacun ses solutions, il y en a d’autres... ;)

Il vous reste à tester ...

Exemple

http://demo.banlieues.be/spip/rubrique13.html

Le package :

GZ - 12.6 ko


Le squelette :

.html

.php3

Retour en haut de la page

Vos commentaires

  • Le 20 octobre 2006 à 19:23, par benito En réponse à : Proposition d’article à partir de l’espace public par un visiteur non auteur.

    Bonjour,

    J’ai bien installé votre excellent formulaire mais j’obtiens toujours ce message d’erreur lié aux MOTS-CLÉS et à la table array correspondante.

    Warning : htmlspecialchars() expects parameter 1 to be string, array given in c :\program files\easyphp1-8\www\testspip\ecrire\inc_filtres.php3 on line 32

    J’ai bien regardé mon fichier inc_filtres.php3 à la ligne 32 mais, étant donné mon manque de connaissance en php, je n’y vois que dalle.

    31 function entites_html($texte)

    32 return corriger_entites_html(htmlspecialchars($texte)) ;

    33

    J’aimerais vraiment utiliser votre formulaire mais je ne sais plus quoi faire. Avez-vous une idée ?

    Merci

    • Le 22 octobre 2006 à 10:54, par Robert Sebille En réponse à : Proposition d’article à partir de l’espace public par un visiteur non auteur.

      Bonjour,

      je ne vois pas très bien d’où vient ce warning, le script ne faisant pas appel à cette fonction, et je n’ai pas l’avertissement chez moi. Ceci dit, ça n’est pas très grave, et voici comment supprimer cet affichage intempestif :

      -  il s’agit d’un warning, et donc non pas une erreur dans le script, mais plutôt d’une incorrection « quelque part » dans l’interprétation des scripts, incorrection qui n’a pas de conséquence sur le fonctionnement. L’avertissement dit que la fonction htmlspecialchars est appelée à un moment donné, ne trouve pas comme premier argument attendu une chaîne de caractères, et elle renvoie un avis, sans plus.

      -  L’affichage des errors et warnings peut-être activé ou désactivé dans le fichier php.ini. En général, il est activé en local (comme chez vous avec easyphp), parce ça permet un debugging au développeur, et désactivé sur les serveurs en production (hébergeurs, par exemple) parce qu’il constitue une faille de sécurité potentielle en donnant à d’éventuels pirates des informations qui leur facilitent la tâche (Et donc, si des warnings s’affichent chez votre hébergeur, il vaudrait mieux alors en changer).

      -  Pour désactiver activer ou désactiver l’affichage en local, vous devez éditer votre fichier php.ini (je ne connais pas windows, mais je crois que c’est possible avec easyphp), chercher la variable display_errors = On et remplacer comme suit :
      display_errors = Off
      les warnings disparaîtront. ATTENTION, comme vous ne vous y connaissez pas en php, respectez scrupuleusement la syntaxe (une erreur d’un ; avec php, et c’est la page blanche !) et utilisez exclusivement un éditeur de texte (et pas un traitement de texte, qui peut ajouter des codes invisible au fichier php.ini)

      Voilà, le script a été testé sur spip 1.8.1 et 1.8.2, ne fonctionne actuellement pas sur 1.8.9, mais je suis intéressé de savoir s’il fonctionne sur 1.8.3 (que je n’ai pas encore testé). Donc, si vous utilisez 1.8.3 et que le script fonctionne, pouvez vous le signaler sur le forum ?

      Merci et bon travail.

    Répondre à ce message

  • Le 29 août 2006 à 19:05, par fulvio En réponse à : Proposition d’article à partir de l’espace public par un visiteur non auteur.

    Une adapatation pour la 1.9 ? Autre question...arriverait-on à donner la possibilité d’écrire qu’aux rédacteurs connectés ? Comment faire ?

    Répondre à ce message

  • Le 27 août 2006 à 13:53, par Jead Wellor En réponse à : Proposition d’article à partir de l’espace public par un visiteur non auteur.

    Je n’attend plus que l’adaptation de cette contrib pour passer à spip 1.9 !

    Répondre à ce message

  • Le 19 août 2006 à 23:54, par efche En réponse à : Proposition d’article à partir de l’espace public par un visiteur non auteur.

    J’ai installé cette contrib sur une version spip1.9

    et au retour de l’envoi de l’article proposé, j’ai le message d’erreur suivant :

    rawurlencode() expects parameter

    Avez-vous une idée pour m’aider merci ?

    Répondre à ce message

  • Le 9 août 2006 à 05:16, par Nicolas En réponse à : Proposition d’article à partir de l’espace public par un visiteur non auteur.

    Bonjour,

    Superbe contribution, du jamais vu ! Mais je n’arrive pas trop à appeler le formulaire dans mon site... AS-TU DES EXEMPLES VRAIMENT CONCRETS POUR LES NULS ?

    1- En fait je ne comprend pas comment réaliser le POINT #2 de ta configuration qui dit ceci :

    2. Créer une rubrique particulière pour ce squelette (rubrique=XX.html, par exemple) et à l’emplacement de l’affichage du contenu faire l’inclusion de rubrique-article-proposer.php3 comme suit : <.INCLURE(rubrique-article-proposer.php3)id_rubrique.>

    2- Ensuite, comment faire le lien à partir de mon menu ? J’ai essayé ceci mais cela ne semble pas être bon...

    <.a href="#URL_SITE_SPIP/rubrique.php3 ?id_rubrique=69" title="Inscription d’un lien">Inscription d’un lien<./a>

    3- Dernier point, que-fait-on avec le fichier « ip_date_heure.php3 » ??

    Merci

    P.S. J’ai mis des petits points dans les codes pour que le forum ne les interprète pas comme des liens

    • Le 18 août 2006 à 15:05, par Robert Sebille En réponse à : Proposition d’article à partir de l’espace public par un visiteur non auteur.

      Bonjour,

      -  Il y a un lien vers un exemple dans le corps de l’article
      -  La doc pour créer des rubriques particulières (rubrique=XX.html, par exemple) où XX est l’ID_RUBRIQUE, est ici :
      http://www.spip.net/fr_article877.html sous l’intertitre « Une interface différente dans le même site ».
      A la place du contenu habituel du corps de la rubrique (en général des titres d’articles), tu mets :
      <INCLURE(rubrique-article-proposer.php3){id_rubrique}> (et surtout pas : <.INCLURE(rubrique-article-proposer.php3)id_rubrique.> )
      Note bien que pour écrire du code dans ce forum, il suffit de l’entourer des balises spip <code></code>. c’est mieux pour ceux qui ferait des copier/coller de ton code.

      -  <.a href="#URL_SITE_SPIP/rubrique.php3 ?id_rubrique=69" title="Inscription d’un lien">Inscription d’un lien<./a> ?
      est-ce qu’il ne serait pas plus « spip » de faire quelque chose du genre :

      <BOUCLE_art_prop(RUBRIQUES){id_rubrique=69}>
              <a href="#URL_RUBRIQUE">#TITRE</a>
      </BOUCLE_art_prop>

      -  ip_date_heure.php3 va à la racine du site. C’est le fichier qui rélève la date et l’heure de l’envoi et l’IP de l’envoyeur. Ceux-ci te parviendront dans l’email d’avertissement (si tu as configuré ton squelette ainsi, et si ton hébergeur a activé l’envoi d’email). Cela est fait pour éviter qu’on spamme ton site en t’envoyant des articles illégaux ou pornographiques, par exemple. Tu tiens alors un identifiant de l’envoyeur, et la protection de la vie privée par les hébergeurs ne joue plus en cas d’action illégale.

      Cordialement.

    Répondre à ce message

  • Le 8 août 2006 à 18:43, par Nicolas En réponse à : Proposition d’article à partir de l’espace public par un visiteur non auteur.

    GÉNIAL !!!!

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Zpip-dist en HTML5

    15 juin 2010 – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une surcharge des squelettes Zpip-dist qui tire parti des nouvelles balises offertes par la spécification HTML5. Attention, ce plugin n’est plus compatible avec les nouvelles versions de Zpip, qui a connu plusieurs incompatibilités de nomenclature (...)

  • Une licence pour un article

    18 avril 2007 – 25 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Sur une idée originale de erational, voici un plugin permettant de lier une licence à un article.

  • Plugin Parrainage

    6 novembre 2011 – <blink style='color:red;'>public|spip|ecrire:commentaire</blink>

    Permettre aux utilisateurs d’inviter leurs contacts à s’inscrire sur le site. Description Vous connaissez le web moderne et son cortège d’applis toujours en version « beta » et de buzz sur le dernier réseau à la mode ? Vous voulez vous aussi vous y (...)

  • Formulaire de contact libre

    27 avril 2011 – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)

  • Plugin Mot de Passe Compliqué

    2 novembre 2007 – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin ajoute un testeur de complexité de mot de passes dans les formulaires de choix de mot de passe de SPIP.