مستخدم:Tarawneh/qd.js

من ويكيبيديا، الموسوعة الحرة

< مستخدم:Tarawneh

ملاحظة: قم بإعادة تحميل الصفحة لرؤية التغييرات. إذا لم تظهر التغييرات بعد إعادة التحميل، قد يكون متصفح الإنترنت الذي تستخدمه يقوم بعرض نسخة مخزنة سابقًا. لتجنب عرض هذه النسخة، قد يلزم أن تقوم بأحد هذه الخطوات:

  • في متصفح موزيلا أو فايرفوكس أو سفاري اضغظ على مفتاح Shift أثناء قيامك بضغط زر إعادة التحميل (Refresh) أو اضغط Ctrl-Shift-R (Cmd-Shift-R في حاسب أبل).
  • في متصفح إنترنت إكسبلورر اضغط على مفتاح Ctrl أثناء قيامك بالنقر على زر إعادة التحميل (Refresh) أو اضغط Ctrl-F5.
  • في متصفح كونكيرر (Konqueror) انقر على زر إعادة التحميل (Reload) أو اضغط على مفتاح F5.
  • في متصفح أوبرا (Opera) قد يكون من الضروري مسح المحتويات المخزنة عن طريق قائمة التفضيلات (Tools→Preferences).
/* <pre><nowiki> */
/* quickimgdelete.js
 * Current version: 1.3
 * =======================================
 * Created by [[:en:User:Howcheng|Howard Cheng]]
 * Modifed by [[:ar:User:Tarawneh|Rami Tarawneh]]
 * Released under the [[GNU Public License]] (GPL)
 * Full documentation at [[:en:User talk:Howcheng/quickimgdelete.js]]
 * =======================================
 */
// ==Helper functions== 
//A helper function to add a button to one of the toolbars in the interface.
//An improved(I hope) version of [[Wikipedia:WikiProject User scripts/Scripts/Add LI link|addlilink]].
//[[User:JesseW/sig|JesseW, the juggling janitor]] 05:33, 8 November *2005 (UTC)
 
function getPname() {
  return wgPageName.replace(/_/g, ' ');
}
function addLink(where, url, name, id, title, key, after){
    var na = document.createElement('a');
    na.href = url;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    if(id) li.id = id;
    li.appendChild(na);
    var tabs = document.getElementById(where).getElementsByTagName('ul')[0];
    if(after) {
        tabs.insertBefore(li,document.getElementById(after));
    } else {
        tabs.appendChild(li);
    }
    if(id) {
        if(key && title) { ta[id] = [key, title]; }
        else if(key) { ta[id] = [key, '']; }
        else if(title) { ta[id] = ['', title];} 
    }
    // re-render the title and accesskeys from existing code in wikibits.js
    akeytt();
    return li;
}
// from [[:en:User:Jnothman/automod.js]]
function GuessUTCDate() {
    var monthnames = new Array( "يناير", "فبراير", "مارس", "إبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر");
    var today = new Date();
    return today.getUTCFullYear() + ' ' + monthnames[today.getUTCMonth()] + ' ' + today.getUTCDate();
}
 
// From [[:en:User:Lupin/autoedit.js]]
function getParamValue(paramName) {
  var cmdRe=RegExp('[&?]'+paramName+'=([^&]*)');
  var h=document.location;
  var m=cmdRe.exec(h);
  if (m) {
    try {
      return decodeURIComponent(m[1]);
    } catch (someError) {}
  }
  return null;
}
 
function qid_openWindow(url, windowName) {
  if (!windowName) windowName = 'qid_window';
  var res = window.open(url, windowName);
  if (!res) alert("qid_openWindow: window.open() returned null");
}
 
