Last active
May 26, 2019 21:00
-
-
Save tidusx18/aa8c52cd121da2dd7edaa1639604872d to your computer and use it in GitHub Desktop.
Short and misc scripts for canvas.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var moduleItem = document.querySelectorAll('.external_url'); | |
for(let item of moduleItem) { | |
let editLink = item.querySelector('.edit_item_link'); | |
editLink.click(); | |
let newWindowCheckbox = document.querySelector('#content_tag_new_tab'); | |
newWindowCheckbox.checked = true; | |
let submitButton = document.querySelector('.button_type_submit'); | |
submitButton.click(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function deleteAssignment(id) { | |
let endPoint = `${window.location.href}/${id}`; | |
let csrf_token = document.cookie.split('csrf_token=')[1]; | |
let _method = 'DELETE'; | |
let queryURL = `${endPoint}?_method=${_method}&authenticity_token=${csrf_token}`; | |
let request = new XMLHttpRequest(); | |
request.open(_method, queryURL); | |
request.setRequestHeader('Accept', 'application/json, text/javascript, application/json+canvas-string-ids, */*; q=0.01'); | |
request.setRequestHeader('Accept-Language', 'en-US,en;q=0.9'); | |
request.setRequestHeader('Cache-Control', 'no-cache'); | |
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); | |
request.setRequestHeader('Pragma', 'no-cache'); | |
request.setRequestHeader('x-Requested-With', 'XMLHttpRequest'); | |
request.send() | |
} | |
assignments = document.querySelectorAll('.assignment > div'); | |
assignments.forEach( function(assignment) { | |
let itemId = assignment.id.replace('assignment_', ''); | |
// let moduleName = module.querySelector('.module_name a').innerText; | |
// let matchText = 'SOME MODULE NAME'; | |
// if(itemName.toLowerCase().includes(matchText)) { | |
// console.log('Deleting: ', itemName); | |
// deleteModuleItem(itemId); | |
// } | |
deleteAssignment(itemId); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function delete(id) { | |
let endPoint = `${window.location.href}/${id}`; | |
let csrf_token = document.cookie.split('csrf_token=')[1]; | |
let _method = 'DELETE'; | |
let queryURL = `${endPoint}?_method=${_method}&authenticity_token=${csrf_token}`; | |
let request = new XMLHttpRequest(); | |
request.open(_method, queryURL); | |
request.setRequestHeader('Accept', 'application/json, text/javascript, application/json+canvas-string-ids, */*; q=0.01'); | |
request.setRequestHeader('Accept-Language', 'en-US,en;q=0.9'); | |
request.setRequestHeader('Cache-Control', 'no-cache'); | |
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); | |
request.setRequestHeader('Pragma', 'no-cache'); | |
request.setRequestHeader('x-Requested-With', 'XMLHttpRequest'); | |
request.send() | |
} | |
discussions = document.querySelectorAll('.discussion > div'); | |
discussions.forEach( function(discussion) { | |
let itemId = discussion.id.replace('_discussion_content', ''); | |
// let moduleName = module.querySelector('.module_name a').innerText; | |
// let matchText = 'SOME MODULE NAME'; | |
// if(itemName.toLowerCase().includes(matchText)) { | |
// console.log('Deleting: ', itemName); | |
// deleteModuleItem(itemId); | |
// } | |
delete(itemId); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function deleteModuleItem(moduleId) { | |
let endPoint = `${window.location.href}/${moduleId}`; | |
let csrf_token = document.cookie.split('csrf_token=')[1]; | |
let _method = 'DELETE'; | |
let queryURL = `${endPoint}?_method=${_method}&authenticity_token=${csrf_token}`; | |
let request = new XMLHttpRequest(); | |
request.open(_method, queryURL); | |
request.setRequestHeader('Accept', 'application/json, text/javascript, application/json+canvas-string-ids, */*; q=0.01'); | |
request.setRequestHeader('Accept-Language', 'en-US,en;q=0.9'); | |
request.setRequestHeader('Cache-Control', 'no-cache'); | |
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); | |
request.setRequestHeader('Pragma', 'no-cache'); | |
request.setRequestHeader('x-Requested-With', 'XMLHttpRequest'); | |
request.send() | |
} | |
modules = document.querySelectorAll('.context_module'); | |
modules.forEach( function(module) { | |
let itemId = module.id.replace('context_module_', ''); | |
// let moduleName = module.querySelector('.module_name a').innerText; | |
// let matchText = 'SOME MODULE NAME'; | |
// if(itemName.toLowerCase().includes(matchText)) { | |
// console.log('Deleting: ', itemName); | |
// deleteModuleItem(itemId); | |
// } | |
deleteModuleItem(itemId); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let pages = document.querySelectorAll('.batch-delete'); | |
let deleteButton = document.querySelectorAll('.btn-danger'); | |
for(let page of pages) { | |
page.click(); | |
} | |
deleteButton.click(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function deleteQuiz(id) { | |
let endPoint = `${window.location.href}/${id}`; | |
let csrf_token = document.cookie.split('csrf_token=')[1]; | |
let _method = 'DELETE'; | |
let queryURL = `${endPoint}?_method=${_method}&authenticity_token=${csrf_token}`; | |
let request = new XMLHttpRequest(); | |
request.open(_method, queryURL); | |
request.setRequestHeader('Accept', 'application/json, text/javascript, application/json+canvas-string-ids, */*; q=0.01'); | |
request.setRequestHeader('Accept-Language', 'en-US,en;q=0.9'); | |
request.setRequestHeader('Cache-Control', 'no-cache'); | |
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); | |
request.setRequestHeader('Pragma', 'no-cache'); | |
request.setRequestHeader('x-Requested-With', 'XMLHttpRequest'); | |
request.send() | |
} | |
quizzes = document.querySelectorAll('.quiz > div'); | |
quizzes.forEach( function(quiz) { | |
let itemId = quiz.id.replace('summary_quiz_', ''); | |
// let moduleName = module.querySelector('.module_name a').innerText; | |
// let matchText = 'SOME MODULE NAME'; | |
// if(itemName.toLowerCase().includes(matchText)) { | |
// console.log('Deleting: ', itemName); | |
// deleteModuleItem(itemId); | |
// } | |
deleteQuiz(itemId); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function deleteModuleItem(moduleId) { | |
let endPoint = `${window.location.href}/items/${moduleId}`; | |
let csrf_token = document.cookie.split('csrf_token=')[1]; | |
let _method = 'DELETE'; | |
let queryURL = `${endPoint}?_method=${_method}&authenticity_token=${csrf_token}`; | |
let request = new XMLHttpRequest(); | |
request.open(_method, queryURL); | |
request.setRequestHeader('Accept', 'application/json, text/javascript, application/json+canvas-string-ids, */*; q=0.01'); | |
request.setRequestHeader('Accept-Language', 'en-US,en;q=0.9'); | |
request.setRequestHeader('Cache-Control', 'no-cache'); | |
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); | |
request.setRequestHeader('Pragma', 'no-cache'); | |
request.setRequestHeader('x-Requested-With', 'XMLHttpRequest'); | |
request.send() | |
} | |
moduleItems = document.querySelectorAll('.context_module_item'); | |
moduleItems.forEach( function(item) { | |
let itemId = item.id.replace('context_module_item_', ''); | |
let itemName = item.querySelector('.item_name a').innerText; | |
let matchText = 'click here to access'; | |
if(itemName.toLowerCase().includes(matchText)) { | |
console.log('Deleting: ', itemName); | |
deleteModuleItem(itemId); | |
} | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Canvas Submit/Save Hotkey (Ctrl + s) | |
// @namespace https://github.com/tidusx18 | |
// @version 0.0.1 | |
// @description Overrides browser default action for "Ctrl + s" hotkey to submit/save the current form/page in Canvas. | |
// @match https://fiu.instructure.com/* | |
// @grant none | |
// ==/UserScript== | |
(function() { | |
'use strict'; | |
function submitPage(e) { | |
var selectors = [ | |
'button[type="submit"]', // General 'Save' buttons | |
'\.button_type_submit', // Module Item Edit | |
'\.add_item_button', // Add Module Item | |
'\.create_assignment', // Edit Assignment Item | |
'\.submit' // Pages | |
]; | |
if (e.keyCode === 83 && (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey)) { | |
e.preventDefault(); | |
for(let selector of selectors) { | |
let selected = document.querySelector(selector); | |
if(selected) { | |
console.log('Button Clicked: ', selected); | |
selected.click(); | |
} else { | |
console.log('No matching Submit button found for: ', selector); | |
} | |
} | |
} | |
} | |
document.addEventListener("keydown", function(event) { | |
submitPage(event); | |
}, false); | |
window.addEventListener('load', function(event) { | |
if(tinymce) { | |
tinymce.on('AddEditor', function(e) { | |
console.log('(Save/Submit Hotkey) - TinyMCE Editor Added with ID: ', e.editor.id); | |
// Set listenser on editor | |
e.editor.on('keydown', function(event) { | |
submitPage(event); | |
}); | |
}); | |
} | |
}); | |
})(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const token = 'Bearer 1181~CbSHvhl5xMbVK3WLia8u8uo0ASCXEw7uZYYrnt9HrJMqwG9YymJkuepefHGEFCYb'; | |
const baseURL = 'https://fiu.instructure.com/api/v1/courses'; | |
const method = 'GET'; | |
const headers = { | |
// Some Headers | |
Authorization: token | |
}; | |
fetch(`${baseURL}/274/modules`, { | |
method: method, | |
headers: headers | |
}) | |
.then( (response) => { | |
return response.json(); | |
}) | |
.then( (data) => { | |
console.log(data); | |
data.forEach( (item) => { | |
fetch(`${baseURL}/274/modules/${item.id}`, { | |
method: 'PUT', | |
headers: headers, | |
body: new URLSearchParams('module[published]', 'true') | |
}) | |
}) | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tinymce = document.querySelector('iframe#wiki_page_body_ifr').contentDocument.querySelector('#tinymce') | |
links = tinymce.querySelectorAll('a') | |
for(link of links) { | |
title = link.title; | |
link.setAttribute('alt', title); | |
} | |
tinymce = document.querySelector('iframe#wiki_page_body_ifr').contentDocument.querySelector('#tinymce') | |
images = tinymce.querySelectorAll('img') | |
for(image of images) { | |
title = image.title; | |
image.setAttribute('alt', title) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
links = document.querySelectorAll('.icon-unpublish') | |
for(let link of links) { link.click() } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
modules = document.getElementsByClassName('expand_module_link') | |
for(let module of modules){ | |
module.click(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment