<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.industrial-craft.net/index.php?action=history&amp;feed=atom&amp;title=User%3AKamranMackey%2Feditcounter.js</id>
	<title>User:KamranMackey/editcounter.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.industrial-craft.net/index.php?action=history&amp;feed=atom&amp;title=User%3AKamranMackey%2Feditcounter.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.industrial-craft.net/index.php?title=User:KamranMackey/editcounter.js&amp;action=history"/>
	<updated>2026-10-16T14:57:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.industrial-craft.net/index.php?title=User:KamranMackey/editcounter.js&amp;diff=16363&amp;oldid=prev</id>
		<title>KamranMackey: Protected &quot;User:KamranMackey/editcounter.js&quot;: Security reasons. ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://wiki.industrial-craft.net/index.php?title=User:KamranMackey/editcounter.js&amp;diff=16363&amp;oldid=prev"/>
		<updated>2015-02-22T20:48:33Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/index.php?title=User:KamranMackey/editcounter.js&quot; title=&quot;User:KamranMackey/editcounter.js&quot;&gt;User:KamranMackey/editcounter.js&lt;/a&gt;&amp;quot;: Security reasons. ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:48, 22 February 2015&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key wiki-wiki_:diff::1.12:old-16360:rev-16363 --&gt;
&lt;/table&gt;</summary>
		<author><name>KamranMackey</name></author>
	</entry>
	<entry>
		<id>https://wiki.industrial-craft.net/index.php?title=User:KamranMackey/editcounter.js&amp;diff=16360&amp;oldid=prev</id>
		<title>KamranMackey: Imported the edit counter from Wikipedia onto this wiki, for security reasons.</title>
		<link rel="alternate" type="text/html" href="https://wiki.industrial-craft.net/index.php?title=User:KamranMackey/editcounter.js&amp;diff=16360&amp;oldid=prev"/>
		<updated>2015-02-22T20:46:35Z</updated>

		<summary type="html">&lt;p&gt;Imported the edit counter from Wikipedia onto this wiki, for security reasons.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/***********************************************************************************/&lt;br /&gt;
/*                                                                                 */&lt;br /&gt;
/*                           MEDIAWIKI EDITCOUNTER  v111                           */&lt;br /&gt;
/*                                                                                 */&lt;br /&gt;
/*     license:   CC-BY-SA 3.0  http://creativecommons.org/licenses/by-sa/3.0/     */&lt;br /&gt;
/*                                                                                 */&lt;br /&gt;
/* Original credit:                                                                */&lt;br /&gt;
/*   author:        Najzere @ strategywiki.org                                     */&lt;br /&gt;
/*   source:        http://strategywiki.org/wiki/User:Najzere/edit_counter.js      */&lt;br /&gt;
/*   documentation: http://strategywiki.org/wiki/User_talk:Najzere/edit_counter.js */&lt;br /&gt;
/*   contact:       http://strategywiki.org/wiki/User_talk:Najzere                 */&lt;br /&gt;
/* Minecraft Wiki credit:                                                          */&lt;br /&gt;
/*   author:        Matt (Majr) @ minecraft.gamepedia.com                          */&lt;br /&gt;
/*   source:        http://minecraft.gamepedia.com/User:Majr/editcounter.js        */&lt;br /&gt;
/* Current version credit:                                                         */&lt;br /&gt;
/*   author:        Kanegasi @ minecraft.gamepedia.com/en.wikipedia.org            */&lt;br /&gt;
/*   source:        http://en.wikipedia.org/wiki/User:Kanegasi/editcounter.js      */&lt;br /&gt;
/*   documentation: http://en.wikipedia.org/wiki/User:Kanegasi/editcounter         */&lt;br /&gt;
/*   contacts:      http://minecraft.gamepedia.com/User_talk:Kanegasi  -OR-        */&lt;br /&gt;
/*                  http://en.wikipedia.org/wiki/User_talk:Kanegasi                */&lt;br /&gt;
/***********************************************************************************/&lt;br /&gt;
 &lt;br /&gt;