function qid_getUploader() {
  // Get uploader from first point in the list under "File history"
  // Uploader is stored in second A tag in UL tag under "File history"
  // Returns title of user page (without name space) in URL form
  var el = document.getElementById('filehistory')
  if (!el) {
    alert("qid_getUploader: تعذر معرفة من قام بالتحميل ... إلغاء الأمر");
    return null;
  }
  while (el.nextSibling) {
    el = el.nextSibling;
    if (el.tagName && el.tagName.toLowerCase() == 'ul') 
      break;
  }
  if (!el) {
    alert("qid_getUploader: Cannot find UL tag ... exiting");
    return null;
  }
 
  var els = el.getElementsByTagName('li');
  if (!els) {
    alert("qid_getUploader: Cannot find LI tag ... exiting");
    return null;
  }
  var uploaders = new Array();
  var re1 = new RegExp('http://' + (qid_hostname + qid_prettypath).replace(/\./g, '\\.') + 'User:(.*)$');
  var re2 = new RegExp('http://' + (qid_hostname + qid_path).replace(/\./g, '\\.') + '\\?title=User:([^&]*)');
  var re3 = /User( talk)?:(.*)$/; // this is for IE and handling Unicode characters
 
  var m;
  var uploader;
  var uploaderList = "";
  var count = 0;
  el = els[0];
  do {
    var as = el.childNodes;
    for (var k=0; k<as.length; k++) {
       if (as[k].tagName != 'A') continue;
       m = re3.exec(as[k].title);
       if (m) uploader = encodeURIComponent(m[2]);
       m = re1.exec(as[k].href);
       if (m) uploader = m[1];
       m = re2.exec(as[k].href);
       if (m) uploader = m[1];
    }
 
    if (uploaderList.indexOf(uploader) == -1) {
      if (count > 0) uploaderList += "; ";
      uploaderList += count + " - " + uploader;
      uploaders[uploaders.length] = uploader;
      count += 1;
    }
    el = el.nextSibling;
  } while (el);
 
  if (!uploaders || uploaders.length == 0) {
    alert("qid_getUploader: Cannot find uploader ... exiting");
    return null;
  }
  if (uploaders.length == 1)
    return uploaders[0];
 
  var which = parseInt(window.prompt("Choose which uploader to notify: " + uploaderList));
  if (isNaN(which) || which < 0 || which > uploaders.length) {
    alert("qid_getUploader: Invalid selection ... exiting");
    return null;
  }
  return uploaders[which];
}
 
function qid_removeUntaggedTemplate(editformval) {
  var untaggedpos = editformval.indexOf('{{untagged');
  if (untaggedpos > -1) {
    var lastbracepos = editformval.indexOf('}}', untaggedpos) + 1;
    editformval = editformval.substr(0, untaggedpos) + editformval.substr(lastbracepos + 2);
  }
  return editformval;
}
 
function qid_checkForRedirect(editformval, type) {
  if (editformval.toLowerCase().indexOf("#redirect") == -1)
    return;
 
  var re = /\[\[([^\]]+)\]\]/;
  var m = re.exec(editformval);
  var redirtarget = m[1];
  var fakeaction = getParamValue("fakeaction");
  var pagename = getParamValue("target");
  var redirurl = qid_path + '?title=' + redirtarget
               + '&action=edit&fakeaction=' + fakeaction + '&target=' + pagename;
  if (type)
    redirurl += '&type=' + type;
  window.location.replace(redirurl);
}
 
// ==General configuration==
qid_autosave = true; // Should the edits be saved automatically?
// Site info
qid_path = "/w/index.php";
qid_prettypath = "/wiki/";
qid_hostname = window.location.hostname;
 
// ==Automatic 'nominate for deletion' script==
// Configuration
nfd_text = "ترشيح للحذف";
nfd_tooltip = "ترشيح الصورة للحذف";
nfd_prompt = "سبب الترشيح للحذف?";
nfd_delReq = "ويكيبيديا:صور مرشحة للحذف/" + GuessUTCDate();
nfd_deleteTemplate = "ifd";
nfd_idwTemplate = "Idw";
nfd_ifdTemplate = "ifd2";
 
 
function nfd_nomForDel() {
  var reason = prompt(nfd_prompt, '');
  if (!reason) return;
  var pagename = encodeURIComponent(getPname());
  var uploader = qid_getUploader();
  if (!uploader) return;
  qid_openWindow(qid_path + '?title=User_talk:' + uploader
                 + '&action=edit&fakeaction=nfd_warn&target=' + pagename);
  qid_openWindow(qid_path + '?title=' + nfd_delReq + '&action=edit&fakeaction=nfd_add' 
                 + '&target=' + pagename + '&reason=' + encodeURIComponent(reason)
                 + '&uploader=' + uploader, 'qid_ifd_window');
  var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  window.location = editlk + '&fakeaction=nfd_delete';
}
 
