میڈیاویکی:Tourwiki.js
یاددہانی: محفوظ کرنے کے بعد تازہ ترین تبدیلیوں کو دیکھنے کے لیے آپ کو اپنے براؤزر کا کیش صاف کرنا ہوگا۔
- فائرفاکس/ سفاری: جب Reload پر کلک کریں تو Shift دبا کر رکھیں، یا Ctrl-F5 یا Ctrl-R دبائیں (Mac پر R- )
- گوگل کروم: Ctrl-Shift-R دبائیں (Mac پر Shift-R-⌘)
- انٹرنیٹ ایکسپلورر: جب Refresh پر کلک کریں تو Ctrl یا Ctrl-F5 دبائیں
- اوپیرا: Tools → Preferences میں جائیں اور کیش صاف کریں
اس اسکرپٹ کی دستاویزی تفصیلات میڈیاویکی:Tourwiki پر درج کی جا سکتی ہیں۔ |
// <nowiki> // DO NOT REMOVE THIS LINE EVER
// Author: User:Ebraminio
(function () {
'use strict';
if (mw.config.get('wgAction') !== 'view' ||
(mw.config.get('wgNamespaceNumber') !== 0 &&
mw.config.get('wgNamespaceNumber') !== 6 &&
mw.config.get('wgNamespaceNumber') !== 10 &&
mw.config.get('wgNamespaceNumber') !== 14)) {
return;
}
/**
* resolves redirect and get title of fair use image article
*/
var fairUsedOn = 'عنوان مضمون';
function getFairUsedOn() {
var title = $('th:contains("Article")').next().find('a').first().prop('title');
if (title === undefined) { return false; }
return new mw.Api().get({ action: 'query', format: 'json', redirects: '', titles: title }).then(function (result) {
return new mw.Api({ ajax: { url: '//www.wikidata.org/w/api.php' } }).get({
action: 'wbgetentities',
format: 'json',
sites: 'enwiki',
titles: $.map(result.query.pages, function (x, y) {
return x.title;
})[0],
origin: window.location.protocol + '//' + window.location.hostname
}).then(function (data) {
try {
fairUsedOn = $.map(data.entities, function (x) { var fawiki = x.sitelinks.urwiki; return urwiki ? urwiki.title : undefined; })[0];
if (fairUsedOn === undefined) { return false; }
return fairUsedOn;
} catch(ignore) {
return false;
}
});
});
}
var GENERAL_BOT = 'ویکیپدیا:درخواست ایجاد مقاله (رباتیک)';
var CITIES_BOT = 'ویکیپیڈیا:ویکی منصوبہ تخلیق مضامین شہر/درخواست تخلیق';
var PEOPLE_BOT = 'ویکیپدیا:درخواست ایجاد مقاله (رباتیک)/انسان';
var OTHER_REQUESTS = 'ویکیپدیا:مقالههای درخواستی';
var CATEGORIES_BOT = 'ویکیپدیا:درخواست ایجاد رده (رباتیک)';
var FAIRUSE_IMAGES = 'منصفانہ استعمال کی تصاویر';
var TEMPLATE_TRANSLATOR = 'مترجم سانچہ';
var DISAMBIGUATION_BOT = 'ضد ابہام';
var requestingPages = {
'انواع حیات، فلم، موسیقی، نہر و ندی، عمارتیں اور ویڈیو کھیل': GENERAL_BOT,
'شہر اور آباد مقامات': CITIES_BOT,
'انسان و اشخاص': PEOPLE_BOT,
'ضد ابہام': DISAMBIGUATION_BOT,
'مطالب عمومی': OTHER_REQUESTS,
'زمرہ جات': CATEGORIES_BOT,
'منصفانہ تصویریں': FAIRUSE_IMAGES,
'سانچہ جات': TEMPLATE_TRANSLATOR
};
function suggestRequestPlace() {
if ($('.infobox.geography').length !== 0 && ($('#catlinks a[href^="/wiki/Category:Rivers"]').length === 0)) {
return CITIES_BOT;
} else if (($('.infobox.biota, .infobox.haudio, .description a[href="/wiki/Single_(music)"]').length !== 0) ||
($('#coordinates').length !== 0 && $('.infobox.vcard .fn').length !== 0) ||
($('#catlinks a[href^="/wiki/Category:Rivers"]').length !== 0) ||
($('#catlinks a[href^="/wiki/Category:Songs"]').length !== 0) ||
($('#catlinks a[href^="/wiki/Category:Films"]').length !== 0) ||
($('#catlinks a[href$="films"]').length !== 0) ||
($('#catlinks a[href*="video_games"], #catlinks a[href*="Video_game"]').length !== 0)) {
return GENERAL_BOT;
} else if ($('#catlinks a[href^="/wiki/Category:All_article_disambiguation_pages"]').length !== 0) {
return DISAMBIGUATION_BOT;
} else if (mw.config.get('wgNamespaceNumber') === 14) {
return CATEGORIES_BOT;
} else if (mw.config.get('wgNamespaceNumber') === 10) {
return TEMPLATE_TRANSLATOR;
} else if (mw.config.get('wgNamespaceNumber') === 6) {
return FAIRUSE_IMAGES;
} else if (($('.infobox.vcard .fn, #catlinks a[href^="people"]').length !== 0) &&
($('#catlinks a[href*="Ethnic_groups"]').length === 0)) {
return PEOPLE_BOT;
}
return OTHER_REQUESTS;
}
function pageExists(page) {
return $.ajax({
url: '//ur.wikipedia.org/w/api.php',
data: {
action: 'query',
titles: page,
format: 'json',
origin: location.protocol + '//' + location.hostname
}
}).then(function (data) { return data.query.pages['-1'] === undefined; });
}
var passedHtml = '<span style="color: green; font-size: 140%">✓</span>';
var failedHtml = '<span style="color: red; font-size: 140%">✗</span>';
function validityCheck() {
var origValue = $('#tofawiki-name').val(), page = origValue;
if (page === '') { $('#tofawiki-status').html(''); return; }
if (mw.config.get('wgNamespaceNumber') === 14) { page = 'زمرہ:' + page.replace(/^زمرہ:/, ''); }
if (mw.config.get('wgNamespaceNumber') === 10) { page = 'سانچہ:' + page.replace(/^سانچہ:/, ''); }
if (mw.config.get('wgNamespaceNumber') === 6) { page = 'فائل:' + page.replace(/^فائل:/, ''); }
pageExists(page).then(function (exists) {
if ($('#tofawiki-name').val() !== origValue) { // that request is no longer relevant
return;
}
if (!exists) {
$('#tofawiki-status').html(passedHtml + ' پیش نظر صفحہ بعنوان «' + page + '» ' +
'اردو ویکیپیڈیا میں موجود نہیں ہے، چناں چہ آپ اس عنوان سے صفحہ بنا سکتے ہیں!');
} else {
$('#tofawiki-status').html(failedHtml + ' عنوان «<a target="_blank" href="//ur.wikipedia.org/wiki/' +
encodeURI(page) + '">' + page + '</a>» ' +
'اردو ویکیپیڈیا میں موجود ہے، اس بات کا اطمینان کر لیں کہ صفحہ مکرر نہ ہو جائے!');
if ($('#tofawiki-select').val() === DISAMBIGUATION_BOT) {
$('#tofawiki-status').append('<br><br>', $('<a>', {
text: 'ضد ابہام صفحہ بنانے کے لیے عنوان پر کلک کریں۔',
href: '#'
}).click(function (e) {
e.preventDefault();
$('#tofawiki-name').val($('#tofawiki-name').val() + ' (ضد ابہام)');
validityCheck();
}));
}
}
});
}
$.when($.ready, mw.loader.using('jquery.ui')).then(function () {
// if already has a link to fawiki, give up
if ($('.interlanguage-link.interwiki-ur').length !== 0) { return; }
// if is commons image, give up
if ($('#ca-view-foreign').length !== 0) { return; }
$('#ca-tofawiki').remove();
if ($('#mw-imagepage-nofile, #noarticletext').length !== 0) {
return;
}
// if it is a free image, bring TransferToCommons instead
if (mw.config.get('wgNamespaceNumber') === 6 && $('#catlinks a[href="/wiki/Category:GFDL_files"], ' +
'#catlinks a[href^="/wiki/Category:Creative_Commons_Attribution"], ' +
'#catlinks a[href="/wiki/Category:Move_to_Commons_Priority_Candidates"],' +
'#catlinks a[href="/wiki/Category:Convert_to_SVG_and_copy_to_Wikimedia_Commons"], ' +
'#catlinks a[href^="/wiki/Category:Copy_to_Wikimedia_Commons"]').length !== 0 &&
$('#catlinks a[href^="/wiki/Category:Wikipedia_files_not_suitable_for_Commons"]').length === 0) {
mw.loader.load('//ur.wikipedia.org/w/index.php?title=MediaWiki:Gadget-TransferToCommons.js&action=raw&ctype=text/javascript');
return;
}
mw.util.addCSS(
"#tofawiki-form * { font-family: 'Segoe UI', Tahoma, 'Iranian Sans', 'DejaVu Sans', 'Noto Sans', 'Droid Arabic Kufi', sans-serif !important; } " +
"#tofawiki-form .ui-dialog-buttonset { float: left; } " +
"#tofawiki-form .ui-dialog-titlebar-close { right: initial; left: .75em; } " +
"#tofawiki-form .ui-dialog-title { float: right; }"
);
$(mw.util.addPortletLink($('#p-views').length !== 0 ? 'p-views' : 'p-cactions', '#', 'ویکی معاون', 'ca-tofawiki', null, null, '#ca-view')).click(function (e) {
e.preventDefault();
$('#tofawiki-form').remove();
$('<div>', {
dir: 'rtl',
style: "position: relative;"
}).append($('<div>', {
style: 'margin-top: 0.4em;',
text: 'تخلیق بذریعہ: '
}).append($('<a>', {
text: 'معاونت',
tabindex: '-1',
title: 'معاونت آلہ',
target: '_blank',
style: 'float: left; font-size: smaller;',
href: '//ur.wikipedia.org/wiki/' + encodeURI('معاونت:آلہ_مترجم_روابط')
}), $('<select>', {
id: 'tofawiki-select',
style: 'padding: 1px; vertical-align: baseline; font-family: inherit;'
}).append(
$.map(requestingPages, function (item, description) {
var disabled = false;
if (mw.config.get('wgNamespaceNumber') === 14 && item !== CATEGORIES_BOT ||
mw.config.get('wgNamespaceNumber') === 0 && item === CATEGORIES_BOT) {
disabled = true;
}
if (mw.config.get('wgNamespaceNumber') === 6 && item !== FAIRUSE_IMAGES ||
mw.config.get('wgNamespaceNumber') === 0 && item === FAIRUSE_IMAGES) {
disabled = true;
}
return $('<option>', { value: item, text: description, disabled: disabled });
})
)), $('<div>', {
style: 'padding-top: 1em',
text: 'عنوان: '
}).append($('<input>', {
dir: 'rtl',
id: 'tofawiki-name',
style: 'font-family: inherit; width: 50%'
}).on('input', validityCheck), $('<div>', {
id: 'tofawiki-status'
}))).dialog({
width: 500,
title: 'اردو ویکیپیڈیا میں منتقل کریں',
open: function () {
$('#tofawiki-select').val(suggestRequestPlace());
if (mw.config.get('wgNamespaceNumber') === 10) {
$('#tofawiki-name').val(mw.config.get('wgTitle'));
validityCheck();
}
if (mw.config.get('wgNamespaceNumber') === 6) {
$('#tofawiki-name').val(mw.config.get('wgTitle')).prop('dir', 'ltr').css('width', '80%');
validityCheck();
}
},
buttons: [{
text: mw.config.get('wgNamespaceNumber') === 6 ? 'اپلوڈ' : 'تخلیق',
title: 'اپلوڈ ہو جانے کے بعد تصویر اور اس کی تفصیلات کی نظر ثانی ضرور کریں',
class: 'ui-button-blue',
click: function () {
var faName = $('#tofawiki-name').val();
var requestingPage = $('#tofawiki-select').val();
var uri = new mw.Uri('//ur.wikipedia.org/w/index.php');
if (!faName || !requestingPage) {
$('#tofawiki-status').text('نام درج کریں!');
return;
}
if (requestingPage === FAIRUSE_IMAGES) {
uri.query = {
title: 'خاص:اپلوڈ',
wpDestFile: faName,
enName: mw.config.get('wgRelevantPageName'),
withJS: 'MediaWiki:TourwikiUpload.js',
wpUploadDescription: '----'
};
} else {
if (requestingPage === CATEGORIES_BOT) { faName = "زمرہ:" + faName.replace(/^زمرہ:/, ''); }
if (requestingPage === TEMPLATE_TRANSLATOR) { faName = "سانچہ:" + faName.replace(/^سانچہ:/, ''); }
uri.query = {
title: faName,
enName: mw.config.get('wgRelevantPageName'),
enOldid: mw.config.get('wgRevisionId'),
redlink: 1,
action: 'edit',
withJS: 'MediaWiki:Tourwikihelper.js',
requestingPage: requestingPage,
editintro: 'سانچہ:در اردو ویکی/اعلان ترمیم'
};
}
window.open(uri.toString());
$(this).dialog('close');
}
}],
close: function () {
$(this).remove();
}
}).parent().prop('id', 'tofawiki-form');
});
});
}());