/** * [FOXTOOLS — PATROLLERS HELPER SCRIPT] * * •==============================================• * > Pencipta: Janorovic Volkov * > Pengembang: Janorovic Volkov * > Tipe: JavaScript * * Lihat [[WP:FT]] untuk informasi selengkapnya * tentang skrip ini * •==============================================• */ // <nowiki> (()=>{ constautoconfirmed=mw.config.get("wgUserGroups").includes("autoconfirmed"); constconfirmed=mw.config.get('wgUserGroups').includes("confirmed"); constsysop=mw.config.get('wgUserGroups').includes("sysop"); if(!autoconfirmed&&!sysop&&!confirmed)return; constFT=(window.FoxTools={ version:"4.1", modules:{}, userConfig:{}, ads:"[[WP:FT|🦊 FoxTools]]", initModule(name){ if(!FT.modules[name]){ importScript(`MediaWiki:Gadget-FoxTools-${name}.js`); } }, register(name,moduleObj){ FT.modules[name]=moduleObj; console.log(`[${FT.ads}] Modul ${name} terdaftar.`); if(moduleObj.init)moduleObj.init(); }, getPref(key,fallback){ return(FT.userConfig[key]!==undefined?FT.userConfig[key]:fallback); } }); constusername=mw.config.get("wgUserName"); constprefPage=`User:${username}/Preferensi-FoxTools.json`; constprefURL=`/wiki/${prefPage}?action=raw&ctype=application/json`; asyncfunctionloadPrefs(){ try{ constres=awaitfetch(prefURL); if(!res.ok)thrownewError("Not found"); FT.userConfig=awaitres.json(); }catch{ console.warn(`[${FT.ads}] Preferensi tidak ditemukan, membuat baru...`); FT.userConfig={ ads:"[[WP:FT|🦊 FoxTools]]", modules:["Report","Protect","KPC","UP","Block","Rollback"] }; awaitcreateDefaultPrefs(); } FT.ads=FT.userConfig.ads||"[[WP:FT|🦊 FoxTools]]"; } asyncfunctioncreateDefaultPrefs(){ constapi=newmw.Api(); constcontent=JSON.stringify(FT.userConfig,null,2); try{ awaitapi.postWithToken("csrf",{ action:"edit", title:prefPage, text:content, summary:`Membuat preferensi default (${FT.ads})`, tags:"FoxTools", minor:true, createonly:true }); console.log(`[${FT.ads}] Preferensi baru berhasil dibuat di ${prefPage}`); }catch(err){ console.error(`[${FT.ads}] Gagal membuat halaman preferensi:`,err); } } asyncfunctioninit(){ awaitloadPrefs(); for(constnameofFT.userConfig.modules){ FT.initModule(name); } importScript('MediaWiki:Gadget-FoxTools-Preferences.js'); console.log(`[${FT.ads}] Semua modul dimuat.`); } $(init); })(); // </nowiki>
MediaWiki:Gadget-FoxTools-Central.js
Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA)
Lihat versi asli di Wikipedia