Jump to content

User:Proteins/switchboard.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Proteins (talk | contribs) at 11:54, 9 July 2009 (try another approach). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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>
// If you are a known user, this script connects you with someone who will help you.
//
// To use this script, add "importScript('User:Proteins/switchboard.js');" to your monobook.js subpage 
// under your user page, as you can see at User:Proteins/monobook.js

var known_users = [
	"Awadewit", "John_Broughton", "Proteins", "SvHannibal", "TimVickers"
];

var known_helpers = [
	"Awadewit", "John_Broughton", "Proteins", "SvHannibal", "TimVickers"
];

var helper_descriptions = {

}; 

function switchboard() {
	var alert_string = "";

	var user_index = 0;
	var num_known_users = 0;
	var is_known_user = false;

	var random_helper = "";
	var num_known_helpers = 0;
 
	var random_double = 0.5;
	var random_helper_index = 0;
 
	var talk_page_href = "";

// Initial diagnostics
	alert_string = "This is the switchboard function.";
	window.alert(alert_string);

// Check that the invoker is on the list of known users
	is_known_user = false;
	num_known_users = known_users.length;
	for (user_index=0; user_index<num_known_users; user_index++) {
		if (wgUserName == known_users[user_index]) {
			is_known_user = true;
			break;
		}
	}
	if (is_known_user == false) {
		alert_string = "I'm sorry, but the switchboard is only for known users."
		window.alert(alert_string);
		return;
	} else {
		alert_string = "Welcome to the switchboard, User:" + known_users[user_index];
		window.alert(alert_string);
	}

// Select a random helper
	num_known_helpers = known_helpers.length;
 	random_double = num_known_helpers * Math.random();
	random_helper_index = Math.floor(random_double);
	if ((random_helper_index < 0) || (random_helper_index >= num_known_helpers)) { 
		alert_string = "Error in choosing a random helper to contact - sorry!";
		window.alert(alert_string);
		return;
	}
	random_helper = known_helpers[random_helper_index];

// Check that the user wishes to contact this helper
	alert_string = "The random helper is User:" + random_helper;
	window.alert(alert_string);

// Open the User talk page of the helper
	talk_page_href = "http://en.wikipedia.org/w/index.php?title=User_talk:" + random_helper + "&action=edit&section=new&preloadtitle=Help%20request%20from%20an%20KFE%20contributor&preload=User:Proteins/Personal_help_request";
	window.open(talk_page_href);

	return;
} // closes function switchboard()

addOnloadHook(function () {
            addPortletLink('p-cactions', 'javascript:switchboard()', 'help me!', 'ca-switchboard', 'Contact someone who will help you and answer your questions', 'g', '');
});
 
//</pre>