Inscription2

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

[EDIT 2023] Voir également les possibilités offertes dans le plugin Profils

Ce « plugin » permet de configurer un formulaire d’inscription personnalisable pour les visiteurs d’un site Web, ainsi qu’une table auteur étendue associée, ce de manière générique (réutilisable par d’autres plugins) !
Le paquet zip disponible n’est utilisable que pour la version 1 .9.2 de Spip.
La refonte complète du code pour SPIP 2.0 est récupérable sur la zone et toute discussion à son sujet doit être faite sur spip-zone ...

Installation :

Inscription2 est récupérable ce jour (version test ) :
-  soit via SVN sur la zone
-  soit dans le paquet « inscription2.zip » http://files.spip.org/spip-zone/ins... (version pour SPIP 1.9.2)
-  Pour la version 2.2.0, allez à http://zone.spip.org/trac/spip-zone...

Ce plugin s’installe comme tous les autres, en créant un sous-répertoire dans le répertoire plugins, cf. http://www.spip.net/fr_article3396.html.

Les plugins CFG et Crayons doivent également être installés.

Configuration

Une fois activé, sélectionner l’onglet « Configuration » dans l’espace privé et ensuite l’option « inscription2 ». La configuration est divisée en 4 parties.

Choix des informations

Les deux premières servent à séparer les informations qui sont demandées par défaut dans SPIP et les informations que ce plugin permet d’ajouter.

La table qui apparaît donne 4 options par chaque champ, formulaire, modifiable, fiche et table.

La colonne Formulaire sert à sélectionner tous les champs qui apparaîtront dans le formulaire d’inscription.

Les colonnes Modifiable et Fiche permettent de choisir les informations qui apparaîtront dans la fiche de visiteur. Si on sélectionne « Modifiable », automatiquement ce champ apparaitra sur la fiche et sera modifiable (pour cela il est nécessaire d’avoir le plugin Crayons installé). Si on veut que le champ apparaisse sur la fiche, mais qu’il ne soit pas modifiable, alors il faut sélectionner « Fiche ».

La dernière colonne
permet de sélectionner les champs qui seront visibles dans la liste de visiteurs du site (table d’adhérents).

Champs pour plugins associés

Dans la troisième partie apparaissent :
-  les listes de diffusion (cas de SPIP-listes) qui s’offriront aux visiteurs du site
-  un champ « commentaire »
-  un champ « catégorie de cotisation », qui servira avec le plugin Association, en suivant le même style que les listes de diffusion
-  un champ publication (qui permet à l’usager de décider si ses données seront publiées ou non sur le web).

Données hors formulaire

La dernière partie nous permet de joindre à la table spip_auteurs_elargis des données qui n’apparaîtront pas dans le formulaire d’inscription, comme la date de création de la fiche et un statut interne, et les zones auxquelles les adhérents seront affectés à l’heure de l’inscription (Accès Restreint).

Utilisation

Une fois configuré le plugin, la balise #FORMULAIRE_INSCRIPTION2 affichera le formulaire d’inscription comme il a été configuré dans l’espace privé précédemment.

Les données qu’un visiteur saisit dans ce formulaire seront séparément gardées dans la table spip_auteurs (concerne seulement les données standards de SPIP : nom, mail, login, statut), et dans la table spip_auteurs_elargis pour tout le reste. Ensuite un email sera envoyé au nouveau visiteur avec un lien pour activer son compte et pour un mot de passe, après cela il aura par défaut le statut visiteur dans la table spip_auteurs.

Pour afficher les données personnelles d’un visiteur, son profil, il suffit d’inclure dans le squelette voulu <INCLURE(inc/profil_adherent.php){id_auteur}> . Pour modifier ces données, il faut faire double click et les « crayons » s’activeront. Notez que seuls les champs sélectionnées à cet effet dans la configuration du plugin seront modifiables. Si id_auteur n’est pas définie dans le contexte, on affichera les informations de celui qui est connecté, mais, s’il n’y a personne connecté, on sera redirigé vers la page d’accueil.

Spip svn

Dans la prochaine version de spip, nous pourrons faire ceci par exemple :

