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

ویکی‌پدیادان، آچیق بیلیک‌لیک‌دن

' 'قئید:' یازدیق‌دان سونرا دییشیک‌لیک‌لری گؤرمک اوچون براوزئرینیزین کئش یادداشیندا تمیزلمه‌نیز لازیم اولا بیلر.

  • 'فایرفاکس / سافاری:Shift دویمه‌سینه باسین "یئنی‌دن یوکله"-ا داخیل اولون یا دا Ctrl-F5 یا Ctrl-R ائدین (ماج اوچون ⌘-R).
  • 'گووگل کروم:'Ctrl+Shift+R باسین. (ماج اوچون ⌘-Shift-R)
  • 'اینترنت ایکسپئلور: کلید Ctrl باسین یئنی‌لئ 'یئ داخیل اولون یا دا Ctrl-F5 ائدین.
  • 'اوپئرا:' آلت‌لری → سئچیملر 'دن اؤنبئللیغی Tools → Preferences تمیزلیین.
/* by Arash.pt & Ebraminio & Yamaha5 & Huji */
/*global $, mw, prompt, confirm*/
/*jslint regexp: true, vars: true, indent: 2, white: true*/
$(function () {
    'use strict';
    function answered(page, sectionId, type, action) {
        new mw.Api().get({
            format: 'json',
            action: 'query',
            titles: page,
            rvsection: sectionId,
            prop: 'revisions',
            rvprop: 'content'
        }).then(function (data) {
            var editsummary = ' (به کمک [[مدیاویکی:Gadget-close.js|ابزار جمع‌بندی]])';
            var str = data.query.pages[Object.keys(data.query.pages)[0]].revisions[0]['*'];
            var title = (str.match(/^(=+)[^=]*?(\1)$/m) || [''])[0];
            var title_text = title.replace(/\=/g, '');
            var the_reason = prompt("توضیح برای " + action + ":");
            if (mw.config.get('wgPageName').search('نظرخواهی') > 0){
                var starting='#';
            }else{
                var starting='*';
            }
            if (the_reason.length <= 1) { the_reason = ""; }
            if (type === 'request') {
                var requestStatus = confirm('آیا درخواست ائدیلدیه‌است؟ یا ناموفق بود؟');
                var the_reason2 = "";
                if (!requestStatus) {
                    the_reason2 = "|ناموفق=بله";
                }
            if(the_reason != "") {
            the_reason = the_reason + ' – ~~' + '~~'
                str = str.replace(title, title + "\n{{بسته" + the_reason2 + "}}\n'''" + the_reason + "'''\n");
            }else{
            str = str.replace(title, title + "\n{{بسته" + the_reason2 + "}}");
            }
                str = str + "\n{{پایان بسته}}";
                editsummary = 'جمع‌بندی ائدیلدی' + editsummary;
            } else if (type === 'talk') {
                the_reason = "|" + the_reason;
                str = str.replace(title, title + "\n{{بحث بسته" + the_reason + "}}");
                str = str + "\n{{پایان بسته}}";
                editsummary = 'جمع‌بندی ائدیلدی' + editsummary;
            } else if (type === 'done') {
                if (mw.config.get('wgPageName')=='ویکی‌پدیا:درخواست_انتقال'||mw.config.get('wgPageName')=='ویکی‌پدیا:درخواست_ادغام_تاریخچه'){
                    str=str.replace('{{وضعیت|}}','{{وضعیت|ائدیلدی}}')
                }
                str = str + "\n:{{ائدیلدی}} " + the_reason + ' – ~~' + '~~';
                editsummary = 'ائدیلدی' + editsummary;
            } else if (type === 'notdone') {
                if (mw.config.get('wgPageName')=='ویکی‌پدیا:درخواست_انتقال'||mw.config.get('wgPageName')=='ویکی‌پدیا:درخواست_ادغام_تاریخچه'){
                    str=str.replace('{{وضعیت|}}','{{وضعیت|ائدیلمدی}}')
                }
                str = str + "\n:{{ائدیلمدی}} " + the_reason + ' – ~~' + '~~';
                editsummary = 'ائدیلمدی!' + editsummary;
            } else if (type === 'support') {
                str = str + "\n"+starting+" {{یاناشی}} " + the_reason + ' – ~~' + '~~';
                editsummary = 'یاناشییام' + editsummary;
            } else if (type === 'oppose') {
                str = str + "\n"+starting+" {{قارشی}} " + the_reason + ' – ~~' + '~~';
                editsummary = 'قارشییام' + editsummary;
            }
            editsummary = '/*' + title_text + '*/' + editsummary;
            return new mw.Api().post({
                format: 'json',
                action: 'edit',
                title: page,
                section: sectionId,
                summary: editsummary,
                text: str,
                token: mw.user.tokens.get('csrfToken')
            });
        }).then(function () {
            mw.notify('ائدیلدی');
            location.reload(true);
        }, function (error) {
            mw.notify('به دلیلی موفقیت‌آمیز نبود: ' + error);
            location.reload(true);
        });
    }

    function addLink(section, type, html, color, title) {
        $('<a>', {
            href: '#',
            title: title,
            style: 'float: left; color: ' + color,
            html: html
        }).click(function (e) {
            e.preventDefault();
            var query = new mw.Uri($(section).next().find('a[href*="&action=edit"]')[0].href).query;
            answered(query.title, +query.section.replace('T-', ''), type, title);
        }).insertBefore(section);
    }

    if (mw.config.get('wgNamespaceNumber') === 3 && mw.config.get('wgPageName').search(mw.config.get('wgUserName')) > 0) {
        $('.mw-headline').each(function () {
            addLink(this, 'talk', '&#x2750;', '#090', 'جمع‌بندی بحث');
            addLink(this, 'done', '&#x2713;', '#003A5C', '✓ ائدیلدی');
            addLink(this, 'notdone', '&#x2717;', '#DF0101', '✗ ائدیلمدی');
        });
    } else if (mw.config.get('wgNamespaceNumber') === 4) {
        if ($([
            '#catlinks a[href="/wiki/%D8%B1%D8%AF%D9%87:%D8%B1%D9%87%D9%86%D9%85%D9%88%D8%AF%D9%87%D8%A7%DB%8C_%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7"]', //رده:رهنمودهای ویکی‌پدیا
            '#catlinks a[href="/wiki/%D8%B1%D8%AF%D9%87:%D8%B3%DB%8C%D8%A7%D8%B3%D8%AA%E2%80%8C%D9%87%D8%A7%DB%8C_%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7"]', //رده:سیاست‌های ویکی‌پدیا
            '#catlinks a[href="/wiki/%D8%B1%D8%AF%D9%87:%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7"]', //رده:راهنمای ویکی‌پدیا
            '#catlinks a[href="/wiki/%D8%B1%D8%AF%D9%87:%D8%B4%DB%8C%D9%88%D9%87%E2%80%8C%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C_%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7"]', //رده:شیوه‌نامه‌های ویکی‌پدیا
            '#catlinks a[href="/wiki/%D8%B1%D8%AF%D9%87:%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%D9%87%D8%A7%DB%8C_%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7"]', //رده:ابزارهای ویکی‌پدیا
            '#catlinks a[href="/wiki/%D8%B1%D8%AF%D9%87:%D8%AE%D9%88%D8%AF%D8%A2%D9%85%D9%88%D8%B2_%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7"]', //رده:خودآموز ویکی‌پدیا
            '#catlinks a[href="/wiki/%D8%B1%D8%AF%D9%87:%D8%A7%D9%86%D8%B4%D8%A7%D9%87%D8%A7%DB%8C_%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7"]', //رده:انشاهای ویکی‌پدیا
            '#catlinks a[href="/wiki/%D8%B1%D8%AF%D9%87:%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7"]' //رده:مدیریت ویکی‌پدیا
        ].join(', ')).length === 0) {
            $('.mw-headline').each(function () {
                if (mw.config.get('wgUserGroups').indexOf('sysop') > -1) {
                    addLink(this, 'request', '&#x2750;', '#090', 'جمع‌بندی بحث');
                    addLink(this, 'done', '&#x2713;', '#003A5C', '✓ ائدیلدی');
                    addLink(this, 'notdone', '&#x2717;', '#DF0101', '✗ ائدیلمدی');
                }
                addLink(this, 'support', '&#x263A;', '#090', 'یاناشییام');
                addLink(this, 'oppose', '&#x2639;', '#DF0101', 'قارشییام');
            });
        }
    } else if (mw.config.get('wgNamespaceNumber') % 2 !== 0) { // برای صفحات بحث
        $('.mw-headline').each(function () {
            addLink(this, 'done', '&#x2713;', '#003A5C', '✓ ائدیلدی');
            addLink(this, 'notdone', '&#x2717;', '#DF0101', '✗ ائدیلمدی');
        });
    }
});