Problème phpbb arcade on line 490: sprintf()

Ici sera assuré le support pour n'importe quel MOD non présent dans la base de données de phpBB-fr.

Modérateur: Equipe

Règles du forum
Rappel: Conditions générales d'utilisation de phpBB-fr.com - Conditions générales de support de phpBB-Fr.com

Merci de mettre le titre du MODs et la version entre crochet et un titre explicite afin de faciliter la recherche. Exemple :
[nom du mod + numéro de version]Titre explicite résumant le problème.

Problème phpbb arcade on line 490: sprintf()

Messagepar elvis64 » 28 Jan 2009 à 15:32

Bonjour,

J'ai installé le forum phpbb avec phpbb arcade ainsi que le portail board3 et lorsque j'ajoute un jeu je me retrouve avec l'erreur suivante :

[phpBB Debug] PHP Notice: in file /includes/arcade/functions_arcade.php on line 490: sprintf() [function.sprintf]: Too few arguments
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3766: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3768: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3769: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3770: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)

J'ai testé en revenant en anglais mais j'ai la même erreur.

Voici le lien : http://www.lelysard.be/forum/arcade.php

Merci d'avance pour votre aide
elvis64
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: 11 Déc 2008 à 17:12

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar Théonaute » 28 Jan 2009 à 16:53

Bonjour,

Faîtes attention où vous postez vos messages, les descriptions de forums ne sont pas pour décorer à Noël...
Votre sujet a été déplacé par un membre de l'équipe.
Forum d'origine : phpBB3 ‹ [phpBB 3.0.x] Forums des MODs ‹ Aide au développement et à l'adaptation de MODs
Aucun rapport avec le forum d'aide au développement puisque ce n'est pas une question pour un MOD que vous développez.

Bien à vous, :wink:
Théonaute | Retraité de l'équipe des MODs
Citation :
<?php while(!($succeed = try())) ?>
Désolé, je ne fais plus de support pour phpBB et tous mes MODs ont été arrêtés.
Avatar de l’utilisateur
Théonaute
Dieu des floodeurs
Dieu des floodeurs
 
Messages: 5702
Inscription: 22 Jan 2006 à 15:45
Localisation: Montréal

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar ErnadoO » 28 Jan 2009 à 19:40

Hello

sur quelle page est l'erreur? Car je n'ai rien à première vue en allant à la page dont vous donnez le lien ;)
ErnadoO
 

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar elvis64 » 29 Jan 2009 à 11:42

Désolé pour l'emplacement.

