Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.4
#~ Url du site : locale
#~ Hébergeur / Soft : wamp 2.2
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.4
#~ Installed Modules:
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.3
#~ FileManager: 1.4.3
#~ MenuManager: 1.8.5
#~ MicroTiny: 1.2.5
#~ ModuleManager: 1.5.5
#~ News: 2.12.10
#~ Search: 1.7.7
#~ ThemeManager: 1.1.7
#~ AdvancedContent: 0.9.4.3
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ output_compression:
#~ max_upload_size: 2000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.3.10
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ E_DEPRECATED: 0
#~ memory_limit: 128M
#~ max_execution_time: 400
#~ output_buffering: 1
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 8M
#~ upload_max_filesize: 2M
#~ session_save_path: c:/wamp/tmp (0777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: apache2handler
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.5.20
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Ce n'est pas une question mais si quelqu'un peut tester et confirmer le problème.....
Voila la chose: si l'on utilise Advanced Content et que l'on attribue à une page le type Contenu avancé , si l'on intègre ensuite au gabarit de la page un UDT dans lequel on déclare une fonction (function laveplusblanc($tigrou){$tigrou=strtolower($tigrou);}...j'en ai même testé de plus minables) la page n'est plus éditable, on récupère une "error404". C'est même pire d'après mes tests, si l'on commence par mettre l'UDT contenant une fonction dans la page, il n'est plus possible ensuite de lui attribuer le type Contenu Avancé.
A priori, je poste cela ici parceque cela concerne Adanced Content mais je crains qu'il s'agisse d'un "effet de bord" lié à la façon dont le core parse les UDT. Je vais essayer de jeter un œil.
Solution de dépannage, virer temporairement l'udt du gabarit puis modifier la page et remettre l'UDT dans le gabarit.
Lire la doc toujours et encore... Mais là j'avoue, pas vu la chose
Voila la réponse et ce n'est pas une bonne nouvelle pour moi et je le suppose pour un certain nombre d'utilisateurs plus ou moins avancés de CMSMS
Réponse du développeur en charge du module (je traduis) : ce n'est pas un bug, depuis la version 1.11, les UDT ne sont plus interprétés (processed) dans le back-end. Là où je comprends moins, l'UDT en question comporte des requêtes sql qui sont parfaitement exécutées. Seule la présence d'une fonction dans l'UDT pose problème dans les pages de type contenu avancé (j'ai testé, aucun souci avec les pages de type "content").
Bon je dois pas bien comprendre la réponse je me permets donc de la reproduire ici :
"This is not a bug in AC but a normal behaviour of CMSms 1.11.
User defined tags are not processed anymore in backend."
Bizarre que ça marche dans un content normal et pas dans AC si "a normal behaviour" et "not processed anymore"
Tu as essayé avec news ou cataloger ?
Salut Jean,
Je vais attendre quelques éclaircissements ici avant de lui répondre. J'ai monté une 1.11.4 toute neuve avec juste Advanced content en local pour essayer .
Mais si tu peux faire l'essai tu verras le truc. J'ai mis un sacré moment à mettre le doigt dessus. Déjà penser que le bug d'édition d'une page vienne d'un UDT qui par ailleurs fonctionne parfaitement sur le front side (tout est bien et normalement exécuté) cela n'a rien de logique. Ensuite couper l'UDT en morceaux pour se rendre compte que c'est la déclaration de fonction qui perturbe le fonctionnement... Tu penses bien que j'ai émis pas mal d'hypothèses farfelues avant de trouver le truc. J'ai fait d'autres essais et c'est manifeste: avec le type advanced content sur une page, la présence d'une déclaration de fonction (pas même besoin de l'appeler) empêche l'édition de la page.
Donc pour faire le test et dan l'ordre:
1) création d'un UDT nommé "atester" disons
Code :
[== PHP ==]
function bizarre() {echo "world";}
2) Passage d'une page en type de contenu "Contenu Avancé"
3) insertion de l'UDT dans le gabarit de la page concernée
4) tentative d'édition de la page (appliquer ne fonctionne pas et envoyer affiche un morceau de page sans CSS suivi d'une erreur 404)
5) modification de l'UDT "atester":
Code :
[== Indéfini ==]
echo "world";
donc plus de fonction déclarée
6) tentative d'édition de la page : en principe tout va bien, appliquer et envoyer fonctionnent normalement...
J'ai le vague sentiment d'avoir ouvert une boite de Pandore....
. J'ai le chic pour ça !
Non j'ai pas testé avec news ou cataloger mais si c'est le cas j'ai encore mis le doigt sur un truc...
Oui, j'ai le même problème avec Advanced content, mais également, le code html est tronqué si je place directement l'udt dans un contenu de page traditionnel (sans que ce soit le gabarit). Bien que "world" soit affiché, il manque le header et la partie suivant le content.
Pour faciliter le test, tu peux directement voir le résultat dans l'onglet aperçu de la page : 404 ou pas.
J'ai testé avec news et pas de problème lorsque l'udt est dans le gabarit détail de news, elle affiche "world".
Par contre, si je la place dans le contenu de la news (avec ou sans dans le gabarit), même problème que dans un contenu de page.
Même {capture "test"}{fonction}{/capture} déconne.
Merci Jean pour les tests.
Je me cite (on n'est jamais mieux servi que par soi même hein!)
Citation :A priori, je poste cela ici parce que cela concerne Adanced Content mais je crains qu'il s'agisse d'un "effet de bord" lié à la façon dont le core parse les UDT
Conclusion sans doute hâtive, faut remonter l'info au Team developpement et c'est encore pas mal de job avant la publication de la 1.11.5. Cela risque de créer pas mal de surprises désagréables...
Je ne sais pas ce que tu en penses ? Pour le moment, je mets sur pause, j'ai une grosse journée demain !
J'ai fait l'essai avec la 1.11.5 svn, manifestement c'est la même chose....
J'ai laissé un nouveau message
ici, mais pour l'heure je n'ai pas de réponse.
Le cas de figure est plutôt embêtant, s'il est impossible d'utiliser une fonction dans un UDT (le développeur me propose de faire un plugin smarty...) je me demande encore à quoi peuvent bien servir ces petites choses là...
Ou je comprends mal ce que m'indique le développeur, ou traîne dans les dernières versions de CMSMS un petit bug sympathique. Si quelqu'un a des nouvelles, parce que là, malheureusement, je ne peux pas faire plus. :|
Citation :le code html est tronqué si je place directement l'udt dans un contenu de page traditionnel
Tu ne peux pas utiliser une udt contenant une fonction dans un bloc de contenu...
Il semble qu'il vaudrait mieux poster cela dans les bugs du core, et pas AC.
Je viens de faire le signalement en bon "Franglais" .
A consulter ici
Wait and see !
On est complètement à côté de la plaque : ça ne peut pas marcher sans lancer la fonction; il faut qu'elle retourne qqchose.
Code :
function bizarre() {echo "world";}
bizarre();
devrait fonctionner (également dans AC) !
Cela réagit vite, Jean peux-tu stp jeter un œil sur le bug déclaré et confirmer que toi aussi tu rencontres des difficultés ? :/
J'ai testé en lançant la fonction, c'est la même chose !
Code :
[== Indéfini ==]
function bizarre() {echo "world";}
bizarre();
{fonction} dans un content de page fonctionne, mais pas dans un contenu ou sommaire de news ni dans leur gabarit.
Pas simple la communication hein....
Calguy a déjà marqué le bug comme non valide..
Perso je laisse tomber, je n'ai pas la patience.
Citation :{fonction} dans un content de page fonctionne, mais pas dans un contenu ou sommaire de news
balise utilisateur : {okyes}
function my_test() { echo "my_test functionc alled<br/>"; }
my_test();
En activant les erreurs dans PHP quel est le message d'erreur ??
pur moi 1.11.5 “Puerto Ayora_8696Fr” PHP 5.3.22 et ¨PHP 5.4.12
- Sous WAMP
Dans un contenu ou sommaire de news
( ! ) Fatal error: Cannot redeclare my_test() (previously declared in 1\lib\classes\class.usertagoperations.inc.php(265) : eval()'d code:1)
Et pas de CSS
Sous Linux IDEM
Ce serait bien que tu enfonces le clou, tu as plus de crédits auprès de Calguy que nous
OK mais je souhaite que vous(plusieurs utilisateurs ) donniez le message d'erreur indiqué Et si utilisation WAMP ET Linux pour valider
Si c'est un problème uniquement Windaube il n'y aura surement pas de correction !
error_reporting = E_ALL et pas d'erreur affichée sous wamp dans un contenu news (il manque une partie du html dont la head). Malgré tout, la valeur hello world est affichée.
Pas de souci JCE, je teste cela en ligne ce soir sur un hébergement perso OVH et je te tiens au courant !
Bon l'erreur est reproductible chez OVH, voila pour la bonne nouvelle, par contre pas de trace d'erreur PHP dans les log en local et en ligne....
JCE peux tu m'indiquer comment tu récupères ton erreur en local sous Wamp ?
S'il y a une erreur il doit avoir un message PHP ou Smarty
Citation :JCE peux tu m'indiquer comment tu récupères ton erreur en local sous Wamp ?
Dans le PHP.ini error_reporting = E_ALL
'- All errors and warnings (includes E_STRICT as of PHP 5.4.0) c'est le mode de développement normal
J'ai error_reporting = E_ALL | E_STRICT? je suis en php 5.3 et je ne récupère pas d'erreur, comme l'indique Jean, il manque une partie de la head dans le HTML. J'ai même essayé d'installer une version + à jour de Xdebug pour voir mais...
On est déjà 3 à avoir constaté le bug, qu'il s'agisse d'une version tournant sous Win ou Linux. C'est clair que sans message d'erreur il n'est pas facile de cerner le truc
En tous cas merci pour ton aide !
J'ai remonté un serveur apache + PHp 5.3.3.7 sur une debian
et tester dans les mêmes conditions que sur le poste du 28/02/2013 09:39:40
et je n'ai pas d'erreur ni de manque de css