[(#SESSION{id_auteur}|?{
    [(#MODELE{editer_profil}{id_auteur=#SESSION{id_auteur}})] ,
    #FORMULAIRE_INSCRIPTION2 }
)]

Si l’utilisateur est identifié, il aura accès à sa fiche. Sinon on lui propose de s’inscrire sur le site.


Participer au développement

Tous ceux qui sont intéressés par le sujet sont les bienvenus, par exemple sur l’espace de développement du plugin sur la Zone, ou dans ce forum. ;-)

Discussion

177 discussions

  • 4
    Vincent

    Bonjour,
    je cherche désespérément de la documentation pour personnaliser ce plugin. En effet j’ai effectivement besoin d’avoir plus d’infos pour chaque rédacteur qui s’inscrit, mais à part quelques champs, c’est pas du tout les même infos que ce qui est de base dans inscrption2.

    Or d’après ce que je lis, le but ça serait quand même que auteur_elargi soit modulable non ?

    Mais alors comment on ajoute des champs persos à auteur_elargi ? Il faut apparemment changer cfg_inscrption2, soit, mais les champs que je veux rajouter sont pas tous des input text simple, si je veux que le champs rajouté soit un textarea je le signale comment ?

    Merci d’avance.

    • cmtmt2003

      effectivement, si l’on veut ajouter des champs il faut modifier cfg_inscriptions2... parce que cfg lit le fichier tel qu’il est, donc, si on veut que cfg prenne en compte un champ X il faut l’ajouter dans ce fichier là.... pour le moment, le formulaire d’inscription est aussi un fichier statique, càd, codé en dur, donc si tu veux ajouter un champ il faut le faire à la main... ça facilite le choix entre text ou text area...

      @+ !

      Sergio

    • Vincent

      Mais par contre, qu’on mette un input ou un textarea dans le formualaire, ça sera toujours stocké en « TEXT » dans la base ? Bon c’est déjà ça, mais je veux dire, ya pas moyen par exemple de choisir un type date ou autre ?

      Enfin bon c’est pas très grave, je devrais déjà pouvoir faire ce que je veux avec ça. Merci beaucoup.

      Et bonne nuit.

    • Vincent

      Ah et j’ai une autre question.
      On peut surcharger le formulaire dans squelettes/formulaires/inscription2.html.
      Mais peut-on aussi surcharger la config dans squelettes/fonds/cfg_inscription2.html ?

      Marfi.

    • cmtmt2003

      Pour le champ, oui, c’est toujours en text qu’on le stocke... mais il faudrait faire autrement peut être ...

      Oui, a priori on peut le surcharger le fichier fonds, mais je n’ai jamais testé

       ;)

      @+

      Sergio

    Répondre à ce message

  • 2

    Bonjour a tous,

    je rencontre un petit soucis, en effet je crée un compte via le formulaire dinscription, mais
    il met impossible de modifier les informations avec la « profil_adherent » une fois logué. Pour pouvoir modifier les infos je dois faire basculer le compte en « administrateur ». Là le plugin « crayon » fonctionne.

    Une idée ?

    • cmtmt2003

      bizarre... j’ai eu ce pb il y a quelques jours, mais normalement on a redefini la fonction autoriser et là ça devrait marcher... tu as quelle version de SPIP ?... parce qu’il me semble que c’est un bug qui est corrige dans la version SVN... mais, j’ai pas encore eu le temps de tester... :S peut être il faut reviser la fonction.

      Merci !

    • hello,

      je suis en version : SPIP 1.9.2b [9381]

    Répondre à ce message

  • 2

    Je viens de tester le plugins, après des difficultés au démarage (pb page car plugins mal installés entre celui-là et cfg).

    J’ai 2 soucis à l’utilisation, bug ?

    Warning : join() [function.join] : Bad arguments. in E :\wampserver\rugball\ecrire\public\assembler.php(398) : eval()’d code on line 281

    Dans la partie privée, administration des adhérents (Liste adhérents).

    # Erreur(s) dans le squelette

    * #INSERT_HEAD, Double occurrence

    dans la partie publique avec un squelette très simple,

    #CACHE{7200}
    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
    <html dir="#LANG_DIR" lang="#LANG">
    <head>
    <title>[(#NOM_SITE_SPIP|textebrut)]</title>
    [<meta name="description" content="(#DESCRIPTIF_SITE_SPIP|couper{150}|textebrut)" />]
    <INCLURE{fond=inc-head}>
    </head>
    
    <body class="page_sommaire">
    <div id="page">
     
    #FORMULAIRE_INSCRIPTION2
     
    <INCLURE{fond=profil}>
      
    </div><!-- fin page -->
    </body>
    </html>

    J’ai donc enlevé l’instruction : <INCLUREfond=inc-head dans la balise

    ...

    Et à ce moment, j’ai une erreur :

    # Erreur(s) dans le squelette

    * Aucun squelette ’profil’ n’est disponible...

    Effectivement, je ne le trouve nulle part.

    Je ne suis pas un spécialiste de SPIP donc peut être ai-je mal fait quelque chose ?

    Pour finir, mon application étant un peu spéciale j’aurai besoin de champs mon généraux dans le profil de l’utilisateur, ce que ne permet le plugns, ce qui est dommage.
    Ce n’est pas une critique mais juste une remarque ...
    Ca serait vraiment sympa que les champs sont totalement paramètrables, je ne sais pas si c’est possible simplement.

    Pour finir, peut être que pour le champs divers, ça serait sympa de l’avoir comme les autres spécifiables Formulaire/Modifiable/Fiche/Table.

    C’est tout pour l’instant, c’est quand même du bon boulot !

    Bravo.

    Throdo.

    • je vais revoir le fichier liste_adherents... il y a peut être un pb... que l’on appele la fonction quand l’array est vide, ou même n’est pas declaré...

      Sinon, le fichier a change de nom pour eviter des pbs, ça s’appele amintenant profil_adherent... et il se trouve dans /inc... si je ne me trompe pas...

      Merci !

    • cmtmt2003

      pour le warning, est que tu as coché des cases dans la colonne table ?... sinon, c’est parce que il essai de faire un join de un array qui n’est même pas déclaré... (on fait un array en fonction des cases cochés sur cette colonne, et s’il n’y a pas, l’array n’est pas déclaré)... il faudrait peut être le déclarer avant... ou bien afficher par défaut les champs spip....

      @+ !

    Répondre à ce message

  • 2

    Bonjour

    A la lecture de l’article je me dis que c’est très très proche de auteurs_complets.
    On avait commencé à faire évoluer le truc pour utiliser une table distinctes mais pas avec le même nommage sic (Gestion Auteurs).

    Ne faudrait il pas les rapprocher ?

    Apres un truc qui m’interroge, si l’idée est d’avoir une base commune pour tous les plugins. La méthode choisie impliquera d’éditer aussi ce plugin ?
    Je pense aux options spécifiques pour association et spip listes

    Si un plugin ajoute un champ celui est il pris en compte par ce plugin dans la liste de choix ?

    J’ai sûrement encore des question :) mais cela doit encore murir un peu.

    Km

    • cmtmt2003

      Bonjour !

      Si j’ai bien compris... tu demandes si un plugin X ajoute un champ dans la table auteur_elargis, est-ce que ce sera pris en compte ?...

      bon, à priori non, parce que la base du fonctionnement c’est le plugin CFG... c’est à dire...seulement les champs qu’on défini dans le squelette /fonds/cfg_inscription2.html seront accessibles au plugin ... et la table sera donc créée à partir des choix de l’utilisateur...
      je m’explique... quand on configure le plugin.. on choisi les champs qui seront affichés au formulaire d’inscription.. et la table sera donc créée en fonctions de ces champs... si tu choisis juste 3 champ extra... la table auteurs_elargis aura donc ces trois champs plus id_auteur... et si après tu décides d’ajouter deux autres champs.. ces champs seront ajoutés aussi à la table... et on aura ainsi les 5 champs plus id_auteur... mais si on ajoute un champ avec un autre plugin... le champ ne sera pas accessible au plugin inscription2... parce qu’il travaille en fonction de la config choisi, et non pas en fonction de la table...

      Si on veut modifier ce plugin ... c’est assez simple.. il suffit de modifier le squelette cfg_inscription2... et si on veut par exemple ajouter un champ au formulaire d’inscription, il faudrait l’ajouter aussi dans le /formulaires/inscription2.html... ce dernier étant statique... càd... codé en dur... l’avantage est que comme ça on peut choisir l’ordre d’affichage... par contre... la fiche d’adhérent est dynamique... donc on ne peut pas le personnaliser... à priori...

      je sais pas si c’est assez claire.. :S

      @+ !

    • Merci pour ce complément d’informations

      Je vais essayer de voir si on peut faire évoluer auteurs_complets dans la même veine, si accord de kent.
      Et du coup surement piquer quellesque idée :)

    Répondre à ce message

  • 11

    Salut,

    j’ai profité que le plugin ne plante plus tout le site pour le tester.

    Malheureusement j’ai buté à la page confirmation de l’inscription (mail bien envoyé) : j’ai une drôle de mise en page et un message « Rien à faire ».

    quand je veux charger la page profil, pour voir si l’inscirption s’est faite, j’ai un message d’erreur :

    Warning: Invalid argument supplied for foreach() in /home/www/61576a211119579004c629340cc5213d/web/test/ecrire/public.php(25) : eval()'d code on line 38
    erreur user not found

    une idée ?

    d’avance merci

    • T’as bien reçu le mail ?... et quand tu essai de confirmer tu as le « rien à faire » ?... si c’est ça... bah... c’est peut être parce que il a eu un pb quand on a écrit sur la table spip_auteur... mais si le lien indique... &id=**** c’est parce qu’on l’a bien ajouté ... est-ce que tu as accès aux tables ?... peux tu voir si le visiteur a été ajouté ?...

      je suis en train de modifier la balise formulaire_inscription2... donc si tu peux me dire... peut être il faut modifier quelque chose d’autre .. et je pourrais le modifier toute de suite...

      pour la mise en forme... :P... j’ai juste mis un message d’erreur... je ne me suis pas amusé à le mettre joli... normalement ce message d’erreur s’affichera si le visiteur n’a pas été ajouté à la table... ou si on change l’alea... (tu as bien un numero positif comme cle non ?)

      Merci !

    • Le visiteur n’apparaît pas dans l’espace privé sous visiteurs, mais il a bien été rajouté, car si je rentre le même profil dans le formulaire, il me prévient que cet email est déjà enregistré et qu’il me faut confirmer mon inscription en suivant les instructions du mail...

      Désolé, je ne peux pas t’en dire plus

      PS : le profil a effectivement été créé et apparaît dans la liste des abonnés à la newsletter (mais le statut n’est pas confirmé (pas d’icone bleue))

    • -  j’ai bien une table spip_auteurs_elargis
      -  il y a bien dans le lien du mail un id qui correspond à l’enregistrement dans la table susmentionnée

    • Bon,

      ben j’ai tout recommencer à neuf et finallement ça marche.

      Mon problème suivant est :

      -  j’ai rajouté un champ pour associer l’auteur « élargi » à des événements de l’agenda. Dans la base de données c’est l’id de l’événement qui est stocké
      -  actuellement la page profil_adherent est codée tout en php

      il en ressort quelques questions :
      -  que faudrait-il modifier dans la page profil_adherent pour récupérer l’id tel que stocké dans la base mais dans une boucle pour pouvoir récupérer ensuite le titre le lieu le descriptif de l’événement ?
      -  les crayons devraient-ils fonctionner sur le page profil_adherent ?
      -  ne sachant pas si les crayons devraient marcher, je ne suis pas en mesure de tester s’il est possible après coup d’associer plusieurs événements
      -  à quoi sert le mot de passe et le login ? y aurait-il une page à laquelle on peut se connecter pour modifier son profil ?

      Par avance merci pour tes réponses

      PS : si tu le souhaites je pourrais à l’occasion te donner un coup de main pour la mise en page des formulaires et des pages de confirmation.

    • cmtmt2003

      La page profil adhérent affiche les informations que tu as choisi auparavant dans la configuration du plugin... sur cette fiche... il y aura seulement les champs que tu as choisi.. et ils seront modifiables seulement si tu as coché la case modifiable (avec crayons) normalement ça devrait marcher...

      il faudrait peut être y réfléchir un peut plus.. et utiliser les boucles SPIP avec CFG.... pour afficher les champs de la table « élargis » mais il faudrait coder l’affichage de chaque champ séparément... en dur... genre... formulaire d’inscription... mais je sais pas si c’est très convenaient... peut être tu pourrais ajouter un champ « check box » dans cfg_inscription2... et comme ton nouveau champ sera traité comme le reste... il faudrait juste l’ajouter au formulaire d’inscription si tu veux ... parce que sinon... ce sera compris partout... il sera ajouté automatiquement à la table élargis... un exemple de ça... le champ « date de création de la fiche ».... c’est un champ que j’ai ajouté au dernier moment... et qui n’est pas affiché au formulaire d’inscription...

      Il faut juste respecter quelques règles de nommage… par exemple … si tu veux que ton champ soit ajouté à la table… il faut l’appeler n’importe comment sauf avec des terminaisons _fiche, _fiche_mod ou _table… ces trois terminaisons sont respectivement pour… le même champ mais sur la fiche adhérent pas modifiable … sur la fiche adhérent mais modifiable et le dernier pour l’afficher sur une future table d’adhérents…. Voici un exemple…
      xxx, xxx_fiche, xxx_fiche_mod, xxx_table.
      Comme ça… si tu fais un un champ xxx et tu le coches il sera dans ta table…. Si tu ajoutes encore le champ xxx_fiche et/ou..xxx_fiche_mod il sera sur la fiche adhèrent…. Etc…

      Si t’as des doutes... en ce moment je suis sur le chat...... ;)...

      c’est plus rapide... :D

      @+ !

    • cmtmt2003

      ah !... le mot de passe et le login serviront prochainement si tu utilises accès restreint... tu pourras définir une zone à laquelle tu veux que tes nouveaux adhérents soient affectés... sinon.. pour la même chose que ça sert sur SPIP pour les visiteurs... une fois que le visiteur à confirmé son « existence » il pourra accéder aux forums... s’il y en a... etc

       ;)

      @+ !

    • h !... le mot de passe et le login serviront prochainement si tu utilises accès restreint... tu pourras définir une zone à laquelle tu veux que tes nouveaux adhérents soient affectés... sinon.. pour la même chose que ça sert sur SPIP pour les visiteurs... une fois que le visiteur à confirmé son « existence » il pourra accéder aux forums... s’il y en a... etc


      -  Alors, ça ne serait pas mal d’avoir l’option, comme dans SPIP-Listes, avec ou sans code d’accès.

      -  La page profil_adherent bug de nouveau alors qu’elle avait fonctionné un petit moment.
      Warning: Invalid argument supplied for foreach() in /home/www/61576a211119579004c629340cc5213d/web/test/ecrire/public.php(25) : eval()'d code on line 38 erreur user not found
      Pourtant cette fois le profil existe vraiment avec statut de visiteur et apparaît aussi bien sur la page des abonnés à la newsletter qu’à celle des visiteurs.

      -  au sujet de la newsletter il manque un petit quelque chose... En effet l’inscription à une liste de diffusion (je n’ai pas essayé avec plusieurs) se fait correctement. Seulement il manque le format de l’abonnement (html|text).

      -  à part ça les modifs que j’ai apporté pour associer des événements à l’auteur « élargi » (qui lui même est d’ailleurs associé à l’auteur (tout court)) ne se trouve que dans les deux fichiers suivants :
      -  fonds/cfg_inscription2.html
      -  formulaires/inscription2.html

      Dans le fichier cfg_inscription2.html :

      <tr>
      <td><strong><:inscription2:inscription_evenement:></strong> </td>
      <td>
      	<label>
      		<input type="checkbox" name="inscription_evenement" [checked="(#ENV{inscription_evenement}?{checked})"] id="inscription_evenement" />
      	</label>
      </td>
      <td>
      	<label>
      		<input type="checkbox" name="inscription_evenement_fiche_mod" onclick = "enadis(this,inscription_evenement_fiche)" [checked="(#ENV{inscription_evenement_fiche_mod}?{checked})"] id="inscription_evenement_fiche_mod" />
      	</label>
      </td>
      <td>
      	<label>
      		<input type="checkbox" name="inscription_evenement_fiche" [checked="(#ENV{inscription_evenement_fiche}?{checked})"] id="inscription_evenement_fiche" [disabled ="(#ENV{inscription_evenement_fiche_mod}?{true})"]/>
      	</label>
      </td>
      <td>
      	<label>
      		<input type="checkbox" name="inscription_evenement_table" [checked="(#ENV{inscription_evenement_table}?{checked})"] id="inscription_evenement_table" />
      	</label>
      </td>
      </tr>

      Il faudrait encore y ajouter un test comme pour les plugins SPIP-Listes ou Association au cas où le plugin Agenda est absent.

      J’ai opéré les changements idoines dans inscription2.html :

      -  Dans le javascript de test des champs du formulaire :

      activite:  {[(#CONFIG{inscription2/inscription_evenement}|=={on}|?{required: true,}),]chaine:true}
      .....
      inscription_evenement:{
      				required:"Ce champ est obligatoire",
      				chaine:"Choisissez une activit&eacute;"}

      -  Dans le formulaire proprement dit :

      <p [style="(#CONFIG{inscription2/inscription_evenement}|=={on}|?{display: block;, display:none;})"]>
      <B_agenda>
      	<label for="inscription_evenement"><strong><:inscription2:inscription_evenement:></strong><br /></label>
      #SET{selected,#CONFIG{inscription2/inscription_evenement,'',''}}	<select name="inscription_evenement[]" multiple="multiple" size="10" id="inscription_evenement">
      		[(#CONFIG{plugin/AGENDA})<BOUCLE_agenda(EVENEMENTS){id_evenement=(#ENV{evenement})}>
      			<option value="#ID_EVENEMENT">#TITRE [- (#LIEU)][ - (#DATE_DEBUT|Agenda_affdate_debut_fin{#DATE_FIN,#HORAIRE})]
      			</option>
      		</BOUCLE_agenda>
      		<B_agenda_gen>
      	<label for="inscription_evenement"><strong><:inscription2:inscription_evenement:></strong><br /></label>
      #SET{selected,#CONFIG{inscription2/inscription_evenement,'',''}}	<select name="inscription_evenement" id="inscription_evenement">
      		[(#CONFIG{plugin/AGENDA})		
      		
      		<BOUCLE_agenda_gen(EVENEMENTS){id_secteur=2}{age<0}{par titre, date}{statut=publie}>
      			<option value="#ID_EVENEMENT">#TITRE [- (#LIEU)][ - (#DATE_DEBUT|Agenda_affdate_debut_fin{#DATE_FIN,#HORAIRE})]
      			</option>
      		</BOUCLE_agenda_gen>
      			<option value="">Rien de pr&eacute;vu en ce moment</option>
      		<//B_agenda_gen>
      		<//B_agenda>]
      	</select>
      <br /></p>

      où id_secteur=2 correspond à la rubrique à la racine du site dans laquelle il faut aller rechercher les événements auxquels les visiteurs peuvent « s’inscrire ».
      La boucle agenda sélectionne directement l’événement présent dnas le contexte, sinon sort la liste de tous les événements prévus dans le secteur (en l’occurence 2).

      voilà @+

    • - Alors, ça ne serait pas mal d’avoir l’option, comme dans SPIP-Listes, avec ou sans code d’accès.

      En fait je m’en sers pas tellement.. et je ne connais pas trop les options de SPIP-Listes... :S

      Seulement il manque le format de l’abonnement (html|text).

      Oui... j’ai mis par défaut texte.. après je mettrai un select avec les deux choix ;)

      Il faudrait encore y ajouter un test comme pour les plugins SPIP-Listes ou Association au cas où le plugin Agenda est absent.

      Pour les modifs à la premier partie... c’est nickel... ;)... pour le test il suffit de changer le

      <tr>

      par...

      <tr [style="(#CONFIG{plugin/AGENDA}|?{display: block;, display:none;})"]>

      #SET{selected,#CONFIG{inscription2/inscription_evenement,'',''}}

      J’avoue que je connais pas le plugin agenda... mais cette ligne sert pour mettre dans un tableau tous les événements que tu as sélectionnés précédemment... mais comme tu n’as rien sélectionné... (inscription2/inscription_evenement n’est pas un tableau) ça sert à rien... ça sert au cas où tu veux pas offrir tous les événements... et juste quelques uns... après tu peux récupérer ceux que tu as sélectionné avec #GET{selected} comme pour les listes ;)

      pourrais tu le commiter ?... comme ça si quelqu’un a besoin de ça aussi, pourrait s’en servir... :D...

      Merci !

    • En fait je m’en sers pas tellement.. et je ne connais pas trop les options de SPIP-Listes... :S

      Dans la config de spip-listes tu as deux alternatives :
      -  Abonnement simple : Les abonnés reçoivent un message de confirmation après leur abonnement.
      -  Abonnement avec code d’accès : les abonnés reçoivent en plus un login et un mot de passe qui leur permettront de s’identifier sur le site.

      Je ne sais pas dans quel but tu as fait ce plugin, mais ce serait confortable de pouvoir choisir entre les deux modes par exemple pour le cas où la publication sur les forums et l’inscription à la newsletter se font sans inscription préalable, (et où il est donc inutile de s’authentifier sur le site (exception faite de ce qui suit plus bas, c-à-d de pouvoir avec son authentifiant de modifier à part ses données perso également la liste des activité auxquelles ont est inscrit)) .

      Oui... j’ai mis par défaut texte.. après je mettrai un select avec les deux choix ;)

      J’ai fait plusieurs tests et à chaque fois « l’inscription » à la newsletter se fait avec le statut de « désabonné » (c-à-d ni text ni html)

      <tr [style="(#CONFIG{plugin/AGENDA}|?{display: block;, display:none;})"]>

      mais cette ligne sert pour mettre dans un tableau tous les événements que tu as sélectionnés précédemment... mais comme tu n’as rien sélectionné... (inscription2/inscription_evenement n’est pas un tableau) ça sert à rien... ça sert au cas où tu veux pas offrir tous les événements... et juste quelques uns... après tu peux récupérer ceux que tu as sélectionné avec #GET{selected} comme pour les listes ;)

      Ouaip merci je tatonne pour comprendre certains codes ou parfois langages que je ne connais pas... merci ;-)

      Je pensais justement utiliser le tableau pour que l’on puisse choisir dans une liste de mots clés associées à des événements ceux qui seront proposés au visiteur qui s’inscrit.

      pourrais tu le commiter ?... comme ça si quelqu’un a besoin de ça aussi, pourrait s’en servir... :D...

      En l’absence d’une page fonctionnelle où le visiteur pourrait changer les activités auquel il est inscrit (en ajouter ou se désinscrire) ça n’a pas beaucoup d’intérêt.

      L’autre aspect qui me fait dire ça est qu’il faudrait que je trouve moyen de récupérer les id_evenement stockés dans le champ inscirption_evenement de la table auteurs_elargis. Et quand j’essaie #CONFIG{inscription2/inscription_evenement} il me retourne « on ».

      En outre quand plusieurs événements différents sont sélectionnés à l’inscription un seul apparaît dans le champ inscription_evenement.

      Bref, pas vraiment digne d’être commité pour l’instant ;-)

      A plus

      PS : j’ai toujours, après plusieurs remise à zéro et retests, l’erreur :

      Warning : Invalid argument supplied for foreach() in /home/www/61576a211119579004c629340cc5213d/web/test/ecrire/public.php(25) : eval()’d code on line 38
      erreur user not found

      quand je tente de charger profil_adherent

    • En fait je m’en sers pas tellement.. et je ne connais pas trop les options de SPIP-Listes... :S

      Dans la config de spip-listes tu as deux alternatives :
      -  Abonnement simple : Les abonnés reçoivent un message de confirmation après leur abonnement.
      -  Abonnement avec code d’accès : les abonnés reçoivent en plus un login et un mot de passe qui leur permettront de s’identifier sur le site.

      Je ne sais pas dans quel but tu as fait ce plugin, mais ce serait confortable de pouvoir choisir entre les deux modes par exemple pour le cas où la publication sur les forums et l’inscription à la newsletter se font sans inscription préalable, (et où il est donc inutile de s’authentifier sur le site (exception faite de ce qui suit plus bas, c-à-d de pouvoir avec son authentifiant de modifier à part ses données perso également la liste des activité auxquelles ont est inscrit)) .

      Oui... j’ai mis par défaut texte.. après je mettrai un select avec les deux choix ;)

      J’ai fait plusieurs tests et à chaque fois « l’inscription » à la newsletter se fait avec le statut de « désabonné » (c-à-d ni text ni html)

      <tr [style="(#CONFIG{plugin/AGENDA}|?{display: block;, display:none;})"]>

      mais cette ligne sert pour mettre dans un tableau tous les événements que tu as sélectionnés précédemment... mais comme tu n’as rien sélectionné... (inscription2/inscription_evenement n’est pas un tableau) ça sert à rien... ça sert au cas où tu veux pas offrir tous les événements... et juste quelques uns... après tu peux récupérer ceux que tu as sélectionné avec #GET{selected} comme pour les listes ;)

      Ouaip merci je tatonne pour comprendre certains codes ou parfois langages que je ne connais pas... merci ;-)

      Je pensais justement utiliser le tableau pour que l’on puisse choisir dans une liste de mots clés associées à des événements ceux qui seront proposés au visiteur qui s’inscrit.

      pourrais tu le commiter ?... comme ça si quelqu’un a besoin de ça aussi, pourrait s’en servir... :D...

      En l’absence d’une page fonctionnelle où le visiteur pourrait changer les activités auquel il est inscrit (en ajouter ou se désinscrire) ça n’a pas beaucoup d’intérêt.

      L’autre aspect qui me fait dire ça est qu’il faudrait que je trouve moyen de récupérer les id_evenement stockés dans le champ inscirption_evenement de la table auteurs_elargis. Et quand j’essaie #CONFIG{inscription2/inscription_evenement} il me retourne « on ».

      En outre quand plusieurs événements différents sont sélectionnés à l’inscription un seul apparaît dans le champ inscription_evenement.

      Bref, pas vraiment digne d’être commité pour l’instant ;-)

      A plus

      PS : j’ai toujours, après plusieurs remise à zéro er retests, l’erreur :

      Warning : Invalid argument supplied for foreach() in /home/www/61576a211119579004c629340cc5213d/web/test/ecrire/public.php(25) : eval()’d code on line 38
      erreur user not found

      quand je tente de charger profil_adherent

    • Abonnement simple : Les abonnés reçoivent un message de confirmation après leur abonnement.
      Abonnement avec code d’accès : les abonnés reçoivent en plus un login et un mot de passe qui leur permettront de s’identifier sur le site.
      Je ne sais pas dans quel but tu as fait ce plugin, mais ce serait confortable de pouvoir choisir entre les deux modes par exemple pour le cas où la publication sur les forums et l’inscription à la newsletter se font sans inscription préalable, (et où il est donc inutile de s’authentifier sur le site (exception faite de ce qui suit plus bas, c-à-d de pouvoir avec son authentifiant de modifier à part ses données perso également la liste des activité auxquelles ont est inscrit)) .

      Mon intérêt est plutôt faire un plugin que nous permette avoir une base de données selon nos besoins… c’est plutôt orienté vers un site où les gens auront des choses à faire.. Des événements pour s’inscrire… des données perso… qui ne doivent pas être accessibles qu’aux webmestres et les propres utilisateurs… voilà donc l’intérêt d’un login et mot de passe...

      J’ai fait plusieurs tests et à chaque fois « l’inscription » à la newsletter se fait avec le statut de « désabonné » (c-à-d ni text ni html)

      Bizarre… le champ est text ou texte ?.... je pense que j’ai mis texte… si tu regardes la table… il y a tout les données… si pour SPIP-Listes c’est text… bon alors il faut changer le fichier balise/formulaire_inscription2...

      Je pensais justement utiliser le tableau pour que l’on puisse choisir dans une liste de mots clés associées à des événements ceux qui seront proposés au visiteur qui s’inscrit.
      En l’absence d’une page fonctionnelle où le visiteur pourrait changer les activités auquel il est inscrit (en ajouter ou se désinscrire) ça n’a pas beaucoup d’intérêt.

      Oui c’est une bonne idée… mais je ne saurai pas le faire.. je sais pas comment fonctionnent les mot clés dans SPIP… donc ce serait difficile à coder pour moi… :S

      L’autre aspect qui me fait dire ça est qu’il faudrait que je trouve moyen de récupérer les id_evenement stockés dans le champ inscirption_evenement de la table auteurs_elargis. Et quand j’essaie #CONFIGinscription2/inscription_evenement il me retourne « on ».

      Oui, en effet.. ce fonction là… c’est pour savoir si le « checkbox » est coché ou pas… mais tu peux toujours faire une boucle sur la table… sur n’importe quel table… mais chaque adhérent peut s’inscrire à combien d’événements ? comment comptes tu garder les événements auxquels l’adhérent s’inscrit ?... il faudrait faire peut être une autre table.. genre spip_auteurs_evenements… où on garderait les ID auteur et événement.. (comme pour SPIP-listes… ) comme ça chaque utilisateur pourrait s’inscrire à plusieurs evenements… sinon, on pourrait stocker ça en forme de tableau sérialisé…. Mais je sais pas comment faire… (CFG fait ça… il garde toute la config d’un plugin X dans la table SPIP_meta… dans un champ avec le nom du plugin… et après tout est récupérable… )

      En outre quand plusieurs événements différents sont sélectionnés à l’inscription un seul apparaît dans le champ inscription_evenement.

      Tu as fait un select multiple ?... il y a deux exemples qui marchent bien à priori … pour catégories c’est un select simple… et il récupère juste 1 valeur sélectionné… mais pour spip-listes… c’est un select multiple… il récupère donc tous les listes qui sont sélectionnées..

      PS : j’ai toujours, après plusieurs remise à zéro er retests, l’erreur :
      Warning : Invalid argument supplied for foreach() in /home/www/61576a211119579004c629340cc5213d/web/test/ecrire/public.php(25) : eval()’d code on line 38 erreur user not found
      quand je tente de charger profil_adherent

      J’avoue que je sais pas pourquoi… est-ce que cette variable est définie chez toi ?... $GLOBALS['auteur_session']['id_auteur']
      Je viens de trouver une erreur sur le fichier profil_adherent.. mais je doute que ce soit ça… :S… bref.. je fais commit…

      à bientôt ;)

      Sergio

    Répondre à ce message

  • Avec la version actuelle du plugin (svn 12803), dans la page des plugins de l’espace privé, il y a une erreur au parsing du plugin.xml :

    / !\ Fichier absent : base/inscription2.php

    Pourtant, ce fichier est bien présent dans l’arborescence du plugin...

    Répondre à ce message

  • 27

    Hello

    Merci pour cette contrib qui, si elle fonctionne chez moi, sera parfaite.
    Je suis en spip 1.9.2b[9381], j’ai installé les plugins crayon et cfg, (ainsi que Accès Restreint, Auteurs complets, Autorité, En travaux, FCKEditor, Formulaires & Tables, Livre d’or et Spip Listes).
    Dès que j’active le plugin inscription2, j’ai un écran blanc partout, comme si le site était totalement vide. Par contre si je supprime par ftp le dossier inscription2 de mes plugins, tout refonctionne... Je me demande si c’est pas lié au plugin auteurs complets...

    Merci d’avance

    — 
    S@m

    • UPDATE : non, ce n’est pas lié à auteurs complets (le résultat est le même en désactivant le plugin)

    • Hello...
      t’as telechargé la derniere version ?... hier j’ai fait renomage des focntions... pour eviter ça justement... si c’est encore le cas... il faut que je le revois .. mais j’utilise la même version de SPIP que toi... Sinon... je vais installer les mêmes plugins que toi et je te dirai.. ;)

      Sergio

    • Je pense que oui, j’ai téléchargé le plugin il y a moins d’une demi-heure...
      Merci pour ton aide

    • J’arrive pas à reproduire l’erreur... bizarre... j’ai la même version de SPIP... et les plugins..

      -  Acces Restreint 2.0 (0.2)
      -  Autorité (0.8)
      -  CFG (1.0.2)
      -  En travaux (1.2)
      -  Formulaires&Tables(SPIP 1.9.1+) (0.301)
      -  Inscription2 (0.1)
      -  Spip_listes (1.92)
      -  Auteurs complets (0.3)
      -  Crayons (0.6)
      -  FCKEditor(2.4.2) (1.4)

      Par contre... je n’ai pas Livre d’or... je l’ai pas trouvé sur la zone... si tu le désactives est-ce que ça fonctionne ? Sinon, dis-moi si t’as des versions plus récentes des plugins listes ci-dessus...

      Merci !

      Sergio

    • Je suis à peu près à jour, sauf pour :
      -  Accès restreint (0.11)
      -  En travaux (1.0)
      -  Edition des articles avec FCKeditor (0.1) (différent je pense de FCKEditor seul)

      Donc en fait g plutot des versions plus anciennes...
      Je vais essayer de désactiver livre d’or et de mettre à jour les autres plugins, je te tiens au courant !

      Merci beaucoup

      — 
      S@m

    • Bon c’est pas la joie...
      J’ai mis à jour mes plugins (ça peut pas faire de mal de toute façon), ça ne fonctionne toujours pas. Plus grave, si je désactive tous les plugins sauf les 3 nécessaires (cfg, crayons et inscription2), ça pète aussi...

      Je marche avec le squelette sarka spip, ça peut avoir une influence ? Désolé je ne suis pas encore un expert :-S

      Merci pour ton aide, sincèrement en tout cas

    • ça doit être ça...parce que je viens d’installer livre d’or... et rien du tout... ça marche encore..

      as tu essayé de supprimer tous les fichier du dossier tmp de spip ?.. sinon, franchement je vois pas le problème.. j’ai exactement les mêmes plugins que toi... et ça n’arrive pas... c’est peut être incompatible avec le squelette... mais je vois pas la raison... je sais que ça arrive quand on a deux fonctions avec le même nom... et j’ai renomé toutes les fonctions avec le mot inscription2 quelque part pour l’eviter .. mais si ça t’arrive encore.. clairement c’est pas ça... :(

      je vais me renseigner... je suis loin d’être un expert en tout cas :P
      je te tiens au courant.. ;)

      à+ !

      Sergio

    • ok ben j’attends ton retour...
      j’ai essayé le coup du répertoire tmp, rien à faire.

      Ce que je vais essayer de mon coté, c’est d’installer en local spip avec le squelette sarka spip et les 3 plugins pour faire fonctionner inscription2...

      Je te tiens au courant either...

      ++

    • Ok ben c’est très bizarre quand même...
      J’ai installé spip brut, et les plugins cfg, crayon et identité2 en local (avec wamp) et c’est le même problème...

      Du coup je pense pas que ça vienne du squelette...
      Je sais pas si d’autres gens peuvent faire le test ou si je fais une grosse connerie, mais je me suis contenté d’installer spip, et d’activer les 3 plugins...

      Bon courage...

    •  :(... c’est super bizarre... moi j’ai fait la même chose... mais sous Easyphp.. et ça marche nickel... je ne comprends pas... c’est hyper bizarre... :(

    • reivilo0

      Bizarre, bizarre... Vous avez dit bizarre, comme c’est bizarre !

      J’ai fait la même chose :

      Si j’active 2 deux premiers plugins, le site spis fonctionne normalement.

      Par contre, dès l’activation d’« Inscription2 », j’ai aussi une page blanche...

    • exactement la même chose chez moi

      -  php 5.1.6
      -  Spip 1.9.2b 9381
      -  Dernières versions des trois plugins

    • cmtmt2003

      Ben... je viens de faire un commit... j’ai corrigé le fichier inscription2_installer... parce que si vous avez l’écran blanche chaque fois que vous l’activez... le problème doit être forcément dans ce fichier ou dans le fichier inscription2_mes_options... (je crois)... si je me trompe... dites-moi... mais c’est super bizarre... parce que je n’arrive pas à reproduire le bug... j’ai réinstallé tout en local... et rien du tout...

      ben.. j’espere que ça marche maintenant... :S...

      @+ !

      tenez moi au courant svp... :(

    • Malheureusement statu quo pour moi...
      A ceci près que je me sens moins seul ;-)

      J’aimerais pouvoir t’aider mais franchement je suis pas au niveau...

      Bon courage

      — 
      S@m

    • Salut,

      désolé pas de changement chez moi... -> page blanche

      Ubu

      PS : j’ai corrigé le fichier de langue française et proposé un premier jet en langue anglaise

    • Je comprends toujours pas... j’ai demandé un peu de l’aide.. je ne sais plus quoi faire... :(

      Pourrais tu le commiter ?... je veux bien les corrections... et aussi la traduction... :D...

      Je sais que ça ne sert pas à grand chose si chez vous ça ne marche pas.. mais je viens d’ajouter la validation du formulaire d’inscription avant l’envoie au serveur grâce au plugin Validation-Form pour jQuery, je le commiterai toute de suite...

      @+ !

    • les deux fichiers de traduction sont sur la zone, non ?

      je les ai commités avant de poster...

      bref, je crois pouvoir te dire que le problème se situe dans le fichier inscription2.php, mais pas dans l’installer ou inscription2_mes_options.php.
      Je dis ça après avoir activé ton plugin (d’abord tout seul, ensuite avec cfg, enfin avec cfg et crayons), puis avoir regardé ce que ça donnait en supprimant un par un les fichiers. Résultat je n’ai pas de page blanche qu’après avoir supprimé le fichier inscription2.php et cela dans toutes les configurations mentionnées dans la parenthèse.

      Autrement dit le plugin rentre directement en conflit avec spip et non pas avec un autre plugin si je ne m’abuse.

      J’ai testé ensuite ligne par ligne le fichier en question ayant le plugin cfg et inscription2 activés. Résultat : le problème est dans le foreach (9è et/ou 10è lignes) mais pas dans les else et if qu’il contient.

      Sans garantie vu ma méthode de débogage et mon ignorance en php...

      évidemment je n’ai pu que contempler tes formulaires mais pas encore tester le plugin, j’imagine qu’il a besoin de l’entier du fichier litigieux pour fonctionner.

      @+

    • c’est en fait possible qu’il soit dans le premier if contenu dans le foreach. Les lignes 9-10 correspondent à ça dans moon logiciel....

      foreach(lire_config('inscription2') as $cle => $val) {
      if($val!='' and $cle != 'nom' and $cle != 'email' and $cle != 'username' and !ereg("^.+_fiche$", $cle) and !ereg("^.+_fiche_mod$", $cle) and !ereg("^.+_table$", $cle)){
    • cmtmt2003

      bizarre... peut être le pb c’est la fonction ereg... je sais que toutes mes expressions régulières pourraient être réduites à une seule, mais bon, essai à nouveau stp mais cette fois ci.. supprime toutes les appels à la méthode ereg.... c’est une méthode de PHP 4 normalement... donc ça devrait fonctionner.... mais c’est juste pour tester… et ajoute cette ligne

      $desc = spip_abstract_showtable($table_nom, ’’, true) ;

      juste après de

      $table_nom = « spip_auteures_elargis » ;

      stp… et tu me dis qu’est –ce que ça donne….

      Merci !

    • Hola Sergio,

      j’ai exactement la même erreur : http://essai.cedvt.info. Page blanche après activation du plugin Inscription2...

      Et un peu la même analyse : je pensais que ça pouvait venir de plugins accès restreint et autres qui modifient/ajoutent des tables, mais a priori non, même chose sur un spip SVN seul. étonnant que tu ne puisses pas reproduire l’erreur !

    • cmtmt2003

      Finalement je crois avoir compris pourquoi cela arrive !!!!!

      C’est parce que dans le fichier mes_options... je fais appel à une fonction de CFG... et chez vous.. au moins chez essai.cedvt.info.. le fichier mes_options du plugin inscription2 se charge avant que celui de CFG... donc.. de coup on a pas la fonction .... et... c’est perdu... page blanche... je sais pas pourquoi chez moi... le plugin CFG est toujours le premier à se charger (alphabetiquement ???) et pas chez vous... sinon il faudrait faire un include(machin) du fichier mes_options de CFG... :S... pas très propre quand même... je verrai ça demain matin...

      Merci !!!

    • supprime toutes les appels à la méthode ereg.... c’est une méthode de PHP 4 normalement... donc ça devrait fonctionner.... mais c’est juste pour tester… et ajoute cette ligne

      $desc = spip_abstract_showtable($table_nom, ’’, true) ;

      juste après de

      $table_nom = « spip_auteures_elargis » ;

      Sans effet...

    • reivilo0

      Bonjour,

      En renommant le répertoire du plugin (inscription2 au lieu de Inscription, remarquez le I majuscule transformé en minuscule), je n’ai plus le problème de page blanche ....

      remarque, j’ai désactivé le plugin Inscription2, renommé le répertoire puis ré-activé le plugin.

      @+

    • cmtmt2003

      mais les autres plugins sont en mayuscule ??...si non.. c’est evident.. parce que SPIP charge les plugins par ordre alphabetique... et commence par les mayuscules... et CFG DOIT être chargé avant... sinon ça ne marchera pas... en tout cas je viens de modifier le fichier inscription2 pour que ça n’arrive plus... ;)

      Merci !!!

    • Merci !!! ça marche !!!

    • En renommant le répertoire du plugin (inscription2 au lieu de Inscription, remarquez le I majuscule transformé en minuscule), je n’ai plus le problème de page blanche ....

      En effet, j’ai renommé le répertoire avec une minuscule, et ça marche !! (à croire que c’est de l’informatique, ce qu’on fait là ;-)

      Il faudra renommer le répertoire dans le CVS, pour éviter que cela ne se reproduise. En revanche, je n’ai pas l’impression que cela se produise avec d’autres plugins (je viens d’essayer d’en renommer un, et ça marche). Sergio : peut-être est-ce un codage “en dur” du nom du répertoire ?

    • J’ai déjà modifié le fichier... voir plus en haut... en fait, le pb c’était que.. si on met le nom Inscription2 et cfg (notez majuscules et minuscules)... SPIP chargera d’abord ceux qui commencent par une majuscule... et ensuite le reste... or, pour utiliser Inscription2 on a besoin impérativement de CFG (fonction lire_config) le système retournait une page blanche... mais normalement ça devrait être corrige avec la modif que j’ai commité ce matin... (un include_spip() du fichier en question) donc.. même si on met majuscule.. ça devrait bien fonctionner...

      Donc là je me pose la question... à quoi sert la balise dans le fichier plugin.xml si SPIP fait comme il veut ?...

      @+

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom