مسابقه دانش‌دخت
اسلامیکال از تاریخ ۱۵ دی تا ۲۰ بهمن، میزبان یک همایه با موضوع زنان است. شما می‌توانید در مسابقه مقاله‌نویسی دانش‌دخت، شرکت کنید و با نگارش مقاله، از جوایز آن بهره‌مند باشید. اگر به موضوعات مربوط با زنان علاقه‌مندید، این فرصت را از دست ندهید. فهرستی از مقالات پیشنهادی جهت ایجاد یا ویرایش در اینجا وجود دارد.

مدیاویکی:Gadget-AHK.js

از اسلامیکال
نسخهٔ تاریخ ‏۱۲ ژانویهٔ ۲۰۲۳، ساعت ۱۷:۲۶ توسط Aboammar (بحث | مشارکت‌ها) (صفحه‌ای تازه حاوی «←‏A tool to add Template:information to images Author: User:Ladsgroup: (function ($, mw) { 'use strict'; function setwindow (text) { var uri = new mw.Uri(); uri.query = { action: 'edit', withJS: 'MediaWiki:AHK2.js', text: text, summary: 'افزودن الگوهای اطلاعات به کمک ابزار', } wind...» ایجاد کرد)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • اینترنت اکسپلورر/ Edge: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
  • اپرا: Ctrl-F5 را بفشارید.
/* A tool to add Template:information to images
Author: User:Ladsgroup
*/
(function ($, mw) {
    'use strict';

    function setwindow (text) {
        var uri = new mw.Uri();
        uri.query = {
            action: 'edit',
            withJS: 'MediaWiki:AHK2.js',
            text: text,
            summary: 'افزودن الگوهای اطلاعات به کمک [[مدیاویکی:Gadget-AHK.js|ابزار]]',
        }
        window.location = uri.toString();
    }

    function check (text, callback) {
        if (text.search(/\-([Ss]elf|خود)\}\}/) !== -1) {
            var date = '';
            try {
                date = document.getElementsByClassName('exif-datetimeoriginal')[0].lastElementChild.innerHTML.split("،")[0] + ' (طبق اطلاعات فراداده)';
            } catch (err) {
                date = '';
            }
            var author = document.getElementById('mw-imagepage-section-filehistory').lastElementChild.lastElementChild.lastElementChild.children[5].firstElementChild.title.replace(' (صفحه وجود ندارد)','');
            var info = "{{اطلاعات\n |توضیحات = $2\n |تاریخ = "+date+"\n |منبع = اثر شخصی\n |پدیدآور = [[کاربر:" + author + "|" + author + "]]\n |اجازه‌نامه = \n |دیگر نسخه‌ها = \n}}\n";
            text = text.replace(/(^(?:\=\= *?شرح\:? *?\=\=\n)?)([\s\S]*?)((?:\=\=[\s\S]+?)?\{\{(?:.+?)\-(?:[Ss]elf|خود)\}\})/, "$1" + info + "$3");
            callback(text);
        } else if (text.search("{{جلد آلبوم}}") !== -1) {
            var art = document.getElementsByClassName('mw-imagepage-linkstoimage-ns0')[0].firstElementChild.title
            if (!art) {
                art = '';
            }
            var info = '{{دلیل استفاده جلد آلبوم غیر آزاد\n |توضیحات       = $2 \n |منبع          = \n |مقاله         = ' + art + ' \n |بخش یا قسمت   = \n |کیفیت پایین‌تر = \n |دلیل          = \n |جایگزین       = \n |اطلاعات بیشتر  = \n}}\n';
            text = text.replace(/(^(?:\=\= *?شرح\:? *?\=\=\n)?)([\s\S]*?)((?:\=\=[\s\S]+?)?\{\{جلد آلبوم\}\})/, "$1" + info + "$3");
            callback(text);
        } else if (text.search("{{پوستر}}") !== -1) {
            var art = document.getElementsByClassName('mw-imagepage-linkstoimage-ns0')[0].firstElementChild.title
            if (!art) {
                art = '';
            }
            var info = '{{دلیل استفاده پوستر غیر آزاد\n |توضیحات       = $2 \n |منبع          = \n |مقاله         = ' + art + ' \n |بخش یا قسمت   = \n |کیفیت پایین‌تر = \n |دلیل          = \n |جایگزین       = \n |اطلاعات بیشتر  = \n}}\n';
            text = text.replace(/(^(?:\=\= *?شرح\:? *?\=\=\n)?)([\s\S]*?)((?:\=\=[\s\S]+?)?\{\{پوستر\}\})/, "$1" + info + "$3");
            callback(text);
        } else if ($('#catlinks a[href="/wiki/%D8%B1%D8%AF%D9%87:%D9%85%D8%AD%D8%AA%D9%88%DB%8C%D8%A7%D8%AA_%D8%BA%DB%8C%D8%B1_%D8%A2%D8%B2%D8%A7%D8%AF"]').length) { // non free content
            var art = document.getElementsByClassName('mw-imagepage-linkstoimage-ns0')[0].firstElementChild.title
            if (!art) {
                art = '';
            }
            var info = '{{دلیل استفاده اثر غیر آزاد\n| توضیحات       = $2\n| منبع          = \n| مقاله         = ' + art + '\n| بخش یا قسمت   = <!-- از کل محتوای غیر آزاد استفاده شده‌است یا از جزئی آن؟ -->\n| کیفیت پایین‌تر = \n| کاربرد        = \n| جایگزین       = \n| اطلاعات بیشتر  = \n}}\n'
            text = text.replace(/(^(?:\=\= *?شرح\:? *?\=\=\n)?)([\s\S]*?)((?:\=\=[\s\S]+?)?\{\{)/, "$1" + info + "$3");
            callback(text);
        } else {
            var info = '{{اطلاعات\n|توضیحات     = $2\n|منبع        = \n|تاریخ       = \n|پدیدآور     = \n|اجازه‌نامه   = \n|دیگر نسخه‌ها = \n}}\n';
            text = text.replace(/(^(?:\=\= *?شرح\:? *?\=\=\n)?)([\s\S]*?)((?:\=\=[\s\S]+?)?\{\{)/, "$1" + info + "$3");
            callback(text);
        }

    };

    function loadPage(title, callback) {
        new mw.Api().get({
            action: 'query',
            prop: 'revisions',
            titles: title,
            rvprop: 'content',
            format: 'json'
        }).done(function (data) {
        try {
            callback($.map(data.query.pages, function (value) {
                return value;
            })[0].revisions[0]['*'], setwindow);
        }
        catch (exception) {
            callback('', setwindow)}
        }).fail(function (data) {
            callback($.map(data.query.pages, function (value) {
                return value;
            })[0].revisions[0], setwindow);
        });
    };
    if (mw.config.get('wgNamespaceNumber') === 6 && !(document.getElementById("fileinfotpl_desc"))) {
        $(function () {
            $(mw.util.addPortletLink('p-views', '#', 'افزودن اطلاعات', 'ca-ahk', 'افزودن الگوی اطلاعات'))
                .click(function (e) {
                    loadPage(mw.config.get('wgPageName'), check);
            });
        });
    }
}(jQuery, mediaWiki));