function nfd_addDeleteTemplate() {
  var txt = '{{' + nfd_deleteTemplate + '}}';
  var editformval = qid_removeUntaggedTemplate(document.editform.wpTextbox1.value);
  document.editform.wpTextbox1.value = txt + '\n' + editformval;
  document.editform.wpSummary.value = 'nomination for [[WP:IFD|deletion]]';
  if (qid_autosave) document.editform.wpSave.click();
}
 
function nfd_addIdwTemplate(target) {
  qid_checkForRedirect(document.editform.wpTextbox1.value);
  var txt = '{{subst:' + nfd_idwTemplate + '|' + target + '}}';
  document.editform.wpTextbox1.value += '\n' + txt + '\n';
  document.editform.wpSummary.value = txt;
  if (qid_autosave) document.editform.wpSave.click();
}
 
function nfd_updateDelReq(target, reason, uploader) {
  var colonPos = target.indexOf(':');
  var imageName = target.substring(colonPos + 1);
  var txt = '{{subst:' + nfd_ifdTemplate + '|' + imageName +
    '|Uploader=' + uploader + '|Reason=' + reason + '}}';
  document.editform.wpTextbox1.value += '\n' + txt + ' ~~' + '~~ \n';
  document.editform.wpSummary.value = 'Nominating [[:' + target + ']]';
  if (qid_autosave) document.editform.wpSave.click();
}
 
function nfd_onload() {
  var pname = getPname();
  if (pname.indexOf('%D8%B5%D9%88%D8%B1%D8%A9:') == 0) {
    addLink('p-tb', 'javascript:nfd_nomForDel()', nfd_text, 'nom-for-del', nfd_tooltip);
  }
  var fakeaction = getParamValue('fakeaction');
  if (fakeaction == 'nfd_delete')
    nfd_addDeleteTemplate();
  else if (fakeaction == 'nfd_warn')
    nfd_addIdwTemplate(unescape(getParamValue('target')));
  else if (fakeaction == 'nfd_add')
    nfd_updateDelReq(decodeURIComponent(getParamValue('target')), decodeURIComponent(getParamValue('reason')), 
      decodeURIComponent(getParamValue('uploader')));
}
 
addOnloadHook(nfd_onload);
 
//================================================================================
// ==Automatic 'mark no source' (mns) and 'mark no license' (mnl) script== // mnx = applies to both
//
// Configuration
mns_text = "لا يوجد مصدر";
mns_tooltip = "بل يوجد مصدر يوضح كيفية الحصول على / أو إثبات صحة ترخيص هذه الصورة";
 
mnl_text = "لا يوجد ترخيص";
mnl_tooltip = "لا يوجد أي ترخيص أو معلومات عن الترخيص";
 
mnr_text = "لا يوجد تعليل";
mnr_tooltip = "لا يوجد تعليل يؤدي الى إمكانية إخضاع هذه الصورة للإستعمال العادل";
 
mor_text = "إستعمال عادل مهجور";
mor_tooltip = "صورة افستعمال العادل هذه غير مستعملة في أي مقالة";
 
mrfu_text = "إستعمال عادل مستبدل ";
mrfu_tooltip = "صورة إستعمال عادل يمكن إستبدالها";
 
function mnx_markNo(action) {
  var pagename = encodeURIComponent(getPname());
  var uploader = qid_getUploader();
  if (!uploader) return;
  qid_openWindow(qid_path + '?title=User_talk:' + uploader
                 + '&action=edit&fakeaction=mnx_warn&target=' + pagename
                 + '&type=' + action);
  var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  window.location = editlk + '&fakeaction=' + action ;
}
 
