Skip to main content Help Control Panel

 

support «   Soupçons de bogues «  

Parse error: syntax error, unexpected T_IS_NOT_EQUAL [Integrated]

Christian -- on Dec. 31 2008, from Chonas l'Amballan
YACS team - responsable support
création site internet
annuaire entreprise Rhône-Alpes

OwnerChristian
Progress100%
WorkflowSupport request
StatusSolution has been fully integrated
  • Submission on Dec. 31 2008 by Bernard Paques
  • Finalization on Jan. 2 2009

Je relance ce sujet ( Parse error: syntax error, unexpected T_IS_NOT_EQUAL [résolu] )qui pour moi n'est pas résolu puisque j'ai le problème sur 2 sites dont un en production j'ai supprimé comme indiqué le répertoire iln8 pour mettre celui de l'archive de la 8.12 (depuis google code) car je suis en 8.12 L'erreur ne se produit que sur des discussions de forum et autant de fois qu'il y a d'intervention dans la discussion Parse error: syntax error, unexpected T_IS_NOT_EQUAL in C:\wamp\www\actupro-fr\creation-site-internet\i18n\i18n.php(1345) : eval()'d code on line 1 A cet endroit la valeur de $plural est $total=2; $select=( != 1); YACS 8.12beta6, 081206-23:04:21 GMT, 127.0.0.1
PHP 5.2.5
MySQL 5.0.45-community-nt
Apache Apache/2.0.63 (Win32) PHP/5.2.5


Bernard Paques
on Jan. 2 2009
La correction a été intégrée dans yacs 8.12 livré ce jour. Voir Télécharger la version stable de Yacs

Christian
on Jan. 2 2009

Bravo, merci et meilleurs voeux

Cela corrige mon problème.

C'est vrai que j'ai eu des problèmes pour bien règler les droits sur ce forum et qu'à un moment on pouvait ajouter des commentaires sans s'identifier !

-----
Christian Loubechine
actupro



Actupro
quelques sites yacs : création site internet annuaire pro

Bernard Paques
on Jan. 2 2009
Hmmm, ton indication sur le fait que ceci arrive seulement dans un forum a été le déclic. J'ai pu reproduire le problème sur la machine de développement avec un commentaire ajouté par une personne non authentifiée. Ensuite, la remontée au problème a été simple.

Voici le résultat de l'analyse. Lorsqu'une personne ajoute un commentaire a un fil de discussion sans s'authentifier, aucun identifiant utilisateur n'est positionné dans le nouveau commentaire. Le script de mise en page des commentaires fait comme si de rien n'était, et appelle la librairie i18n pour afficher le nombre de contributions de l'auteur du commentaire. Normalement, la fonction appelée, i18n::ns() a un nombre entier comme troisième argument. Mais dans le cas particulier qui nous occupe, ce paramètre est positionné comme chaîne nulle, ce qui provoque le message d'erreur incriminé.

Pour prévenir le problème, les lignes suivantes ont été insérées au début de la fonction ns, dans le script i18n/i18n.php, comme suit :

function &ns($singular$plural$count) {
    global 
$context;

    
// sanity check
    
$count intval($count);
    if(
$count 1)
        
$count 1;
            
    
// select language used by surfer
    
...


Le positionnement de la variable $count à l'intérieur de la fonction ns() devrait suffire à supprimer tous les messages d'erreur.

Une nouvelle version de i18n/i18n.php, prévue pour yacs version 8.11 au minimum, est fournie dans le patch ci-dessous.

Par sécurité, le code d'appel a été aussi modifié dans comments/layout_comments_as_yabb.php.

Ces compléments seront rendu disponibles dans la prochaine version de yacs, qui ne saurait tarder.


20090101-patch-i18n.tgz

Files


20090101-patch-i18n.tgz

shared by Bernard Paques on Jan. 2 2009 · 108 downloads · 12,441 bytes

details