Advertisement
Guest User

JV Fast Connect V2

a guest
Nov 27th, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //==UserScript==
  2. //@name        Fast Connect V2
  3. //@description Connection rapide sur JVC, édit By Asnar
  4. //@include     http://www.jeuxvideo.com/*
  5. //@exclude     http://www.jeuxvideo.com/jvchat*
  6. //@version     1.0
  7. //==/UserScript==
  8.  
  9. /**
  10. EDIT BY ASNAR :
  11.   * - Script plus rapide à charger car il utilise le jQuery déjà importé par JVC
  12.   * - Il affiche un message d'erreur en cas d'échec de la connexion (si pseudo banni,..)
  13.   * - Corrections de quelques fautes d'orthographes
  14.   * - Code indenté et simplifié pour la lecture des programmeurs
  15. Fonctions à venir dans la version 1.1 :
  16.   * - Connection automatique sur votre forum JV (deux connections en une seule !)
  17.   * - Réduction de la charge du script
  18.   * - Erreurs de connections plus précises encore
  19.   * - Selon mon inspiration, d'autres choses peut-être...
  20. **/
  21.  
  22. /** Chargement de jQuery déjà importé de JVC **/
  23. if(window.$!=null)
  24. {
  25.   $ = window.$;
  26.   jQueryLoaded();
  27. }
  28. else if(typeof unsafeWindow!='undefined' && unsafeWindow.$!=null)
  29. {
  30.   $ = unsafeWindow.$;
  31.   jQueryLoaded();
  32. }
  33. else
  34. {
  35.   var script = document.createElement("script");
  36.   script.appendChild(document.createTextNode("("+jQueryLoaded.toString()+")();"));
  37.   (document.body || document.head || document.documentElement).appendChild(script);
  38. }
  39. /** Fonctions du script **/
  40. function start()
  41. {
  42.   firstlaunch();
  43.   addNewTab();
  44.   loadGraphicInterface();
  45.   loadNicknames();
  46. }
  47. function firstlaunch()
  48. {
  49.   if(localStorage["firstLaunch"] != "1")
  50.   {
  51.     localStorage["nick"] = "";
  52.     localStorage["pass"] = "";
  53.     localStorage["firstLaunch"] = "1";
  54.   }
  55. }
  56. function addNewTab()
  57. {
  58.   var divConnect = document.getElementById("connexion");
  59.   var divAfter = document.getElementById("compte");
  60.   var divFastConnect = document.createElement("div");
  61.   divFastConnect.innerHTML = '<a href="#" id="modala">Mes comptes</a>';
  62.   divConnect.insertBefore(divFastConnect,divAfter);
  63.   divFastConnect.addEventListener("click",function(){openGraphicInterface();},false);
  64. }
  65. function loadGraphicInterface()
  66. {
  67.   var divBackground = document.createElement("div");
  68.   divBackground.className = "modal_generic modal_generic_overflow";
  69.   divBackground.id = "box_blackbackground";
  70.   divBackground.style.display = "none"
  71.   document.body.appendChild(divBackground);
  72.   var divFastConnect = document.createElement("div");
  73.   divFastConnect.className = "modal_generic";
  74.   divFastConnect.id = "box_fastconnect";
  75.   divFastConnect.style.display = "none";
  76.   var divFastConnectBlock = document.createElement("div");
  77.   divFastConnectBlock.className = "modal_generic_main";
  78.   divFastConnectBlock.style.marginTop = "20%";
  79.   var aFastConnectBlockClose = document.createElement("a");
  80.   aFastConnectBlockClose.className = "modal_generic_close fermer";
  81.   aFastConnectBlockClose.href = "#";
  82.   aFastConnectBlockClose.addEventListener("click", function(){closeGraphicInterface();}, false);
  83.   var divFastConnectBlockTitle = document.createElement("div");
  84.   divFastConnectBlockTitle.className = "modal_generic_header";
  85.   divFastConnectBlockTitle.innerHTML = 'Mes Comptes';
  86.   var divFastConnectBlockContent = document.createElement("div");
  87.   divFastConnectBlockContent.className = "modal_generic_content";
  88.  
  89.   var formFastConnectBlock = document.createElement("div");
  90.   formFastConnectBlock.className = "generic_form";
  91.   formFastConnectBlock.method = "post";
  92.  
  93.   var fieldsetFormFastConnectBlock = document.createElement("fieldset");
  94.  
  95.   var divAccountName = document.createElement("div");
  96.   divAccountName.className = "pseudo_gb_connect";
  97.  
  98.   var labelAccountName = document.createElement("label");
  99.   labelAccountName.for = "pseudo_gb_connect";
  100.  
  101.   var spanAccountName = document.createElement("span");
  102.   spanAccountName.className = "requis";
  103.   spanAccountName.innerHTML = "*";
  104.  
  105.   var strongAccountName = document.createElement("strong");
  106.   strongAccountName.innerHTML = " Pseudo :&nbsp;";
  107.  
  108.   var selectAccountName = document.createElement("select");
  109.   selectAccountName.id = "pseudo_gb_connect_fast";
  110.   selectAccountName.name = "pseudo_gb_connect";
  111.   selectAccountName.style.width = "150px";
  112.  
  113.   var spanSpace = document.createElement("span");
  114.   spanSpace.innerHTML = "&nbsp;";
  115.      
  116.   var spanSpace2 = document.createElement("span");
  117.   spanSpace2.innerHTML = "&nbsp;";
  118.  
  119.   var aAccountName = document.createElement("a");
  120.   aAccountName.target = "_top";
  121.   aAccountName.rel = "nofollow";
  122.   aAccountName.className = "small formlink";
  123.   aAccountName.href = "#";
  124.   aAccountName.innerHTML = "Ajouter un pseudonyme";
  125.   aAccountName.addEventListener("click", function(){addNicknames();},false);
  126.  
  127.   var imgDeleteNick = document.createElement("img");
  128.   imgDeleteNick.src = "http://image.jeuxvideo.com/pics/forums/bt_forum_avertirmod.gif"
  129.   imgDeleteNick.alt = "Supprimer ce pseudonyme";
  130.   imgDeleteNick.addEventListener("click",function(){deleteNicknames();},false);
  131.  
  132.   var divFormButtons = document.createElement("div");
  133.   divFormButtons.className = "form_boutons";
  134.  
  135.   var divSubmitButton = document.createElement("button");
  136.   divSubmitButton.className = "bt_ok";
  137.   divSubmitButton.addEventListener("click", function(){fastConnect();}, false);
  138.  
  139.   var spanSubmitButton = document.createElement("span");
  140.   spanSubmitButton.className = "valid";
  141.   spanSubmitButton.innerHTML = "Valider";
  142.  
  143.   divFastConnect.appendChild(divFastConnectBlock);
  144.   divFastConnectBlock.appendChild(aFastConnectBlockClose);
  145.   divFastConnectBlock.appendChild(divFastConnectBlockTitle);
  146.   divFastConnectBlock.appendChild(divFastConnectBlockContent);
  147.   divFastConnectBlockContent.appendChild(formFastConnectBlock);
  148.   formFastConnectBlock.appendChild(fieldsetFormFastConnectBlock);
  149.   fieldsetFormFastConnectBlock.appendChild(divAccountName);
  150.   divAccountName.appendChild(labelAccountName);
  151.   divAccountName.appendChild(selectAccountName);
  152.   divAccountName.appendChild(spanSpace);
  153.   divAccountName.appendChild(aAccountName);
  154.   divAccountName.appendChild(spanSpace2);
  155.   divAccountName.appendChild(imgDeleteNick);
  156.   fieldsetFormFastConnectBlock.appendChild(divFormButtons);
  157.   divFormButtons.appendChild(divSubmitButton);
  158.   divSubmitButton.appendChild(spanSubmitButton);
  159.   labelAccountName.appendChild(spanAccountName);
  160.   labelAccountName.appendChild(strongAccountName);
  161.   document.body.appendChild(divFastConnect);
  162. }
  163. function openGraphicInterface()
  164. {
  165.   document.getElementById("box_blackbackground").style.display = "block";
  166.   document.getElementById("box_fastconnect").style.display = "block";
  167. }
  168. function closeGraphicInterface()
  169. {
  170.   document.getElementById("box_blackbackground").style.display = "none";
  171.   document.getElementById("box_fastconnect").style.display = "none";
  172. }
  173. function addNicknames()
  174. {
  175.   var nick = prompt("Entrer un pseudonyme: ","");
  176.   var pass = prompt("Entrer un mot de passe: ");
  177.   nick = nick.slice(0,15);
  178.   pass = pass.slice(0,12);
  179.   var nickArray = localStorage["nick"].split(",");
  180.   var passArray = localStorage["pass"].split(",");
  181.   if(localStorage["nick"].split(",").length - 1 == 0)
  182.   {
  183.     nick += ",";
  184.     pass += ",";
  185.   }
  186.   nickArray[localStorage["nick"].split(",").length] = nick;
  187.   passArray[localStorage["pass"].split(",").length] = pass;
  188.   localStorage["nick"] = nickArray;
  189.   localStorage["pass"] = passArray;
  190.   loadNicknames();      
  191. }
  192. function loadNicknames()
  193. {
  194.   var nickArray = localStorage["nick"].split(",");
  195.   document.getElementById("pseudo_gb_connect_fast").innerHTML = "";
  196.   for(var i=0;i<nickArray.length;i++)
  197.   {
  198.     if(nickArray[i]==""){continue;}
  199.     else
  200.     {
  201.       var optionAccountName = document.createElement("option");
  202.       optionAccountName.value = i;
  203.       optionAccountName.innerHTML = nickArray[i];
  204.       document.getElementById("pseudo_gb_connect_fast").appendChild(optionAccountName);
  205.     }
  206.   }
  207. }
  208. function deleteNicknames()
  209. {
  210.   function unset(array,valueOrIndex)
  211.   {
  212.     var output=[];
  213.     for(var i in array)
  214.     {
  215.       if(i!=valueOrIndex)
  216.       {
  217.         output[i]=array[i];
  218.       }
  219.     }
  220.     return output;
  221.   }
  222.   var nickArray = localStorage["nick"].split(",");
  223.   var passArray = localStorage["pass"].split(",");
  224.   nickArray = unset(nickArray, document.getElementById("pseudo_gb_connect_fast").value);
  225.   passArray = unset(passArray, document.getElementById("pseudo_gb_connect_fast").value);
  226.   localStorage["nick"] = nickArray;
  227.   localStorage["pass"] = passArray;
  228.   loadNicknames();
  229. }
  230. function fastConnect()
  231. {
  232.   var url = "http://www.jeuxvideo.com/profil/ajax_connect.php";
  233.   var nickArray = localStorage["nick"].split(",");
  234.   var passArray = localStorage["pass"].split(",");
  235.   var pseudo = nickArray[document.getElementById("pseudo_gb_connect_fast").value];
  236.   var pass = passArray[document.getElementById("pseudo_gb_connect_fast").value];
  237.   var data = "pseudo=" + pseudo + "&pass=" + pass + "&retenir=1";
  238.   $.ajax(
  239.   {
  240.     type:"POST",
  241.     url:url,
  242.     data:data,
  243.     success: function(contents)
  244.     {
  245.       if(contents=="{\"operation\":101}")
  246.       {
  247.         window.alert("Mot de passe ou pseudo incorrect !");
  248.       }
  249.       else if(contents=="{\"operation\":1,\"err\":\"Ce pseudo est banni temporairement\"}")
  250.       {
  251.         window.alert("Ce pseudo est banni temporairement !");
  252.       }
  253.       else if(contents.indexOf("\"cgi\":\"cross")!=-1)
  254.       {
  255.         window.alert("Mot de passe correct !");
  256.         window.location.reload();
  257.       }
  258.       else
  259.       {
  260.         window.alert("Erreur inconnue ! Ce pseudo est-il banni ?");
  261.       }
  262.     }
  263.   });
  264. }
  265. function jQueryLoaded()
  266. {
  267.   start();
  268. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement