<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=User%3AFunc%2Fwpfunc%2Fblockiphelp.js</id>
	<title>User:Func/wpfunc/blockiphelp.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=User%3AFunc%2Fwpfunc%2Fblockiphelp.js"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=User:Func/wpfunc/blockiphelp.js&amp;action=history"/>
	<updated>2026-05-12T21:30:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=User:Func/wpfunc/blockiphelp.js&amp;diff=1912099&amp;oldid=prev</id>
		<title>imported&gt;Func: Er, 24 hours makes more sense as default.</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=User:Func/wpfunc/blockiphelp.js&amp;diff=1912099&amp;oldid=prev"/>
		<updated>2005-09-23T17:13:04Z</updated>

		<summary type="html">&lt;p&gt;Er, 24 hours makes more sense as default.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//	&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function BlockIpHelp()&lt;br /&gt;
{&lt;br /&gt;
	var form = document.getElementById( &amp;#039;blockip&amp;#039; );&lt;br /&gt;
	&lt;br /&gt;
	if ( ! form || form.tagName != &amp;#039;FORM&amp;#039; || ! form.wpBlockAddress ) return;&lt;br /&gt;
&lt;br /&gt;
	var span = document.createElement( &amp;#039;SPAN&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
	form.span = span; // avoid globals&lt;br /&gt;
&lt;br /&gt;
		//	to the right of the IP or username field&lt;br /&gt;
		//&lt;br /&gt;
	form.wpBlockAddress.parentNode.insertBefore( span, form.wpBlockAddress.nextSibling );&lt;br /&gt;
&lt;br /&gt;
	function ipMessage( message, selectedIndex, color )&lt;br /&gt;
	{	var span = document.createElement( &amp;#039;SPAN&amp;#039; );&lt;br /&gt;
			span.appendChild( document.createTextNode( &amp;#039; &amp;#039; + ( message || &amp;#039;&amp;#039; ) ) );&lt;br /&gt;
			span.style.color = color || &amp;#039;#000000&amp;#039;;&lt;br /&gt;
			span.style.fontWeight = &amp;#039;bold&amp;#039;;&lt;br /&gt;
			span.selectedIndex = selectedIndex || 0;&lt;br /&gt;
		return span;&lt;br /&gt;
	}&lt;br /&gt;
	var expiry = {&lt;br /&gt;
		     &amp;#039;other&amp;#039; : 0,&lt;br /&gt;
		&amp;#039;15 minutes&amp;#039; : 1,&lt;br /&gt;
		    &amp;#039;1 hour&amp;#039; : 2,&lt;br /&gt;
		   &amp;#039;3 hours&amp;#039; : 3,&lt;br /&gt;
		  &amp;#039;24 hours&amp;#039; : 4,&lt;br /&gt;
		  &amp;#039;48 hours&amp;#039; : 5,&lt;br /&gt;
		    &amp;#039;1 week&amp;#039; : 6,&lt;br /&gt;
		   &amp;#039;1 month&amp;#039; : 7,&lt;br /&gt;
		&amp;#039;indefinite&amp;#039; : 8&lt;br /&gt;
	};&lt;br /&gt;
	span.ipNone    = ipMessage();&lt;br /&gt;
	span.ipNot     = ipMessage( &amp;#039;Not an IP.&amp;#039;     , expiry[ &amp;#039;24 hours&amp;#039;   ], &amp;#039;#009900&amp;#039; ); // green&lt;br /&gt;
	span.ipUnknown = ipMessage( &amp;#039;Unknown IP.&amp;#039;    , expiry[ &amp;#039;1 hour&amp;#039;     ], &amp;#039;#999900&amp;#039; ); // yellow&lt;br /&gt;
	span.ipAOL     = ipMessage( &amp;#039;AOL IP address.&amp;#039;, expiry[ &amp;#039;15 minutes&amp;#039; ], &amp;#039;#990000&amp;#039; ); // red&lt;br /&gt;
&lt;br /&gt;
	span.appendChild( span.ipNot ); // place holder&lt;br /&gt;
&lt;br /&gt;
	span.showMessage = function( span )&lt;br /&gt;
	{	this.replaceChild( span, this.firstChild );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	form.wpBlockAddress.onchange = function()&lt;br /&gt;
	{&lt;br /&gt;
		var ip = IpDottedToLong( this.value );&lt;br /&gt;
&lt;br /&gt;
		     if ( ip === null ) this.form.span.showMessage( this.form.span.ipNone    );&lt;br /&gt;
		else if ( isNaN( ip ) ) this.form.span.showMessage( this.form.span.ipNot     );&lt;br /&gt;
		else if ( IsAOL( ip ) ) this.form.span.showMessage( this.form.span.ipAOL     ); // what else, EarthLink?&lt;br /&gt;
		else                    this.form.span.showMessage( this.form.span.ipUnknown );&lt;br /&gt;
		&lt;br /&gt;
		this.form.wpBlockExpiry.selectedIndex = this.form.span.selectedIndex;&lt;br /&gt;
	}&lt;br /&gt;
	form.wpBlockAddress.onchange();&lt;br /&gt;
}&lt;br /&gt;
if ( window.addEventListener ) window.addEventListener( &amp;#039;load&amp;#039;, BlockIpHelp, false );&lt;br /&gt;
else if ( window.attachEvent ) window.attachEvent(    &amp;#039;onload&amp;#039;, BlockIpHelp );&lt;br /&gt;
&lt;br /&gt;
function IpDottedToLong( ip ) //-&amp;gt; number, Number.NaN for username, or null&lt;br /&gt;
{&lt;br /&gt;
	if ( ! ip ) return null;&lt;br /&gt;
&lt;br /&gt;
	if ( (  ip.constructor != String          ) ||&lt;br /&gt;
	     ( (ip = ip.split( &amp;#039;.&amp;#039; )).length != 4 )  ) return Number.NaN;&lt;br /&gt;
		//&lt;br /&gt;
	for ( var i = 0; i &amp;lt; 4; i++ )&lt;br /&gt;
		if ( isNaN( ip[ i ] = Number( ip[ i ] ) ) ||&lt;br /&gt;
		            ip[ i ] &amp;lt;   0                 ||&lt;br /&gt;
		            ip[ i ] &amp;gt; 255                  ) return Number.NaN;&lt;br /&gt;
&lt;br /&gt;
		//	I &amp;quot;think&amp;quot; JavaScript numbers can handle this....&lt;br /&gt;
		//&lt;br /&gt;
	return	ip[ 0 ] * 256 * 256 * 256 +	// JS lacks an exponent op, I refuse to use Math.pow()&lt;br /&gt;
			ip[ 1 ] * 256 * 256 +&lt;br /&gt;
			ip[ 2 ] * 256 +&lt;br /&gt;
			ip[ 3 ];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function IsAOL( ip )&lt;br /&gt;
{&lt;br /&gt;
	     if ( ip &amp;lt;  1074528256 ) return false; //  64. 12.  0.  0 ..&lt;br /&gt;
	else if ( ip &amp;lt;= 1074593791 ) return true;  //        .255.255&lt;br /&gt;
&lt;br /&gt;
	else if ( ip &amp;lt;  2511208448 ) return false; // 149.174.  0.  0 ..&lt;br /&gt;
	else if ( ip &amp;lt;= 2511273983 ) return true;  //        .255.255&lt;br /&gt;
&lt;br /&gt;
	else if ( ip &amp;lt;  2560819200 ) return false; // 152.163.  0.  0 ..&lt;br /&gt;
	else if ( ip &amp;lt;= 2560884735 ) return true;  //        .255.255&lt;br /&gt;
&lt;br /&gt;
	else if ( ip &amp;lt;  2894069760 ) return false; // 172.128.  0.  0 ..&lt;br /&gt;
	else if ( ip &amp;lt;= 2899574783 ) return true;  //    .211.255.255&lt;br /&gt;
&lt;br /&gt;
	else if ( ip &amp;lt;  3277651968 ) return false; // 195. 93.  0.  0 ..&lt;br /&gt;
	else if ( ip &amp;lt;= 3277684735 ) return true;  //        .127.255&lt;br /&gt;
&lt;br /&gt;
	else if ( ip &amp;lt;  3327197184 ) return false; // 198. 81.  0.  0 ..&lt;br /&gt;
	else if ( ip &amp;lt;= 3327205375 ) return true;  //        . 31.255&lt;br /&gt;
&lt;br /&gt;
	else if ( ip &amp;lt;  3393404928 ) return false; // 202. 67. 64.  0 ..&lt;br /&gt;
	else if ( ip &amp;lt;= 3393421311 ) return true;  //        .127.255&lt;br /&gt;
&lt;br /&gt;
	else if ( ip &amp;lt;  3451650048 ) return false; // 205.188.  0.  0 ..&lt;br /&gt;
	else if ( ip &amp;lt;= 3451715583 ) return true;  //        .255.255&lt;br /&gt;
&lt;br /&gt;
	else if ( ip &amp;lt;  3486007296 ) return false; // 207.200. 64.  0 ..&lt;br /&gt;
	else if ( ip &amp;lt;= 3486023679 ) return true;  //        .127.255&lt;br /&gt;
&lt;br /&gt;
	else return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//	&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;Func</name></author>
	</entry>
</feed>