function mnx_addTemplate(template) {
  var txt = '{{subst:' + template + '}}';
// this MUST be subst since templates are NSD, NLD
  var editformval = qid_removeUntaggedTemplate(document.editform.wpTextbox1.value);
  document.editform.wpTextbox1.value = txt + '\n' + editformval;
  var summary;
  switch (template) {
    case "nsd":
      summary = "الصورة تفتقد الى معلومات عن المصدر و ستمسح خلال 7 أيام إذا لم يصحح الأمر.";
      break;
    case "nld":
      summary = "الصورة تفتقد الى معلومات عن الترخيص و ستمسح خلال 7 أيام إذا لم يصحح الأمر.";
      break;
    case "nrd":
      summary = "الصورة تفتقد الى تعليل لإمكانية إعتبارها إستعمال عادل ستمسح خلال 7 أيام إذا لم يصحح الأمر.";
      break;
    case "orfud":
      summary = "صورة الإستعمال العادل غير مستعملة في أي صفحة و ستمسح خلال 7 أيام.";
      break;
    case "rfu":
      summary = "صورة الإستعمال العادل هذه يمكن إستبدالها بسهولة بصورة حرة من كومنز أو يمكن إنتاج صورة حرة مكافئة.";
      break;
  }
  document.editform.wpSummary.value = summary
 
  if (qid_autosave) document.editform.wpSave.click();
}
 
function mnx_addUserWarningTemplate(type, imagetarget) {
  qid_checkForRedirect(document.editform.wpTextbox1.value, type);
  var template;
  var editSummary;
  switch (type) {
    case "mnx_mns":
      template = "image source";
      editSummary = "Warning: image missing source information.";
      break;
    case "mnx_mnl":
      template = "image copyright";
      editSummary = "Warning: image missing license information.";
      break;
    case "mnx_mnr":
      template = "missing rationale";
      editSummary = "Warning: image missing fair use rationale.";
      break;
    case "mnx_mor":
      template = "orphaned";
      editSummary = "The fair use image you uploaded is now orphaned.";
      break;
    case "mnx_mrfu":
      template = "replaceable";
      editSummary = "The fair use image you uploaded is replaceable by a free one.";
      imagetarget = imagetarget.substring(6); // {{replaceable|example.png}}
      break;
  }
  var txt = '{{subst:' + template + '|' + imagetarget + '}}';
// add in subst: if you want to subst these warnings
  document.editform.wpTextbox1.value += '\n' + txt + ' ~~' + '~~\n';
  document.editform.wpSummary.value = editSummary;
// this is the edit summary for when you leave the user warning on the talk page.
// you can change it if you want.
  if (qid_autosave) document.editform.wpSave.click();
}
 
function mnx_onload() {
  if (getPname().indexOf('%D8%B5%D9%88%D8%B1%D8%A9:') == 0) {
    addLink('p-tb', 'javascript:mnx_markNo(\'mnx_mns\')', mns_text, 'mark-no-source', mns_tooltip);
    addLink('p-tb', 'javascript:mnx_markNo(\'mnx_mnl\')', mnl_text, 'mark-no-license', mnl_tooltip);
    addLink('p-tb', 'javascript:mnx_markNo(\'mnx_mnr\')', mnr_text, 'mark-no-rationale', mnr_tooltip);
    addLink('p-tb', 'javascript:mnx_markNo(\'mnx_mor\')', mor_text, 'mark-orphaned', mor_tooltip);
    addLink('p-tb', 'javascript:mnx_markNo(\'mnx_mrfu\')', mrfu_text, 'mark-replaceable', mrfu_tooltip);
  }
  var fakeaction = getParamValue('fakeaction');
 
  switch (fakeaction) {
    case 'mnx_mns':
      mnx_addTemplate('nsd');
      break;
    case 'mnx_mnl':
      mnx_addTemplate('nld');
      break;
    case 'mnx_mnr':
      mnx_addTemplate('nrd');
      break;
    case 'mnx_mor':
      mnx_addTemplate('orfud');
      break;
    case 'mnx_mrfu':
      mnx_addTemplate('rfu');
      break;
    case 'mnx_warn':
      mnx_addUserWarningTemplate(getParamValue('type'), decodeURIComponent(getParamValue('target')));
      break;
  }
}
 
addOnloadHook(mnx_onload);
/* </nowiki></pre> */