User:SunAfterRain/RenameLink.js
(Redirected from User:Sunny00217/RenameLink.js)
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
Documentation for this user script can be added at User:SunAfterRain/RenameLink. |
/**
* @description
* Install a rename link for users who cannot move files
* Feel free to add more links that support usability
*
* Clicking this link will add the rename template with a valid reason
*
* Invoke automated jsHint-validation on save: A feature on Wikimedia Commons
* Interested? See [[:commons:MediaWiki:JSValidator.js]] or [[:commons:Help:JSValidator]].
*
* @dependencies
* the usual mediaWiki stuff (mediawiki.user, mediawiki.util)
* Gadget-AjaxQuickDelete.js (ext.gadget.AjaxQuickDelete)
*
* @autor [[User:Rillke]], 2012
*/
// <nowiki>
/* global jQuery:false, mediaWiki:false, AjaxQuickDelete:false*/
(function ($, mw) {
'use strict';
if (mw.config.get('wgNamespaceNumber') !== 6 || !mw.config.get('wgUserName') || mw.config.get('wgIsRedirect')) return;
var cats = mw.config.get('wgCategories'),
usergroups = mw.config.get('wgUserGroups'),
restriction = mw.config.get('wgRestrictionEdit'),
userlang = mw.config.get('wgUserLanguage'),
maincats = ['Media requiring renaming',
'Media renaming requests needing target',
'Incomplete media renaming requests'];
if (restriction && restriction.length && $.inArray(restriction[0], usergroups) === -1) return;
// Translation to be replaced with MediaWiki-messages ASAP (MediaWiki:Vector-action-move)
var i18n = {
ar: 'نقل',
bn: 'স্থানান্তর',
de: 'Verschieben',
en: 'Move',
es: 'Trasladar',
fa: 'انتقال',
fr: 'Renommer',
gl: 'Mover',
hr: 'Premjesti',
it: 'Rinomina',
ja: '移動',
kk: 'Атауын өзгерту',
ko: '이동',
ml: 'തലക്കെട്ട് മാറ്റുക',
nl: 'Hernoemen',
pl: 'Przenieś',
pt: 'Mover',
ro: 'Redenumire',
ru: 'Переименовать',
sk: 'Premenovať',
sv: 'Flytta',
tr: 'Taşı',
uk: 'Перейменувати',
yue: '搬',
'zh-hant': '移動'
};
var i18nP = {
ar: 'جارٍ تحميل السكريبت',
bn: 'স্ক্রিপ্ট লোড হচ্ছে',
de: 'Programmcode laden',
en: 'Loading script',
es: 'Cargando la secuencia de órdenes',
fa: 'بارگیری اسکریپت',
fr: 'Chargement',
gl: 'Cargando o script',
hr: 'Učitavanje skripte',
id: 'Memuat skrip',
it: 'Caricamento script in corso',
kk: 'Скрипт жүктелуде',
ko: '스크립트 로딩 중',
ml: 'സ്ക്രിപ്റ്റ് തയ്യാറാക്കുന്നു.',
nl: 'Script laden',
pl: 'Ładowanie skryptu',
pt: 'Carregando script',
ro: 'Se încarcă scriptul',
ru: 'Загрузка скрипта',
sk: 'Skript sa načítava',
sv: 'Laddar skript',
tr: 'Betik yükleniyor',
uk: 'Завантаження скрипта',
yue: '喺度搞緊代碼……唔該等陣……',
'zh-hant': '載入腳本'
};
function loadAndStart(e) {
e.preventDefault();
AjaxQuickDelete.showProgress(i18nP[userlang] || i18nP[userlang.split('-')[0]] || i18nP.en);
if (window.rRename)
window.rRename.rRun();
else
mw.loader.load(mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:RenameRequest.js&action=raw&ctype=text/javascript&dummy=0');
}
for (var i = 0; i < maincats.length; i++) {
if ($.inArray(maincats[i], cats) !== -1) {
$('#renameChange').show().find('a').on('click', loadAndStart);
return;
}
}
if ($.inArray('sysop', usergroups) + $.inArray('filemover', usergroups) > -2) return;
$(function () {
$(mw.util.addPortletLink('p-cactions', '#',
i18n[userlang] || i18n[userlang.split('-')[0]] || i18n.en,
'ca-rename', 'Request renaming this file.', 'm'))
.on('click', loadAndStart);
});
}(jQuery, mediaWiki));
// </nowiki>