MediaWiki:Gadget-MoreMenu.trwiki.js

Vikipedi, özgür ansiklopedi

Not: Sayfayı kaydettikten sonra değişiklikleri görebilmek için tarayıcınızın önbelleğinizi temizlemeniz gerekir. Google Chrome, Firefox, Microsoft Edge ve Safari: ⇧ Shift tuşuna basılı tutun ve Yeniden Yükle araç çubuğu düğmesine tıklayın. Ayrıntılar ve diğer tarayıcılara yönelik yönergeler için Vikipedi:Önbelleğinizi atlayın sayfasını inceleyin.

/**
 * WARNING: GLOBAL GADGET FILE
 * Compiled from source at https://github.com/MusikAnimal/MoreMenu
 * Please submit code changes as a pull request to the source repository at https://github.com/MusikAnimal/MoreMenu
 *
 * Enwiki extension to MoreMenu.
 * This adds a menu item with RfAs/RfBs and an item for XfD where applicable.
 */
$(function () {
  /**
   * Look for and add links to RfAs, RfBs, Arbitration cases, etc.
   * @param {mw.Api} api
   * @param {Object} config
   */
  function addRfXs(api, config) {
    var rfxs = {
      'Vikipedi:Botlar/Başvurular': 'botb',
	  'Vikipedi:Bürokratlık başvurusu': 'bb',
	  'Vikipedi:Denetçilik başvurusu': 'db',
	  'Vikipedi:Gözetmenlik başvurusu': 'gb',
	  'Vikipedi:Hizmetlilik başvurusu': 'hb',
      'Vikipedi:Denetçi isteği': 'di',
      'Vikipedi:Kukla şüphelileri': 'kş'
    };
    $.extend(MoreMenu.messages, {
      botb: 'Botluk',
      bb: 'Bürokratlık',
      db: 'Denetçilik',
      gb: 'Gözetmenlik',
      hb: 'Hizmetlilik',
      di: 'Denetçi isteği',
      : 'Kukla şüphelileri'
    });
    var links = {};
    api.get({
      titles: Object.keys(rfxs).map(function (rfx) {
        return rfx + '/' + config.targetUser.name;
      }).join('|'),
      formatversion: 2
    }).done(function (data) {
      data.query.pages.forEach(function (page) {
        if (!page.missing) {
          var key = rfxs[page.title.replace('/' + config.targetUser.name, '')];
          links[key] = {
            url: mw.util.getUrl('Special:PrefixIndex/' + page.title)
          };
        }
      });

      if (Object.keys(links).length) {
        MoreMenu.addSubmenu('user', 'Adaylıklar', links, 'analysis');
      }
    });
  }

  /**
   * Look for and add a link to Special:PrefixIndex for AfDs or XfDs.
   * @param {mw.Api} api
   * @param {Object} config
   */
  function addXfD(api, config) {
    api.get({
      titles: [
        'Vikipedi:Silinmeye aday sayfalar/' + config.page.name,
        'Vikipedi:Kategori tartışmaları/' + config.page.name,
		'Vikipedi:Şablon tartışmaları/' + config.page.name
      ].join('|'),
      prop: 'info',
      formatversion: 2
    }).done(function (data) {
      data.query.pages.some(function (page) {
        if (page.missing) {
          return false;
        }

        var link = mw.util.getUrl('Special:PrefixIndex/' + page.title);

        switch (page.title.split('/')[0]) {
          case 'Vikipedi:Şablon tartışmaları':
            return MoreMenu.addLink('page', 'ŞT', link);
          case 'Vikipedi:Kategori tartışmaları':
            return MoreMenu.addLink('page', 'KT', link);
          case 'Vikipedi:Silinmeye aday sayfalar':
            return MoreMenu.addLink('page', 'SAS', link);
          default:
            return false;
        }
      });
    });
  }

  mw.hook('moremenu.ready').add(function (config) {
    var api = new mw.Api();

    if (config.targetUser.name && !config.targetUser.ipRange) {
      addRfXs(api, config);
    }

    if (config.page.name) {
      addXfD(api, config);
    }

    // Add link to BLP edits in the 'Analysis' menu.
    if (!config.targetUser.ipRange) {
      MoreMenu.addSubmenuLink('user', 'analysis', 'YİB Değişiklikleri', 'https://xtools.wmflabs.org/categoryedits/tr.wikipedia.org/' + config.targetUser.encodedName + '/Yaşayan insanlar');

      //// Add link to AfD stats.
      //MoreMenu.addSubmenuLink('user', 'analysis', 'SAS istatistikleri', 'https://afdstats.toolforge.org/afdstats.py?name=' + config.targetUser.encodedName, 'analysis-xtools');
    }

    // // Add link to Peer reviewer tool under 'Tools'.
    // MoreMenu.addSubmenuItem('page', 'tools', 'Peer reviewer', {
    //   url: 'https://dispenser.info.tm/~dispenser/view/Peer_reviewer#page:' + config.page.encodedName,
    //   pageExists: true,
    //   databaseRestrict: ['trwiki'],
    //   namespaceRestrict: [0, 2, 118]
    // });
  });
});