https://en.wikipedia.org/w/index.php?action=history&feed=atom&title=Module%3ACheckuser%2Fsandbox Module:Checkuser/sandbox - Revision history 2025-06-26T11:05:19Z Revision history for this page on the wiki MediaWiki 1.45.0-wmf.6 https://en.wikipedia.org/w/index.php?title=Module:Checkuser/sandbox&diff=1297271829&oldid=prev Dbeef: off-by-one 2025-06-25T04:45:09Z <p>off-by-one</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 04:45, 25 June 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 151:</td> <td colspan="2" class="diff-lineno">Line 151:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> actualip = ip</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> actualip = ip</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> else</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> else</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> actualip = string.sub(ip, 1, slash)</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> actualip = string.sub(ip, 1, slash<ins style="font-weight: bold; text-decoration: none;">-1</ins>)</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> end</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> end</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td> </tr> </table> Dbeef https://en.wikipedia.org/w/index.php?title=Module:Checkuser/sandbox&diff=1297271784&oldid=prev Dbeef: typo 2025-06-25T04:44:35Z <p>typo</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 04:44, 25 June 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 157:</td> <td colspan="2" class="diff-lineno">Line 157:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local curtitle = mw.title.getCurrentTitle()</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local curtitle = mw.title.getCurrentTitle()</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local links = {</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local links = {</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> '[[User talk:' .. <del style="font-weight: bold; text-decoration: none;">atualip</del> .. '|talk]]' ..</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> '[[User talk:' .. <ins style="font-weight: bold; text-decoration: none;">actualip</ins> .. '|talk]]' ..</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '&lt;sup&gt;&lt;span style="font-size: 120%;"&gt;' ..</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '&lt;sup&gt;&lt;span style="font-size: 120%;"&gt;' ..</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> link('User talk:' .. actualip, {</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> link('User talk:' .. actualip, {</div></td> </tr> </table> Dbeef https://en.wikipedia.org/w/index.php?title=Module:Checkuser/sandbox&diff=1297271721&oldid=prev Dbeef: indices start from 1 2025-06-25T04:43:54Z <p>indices start from 1</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 04:43, 25 June 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 146:</td> <td colspan="2" class="diff-lineno">Line 146:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> end</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> end</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Paragraph was moved. Click to jump to old location." href="#movedpara_4_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_1_0_rhs"></a> local actualip</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local slash = string.find(ip, '/')</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local slash = string.find(ip, '/')</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Paragraph was moved. Click to jump to old location." href="#movedpara_6_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_3_0_rhs"></a> if<ins style="font-weight: bold; text-decoration: none;"> not</ins> slash then</div></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Paragraph was moved. Click to jump to new location." href="#movedpara_1_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_4_0_lhs"></a> local actualip<del style="font-weight: bold; text-decoration: none;"> = ip</del></div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Paragraph was moved. Click to jump to old location." href="#movedpara_8_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_5_0_rhs"></a> actualip = ip</div></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Paragraph was moved. Click to jump to new location." href="#movedpara_3_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_6_0_lhs"></a> if slash<del style="font-weight: bold; text-decoration: none;"> ~= nil</del> then</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> else</div></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Paragraph was moved. Click to jump to new location." href="#movedpara_5_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_8_0_lhs"></a> actualip = <del style="font-weight: bold; text-decoration: none;">string.sub(</del>ip<del style="font-weight: bold; text-decoration: none;">, 0, slash)</del></div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> actualip = string.sub(ip, 1, slash)</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> end</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> end</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td> </tr> </table> Dbeef https://en.wikipedia.org/w/index.php?title=Module:Checkuser/sandbox&diff=1297271501&oldid=prev Dbeef: fix better handling of ip ranges 2025-06-25T04:41:50Z <p>fix better handling of ip ranges</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 04:41, 25 June 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 145:</td> <td colspan="2" class="diff-lineno">Line 145:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> )</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> )</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> end</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> end</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> local slash = string.find(ip, '/')</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> local actualip = ip</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> if slash ~= nil then</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> actualip = string.sub(ip, 0, slash)</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> end</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local span = mw.html.create('span'):attr('class', 'plainlinks neverexpand cuEntry')</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local span = mw.html.create('span'):attr('class', 'plainlinks neverexpand cuEntry')</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local curtitle = mw.title.getCurrentTitle()</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local curtitle = mw.title.getCurrentTitle()</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local links = {</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local links = {</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> '[[User talk:' .. <del style="font-weight: bold; text-decoration: none;">ip</del> .. '|talk]]' ..</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> '[[User talk:' .. <ins style="font-weight: bold; text-decoration: none;">atualip</ins> .. '|talk]]' ..</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '&lt;sup&gt;&lt;span style="font-size: 120%;"&gt;' ..</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '&lt;sup&gt;&lt;span style="font-size: 120%;"&gt;' ..</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> link('User talk:' .. <del style="font-weight: bold; text-decoration: none;">ip</del>, {</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> link('User talk:' .. <ins style="font-weight: bold; text-decoration: none;">actualip</ins>, {</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> action = 'edit',</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> action = 'edit',</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> section = 'new'</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> section = 'new'</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> }, '&lt;span style="color: grey"&gt;+&lt;/span&gt;') ..</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> }, '&lt;span style="color: grey"&gt;+&lt;/span&gt;') ..</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '&lt;/span&gt;&lt;/sup&gt;',</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '&lt;/span&gt;&lt;/sup&gt;',</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> link('User:' .. ip, {</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> action = 'edit',</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> preload = 'Template:Checkip/Preload',</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> ['preloadparams[]'] = (</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> mastername and</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> mastername or</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> '&lt;!-- Insert sock master name here --&gt;'</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> )</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> }, 'tag'),</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '[[Special:Contributions/' .. ip .. '|contribs]]',</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '[[Special:Contributions/' .. ip .. '|contribs]]',</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> link('Special:AbuseLog', {</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> link('Special:AbuseLog', {</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> wpSearchUser = ip</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> wpSearchUser =<ins style="font-weight: bold; text-decoration: none;"> actualip -- no support for searching</ins> ip<ins style="font-weight: bold; text-decoration: none;"> range in abuse log yet</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> }, 'filter log'),</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> }, 'filter log'),</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> extlink(</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> extlink(</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> tostring(mw.uri.new('https://whois-referral.toolforge.org/gateway.py'):extend({</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> tostring(mw.uri.new('https://whois-referral.toolforge.org/gateway.py'):extend({</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> lookup = 'true',</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> lookup = 'true',</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> ip = <del style="font-weight: bold; text-decoration: none;">ip</del></div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> ip = <ins style="font-weight: bold; text-decoration: none;">actualip</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> })),</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> })),</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> 'WHOIS'</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> 'WHOIS'</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ),</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ),</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> extlink(</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> extlink(</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> tostring(mw.uri.new('https://www.robtex.com/rbls/' .. <del style="font-weight: bold; text-decoration: none;">ip</del> .. '.html')),</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> tostring(mw.uri.new('https://www.robtex.com/rbls/' .. <ins style="font-weight: bold; text-decoration: none;">actualip</ins> .. '.html')),</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> 'RBLs'</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> 'RBLs'</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ),</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ),</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> extlink(</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> extlink(</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> tostring(mw.uri.new('https://ipcheck.toolforge.org/index.php'):extend({</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> tostring(mw.uri.new('https://ipcheck.toolforge.org/index.php'):extend({</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> ip = <del style="font-weight: bold; text-decoration: none;">ip</del></div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> ip = <ins style="font-weight: bold; text-decoration: none;">actualip</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> })),</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> })),</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> 'proxy check'</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> 'proxy check'</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 203:</td> <td colspan="2" class="diff-lineno">Line 201:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '&lt;/span&gt;',</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '&lt;/span&gt;',</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> link('Special:Log/block', {</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> link('Special:Log/block', {</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> page = 'User:' .. ip</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> page = 'User:' ..<ins style="font-weight: bold; text-decoration: none;"> actualip -- no support for</ins> ip<ins style="font-weight: bold; text-decoration: none;"> range in block log yet</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> }, 'block log'),</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> }, 'block log'),</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> extlink(</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> extlink(</div></td> </tr> </table> Dbeef https://en.wikipedia.org/w/index.php?title=Module:Checkuser/sandbox&diff=1297269915&oldid=prev Dbeef: init from Module:Checkuser; see that history for attribution 2025-06-25T04:27:27Z <p>init from <a href="/wiki/Module:Checkuser" title="Module:Checkuser">Module:Checkuser</a>; see that history for attribution</p> <p><b>New page</b></p><div>local p = {}<br /> <br /> local getArgs = function(fr)<br /> return require(&#039;Module:Arguments&#039;).getArgs(fr, {<br /> trim = true,<br /> removeBlanks = true<br /> })<br /> end<br /> local noping = function(name)<br /> return require(&#039;Module:No ping&#039;)._main({name})<br /> end<br /> <br /> local middot = &#039;&amp;nbsp;&lt;b&gt;&amp;middot;&lt;/b&gt;&amp;#32;&#039;<br /> local spi = &#039;Wikipedia:Sockpuppet investigations&#039;<br /> local extlink = function(url, text)<br /> return &#039;[&#039; .. tostring(url) .. (text and &#039; &#039; .. text or &#039;&#039;) .. &#039;]&#039;<br /> end<br /> local link = function(page, param, text)<br /> return extlink(mw.uri.fullUrl(page, param), text)<br /> end<br /> <br /> function p.user(frame)<br /> local args = getArgs(frame)<br /> return p._user(args[&#039;User&#039;] or args[1], args[&#039;master name&#039;], args[&#039;master&#039;])<br /> end<br /> <br /> function p._user(sock, mastername, master)<br /> if not sock then<br /> return (<br /> &#039;&lt;strong class=&quot;error&quot;&gt;No username provided.&lt;/strong&gt;&#039; ..<br /> &#039;[[Category:Checkuser with no specified user]]&#039;<br /> )<br /> end<br /> local span = mw.html.create(&#039;span&#039;):attr(&#039;class&#039;, &#039;plainlinks cuEntry&#039;)<br /> local curtitle = mw.title.getCurrentTitle()<br /> local links = {<br /> &#039;[[User talk:&#039; .. sock .. &#039;|talk]]&#039; ..<br /> &#039;&lt;sup&gt;&lt;span style=&quot;font-size: 120%;&quot;&gt;&#039; ..<br /> link(&#039;User talk:&#039; .. sock, {<br /> action = &#039;edit&#039;,<br /> section = &#039;new&#039;<br /> }, &#039;&lt;span style=&quot;color: grey;&quot;&gt;+&lt;/span&gt;&#039;) ..<br /> &#039;&lt;/span&gt;&lt;/sup&gt;&#039;,<br /> link(&#039;User:&#039; .. sock, (function()<br /> local param = {<br /> action = &#039;edit&#039;,<br /> preload = &#039;Template:Checkuser/Preload&#039; .. (master == &#039;yes&#039; and &#039; master&#039; or &#039;&#039;)<br /> }<br /> if master ~= &#039;yes&#039; then<br /> param[&#039;preloadparams[]&#039;] = (<br /> mastername and<br /> mastername or<br /> &#039;&lt;!-- insert sock master here --&gt;&#039;<br /> )<br /> end<br /> return param<br /> end)(), &#039;tag&#039;),<br /> &#039;[[Special:Contributions/&#039; .. sock .. &#039;|contribs]]&#039; ..<br /> &#039;&lt;span class=&quot;sysop-show&quot;&gt;&#039;,<br /> &#039;[[Special:DeletedContributions/&#039; .. sock .. &#039;|deleted contribs]]&#039; ..<br /> &#039;&lt;/span&gt;&#039;,<br /> link(&#039;Special:Log&#039;, {<br /> user = sock<br /> }, &#039;logs&#039;),<br /> link(&#039;Special:AbuseLog&#039;, {<br /> wpSearchUser = sock<br /> }, &#039;filter log&#039;) ..<br /> &#039;&lt;span class=&quot;sysop-show&quot;&gt;&#039;,<br /> &#039;[[Special:Block/&#039; .. sock .. &#039;|block user]]&#039; ..<br /> (function()<br /> if curtitle:isSubpageOf(mw.title.new(spi)) then<br /> return (<br /> middot .. link(&#039;Special:Block&#039;, {<br /> wpBlockAddress = sock,<br /> wpExpiry = &#039;indefinite&#039;,<br /> wpReason = &#039;Abusing [[WP:Sock puppetry|multiple accounts]]&#039;,<br /> [&#039;wpReason-other&#039;] = &#039;Please see: [[:w:en:&#039; .. spi .. &#039;/&#039; ..<br /> mw.text.split(curtitle.text, &#039;/&#039;)[2] ..<br /> &#039;]]&#039;<br /> }, &#039;spi block&#039;)<br /> )<br /> else<br /> return &#039;&#039;<br /> end<br /> end)() ..<br /> &#039;&lt;/span&gt;&#039;,<br /> link(&#039;Special:Log/block&#039;, {<br /> page = &#039;User:&#039; .. sock<br /> }, &#039;block log&#039;),<br /> &#039;[[:m:Special:CentralAuth/&#039; .. sock .. &#039;|CA]]&#039; ..<br /> &#039;&lt;span class=&quot;cuLink checkuser-show&quot;&gt;&#039;,<br /> link(&#039;Special:CheckUser&#039;, (function()<br /> local param = {<br /> user = sock<br /> }<br /> if mw.text.split(curtitle.prefixedText, &#039;/&#039;)[1] == spi then<br /> param[&#039;reason&#039;] = sock .. &#039; from [[&#039; .. curtitle.prefixedText .. &#039;]]&#039;<br /> end<br /> return param<br /> end)(), &#039;CheckUser&#039;) ..<br /> &#039;(&#039; .. link(&#039;Special:CheckUserLog&#039;, {<br /> cuSearch = sock<br /> }, &#039;log&#039;) .. &#039;)&#039;,<br /> link(&#039;Special:Investigate&#039;, (function()<br /> local param = {<br /> targets = sock<br /> }<br /> if curtitle.prefixedText == spi .. &#039;/&#039; .. table.concat({<br /> mw.text.split(curtitle.prefixedText, &#039;/&#039;)[2],<br /> mw.text.split(curtitle.prefixedText, &#039;/&#039;)[3]<br /> }, &#039;/&#039;) then<br /> param[&#039;reason&#039;] = sock .. &#039; from [[&#039; .. curtitle.prefixedText .. &#039;]]&#039;<br /> end<br /> return param<br /> end)(), &#039;investigate&#039;),<br /> extlink(<br /> tostring(mw.uri.new(&#039;https://checkuser.wikimedia.org/w/index.php&#039;):extend({<br /> title = &#039;Special:Search&#039;,<br /> search = sock,<br /> ns0 = 1,<br /> ns2 = 1,<br /> ns14 = 1<br /> })),<br /> &#039;cuwiki&#039;<br /> ) ..<br /> &#039;&lt;/span&gt;&#039;<br /> }<br /> span = span:wikitext(table.concat({<br /> noping(sock),<br /> &#039;(&#039; .. table.concat(links, middot) .. &#039;)&#039;<br /> }, &#039; &#039;))<br /> return tostring(span) .. &#039;__NOINDEX__&#039;<br /> end<br /> <br /> function p.ip(frame)<br /> local args = getArgs(frame)<br /> return p._ip(args[&#039;User&#039;] or args[1], args[&#039;master name&#039;])<br /> end<br /> <br /> function p._ip(ip, mastername)<br /> if not ip then<br /> return (<br /> &#039;&lt;strong class=&quot;error&quot;&gt;No username provided.&lt;/strong&gt;&#039; ..<br /> &#039;[[Category:Checkip with no specified IP]]&#039;<br /> )<br /> end<br /> local span = mw.html.create(&#039;span&#039;):attr(&#039;class&#039;, &#039;plainlinks neverexpand cuEntry&#039;)<br /> local curtitle = mw.title.getCurrentTitle()<br /> local links = {<br /> &#039;[[User talk:&#039; .. ip .. &#039;|talk]]&#039; ..<br /> &#039;&lt;sup&gt;&lt;span style=&quot;font-size: 120%;&quot;&gt;&#039; ..<br /> link(&#039;User talk:&#039; .. ip, {<br /> action = &#039;edit&#039;,<br /> section = &#039;new&#039;<br /> }, &#039;&lt;span style=&quot;color: grey&quot;&gt;+&lt;/span&gt;&#039;) ..<br /> &#039;&lt;/span&gt;&lt;/sup&gt;&#039;,<br /> link(&#039;User:&#039; .. ip, {<br /> action = &#039;edit&#039;,<br /> preload = &#039;Template:Checkip/Preload&#039;,<br /> [&#039;preloadparams[]&#039;] = (<br /> mastername and<br /> mastername or<br /> &#039;&lt;!-- Insert sock master name here --&gt;&#039;<br /> )<br /> }, &#039;tag&#039;),<br /> &#039;[[Special:Contributions/&#039; .. ip .. &#039;|contribs]]&#039;,<br /> link(&#039;Special:AbuseLog&#039;, {<br /> wpSearchUser = ip<br /> }, &#039;filter log&#039;),<br /> extlink(<br /> tostring(mw.uri.new(&#039;https://whois-referral.toolforge.org/gateway.py&#039;):extend({<br /> lookup = &#039;true&#039;,<br /> ip = ip<br /> })),<br /> &#039;WHOIS&#039;<br /> ),<br /> extlink(<br /> tostring(mw.uri.new(&#039;https://www.robtex.com/rbls/&#039; .. ip .. &#039;.html&#039;)),<br /> &#039;RBLs&#039;<br /> ),<br /> extlink(<br /> tostring(mw.uri.new(&#039;https://ipcheck.toolforge.org/index.php&#039;):extend({<br /> ip = ip<br /> })),<br /> &#039;proxy check&#039;<br /> ) ..<br /> &#039;&lt;span class=&quot;sysop-show&quot;&gt;&#039;,<br /> &#039;[[Special:Block/&#039; .. ip .. &#039;|block user]]&#039; .. (function()<br /> if curtitle:isSubpageOf(mw.title.new(spi)) then<br /> return (<br /> middot .. link(&#039;Special:Block&#039;, {<br /> wpTarget = ip,<br /> wpReason = &#039;Abusing [[WP:Sock puppetry|multiple accounts]]&#039;,<br /> [&#039;wpReason-other&#039;] = &#039;Please see: [[:w:en:&#039; .. spi .. &#039;/&#039; ..<br /> mw.text.split(curtitle.text, &#039;/&#039;)[2] ..<br /> &#039;]]&#039;<br /> }, &#039;spi block&#039;)<br /> )<br /> else<br /> return &#039;&#039;<br /> end<br /> end)() ..<br /> &#039;&lt;/span&gt;&#039;,<br /> link(&#039;Special:Log/block&#039;, {<br /> page = &#039;User:&#039; .. ip<br /> }, &#039;block log&#039;),<br /> extlink(<br /> tostring(mw.uri.new(&#039;https://guc.toolforge.org/&#039;):extend({<br /> by = &#039;date&#039;,<br /> user = ip<br /> })),<br /> &#039;cross-wiki contribs&#039;<br /> ) ..<br /> &#039;&lt;span class=&quot;cuLink checkuser-show&quot;&gt;&#039;,<br /> link(&#039;Special:CheckUser&#039;, (function()<br /> local param = {<br /> ip = ip<br /> }<br /> if curtitle.prefixedText == spi .. &#039;/&#039; .. table.concat({<br /> mw.text.split(curtitle.prefixedText, &#039;/&#039;)[2],<br /> mw.text.split(curtitle.prefixedText, &#039;/&#039;)[3]<br /> }, &#039;/&#039;) then<br /> param[&#039;reason&#039;] = &#039;[[&#039; .. curtitle.prefixedText .. &#039;]]&#039;<br /> end<br /> return param<br /> end)(), &#039;CheckUser&#039;) .. &#039; &#039; ..<br /> &#039;(&#039; .. link(&#039;Special:CheckUserLog&#039;, {<br /> cuSearch = ip<br /> }, &#039;log&#039;) .. &#039;)&#039; ..<br /> &#039;&lt;/span&gt;&#039;<br /> }<br /> span = span:wikitext(table.concat({<br /> noping(ip),<br /> &#039;(&#039; .. table.concat(links, middot) .. &#039;)&#039;<br /> }, &#039; &#039;))<br /> return tostring(span)<br /> end<br /> <br /> return p</div> Dbeef