Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

User:Shane/bsgbook.js: Difference between revisions

From the only original and legitimate Battlestar Wiki: the free-as-in-beer, non-corporate, open-content encyclopedia, analytical reference, and episode guide on all things Battlestar Galactica. Accept neither subpar substitutes nor subpar clones.
Shane (talk | contribs)
added purge page
Shane (talk | contribs)
refresh!
Line 1: Line 1:
/* <pre><nowiki> */
/* <pre><nowiki> */


// Hardcoded Vars Needed =============
// ========== Hardcoded Vars Needed =============


pre_noinclude_var = "<noinclude>";
pre_noinclude_var = "<noinclude>";
suf_noinclude_var = "</noinclude>";
suf_noinclude_var = "</noinclude>";
// ========== Options ==========
/*
By default, all the options are enabled.
To disable one, add:
disableOption('NAME');
below import_external('User:Shane/myskin.js');
*/
opt['delete'] = true;
opt['sdelete'] = true;
opt['cleanup'] = true;
opt['tag'] = true;
opt['fp'] = true;
opt['fa'] = true;
opt['exp'] = true;
opt['req'] = true;


// ========== Basic Functions Needed ==========
// ========== Basic Functions Needed ==========
Line 82: Line 103:
sNamespace = getNameSpace();
sNamespace = getNameSpace();
if (sNamespace == "Template") {
if (sNamespace == "Template") {
addQdd(); // Mark as "Delete"
if (opt['delete']) { addQdd(); /* Mark as "Delete" */ }
addQcl(); // Mark as "Cleanup"
if (opt['cleanup']) { addQcl(); /* Mark as "Cleanup" */ }
}
}
if (sNamespace == "Quotes") {
if (sNamespace == "Quotes") {
addQcl(); // Mark as "Delete"
if (opt['delete']) { addQcl(); /* Mark as "Delete" */ }
}
}
if (sNamespace == "Image") {
if (sNamespace == "Image") {
addQnt(); // Add {{no tag}}
if (opt['tag']) { addQnt(); /* Add {{no tag}} */ }
addQfp(); // Mark as Featured Picture
if (opt['fp']) { addQfp(); /* Mark as Featured Picture */ }
}
}
if ((sNamespace == "Article") || (sNamespace == "Battlestar Wiki")) {
if ((sNamespace == "Article") || (sNamespace == "Battlestar Wiki")) {
bContent = checkContent();
bContent = checkContent();
if (bContent) {
if (bContent) {
addQdd(); // Mark as "Delete"
if (opt['delete']) { addQdd(); /* Mark as "Delete" */ }
addQcl(); // Mark as "Cleanup"
if (opt['cleanup']) { addQcl(); /* Mark as "Cleanup" */ }
addQsd(); // Mark as "Speedy Delete"
if (opt['sdelete']) { addQsd(); /* Mark as "Speedy Delete" */ }
if (sNamespace == "Article") {
if (sNamespace == "Article") {
addQfa(); // Mark as Featured Article
if (opt['fa']) { addQfa(); /* Mark as Featured Article */ }
}
}
addQae(); // Mark as "Expantion"
if (opt['exp']) { addQae(); /* Mark as "Expantion" */ }
} else {
} else {
addQar(); // Mark as "Requested"
if (opt['req']) { addQar(); /* Mark as "Requested" */ }
}
}
}
}
Line 109: Line 130:


function loadNonEdit() {
function loadNonEdit() {
addLastDiff(); // Last Diff Button
if (opt['last']) { addLastDiff(); /* Last Diff Button */ }
addQpp(); // Purge Page Button
if (opt['purge']) { addQpp(); /* Purge Page Button */ }
}
 
function disableOption(var) {
opt[var] = false;
}
}



Revision as of 20:56, 6 June 2006

/* <pre><nowiki> */

// ========== Hardcoded Vars Needed =============

pre_noinclude_var = "<noinclude>";
suf_noinclude_var = "</noinclude>";

//	========== Options ==========

/*
	By default, all the options are enabled.
	To disable one, add:
	
	disableOption('NAME');
	
	below import_external('User:Shane/myskin.js');
	
*/

opt['delete'] = true;
opt['sdelete'] = true;
opt['cleanup'] = true;
opt['tag'] = true;
opt['fp'] = true;
opt['fa'] = true;
opt['exp'] = true;
opt['req'] = true;

// ========== Basic Functions Needed ==========

function addlilink(tabs, url, name, id, title, key){
	var na = document.createElement('a');
    na.href = url;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    if (id) { 
		li.id = id;
	}
	li.appendChild(na);
    tabs.appendChild(li);
    na.accesskey = key;
    var pref = 'alt-';
    if ((((clientPC.indexOf('AppleWebKit') != -1) && (clientPC.indexOf('spoofer') == -1)) || navigator.userAgent.toLowerCase().indexOf( 'mac' ) != -1 )) { pref = 'control-'; }
    if (clientPC.indexOf('opera') != -1) { pref = 'shift-esc-'; }
    if (key && title) { na.title = title + ' [' + pref + key + ']'; }
    else if (title) { na.title = title; }
    else if (key) { na.title = '[' + pref + key + ']'; }
    return li;
}

