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.
//{{subst:iusc|User:Spratek11/OSM info.js}};//importScript('User:Spratek11/OSM info.js');//##############################################################################//importScript('User:Spratek11/xxxx.js');/*13.2.2019: Tento skript využívá šablona https://commons.wikimedia.org/wiki/Template:OSM_info.instalace: zkopíruj následující řádek do svého User:xxx/common.jsimportScript('User:Spratek11/User:Spratek11/OSM info.js');Skript se spustí při editaci obrázku, pokud je obrázek odkazován na OSM přidá se do editačního okna řádek {{OSM_info'|....}}Pozveřejnění editace se na strance zobrazí ifo o použití v OSMPokud obrázek neodkazuje na OSM nic se nestane.*/console.log("ca edit ahoj = "+document.getElementById('ca-edit'));varEdityouURL;//https://www.overpass-api.de/api/interpreter?data=[out:json][timeout:25];node["image"="File:Kříž na ulici Bystrcká.jpg"];out;varOverpass;varOverpassObject;varOverpass_elem=[];varApiObject;//"https://www.overpass-api.de/api/interpreter?data=%5Bout%3Ajson%5D%5Btimeout%3A25%5D%3Bnode%5B%22image%22%3D%22File%3AK%C5%99%C3%AD%C5%BE%20na%20ulici%20Bystrck%C3%A1.jpg%22%5D%3Bout%3B";varrf=mw.config.get('wgRedirectedFrom');console.log("wgRedirectedFrom ="+rf);//https://commons.wikimedia.org/w/api.php?action=query&prop=redirects&titles=File:Kříž_na_poli_mezi_Hustopečemi_a_Starovicemi.jpgvarrpn=mw.config.get('wgRelevantPageName');console.log("wgRelevantPageName ="+rpn);varchckredir_api='https://commons.wikimedia.org/w/api.php?action=query&prop=redirects&titles='+rpn+'&format=json';console.log(' chckredir_api = '+chckredir_api);waitForAPI();functionwaitForAPI(){console.log("ApiObject_typeof = "+typeofApiObject);$.get(chckredir_api,function(html){ApiObject=html;if(typeofApiObject!=="undefined"){console.log("ApiObject_typeof = "+typeofApiObject);console.log("ApiObject = "+ApiObject);console.log("ApiObject_el = "+ApiObject.data);for(varpgidinApiObject.query.pages){//if( ApiObject.query.pages.hasOwnProperty(key)) {varvalue_api=ApiObject.query.pages[pgid];for(varredinvalue_api){varpage_redir=value_api[red];console.log("page_redir red = "+red+" key "+page_redir);if(red=="redirects"){for(varred_idinpage_redir){vartitul=page_redir[red_id];console.log("titul = "+red_id+" key "+titul);}}}//do something with value;//console.log("Value_api hodnota key = "+ key +" key "+ value_api); //}}}else{setTimeout(waitForAPI,50);}});}//ověřit zda je stránka přesměrovaná (dodělat)//info stránky podle pageid//https://commons.wikimedia.org/w/api.php?action=query&prop=info&pageids=62143430&inprop=url$(document).ready(functionahoj(){//document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + htmlObject;console.log("kuk");if(!document.getElementById)return;vary=document.getElementById("editform");//console.log("x = " + y );if(y===null)return;//console.log("mmmmmm-$( '#editForm' ).length =" + $( '#editForm' ).length); vari;varinformation_template;varexist;varhtmlObject;varEdithtmlObject;vartit=document.title;varpn=mw.config.get('wgPageName');console.log("wgPageName ="+pn);varrf=mw.config.get('wgRedirectedFrom');console.log("wgRedirectedFrom ="+rf);console.log("tit = "+tit);varpos=tit.indexOf(" – Wikimedia Commons");//nevím proč, ale indexOf( v anglické verzi stránek nefunguje hledání wikimedia od konceif(pos===-1){pos=tit.lastIndexOf("Wikimedia");pos=pos-3;}varposf=tit.indexOf("File");varname_tit=tit.slice(posf,pos);vartaginfo_name_tit=name_tit.replace(":"," ");taginfo_name_tit=taginfo_name_tit.replace("."," ");console.log(pos+" -888-"+name_tit);console.log(pos+" -999-"+taginfo_name_tit);varname_tit_res=encodeURI(name_tit);vartaginfo_name_tit_res=encodeURI(taginfo_name_tit);varyourURL='https://taginfo.openstreetmap.org/api/4/search/by_value?query='+taginfo_name_tit_res;EdityouURL='https://commons.wikimedia.org/w/index.php?title='+name_tit_res+'&action=edit';console.log("youURL = "+yourURL);console.log("EdityouURL = "+EdityouURL);//načte data z taginfo taginfo.openstreetmap.org$.get(yourURL,function(html){htmlObject=html;console.log(typeofhtmlObject+"Hello world!15");console.log(htmlObject);console.log("html data = "+htmlObject.data);varimages=htmlObject.data;for(i=0;i<images.length;i++){console.log(images[i].value);varnazev=images[i].value;varn=nazev.localeCompare(name_tit);console.log("n = "+n);//pokud něco najde složí adresu pro overpass-api.deif(n===0){console.log(i+" "+images[i].value+" ,klič = "+images[i].key);exist=1;Overpass="https://www.overpass-api.de/api/interpreter?data=[out:json][timeout:25];node["+'"'+images[i].key+'"'+"="+'"'+images[i].value+'"'+"];out;";waitForElement();//čeká na složení adresyconsole.log("Overpass uri 1= "+Overpass);editace();//čeká na odezvu overpass serveru }else{exist=0;Overpass=0;}}});console.log("Overpass uri adresa = "+Overpass);//funkce přiřadí hodnoty do Overpass_elemfunctionwaitForElement(){if(typeofOverpass!=="undefined"){//variable exists, do what you want$.get(Overpass,function(html){OverpassObject=html;//console.log("Overpass uri 2= " + Overpass);//console.log("OverpassObject typ = " + typeof OverpassObject);//console.log("OverpassObject = " + OverpassObject);//console.log("OverpassObject data = " + OverpassObject.elements[0].id);//console.log("OverpassObject tags = " + OverpassObject.elements[0].tags.historic);vartagso=OverpassObject.elements[0].tags;for(keyinOverpassObject){if(OverpassObject.hasOwnProperty(key)){varvalue=OverpassObject[key];//do something with value;console.log("OverpassObject hodnota key = "+value);}}for(varnameinOverpassObject.elements){varmodule=OverpassObject.elements[name];for(keyinmodule){console.log(name+"/"+key+":"+module[key]);switch(key){case"type":Overpass_elem[0]=module[key];console.log("Overpass_elem [type] = "+Overpass_elem[0]);break;case"id":Overpass_elem[1]=module[key];console.log("Overpass_elem [id] = "+Overpass_elem[1]);break;case"lat":Overpass_elem[2]=module[key];console.log("Overpass_elem [lat] = "+Overpass_elem[2]);break;case"lon":Overpass_elem[3]=module[key];console.log("Overpass_elem [lon] = "+Overpass_elem[3]);break;}}}varii=4;for(keyintagso){if(tagso.hasOwnProperty(key)){varvalue2=tagso[key];//do something with value;console.log("tagso hodnota key = "+ii+" - "+value2);Overpass_elem[ii]=value2;ii=ii+1;}}});}else{setTimeout(waitForElement,50);}}//funkce sločí odkaz na šablonufunctioneditace(){console.log("Editace_Overpass_elem[id] "+Overpass_elem['id']);if(typeofOverpass_elem[0]!=="undefined"){vart=document.editform.wpTextbox1;console.log("editace = "+typeof(t)+" - -"+t);var$textbox=$('#wpTextbox1');vartxt_edit=$textbox[0].value;//console.log("index OSM= " + txt_edit.indexOf("OSM_info"));varpos_lic=txt_edit.indexOf("=={{int:license-header}}==");if(pos_lic==-1){pos_lic=txt_edit.indexOf("== {{int:license-header}} ==");}if(txt_edit.indexOf("OSM_info|")===-1){if(pos_lic){varstarttxt=txt_edit.slice(0,pos_lic-1);varlic=txt_edit.slice(pos_lic);//console.log("Pozice radku licence = " + pos_lic);console.log("licence = "+lic);console.log("Overpass_elem.length = "+Overpass_elem.length);varcount=Overpass_elem.filter(function(){returntrue;}).length;console.log("Overpass_elem.length.filter = "+count);vari;varosm_elem="";for(i=0;i<Overpass_elem.length;i++){console.log("Var_Overpass_elem = "+Overpass_elem[i])osm_elem=osm_elem+"|"+Overpass_elem[i];}console.log("osm_elem ="+osm_elem);$textbox[0].value=starttxt+"\n\n{"+"{OSM_info"+osm_elem+"}}\n\n"+lic;}}}else{setTimeout(editace,50);}}});