balise config & données sérialisées

Bonjour les users,
après de trop longues vacances ma mémoire me fait défaut. :smiley:
je patauge pour récupérer une valeur sérialisée dans la table meta,
pil poil avec ce qui est écrit dans l'aide spip :
  http://www.spip.net/fr_article4335.html#CONFIG

je suis dans un modèle et je cherche à récupérer une valeur sérialisée dans la table meta,
si je code #CONFIG(cartign/cle); ou #CONFIG(cle); j'ai toute la table meta dans le source.
Comment qu'on fait pour dé-sérialiser et avoir la valeur souhaitée avec la balise #CONFIG ???:cry:

Bien à vous.

Le 01/09/2012 12:37, freebsnet a écrit :

Bonjour les users,
après de trop longues vacances ma mémoire me fait défaut. :smiley:
je patauge pour récupérer une valeur sérialisée dans la table meta,
pil poil avec ce qui est écrit dans l'aide spip :
  #CONFIG - SPIP

je suis dans un modèle et je cherche à récupérer une valeur sérialisée
dans la table meta,
si je code #CONFIG(cartign/cle); ou #CONFIG(cle); j'ai toute la table
meta dans le source.
Comment qu'on fait pour dé-sérialiser et avoir la valeur souhaitée avec
la balise #CONFIG ???:cry:

Bien à vous.

