Calculate hash first
This commit is contained in:
parent
367f2b22b0
commit
a7f6d326b6
|
@ -17,7 +17,7 @@ import timeout as tmo
|
|||
# Simple config
|
||||
GET_ONLY_FOR_VIP = True
|
||||
POST_ONLY_FOR_VIP = True
|
||||
VERSION = "20240501.2"
|
||||
VERSION = "20240501.3"
|
||||
|
||||
CHARSET = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
||||
|
||||
|
|
24
user.js
24
user.js
|
@ -2,7 +2,7 @@
|
|||
// @name Sorryops
|
||||
// @name:ru Сориупс
|
||||
// @namespace https://git.disroot.org/electromagneticcyclone/sorryops
|
||||
// @version 20240501.2
|
||||
// @version 20240501.3
|
||||
// @description Collect and reuse ORIOKS test answers
|
||||
// @description:ru Скрипт для сбора и переиспользования ответов на тесты ОРИОКС
|
||||
// @icon https://orioks.miet.ru/favicon.ico
|
||||
|
@ -25,7 +25,7 @@
|
|||
// ==/UserScript==
|
||||
|
||||
/* Version */
|
||||
const VERSION = "20240501.2";
|
||||
const VERSION = "20240501.3";
|
||||
/* End Version */
|
||||
|
||||
/* Charset */
|
||||
|
@ -288,7 +288,7 @@ function fetch_from_server(path, func) {
|
|||
if (fetched_data == undefined) {
|
||||
fetched_data = {};
|
||||
}
|
||||
if (server != '' && Object.keys(fetched_data).length == 0) {
|
||||
if ((server != '') && (Object.keys(fetched_data).length == 0)) {
|
||||
GM_xmlhttpRequest({
|
||||
method: 'GET',
|
||||
url: 'https://' + server + '/' + path + '?uid=' + config.get('user_id'),
|
||||
|
@ -514,7 +514,7 @@ function update_variant() {
|
|||
}
|
||||
}
|
||||
new_answer_f = true;
|
||||
if (version != VERSION && version !== undefined) {
|
||||
if ((version != VERSION) && (version !== undefined)) {
|
||||
status = "<span style='color: red;'>Скрипт устарел</span>";
|
||||
GM_setValue('fetched_data', {});
|
||||
} else if (version === undefined) {
|
||||
|
@ -570,7 +570,7 @@ function auto_answer() {
|
|||
case 'radio': {
|
||||
for (answer in answers) {
|
||||
if (answers[answer].sorry_value == correct) {
|
||||
if (!answers[answer].sorry_colored && version !== undefined) {
|
||||
if (!answers[answer].sorry_colored && (version !== undefined)) {
|
||||
correct_element = answers[answer].parentNode;
|
||||
sorry_val = answers[answer].sorry_value;
|
||||
correct_element.innerHTML = "<span style='color: green;'>" + correct_element.innerHTML + "</span>";
|
||||
|
@ -585,7 +585,7 @@ function auto_answer() {
|
|||
case 'checkbox': {
|
||||
for (answer in answers) {
|
||||
if (correct.includes(answers[answer].sorry_value)) {
|
||||
if (!answers[answer].sorry_colored && version !== undefined) {
|
||||
if (!answers[answer].sorry_colored && (version !== undefined)) {
|
||||
correct_element = answers[answer].parentNode;
|
||||
sorry_val = answers[answer].sorry_value;
|
||||
correct_element.innerHTML = "<span style='color: green;'>" + correct_element.innerHTML + "</span>";
|
||||
|
@ -612,7 +612,7 @@ function auto_answer() {
|
|||
if (incorrect.includes(answers[answer].sorry_value) == false) {
|
||||
possible_answers.push(answer);
|
||||
} else {
|
||||
if (!answers[answer].sorry_colored && version !== undefined) {
|
||||
if (!answers[answer].sorry_colored && (version !== undefined)) {
|
||||
incorrect_element = answers[answer].parentNode;
|
||||
sorry_val = answers[answer].sorry_value;
|
||||
incorrect_element.innerHTML = "<span style='color: red;'>" + incorrect_element.innerHTML + "</span>";
|
||||
|
@ -643,7 +643,7 @@ function auto_answer() {
|
|||
|
||||
function parse_server_data(server_data) {
|
||||
version = server_data.version;
|
||||
if (version !== VERSION && version !== undefined) {
|
||||
if ((version !== VERSION) && (version !== undefined)) {
|
||||
console.warn("Sorryops is outdated");
|
||||
server_data = {};
|
||||
GM_openInTab("https://greasyfork.org/en/scripts/481036-sorryops");
|
||||
|
@ -705,7 +705,7 @@ function auto_restart() {
|
|||
|
||||
/* Handlers */
|
||||
|
||||
function test_form_handler() {
|
||||
function test_form_handler(server_response) {
|
||||
var i, key, answer, sorry_val;
|
||||
var complicated_hash_f = false;
|
||||
var boxes = [];
|
||||
|
@ -757,6 +757,7 @@ function test_form_handler() {
|
|||
form.appendChild(sorted_objects[key].parentNode);
|
||||
}
|
||||
calculate_variant_hash();
|
||||
parse_server_data(server_response);
|
||||
for (key in sorted_objects) {
|
||||
sorted_objects[key].sorry_value = charset[i++];
|
||||
var span = document.createElement('span');
|
||||
|
@ -865,9 +866,8 @@ function main() {
|
|||
if (variant.includes("Вопрос:")) {
|
||||
fetch_from_server(testID, (server_response) => {
|
||||
DB_cleaner();
|
||||
parse_server_data(server_response);
|
||||
test_form_handler();
|
||||
if (config.get('wait_server_response') && version === undefined) {
|
||||
test_form_handler(server_response);
|
||||
if (config.get('wait_server_response') && (version === undefined)) {
|
||||
window.setInterval(() => {fetch_from_server(testID, (server_response) => {
|
||||
if (version === undefined) {
|
||||
parse_server_data(server_response);
|
||||
|
|
Loading…
Reference in New Issue