Skip to content

Instantly share code, notes, and snippets.

@rlemon
Last active December 29, 2015 02:49
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rlemon/ef65a1a5fa2bf3fcae4c to your computer and use it in GitHub Desktop.
Save rlemon/ef65a1a5fa2bf3fcae4c to your computer and use it in GitHub Desktop.
easy access control
// ==UserScript==
// @name Easy Access Control
// @author Robert Lemon
// @version 1.0
// @namespace
// @description Adds an access control button to the chat.
// @include http://chat.stackoverflow.com/rooms/*/*
// ==/UserScript==
function exec(fn) {
var script = document.createElement('script');
script.setAttribute("type", "application/javascript");
script.textContent = '(' + fn + ')();';
document.body.appendChild(script); // run the script
}
// script injection
exec(function () {
var roomId = Number(/\d+/.exec(location)[0]);
$.ajax({
url: '/rooms/' + roomId,
success: function (page) {
var access = $(page).find('.sprite-sec-gallery').length;
var btn = $('<a href="#"></a>');
btn.text(access ? 'unlock' : 'lock');
btn.on('click', function () {
$.post('/rooms/save', {
roomId: roomId,
defaultAccess: access ? 'read-write' : 'read-only',
fkey: fkey().fkey
});
return false;
});
$('<span> | </span>').add(btn).appendTo($('#sidebar-menu'));
},
error: function () {
console.log('access control plugin failed to load');
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment