MediaWiki:Gadget-IRC.js

Nota: Depois de publicar, poderá ter de contornar a cache do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Internet Explorer / Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5
  • Opera: Pressione Ctrl-F5.
/** Script para bate-papo via IRC
 *  @source: [[w:MediaWiki:Common.js]]
 *  @author: Helder (https://github.com/he7d3r) (e na pt.wp, quem???)
 */

if(document.getElementById && !document.location.href.match("action=edit") && !document.location.href.match("action=submit")) {
 function loadLoginForm() {
  var box = document.getElementById("irclogin");
  var html = null;
  if(box) {
    html  = '<form method="post" action="http://chatwikizine.memebot.com/cgi-bin/cgiirc/irc.cgi" target="_blank" id="loginform" name="loginform">';
    html += '  <input type="hidden" id="interface" "name="interface" value="nonjs"/>';
    html += '  <input type="text" size="25" id="Nickname" name="Nickname" value="' + nickify(mw.config.get( 'wgUserName' )) + '" onfocus="clear_text(this)"/>';
    html += '  <select id="metodo" name="metodo" onChange="setServer();"> <option value="Java">Java</option><option value="cgi">CGI</option> </select>';
    html += '  <input type="hidden" name="Character_set" value="utf-8"/>';
    html += '  <input type="hidden" id="rede" name="Server" value="irc.freenode.net"/>';
    html += '  <input type="hidden" id="ch" name="Channel" value="#wikibooks-pt"/>';
    html += '  <input type="submit" value="entrar" onclick="document.getElementById(\'loginform\').submit();"/>';
    html += '</form>';
    box.innerHTML = html;
  }
 }
 window.setServer = function () {
  var selMetodo=document.getElementById("metodo");
  var nmMetodo=selMetodo.options[selMetodo.selectedIndex].value;
  if(nmMetodo == 'Java') {
     document.getElementById("rede").name = 'h';
     document.getElementById("Nickname").name = 'n';
     document.getElementById("ch").name = 'ch';
     document.getElementById("loginform").action = 'http://czat.computerserv.pl/';
  }else if(nmMetodo == 'cgi') {
         document.getElementById("rede").name = 'Server';
         document.getElementById("Nickname").name = 'Nickname';
         document.getElementById("ch").name = 'Channel';
         document.getElementById("loginform").action = 'http://chatwikizine.memebot.com/cgi-bin/cgiirc/irc.cgi';
        }
  setjs();
  };
 
 
  function nickify(s) {
    if(s == null) {
      return "anon" + Math.floor(Math.random()*100);
    }
    s = s.toLowerCase();
    s = s.replace(" ", "_");
    s = s.replace(/á/g, 'a');
    s = s.replace(/é/g, 'e');
    s = s.replace(/í/g, 'i');
    s = s.replace(/[óő]/g, 'o');
    s = s.replace(/[úű]/g, 'u');
    s = s.replace(/[^a-z0-9_-]/g, '');
    return s;
  }
 
  var irclogin_cleared = 0;
  window.clear_text = function (field) {
    if(irclogin_cleared == 0) {
      irclogin_cleared = 1;
      field.value = "";
    }
  };
  function setjs() {
    if(navigator.product == 'Gecko') {
      document.loginform["interface"].value = 'mozilla';
    } else if(window.opera && document.childNodes) {
      document.loginform["interface"].value = 'opera7';
    } else if(navigator.appName == 'Microsoft Internet Explorer' &&
      navigator.userAgent.indexOf("Mac_PowerPC") > 0) {
      document.loginform["interface"].value = 'konqueror';
    } else if(navigator.appName == 'Microsoft Internet Explorer') {
      document.loginform["interface"].value = 'ie';
    } else if(navigator.appName == 'Konqueror') {
      document.loginform["interface"].value = 'konqueror';
    } else if(window.opera) {
      document.loginform["interface"].value = 'opera';
    }
  }
 
  $(loadLoginForm);
}
 
// [[Categoria:Gadgets|IRC.js]]
// [[Categoria:Scripts do Wikilivros|IRC.js]]