User:Jujutacular/closeFPC.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
This user script seems to have a documentation page at User:Jujutacular/closeFPC. |
//<nowiki>
// See documentation at [[User:Jujutacular/closeFPC]]
// This code is largely based on [[User:Mr.Z-man/closeAFD]]
importScript('User:Timotheus Canens/displaymessage.js');
if (mw.config.get('wgPageName').indexOf('Wikipedia:Featured_picture_candidates/') != -1) {
var closeFPC_PageName = mw.config.get('wgPageName').replace(/_/g, ' ');
var closeFPC_AJAXnumber = 0;
var isDelist = closeFPC_PageName.replace(/^.*\b(delist)\b.*$/,"$1");
function closeFPC_init() {
if (!wfSupportsAjax()) {
displayMessage('<span style="color:red; font-size:120%">Your browser does not seem to support AJAX, which is required for the closeFPC script.</span>');
return;
}
if (isDelist == "delist") {
displayMessage('<span style="color:red; font-size:120%">Delist nominations are not supported by this script.</span>');
return;
}
form = '<div id="closeFPC_initialform">'+
'<h3>Closing '+closeFPC_PageName+'</h3>'+
'<h4>For promotion:</h4>'+
'<label for="closeFPC_nominator">Nominator (without "User:"): </label><input type="text" id="closeFPC_nominator" name="closeFPC_nominator" /><br>'+
'<label for="closeFPC_nominator2">Nominator 2 (if applicable): </label><input type="text" id="closeFPC_nominator2" name="closeFPC_nominator2" /><br>'+
//'<label for="closeFPC_creator_nonwiki">Creator (if non-Wikipedian): </label><input type="text" id="closeFPC_creator_nonwiki" name="closeFPC_creator_nonwiki" /><br>'+
'<label for="closeFPC_creator_wiki">Creator (if Wikipedian): </label><input type="text" id="closeFPC_creator_wiki" name="closeFPC_creator_wiki" /><br>'+
'<label for="closeFPC_editor">Image editor/Restorer: </label><input type="text" id="closeFPC_editor" name="closeFPC_editor" /><br>'+
'<label for="closeFPC_editor2">Image editor/Restorer 2: </label><input type="text" id="closeFPC_editor2" name="closeFPC_editor2" /><br>'+
'<label for="closeFPC_promoted_file">Promoted file (without "File:"): </label><input type="text" id="closeFPC_promoted_file" name="closeFPC_promoted_file" /><br>'+
'<label for="closeFPC_name">Name of nomination: </label><input type="text" id="closeFPC_name" name="closeFPC_name" /><br>'+
'<label for="closeFPC_cat">Main category: </label><input type="text" id="closeFPC_cat" name="closeFPC_cat" /><br><br>'+
//'<label for="closeFPC_subcat">Subcategory: </label><input type="text" id="closeFPC_subcat" name="closeFPC_subcat" /><br><br>'+
'<label for="closeFPC_reason">Additional closing rationale (optional): </label><input type="text" id="closeFPC_reason" name="closeFPC_reason" /><br>'+
'<input type="button" id="closeFPC_promote_button" name="closeFPC_promote_button" value="Promote" onclick="closeFPC_close(\'promote\')" />'+
'<input type="button" id="closeFPC_nopromote_button" name="closeFPC_nopromote_button" value="No Promote" onclick="closeFPC_close(\'nopromote\')" /></div>';
displayMessage(form);
}
function closeFPC_close(close) {
closetype = close;
var nominator = document.getElementById('closeFPC_nominator').value;
var nominator2 = document.getElementById('closeFPC_nominator2').value;
//var creator_nonwiki = document.getElementById('closeFPC_creator_nonwiki').value;
var creator_wiki = document.getElementById('closeFPC_creator_wiki').value;
var editor = document.getElementById('closeFPC_editor').value;
var editor2 = document.getElementById('closeFPC_editor2').value;
var promoted_file = document.getElementById('closeFPC_promoted_file').value;
var nom_name = document.getElementById('closeFPC_name').value;
var cat = document.getElementById('closeFPC_cat').value;
//var subcat = document.getElementById('closeFPC_subcat').value;
var reason = document.getElementById('closeFPC_reason').value;
var FPClink = '[['+closeFPC_PageName+']]';
var today = new Date();
var monthnames = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var month = monthnames[today.getUTCMonth()];
var day = today.getUTCDate();
var year = today.getUTCFullYear();
var abbr_month;
if (month == "January") {
abbr_month = "Jan";
}
else if (month == "February") {
abbr_month = "Feb";
}
else if (month == "March") {
abbr_month = "Mar";
}
else if (month == "April") {
abbr_month = "Apr";
}
else if (month == "May") {
abbr_month = "May";
}
else if (month == "June") {
abbr_month = "June";
}
else if (month == "July") {
abbr_month = "July";
}
else if (month == "August") {
abbr_month = "Aug";
}
else if (month == "September") {
abbr_month = "Sep";
}
else if (month == "October") {
abbr_month = "Oct";
}
else if (month == "November") {
abbr_month = "Nov";
}
else if (month == "December") {
abbr_month = "Dec";
}
var PageName_actual = closeFPC_PageName.replace(/Wikipedia:Featured picture candidates\//,'');
if (reason != '') {
reason = "\n*"+reason+" ~~"+"~~";
}
displayMessage('<ul id="closeFPC_status"></ul><ul id="closeFPC_finish"></ul>');
document.getElementById('closeFPC_finish').innerHTML += '<span id="closeFPC_finished_wrapper"><span id="closeFPC_finished_main" style="display:none"><li id="closeFPC_done"><b>Done (<a href="/wiki/'+encodeURI(closeFPC_PageName)+'?action=purge" title="'+closeFPC_PageName+'">Reload page</a>)</b></li></span></span>';
var FPCpage = closeFPC_getPageText(closeFPC_PageName);
var isClosed = FPCpage.match(/{{FPCresult\|/);
if (isClosed == "{{FPCresult|") {
displayMessage('<span style="color:red; font-size:120%">It seems that this nomination has already been closed.</span>');
return;
}
token = closeFPC_getToken(true);
if (closetype == "promote") {
// Checks for missing information
if (nominator == '') {
displayMessage('<span style="color:red; font-size:120%">A nominator has not been specified. A nominator is required for promotion.</span>');
return;
}
//if (creator_nonwiki == '' && creator_wiki == '') {
// displayMessage('<span style="color:red; font-size:120%">A creator has not been specified. A creator is required for promotion. Use "Unknown" under non-Wikipedian if creator is unknown.</span>');
// return;
//}
if (promoted_file == '') {
displayMessage('<span style="color:red; font-size:120%">A file name has not been specified. A file name is required for promotion.</span>');
return;
}
var goodFile = promoted_file.match(/\./);
if (!(goodFile == '.')) {
displayMessage('<span style="color:red; font-size:120%">Specified file name is formatted incorrectly.</span>');
return;
}
if (nom_name == '') {
displayMessage('<span style="color:red; font-size:120%">A name for the nomination has not been specified. A name is required for promotion.</span>');
return;
}
if (cat == '') {
displayMessage('<span style="color:red; font-size:120%">A category for the nomination has not been specified. A category is required for promotion.</span>');
return;
}
var promoted_file_error = promoted_file.match(/File:/);
if (promoted_file_error == "File:") {
displayMessage('<span style="color:red; font-size:120%">Error: filename entered contains "File:".</span>');
return;
}
var username_error1 = nominator.match(/User:/);
var username_error2 = nominator2.match(/User:/);
var username_error3 = creator_wiki.match(/User:/);
var username_error4 = editor.match(/User:/);
var username_error5 = editor2.match(/User:/);
if (username_error1 == "User:" || username_error2 == "User:" || username_error3 == "User:" || username_error4 == "User:" || username_error5 == "User:") {
displayMessage('<span style="color:red; font-size:120%">Error: username entered contains "User:".</span>');
return;
}
// Adds image, and removes older image at WP:FP
var FP = "Wikipedia:Featured pictures";
var FPpage = closeFPC_getPageText(FP);
if (cat == "Animals") {
FPpage = FPpage.replace(/<!-- start of Animals -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Animals -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Artwork") {
FPpage = FPpage.replace(/<!-- start of Artwork -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Artwork -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Culture, entertainment, and lifestyle") {
FPpage = FPpage.replace(/<!-- start of Culture, entertainment, and lifestyle -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Culture, entertainment, and lifestyle -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Diagrams, drawings, and maps") {
FPpage = FPpage.replace(/<!-- start of Diagrams, drawings, and maps -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Diagrams, drawings, and maps -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Engineering and technology") {
FPpage = FPpage.replace(/<!-- start of Engineering and technology -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Engineering and technology -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Food and drink") {
FPpage = FPpage.replace(/<!-- start of Food and drink -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Food and drink -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Fungi") {
FPpage = FPpage.replace(/<!-- start of Fungi -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Fungi -->/,"<!-- end of "+cat+" -->");
} else if (cat == "History") {
FPpage = FPpage.replace(/<!-- start of History -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of History -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Natural phenomena") {
FPpage = FPpage.replace(/<!-- start of Natural phenomena -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Natural phenomena -->/,"<!-- end of "+cat+" -->");
} else if (cat == "People") {
FPpage = FPpage.replace(/<!-- start of People -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of People -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Photographic techniques, terms, and equipment") {
FPpage = FPpage.replace(/<!-- start of Photographic techniques, terms, and equipment -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Photographic techniques, terms, and equipment -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Places") {
FPpage = FPpage.replace(/<!-- start of Places -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Places -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Plants") {
FPpage = FPpage.replace(/<!-- start of Plants -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Plants -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Sciences") {
FPpage = FPpage.replace(/<!-- start of Sciences -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Sciences -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Space") {
FPpage = FPpage.replace(/<!-- start of Space -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Space -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Vehicles") {
FPpage = FPpage.replace(/<!-- start of Vehicles -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Vehicles -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Other lifeforms") {
FPpage = FPpage.replace(/<!-- start of Other lifeforms -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Other lifeforms -->/,"<!-- end of "+cat+" -->");
} else if (cat == "Other") {
FPpage = FPpage.replace(/<!-- start of Other -->/, "<!-- start of "+cat+" -->[[File:"+promoted_file+"|150px]]\n|");
FPpage = FPpage.replace(/\n\|\[\[File:[^|]+\|150px]]<!-- end of Other -->/,"<!-- end of "+cat+" -->");
} else {
displayMessage('<span style="color:red; font-size:120%">An invalid category has been specified.</span>');
return;
}
closeFPC_editPage(FP, FPpage, token, "Add [[File:"+promoted_file+"]] to "+cat);
// Adds image to WP:GO
var GO = "Wikipedia:Goings-on";
var GOpage = closeFPC_getPageText(GO);
GOpage = GOpage.replace(/\n\n'''\[\[Wikipedia:Featured portals\|Portals]]/,"\n* [[:File:"+promoted_file+"|"+nom_name+"]] ("+day+" "+abbr_month+")\n\n'''[[Wikipedia:Featured portals|Portals]]");
closeFPC_editPage(GO, GOpage, token, "+[[File:"+promoted_file+"]] to pictures");
// Adds Featured Picture template to file description page
var promoted_file_page = "File:"+promoted_file;
var promoted_file_pageText = closeFPC_getPageText(promoted_file_page);
if (promoted_file_pageText == "undefined") {
promoted_file_pageText = "{{"+"FeaturedPicture|"+PageName_actual+"}}";
}
else {
promoted_file_pageText = "{{"+"FeaturedPicture|"+PageName_actual+"}}\n"+promoted_file_pageText;
}
closeFPC_editPage(promoted_file_page, promoted_file_pageText, token, "Featured picture, per "+FPClink);
// Closes nomination as promote
FPCpage = FPCpage.replace(/<!-- additional votes go above this line -->\n/, "<!-- additional votes go above this line -->\n{"+"{FPCresult|Promoted|File:"+promoted_file+"}} --~~"+"~~"+reason+"\n");
closeFPC_editPage(closeFPC_PageName, FPCpage, token, "Closed, promoted [[:File:"+promoted_file+"]]");
// Adds image to New featured content
var NFC = "Template:Announcements/New featured content";
var NFCpage = closeFPC_getPageText(NFC);
NFCpage = NFCpage.replace(/<!-- Pictures \(15, most recent first\) -->/,"<!-- Pictures (15, most recent first) -->\n* [[:File:"+promoted_file+"|"+nom_name+"]]");
NFCpage = NFCpage.replace(/\n\* \[\[:File:[^|]+\|[^\]]+]] ?<!-- End of FPs -->/," <!-- End of FPs -->");
closeFPC_editPage(NFC, NFCpage, token, "+[[File:"+promoted_file+"]] to FPs");
// Adds image to FPC thumbs
var thumbs = "Wikipedia:Featured pictures thumbs";
var currentthumbs = closeFPC_getPageText(thumbs);
currentthumbs = currentthumbs.replace(/#REDIRECT \[\[/,'');
currentthumbs = currentthumbs.replace(/]]/,'');
var currentthumbs_page = closeFPC_getPageText(currentthumbs);
currentthumbs_page = currentthumbs_page.replace(/<gallery>/,"<gallery>\nFile:"+promoted_file+"|"+nom_name);
closeFPC_editPage(currentthumbs, currentthumbs_page, token, "+[[File:"+promoted_file+"]]");
// Notifies nominator of promotion
if (nominator != creator_wiki && nominator != editor && nominator != editor2) {
var nominator_talk = "User talk:"+nominator;
var nomtalkpage = closeFPC_getPageText(nominator_talk);
nomtalkpage = nomtalkpage + "\n\n==[["+closeFPC_PageName+"]]==\n{"+"{subst:PromotedFPC|File:"+promoted_file+"}}";
closeFPC_editPage(nominator_talk, nomtalkpage, token, FPClink);
}
// Notifies nominator2 of promotion
if (nominator2 != '' && nominator2 != creator_wiki && nominator2 != editor && nominator2 != editor2) {
var nominator2_talk = "User talk:"+nominator2;
var nom2talkpage = closeFPC_getPageText(nominator2_talk);
nom2talkpage = nom2talkpage + "\n\n==[["+closeFPC_PageName+"]]==\n{"+"{subst:PromotedFPC|File:"+promoted_file+"}}";
closeFPC_editPage(nominator2_talk, nom2talkpage, token, FPClink);
}
// Notifies creator of promotion
if (creator_wiki != '') {
var creator_talk = "User talk:"+creator_wiki;
var creatortalkpage = closeFPC_getPageText(creator_talk);
creatortalkpage = creatortalkpage + "\n\n==[["+closeFPC_PageName+"]]==\n{"+"{subst:UploadedFPC|File:"+promoted_file+"}}";
closeFPC_editPage(creator_talk, creatortalkpage, token, FPClink);
}
// Notifies editor of promotion
if (editor != '') {
var editor_talk = "User talk:"+editor;
var editortalkpage = closeFPC_getPageText(editor_talk);
editortalkpage = editortalkpage + "\n\n==[["+closeFPC_PageName+"]]==\n{"+"{subst:UploadedFPC|File:"+promoted_file+"}}";
closeFPC_editPage(editor_talk, editortalkpage, token, FPClink);
}
// Notifies editor2 of promotion
if (editor2 != '') {
var editor2_talk = "User talk:"+editor2;
var editor2talkpage = closeFPC_getPageText(editor2_talk);
editor2talkpage = editor2talkpage + "\n\n==[["+closeFPC_PageName+"]]==\n{"+"{subst:UploadedFPC|File:"+promoted_file+"}}";
closeFPC_editPage(editor2_talk, editor2talkpage, token, FPClink);
}
closeFPC_informManual();
}
if (closetype == "nopromote") {
// Closes nomination as no promote
FPCpage = FPCpage.replace(/<!-- additional votes go above this line -->\n/, "<!-- additional votes go above this line -->\n{"+"{FPCresult|Not Promoted| }} --~~"+"~~"+reason+"\n");
closeFPC_editPage(closeFPC_PageName, FPCpage, token, "Closed, not promoted");
}
// Moves transclusion to 'recently closed' section of WP:FPC
var closeFPC_FPC = "Wikipedia:Featured picture candidates";
var FPClist = closeFPC_getPageText(closeFPC_FPC);
var PageName_underscore = PageName_actual.replace(/ /g,'_');
FPClist = FPClist.replace('{{' + closeFPC_PageName + '}}\n', '');
FPClist = FPClist.replace('{{' + mw.config.get('wgPageName') + '}}\n', '');
FPClist = FPClist.replace('{{Wikipedia:Featured picture candidates/' + PageName_underscore + '}}\n', '');
FPClist = FPClist.replace(/<!-- ↓ Under this line, please \(newest at the top\) ↓ -->/,"<!-- ↓ Under this line, please (newest at the top) ↓ -->\n{{"+closeFPC_PageName+"}}");
if (closetype == "promote") {
closeFPC_editPage(closeFPC_FPC, FPClist, token, "Closed [["+closeFPC_PageName+"]] (Promoted)");
}
if (closetype == "nopromote") {
closeFPC_editPage(closeFPC_FPC, FPClist, token, "Closed [["+closeFPC_PageName+"]] (Not promoted)");
}
// Archives nomination
var closeFPC_log = "Wikipedia:Featured picture candidates/"+month+"-"+year;
var FPClog = closeFPC_getPageText(closeFPC_log);
if (FPClog == "undefined") {
FPClog = "{"+"{FPCArchiveBar}}\n<!-- New entries at the bottom -->\n{"+"{"+closeFPC_PageName+"}}";
}
else {
FPClog = FPClog+"\n{"+"{"+closeFPC_PageName+"}}";
}
closeFPC_editPage(closeFPC_log, FPClog, token, "Archiving "+FPClink);
document.getElementById('closeFPC_finished_main').style.display = '';
}
function closeFPC_getPageText(title) {
document.getElementById('closeFPC_status').innerHTML += '<li id="closeFPC_get'+escape(title)+'">Getting <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></li>';
var req = sajax_init_object();
req.open("GET", mw.config.get('wgScriptPath') + "/api.php?action=query&prop=revisions&rvprop=content&format=json&indexpageids=1&titles="+encodeURIComponent(title), false);
req.send(null);
var response = eval('(' + req.responseText + ')');
pageid = response['query']['pageids'][0];
if (pageid == "-1") {
document.getElementById('closeFPC_get'+escape(title)).innerHTML = '<a class="new" href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a> does not exist';
delete req;
return '';
}
pagetext = response['query']['pages'][pageid]['revisions'][0]['*'];
delete req;
document.getElementById('closeFPC_get'+escape(title)).innerHTML = 'Got <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a>';
return pagetext;
}
var FPtitle = "Wikipedia:Featured pictures";
function closeFPC_informManual() {
document.getElementById('closeFPC_status').innerHTML += '<li id="closeFPC_manual">*** You must manually make edits to the proper sub-page of <a href="/wiki/'+encodeURI(FPtitle)+'" FPtitle="'+FPtitle+'">'+FPtitle+'</a> ***</li>';
}
function closeFPC_getToken(show) {
if (show) {
document.getElementById('closeFPC_status').innerHTML += '<li id="closeFPC_gettoken">Getting token</li>';
}
var req = sajax_init_object();
req.open("GET", mw.config.get('wgScriptPath') + "/api.php?action=query&prop=info&indexpageids=1&intoken=edit&format=json&titles="+encodeURIComponent(closeFPC_PageName), false);
req.send(null);
var response = eval('(' + req.responseText + ')');
pageid = response['query']['pageids'][0];
token = response['query']['pages'][pageid]['edittoken'];
delete req;
if (show) {
document.getElementById('closeFPC_gettoken').innerHTML = 'Got token';
}
return token;
}
function closeFPC_editPage(title, newtext, token, summary) {
document.getElementById('closeFPC_finished_wrapper').innerHTML = '<span id="closeFPC_AJAX_finished_'+closeFPC_AJAXnumber+'" style="display:none">' + document.getElementById('closeFPC_finished_wrapper').innerHTML + '</span>';
var func_id = closeFPC_AJAXnumber;
closeFPC_AJAXnumber++;
document.getElementById('closeFPC_status').innerHTML += '<li id="closeFPC_edit'+escape(title)+'">Editing <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></li>';
var req = sajax_init_object();
var params = "action=edit&format=json&token="+encodeURIComponent(token)+"&title="+encodeURIComponent(title)+"&text="+encodeURIComponent(newtext)+"¬minor=1&summary="+encodeURIComponent(summary);
url = mw.config.get('wgScriptPath') + "/api.php";
req.open("POST", url, true);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.setRequestHeader("Content-length", params.length);
req.setRequestHeader("Connection", "close");
req.onreadystatechange = function() {
if(req.readyState == 4 && req.status == 200) {
response = eval('(' + req.responseText + ')');
try {
if (response['edit']['result'] == "Success") {
document.getElementById('closeFPC_edit'+escape(title)).innerHTML = 'Saved <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a>';
} else {
document.getElementById('closeFPC_edit'+escape(title)).innerHTML = '<div style="color:red"><b>Edit failed on <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></b></div>. Error info:' +response['error']['code'] + ' : ' + response['error']['info'];
}
}
catch(err) {
document.getElementById('closeFPC_edit'+escape(title)).innerHTML = '<div style="color:red"><b>Edit failed on <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></b></div>';
}
document.getElementById('closeFPC_AJAX_finished_'+func_id).style.display = '';
delete req;
}
}
req.send(params)
}
function closeFPC_addLink() {
mw.util.addPortletLink("p-cactions", "javascript:closeFPC_init()", "Close FPC", "ca-closeFPC", "Close FPC");
}
$(closeFPC_addLink);
}
//</nowiki>