مستخدم:HitomiAkane/Wantedcategories.js
ملحوظه: بعد التسييف، ممكن تحتاج تفضى كاش البراوزر بتاعك عشان تشوف التغييرات اللى عملتها، بالطريقه دى:
- فايرفوكس وسفارى: دوس ⇧ Shift مع Reload او Ctrl-F5 او Ctrl-R (اللى هو: Command-R على ماكنتوش)
- جوجل كروم: دوس Ctrl-Shift-R (اللى هو: Command-Shift-R على ماكنتوش)
- انترنت اكسبلورر: دوس Ctrl مع Refresh فى نفس الوقت، او Ctrl-F5
- كونكرر: دوس Reload او F5
- اوبرا: فضى الكاش من Tools → Preferences
let WantedcategoriesNode = mw.util.addPortletLink(
'p-tb','#','تصنيفات مطلوبه'
);
$(WantedcategoriesNode).on('click', function (e){
ShowLoading();
AddWantedcategories();
e.preventDefault();
});
function AddWantedcategories(){
let foundPage= false;
let currentPageName = mw.config.get('wgPageName');
let nextqpPage = 0;
for (let countLooper = 0; countLooper < 10; countLooper++) {
ShowLoading();
(new mw.Api()).get({
action: 'query',
list: 'querypage',
qppage:'Wantedcategories',
qplimit:500,
qpoffset:nextqpPage,
format: 'json'
})
.done( function (allWantedcategories){
let allCategoriesLogs = allWantedcategories.query.querypage.results;
for (let categoriesLooper = 0; categoriesLooper < allCategoriesLogs.length; categoriesLooper++) {
getAPI = (new mw.Api()).get({
action: 'query',
prop: 'info',
titles:allCategoriesLogs[categoriesLooper].title,
format: 'json'
})
.done( function (thisCategoryData){
if (typeof (thisCategoryData.query.pages["-1"]) === 'object'){
postAPI = new mw.Api();
postAPI.postWithToken('csrf',{
action: 'edit',
section: 0,
title: allCategoriesLogs[categoriesLooper].title,
notminor: true,
summary: 'تصنيف مطلوب',
watchlist: 'nochange',
text: '{{فهرس تصنيف}}',
}).done(function (data,jqxhr) {
if (data && data.edit && data.edit.result == 'Success') {
postAPI2 = new mw.Api();
postAPI2.postWithToken('csrf',{
action: 'edit',
section: 0,
title: "نقاش التصنيف:" + allCategoriesLogs[categoriesLooper].title.replace("تصنيف:",""),
notminor: true,
summary: 'نقاش تصنيف مطلوب',
watchlist: 'nochange',
text: '{{ترويسة مناقشه}}',
}).done(function (data,jqxhr) {
if (data && data.edit && data.edit.result == 'Success') {
//
}else{
//
}
});
}else{
//
}
});
}
})
.fail();
}
$(".loading").hide(1000);
$(".loading").remove();
})
.fail(function (){
$(".loading").hide(1000);
$(".loading").remove();
});
nextqpPage=nextqpPage+500;
}
}
function ShowLoading(){
$("head").append(`<style>
.loading {
position: fixed;
top: 0; right: 0;
bottom: 0; left: 0;
background:rgba(143, 143, 143, .5);
transition: visibility 2s, opacity 2s linear;
}
.loader {
left: 50%;
margin-left: -4em;
font-size: 10px;
border: .8em solid rgba(255, 255, 255, .8);
border-left: .8em solid rgba(88, 179, 224, 1);
animation: spin 1.1s infinite linear;
}
.loader, .loader:after {
border-radius: 50%;
width: 6em;
height: 6em;
display: block;
position: absolute;
top: 50%;
margin-top: -4.05em;
}
@keyframes spin {
0% {
transform: rotate(360deg);
}
100% {
transform: rotate(0deg);
}
}
</style>`);
$("body").append (`<div class="loading" style = "display:none;"><div class="loader"></div></div>`);
$(".loading").show(1000);
}