User:Ale jrb/Scripts/iglooSettings.js

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.
/* ======================================================== *\
** 			igloo frontend manager - settings
**			tracker: [[User:Ale_jrb/Scripts/igloo]]
\* ======================================================== */

		// this page simply defines some global code settings for igloo
		
		function ig () {
			
			// version settings
			this.version			= '1.0m-c';
			this.build				= 'alpha';
			this.versionString		= 'version: '+this.version+';  build: '+this.build;
			this.developerMode		= true;
			this.firstRun			= true; // set true to enable displaying of first run info & welcome
		
			// url settings
			this.remoteHost			= 'http://bots.wmflabs.org/~alejrb/igloo/';
			this.articleBase		= mw.config.get('wgServer') + mw.config.get('wgArticlePath').substr ( 0, ( wgArticlePath.length - 2 ) );
			this.localBase			= 'User:Ale_jrb/Scripts/igloo/';
			this.rootApi			= wgScriptPath + '/api.php';
			
			// interface settings
			this.hookInterface		= true;
			this.enableFeedColour	= true;
			this.enableWindowColour	= false;
			this.profFilter			= true;
			this.histWinTimeout		= 0.8;
			this.blockKeys			= true;
			this.dynamicBlockKeys	= 'default';
			this.preloadInterface	= true;
			this.diffFontSize		= 10;
			
			// program settings
			this.serverTimeout		= 10;
			this.updateTime			= 3;
			this.updateQuantity		= 15;
			this.hideOwn			= false; // hide own edits from queue
			this.defaultUserScore	= 0.5;
			this.maxHistory			= 20;
			this.permitPingfails	= 4;
			
			// user data - this data is always either overwritten by the server or ignored
			this.lastConnectIp		= 0;
			this.lastConnectTime	= 0;
			this.totalSessions		= 0;
			this.iglooFlags			= 'noflags';
			
			// iglooNet settings
			this.recheck			= true; // investigate even if we already have data
			this.commitToIgNet		= true; // whether igloo can attempt to commit its findings to iglooNet
			this.commitWhen			= 0; // how often igloo should attempt to investigate a user (lower = more often)
			
			// wiki settings
			this.vandalTemplate		= 'vandalism';
			this.warningMessage		= '{'+'{subst:uw-%MESSAGE%%LEVEL%|%PAGE%|2=The reverted edit can be found <span class="plainlinks">[%DIFF% here]</span>.}'+'}<!'+'-- igloo:%MESSAGE%%LEVEL% --'+'> ~~'+'~~';
			this.warningSummary		= 'Level %LEVEL% warning re. vandalism on [[%PAGE%]] (['+'[' + this.localBase.substr ( 0, this.localBase.length - 1 ) + '|GLOO]'+'])';
			this.rollbackSummary	= 'Reverted edits by [[Special:Contributions/$2|$2]] to last version by $1 (['+'[' + this.localBase.substr ( 0, this.localBase.length - 1 ) + '|GLOO]'+'])';
			
			this.warningsOldAfter	= 2; // days after which warnings are considered irrelevant
			
			this.aiv				= 'Wikipedia:Administrator intervention against vandalism';
			this.aivWhere			= 'appendtext';
			this.aivIp				= 'IPvandal';
			this.aivUser			= 'vandal';
			this.aivMessage			= '* {'+'{%TEMPLATE%|%USER%}'+'} - vandalism after final warning. ~~'+'~~';
			this.aivSummary			= 'Reporting [[Special:Contributions/%USER%|%USER%]] - vandalism after final warning (['+'['+this.localBase.substr(0, this.localBase.length-1)+'|GLOO]'+'])';
		
			// customisation settings
			this.updateLimit		= 80;
			this.notifyWarningDone	= true;
			this.promptRevertSelf	= true;
			this.enableUserFilters 	= false;
			this.flagColours		= [ '#ff8888', '#ffbbbb', '#ffffff', '#bbffbb', '#88ff88' ]; // v. dirty, dirty, neutral, clean, v. clean
			this.enableFilters		= true;
			this.filterList			= [];
			
			// sysop only settings
			this.mesysop			= false; // iglooMain overwrites on load, if required
			this.blockAction		= 'prompt';
			this.useAutoBlock		= true;
			
			this.blockTypes			= { 'default' : 'subst:uw-vblock|time=%DURATION%|sig=yes', 'sharedipedu' : 'schoolblock|1=Blocked for %DURATION%.|sig=~~'+'~~', 'sharedippublic' : 'anonblock|1=Blocked for %DURATION%.|sig=~~'+'~~', 'sharedip' : 'anonblock|1=Blocked for %DURATION%.|sig=~~'+'~~' }; // if detected on the talk page, the autoblocker will try to use this template
			this.blockIncrement		= [ 'indefinite', '1 hour', '3 hours', '6 hours', '12 hours', '24 hours', '31 hours', '48 hours', '72 hours', '1 week', '2 weeks', '1 month', '3 months', '6 months', '1 year' ]; // recognised block length
			this.blockDefault		= 6; // the above block length to issue by default
			this.blockSpecTemp		= '1 month'; // non-default templates above will only be used when handling blocks greater than or equal to this setting
			this.anonBlockSettings	= '&anononly=&nocreate=&allowusertalk='; // this should take the form of an API block settings string, and will be attached to the api request (default string)
			this.userBlockSettings	= '&autoblock=&nocreate=&allowusertalk='; // this should take the form of an API block settings string, and will be attached to the api request (default string)
			
			
		}
		
		var iglooSettings = new ig ();