Userscripts/edupage.user.js

210 lines
7.3 KiB
JavaScript
Raw Normal View History

2023-10-24 17:33:09 +02:00
// ==UserScript==
// @name Edupage H4x
// @namespace https://brn.systems
2023-10-24 18:41:00 +02:00
// @version 0.2.4
2023-10-24 17:33:09 +02:00
// @copyright Can be found at https://git.brn.systems/BRNSystems/Userscripts
// @description Gives you a bit more options on EduPage, some are broken
// @author BRNSystems
// @website https://brn.systems
2023-10-24 17:40:04 +02:00
// @downloadURL https://userscripts.brn.systems/edupage.user.js
// @updateURL https://userscripts.brn.systems/edupage.user.js
2023-10-24 17:33:09 +02:00
// @match https://*.edupage.org/*
// @icon64 https://www.google.com/s2/favicons?sz=64&domain=edupage.org
// @icon https://www.google.com/s2/favicons?sz=32&domain=edupage.org
2023-10-24 17:46:32 +02:00
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
2023-10-24 17:33:09 +02:00
// @grant none
// ==/UserScript==
2023-10-24 17:44:57 +02:00
2023-10-24 17:33:09 +02:00
(function() {
'use strict';
2023-10-24 18:41:00 +02:00
if(GM_config.get("modify_startbutton")){
//removes intro button
waitForKeyElements ("a.learnMoreBtn", deleteNotX);
}
function deleteNotX (jNode) {
jNode.remove ();
}
GM_config.init({
id: 'edupage_h4x_cnf',
title: GM_info.script.name + ' Settings',
fields: {
modify_startbutton: {
label: 'Hides the intro button',
type: 'checkbox',
default: false,
title: 'Hides the intro button'
},
modify_adult_student: {
label: 'Fake adult student',
type: 'checkbox',
default: false,
title: 'Fakes you as an adult student(you might be able to sign your own grades)'
},
modify_admin_stuff: {
label: 'Fake admin',
type: 'checkbox',
default: false,
title: 'Fakes isUcitelOrAdmin, isAdmin, getLoggedUserType, hasUserRight, isWebpageAdmin. Some functionality still does not work(Server protection)'
},
modify_restricted: {
label: 'Fake not restricted',
type: 'checkbox',
default: false,
title: 'Fakes EduPage as not restricted(I do not know what this does)'
},
modify_logged_in: {
label: 'Fake logged in',
type: 'checkbox',
default: false,
title: 'Fakes EduPage portal logged in(I do not know what this does)'
},
modify_strings: {
label: 'Patch strings',
type: 'checkbox',
default: false,
title: 'Patch strings to more cool ones'
},
modify_encoding: {
label: 'Disable encoded links',
type: 'checkbox',
default: false,
title: 'Disables ?eqa=gibberish'
},
}
})
GM_registerMenuCommand('Settings', () => {
GM_config.open()
})
2023-10-24 17:33:09 +02:00
let strings = {
2023-10-24 17:39:27 +02:00
3276: "budeme Ťa otravovať za",
3275: "Teraz ťa nebudeme chvíľu otravovať, ale",
3272: "Už kašli na školu, nemá to zmysel a",
3274: "Zabudni na úlohy,",
2023-10-24 17:33:09 +02:00
};
// Define your modified function
function modifiedGetLoggedUserType() {
// Your custom code here
return 'Admin'; // Override the return value as needed
}
function justtrue(){
return true;
}
function justfalse(){
return false;
}
function modifiedbarEncLink(url) {
return url;
}
// Find and replace the original function
if (typeof EdubarUtils !== 'undefined') {
2023-10-24 18:41:00 +02:00
if(GM_config.get("modify_admin_stuff")){
if(typeof EdubarUtils.getLoggedUserType === 'function'){
EdubarUtils.getLoggedUserType = modifiedGetLoggedUserType;
console.log('EdubarUtils.getLoggedUserType overridden successfully.');
}
if (typeof EdubarUtils.isWebpageAdmin === 'function') {
EdubarUtils.isWebpageAdmin = justtrue;
console.log('EdubarUtils.isWebpageAdmin overridden successfully.');
} else {
console.error('EdubarUtils.isWebpageAdmin not found or not a function.');
}
if (typeof EdubarUtils.hasUserRight === 'function') {
EdubarUtils.hasUserRight = justtrue;
console.log('EdubarUtils.hasUserRight overridden successfully.');
} else {
console.error('EdubarUtils.hasUserRight not found or not a function.');
}
if (typeof EdubarUtils.isAdmin === 'function') {
EdubarUtils.isAdmin = justtrue;
console.log('EdubarUtils.isAdmin overridden successfully.');
} else {
console.error('EdubarUtils.isAdmin not found or not a function.');
}
if (typeof EdubarUtils.isUcitelOrAdmin === 'function') {
EdubarUtils.isUcitelOrAdmin = justtrue;
console.log('EdubarUtils.isUcitelOrAdmin overridden successfully.');
} else {
console.error('EdubarUtils.isUcitelOrAdmin not found or not a function.');
}
2023-10-24 17:33:09 +02:00
}
2023-10-24 18:41:00 +02:00
if(GM_config.get("modify_adult_student")){
if (typeof EdubarUtils.isAdultStudent === 'function') {
EdubarUtils.isAdultStudent = justtrue;
console.log('EdubarUtils.isAdultStudent overridden successfully.');
} else {
console.error('EdubarUtils.isAdultStudent not found or not a function.');
}
if (typeof EdubarUtils.isParentOrAdultStudent === 'function') {
EdubarUtils.isParentOrAdultStudent = justtrue;
console.log('EdubarUtils.isParentOrAdultStudent overridden successfully.');
} else {
console.error('EdubarUtils.isParentOrAdultStudent not found or not a function.');
}
2023-10-24 17:33:09 +02:00
}
2023-10-24 18:41:00 +02:00
if(GM_config.get("modify_restricted")){
if (typeof EdubarUtils.isRestrictedEdupage === 'function') {
EdubarUtils.isRestrictedEdupage = justfalse;
console.log('EdubarUtils.isRestrictedEdupage overridden successfully.');
} else {
console.error('EdubarUtils.isRestrictedEdupage not found or not a function.');
}
2023-10-24 17:33:09 +02:00
}
2023-10-24 18:41:00 +02:00
if(GM_config.get("modify_logged_in")){
if (typeof EdubarUtils.isLoggedToPortal === 'function') {
EdubarUtils.isLoggedToPortal = justtrue;
console.log('EdubarUtils.isLoggedToPortal overridden successfully.');
} else {
console.error('EdubarUtils.isLoggedToPortal not found or not a function.');
}
2023-10-24 17:33:09 +02:00
}
} else {
2023-10-24 18:41:00 +02:00
console.error('EdubarUtils not found or not a function.');
2023-10-24 17:33:09 +02:00
}
2023-10-24 18:41:00 +02:00
if(GM_config.get("modify_encoding")){
if (typeof window.barEncLink === 'function') {
window.barEncLink = modifiedbarEncLink;
console.log("barEncLink overriden successfully.");
}
else {
console.error('barEncLink not found or not a function.');
}
2023-10-24 17:33:09 +02:00
}
2023-10-24 18:41:00 +02:00
if(GM_config.get("modify_strings")){
if (typeof window.Langs === 'object') {
for (var key in strings) {
var value = strings[key];
window.Langs[key] = value;
}
console.log("Strings overriden successfully.");
}
else {
console.error('window.Langs not found or not a function.');
2023-10-24 17:33:09 +02:00
}
}
})();