diff options
author | Amin Bandali <bandali@gnu.org> | 2020-01-03 00:22:19 -0500 |
---|---|---|
committer | Amin Bandali <bandali@gnu.org> | 2020-01-03 01:29:32 -0500 |
commit | e0018643e5cebc35a3786ffe04a323b03cd662b4 (patch) | |
tree | 56d327df66c1295d851fb35fe5f52c42a286dfde /data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~ | |
parent | 85e99badac11983f6d50b0d9942f66a30f55b8e5 (diff) |
Remove old extensions and add the reworked workarounds extension
* data/update-extensions.sh: Remove free-js-for-rsf-org-petitions,
librejs-compatible-sumofus-org, librejs-compatible-pay-gov,
rock-and-roll-mcdonald-s, goteo-org-payments-w-free-js,
use-google-drive-with-librejs. These have been reworked and are all
now bundled into one single extension.
* data/extensions/DMCAreg@0xbeef.coffee/*,
data/extensions/SimpleSumOfUs@0xbeef.coffee/*,
data/extensions/google_drive@0xbeef.coffee/*,
data/extensions/goteo@0xbeef.coffee/*,
data/extensions/rsf@0xbeef.coffee/*,
data/extensions/rnrMcDonalds@0xbeef.coffee/*: Remove.
* data/extensions/gnuzilla-ext-workarounds@gnu.org/LICENSE,
data/extensions/gnuzilla-ext-workarounds@gnu.org/README,
data/extensions/gnuzilla-ext-workarounds@gnu.org/README~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/background.js,
data/extensions/gnuzilla-ext-workarounds@gnu.org/background.js~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/html/domestic.html,
data/extensions/gnuzilla-ext-workarounds@gnu.org/html/domestic.html~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/html/domestic.js~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/html/jquery-3.4.1.min.js,
data/extensions/gnuzilla-ext-workarounds@gnu.org/html/usps_postage.js,
data/extensions/gnuzilla-ext-workarounds@gnu.org/html/usps_postage.js~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/icons/L4Libre.png,
data/extensions/gnuzilla-ext-workarounds@gnu.org/icons/L4Libre128.png,
data/extensions/gnuzilla-ext-workarounds@gnu.org/icons/L4Libre48.png,
data/extensions/gnuzilla-ext-workarounds@gnu.org/icons/test.png,
data/extensions/gnuzilla-ext-workarounds@gnu.org/jquery-3.4.1.min.js,
data/extensions/gnuzilla-ext-workarounds@gnu.org/manifest.json,
data/extensions/gnuzilla-ext-workarounds@gnu.org/manifest.json~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/googledocs_main.js,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/googledocs_main.js~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/goteo_main.js,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/goteo_main.js~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/mcdonalds_wifi.js,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/mcdonalds_wifi.js~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/paygov_main.js,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/paygov_main.js~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/rsf_main.js,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/rsf_main.js~,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js,
data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~:
New files. These were imported from the "integrated addon" directory
of https://0xbeef.coffee/final4.zip, extracted using:
unzip final4.zip "final/integrated addon/*" -d gnuzilla-ext-workarounds@gnu.org/
mv "gnuzilla-ext-workarounds@gnu.org/final/integrated addon"/* gnuzilla-ext-workarounds@gnu.org/
rm -rf gnuzilla-ext-workarounds@gnu.org/final/
add original backup files
Diffstat (limited to 'data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~')
-rw-r--r-- | data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~ | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~ b/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~ new file mode 100644 index 0000000..4f12093 --- /dev/null +++ b/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~ @@ -0,0 +1,159 @@ +/* + + Copyright (C) 2017-2019 Nathan Nichols + Copyright (C) 2019 Free Software Foundation + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +*/ + +if(document.location.href.indexOf("sumofus") != -1){ + console.log("sumofus_main.js"); + + function wildcard_match(str, rule) { + return new RegExp("^" + rule.split("*").join(".*") + "$").test(str); + } + + var page = window.location.href; + /* + if( wildcard_match(document.getElementsByTagName("pre")[0].innerHTML,'{"follow_up_url":"*"}') ){ + console.log(JSON.parse(document.getElementsByTagName("pre")[0].innerHTML)["follow_up_url"]); + } + */ + + var style = "div { top: 5%; margin-left: 10%; margin-right: 10%; background-color: white;}" + var sheet = document.createElement('style'); + sheet.innerHTML = style; + document.body.appendChild(sheet); + if( wildcard_match(page,"*://*actions.sumofus.org/api/pages/*/actions") ){ + console.log("Submitted petition") + //console.log("Redirecting..."); + var link = document.body.innerText; + link = JSON.parse(link); + //console.log(link); + document.body.innerHTML = "<h1>You have submitted this petition.</h1>"; + } + + + function send_data(data){ + url = document.forms[0].action + + var xhr = new XMLHttpRequest(); + var url_encoded = ""; + var url_encoded_pairs = []; + var name; + + for(name in data){ + temp = encodeURIComponent(name) + '=' + encodeURIComponent(data[name]) + url_encoded_pairs.push(temp); + } + url_encoded = url_encoded_pairs.join('&').replace(/%20/g, '+'); + + xhr.addEventListener('load', function(event){ + console.log("loaded"); + res = JSON.parse(event.target.response); + url = res["follow_up_url"] + document.location = url; + + }); + xhr.addEventListener('error', function(event){ + console.log("Error submitting form."); + }); + + xhr.open('POST', url); + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + xhr.send(url_encoded); + + } + + if( wildcard_match(page,"*://*actions.sumofus.org/a/*") ){ + console.log("Fixing campaign page"); + + // Make some changes to the page so it's readable. + + // because I noticed there were two of these for some reason + document.getElementsByTagName("button")[1].remove(); + document.getElementsByTagName("span")[0].innerHTML = ""; + var divs = document.getElementsByTagName("div"); + document.getElementsByClassName("noscript-notice")[0].remove(); + + // If they change the HTML of the page this might break... + //document.getElementsByClassName("petition-bar__content")[0].children[1].children[1].innerHTML = ""; + for ( i=0; i<document.styleSheets.length; i++) { + void(document.styleSheets.item(i).disabled=true); + } + // apply some basic CSS + var style = "div {margin: 50px; text-align: left; color: black; font-size: 12pt;}"; + var sheet = document.createElement('style'); + sheet.innerHTML = style; + document.body.appendChild(sheet); + + // Make the button not submit a post request + + document.getElementsByClassName("button action-form__submit-button")[0].type = "button" + + // Add a listener to submit the form + document.getElementsByClassName("button action-form__submit-button")[0].addEventListener("click", function(){ + entries = document.getElementsByClassName("form__content sweet-placeholder__field"); + data = [] + for(i = 0; i < entries.length; i++){ + data.push(entries[i].value); + } + + form_id = document.getElementsByName("form_id")[0].value + res = { + country: data[2], + email: data[0], + form_id: form_id, + name: data[1], + phone: data[4], + postal: data[3] + } + + send_data(res); + + + }); + + + } else{ + console.log("Getting current campaigns"); + var xhr = new XMLHttpRequest(); + xhr.onreadystatechange = function() { + if(this["readyState"] == 4 && this["status"] == 200){ + var campaigns = JSON.parse(this.responseText); + //console.log(campaigns); + var s = ""; + var number = ""; + //html_template += '<button onclick="">Show Pictures</button><br>'; + for(var i = 0; i < campaigns.length; i += 1){ + number = (i+1)+"/"+campaigns.length+":"; + s = campaigns[i]["title"]+"<br>"; + html_template += number.link(campaigns[i]["url"])+s; + html_template += "<img src="+'"'+campaigns[i]["image"]+'"'+"><br>"; + } + document.body.innerHTML = html_template; + } + }; + + var html_template = "<h1>[Simple SumOfUs.org]</h1>"; + // URL to get campaigns + var url = "http://actions.sumofus.org/api/pages/featured.json?language=en"; + + document.head.replaceWith(""); + document.body.innerHTML = ""; + xhr.open("GET", url); + xhr.send(); + } +} |