Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
varnpp_http;varnpp_enabled;varnpp_num_pages;varnpp_refresh;varnpp_num_idle_req;varnpp_curr_idle_req;varnpp_str_no_ajax="There seems to be a problem using the NewPagePatrol script. Your browser is not supported.";varnpp_str_box_title="New pages";varnpp_str_box_title_updating="New pages (updating)";varnpp_str_box_title_failed="New pages (update failed)";varnpp_str_enable="enable this box";varnpp_str_disable="disable this box";addOnloadHook(npp_init);/* initalise */functionnpp_init(){// allow user settings throughif(npp_enabled==null){npp_enabled=false;}if(npp_num_pages==null){npp_num_pages=10;}if(npp_refresh==null){npp_refresh=5;}if(npp_num_idle_req==null){npp_num_idle_req=60;}// A few limits to be nice to the serversif(npp_num_pages>50){npp_num_pages=50;}if(npp_num_pages<1){npp_num_pages=1;}if(npp_refresh<2){npp_refresh=2;}if(npp_num_idle_req>1000){npp_num_idle_req=1000;}if(npp_num_idle_req<5){npp_num_idle_req=5;}// get our cookieif(document.cookie.length>0){varc_start=document.cookie.indexOf("npp_show_box=");if(c_start!=-1){c_start=c_start+13;varc_end=document.cookie.indexOf(";",c_start);if(c_end==-1){c_end=document.cookie.length;}if(document.cookie.substring(c_start,c_end)=="yes"){npp_enabled=true;}else{npp_enabled=false;}}}// Either make a request or show nothingnpp_curr_idle_req=0;if(npp_enabled==true){npp_ajax_request();}else{npp_draw_disabled_box();}}/* init ajax */functionnpp_create_request(){try{npp_http=newXMLHttpRequest();}catch(e){try{npp_http=newActiveXObject("Msxml2.XMLHTTP");}catch(e){try{npp_http=newActiveXObject("Microsoft.XMLHTTP");}catch(e){returnfalse;}}}npp_http.onreadystatechange=function(){if(npp_http.readyState==4)npp_ajax_response();}returntrue;}/* make a request */functionnpp_ajax_request(){// if we have done too many requests, disable the boxnpp_curr_idle_req++;if(npp_curr_idle_req>npp_num_idle_req){npp_disable_box();}// check we are enabledif(npp_enabled==false)return;// firstly, inform the uservarcur_box=document.getElementById('p-newpages');if(cur_box!=null){cur_box.firstChild.firstChild.data=npp_str_box_title_updating;}if(npp_create_request()==false){if(cur_box!=null){cur_box.firstChild.firstChild.data=npp_str_box_title_failed;}else{alert(npp_str_no_ajax);}}// Then make the requestnpp_http.open("GET","/w/api.php?action=query&format=xml&list=recentchanges&rcshow=!bot|!redirect&rctype=new&rcnamespace=0&rcprop=title|timestamp|ids|patrolled&rclimit="+npp_num_pages,true);npp_http.send(null);}/* we have received a response */functionnpp_ajax_response(){varitems=npp_http.responseXML.getElementsByTagName('rc');// create the div that holds all the newpage linksvarlink_div=document.createElement('div');link_div.className='pBody';varlist=document.createElement('ul');link_div.appendChild(list);// populate the list with 10 links.for(vari=0;i<items.length;i++){varitem_name=items[i].getAttribute('title');varrcid=items[i].getAttribute('rcid');varpatrolled=items[i].getAttribute('patrolled')!=null;item_name=item_name.replace(/&/,"%26");varitem_url=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+item_name+'&rcid='+rcid+'&redirect=no';a=document.createElement('a');a.setAttribute('href',item_url);a.appendChild(document.createTextNode(item_name));varli=document.createElement('li');li.appendChild(a);if(!patrolled){li.setAttribute('class','not-patrolled');}list.appendChild(li);}// Container divvardiv=document.createElement('div');div.setAttribute('id','p-newpages');div.className='portlet';varheading=document.createElement('h5');heading.appendChild(document.createTextNode(npp_str_box_title));div.appendChild(heading);div.appendChild(link_div);// disable linkvarp=document.createElement('p');p.style.fontSize='x-small';p.style.margin='0px';p.style.textAlign='right';a=document.createElement('a');a.appendChild(document.createTextNode(npp_str_disable));a.onclick=npp_disable_box;p.appendChild(a);link_div.appendChild(p);// now replace the divvarold_div=document.getElementById('p-newpages');varside_col=document.getElementById('column-one');if(old_div!=null){side_col.replaceChild(div,old_div);}else{varnode=document.getElementById('p-search');side_col.insertBefore(div,node);}// and do it again in 5 secssetTimeout("npp_ajax_request()",npp_refresh*1000);}functionnpp_disable_box(){npp_enabled=false;npp_draw_disabled_box();document.cookie="npp_show_box=no; path=/";}functionnpp_enable_box(){npp_enabled=true;npp_curr_idle_req=0;document.cookie="npp_show_box=yes; path=/";npp_ajax_request();}functionnpp_draw_disabled_box(){// Container divvarlink_div=document.createElement('div');link_div.className='pBody';vardiv=document.createElement('div');div.setAttribute('id','p-newpages');div.className='portlet';varheading=document.createElement('h5');heading.appendChild(document.createTextNode(npp_str_box_title));div.appendChild(heading);div.appendChild(link_div);// enable linkvarp=document.createElement('p');p.style.fontSize='x-small';p.style.margin='0px';vara=document.createElement('a');a.appendChild(document.createTextNode(npp_str_enable));a.onclick=npp_enable_box;p.appendChild(a);link_div.appendChild(p);// now replace the divvarold_div=document.getElementById('p-newpages');varside_col=document.getElementById('column-one');if(old_div!=null){side_col.replaceChild(div,old_div);}else{varnode=document.getElementById('p-search');side_col.insertBefore(div,node);}}