$(document).ready(function () {&lt;br /&gt;
// Add new link labeled &amp;quot;Edit counter v111&amp;quot; after &amp;quot;User contributions&amp;quot; in side menu&lt;br /&gt;
if (!$(&amp;#039;#t-contributions&amp;#039;).length) {&lt;br /&gt;
alert(&amp;#039;Missing &amp;quot;User contributions&amp;quot; link in the side menu&amp;#039;);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
var $editCountLink = $(&amp;#039;&amp;lt;a&amp;gt;Edit counter v111&amp;lt;/a&amp;gt;&amp;#039;).attr({&lt;br /&gt;
id: &amp;#039;t-editcounter&amp;#039;, href: &amp;#039;#&amp;#039;, title: &amp;#039;Run edit counter script&amp;#039;&lt;br /&gt;
});&lt;br /&gt;
$(&amp;#039;#t-contributions&amp;#039;).after($(&amp;#039;&amp;lt;li&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;).html($editCountLink));&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).click(function () {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Processing…&amp;#039;);&lt;br /&gt;
setTimeout(function () {&lt;br /&gt;
// Set up variables&lt;br /&gt;
if (/wikipedia.org/.test(mw.config.get(&amp;#039;wgServer&amp;#039;))) {&lt;br /&gt;
interwikiLink = &amp;#039;en&amp;#039;;&lt;br /&gt;
} else {&lt;br /&gt;
interwikiLink = &amp;#039;wikipedia&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
if (typeof (pageName) == &amp;#039;undefined&amp;#039;) { pageName = &amp;#039;edit count&amp;#039;; }&lt;br /&gt;
if (typeof (subPages) == &amp;#039;undefined&amp;#039;) { subPages = false; }&lt;br /&gt;
if (typeof (datePageName) == &amp;#039;undefined&amp;#039;) { datePageName = &amp;#039;date&amp;#039;; }&lt;br /&gt;
if (typeof (totalPageName) == &amp;#039;undefined&amp;#039;) { totalPageName = &amp;#039;total&amp;#039;; }&lt;br /&gt;
if (typeof (summaryLink) == &amp;#039;undefined&amp;#039;) {&lt;br /&gt;
summaryLink = interwikiLink + &amp;#039;:User:Kanegasi/editcounter&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
if (typeof (tableCaption) == &amp;#039;undefined&amp;#039;) { tableCaption = &amp;#039;&amp;#039;; }&lt;br /&gt;
if (typeof (tableHeaders) == &amp;#039;undefined&amp;#039; || tableHeaders === true) {&lt;br /&gt;
headerPipe = &amp;#039;! &amp;#039;;&lt;br /&gt;
} else {&lt;br /&gt;
headerPipe = &amp;#039;| &amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
if (typeof (nameSpaces) == &amp;#039;undefined&amp;#039;) { nameSpaces = []; }&lt;br /&gt;
if (typeof (mainTableAttrib) == &amp;#039;undefined&amp;#039;) {&lt;br /&gt;
mainTableAttrib = &amp;#039;class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: &amp;#039; +&lt;br /&gt;
&amp;#039;0 auto 1em; text-align: center&amp;quot;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
if (typeof (topRowAttrib) == &amp;#039;undefined&amp;#039;) { topRowAttrib = &amp;#039;&amp;#039;; }&lt;br /&gt;
if (typeof (bottomRowAttrib) == &amp;#039;undefined&amp;#039;) { bottomRowAttrib = &amp;#039;&amp;#039;; }&lt;br /&gt;
if (typeof (dateFormat) == &amp;#039;undefined&amp;#039;) { dateFormat = &amp;#039;F j, Y&amp;#039;; }&lt;br /&gt;
if (typeof (noInclude1) == &amp;#039;undefined&amp;#039;) { noInclude1 = &amp;#039;&amp;#039;; } else {&lt;br /&gt;
noInclude1 = &amp;#039;&amp;lt;noinclude&amp;gt;&amp;#039; + noInclude1 + &amp;#039;&amp;lt;/noinclude&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
if (typeof (noInclude2) == &amp;#039;undefined&amp;#039;) { noInclude2 = &amp;#039;&amp;#039;; } else {&lt;br /&gt;
noInclude2 = &amp;#039;&amp;lt;noinclude&amp;gt;&amp;#039; + noInclude2 + &amp;#039;&amp;lt;/noinclude&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
if (typeof (noInclude3) == &amp;#039;undefined&amp;#039;) { noInclude3 = &amp;#039;&amp;#039;; } else {&lt;br /&gt;
noInclude3 = &amp;#039;&amp;lt;noinclude&amp;gt;&amp;#039; + noInclude3 + &amp;#039;&amp;lt;/noinclude&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
if (typeof (noInclude) == &amp;#039;undefined&amp;#039;) { noInclude = &amp;#039;&amp;#039;; } else {&lt;br /&gt;
noInclude1 = &amp;#039;&amp;lt;noinclude&amp;gt;&amp;#039; + noInclude + &amp;#039;&amp;lt;/noinclude&amp;gt;&amp;#039;;&lt;br /&gt;
noInclude2 = &amp;#039;&amp;lt;noinclude&amp;gt;&amp;#039; + noInclude + &amp;#039;&amp;lt;/noinclude&amp;gt;&amp;#039;;&lt;br /&gt;
noInclude3 = &amp;#039;&amp;lt;noinclude&amp;gt;&amp;#039; + noInclude + &amp;#039;&amp;lt;/noinclude&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
if (!(/\|/.test(summaryLink))) { summaryLink += &amp;#039;|updated&amp;#039;; }&lt;br /&gt;
if (/wikipedia:User:Kanegasi\/editcounter/i.test(summaryLink) &amp;amp;&amp;amp;&lt;br /&gt;
interwikiLink == &amp;#039;en&amp;#039;) {&lt;br /&gt;
summaryLink = summaryLink.replace(/wikipedia/i,&amp;#039;en&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
var userName = mw.config.get(&amp;#039;wgUserName&amp;#039;),&lt;br /&gt;
contribLink = &amp;#039;[&amp;#039; + mw.config.get(&amp;#039;wgServer&amp;#039;) + mw.config.get(&amp;#039;wgScriptPath&amp;#039;) +&lt;br /&gt;
&amp;#039;/index.php?title=Special%3AContributions&amp;amp;target=&amp;#039; +&lt;br /&gt;
encodeURIComponent(userName) + &amp;#039;&amp;amp;namespace=&amp;#039;,&lt;br /&gt;
bracesLeft = &amp;#039;{{&amp;#039;,&lt;br /&gt;
bracesRight = &amp;#039;}}&amp;#039;,&lt;br /&gt;
deletedEdits = 0,&lt;br /&gt;
edits = [],&lt;br /&gt;
editToken,&lt;br /&gt;
fullPageName = &amp;#039;User:&amp;#039; + userName + &amp;#039;/&amp;#039; + pageName,&lt;br /&gt;
fullDatePageName = fullPageName + &amp;#039;/&amp;#039; + datePageName,&lt;br /&gt;
fullTotalPageName = fullPageName + &amp;#039;/&amp;#039; + totalPageName,&lt;br /&gt;
commonPage = &amp;#039;User:&amp;#039; + userName + &amp;#039;/&amp;#039; + &amp;#039;common.js&amp;#039;,&lt;br /&gt;
vectorPage = &amp;#039;User:&amp;#039; + userName + &amp;#039;/&amp;#039; + &amp;#039;vector.js&amp;#039;,&lt;br /&gt;
scriptPages = commonPage + &amp;#039;|&amp;#039; + vectorPage,&lt;br /&gt;
next,&lt;br /&gt;
noCaptcha = false,&lt;br /&gt;
oldPage = false,&lt;br /&gt;
oldPage1 = true,&lt;br /&gt;
oldPage2 = true,&lt;br /&gt;
oldPage3 = true,&lt;br /&gt;
tableAll,&lt;br /&gt;
timeStamp = bracesLeft + &amp;#039;subst:#time:&amp;#039; + dateFormat + bracesRight,&lt;br /&gt;
tablePart1 = &amp;#039;{| &amp;#039; + mainTableAttrib + &amp;#039;\n&amp;#039;,&lt;br /&gt;
tablePart2 = &amp;#039;|+ style=&amp;quot;caption-side: bottom; &amp;#039; +&lt;br /&gt;
&amp;#039;font-size: x-small; font-weight: normal&amp;quot; | &amp;#039;,&lt;br /&gt;
tablePart3 = &amp;#039;[[&amp;#039; + interwikiLink + &amp;#039;:User:Kanegasi/editcounter|&amp;#039; +&lt;br /&gt;
&amp;#039;Last update: &amp;#039; + timeStamp + &amp;#039;]]\n&amp;#039;,&lt;br /&gt;
tablePart5 = &amp;#039;|- &amp;#039; + topRowAttrib + &amp;#039;\n&amp;#039;,&lt;br /&gt;
tablePart6 = &amp;#039;&amp;#039;,&lt;br /&gt;
tablePart7 = &amp;#039;|- class=&amp;quot;plainlinks&amp;quot; &amp;#039; + bottomRowAttrib + &amp;#039;\n&amp;#039;,&lt;br /&gt;
tablePart8 = &amp;#039;&amp;#039;,&lt;br /&gt;
totalCount,&lt;br /&gt;
totalEdits = bracesLeft + &amp;#039;subst:formatnum:&amp;#039;,&lt;br /&gt;
touchedDate,&lt;br /&gt;
currentDate,&lt;br /&gt;
coolDown,&lt;br /&gt;
touchedDate2,&lt;br /&gt;
currentDate2,&lt;br /&gt;
coolDown2,&lt;br /&gt;
ajaxvars;&lt;br /&gt;
if (tableCaption !== &amp;#039;&amp;#039;) {&lt;br /&gt;
tablePart4 = &amp;#039;|-\n! colspan=99 style=&amp;quot;align: center; &amp;#039; +&lt;br /&gt;
&amp;#039;border-left: hidden; border-right: hidden; &amp;#039; +&lt;br /&gt;
&amp;#039;border-top: hidden&amp;quot; | &amp;#039; + tableCaption + &amp;#039;\n&amp;#039;;&lt;br /&gt;
} else {&lt;br /&gt;
tablePart4 = &amp;#039;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
// Retrieve edit token and check for existing page(s)&lt;br /&gt;
$.ajax({&lt;br /&gt;
type: &amp;quot;GET&amp;quot;,&lt;br /&gt;
url: mw.util.wikiScript(&amp;#039;api&amp;#039;),&lt;br /&gt;
data: {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
prop: &amp;#039;info&amp;#039;,&lt;br /&gt;
intoken: &amp;#039;edit&amp;#039;,&lt;br /&gt;
titles: fullPageName + &amp;#039;|&amp;#039; + fullDatePageName +&lt;br /&gt;
&amp;#039;|&amp;#039; + fullTotalPageName + &amp;#039;|&amp;#039; + scriptPages&lt;br /&gt;
},&lt;br /&gt;
dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
async: false,&lt;br /&gt;
success: function (propResponse) {&lt;br /&gt;
for (var page in propResponse.query.pages) {&lt;br /&gt;
editToken = propResponse.query.pages[page].edittoken;&lt;br /&gt;
if (propResponse.query.pages[page].title == fullPageName) {&lt;br /&gt;
if (propResponse.query.pages[page].missing) {&lt;br /&gt;
oldPage1 = false;&lt;br /&gt;
} else {&lt;br /&gt;
oldPage = true;&lt;br /&gt;
}&lt;br /&gt;
if (propResponse.query.pages[page].touched) {&lt;br /&gt;
touchedDate = propResponse.query.pages[page].touched;&lt;br /&gt;
currentDate = propResponse.query.pages[page].starttimestamp;&lt;br /&gt;
coolDown = new Date(currentDate.substr(0,10).replace(/-/ig,&amp;#039;,&amp;#039;)) -&lt;br /&gt;
new Date(touchedDate.substr(0,10).replace(/-/ig,&amp;#039;,&amp;#039;));&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
if (propResponse.query.pages[page].title == vectorPage) {&lt;br /&gt;
if (!propResponse.query.pages[page].missing) {&lt;br /&gt;
if (propResponse.query.pages[page].touched) {&lt;br /&gt;
touchedDate2 = propResponse.query.pages[page].touched;&lt;br /&gt;
currentDate2 = propResponse.query.pages[page].starttimestamp;&lt;br /&gt;
coolDown2 = new Date(currentDate2.substr(0,10).replace(/-/ig,&amp;#039;,&amp;#039;)) -&lt;br /&gt;
new Date(touchedDate2.substr(0,10).replace(/-/ig,&amp;#039;,&amp;#039;));&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
if (propResponse.query.pages[page].title == commonPage) {&lt;br /&gt;
if (!propResponse.query.pages[page].missing &amp;amp;&amp;amp; !coolDown2) {&lt;br /&gt;
if (propResponse.query.pages[page].touched) {&lt;br /&gt;
touchedDate2 = propResponse.query.pages[page].touched;&lt;br /&gt;
currentDate2 = propResponse.query.pages[page].starttimestamp;&lt;br /&gt;
coolDown2 = new Date(currentDate2.substr(0,10).replace(/-/ig,&amp;#039;,&amp;#039;)) -&lt;br /&gt;
new Date(touchedDate2.substr(0,10).replace(/-/ig,&amp;#039;,&amp;#039;));&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
if (propResponse.query.pages[page].title == fullDatePageName) {&lt;br /&gt;
if (propResponse.query.pages[page].missing &amp;amp;&amp;amp; subPages) {&lt;br /&gt;
oldPage2 = false;&lt;br /&gt;
} else {&lt;br /&gt;
oldPage = true;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
if (propResponse.query.pages[page].title == fullTotalPageName) {&lt;br /&gt;
if (propResponse.query.pages[page].missing &amp;amp;&amp;amp; subPages) {&lt;br /&gt;
oldPage3 = false;&lt;br /&gt;
} else {&lt;br /&gt;
oldPage = true;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
},&lt;br /&gt;
error: function (xhr, textStatus, error){&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(xhr.statusText);&lt;br /&gt;
alert(textStatus);&lt;br /&gt;
alert(error);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
});&lt;br /&gt;
// Check if user autoconfirmed and stop script if false and no page exists.&lt;br /&gt;
// Also check for last count and stop if same day.&lt;br /&gt;
if (/confirmed/i.test(mw.config.get(&amp;#039;wgUserGroups&amp;#039;))) {&lt;br /&gt;
noCaptcha = true;&lt;br /&gt;
}&lt;br /&gt;
if (!oldPage &amp;amp;&amp;amp; !noCaptcha) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
if (!oldPage1) {&lt;br /&gt;
oldPage1 = &amp;#039;\n\t&amp;#039; + fullPageName;&lt;br /&gt;
} else {&lt;br /&gt;
oldPage1 = &amp;#039;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
if (!oldPage2 &amp;amp;&amp;amp; subPages) {&lt;br /&gt;
oldPage2 = &amp;#039;\n\t&amp;#039; + fullDatePageName;&lt;br /&gt;
} else {&lt;br /&gt;
oldPage2 = &amp;#039;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
if (!oldPage3 &amp;amp;&amp;amp; subPages) {&lt;br /&gt;
oldPage3 = &amp;#039;\n\t&amp;#039; + fullTotalPageName;&lt;br /&gt;
} else {&lt;br /&gt;
oldPage3 = &amp;#039;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
alert(&amp;#039;Your account requires a captcha to make new pages.\n&amp;#039; +&lt;br /&gt;
&amp;#039;Make sure the following page(s) exist:\n&amp;#039; +&lt;br /&gt;
oldPage1 + oldPage2 + oldPage3);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
if (coolDown === 0 &amp;amp;&amp;amp; coolDown2 !== 0) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(&amp;#039;You have already counted your edits today.&amp;#039;);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
// Initialize namespace and edit arrays&lt;br /&gt;
$.ajax({&lt;br /&gt;
type: &amp;quot;GET&amp;quot;,&lt;br /&gt;
url: mw.util.wikiScript(&amp;#039;api&amp;#039;),&lt;br /&gt;
data: {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
meta: &amp;#039;siteinfo&amp;#039;,&lt;br /&gt;
siprop: &amp;#039;namespaces&amp;#039;&lt;br /&gt;
},&lt;br /&gt;
dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
async: false,&lt;br /&gt;
success: function (siResponse) {&lt;br /&gt;
for (var ns in siResponse.query.namespaces) {&lt;br /&gt;
if (siResponse.query.namespaces[ns].id &amp;gt; -1) {&lt;br /&gt;
if (siResponse.query.namespaces[ns].id === 0 &amp;amp;&amp;amp;&lt;br /&gt;
typeof (nameSpaces[0]) == &amp;#039;undefined&amp;#039;) {&lt;br /&gt;
nameSpaces[siResponse.query.namespaces[ns].id] = &amp;#039;Main&amp;#039;;&lt;br /&gt;
} else if (siResponse.query.namespaces[ns].id == 4 &amp;amp;&amp;amp;&lt;br /&gt;
typeof (nameSpaces[4]) == &amp;#039;undefined&amp;#039;) {&lt;br /&gt;
nameSpaces[siResponse.query.namespaces[ns].id] = mw.config.get(&amp;#039;wgSiteName&amp;#039;);&lt;br /&gt;
} else if (siResponse.query.namespaces[ns].id == 5 &amp;amp;&amp;amp;&lt;br /&gt;
typeof (nameSpaces[5]) == &amp;#039;undefined&amp;#039;) {&lt;br /&gt;
nameSpaces[siResponse.query.namespaces[ns].id] = mw.config.get(&amp;#039;wgSiteName&amp;#039;) +&lt;br /&gt;
&amp;#039; talk&amp;#039;;&lt;br /&gt;
} else {&lt;br /&gt;
if (typeof (nameSpaces[siResponse.query.namespaces[ns].id]) == &amp;#039;undefined&amp;#039;) {&lt;br /&gt;
nameSpaces[siResponse.query.namespaces[ns].id] =&lt;br /&gt;
siResponse.query.namespaces[ns].canonical;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
edits[siResponse.query.namespaces[ns].id] = 0;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
},&lt;br /&gt;
error: function (xhr, textStatus, error) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(xhr.statusText);&lt;br /&gt;
alert(textStatus);&lt;br /&gt;
alert(error);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
});&lt;br /&gt;
// Fill edit array with moves (negative numbers)&lt;br /&gt;
next = &amp;#039;1&amp;#039;;&lt;br /&gt;
while (next != &amp;#039;stop&amp;#039;) {&lt;br /&gt;
ajaxvars = {&lt;br /&gt;
type: &amp;quot;GET&amp;quot;,&lt;br /&gt;
url: mw.util.wikiScript(&amp;#039;api&amp;#039;),&lt;br /&gt;
data: {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
list: &amp;#039;logevents&amp;#039;,&lt;br /&gt;
leuser: userName,&lt;br /&gt;
letype: &amp;#039;move&amp;#039;,&lt;br /&gt;
leprop: &amp;#039;title&amp;#039;,&lt;br /&gt;
lelimit: &amp;#039;max&amp;#039;,&lt;br /&gt;
ledir: &amp;#039;newer&amp;#039;&lt;br /&gt;
},&lt;br /&gt;
dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
async: false,&lt;br /&gt;
success: function (logResponse) {&lt;br /&gt;
for (var event in logResponse.query.logevents) {&lt;br /&gt;
edits[logResponse.query.logevents[event].ns] -= 1;&lt;br /&gt;
deletedEdits -= 1;&lt;br /&gt;
}&lt;br /&gt;
if (logResponse[&amp;#039;query-continue&amp;#039;]) {&lt;br /&gt;
next = logResponse[&amp;#039;query-continue&amp;#039;].logevents.lecontinue;&lt;br /&gt;
} else {&lt;br /&gt;
next = &amp;#039;stop&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
},&lt;br /&gt;
error: function (xhr, textStatus, error) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(xhr.statusText);&lt;br /&gt;
alert(textStatus);&lt;br /&gt;
alert(error);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
};&lt;br /&gt;
if (next != &amp;#039;1&amp;#039;) {&lt;br /&gt;
ajaxvars.data = {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
list: &amp;#039;logevents&amp;#039;,&lt;br /&gt;
leuser: userName,&lt;br /&gt;
letype: &amp;#039;move&amp;#039;,&lt;br /&gt;
leprop: &amp;#039;title&amp;#039;,&lt;br /&gt;
lelimit: &amp;#039;max&amp;#039;,&lt;br /&gt;
ledir: &amp;#039;newer&amp;#039;,&lt;br /&gt;
lecontinue: next&lt;br /&gt;
};&lt;br /&gt;
}&lt;br /&gt;
$.ajax(ajaxvars);&lt;br /&gt;
}&lt;br /&gt;
// Fill edit array with protects (negative numbers)&lt;br /&gt;
next = &amp;#039;1&amp;#039;;&lt;br /&gt;
while (next != &amp;#039;stop&amp;#039;) {&lt;br /&gt;
ajaxvars = {&lt;br /&gt;
type: &amp;quot;GET&amp;quot;,&lt;br /&gt;
url: mw.util.wikiScript(&amp;#039;api&amp;#039;),&lt;br /&gt;
data: {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
list: &amp;#039;logevents&amp;#039;,&lt;br /&gt;
leuser: userName,&lt;br /&gt;
letype: &amp;#039;protect&amp;#039;,&lt;br /&gt;
leprop: &amp;#039;title&amp;#039;,&lt;br /&gt;
lelimit: &amp;#039;max&amp;#039;,&lt;br /&gt;
ledir: &amp;#039;newer&amp;#039;&lt;br /&gt;
},&lt;br /&gt;
dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
async: false,&lt;br /&gt;
success: function (logResponse) {&lt;br /&gt;
for (var event in logResponse.query.logevents) {&lt;br /&gt;
edits[logResponse.query.logevents[event].ns] -= 1;&lt;br /&gt;
deletedEdits -= 1;&lt;br /&gt;
}&lt;br /&gt;
if (logResponse[&amp;#039;query-continue&amp;#039;]) {&lt;br /&gt;
next = logResponse[&amp;#039;query-continue&amp;#039;].logevents.lecontinue;&lt;br /&gt;
} else {&lt;br /&gt;
next = &amp;#039;stop&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
},&lt;br /&gt;
error: function (xhr, textStatus, error) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(xhr.statusText);&lt;br /&gt;
alert(textStatus);&lt;br /&gt;
alert(error);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
};&lt;br /&gt;
if (next != &amp;#039;1&amp;#039;) {&lt;br /&gt;
ajaxvars.data = {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
list: &amp;#039;logevents&amp;#039;,&lt;br /&gt;
leuser: userName,&lt;br /&gt;
letype: &amp;#039;protect&amp;#039;,&lt;br /&gt;
leprop: &amp;#039;title&amp;#039;,&lt;br /&gt;
lelimit: &amp;#039;max&amp;#039;,&lt;br /&gt;
ledir: &amp;#039;newer&amp;#039;,&lt;br /&gt;
lecontinue: next&lt;br /&gt;
};&lt;br /&gt;
}&lt;br /&gt;
$.ajax(ajaxvars);&lt;br /&gt;
}&lt;br /&gt;
// Fill edit array with file overwrites (negative numbers)&lt;br /&gt;
next = &amp;#039;1&amp;#039;;&lt;br /&gt;
while (next != &amp;#039;stop&amp;#039;) {&lt;br /&gt;
ajaxvars = {&lt;br /&gt;
type: &amp;quot;GET&amp;quot;,&lt;br /&gt;
url: mw.util.wikiScript(&amp;#039;api&amp;#039;),&lt;br /&gt;
data: {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
list: &amp;#039;logevents&amp;#039;,&lt;br /&gt;
leuser: userName,&lt;br /&gt;
leaction: &amp;#039;upload/overwrite&amp;#039;,&lt;br /&gt;
leprop: &amp;#039;title&amp;#039;,&lt;br /&gt;
lelimit: &amp;#039;max&amp;#039;,&lt;br /&gt;
ledir: &amp;#039;newer&amp;#039;&lt;br /&gt;
},&lt;br /&gt;
dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
async: false,&lt;br /&gt;
success: function (logResponse) {&lt;br /&gt;
for (var event in logResponse.query.logevents) {&lt;br /&gt;
edits[logResponse.query.logevents[event].ns] -= 1;&lt;br /&gt;
deletedEdits -= 1;&lt;br /&gt;
}&lt;br /&gt;
if (logResponse[&amp;#039;query-continue&amp;#039;]) {&lt;br /&gt;
next = logResponse[&amp;#039;query-continue&amp;#039;].logevents.lecontinue;&lt;br /&gt;
} else {&lt;br /&gt;
next = &amp;#039;stop&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
},&lt;br /&gt;
error: function (xhr, textStatus, error) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(xhr.statusText);&lt;br /&gt;
alert(textStatus);&lt;br /&gt;
alert(error);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
};&lt;br /&gt;
if (next != &amp;#039;1&amp;#039;) {&lt;br /&gt;
ajaxvars.data = {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
list: &amp;#039;logevents&amp;#039;,&lt;br /&gt;
leuser: userName,&lt;br /&gt;
leaction: &amp;#039;upload/overwrite&amp;#039;,&lt;br /&gt;
leprop: &amp;#039;title&amp;#039;,&lt;br /&gt;
lelimit: &amp;#039;max&amp;#039;,&lt;br /&gt;
ledir: &amp;#039;newer&amp;#039;,&lt;br /&gt;
lecontinue: next&lt;br /&gt;
};&lt;br /&gt;
}&lt;br /&gt;
$.ajax(ajaxvars);&lt;br /&gt;
}&lt;br /&gt;
// Fill edit array with normal edits (positive numbers)&lt;br /&gt;
next = &amp;#039;1&amp;#039;;&lt;br /&gt;
while (next != &amp;#039;stop&amp;#039;) {&lt;br /&gt;
ajaxvars = {&lt;br /&gt;
type: &amp;quot;GET&amp;quot;,&lt;br /&gt;
url: mw.util.wikiScript(&amp;#039;api&amp;#039;),&lt;br /&gt;
data: {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
list: &amp;#039;usercontribs&amp;#039;,&lt;br /&gt;
ucuser: userName,&lt;br /&gt;
ucprop: &amp;#039;title&amp;#039;,&lt;br /&gt;
uclimit: &amp;#039;max&amp;#039;,&lt;br /&gt;
ucdir: &amp;#039;newer&amp;#039;&lt;br /&gt;
},&lt;br /&gt;
dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
async: false,&lt;br /&gt;
success: function (ucResponse) {&lt;br /&gt;
for (var event in ucResponse.query.usercontribs) {&lt;br /&gt;
edits[ucResponse.query.usercontribs[event].ns] += 1;&lt;br /&gt;
deletedEdits += 1;&lt;br /&gt;
}&lt;br /&gt;
if (ucResponse[&amp;#039;query-continue&amp;#039;]) {&lt;br /&gt;
next = ucResponse[&amp;#039;query-continue&amp;#039;].usercontribs.uccontinue;&lt;br /&gt;
} else {&lt;br /&gt;
next = &amp;#039;stop&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
},&lt;br /&gt;
error: function (xhr, textStatus, error) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(xhr.statusText);&lt;br /&gt;
alert(textStatus);&lt;br /&gt;
alert(error);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
};&lt;br /&gt;
if (next != &amp;#039;1&amp;#039;) {&lt;br /&gt;
ajaxvars.data = {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
list: &amp;#039;usercontribs&amp;#039;,&lt;br /&gt;
ucuser: userName,&lt;br /&gt;
ucprop: &amp;#039;title&amp;#039;,&lt;br /&gt;
uclimit: &amp;#039;max&amp;#039;,&lt;br /&gt;
ucdir: &amp;#039;newer&amp;#039;,&lt;br /&gt;
uccontinue: next&lt;br /&gt;
};&lt;br /&gt;
}&lt;br /&gt;
$.ajax(ajaxvars);&lt;br /&gt;
}&lt;br /&gt;
for (var i = 0; i &amp;lt; nameSpaces.length; i++) {&lt;br /&gt;
if (edits[i] &amp;gt; 0) {&lt;br /&gt;
if (i == 2) {&lt;br /&gt;
if (subPages) {&lt;br /&gt;
edits[i] += 3;&lt;br /&gt;
} else {&lt;br /&gt;
edits[i] += 1;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
tablePart6 += headerPipe + nameSpaces[i] + &amp;#039;\n&amp;#039;;&lt;br /&gt;
tablePart8 += &amp;#039;| &amp;#039; + contribLink + i + &amp;#039; &amp;#039; + bracesLeft +&lt;br /&gt;
&amp;#039;subst:formatnum:&amp;#039; + edits[i] + bracesRight + &amp;#039;]&amp;#039; + &amp;#039;\n&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
tablePart6 += headerPipe + &amp;#039;Total\n&amp;#039;;&lt;br /&gt;
tablePart8 += &amp;#039;| [[Special:Contributions/&amp;#039; +&lt;br /&gt;
userName + &amp;#039;|&amp;lt;span title=&amp;quot;Deleted edits: &amp;#039;;&lt;br /&gt;
// Retrieve total edit count and calculate estimated deleted edits&lt;br /&gt;
$.ajax({&lt;br /&gt;
type: &amp;quot;GET&amp;quot;,&lt;br /&gt;
url: mw.util.wikiScript(&amp;#039;api&amp;#039;),&lt;br /&gt;
data: {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;query&amp;#039;,&lt;br /&gt;
meta: &amp;#039;userinfo&amp;#039;,&lt;br /&gt;
uiprop: &amp;#039;editcount&amp;#039;&lt;br /&gt;
},&lt;br /&gt;
dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
async: false,&lt;br /&gt;
success: function (totalResponse) {&lt;br /&gt;
deletedEdits -= totalResponse.query.userinfo.editcount;&lt;br /&gt;
if (subPages) {&lt;br /&gt;
totalCount = totalResponse.query.userinfo.editcount + 3;&lt;br /&gt;
} else {&lt;br /&gt;
totalCount = totalResponse.query.userinfo.editcount + 1;&lt;br /&gt;
}&lt;br /&gt;
tablePart8 += Math.abs(deletedEdits) + &amp;#039;&amp;quot;&amp;gt;&amp;#039; + totalEdits +&lt;br /&gt;
totalCount + bracesRight + &amp;#039;&amp;lt;/span&amp;gt;]]\n|}&amp;#039;;&lt;br /&gt;
},&lt;br /&gt;
error: function (xhr, textStatus, error) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(xhr.statusText);&lt;br /&gt;
alert(textStatus);&lt;br /&gt;
alert(error);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
});&lt;br /&gt;
tableAll = tablePart1 + tablePart2 + tablePart3 + tablePart4 +&lt;br /&gt;
tablePart5 + tablePart6 + tablePart7 + tablePart8;&lt;br /&gt;
// Submit post request to main page&lt;br /&gt;
$.ajax({&lt;br /&gt;
type: &amp;#039;POST&amp;#039;,&lt;br /&gt;
url: mw.util.wikiScript(&amp;#039;api&amp;#039;),&lt;br /&gt;
data: {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;edit&amp;#039;,&lt;br /&gt;
title: fullPageName,&lt;br /&gt;
text: tableAll + noInclude1,&lt;br /&gt;
summary: &amp;#039;[[&amp;#039; + summaryLink + &amp;#039;]]&amp;#039;,&lt;br /&gt;
bot: &amp;#039;1&amp;#039;,&lt;br /&gt;
minor: &amp;#039;1&amp;#039;,&lt;br /&gt;
recreate: &amp;#039;1&amp;#039;,&lt;br /&gt;
token: editToken&lt;br /&gt;
},&lt;br /&gt;
dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
async: false,&lt;br /&gt;
success: function () {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Success!&amp;#039;);&lt;br /&gt;
},&lt;br /&gt;
error: function (xhr, textStatus, error) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(xhr.statusText);&lt;br /&gt;
alert(textStatus);&lt;br /&gt;
alert(error);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
});&lt;br /&gt;
// Submit post request to date page&lt;br /&gt;
if (subPages) {&lt;br /&gt;
$.ajax({&lt;br /&gt;
type: &amp;#039;POST&amp;#039;,&lt;br /&gt;
url: mw.util.wikiScript(&amp;#039;api&amp;#039;),&lt;br /&gt;
data: {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;edit&amp;#039;,&lt;br /&gt;
title: fullDatePageName,&lt;br /&gt;
text: timeStamp + noInclude2,&lt;br /&gt;
summary: &amp;#039;[[&amp;#039; + summaryLink + &amp;#039;]]&amp;#039;,&lt;br /&gt;
bot: &amp;#039;1&amp;#039;,&lt;br /&gt;
minor: &amp;#039;1&amp;#039;,&lt;br /&gt;
recreate: &amp;#039;1&amp;#039;,&lt;br /&gt;
token: editToken&lt;br /&gt;
},&lt;br /&gt;
dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
async: false,&lt;br /&gt;
success: function () {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Success!&amp;#039;);&lt;br /&gt;
},&lt;br /&gt;
error: function (xhr, textStatus, error) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(xhr.statusText);&lt;br /&gt;
alert(textStatus);&lt;br /&gt;
alert(error);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
});&lt;br /&gt;
}&lt;br /&gt;
// Submit post request to total page&lt;br /&gt;
if (subPages) {&lt;br /&gt;
$.ajax({&lt;br /&gt;
type: &amp;#039;POST&amp;#039;,&lt;br /&gt;
url: mw.util.wikiScript(&amp;#039;api&amp;#039;),&lt;br /&gt;
data: {&lt;br /&gt;
format: &amp;#039;json&amp;#039;,&lt;br /&gt;
action: &amp;#039;edit&amp;#039;,&lt;br /&gt;
title: fullTotalPageName,&lt;br /&gt;
text: totalCount + noInclude3,&lt;br /&gt;
summary: &amp;#039;[[&amp;#039; + summaryLink + &amp;#039;]]&amp;#039;,&lt;br /&gt;
bot: &amp;#039;1&amp;#039;,&lt;br /&gt;
minor: &amp;#039;1&amp;#039;,&lt;br /&gt;
recreate: &amp;#039;1&amp;#039;,&lt;br /&gt;
token: editToken&lt;br /&gt;
},&lt;br /&gt;
dataType: &amp;#039;json&amp;#039;,&lt;br /&gt;
async: false,&lt;br /&gt;
success: function () {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Success!&amp;#039;);&lt;br /&gt;
},&lt;br /&gt;
error: function (xhr, textStatus, error) {&lt;br /&gt;
$(&amp;#039;#t-editcounter&amp;#039;).text(&amp;#039;Error!&amp;#039;);&lt;br /&gt;
alert(xhr.statusText);&lt;br /&gt;
alert(textStatus);&lt;br /&gt;
alert(error);&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
});&lt;br /&gt;
}&lt;br /&gt;
},1000);&lt;br /&gt;
});&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>KamranMackey</name></author>
	</entry>
</feed>