diff --git a/PRIVACY.md b/PRIVACY.md new file mode 100644 index 00000000..fe73c0b9 --- /dev/null +++ b/PRIVACY.md @@ -0,0 +1,35 @@ +# Privacy Policy - Schoology Plus + +## Introduction + +It is Schoology Plus's policy to respect your privacy regarding any information we may collect while operating our browser extension. This Privacy Policy applies to the Schoology Plus browser extension for Chrome, Firefox, and Microsoft Edge (hereinafter, "us", "we", "the Extension", or "Schoology Plus"). We respect your privacy and are committed to protecting personally identifiable information accessible to us through the Extension. We have adopted this privacy policy ("Privacy Policy") to explain what information may be collected by our Extension, how we use this information, and under what circumstances we may disclose the information to third parties. This Privacy Policy applies only to information we collect through the Extension and does not apply to our collection of information from other sources. + +## Non Personally Identifying Information + +Like most website operators, Schoology Plus collects non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each user request. Schoology Plus's purpose in collecting non-personally identifying information is to better understand how Schoology Plus's users use the Extension. From time to time, Schoology Plus may release non-personally-identifying information in the aggregate, e.g., by publishing a report on trends in the usage of the Extension. + +Schoology Plus uses Google Analytics to collect information for these purposes. If you would like to opt-out of tracking, you can install the [Google Analytics Opt-out Add-on](https://chrome.google.com/webstore/detail/google-analytics-opt-out/fllaojicojecljbmefodhfapmkghcbnh?hl=en) or another tracking-prevention extension. + +## Personally Identifying Information + +By using Schoology Plus, you grant us access to view and modify the contents of the Schoology website in your web browser. However, we DO NOT harvest or collect any information that can personally identify you longer than absolutely necessary to perform calculations or page enhancements. This information (including, but not limited to: school name, grades, and assignment details) is only modified locally and never leaves your computer. + +## Aggregated Statistics + +Schoology Plus may collect statistics about the behavior of users. Schoology Plus may display this information publicly or provide it to others. However, Schoology Plus does not disclose your personally-identifying information. + +## Cookies + +To enrich and perfect your online experience, Schoology Plus uses "Cookies", similar technologies and services provided by others to display personalized content and store your preferences on your computer. A cookie is a string of information that a website stores on a user's computer, and that the user's browser provides to the website each time the user returns. Schoology Plus uses cookies to help us identify and track users' extension preferences. Schoology Plus users who do not wish to have cookies placed on their computers should set their browsers to refuse cookies before using the Extension, with the drawback that certain features of Schoology Plus may not function properly without the aid of cookies. By continuing to use the Extension without changing your cookie settings, you hereby acknowledge and agree to Schoology Plus's use of cookies. + +## Privacy Policy Changes + +Although most changes are likely to be minor, Schoology Plus may change its Privacy Policy from time to time, and in Schoology Plus's sole discretion. Schoology Plus encourages users to frequently check this page for any changes to its Privacy Policy. Your continued use of the Extension after any change in this Privacy Policy will constitute your acceptance of such change. Any major changes will be prominently announced. + +## Disclaimer + +Schoology Plus is not affiliated with Schoology Inc. or the Los Angeles Unified School District. Schoology, the SCHOOLOGY® wordmark, and the S logo are registered and unregistered trademarks of Schoology, Inc. in the United States. All product names, logos, and brands are property of their respective owners. + +## Contact + +The developers of Schoology Plus can be contacted by email at [schoologyplus@aopell.me](mailto:schoologyplus@aopell.me) or through Discord at [this link](https://aopell.me/SchoologyPlus/discord). \ No newline at end of file diff --git a/README.md b/README.md index 229d2cac..7980af2b 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,12 @@ [![Chrome Download](https://img.shields.io/chrome-web-store/v/fbfppoaockpecjpbdmldojdehdpepfef.svg?label=chrome%20download)](https://chrome.google.com/webstore/detail/schoology-plus/fbfppoaockpecjpbdmldojdehdpepfef) [![Chrome Web Store Users](https://img.shields.io/chrome-web-store/users/fbfppoaockpecjpbdmldojdehdpepfef.svg)](https://chrome.google.com/webstore/detail/schoology-plus/fbfppoaockpecjpbdmldojdehdpepfef) [![Chrome Web Store Rating](https://img.shields.io/chrome-web-store/rating/fbfppoaockpecjpbdmldojdehdpepfef.svg)](https://chrome.google.com/webstore/detail/schoology-plus/fbfppoaockpecjpbdmldojdehdpepfef) -[![Firefox Download](https://img.shields.io/badge/dynamic/json.svg?label=firefox%20download&url=https%3A%2F%2Faopell.me%2FSchoologyPlus%2Fupdate.json&query=%24.addons%5B%27schoology.plus%40aopell.me%27%5D.updates%5B0%5D.version&colorB=orange)](http://aopell.me/SchoologyPlus/firefox-download.html) +[![Mozilla Add-on](https://img.shields.io/amo/v/schoology-plus?color=orange&label=firefox%20download)](https://addons.mozilla.org/en-US/firefox/addon/schoology-plus/) [![Discord](https://img.shields.io/discord/526898202495025172.svg?color=7289da&label=discord)](https://aopell.github.io/SchoologyPlus/discord.html) [![Changelog](https://img.shields.io/github/release/aopell/SchoologyPlus.svg?label=changelog&colorB=lightgrey)](https://aopell.me/SchoologyPlus/changelog) [![Download for Chrome](https://developer.chrome.com/webstore/images/ChromeWebStore_Badge_v2_206x58.png)](https://chrome.google.com/webstore/detail/schoology-plus/fbfppoaockpecjpbdmldojdehdpepfef) -[](http://aopell.me/SchoologyPlus/firefox-download.html) +[](https://addons.mozilla.org/en-US/firefox/addon/schoology-plus/) #### Contents - [Features](#features) diff --git a/css/all.css b/css/all.css index cea82376..aa3e68bd 100644 --- a/css/all.css +++ b/css/all.css @@ -254,7 +254,7 @@ video.easter-egg { } .restore-defaults { - color: red; + color: red !important; margin-top: 10px; font-weight: normal; } @@ -273,7 +273,7 @@ input[type=text].setting-item { } .close-button { - color: red; + color: red !important; font-weight: normal; font-size: 20px; } @@ -507,7 +507,8 @@ body .grading-groups-list .grading-group, body #grading-group- span.ajax-post-comment, .period-row .title, -.category-row .title { +.category-row .title, +._2mWUT a { color: var(--hover-color) !important; } @@ -518,6 +519,7 @@ body a.link-btn { footer li a, header li a, .splus-modal-footer-text a, -body a.link-btn.active { +body a.link-btn.active, +a._3_bfp { color: white !important; } \ No newline at end of file diff --git a/js/all.js b/js/all.js index 7f447e61..26b7676e 100644 --- a/js/all.js +++ b/js/all.js @@ -18,7 +18,7 @@ // Check Schoology domain { - const BLACKLISTED_DOMAINS = ["asset-cdn.schoology.com", "www.schoology.com", "schoology.com"]; + const BLACKLISTED_DOMAINS = ["asset-cdn.schoology.com", "ui.schoology.com", "www.schoology.com", "schoology.com"]; let dd = Setting.getValue("defaultDomain"); if (dd !== window.location.host && !BLACKLISTED_DOMAINS.includes(window.location.host)) { @@ -67,7 +67,7 @@ bottom.appendChild(createElement("span", ["footer-divider"], { textContent: "|" document.documentElement.style.setProperty("--default-visibility", "visible"); -let verboseModalFooterText = `© Aaron Opell, Glen Husman 2017-2020 | Schoology Plus v${chrome.runtime.getManifest().version_name || chrome.runtime.getManifest().version}${getBrowser() != "Chrome" || chrome.runtime.getManifest().update_url ? '' : ' dev'} | Discord Support Server | GitHub | Contributors | Changelog`; +let verboseModalFooterText = `© Aaron Opell, Glen Husman 2017-2020 | Schoology Plus v${chrome.runtime.getManifest().version_name || chrome.runtime.getManifest().version}${getBrowser() != "Chrome" || chrome.runtime.getManifest().update_url ? '' : ' dev'} | Discord Server | GitHub | Contributors | Privacy Policy | Changelog`; let modalFooterText = "Schoology Plus"; let frame = document.createElement("iframe"); diff --git a/js/background.js b/js/background.js index 9ae2707b..7a918a59 100644 --- a/js/background.js +++ b/js/background.js @@ -241,7 +241,7 @@ function loadAssignmentNotifications(storageContent) { timeModified = true; } let div = document.querySelector("div") || document.body.appendChild(document.createElement("div")); - div.innerHTML = response.output; + div.innerHTML = DOMPurify.sanitize(response.output); let notifications = div.querySelectorAll(".edge-sentence"); let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; let totalAssignments = 0; diff --git a/js/version-specific.js b/js/version-specific.js index 65fb8aa7..83c09983 100644 --- a/js/version-specific.js +++ b/js/version-specific.js @@ -183,16 +183,6 @@ let migrationsTo = { new Date(2019, 1 /* February - don't you just love JavaScript */, 14) ) ]); - }, - "5.7": function(currentVersion, previousVersion) { - saveBroadcasts([ - createBroadcast( - 570, - 'Leave a review for Schoology Plus!', - '