User:Legoktm/afcnew.js

Source: 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.
//<source lang="javascript">
//Based on original script by [[User:Henrik]]
//For the new trial at 

document.write('<script type="text/javascript"' +
  'src="http://en.wikipedia.org/w/index.php?title=User:Henrik/js/automod.js' +
  '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

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

afch_accepts["accept"] = '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';
afch_declines["manual"] = 'declined';

function afc_helper() {
    if (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 talk:Articles_for_creation\/Submissions\/([^&]+)&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('"+escape(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('"+escape(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='+escape("==(.*)==")+
        '&amreplace='+escape('$0\n{{afc completed|'+action+'}}')+
        '&amlocal=1'+
        '&amaddafter='+escape("{{subst:afc "+type2+"}} ~~"+"~~\n"+"{{subst:afc b}}") +
        '&amsummary='+escape(reason);
    if (action == '') {
       url += "&amautosave=yes;";
    }
    window.location.href = url;

    if (action == "accept" && type != "manual") {
      title = window.prompt("Move page to mainspace?");
      url = "http://en.wikipedia.org/w/index.php?title=Special:MovePage/"+encodeURIComponent(mw.config.get('wgPageName'))+"&wpReason=Request%20at%20[[WP:AFC|AFC]]&wpNewTitle=" + escape(title);
      window.open(url, "afd_helper_vote");
    }
}
$(afc_helper);

// </source>