function addTab(url, name, id, title, key){
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    addlilink(tabs, url, name, id, title, key);
}

function getPname(alt) {
	z = document.getElementById("content").childNodes;
	for (var n = 0; n < z.length; n++) { 
		if (z[n].className == "firstHeading") { 
			stmpPage = z[n].textContent.replace(/Editing /,"");
			if (alt == "name") {
				stmpPage = stmpPage.replace(getNameSpace()+":","");
			}
			return stmpPage;
		}
	};
}

function getNameSpace() {
	z = document.getElementById("content").childNodes;
	for (var n = 0; n < z.length; n++) { 
		if (z[n].className == "firstHeading") { 
			if (z[n].textContent.indexOf("Template") != -1) { return "Template"; }
			if (z[n].textContent.indexOf("Battlestar Wiki") != -1) { return "Battlestar Wiki"; }
			if (z[n].textContent.indexOf("Quotes") != -1) { return "Quotes"; }
			if (z[n].textContent.indexOf("Image") != -1) { return "Image"; }
			return "Article";
		}
	};
}

function checkContent() {
	if (document.editform.wpTextbox1.value == "") {
		return false;
	} else {
		return true;
	}
}

if (document.title.indexOf("Editing ") == 0) {
	if (window.addEventListener) window.addEventListener("load", loadTabs, false);
	else if (window.attachEvent) window.attachEvent("onload", loadTabs);
} else {
	addEditSection0();
}

if (window.location.href.indexOf("Special") == -1) {
    if (window.addEventListener) window.addEventListener("load", loadNonEdit, false);
    else if (window.attachEvent) window.attachEvent("onload", loadNonEdit);
}

function loadTabs() {
	sNamespace = getNameSpace();
	if (sNamespace == "Template") {
		if (opt['delete']) { addQdd();	/*	Mark as "Delete" */ }
		if (opt['cleanup']) { addQcl();	/*	Mark as "Cleanup" */ }
	}
	if (sNamespace == "Quotes") {
		if (opt['delete']) { addQcl();	/*	Mark as "Delete" */ }
	}
	if (sNamespace == "Image") {
		if (opt['tag']) { addQnt();	/*	Add {{no tag}} */ }
		if (opt['fp']) { addQfp();	/*	Mark as Featured Picture */ }
	}
	if ((sNamespace == "Article") || (sNamespace == "Battlestar Wiki")) {
		bContent = checkContent();
		if (bContent) {
			if (opt['delete']) { addQdd();	/*	Mark as "Delete" */ }
			if (opt['cleanup']) { addQcl();	/*	Mark as "Cleanup" */ }
			if (opt['sdelete']) { addQsd();	/*	Mark as "Speedy Delete" */ }
			if (sNamespace == "Article") {
				if (opt['fa']) { addQfa();	/*	Mark as Featured Article */ }
			}
			if (opt['exp']) { addQae();	/*	Mark as "Expantion" */ }
		} else {
			if (opt['req']) { addQar();	/*	Mark as "Requested" */ }
		}
	}
}

function loadNonEdit() {
	if (opt['last']) { addLastDiff();	/*	Last Diff Button */ }
	if (opt['purge']) { addQpp();	/* Purge Page Button */ }
}

function disableOption(var) {
	opt[var] = false;
}

// ========== Add Last Diff ==========

function doLastDiff() {
	var nurl = "http://www.battlestarwiki.org/en/index.php?title=" + getPname() + "&diff=cur&oldid=prev";
	document.location = nurl;
}

function addLastDiff() {
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    var l = addlilink(tabs, "javascript:doLastDiff()", 'last', '');
    l.lastChild.title = "Show most recent diff";
}

// ========== Delete ==========

function doQdd() {
	sNamespace = getNameSpace();
	sPagename = "[["+getPname()+"]]";
	if (sNamespace == "Template") {
		document.editform.wpTextbox1.value = pre_noinclude_var + "{{tfd}}" + suf_noinclude_var + "\n\n" + document.editform.wpTextbox1.value;
	} else if (sNamespace == "Quotes") {
		document.editform.wpTextbox1.value = pre_noinclude_var + "{{qfd}}" + suf_noinclude_var + "\n\n" + document.editform.wpTextbox1.value;
	} else {
		document.editform.wpTextbox1.value = "{{delete}}\n\n" + document.editform.wpTextbox1.value;
	}
	document.editform.wpSummary.value = sPagename + " - marked for deletion.";
	document.editform.submit();
}

function addQdd() {
	addTab("javascript:doQdd()", "del", "ca-dd", "Mark for deletion", "");
	akeytt();
}

// ========== Cleanup==========

function doQcl() {
	sNamespace = getNameSpace();
	sPagename = "[["+getPname()+"]]";
	if ((sNamespace == "Quotes") || (sNamespace == "Template")) {
		document.editform.wpTextbox1.value = pre_noinclude_var + "{{cleanup}}" + suf_noinclude_var + "\n\n" + document.editform.wpTextbox1.value;
	} else {
		document.editform.wpTextbox1.value = "{{cleanup}}\n\n" + document.editform.wpTextbox1.value;
	}
	document.editform.wpSummary.value = sPagename + " - marked for cleanup.";
	document.editform.submit();
}

