משתמש:Yonidebest/monobook.js/initShowImageLicenses.js

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
function checkImageLicense(text) {
 if (text == "") {
  // commons image
  return 'd9fff6';
 } else {
  var rx = new RegExp("(\\{\\{משתמש:מיכאלי|\\{\\{תמונות משתמש MathKnight|[Cc][Cc]-[Bb][Yy]|\\{\\{שימוש חופשי|[Pp][Dd]|\\{\\{ייחוס|\\{\\{[Aa]ttribution|GFDL|LGPL)", 'g');  
  var m = rx.exec(text);
  if (m && m[0]) {
   // free image
   return 'd9ffd9';
  } else {
   var rx1 = new RegExp("(\\{\\{שימוש הוגן|\\{\\{תמונות מאתר |\\{\\{תמונת חבר כנסת|\\{\\{עטיפת|\\{\\{כרזת |\\{\\{לוגו|\\{\\{צילום מסך|\\{\\{סריקה|\\{\\{אייקון)", 'g');
   var m1 = rx1.exec(text);
   if (m1 && m1[0]) {
    // fair use
    return 'ffd9d9';
   } else {
    // no license
    return 'FF0000';
   }
  }
 }
}

function reqImage(url, imgElement) {
 var a = sajax_init_object();
 a.open('GET', 'http://he.wikipedia.org/w/index.php?title=%D7%A7%D7%95%D7%91%D7%A5:' + url + '&action=raw' , true);
 a.onreadystatechange = function() {
   if (a.readyState != 4) return;
   imgElement.style.border = '4px solid #' + checkImageLicense(a.responseText);
  };
 a.send(null);
}

function showImageLicenses() {
 var imgs = document.getElementById('bodyContent').getElementsByTagName('img');

 if (!imgs || !imgs[0]) return; // no images in page

 for (var i = 0; i < imgs.length; i++) {
  if (imgs[i].parentNode.href == null) continue;

  var imageName = imgs[i].parentNode.href.substring(54);
  if (imageName == 'magnify-clip.png') continue;
  //if (i > 20) break; // max images to check
  reqImage(imageName, imgs[i]);
 }
}

function initShowImageLicenses() {
 if (wgCanonicalNamespace == -1) return;
 
 mw.util.addPortletLink('p-tb', "javascript:showImageLicenses()", 'הצג רישיונות', 't-showlicense', 'הצג רישיונן של תמונות בדף זה', '', 't-specialpages');
}

$(initShowImageLicenses);