Bonjour,
En principe, il faut faire comme ça :
[(#CONFIG{carteign}|unserialize|table_valeur{cle})]

bonjour,
merci bien pour la solution, ça fonctionne nickel.
je note au passage que le filtre unserialise est absent du glossaire spip.
la seule trace de ce sujet que j'ai trouvé est dans cet article :

Et encore ça ne renseigne pas vraiment.

cordialement

Le 01/09/2012 18:31, tcharlss a écrit :

Le 01/09/2012 12:37, freebsnet a écrit :

Bonjour les users,
après de trop longues vacances ma mémoire me fait défaut. :smiley:
je patauge pour récupérer une valeur sérialisée dans la table meta,
pil poil avec ce qui est écrit dans l'aide spip :
  #CONFIG - SPIP

je suis dans un modèle et je cherche à récupérer une valeur sérialisée
dans la table meta,
si je code #CONFIG(cartign/cle); ou #CONFIG(cle); j'ai toute la table
meta dans le source.
Comment qu'on fait pour dé-sérialiser et avoir la valeur souhaitée avec
la balise #CONFIG ???:cry:

Bien à vous.

Bonjour,
En principe, il faut faire comme ça :
[(#CONFIG{carteign}|unserialize|table_valeur{cle})]
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Le 02/09/2012 16:40, freebsnet a écrit :

bonjour,
merci bien pour la solution, ça fonctionne nickel.
je note au passage que le filtre unserialise est absent du glossaire spip.
la seule trace de ce sujet que j'ai trouvé est dans cet article :
|table_valeur - SPIP
Et encore ça ne renseigne pas vraiment.

cordialement

Il ne s'agit pas d'un filtre propre à Spip, mais d'une fonction native de PHP. En fait une partie de celles-ci peuvent être passées comme filtres aux balises de Spip, elles sont documentées sur php.net.

je comprends bien, il manquerai tout de même un petit exemple avec la bonne syntaxe à utiliser.
[(#CONFIG{tableau}|unserialize|table_valeur{nom_valeur})]

surtout quand je lis ceci dans dans l’article : j’ai pas testé mais on doit pouvoir faire pareil avec #ENV [(#ENV{tableau}|unserialise|table_valeur{nom_valeur})] cordialement

Bonjour,

Devant cette syntaxe ubuesque, ne pourrait-on pas automatiser un peu le traitement des données linéarisées ?

Que pensez-vous d'une fonction qui testerait automatiquement la linéarisation avant de chercher une valeur ou une clé ?

Ce rôle pourrait être attribué à #CONFIG ou à |table_valeur

/**
  * Verifie qu'une donnée est bien une chaine linéarisée
  * @param string $data
  */
public static function is_serialized($data) {
     return is_string($data)
  && ($data=== 'b:0;' || @unserialize($data) !== false);
}

A voir également les codes suivants :
  http://core.trac.wordpress.org/browser/tags/3.4.1/wp-includes/functions.php#L236
  http://core.trac.wordpress.org/browser/tags/3.4.1/wp-includes/functions.php#L278

Pat

Le 02/09/2012 18:33, freebsnet a écrit :

je comprends bien, il manquerai tout de même un petit exemple avec la
bonne syntaxe à utiliser.
[(#CONFIG{tableau}|unserialize|table_valeur{nom_valeur})]

Bonjour,

Pas tres a l'aise avec toutes les fonctions de PHP
(et il y en a) en particulier sur les tableaux

je comprends bien l'argument de rappeler l'accès
aux fonctions de PHP facile en SPIP, mais
pour les (tres) nombreux qui choisissent un CMS
pour ne pas avoir a developper en PHP

j'aimerais trouver deux pages:
- l'une synthétique sur les ARRAYS
   (elle existe, mais je ne memorise pas assez certains liens)
- l'autre sur spip.net une liste de fonctions complémentaires
    (rappelant le principe d'appel php, et
    (fournissant un grand nombre d'exemples,
    (avec en regard le lien vers la page de PHP /ou mieux/,
    (du type FAQ, en fonction des usages rencontrés sur la liste..

Le 02/09/2012 18:33, freebsnet a écrit :

je comprends bien, il manquerai tout de même un petit exemple avec la
bonne syntaxe à utiliser.
[(#CONFIG{tableau}|unserialize|table_valeur{nom_valeur})]

Pour améliorer deja l'information disponible
YannX

Bonjour,

Je bloque sur l'utilisation des modèles de notifications, mon modèle n'est pas pris en compte lors de l'envoi.

Pour résumer :
- j'ai donc un plugin , qui reprend en gros la structure de fonctionnement du système d'inscription de spip
le formulaire est similaire, la seule différence pour le moment est dans la partie traitement du fichier php.

Dans le core de spip le modèle de mail est dans prive/modeles/mail_inscription.html, dans les docs disponibles sur les notifications les modèles sont rangés dans /notifications

Du coup je ne comprends pas trop comment la fonction notification va chercher le modèle de mail.

Quelqu'un as t'il des infos ou une expérience sur ce sujet ?

Merci de votre aide

Arnaud B. (Mist. GraphX)

Le 03/09/2012 11:41, YannX/SPIP a écrit :

Bonjour,

Pas tres a l'aise avec toutes les fonctions de PHP
(et il y en a) en particulier sur les tableaux

je comprends bien l'argument de rappeler l'accès
aux fonctions de PHP facile en SPIP, mais
pour les (tres) nombreux qui choisissent un CMS
pour ne pas avoir a developper en PHP

j'aimerais trouver deux pages:
- l'une synthétique sur les ARRAYS
   (elle existe, mais je ne memorise pas assez certains liens)
- l'autre sur spip.net une liste de fonctions complémentaires
    (rappelant le principe d'appel php, et
    (fournissant un grand nombre d'exemples,
    (avec en regard le lien vers la page de PHP /ou mieux/,
    (du type FAQ, en fonction des usages rencontrés sur la liste..

Le 02/09/2012 18:33, freebsnet a écrit :

je comprends bien, il manquerai tout de même un petit exemple avec la
bonne syntaxe à utiliser.
[(#CONFIG{tableau}|unserialize|table_valeur{nom_valeur})]

Pour améliorer deja l'information disponible
YannX

Parti trop vite, car je voulais rajouter une question:

Comment on fait qd on(newbie) lit qq.chose comme:
Attention : la balise retournant la valeur brute depuis la table spip_meta, les valeurs stockées sous forme de tableau sérializé sont retournées telles qu’elles.

Désolé pour cette remarque "bruit"ante
YannX

Le 03/09/2012 14:07, Cédric Morin a écrit :

> #CONFIG{tableau/nom_valeur}
> fait directement le travail en SPIP 3
>

Pat

Le 02/09/2012 18:33, freebsnet a écrit :

je comprends bien, il manquerai tout de même un petit exemple avec la
bonne syntaxe à utiliser.
[(#CONFIG{tableau}|unserialize|table_valeur{nom_valeur})]

surtout quand je lis ceci dans dans l'article :
|table_valeur - SPIP

|table_valeur fonctionne aussi avec des tableaux "linéarisés", par
exemple, les tableaux retournés par les balises #ENV et #CONFIG *(mais
ces balises disposent de leur propre syntaxe pour accéder aux valeurs
du tableau)*.

j'ai pas testé mais on doit pouvoir faire pareil avec #ENV
[(#ENV{tableau}|unserialise|table_valeur{nom_valeur})]

cordialement

Le 02/09/2012 18:08, Charles Razack a écrit :

Le 02/09/2012 16:40, freebsnet a écrit :

bonjour,
merci bien pour la solution, ça fonctionne nickel.
je note au passage que le filtre unserialise est absent du glossaire
spip.
la seule trace de ce sujet que j'ai trouvé est dans cet article :
|table_valeur - SPIP
Et encore ça ne renseigne pas vraiment.

cordialement

Il ne s'agit pas d'un filtre propre à Spip, mais d'une fonction native
de PHP. En fait une partie de celles-ci peuvent être passées comme
filtres aux balises de Spip, elles sont documentées sur php.net.

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc