•  » Plugins
  •  » [Résolu] afficher du code php après passage de la fonction htmlspecialchars

#1 2009-11-02 21:26:18

datajulien
Membre
Bruxelles (BE)
2009-07-29
282

[Résolu] afficher du code php après passage de la fonction htmlspecialchars

Bonsoir à tous, j'ai un petit souci pour encapsuler du code php. Je voudrais pourvoir mettre dans un formulaire (type textarea) du code php, qui représentera plus tard le nom de ma galerie. Ce code sera ensuite stocké en base de donnée puis repris ultérieurement (si un visiteur vient se perdre sur ma galerie) et interprété.

Comme je savais pas faire autre qu'un replace massive des doubles quote par '\\\\"', j'ai regardé comment le gérait le moteur piwigo (dans admin/configuration.php). Le moteur utilise la fonction "htmlspecialchars".

Ceci m'a apporté 2 problèmes. Le premier, l'utilisation "massive" des ";" m'a obligé à remplacer le séparateur ";" des configurations de mon plugin par le caractère "|". Je voulais donc savoir sur ce point si le séparateur ";" était une norme pour les paramètres des plugin ou non, si je peut donc laisser mon pipe.

Le second point, le dernier à finir pour conclure mon plugin, est qu'une fois cette chaine récupérée de la base et affichée sur la galerie, le code php n'est pas interprété, mais affiché dans l'état.

Petit exemple,
Je souhaite pour une catégorie précise afficher le titre suivant :

Code:

<a href="morgane.quoirez.com" title="Ma belle galerie" >bienvenue sur la plus belle des galeries</a>

J'insere donc dans l'interface d'admin de mon plugin ce titre, qui sera stocké en base sous la forme de (car utilisation de htmlspecialchars) :

Code:

&lt;a href=&quot;morgane.quoirez.com&quot; title=&quot;Ma belle galerie&quot; &gt;bienvenue sur la plus belle des galeries&lt;/a&gt;

Jusque la tout va bien.
Cependant, lorsque je surcharge la variable $conf['page_banner'], sur la page de ma catégorie, s'affiche le source :

Code:

 <a href="morgane.quoirez.com" title="Ma belle galerie" >bienvenue sur la plus belle des galeries</a>

au lieu d'avoir un jolie lien formaté suivant le css.

Je ne vois pas ce que je dois faire.

Merci d'avance!

Hors ligne

#2 2009-11-03 09:59:45

nicolas
Former Piwigo Team
2004-12-30
1526

Re: [Résolu] afficher du code php après passage de la fonction htmlspecialchars

Je ne suis pas sûr de bien comprendre ton problème.

datajulien a écrit:

Ceci m'a apporté 2 problèmes. Le premier, l'utilisation "massive" des ";" m'a obligé à remplacer le séparateur ";" des configurations de mon plugin par le caractère "|". Je voulais donc savoir sur ce point si le séparateur ";" était une norme pour les paramètres des plugin ou non, si je peut donc laisser mon pipe.

Je ne comprends pas de quoi tu parles.

datajulien a écrit:

Le second point, le dernier à finir pour conclure mon plugin, est qu'une fois cette chaine récupérée de la base et affichée sur la galerie, le code php n'est pas interprété, mais affiché dans l'état.

As-tu un exemple concret de ce que tu as stocké en base ?


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#3 2009-11-03 12:26:54

datajulien
Membre
Bruxelles (BE)
2009-07-29
282

Re: [Résolu] afficher du code php après passage de la fonction htmlspecialchars

Dans la table : piwigo_config, les paramètres sauvegardés pour mon plugin sont :

Code:

"1,floOS,clear,1,&lt;a href=&quot;morgane.quoirez.com&quot; title=&quot;Ma belle galerie&quot; &gt;bienvenue sur la plus belle des galeries&lt;/a&gt;|2,floOS,clear,2,test nom galerie|3,floOS,clear,2,test nom galerie|4,floOS,clear,2,test nom galerie|5,floOS,clear,2,test nom galerie"

pour cela j'utilise le séparateur "|". je voulais juste savoir si il y a une norme.

En base j'ai donc

Code:

&lt;a href=&quot;morgane.quoirez.com&quot; title=&quot;Ma belle galerie&quot; &gt;bienvenue sur la plus belle des galeries&lt;/a&gt;

ce qui m'affiche

Code:

<a href="morgane.quoirez.com" title="Ma belle galerie" >bienvenue sur la plus belle des galeries</a>

au lieu d'un lien pointant vers morgane.quoirez.com comme titre de galerie.

[edit] : je pense que je dois faire un traitement sur la chaine stocker en base pour la reformater en code php

Dernière modification par datajulien (2009-11-03 12:33:43)

Hors ligne

#4 2009-11-03 14:28:21

datajulien
Membre
Bruxelles (BE)
2009-07-29
282

Re: [Résolu] afficher du code php après passage de la fonction htmlspecialchars

Bon, tout bêtement, pour l'afficher, il suffit d'utiliser la fonction htmlspecialchars_decode(string $str)

Hors ligne

#5 2009-11-03 15:06:40

nicolas
Former Piwigo Team
2004-12-30
1526

Re: [Résolu] afficher du code php après passage de la fonction htmlspecialchars

Je ne vois pas de code php dans ce que tu as écrit !


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#6 2009-11-03 15:41:21

datajulien
Membre
Bruxelles (BE)
2009-07-29
282

Re: [Résolu] afficher du code php après passage de la fonction htmlspecialchars

ok, je viens de comprendre, pour simplifier, j'ai mis que du html.
d'où plus de php dans l'exemple.

Ca marche avec le php, il est bien interprété.

Merci

Dernière modification par datajulien (2009-11-03 15:43:19)

Hors ligne

  •  » Plugins
  •  » [Résolu] afficher du code php après passage de la fonction htmlspecialchars

Pied de page des forums

Propulsé par FluxBB

github twitter facebook newsletter Faire un don Piwigo.org © 2002-2019 · Contact