مستخدم:OsamaK/quickimgdelete.js
من ويكيبيديا، الموسوعة الحرة
ملاحظة: قم بإعادة تحميل الصفحة لرؤية التغييرات. إذا لم تظهر التغييرات بعد إعادة التحميل، قد يكون متصفح الإنترنت الذي تستخدمه يقوم بعرض نسخة مخزنة سابقًا. لتجنب عرض هذه النسخة، قد يلزم أن تقوم بأحد هذه الخطوات:
- في متصفح موزيلا أو فايرفوكس أو سفاري اضغظ على مفتاح 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.9.4 * ======================================= * Created by [[User:Howcheng|Howard Cheng]] * Released under the [[GNU Public License]] (GPL) * Full documentation at [[User talk:Howcheng/quickimgdelete.js]] * ======================================= */ // ==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; // ==Helper functions== // from [[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_getFileHistory() { var el = document.getElementById('filehistory') if (!el) { alert("qid_getFileHistory: Cannot find filehistory ... exiting"); return null; } while (el.nextSibling) { el = el.nextSibling; if (el.tagName && el.tagName.toLowerCase() == 'ul') break; } if (!el) { alert("qid_getFileHistory: Cannot find UL tag ... exiting"); return null; } var els = el.getElementsByTagName('li'); if (!els) { alert("qid_getFileHistory: Cannot find LI tag ... exiting"); return null; } return els; } 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 els = qid_getFileHistory(); 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; var 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_getUploadDate() { var els = qid_getFileHistory(); var re = /\d{2}:\d{2}, \d+ [a-z]+ \d{4}/i; var m; var dt; var el = els[0]; var as = el.childNodes; for (var k=0; k<as.length; k++) { if (as[k].tagName != 'A') continue; m = (as[k].text) ? re.exec(as[k].text) : re.exec(as[k].innerText); if (m) dt = m[0]; if (dt) { try { var ret = Date.parse(dt); return ret; // ret is a number value (UNIX time) } catch (someError) { } } } return null; } function qid_removeTemplate(editformval, template) { var templatepos = editformval.indexOf('{{' + template); if (templatepos > -1) { var lastbracepos = editformval.indexOf('}}', templatepos) + 1; editformval = editformval.substr(0, templatepos) + editformval.substr(lastbracepos + 2); } return editformval; } function qid_doesTemplateExist(editformval, template) { var templatepos = editformval.indexOf('{{' + template); return (templatepos > -1); } 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); } function qid_saveEditForm(txt, summary) { document.editform.wpTextbox1.value = txt; document.editform.wpSummary.value = summary; if (qid_autosave) document.editform.wpSave.click(); } function qid_userBeenWarned(txt, template) { var re = eval("/\<!-- ?Template:" + template + " ?--\>/;"); return re.test(txt); } /** ================================================================================ * ==Automatic 'nominate for deletion/pui/imagevio' script== * The actions in this section do three things: * 1. Add a tag to the image page. * 2. List the image on a log page. * 3. Add a warning template to the uploader's talk page. */ // Configuration nfd_text = "Nominate for deletion"; nfd_tooltip = "Nominate this image for deletion"; nfd_prompt = "Why do you want to nominate this image for deletion?"; nfd_delReq = "Wikipedia:Images_and_media_for_deletion/" + GuessUTCDate().replace(' ', '_'); nfd_deleteTemplate = "ifd"; nfd_idwTemplate = "idw"; nfd_ifdTemplate = "ifd2"; nfd_glossary = new Array( new Array("AB", "Absent uploader"), new Array("AU", "Absent uploader"), new Array("CV", "Copyright violation"), new Array("OB", "Obsolete"), new Array("OR", "Orphaned"), new Array("LQ", "Low quality"), new Array("UE", "Unencyclopedic") ); pui_text = "Possibly unfree image"; pui_tooltip = "Mark this image as possibly unfree"; pui_prompt = "Why do you think this image is possibly unfree?"; pui_delReq = "Wikipedia:Possibly_unfree_images"; pui_deleteTemplate = "PUIdisputed"; pui_idwTemplate = "idw-pui"; vio_text = "Copyright violation"; vio_tooltip = "Mark this image as a copyright violation"; vio_prompt = "Enter the URL that this image is copied from."; vio_delReq = "Wikipedia:Copyright_problems/" + GuessUTCDate().replace(' ', '_') + "/Images"; vio_deleteTemplate = "imagevio"; vio_idwTemplate = "idw-cp"; function nfd_tagImage(which) { var promptTxt; var targetUrl; var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href; editlk += '&fakeaction=' + which + '_delete' switch (which) { case 'nfd': promptTxt = nfd_prompt; targetUrl = nfd_delReq; break; case 'pui': promptTxt = pui_prompt; targetUrl = pui_delReq; break; case 'vio': promptTxt = vio_prompt; targetUrl = vio_delReq; editlk += '&url=' + reason; break; } var reason = prompt(promptTxt, ''); if (!reason) return; var pagename = encodeURIComponent(wgPageName); var uploader = qid_getUploader(); if (!uploader) return; qid_openWindow(qid_path + '?title=User_talk:' + uploader + '&action=edit&fakeaction=' + which + '_warn&target=' + pagename); qid_openWindow(qid_path + '?title=' + targetUrl + '&action=edit&fakeaction=' + which + '_add' + '&target=' + pagename + '&reason=' + encodeURIComponent(reason) + '&uploader=' + uploader, 'qid_ifd_window'); window.location = editlk; } function nfd_addDeleteTemplate(template, otherparam) { var txt = '{{' + template; var summary; switch (template) { case nfd_deleteTemplate: txt += '|log=' + GuessUTCDate(); summary = 'nomination for [[WP:IFD|deletion]]'; break; case pui_deleteTemplate: summary = 'this is a [[WP:PUI|possibly unfree image]]'; break; case vio_deleteTemplate: summary = 'this image is suspected to be a [[WP:CP|copyright violation]]'; txt += '|1=' + otherparam; break; } txt += '}}'; var editformval = qid_removeTemplate(document.editform.wpTextbox1.value, 'untagged'); qid_saveEditForm(txt + '\n' + editformval, summary); } function nfd_addIdwTemplate(template, target) { var editformval = document.editform.wpTextbox1.value; qid_checkForRedirect(editformval); var txt = '{{نسخ:' + template + '|1=' + target + '}}'; editformval += '\n' + txt + '\n'; qid_saveEditForm(editformval, txt); } function nfd_updateDelReq(target, reason, uploader) { var colonPos = target.indexOf(':'); var imageName = target.substring(colonPos + 1); var abbrevCount = 0; for (var i = 0; i < nfd_glossary.length; i++) { var abbrev = nfd_glossary[i][0]; var meaning = nfd_glossary[i][1]; var re = eval("/\\b" + abbrev + "\\b/"); if (re.test(reason)) reason = reason.replace(re, meaning); } var txt = '{{نسخ:' + nfd_ifdTemplate + '|' + imageName + '|Uploader=' + uploader + '|Reason=' + reason + '}}'; var editformval = document.editform.wpTextbox1.value + '\n' + txt + ' ~~' + '~~ \n'; var summary = 'Nominating [[:' + target + ']]'; qid_saveEditForm(editformval, summary); } function pui_updateDelReq(target, reason) { var txt = '* [[:' + target + ']] - ' + reason; var editformval = document.editform.wpTextbox1.value + txt + ' ~~' + '~~ \n'; var summary = document.editform.wpSummary.value + 'Adding [[:' + target + ']]'; qid_saveEditForm(editformval, summary); } function vio_updateDelReq(target, url) { var txt = '* {{نسخ:Image-cv|' + target + '}} from [' + url + '].'; var editformval = document.editform.wpTextbox1.value + txt + ' ~~' + '~~ \n'; var summary = document.editform.wpSummary.value + 'Adding [[:' + target + ']]'; qid_saveEditForm(editformval, summary); } function nfd_onload() { if (document.getElementById('ca-edit') == null) // not editable by non-admin return; if (wgAction == "view" && wgCanonicalNamespace == "Image") { addPortletLink('p-tb', 'javascript:nfd_tagImage(\'nfd\')', nfd_text, 'nom-for-del', nfd_tooltip); addPortletLink('p-tb', 'javascript:nfd_tagImage(\'pui\')', pui_text, 'pui', pui_tooltip); addPortletLink('p-tb', 'javascript:nfd_tagImage(\'vio\')', vio_text, 'imagevio', 'vio_tooltip'); } var fakeaction = getParamValue('fakeaction'); switch (fakeaction) { case 'nfd_delete': nfd_addDeleteTemplate(nfd_deleteTemplate); break; case 'pui_delete': nfd_addDeleteTemplate(pui_deleteTemplate); break; case 'vio_delete': nfd_addDeleteTemplate(vio_deleteTemplate, decodeURIComponent(getParamValue('url'))); break; case 'nfd_warn': nfd_addIdwTemplate(nfd_idwTemplate, decodeURIComponent(getParamValue('target'))); break; case 'pui_warn': nfd_addIdwTemplate(pui_idwTemplate, decodeURIComponent(getParamValue('target'))); break; case 'vio_warn': nfd_addIdwTemplate(vio_idwTemplate, decodeURIComponent(getParamValue('target'))); break; case 'nfd_add': nfd_updateDelReq(decodeURIComponent(getParamValue('target')), decodeURIComponent(getParamValue('reason')), decodeURIComponent(getParamValue('uploader'))); break; case 'pui_add': pui_updateDelReq(decodeURIComponent(getParamValue('target')), decodeURIComponent(getParamValue('reason'))); break; case 'vio_add': vio_updateDelReq(decodeURIComponent(getParamValue('target')), decodeURIComponent(getParamValue('reason'))); break; } } addOnloadHook(nfd_onload); /** ================================================================================ * ==Automatic 'mark no source' (mns) and 'mark no license' (mnl) script== // mnx = applies to all * The actions in this section do two things: * 1. Add a tag to the image page. * 2. Add a warning to the uploader's talk page. */ // Configuration mns_text = "لا مصدر"; mns_tooltip = "الصورة تنقصها معلومات المصدر"; mnl_text = "لا ترخيص"; mnl_tooltip = "الصورة تنقصها معلومات الترخيص"; mnsl_text = "لا مصدر وترخيص"; mnsl_tooltip = "الصورة تنقصها معلومات الترخيص والمصدر"; mnr_text = "No rationale"; mnr_tooltip = "Mark this image as missing fair use rationale"; mor_text = "صورة تحت الاستعمال العادل يتمية"; mor_tooltip = "وسم بصورة تحت الاستعمال العادل يتيمة"; mrfu_text = "Replaceable fair use"; mrfu_tooltip = "Mark this image as a replaceable fair use image"; mfud_text = "Fair use disputed"; mfud_tooltip = "Mark this image as fair use disputed"; mbsr_text = "Base URL"; mbsr_tooltip = "This image links directly to the image or is a generic base URL"; function mnx_markNo(action) { var pagename = encodeURIComponent(wgPageName); var txt; var warnaction = action; switch (action) { case "mnx_mns": case "mnx_mnsl": case "mnx_mnl": // if image is marked as GFDL-presumed, then user a different user warning template if (document.getElementById("GFDL-presumed")) warnaction = "mnx_gfdl"; break; case 'mnx_mfud': txt = window.prompt('Please enter the reason why you are disputing the fair use of this image:', ''); if (!txt) { alert('mnx_markNo: Action canceled.'); return; } break; case "mnx_mrfu": var dt = qid_getUploadDate(); if (dt) txt = dt; break; } var uploader = qid_getUploader(); if (!uploader) return; qid_openWindow(qid_path + '?title=User_talk:' + uploader + '&action=edit&fakeaction=mnx_warn&target=' + pagename + '&type=' + warnaction); var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href; var targetUrl = editlk + '&fakeaction=' + action if (txt) targetUrl += '&txt=' + txt; window.location = targetUrl; } function mnx_addTemplate(template) { var txt = '{{نسخ:' + template + '}}'; // this is subst for most cases var editformval = qid_removeTemplate(document.editform.wpTextbox1.value, 'untagged'); var summary; switch (template) { case "nsl": txt = '{{نسخ:لا مصدر}}\n{{نسخ:nld}}'; case "nsd": summary = "Image is missing source information and will be deleted in seven days if it is not added."; break; case "nld": summary = "Image is missing license information and will be deleted in seven days if it is not added."; break; case "nrd": summary = "Image is missing fair use rationale and will be deleted in seven days if it is not added."; break; case "orfud": summary = "This fair use image is not used in any articles and will be deleted in seven days if it remains so."; break; case "rfu": summary = "This fair use appears to illustrate a subject for which a free image could reasonably be found or created and will be deleted in seven days."; break; case "rfu2": summary = "This fair use appears to illustrate a subject for which a free image could reasonably be found or created and will be deleted in two days."; break; case "dfu": txt = '{{نسخ:' + template + '|1=' + getParamValue('txt') + '}}'; summary = "The fair use of this image is disputed."; break; case "bsr": txt = '{{' + template + '}}'; summary = "The source URL given is inadequate."; break; } qid_saveEditForm(txt + '\n' + editformval, summary); } function mnx_addUserWarningTemplate(type, imagetarget) { qid_checkForRedirect(document.editform.wpTextbox1.value, type); var template; var editSummary; var hasShortNotice = false; var shortimagetarget; if (imagetarget) shortimagetarget = imagetarget.substring(6); // remove Image: namespace switch (type) { case "mnx_mns": case "mnx_mnsl": template = "حقوق الصورة"; editSummary = "تحذير: الصورة تنقصها معلومات المصدر؛ ستخذف بعد 7 أيام إن لم يتم تصحيح الوضع"; break; case "mnx_mnl": template = "حقوق الصورة"; editSummary = "تحذير: image missing license information."; break; case "mnx_mnr": template = "Missing rationale"; editSummary = "تحذير: image missing fair use rationale."; hasShortNotice = true; break; case "mnx_mor": template = "تنبيه صورة غير مستعملة"; editSummary = "هذه الصورة تحت الاستعمال العادل وأصبحت غير مستعملة؛ ستخذف بعد 7 أيام إن لم يتم تصحيح الوضع."; hasShortNotice = true; break; case "mnx_mrfu": template = "Replaceable"; editSummary = "The fair use image you uploaded is replaceable by a free one."; imagetarget = shortimagetarget; // {{replaceable|example.png}} hasShortNotice = true; break; case "mnx_mfud": template = "No fair"; editSummary = "The use of a non-free image you uploaded is disputed."; hasShortNotice = true; break; case "mnx_mbsr": template = "bsr-user"; editSummary = "Please provide a better source URL for your image."; break; case "mnx_gfdl": template = "GFDL presumed warning"; editSummary = "تحذير: الصورة تنقصها معلومات الترخيص؛ ستخذف بعد 7 أيام إن لم يتم تصحيح الوضع."; imagetarget = shortimagetarget; // {{GFDL presumed warning|example.png}} break; } var editformval = document.editform.wpTextbox1.value; var useShortNotice = false; if (hasShortNotice) useShortNotice = qid_userBeenWarned(editformval, template); var txt = '{{نسخ:' + template; if (useShortNotice) txt += ' short'; txt += '|1=' + imagetarget + '}}'; editformval += '\n' + txt + ' ~~' + '~~\n'; qid_saveEditForm(editformval, editSummary); } function mnx_onload() { if (document.getElementById('ca-edit') == null) // not editable by non-admin return; if (wgAction == "view" && wgCanonicalNamespace == "Image") { addPortletLink('p-tb', 'javascript:mnx_markNo(\'mnx_mns\')', mns_text, 'mark-no-source', mns_tooltip); addPortletLink('p-tb', 'javascript:mnx_markNo(\'mnx_mnl\')', mnl_text, 'mark-no-license', mnl_tooltip); addPortletLink('p-tb', 'javascript:mnx_markNo(\'mnx_mnsl\')', mnsl_text, 'mark-no-source-license', mnsl_tooltip); addPortletLink('p-tb', 'javascript:mnx_markNo(\'mnx_mnr\')', mnr_text, 'mark-no-rationale', mnr_tooltip); addPortletLink('p-tb', 'javascript:mnx_markNo(\'mnx_mor\')', mor_text, 'mark-orphaned', mor_tooltip); addPortletLink('p-tb', 'javascript:mnx_markNo(\'mnx_mrfu\')', mrfu_text, 'mark-replaceable', mrfu_tooltip); addPortletLink('p-tb', 'javascript:mnx_markNo(\'mnx_mfud\')', mfud_text, 'mark-disputed', mfud_tooltip); addPortletLink('p-tb', 'javascript:mnx_markNo(\'mnx_mbsr\')', mbsr_text, 'mark-base-url', mbsr_tooltip); } var fakeaction = getParamValue('fakeaction'); switch (fakeaction) { case 'mnx_mns': mnx_addTemplate('لا مصدر'); break; case 'mnx_mnl': mnx_addTemplate('nld'); break; case 'mnx_mnsl': mnx_addTemplate('لا مصدر'); break; case 'mnx_mnr': mnx_addTemplate('nrd'); break; case 'mnx_mor': mnx_addTemplate('صورة استعمال عادل يتيمة'); break; case 'mnx_mrfu': var cutoff = new Date(2006, 6, 13); var uploadDate = parseInt(getParamValue('txt')); // this is a number value (UNIX time) if (uploadDate > cutoff.getTime()) mnx_addTemplate('rfu2'); else mnx_addTemplate('rfu'); break; case 'mnx_mfud': mnx_addTemplate('dfu'); break; case 'mnx_mbsr': mnx_addTemplate('bsr'); break; case 'mnx_warn': mnx_addUserWarningTemplate(getParamValue('type'), decodeURIComponent(getParamValue('target'))); break; } } addOnloadHook(mnx_onload); /** ================================================================================ * ==Automatic speedy tagging== * The actions in this section do one thing: * 1. Add a tag to the image page. */ mred_text = "Mark as redundant image"; mred_tooltip = "Mark this image as redundant (tag for speedy deletion)"; mmi_text = "Mark as missing image"; mmi_tooltip = "Mark as missing image (tag for speedy deletion)"; mmtc_text = "وسم بالنقل إلى كومنز"; mmtc_tooltip = "Mark as candidate to move to Commons"; mncd_text = "وسم بمكررة في كومنز"; mncd_tooltip = "Mark as Commons duplicate"; function speedyi_addTemplate(template, imagetarget) { var summary; var usesubst = false; switch (template) { case 'isd': summary = 'Tagging for [[WP:CSD#I1|speedy deletion]]: Image is redundant to [[:Image:' + imagetarget + ']].'; break; case 'missing image': summary = 'Tagging for [[WP:CSD#I2|speedy deletion]]: Image is missing or corrupt.'; break; case 'نقل إلى كومنز': summary = 'نقل الصورة إلى [[Commons:Main Page|كومنز]] صحيح.'; break; case 'الآن كومنز': var commonsimgname = (!imagetarget) ? wgPageName : imagetarget; summary = 'الصور مكررة في[[commons:الصفحة الرئيسية|كومنز]] تحت اسم [[Commons:' + commonsimgname + '|]].'; usesubst = true; break; } var txt = '{{' + (usesubst ? 'نسخ:' : '') + template; if (template == 'isd' || (template == 'ncd' && imagetarget)) { txt += '|1=' + imagetarget; } txt += '}}'; var editformval = qid_removeTemplate(document.editform.wpTextbox1.value, 'untagged'); if (template == 'ncd') { // for ncd, remove "Move to Commons" (and variations thereof) template var mtctemplates = new Array('Copy to Wikimedia Commons', 'Move to Commons', 'Move to commons', 'Move to Wikimedia Commons', 'Copy to commons', 'Mtc', 'MtC', 'MTC', 'CWC', 'CtWC', 'CTWC', 'Ctwc'); for (var i = 0; i < mtctemplates.length; i++) { editformval = qid_removeTemplate(editformval, mtctemplates[i]); } } qid_saveEditForm(txt + '\n' + editformval, summary); } function speedyi_mark(action) { var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href; var xtra = ''; switch (action) { case "speedyi_mred": var dupe = window.prompt('Please enter the name of the image this one is redundant to.', ''); if (!dupe) { alert('speedyi_mark: No image name entered.'); return; } if (dupe.indexOf('Image:') == 0) { dupe = dupe.substring(6); } xtra = '&target=' + dupe; break; case "speedyi_mncd": var commonsimg = window.prompt('اكتب اسم الصورة في كومنز أو تركها فارغة إذا كانت بنفس الاسم', ''); if (commonsimg == null) { alert('speedyi_mark: Action canceled.'); return; } if (commonsimg != '') { xtra = '&target=' + commonsimg; } break; } window.location = editlk + '&fakeaction=' + action + xtra; } function speedyi_onload() { if (document.getElementById('ca-edit') == null) // not editable by non-admin return; if (wgAction == "view" && wgCanonicalNamespace == "Image") { addPortletLink('p-tb', 'javascript:speedyi_mark(\'speedyi_mred\')', mred_text, 'mark-redundant', mred_tooltip); addPortletLink('p-tb', 'javascript:speedyi_mark(\'speedyi_mmi\')', mmi_text, 'mark-missing', mmi_tooltip); addPortletLink('p-tb', 'javascript:speedyi_mark(\'speedyi_mmtc\')', mmtc_text, 'mark-movecommons', mmtc_tooltip); addPortletLink('p-tb', 'javascript:speedyi_mark(\'speedyi_mncd\')', mncd_text, 'mark-commons', mncd_tooltip); } var fakeaction = getParamValue('fakeaction'); switch (fakeaction) { case 'speedyi_mred': speedyi_addTemplate('isd', decodeURIComponent(getParamValue('target'))); break; case 'speedyi_mmi': speedyi_addTemplate('missing image'); break; case 'speedyi_mmtc': speedyi_addTemplate('Move to Commons'); break; case 'speedyi_mncd': var target = getParamValue('target'); if (target) target = decodeURIComponent(target); speedyi_addTemplate('الآن كومنز', target); break; } } addOnloadHook(speedyi_onload); /* </nowiki></pre> */

