FIX plein de bugs introduits avec la Grand Restructuration
[euphorik.git] / js / pageMinichat / commandes.js
index a044617..4d25a43 100644 (file)
@@ -35,7 +35,19 @@ euphorik.Commandes.statut = {ok : 0, pas_une_commande : 1, erreur_commande : 2};
 
 euphorik.Commandes.liste = {
    "nick" : {
-      usage :
+      usage : "\\nick <nouveau pseudo",
+      exec : function(args, client) {
+         
+         if (args.length === 0) {
+            return [euphorik.Commandes.statut.erreur_commande, 'Utilisation de la commande : ' + this.usage];
+         }
+   
+         client.pseudo = args[0];
+         $("form#posterMessage input.pseudo").val(client.pseudo);
+   
+         return [euphorik.Commandes.statut.ok, ''];
+      }
+   }      
 };
 
 /**
@@ -45,10 +57,11 @@ euphorik.Commandes.liste = {
 euphorik.Commandes.prototype.exec = function(chaine) {
    chaine = chaine.trim();
    
-   var fragments = chaine.split(/\s*/);
+   var fragments = chaine.split(/\s+/);
    if (fragments.length === 0 || fragments[0].charAt(0) != '/') {
       return [euphorik.Commandes.statut.pas_une_commande, ''];
    }
+   console.log(fragments)
    
    var nomCommande = fragments[0].slice(1);
    var args = fragments.slice(1);
@@ -57,26 +70,9 @@ euphorik.Commandes.prototype.exec = function(chaine) {
       return [euphorik.Commandes.statut.erreur_commande, 'La commande est vide'];
    }
    
-   if (euphorik.Commandes.liste.hasOwnProperty(commande) {
-      var commande = 
-      return this.commandeNick(args);
+   if (euphorik.Commandes.liste.hasOwnProperty(nomCommande)) {
+      return euphorik.Commandes.liste[nomCommande].exec(args, this.client);
    }
    
-   switch (commande) {
-      case "" : 
-      case "nick" : 
-   }
-   
-   return [euphorik.Commandes.statut.erreur_commande, 'La commande \\' + commande + ' est inconnue'];
-};
-
-euphorik.Commandes.prototype.commandeNick = function(args) {
-   if (args.length === 0) {
-      return [euphorik.Commandes.statut.erreur_commande, 'Utilisation de la commande : "\nick <nouveau pseudo>"'];
-   }
-   
-   this.client.pseudo = args[0];
-   $("form#posterMessage input.pseudo").val(this.client.pseudo);
-   
-   return [euphorik.Commandes.statut.ok, ''];
+   return [euphorik.Commandes.statut.erreur_commande, 'La commande \\' + nomCommande + ' est inconnue'];
 };