Calculate hash first

This commit is contained in:
Egor Guslyancev 2024-05-01 06:55:29 -03:00
parent 367f2b22b0
commit a7f6d326b6
GPG Key ID: D7E709AA465A55F9
2 changed files with 13 additions and 13 deletions

View File

@ -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
View File

@ -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);