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.
// <nowiki>varflickrfixr_api_url=mw.config.get('wgScriptPath')+"/api.php?";if(mw.config.get('wgNamespaceNumber')==6&&mw.config.get('wgAction')=="view"){$(document).ready(init_flickrfixr);}functioninit_flickrfixr(){if(typeofsajax_init_object==='undefined')return;varurl=flickrfixr_api_url+"action=query&rawcontinue=1&format=xml&prop=templates&titles="+mw.config.get('wgPageName');varxmlreq=sajax_init_object();xmlreq.open("GET",url,false);xmlreq.send(null);xml=xmlreq.responseXML;vartls=xml.getElementsByTagName('tl');varflickrreview=0;for(vari=0;i<tls.length;i++){vartemplate=tls[i].attributes.getNamedItem("title").value;if(template!="Template:Flickrreview")continue;flickrreview=1;break;}if(flickrreview==0)return;// Page does not use {{flickrreview}}varout='<li id="t-permalink">';out+="FlickrFixr ";out+="<a href='#' onclick='flickrfixr_ok()'>ok</a> ";out+="<a href='#' onclick='flickrfixr_changed()'>other</a> ";out+="<a href='#' onclick='flickrfixr_bad()'>bad</a> ";out+='<span style="display:none"><form name="flickrfixrform" enctype="multipart/form-data" method="post">'+'<input type="hidden" name="wpTextbox1" />'+'<input type="hidden" name="wpSummary" />'+'<input type="hidden" name="wpDiff" value="wpDiff" />'+'<input type="hidden" name="wpStarttime" />'+'<input type="hidden" name="wpEdittime" />'+'</form></div>';out+='</li>';// flinfovarflickr_id=get_flickr_id_api();if(flickr_id!=''){out+='<li id="t-permalink">';out+='<a href="http://wikipedia.ramselehof.de/flinfo.php?id='+flickr_id+'" target="_blank">Flinfo</a> (new win)';out+='</li>';}vartools=document.getElementById("p-tb");tools=tools.getElementsByTagName("ul")[0];tools.innerHTML+=out;}functionget_flickr_id_api(){if(mw.config.get('wgNamespaceNumber')!=6)return'';// Not an imagevarrequest=sajax_init_object();varurl=flickrfixr_api_url+'action=query&rawcontinue=1&format=xml&prop=extlinks&titles='+encodeURIComponent(mw.config.get('wgPageName'));request.open("GET",url,false);request.send(null);varxml=request.responseXML;varels=xml.getElementsByTagName('el');varstart='http://www.flickr.com/photos/';for(i=0;i<els.length;i++){url=els[i].textContent;if(url.substr(0,start.length)!=start)continue;varp=url.split('/');varid='';while(id=='')id=p.pop();returnid;}return'';}functionflickrfixr_get_date(){vard=newDate();varyear=d.getUTCFullYear();varmonth=d.getUTCMonth()+1;varday=d.getUTCDate();if(month<10)month="0"+month;if(day<10)day="0"+day;returnyear+"-"+month+"-"+day;}functionflickrfixr_ok(){vardate=flickrfixr_get_date();flickrfixr_replace('{{flickrreview|'+mw.config.get('wgUserName')+'|'+date+'}}');}functionflickrfixr_changed(){vardate=flickrfixr_get_date();varlicense=prompt("Old license on commons","");flickrfixr_replace('{{flickrreview|'+mw.config.get('wgUserName')+'|'+date+'|changed='+license+'}}');}functionflickrfixr_bad(){vardate=flickrfixr_get_date();varlicense=prompt("Changed BAD license on Flickr","All rights reserved");flickrfixr_replace('{{flickrreview|'+mw.config.get('wgUserName')+'|'+date+'|'+license+'}}');}functionflickrfixr_replace(what){varurl=mw.config.get('wgScriptPath')+"/index.php?action=raw&title="+mw.config.get('wgPageName');varxmlreq=sajax_init_object();xmlreq.open("GET",url,false);xmlreq.send(null);vartext=xmlreq.responseText;varparts=text.split('{{flickrreview');if(parts.length<2)parts=text.split('{{Flickrreview');if(parts.length!=2){alert("I'm afraid I can't do that, Dave...");return;}varbefore=parts.shift();varafter=parts.pop();parts=after.split('}}',2);varparams=parts.shift();after=parts.pop();text=before+what+after;varcomment="Changed flickrreview to : "+what;varstarttime=flickrfixr_get_current_utc_timestamp();varlast_version_timestamp=flickrfixr_get_article_timestamp(mw.config.get('wgPageName'));url=mw.config.get('wgScriptPath')+"/index.php?action=edit&title="+mw.config.get('wgPageName');document.flickrfixrform.action=url;document.flickrfixrform.wpSummary.value=comment;document.flickrfixrform.wpTextbox1.value=text;document.flickrfixrform.wpStarttime.value=starttime;document.flickrfixrform.wpEdittime.value=last_version_timestamp;document.flickrfixrform.submit();}// Generates current timestampfunctionflickrfixr_get_current_utc_timestamp(){vartoday=newDate();vary="00"+today.getUTCFullYear();varmo=today.getUTCMonth()+1;vard="00"+today.getUTCDate();mo="00"+mo;varh="00"+today.getUTCHours();varm="00"+today.getUTCMinutes();vars="00"+today.getUTCSeconds();varret="";ret+=y.substr(y.length-4);ret+=mo.substr(mo.length-2);ret+=d.substr(d.length-2);ret+=h.substr(h.length-2);ret+=m.substr(m.length-2);ret+=s.substr(s.length-2);returnret;}functionflickrfixr_fix_time(time){time=time.replace(/:/g,"");time=time.replace(/ /g,"");time=time.replace(/-/g,"");time=time.replace(/Z/g,"");time=time.replace(/T/g,"");returntime;}functionflickrfixr_get_article_timestamp(title){varret;varurl=flickrfixr_api_url+'action=query&rawcontinue=1&format=xml&prop=revisions&rvprop=timestamp&titles='+title;varxmlreq=sajax_init_object();xmlreq.open("GET",url,false);xmlreq.send(null);if(xmlreq.status==200){varxml=xmlreq.responseXML;varrev=xml.getElementsByTagName('rev');if(rev.length==0)returnflickrfixr_get_current_utc_timestamp();ret=rev[0].getAttribute('timestamp');returnflickrfixr_fix_time(ret);}}//</nowiki>