User:Reza1615/properties.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
( function ( mw, $ ) {
var i18nData = {
'en': {
'PropertyTool-box-title': 'Array Properties',
'PropertyTool-box-warning': 'This tool only sets a request for a bot, and only after a review would it be done',
'PropertyTool-box-lang': 'Language: ',
'PropertyTool-box-source': 'Source: Input Category or Template that you want to select items by.',
'PropertyTool-box-category': 'Category of wiki pages (items): ',
'PropertyTool-box-template': 'Template which wiki pages (items) use: ',
'PropertyTool-box-pn': 'Property which should be copied: ',
'PropertyTool-box-item': 'The item which the property Should be Linked to: ',
'PropertyTool-box-ignoreprefix': 'Ignore prefix word: ',
'PropertyTool-box-ignore': 'Ignore article(s): ',
'PropertyTool-box-create': 'Create: ',
'PropertyTool-box-recursion': 'Recursion: ',
'PropertyTool-success':'Request is Reported successfully!',
'PropertyTool-Error':'Unknown Error!',
'PropertyTool-warning-sitebox':'You should Input prefix of a Wikipedia language site!',
'PropertyTool-warning-sourcebox':'You should Input Category or Template that you want to refer!',
'PropertyTool-warning-pnbox':'You should Input correct Property Link!',
'PropertyTool-warning-itembox':'You should Input correct Item Link!',
'PropertyTool-send': 'Send request',
'PropertyTool-reset': 'Reset'
},
'fa': {
'PropertyTool-box-title': 'تکثیر خصوصیات',
'PropertyTool-box-warning': 'این ابزار فقط برای درخواست است. پس از بررسی درخواست توسط مدیران، ربات آن را اجرا خواهد کرد!',
'PropertyTool-box-lang': 'زبان: ',
'PropertyTool-box-source': 'منبع:به عنوان منبع رده یا الگوی مورد نظرتان را وارد کنید.',
'PropertyTool-box-category': 'ردهای که صفحات ویکی (آیتمها) در آن هستند: ',
'PropertyTool-box-template': 'الگویی که صفحات ویکی (آیتمها) از آن استفاده میکنند: ',
'PropertyTool-box-pn': 'خصوصیتی که باید تکثیر شود: ',
'PropertyTool-box-item': 'آیتمی که خصوصیت باید به آن پیوند دهد: ',
'PropertyTool-box-ignoreprefix': 'استثنای ابتدای عبارت: ',
'PropertyTool-box-ignore': 'استثناها: ',
'PropertyTool-box-create': 'ایجاد: ',
'PropertyTool-box-recursion': 'تعداد زیر رده: ',
'PropertyTool-success':'درخواست با موفقیت انجام شد!',
'PropertyTool-Error':'خطای نامعلوم!',
'PropertyTool-warning-sitebox':'باید کد ویکیپدیای مورد نظرتان را وارد کنید',
'PropertyTool-warning-sourcebox':'باید رده یا الگوی مورد نظرتان را وارد کنید!',
'PropertyTool-warning-pnbox':'باید پیوند درست به خصوصیت مورد نظرتان را وارد کنید!',
'PropertyTool-warning-itembox':'باید پیوند درست به آیتم خصوصیت مورد نظرتان را وارد کنید!',
'PropertyTool-send': 'درخواست تکثیر',
'PropertyTool-reset': 'خالی کردن فرم'
},
'ar': {
'PropertyTool-box-title': 'نسخ الخاصیات',
'PropertyTool-box-warning': 'هذه الأداة لإرسال الطلب فقط. ستقوم البوتات بتنفيذ الطلب بعد تأييد الإداريون !',
'PropertyTool-box-lang': 'اللغة: ',
'PropertyTool-box-source': 'المصدر : إدخل القالب أو التصنيف الذي تريد تحديد الصفحاب حسبه.',
'PropertyTool-box-category': 'التصنيف الذي يحتوي على الصفحات: ',
'PropertyTool-box-template': 'القالب الذي يحتوي على الصفحات: ',
'PropertyTool-box-pn': 'الخاصية التي يجب نسخها: ',
'PropertyTool-box-item': 'الصفة التي ينبغي ربط الخاصية إليها: ',
'PropertyTool-box-ignoreprefix': 'إستثناء بداية الكلمة: ',
'PropertyTool-box-ignore': 'الإستثناءات: ',
'PropertyTool-box-create': 'إنشاء: ',
'PropertyTool-box-recursion': 'عدد الصفحات: ',
'PropertyTool-success':'تم ارسال الطلب بنجاح!',
'PropertyTool-Error':'خطأ غير معروف!',
'PropertyTool-warning-sitebox':'يجب عليك إدخال الرمز الخاص بلغتك (ar للعربية)',
'PropertyTool-warning-sourcebox':'يجب عليك إدخال التصنيف أو القالب الذي تريد أن تشير اليه!',
'PropertyTool-warning-pnbox':'يجب عليك إدخال رابط الصحيح للخاصية!',
'PropertyTool-warning-itembox':'يجب عليك إدخال رابط الصحيح للصفة!',
'PropertyTool-send': 'ارسال الطلب',
'PropertyTool-reset': 'تفريغ الإستمارة'
}
};
i18nData.no = i18nData.nb;
var parts = mw.user.options.get( 'language' ).split("-");
if( parts[1]=='hans' || parts[1]=='cn' || parts[1]=='sg' || parts[1]=='my' ) {
var lang = 'zh-hans';
} else if ( parts[1]=='hant' || parts[1]=='hk' || parts[1]=='tw' || parts[1]=='mo' ) {
var lang = 'zh-hant';
} else if ( i18nData[parts[0]] ) {
var lang = parts[0];
} else {
var lang = 'en';
}
/**
* Return the localized version of a message
*/
function i18n( key ) {
if( i18nData[ lang ][ key ] ) {
return i18nData[ lang ][ key ];
} else {
return i18nData[ 'en' ][ key ];
}
}
/**
* Create the dialog and add a link in toolBox
*/
function init() {
mw.loader.using( ['jquery.ui'], function() {
var formFind = '<div id="PropertyTool" title="' + i18n( 'PropertyTool-box-title' ) + '"><form>';
formFind += '<p>' + i18n( 'PropertyTool-box-warning' ) + '</p>';
formFind += '<p>' + i18n( 'PropertyTool-box-lang' ) +' <input type="text" id="langbox" size="9" value="'+lang +'"/></p>';
formFind += '<p>' + i18n( 'PropertyTool-box-source' ) + '</p>';
formFind += '<p>' + i18n( 'PropertyTool-box-category' ) + ' <input type="text" id="catbox" size="20" value="Category:" /></p>';
formFind += '<p>' + i18n( 'PropertyTool-box-template' ) + ' <input type="text" id="tempbox" size="20" value="Template:"/></p>';
formFind += '<p>' + i18n( 'PropertyTool-box-pn' ) + ' <input type="text" id="pnbox" size="5" value="P"/></p>';
formFind += '<p>' + i18n( 'PropertyTool-box-item' ) + ' <input type="text" id="itembox" size="8" value="Q"/></p>';
formFind += '<p>' + i18n( 'PropertyTool-box-ignoreprefix' ) + ' <input type="text" id="prefixbox" size="9" value=""/></p>';
formFind += '<p>' + i18n( 'PropertyTool-box-ignore' ) + ' <input type="text" id="ignobox1" size="9" value=""/>,<input type="text" id="ignobox2" size="9" value=""/>,<input type="text" id="ignobox3" size="9" value=""/></p>';
formFind += '<p>' + i18n( 'PropertyTool-box-create' ) + ' <input type="text" id="createbox" size="4" value=""/></p>';
formFind += '<p>' + i18n( 'PropertyTool-box-recursion' ) + ' <input type="text" id="recurbox" size="3" value=""/></p>';
formFind += '</form></div>';
var messageFind = $( formFind ).appendTo( '#content' );
messageFind.dialog( {
autoOpen: false,
modal: true,
width: 600,
buttons: [ {
id: 'PropertyTool-button-import',
text: i18n( 'PropertyTool-send' ),
click: function() {
work();
}
}/*,
{
id: 'PropertyTool-button-reset',
text: i18n( 'PropertyTool-reset' ),
click: function() {
document.getElementById("pnbox").value='P';
document.getElementById("itembox").value='Q';
document.getElementById("prefixbox").value=lang;
document.getElementById("ignobox1").value='';
document.getElementById("ignobox2").value='';
document.getElementById("ignobox3").value='';
document.getElementById("createbox").value='';
document.getElementById("recurbox").value='';
}*/]
} );
var PorpertyToolLink = mw.util.addPortletLink( 'p-tb', '#', i18n( 'PropertyTool-box-title' ), 't-PropertyTool', i18n( 'PropertyTool-box-title' ) );
$(PorpertyToolLink).click( show );
} );
}
/**
* Show the dialog
*/
function show() {
formFind = $( '#PropertyTool-lang' );
$( 'div#PropertyTool' ).dialog( 'open' );
}
function work() {
var langbox=document.getElementById("langbox").value;
var catbox=document.getElementById("catbox").value;
var tempbox=document.getElementById("tempbox").value;
if (catbox!="Category:" && catbox){
var sourcebox=catbox;
sourcebox=sourcebox.replace(/Category\:/g ,'');
sourcebox=sourcebox.replace(/category\:/g ,'');
sourcebox='Category:'+sourcebox
};
if (tempbox!='Template:' && tempbox){
var sourcebox=tempbox;
sourcebox=sourcebox.replace(/Template\:/g ,'');
sourcebox=sourcebox.replace(/template\:/g ,'');
sourcebox='Template:'+sourcebox
};
var pnbox=document.getElementById("pnbox").value;
var itembox=document.getElementById("itembox").value;
var RequsterUser=mw.config.get('wgUserName');
var prefixbox=document.getElementById("prefixbox").value;
var ignobox1=document.getElementById("ignobox1").value;
if (document.getElementById("ignobox2").value){ignobox1+=','+document.getElementById("ignobox2").value};
if (document.getElementById("ignobox3").value){ignobox1+=','+document.getElementById("ignobox3").value};
var createbox=document.getElementById("createbox").value;
var recurbox=document.getElementById("recurbox").value;
if (!(langbox)){
alert(i18n( 'PropertyTool-warning-sitebox' ));
return
};
if (!(sourcebox)){
alert(i18n( 'PropertyTool-warning-sourcebox' ));
return
};
if (!(pnbox!='P'&&pnbox!='')){
alert(i18n( 'PropertyTool-warning-pnbox' ))
return
};
if (!(itembox!='Q'&&itembox!='')){
alert(i18n( 'PropertyTool-warning-itembox' ))
return
};
var requestTemplate='\n{{User:Legobot/properties.js/row|'+langbox+'|'+sourcebox+'|'+pnbox+'|'+itembox+'|'+RequsterUser
if ((prefixbox)){
requestTemplate=requestTemplate+'|ignoreprefix='+prefixbox
};
if ((ignobox1)){
requestTemplate=requestTemplate+'|ignore='+ignobox1
};
if ((createbox)){
requestTemplate=requestTemplate+'|create='+createbox
};
if ((recurbox)){
requestTemplate=requestTemplate+'|recursion='+recurbox
};
requestTemplate=requestTemplate+'}}';
//prompt(requestTemplate);
addRequest(
requestTemplate,
function() {
mw.notify( i18n( 'PropertyTool-success' ) );
},
'Add a property Array Request'
);
$( 'div#PropertyTool' ).dialog( 'close' );
}
function onError() {
mw.notify( i18n( 'PropertyTool-Error' ) );
}
/**
* Add new error request.
*/
function addRequest( entity, success, reason ) {
var title = 'User_talk:Legobot/properties.js/requests';
$.ajax( {
type: 'POST',
url: mw.util.wikiScript( 'api' ),
data: {
'format': 'json',
'action': 'edit',
'title': title,
'summary': reason,
'appendtext': entity ,
'token': mw.user.tokens.get( 'csrfToken' )
},
success: function( data ) {
if( data.error && data.error.info ) {
onError();
} else {
success();
}
},
error: function(jqXHR, textStatus, errorThrown) {
onError();
}
});
}
$( document ).ready( init );
} ( mediaWiki, jQuery ) );