Mais voici le lien avec un login et pass : http://www.lelysard.be/forum/arcade.php
Login : test
Pass : testtest (j'ai pas trouvé plus original)

Merci d'avance
elvis64
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: 11 Déc 2008 à 17:12

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar ErnadoO » 29 Jan 2009 à 11:48

A première vue je dirais que vous n'avez pas uplaodé les fichiers de langues du mod dans votre repertoire fr
ErnadoO
 

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar elvis64 » 29 Jan 2009 à 16:27

J'avais donc télécharger le fichier arcade-fr.rar que j'ai décompressé dans les dossiers respectifs.
J'ai remis en place ces mêmes fichiers et rien ne change.

Merci pour vos conseils. Si vous avez une autre idée, n'hésitez pas.
elvis64
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: 11 Déc 2008 à 17:12

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar ErnadoO » 29 Jan 2009 à 17:15

bon dans functions_arcade, remplace
Code: Tout sélectionner
         $template->assign_block_vars('latest_scores', array(
            'HEADING_CHAMP'             => sprintf($user->lang['ARCADE_WELCOME_CHAMP'], $latest_scoreuser, $game_url),
par
Code: Tout sélectionner
         $j = isset($j) ? $j++ : 1;
         echo 'boucle '.$j.':<br />';
         echo '$latest_scoreuser: '.$latest_scoreuser.'<br />';
         echo '$game_url: '.$game_url.'<br /><br />';

         $template->assign_block_vars('latest_scores', array(
      //      'HEADING_CHAMP'             => sprintf($user->lang['ARCADE_WELCOME_CHAMP'], $latest_scoreuser, $game_url),
une fois que c'est fait, dis le ici que je constante par moi même le résultat
ErnadoO
 

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar sylver35 » 29 Jan 2009 à 17:36

bonjour,

Je pense que cela est dû au fait que la clef de langue contient moins de "%1$s" ou "%d" que d'arguments donnés dans le sprintf.

Si c'est bien la ligne en question:
Code: Tout sélectionner
'HEADING_CHAMP'             => sprintf($user->lang['ARCADE_WELCOME_CHAMP'], $latest_scoreuser, $game_url),


Tu doit trouver dans la clef "ARCADE_WELCOME_CHAMP", "%1$s" et "%2$s"
L'erreur le dit bien: trop d'arguments pour cette clef de langue: $latest_scoreuser et $game_url

Une clef de langue non résolue sur la page: { ARCADE_SEARCH_NEW_GAMES }
La vérifier

Voir les lignes 490 et 215 dans /includes/arcade/functions_arcade.php

A bientôt de vous lire.
La vitesse de la lumière étant supérieure à la vitesse du son, bien des gens paraissent brillants jusqu'au moment où ils ouvrent la bouche.

Image

Nouvelle version du 25/12/2011: Mod Breizh Shoutbox v1.5.0 || Mod Breizh Ajax Checks 1.1.0 || Mod Browser, os & Screen 0.3.0 || Erreurs et Notices de débug version 1.1.0
Info Sécurité -> Renommer le dossier d'administration adm || Une captcha efficace contre les inscriptions robots || Hébergement breizh hosting (- 15% via Breizh Portal)
Avatar de l’utilisateur
sylver35
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 3980
Inscription: 26 Fév 2008 à 14:58
Localisation: Bretagne

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar ErnadoO » 29 Jan 2009 à 17:45

Faux faux faux et faux, too few = trop peu.
Donc soit la clée d elangue n'existe pas (mais d'après ce que m'a dit elvis64, il n'y a pas de raisons), soit l'un des deux arguments est vide.

D'où mon code, qui va nous donner les valeurs de ces 2 variables à chaque boucle
ErnadoO
 

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar sylver35 » 29 Jan 2009 à 18:26

Merci ErnadoO de m'avoir signalé mon erreur de traduction de few...

J'ai dll le mod, regardé les fichiers incriminés, et vu les erreurs:

si on doit entrer plus de 1 argument dans une clef de langue, on doit remplacer %s par %1$s %2$s, et ainsi de suite en fonction du nombre d'argument présents.

Or, en regardant les fichiers langue du mod, rien de cela n'est fait, voici les lignes incriminées dans mods/arcade.php
Code: Tout sélectionner
ligne 114: 'ARCADE_LAST_PLAY'            => '%s scored %s playing %s',
ligne 272: 'ARCADE_WELCOME_CHAMP'            => '%s is the new %s champion!',


devraient être:
Code: Tout sélectionner
ligne 114: 'ARCADE_LAST_PLAY'            => '%1$s scored %2$s playing %3$s',
ligne 272: 'ARCADE_WELCOME_CHAMP'            => '%1$s is the new %2$s champion!',


On peut voir les explications dans chaque fichier langue de phpbb:
Code: Tout sélectionner
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct


Mais, tout le mod est comme cela!
La vitesse de la lumière étant supérieure à la vitesse du son, bien des gens paraissent brillants jusqu'au moment où ils ouvrent la bouche.

Image

Nouvelle version du 25/12/2011: Mod Breizh Shoutbox v1.5.0 || Mod Breizh Ajax Checks 1.1.0 || Mod Browser, os & Screen 0.3.0 || Erreurs et Notices de débug version 1.1.0
Info Sécurité -> Renommer le dossier d'administration adm || Une captcha efficace contre les inscriptions robots || Hébergement breizh hosting (- 15% via Breizh Portal)
Avatar de l’utilisateur
sylver35
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 3980
Inscription: 26 Fév 2008 à 14:58
Localisation: Bretagne

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar ErnadoO » 29 Jan 2009 à 18:32

sylver35 a écrit:si on doit entrer plus de 1 argument dans une clef de langue, on doit remplacer %s par %1$s %2$s, et ainsi de suite en fonction du nombre d'argument présents.

Or, en regardant les fichiers langue du mod, rien de cela n'est fait, voici les lignes incriminées dans mods/arcade.php
Code: Tout sélectionner
ligne 114: 'ARCADE_LAST_PLAY'            => '%s scored %s playing %s',
ligne 272: 'ARCADE_WELCOME_CHAMP'            => '%s is the new %s champion!',


devraient être:
Code: Tout sélectionner
ligne 114: 'ARCADE_LAST_PLAY'            => '%1$s scored %2$s playing %3$s',
ligne 272: 'ARCADE_WELCOME_CHAMP'            => '%1$s is the new %2$s champion!',


On peut voir les explications dans chaque fichier langue de phpbb:
Code: Tout sélectionner
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
Ce n'est absolument pas vrai; phpBB ne fait que le recommander (utilisation de can et should), pour permettre d'utiliser le 1er argument en 2em position, et vice versa, mais ce n'est pas une erreur de ne pas le faire ;)
ErnadoO
 

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar elvis64 » 02 Fév 2009 à 15:32

voila,

Votre code est installé. Qu'en dites vous?
elvis64
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: 11 Déc 2008 à 17:12

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar ErnadoO » 02 Fév 2009 à 17:35

Comme on le voit dorénavant sui ta page, c'est la variable $game_url, vide, qui provoque ton problème.

après, pourquoi est elle vide? et bien à moins que tu as touché au fichier d'origine, je n'en sais rien, car cette variable est déclarée quelques lignes plus haut:
Code: Tout sélectionner
$game_url = '<a href="' . append_sid("arcade.$phpEx?mode=play&amp;g=" . $latest_highscore['game_id']) . '">' . $latest_highscore['game_name'] . '</a>';
Comble du comble, tu as désormais une erreur similaire affichée en ligne 215; c'est à ni rien comprendre.

tu utilises bien un fichier functions_arcade.php original?
ErnadoO
 

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar elvis64 » 02 Fév 2009 à 19:26

Pour plus de facilité je t'ai donné un accès par MP.

Tiens moi au courant. Merci.
elvis64
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: 11 Déc 2008 à 17:12

Re: Problème phpbb arcade on line 490: sprintf()

Messagepar ErnadoO » 02 Fév 2009 à 20:25

Vous avez une version RC6 traffiquée, mettez à jour le mod en RC7 et tenez moi au courant (pour cela, suivez les instructions du fichier contrib/update10RC6-10RC7.xml )
ErnadoO
 

Suivante

Retourner vers MODs indépendants de la base

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités

Partenaires : phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB3 Styles • phpBB podpora • phpBB Portugal    Liens : Net Avenir • PromoBenef • Ticket Gagnant