Jump to content

User:Henrik/js/afc-helper.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// <pre><nowiki>

importScript('User:Henrik/js/automod.js');

afch_declines = Array();
afch_accepts = Array();

afch_accepts["accept"] = 'accepted';
afch_accepts["redir"] = 'accepted';
afch_accepts["manual"] = 'accepted';

afch_declines["exists"] = 'already%20exists';
afch_declines["v"] = 'not%20verifiable';
afch_declines["bio"] = 'not%20a%20notable%20person';
afch_declines["nn"] = 'not%20a%20notable%20entity';
afch_declines["web"] = 'not%20a%20notable%20website';
afch_declines["corp"] = 'not%20a%20notable%20corporation';
afch_declines["band"] = 'not%20a%20notable%20band%20or%20musician';
afch_declines["dict"] = 'dictionary%20definition';
afch_declines["context"] = 'lacks%20context';
afch_declines["cv"] = 'copyright%20violation';
afch_declines["blank"] = 'blank%20entry';
afch_declines["adv"] = 'advertising';
afch_declines["neo"] = 'neologism';
afch_declines["lang"] = 'not%20in%20English';
afch_declines["joke"] = 'appears%20to%20be%20a%20joke';
afch_declines["npov"] = 'not%20neutrally%20written';
afch_declines["blp"] = 'defamatory';
afch_declines["not"] = 'not%20suitable%20for%20wikipedia';

function afc_helper() {
    if (typeof auto_mod !== 'undefined' && auto_mod())
       return;
 
    var anchors = new Array();
    {
    var oldanchors = document.getElementById('bodyContent').getElementsByTagName('a');
    for (var i=0; i < oldanchors.length; i++)
        anchors[i] = oldanchors[i];
    }
    var url_re = /\?title=Wikipedia:Articles_for_creation\/([^&]+)&action=edit&/;
    //var url_re = /\?title=User:Henrik\/sandbox\/([^&]+)&action=edit&/;
    var url, matches;
    for (var i=0; i < anchors.length; i++) {
        if (!(matches = anchors[i].href.match(url_re))
         || (anchors[i].parentNode.parentNode.tagName != 'H2'))
            continue;
          
        bla = "<span id=\"afc-helper-accept\" style=\"background-color: #A0FFA0;\">";
        for (var key in afch_accepts) {   
          if( !afch_accepts.hasOwnProperty(key) ) { // Twinke workaround?
           continue;
          }      
          link = "javascript:afc_vote('"+encodeURIComponent(anchors[i].href)+"','"+key+"','"+afch_accepts[key]+"','accept')";
          bla += "[<a href=\""+link+"\">"+key+"</a>]";
        }
        bla += "</span><span id=\"afc-helper-decline\" style=\"background-color: #ffcece;\">";;
        for (var key in afch_declines) {   
          if( !afch_declines.hasOwnProperty(key) ) { // Twinke workaround?
           continue;
          }      
          link = "javascript:afc_vote('"+encodeURIComponent(anchors[i].href)+"','"+key+"','decline - "+afch_declines[key]+"','')";
          bla += "[<a href=\""+link+"\">"+key+"</a>]";
        }
        bla += "</span>";
        anchors[i].parentNode.innerHTML += bla;

    }
}

function afc_vote(edit_link,type,reason,action) {
    var type2 = type;
    
    if (type == "manual")
       type2 = "accept";

    var url = edit_link + 
        '&amfind='+encodeURIComponent("==(.*)==")+
        '&amreplace='+encodeURIComponent('$0\n{{subst:afc top|'+action+'}}')+
        '&amlocal=1'+
        '&amaddafter='+encodeURIComponent("{{subst:afc "+type2+"}} ~~"+"~~\n"+"{{subst:afc b}}") +
        '&amsummary='+encodeURIComponent(reason);
    if (action == '') {
       url += "&amautosave=yes;";
    }
    window.location.href = url;

    if (action == "accept" && type != "manual") {
      title = window.prompt("Create at title?");
      url = mw.config.get('wgScript') + "?title="+encodeURIComponent(title)+"&action=edit";
      window.open(url, "afd_helper_vote");
    }
}
$(afc_helper);

// </nowiki></pre>