MediaWiki:OCR.js

Izvor: Wikizvor

Napomena: Nakon objave možda ćete trebati očistiti međuspremnik svog preglednika kako biste vidjeli promjene.

  • Firefox / Safari: držite Shift i pritisnite Reload, ili pritisnite bilo Ctrl-F5 ili Ctrl-R (⌘-R na Macu)
  • Google Chrome: pritisnite Ctrl-Shift-R (⌘-Shift-R na Macu)
  • Internet Explorer / Edge: držite Ctrl i kliknite Refresh, ili pritisnite Ctrl-F5
  • Opera: pritisnite Ctrl-F5.
function ocr_callback(ocrtext){
   var tb = document.getElementById("wpTextbox1");
   tb.value = ocrtext;
   tb.disabled=false;
}

function add_ocr() {
    var tb = document.getElementById("wpTextbox1");
    tb.disabled=true;
    var input = document.getElementById("wpOcr");
    if(input) input.disabled=true;
    if( proofreadPageWidth <= 1024 ) thumb_url = proofreadPageViewURL;
    else thumb_url = proofreadPageThumbURL.replace('##WIDTH##',1024); 
    request_url = "http://toolserver.org/~thomasv/ocr.php?url="+thumb_url+"&lang="+mw.config.get('wgContentLanguage')+"&user="+mw.config.get('wgUserName');
    var scriptObj = document.createElement("script");
    scriptObj.setAttribute("type", "text/javascript");
    scriptObj.setAttribute("src", request_url);
    scriptObj.setAttribute("id", "ocr_cb");
    var headLoc = document.getElementsByTagName("head").item(0);
    headLoc.appendChild(scriptObj);
}
 

function addOCRButton2(id,comment,source,onclick){
 
	var tb  = document.getElementById("toolbar"); 
	if(tb){
		var image = document.createElement("img");
		image.width = 46;
		image.height = 22;
		image.border = 0;
		image.className = "mw-toolbar-editbutton";
		image.style.cursor = "pointer";
		image.alt = "OCR";
		image.title = comment;
		image.src = source;
		image.onclick = onclick;
		tb.appendChild(image);
        }
}
$(addOCRButton);


function fraktur_ocr(){
   self.wgContentLanguage = "de-f";
   add_ocr();
   self.wgContentLanguage = "de";
}


function addOCRButton(){

    if(!self.proofreadPageIsEdit) return;
    if(!self.proofreadPageViewURL) return;
    //if(wgCurRevisionId) 

    if(self.wgDBname == "dewikisource"){
       addOCRButton2("wpOcr","Normale OCR","//upload.wikimedia.org/wikipedia/commons/e/e0/Button_ocr.png",add_ocr);
       addOCRButton2("wpOcr","Fraktur OCR","//upload.wikimedia.org/wikipedia/commons/a/af/Button_Fractur_OCR.png",fraktur_ocr);
    }
    else addOCRButton2("wpOcr","Get the text by OCR","//upload.wikimedia.org/wikipedia/commons/e/e0/Button_ocr.png",add_ocr);

}


/* cross-domain transclusions through the API */

function iw_trans_callback(res){  
   //var reg = /<p>([\s\S]*)<\/p>([^\/]*)/;
   var target = res.requestid;
   for(var i=0; item = document.getElementsByTagName("span")[i]; i++ ) {
       if (item.className == "iwtrans" && item.title==target ){
          var txt = res.parse.text['*'];
          item.innerHTML = txt; //.match(reg)[1];
       }
   }
}

function iw_trans() {
   for(var i=0; item = document.getElementsByTagName("span")[i]; i++ ) {
      if (item.className == "iwtrans") {
         var m = item.title.split("|");
         lang=m[0]; title=m[1]; 
         url = '//'+lang+'.wikisource.org/w/api.php?format=json&requestid='+item.title+'&action=parse&text=\{\{:'+title+'\}\}&callback=iw_trans_callback';
         mw.loader.load(url); //alert(url);
      }
   }
}
$(iw_trans);

function iw_pages_callback(res){  
   var txt = res.parse.text['*'];
   var target = res.requestid;
   for(var i=0; item = document.getElementsByTagName("span")[i]; i++ ) {
      if (item.className == "iwpages" && item.title==target ){
          item.innerHTML = txt;
      }
  }
}

function iw_pages() {
   for(var i=0; item = document.getElementsByTagName("span")[i]; i++ ) {
      if (item.className == "iwpages") {
         var m = item.title.split("|");
         lang=m[0]; title=m[1]; from=m[2]; to=m[3];
         url = '//'+lang+'.wikisource.org/w/api.php?format=json&requestid='+item.title+'&action=parse&callback=iw_pages_callback&text=<pages index="'+title+'" from='+from+' to='+to+' />';
         mw.loader.load(url)
      }
   }
}
$(iw_pages);