-
Notifications
You must be signed in to change notification settings - Fork 1
/
Redact.user.js
88 lines (80 loc) · 2.93 KB
/
Redact.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
// ==UserScript==
// @name Redact
// @namespace https://damos.world
// @description Redact parts of a web page for privacy such as live demos
// @grant GM_addStyle
// @grant GM.addStyle
// @require https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js
// @include http://moodle*/
// @run-at document-start
// @version 1.1.1
// ==/UserScript==
try
{
console.log("Hiding body") ;
GM.addStyle("body {visibility: hidden;}") ;
console.log("Body hidden") ;
var func = function()
{
try
{
//Moodle LMS CSS for redaction
var redact_text =
[
'.useridnumber, .useremail, .idnumber, .email, .subfield_firstname, .subfield_idnumber, .subfield_email, .subfield_userfullnamedisplay',
'a[href*="/user/view.php"]',
'a[href*="/assignsubmission_file/"]',
'td[id^="mod-quiz-report-overview-report"].cell.c3',
'td[id^="mod-quiz-report-overview-report"].cell.c4',
'div.choicegroups-membersnames',
'table[id=completion-progress] tbody tr th a',
'select[name=userid] option',
'optgroup[label^="Student"] option, optgroup[label^="No roles"] option',
'table#completion-progress tbody tr td:nth-child(2), table#completion-progress tbody tr td:nth-child(3)',
'table#participants tbody tr td:nth-child(4), table#participants tbody tr td:nth-child(5)',
'span.ui-id-1',
'table.studentInfo tbody tr:nth-child(3) td',
'table.studentAccess tbody tr td:nth-child(1), table.studentAccess tbody tr td:nth-child(2), table.studentAccess tbody tr td:nth-child(3)',
//OU Blog
'div.oublog-post-editsummary'
] ;
//Moodle LMS CSS for redaction
var redact_image =
[
'.userpicture',
'img[src*="studentphoto.cqu.edu.au"]' /*handbook photo*/
] ;
console.log("Redacting text") ;
GM.addStyle(redact_text.join()+' {color: transparent !important; text-shadow: rgba(0, 0, 0, 0.5) 0px 0px 6px !important;}') ;
console.log("Text Redacted") ;
console.log("Redacting Images") ;
GM.addStyle(redact_image.join()+' {filter: blur(10px) !important;}') ;
console.log("Images Redacted") ;
console.log("Removing title and alt attributes") ;
redact_text.concat(redact_image).forEach(function(s)
{
var nodes = document.querySelectorAll(s) ;
for(var i=0; i<nodes.length; i++)
{
nodes[i].removeAttribute('title') ;
nodes[i].removeAttribute('alt') ;
}
}) ;
console.log("Setting page visible") ;
window.document.getElementsByTagName("body")[0].style.visibility = "visible" ;
}
catch(err)
{
console.log('Error: '+err) ;
console.log('On line: '+err.lineNumber) ;
console.log('Stack:'+err.stack) ;
}
} ;
addEventListener('DOMContentLoaded', func, false);
}
catch(err)
{
console.log('Error: '+err) ;
console.log('On line: '+err.lineNumber) ;
console.log('Stack:'+err.stack) ;
}