function addQcl() {
	addTab("javascript:doQcl()", "clp", "ca-cp", "Mark for Cleanup", "");
	akeytt();
}

// ========== Quick Speedy delete ==========

function doQsd() {
	document.editform.wpTextbox1.value = "{{speedydelete}}\n\n" + document.editform.wpTextbox1.value;
	document.editform.wpSummary.value = "Marked for speedy deletion.";
	document.editform.submit();
}

function addQsd() {
	addTab("javascript:doQsd()", "sd", "ca-sd", "Mark for speedy deletion", "");
	akeytt();
}

// ========== 'No Tag' ==========

function doQnt() {
	document.editform.wpTextbox1.value = "{{no tag|{{subst:CURRENTDAYNAME}}, {{subst:CURRENTMONTHNAME}} {{subst:CURRENTDAY}}, {{subst:CURRENTYEAR}} at {{subst:CURRENTTIME}}}}\n\n" + document.editform.wpTextbox1.value;
	document.editform.wpSummary.value = "Tag needs to be updated.";
	document.editform.submit();
}

function addQnt() {
	addTab("javascript:doQnt()", "nt", "ca-nt", "Tag needs to be updated.", "");
	akeytt();
}

// ========== FA Candidate Buttons ==========

function doQfa() {
	sPagename = "[["+getPname()+"|"+getPname('name')+"]]";
	document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + "\n{{featured article candidate}}";
	document.editform.wpSummary.value = "Marked " + sPagename + " as [[Battlestar Wiki:Featured articles|featured article candidate.]]";
	document.editform.submit();
}

function doQfp() {
	sPagename = "[["+getPname()+"|"+getPname('name')+"]]";
	document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + "\n{{featured picture candidate}}";
	document.editform.wpSummary.value = "Marked " + sPagename + " as [[Battlestar Wiki:Featured pictures|featured picture candidate.]]";
	document.editform.submit();
}

function addQfa() {
	addTab("javascript:doQfa()", "fa", "ca-fa", "Mark as Featured Article Candidate", "");
	akeytt();
}

function addQfp() {
	addTab("javascript:doQfp()", "fp", "ca-fp", "Mark as Featured Picture Candidate", "");
	akeytt();
}

// ========== Requested ==========

function doQar() {
	sPagename = getPname();
	document.editform.wpTextbox1.value = "{{requested}}";
	document.editform.wpSummary.value = "Marked [[" + sPagename + "]] as [[Battlestar Wiki:Requested pages|a requested pages.]]";
	document.editform.submit();
}

function addQar() {
	addTab("javascript:doQar()", "req", "ca-ar", "Mark as Requested", "");
	akeytt();
}

// ========== Requested ==========

function doQae() {
	sPagename = getPname();
	document.editform.wpTextbox1.value = "{{expansion}}";
	document.editform.wpSummary.value = "Marked [[" + sPagename + "]] as [[Battlestar Wiki:Requests for expansion|a expansion request.]]";
	document.editform.submit();
}

function addQae() {
	addTab("javascript:doQae()", "exp", "ca-ae", "Mark as Expansion", "");
	akeytt();
}

// ========== Edit Section 0 ==========

function addEditSection0() {
	ta['ca-edit-0'] = ['', 'Edit the 0th section of this page'];
	if (!document.getElementById) { return; }
	x = document.getElementById('ca-edit');
	if (!x) { return; }
	y = document.createElement('LI');
	y.id = 'ca-edit-0';
	if (x.className == 'selected') {
		if (/&action=edit&section=0$/.test(window.location.href)) {
			x.className = 'istalk';
			y.className = 'selected';
		} else {
			x.className = 'selected istalk';
		}
	} else if (x.className == 'selected istalk') {
		if (/&action=edit&section=0$/.test(window.location.href)) {
			x.className = 'istalk';
			y.className = 'selected istalk';
		} else {
			y.className = 'istalk';
		}
	} else {
		y.className = x.className;
		x.className = 'istalk';
	}
	z = document.createElement('A');
	if (x.children) {
		z.href = x.children[0].href + '&section=0';
		z.appendChild(document.createTextNode('Edit Section 0'));
		y.appendChild(z);
		document.getElementById('p-cactions').children[1].insertBefore(y,x.nextSibling);
	} else {
		z.href = x.childNodes[0].href + '&section=0';
		z.appendChild(document.createTextNode('Edit Section 0'));
		y.appendChild(z);
		document.getElementById('p-cactions').childNodes[3].insertBefore(y,x.nextSibling);
	}
}

// ========== Purge Button ==========

function doQpp() {
	var nurl = "http://www.battlestarwiki.org/en/index.php?title=" + getPname() + "&action=purge";
	document.location = nurl;
}

function addQpp() {
	addTab("javascript:doQpp()", "purge", "ca-pp", "Purge this page.", "");
	akeytt();
}

/* </nowiki></pre> */