diff --git a/slader-limit-bypass/js/quizlet_bypass.js b/slader-limit-bypass/js/quizlet_bypass.js index 47ee8ad..92986c4 100644 --- a/slader-limit-bypass/js/quizlet_bypass.js +++ b/slader-limit-bypass/js/quizlet_bypass.js @@ -11,6 +11,7 @@ function checkIfNewAccountNeeded() // Almost out of solutions if (pageContains("This is your last free explanation")) { + // Don't reload, not actually out of solutions yet. signUpNewAccount(false); } // Not logged in @@ -23,6 +24,18 @@ function checkIfNewAccountNeeded() { signUpNewAccount(true); } + + + // Catchall for logged out entirely. + else if (!isLoggedIn()) + { + signUpNewAccount(true); + } + // Catchall for out of solutions + else if (pageContains('source=explanations_meter_exceeded')) + { + signUpNewAccount(true); + } } function signUpNewAccount(doesReload) @@ -80,4 +93,23 @@ function pageContains(str) { return false; } +} + +function isLoggedIn() +{ + // Looks for `{"LOGGED_IN":false,` in the header. + var li = document.head.innerHTML.match(/(?<="LOGGED_IN":)\w[^,]*/)[0]; + + if (li === "false") + { + return false; + } + else if (li === "true") + { + return true; + } + else + { + return true; // Return true on possible error to prevent explosion of accounts. Effectively assumes logged in on error. + } } \ No newline at end of file diff --git a/slader-limit-bypass/manifest.json b/slader-limit-bypass/manifest.json index 430c94f..80deb29 100644 --- a/slader-limit-bypass/manifest.json +++ b/slader-limit-bypass/manifest.json @@ -1,6 +1,6 @@ { "name": "slader bypass", - "version": "0.9", + "version": "0.10", "author":"Alan Li & Ethan Harvey", "description": "Slader/Quizlet 5 solutions limit bypass", "permissions": [ diff --git a/slader_bypass-0.10-fx.xpi b/slader_bypass-0.10-fx.xpi new file mode 100644 index 0000000..e027d48 Binary files /dev/null and b/slader_bypass-0.10-fx.xpi differ diff --git a/slader_bypass-0.9-fx.xpi b/slader_bypass-0.9-fx.xpi deleted file mode 100644 index 8e82f28..0000000 Binary files a/slader_bypass-0.9-fx.xpi and /dev/null differ