Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name srrdb.com
- // @author Gfy
- // @namespace http://www.srrdb.com/
- // @description Selective select.
- // @include http://www.srrdb.com/*
- // ==/UserScript==
- //TODO: strip spaces list search
- function check() {
- var searchString = document.getElementById('selectString').value.replace(/[ ]/g,'.*');
- if (searchString.substr(0, 5) == 'user:') {
- var usearch = searchString.substr(5);
- for (i = 0; i < inputs.length; i++) {
- var uploader = inputs[i].parentNode.parentNode.title;
- if (uploader.indexOf(usearch, 12) > -1) {
- inputs[i].checked = true;
- }
- }
- } else {
- var test = new RegExp(searchString, 'i');
- for (i = 0; i < inputs.length; i++) {
- if (test.test(inputs[i].id.substr(4))) {
- inputs[i].checked = true;
- }
- }
- }
- }
- function clear() {
- for (i = 0; i < inputs.length; i++) {
- inputs[i].checked = false;
- }
- }
- function addBrowseSearchField() {
- // search field
- var selector = document.createElement('input');
- selector.setAttribute('type', 'text');
- selector.setAttribute('name', 'selectString');
- selector.setAttribute('id', 'selectString');
- selector.setAttribute('style', 'margin-left: 10px');
- selector.addEventListener('keydown', function() {
- if (event.keyCode == 13) { // for enter
- document.getElementById('buttonFilter').click();
- } else if (event.keyCode == 27) { // for escape
- document.getElementById('selectString').value = '';
- }
- }, false);
- // button search
- var buttonFilter = document.createElement('input');
- buttonFilter.setAttribute('type', 'button');
- buttonFilter.setAttribute('id', 'buttonFilter');
- buttonFilter.setAttribute('value', 'Select');
- buttonFilter.setAttribute('style', 'margin-left: 3px');
- buttonFilter.addEventListener('click', function() { check(); }, false);
- // button clear
- var buttonClear = document.createElement('input');
- buttonClear.setAttribute('type', 'button');
- buttonClear.setAttribute('id', 'buttonClear');
- buttonClear.setAttribute('value', 'Clear');
- buttonClear.setAttribute('style', 'margin-left: 3px');
- buttonClear.addEventListener('click', function() { clear(); }, false);
- // put them on the page
- var content = document.getElementById('right').firstElementChild;
- if (content) {
- var rel = content.getElementsByTagName('tr')[0].children[1]; // TODO: test if it exists
- rel.appendChild(selector);
- rel.appendChild(buttonFilter);
- rel.appendChild(buttonClear);
- }
- }
- // for GreaseMonkey compatibility
- if (typeof unsafeWindow != "undefined") {
- window = unsafeWindow;
- }
- //"Opera’s implementation appears to be just perfect..."
- //http://frans.lowter.us/archives/2006/07/13/opera-user-js-and-greasemonkey-interoperability/
- /**
- * When the site loads, check which page we are and add functionality.
- */
- window.addEventListener(
- 'load',
- function (e) {
- /*
- * additions for the *release list* page
- */
- if( document.documentURI.match("browse.php") ) {
- addBrowseSearchField();
- }
- if( document.documentURI.match("addfile.php") ) {
- //document.getElementById('folder').value = 'Sample';
- document.getElementById('folder').select();
- }
- //http://www.srrdb.com/admin_comparedupes.php?release=
- //http://www.srrdb.com/details.php?release=
- //http://www.srrdb.com/download.php?release=
- if( document.documentURI.match("admin_comparedupes.php") ) {
- firstDiv = document.getElementsByTagName('div')[0];
- var link = document.createElement('a');
- link.setAttribute('href', document.documentURI.replace('admin_comparedupes', 'details'));
- link.setAttribute('target', '_blank');
- link.innerHTML = 'SRR';
- firstDiv.appendChild(link);
- var link = document.createElement('a');
- link.setAttribute('href', document.documentURI.replace('admin_comparedupes', 'download'));
- //link.setAttribute('target', '_blank');
- link.innerHTML = ' Download';
- firstDiv.appendChild(link);
- }
- // remove # crap that makes the window jump
- links = document.getElementsByTagName("a");
- for (i = 0; i < links.length; i = i + 1) {
- idx = links[i].href.indexOf("#");
- if (idx > 0) {
- //links[i].href = links[i].href.substring(0, idx);
- }
- }
- },
- false
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement