مدیاویکی:Common.js: تفاوت میان نسخهها
از ویکی لاله زار آنلاین
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
| خط ۷۴: | خط ۷۴: | ||
} | } | ||
//حفاظت در برابر کپی غیر مجاز | //حفاظت در برابر کپی غیر مجاز | ||
document. | mw.loader.using(['mediawiki.user']).then(function () { | ||
// بررسی اینکه آیا کاربر جزو گروه مدیران (sysop) نیست | |||
if (!mw.config.get('wgUserGroups').includes('sysop')) { | |||
// 1. غیرفعال کردن انتخاب متن با تزریق CSS | |||
var style = document.createElement('style'); | |||
style.innerHTML = 'body { -webkit-user-select: none; -ms-user-select: none; user-select: none; }'; | |||
document.head.appendChild(style); | |||
document.addEventListener('keydown', function(e) { | // 2. غیرفعال کردن کلیک راست | ||
document.addEventListener('contextmenu', function(e) { | |||
e.preventDefault(); | |||
}); | |||
// 3. مسدود کردن کلیدهای کپی، سورسکد و Inspect Element | |||
document.addEventListener('keydown', function(e) { | |||
// مسدود کردن Ctrl+C, Ctrl+S, Ctrl+U (کپی، ذخیره، سورسکد) | |||
if (e.ctrlKey && !e.shiftKey && (e.key === 'c' || e.key === 'C' || e.key === 'u' || e.key === 'U' || e.key === 's' || e.key === 'S')) { | |||
e.preventDefault(); | |||
} | |||
// مسدود کردن F12 | |||
if (e.key === 'F12') { | |||
e.preventDefault(); | |||
} | |||
// مسدود کردن Ctrl+Shift+I , Ctrl+Shift+C , Ctrl+Shift+J (مربوط به Inspect) | |||
if (e.ctrlKey && e.shiftKey && (e.key === 'i' || e.key === 'I' || e.key === 'c' || e.key === 'C' || e.key === 'j' || e.key === 'J')) { | |||
e.preventDefault(); | |||
} | |||
}); | |||
} | } | ||
}); | }); | ||
نسخهٔ ۲۸ آوریل ۲۰۲۶، ساعت ۰۱:۱۰
mw.loader.using('mediawiki.user', function () {
var isSysop = mw.config.get('wgUserGroups').includes('sysop');
// آیتمهای منوی «بیشتر»
var moreMenuItems = [
'#t-whatlinkshere',
'#t-recentchangeslinked',
'#t-print',
'#t-permalink',
'#t-info',
'#t-smph'
];
if (!isSysop) {
moreMenuItems.forEach(function(selector) {
$(selector).hide();
$('#t-pagelog').hide();
});
}
mw.loader.using(['mediawiki.util'], function () {
// شناسه منوی "بیشتر"
var moreMenuID = 'p-tb';
// نسخه Vector-2022
if ($('#vector-page-tools').length) {
moreMenuID = 'vector-page-tools';
}
// -------- لینک ۱: لالهزار آنلاین --------
var link1 = mw.util.addPortletLink(
moreMenuID,
'https://lalehzaronline.com',
'لالهزار آنلاین',
't-lalehzar-online'
);
if (link1) {
$(link1).find('a').attr('target', '_blank');
}
// -------- لینک ۲: احسان صنعت پاسارگاد --------
mw.loader.using('mediawiki.util', function () {
mw.util.addPortletLink(
'p-tb', // منوی ابزارها (Toolbox)
mw.util.getUrl('Category:احسان_صنعت_پاسارگاد ESP'), // مقصد لینک
'احسان صنعت پاسارگاد' // متن لینک
);
});
});
});
//مخفی کردن مرکز دانلود
var namespace = mw.config.get('wgNamespaceNumber');
var pageName = mw.config.get('wgPageName');
var userGroups = mw.config.get('wgUserGroups') || [];
var isSysop = userGroups.indexOf('sysop') !== -1;
if (isSysop) {
document.body.classList.add('group-sysop');
}
// تغییر در خط زیر اعمال شده است
if (namespace === 14 && !isSysop && pageName.indexOf('دانلود') !== -1) {
document.documentElement.style.display = 'none';
window.location.href = '/wiki/index.php';
}
//حفاظت در برابر کپی غیر مجاز
mw.loader.using(['mediawiki.user']).then(function () {
// بررسی اینکه آیا کاربر جزو گروه مدیران (sysop) نیست
if (!mw.config.get('wgUserGroups').includes('sysop')) {
// 1. غیرفعال کردن انتخاب متن با تزریق CSS
var style = document.createElement('style');
style.innerHTML = 'body { -webkit-user-select: none; -ms-user-select: none; user-select: none; }';
document.head.appendChild(style);
// 2. غیرفعال کردن کلیک راست
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
});
// 3. مسدود کردن کلیدهای کپی، سورسکد و Inspect Element
document.addEventListener('keydown', function(e) {
// مسدود کردن Ctrl+C, Ctrl+S, Ctrl+U (کپی، ذخیره، سورسکد)
if (e.ctrlKey && !e.shiftKey && (e.key === 'c' || e.key === 'C' || e.key === 'u' || e.key === 'U' || e.key === 's' || e.key === 'S')) {
e.preventDefault();
}
// مسدود کردن F12
if (e.key === 'F12') {
e.preventDefault();
}
// مسدود کردن Ctrl+Shift+I , Ctrl+Shift+C , Ctrl+Shift+J (مربوط به Inspect)
if (e.ctrlKey && e.shiftKey && (e.key === 'i' || e.key === 'I' || e.key === 'c' || e.key === 'C' || e.key === 'j' || e.key === 'J')) {
e.preventDefault();
}
});
}
});
