IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Une parenthèse dans un array et le chat est dans le sac


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club Avatar de Couin
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 67
    Points
    67
    Par défaut Une parenthèse dans un array et le chat est dans le sac
    Helloooo

    Mais qu'est-ce qu'il raconte le canard avec son chat ???

    Je modifie un tchat (BlabAx) en rajoutant des codes pour les smileys, dans le fichier emoticons.php .
    Par exemple, le code :smiling: donne le classique smiley au visage souriant.
    Tout comme le code :tongue: donne le smiley qui tire la langue.

    Le array dans le fichier php est composé de codes de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $emoticons[]=':smiling: svg_emo_smiling 1';
    $emoticons[]=':tongue: svg_emo_tongue 1';
    La première partie est le code smiley, la seconde est l'image appelée, et le 1 est juste si on affiche ou non ce smiley dans la liste des smileys disponible (caché si 0, ce qui est pratique pour éviter 'avoir plusieurs fois le même smiley si il a des codes différents).
    Ce array est exploité dans un fichier blabax.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // prepare list of emoticons to replace
    require_once('emocodes.php');
     
    $emos2js='';  $emos2dv='';
     
    foreach ($emoticons as $emo) {
    $emo=explode(' ',$emo);
     
    if(isset($emo[2])){
    $emos2js.="emos['".$emo[0]."']='".$emo[1]."';\r\n";
    if($emo[2]==1){$emos2dv.='<span class="'.$emo[1].' chat_list_emoticon" onclick="shoop(this,1,100);emo2input(\''.$emo[0].'\')"></span>';}
    }}
    Puis $emos2js est exploité dans un script de blabax.pxtm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    emos=new Array();
    <?php print $emos2js;?>
    On a tous l'habitude de mettre : ) (sans l'espace car sinon le forum affiche le smiley lol) ou :p pour ces smileys, donc j'ai voulu ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $emoticons[]=':) svg_emo_smiling 0';
    $emoticons[]=':p svg_emo_tongue 0';
    Du coup, la partie messages du tchat affiche "undifined" .
    Si je retire ou commente la ligne pour le code : ) , le chat fonctionne.

    Je pense que le problème vient du fait que la parenthèse du code smiley ne va pas avec celles du array javascript.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    emos=new Array();
    <?php print $emos2js;?>
    Si je décommente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $emoticons[]=':) svg_emo_smiling 0';
    et que je retire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php print $emos2js;?>
    , le chat fonctionne (sans les smileys bien sur mais pas de "undefined").

    Quelqu'un aurait une idée pour pouvoir utiliser des parenthèses dans les valeurs du array JS ?

    Merkouiiin
    Retrouvez-moi tous les dimanches à 22H pour une heure de mix en live tout au vinyle sur eurodance90.fr
    Nouvelle version de Jingle Palette sur jinglepalettereloaded.com

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    salut,

    et ta fonction emo2input(), elle dit quoi?

  3. #3
    Membre du Club Avatar de Couin
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 67
    Points
    67
    Par défaut
    Hello,

    La voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function emo2input(x){
    inp.value=inp.value+' '+x+' '
    inp_focus()
    }
    Cependant, je pense qu'elle n’est pas en cause car si pour tester je modifie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $emos2js.="emos['".$emo[0]."']='".$emo[1]."';\r\n";
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $emos2js.="emos['toto']='".$emo[1]."';\r\n";
    en laissant tous les autres scripts d'origine, je n'ai pas de undefined (mais bien sur les smileys ne fonctionnent pas).
    Retrouvez-moi tous les dimanches à 22H pour une heure de mix en live tout au vinyle sur eurodance90.fr
    Nouvelle version de Jingle Palette sur jinglepalettereloaded.com

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    j'ai testé, et je n'ai pas vu de souci avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $emoticons[]=':) svg_emo_smiling 0';
    Peux-tu être plus précis sur l'erreur ?

    N.B. Ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    error_reporting(E_ALL); 	// en TEST !!
    [EDIT] Quant à ta fonction, un exemple simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var x = ':)';
    var inp = 'blabla';
    inp=inp+' '+x+' ';
    console.log( inp );
    On obtient bien : blabla :)

  5. #5
    Membre du Club Avatar de Couin
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 67
    Points
    67
    Par défaut
    Hello,

    Merci pour ta réponse
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    j'ai testé, et je n'ai pas vu de souci avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $emoticons[]=':) svg_emo_smiling 0';
    Avec quelle version de BlaBAx as-tu testé ? La mienne est la 19.01, n'ayant pas mis les versions csuivantes car les améliroations dans What'sNew n'étaient pas pertinentes.

    Edit : Je viens d'installer indépendament la dernière version du tchat et j'ai le même problème dès que je rajotue ce code smiley.

    Citation Envoyé par jreaux62 Voir le message
    Peux-tu être plus précis sur l'erreur ?
    Dans la zone de messages du tchat, j'ai juste "undefined" dès que je rajoute ce code smiley dans la liste des codes.

    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    j'ai testé, et je n'ai pas vu de souci avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $emoticons[]=':) svg_emo_smiling 0';
    Peux-tu être plus précis sur l'erreur ?

    N.B. Ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    error_reporting(E_ALL); 	// en TEST !!
    [EDIT] Quant à ta fonction, un exemple simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var x = ':)';
    var inp = 'blabla';
    inp=inp+' '+x+' ';
    console.log( inp );
    On obtient bien : blabla :)
    J'ai testé mais je n'obtiens rien dans la console . Aussi , le message envoyé sur le tchat est malgré cela, celui que je tape dnas la liste de texte. Je ne sais pas trop comment marche le ramassage des messages sur ce tchat lol

    J'ai aussi ajouté le error_reporting(E_ALL); mais je n'ai aucune indication de plus
    Retrouvez-moi tous les dimanches à 22H pour une heure de mix en live tout au vinyle sur eurodance90.fr
    Nouvelle version de Jingle Palette sur jinglepalettereloaded.com

Discussions similaires

  1. manque une parenthèse dans un if
    Par sam01 dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2010, 11h11
  2. Réponses: 3
    Dernier message: 21/08/2006, 11h31
  3. Parenthèses dans une expression régulière
    Par papyreno dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 10/05/2006, 16h28
  4. Réponses: 5
    Dernier message: 18/11/2005, 22h11
  5. [Lisp] Suppression des parenthèses dans une liste
    Par bourdaillet dans le forum Lisp
    Réponses: 3
    Dernier message: 19/12/2004, 21h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo