ADD affichage des ip bannies sur la page d'admin (pas fini, manque bouton "debannir")
[euphorik.git] / js / pageAdmin.js
index 6dc96de..d7a14be 100644 (file)
@@ -13,10 +13,15 @@ PageAdmin.prototype.contenu = function()
 {
    return '<h1>Trolls</h1>\
    <p>Chaque semaine un troll est choisit au hasard parmis les trolls proposés et devient le troll de la semaine.</p>\
-   <form action="" id="nouveauTroll"><p>\
-      <input class="troll" name="troll" type="text" maxlength="500" value=""></input>\
-      <button class="return" value="return">poster</button>\
-   </p></form><div id="trolls"></div>'
+   <form action="" id="nouveauTroll">\
+      <p>\
+         <input class="troll" name="troll" type="text" maxlength="500" value=""></input>\
+         <button class="return" value="return">poster</button>\
+      </p>\
+   </form>\
+   <div id="trolls"></div>\
+   <h1>IPs bannies</h1>\
+   <div id="ips"></div>'
 }
 
 PageAdmin.prototype.charger = function()
@@ -28,6 +33,8 @@ PageAdmin.prototype.charger = function()
    this.trolls = new Trolls(this.client, this.util, this.formateur)
    this.trolls.rafraichirTrolls()
    
+   this.majIPs()
+   
    $("#page form#nouveauTroll  input.troll").focus()
    
    $("#page form#nouveauTroll button.return").click(
@@ -89,6 +96,61 @@ PageAdmin.prototype.posterTroll = function()
 }
 
 
+/**
+  * Met à jour la liste des IP bannies.
+  */
+PageAdmin.prototype.majIPs = function()
+{
+   var thisPageAdmin = this
+
+   var dataToSend = 
+      {
+         "action" : "list_banned_ips", 
+         "cookie" : this.client.cookie
+      }
+
+   ;;; dumpObj(dataToSend)
+   jQuery.ajax(
+      {
+         type: "POST",
+         url: "request",
+         dataType: "json",
+         data: this.util.jsonVersAction(dataToSend),
+         success:
+            function(data)
+            {
+               ;;; dumpObj(data)
+               
+               if (data["reply"] == "list_banned_ips")
+               {
+                  var XHTML = ""
+                  for(var i = 0; i < data["list"].length; i++)
+                  {
+                     var ip = data["list"][i]
+                     XHTML += '<span class="ip">' + ip["ip"] + '</span>' +
+                        '<span class="temps">' +
+                        ip["remaining_time"] +
+                        '</span>['
+                     for(var j = 0; j < ip["users"].length; j++)
+                     {
+                        var user = ip["users"][j]
+                        XHTML += (j > 0 ? ", " : "") +
+                           '<span class="pseudo">' + thisPageAdmin.formateur.traitementComplet(user["nick"]) + '</span>' +
+                           (user["login"] == "" ? "" : '<span class="login">(' + thisPageAdmin.formateur.traitementComplet(user["login"]) + ')</span>')
+                     }
+                     XHTML += ']'
+                  }
+                  $("#ips").html(XHTML)
+               }
+               else if (data["reply"] == "error")
+               {
+                  thisPageAdmin.util.messageDialogue(data["error_message"])
+               }
+            }
+      }
+   )
+}
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////