User:Ou0430/Friendly/friendlynotify.min.js

维基新闻,自由的新闻源

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
if(typeof(FriendlyConfig)=='undefined'){FriendlyConfig={};}
if(typeof(FriendlyConfig.summaryAd)=='undefined'){FriendlyConfig.summaryAd=" using [[WP:FRIENDLY|Friendly]]";}
if(typeof(FriendlyConfig.markNotifyAsMinor)=='undefined'){FriendlyConfig.markNotifyAsMinor=false;}
if(typeof(FriendlyConfig.insertSignature)=='undefined'){FriendlyConfig.insertSignature=true;}
addOnloadHook(friendlynotify);function friendlynotify(){if(wgNamespaceNumber==3){var username=wgTitle.split('/')[0].replace(/\"/,"\\\"");twAddPortletLink('p-cactions',"javascript:friendlynotify.callback(\""+username+"\")",wgULS("通知","通知"),"friendly-notify",wgULS("发表打包通告","發表打包通告"),"");}}
friendlynotify.callback=function friendlynotifyCallback(uid){if(uid==wgUserName){alert('You can\'t notify yourself.');return;}
var Window=new SimpleWindow(600,350);Window.setTitle("Notify");var form=new QuickForm(friendlynotify.callback.evaluate);form.append({type:'textarea',label:'Notify',name:'template'});form.append({type:'header',label:'Settings'});form.append({type:'checkbox',name:'settings',list:friendlynotify.settingsList});form.append({type:'submit'});var result=form.render();Window.setContent(result);Window.display();}
friendlynotify.settingsList=[{label:'Add sign',value:'issign',checked:FriendlyConfig.insertSignature}];friendlynotify.callbacks={main:function(self){self.statelem.status('Grabbing edit token...');var xmlDoc=self.responseXML;var editToken=xmlDoc.evaluate('//page/@edittoken',xmlDoc,null,XPathResult.STRING_TYPE,null).stringValue;var bsign=false;for(var i=0;i<self.params.tags.length;i++){if(self.params.tags[i]=='issign'){bsign=true;}}
var text='\{\{subst:'+self.params.template+'\}\}';if(bsign){text+='--\~\~\~\~';}
var query={'action':'edit','title':wgPageName,'section':'new','text':text,'token':editToken,'summary':'','minor':FriendlyConfig.markNotifyAsMinor?1:undefined};var wikipedia_api=new Wikipedia.api('Edit token grabbed; adding notification to user talk page...',query,null,self.statelem);wikipedia_api.post();}}
friendlynotify.callback.evaluate=function friendlynotifyCallbackEvaluate(e){var params={tags:e.target.getChecked('settings'),template:e.target.template.value};Status.init(e.target);Wikipedia.actionCompleted.redirect=wgPageName;Wikipedia.actionCompleted.notice="Notification complete; reloading talk page in a few seconds";var query={'action':'query','prop':'info','intoken':'edit','titles':wgPageName};var wikipedia_api=new Wikipedia.api('Status',query,friendlynotify.callbacks.main);wikipedia_api.params=params;wikipedia_api.post();}