Skip to content

Instantly share code, notes, and snippets.

@jhsu
Created July 18, 2009 14:20
Show Gist options
  • Save jhsu/149571 to your computer and use it in GitHub Desktop.
Save jhsu/149571 to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name Lighthouse theme for Trac
// @namespace http://philwilson.org
// @description Lighthouse theme for Trac
// @include http://www.viralogy.com:8000/*
// @include http://www.viralogy.com/trac/*
// @version 0.7
// ==/UserScript==
// customized by jhsu for Viralogy Team
var traclighthouse_version = "0.7";
autoUpdateFromUserscriptsDotOrg({
name: 'Lighthouse theme for Trac',
url: 'http://userscripts.org/scripts/source/37887.user.js',
version: traclighthouse_version,
});
var projectName = document.location.pathname.split("/")[2];
document.getElementById("header").innerHTML = "<h1 style='float: left; padding: 10px 0 0 18px'><a href='http://viralogy.com/trac/timeline' style='color: #fff; text-decoration: none;'>Viralogy</a></h1>";
var xpathstylesheets = "//link[@rel='stylesheet']";
var stylesheets = document.evaluate(xpathstylesheets, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
var xpathstarts = "//link[@rel='start']";
var starts = document.evaluate(xpathstarts, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
startlink =starts.snapshotItem(0).getAttribute("href");
tracbase = startlink.substring(0, startlink.indexOf("wiki"));
var head = document.getElementsByTagName('head')[0];
function removeTracStylesheets() {
for (var i=0;i<stylesheets.snapshotLength;i++ ) {
head.removeChild(stylesheets.snapshotItem(i));
}
}
function addMyStylesheet(url, media) {
var cssNode = document.createElement('link');
cssNode.type = 'text/css';
cssNode.rel = 'stylesheet';
cssNode.href = url;
cssNode.media = media;
head.appendChild(cssNode);
}
removeTracStylesheets();
// Blueprint 0.8 with slight increase to base font size (102% from 100%)
addMyStylesheet("data:text/css;charset=utf-8;base64,LyogDQogQmx1ZXByaW50IENTUyBGcmFtZXdvcmsgMC44DQogaHR0cDovL2JsdWVwcmludGNzcy5vcmcNCg0KICAgKiBDb3B5cmlnaHQgKGMpIDIwMDctUHJlc2VudC4gU2VlIExJQ0VOU0UgZm9yIG1vcmUgaW5mby4NCiAgICogU2VlIFJFQURNRSBmb3IgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byB1c2UgQmx1ZXByaW50Lg0KICAgKiBGb3IgY3JlZGl0cyBhbmQgb3JpZ2lucywgc2VlIEFVVEhPUlMuDQogICAqIFRoaXMgaXMgYSBjb21wcmVzc2VkIGZpbGUuIFNlZSB0aGUgc291cmNlcyBpbiB0aGUgJ3NyYycgZGlyZWN0b3J5Lg0KDQoqLw0KDQovKiByZXNldC5jc3MgKi8NCmh0bWwsIGJvZHksIGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIHEsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCB7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7Zm9udC1zdHlsZTppbmhlcml0O2ZvbnQtc2l6ZToxMDIlO2ZvbnQtZmFtaWx5OmluaGVyaXQ7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7fQ0KYm9keSB7bGluZS1oZWlnaHQ6MS41O30NCnRhYmxlIHtib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7Ym9yZGVyLXNwYWNpbmc6MDt9DQpjYXB0aW9uLCB0aCwgdGQge3RleHQtYWxpZ246bGVmdDtmb250LXdlaWdodDpub3JtYWw7fQ0KdGFibGUsIHRkLCB0aCB7dmVydGljYWwtYWxpZ246bWlkZGxlO30NCmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLCBxOmJlZm9yZSwgcTphZnRlciB7Y29udGVudDoiIjt9DQpibG9ja3F1b3RlLCBxIHtxdW90ZXM6IiIgIiI7fQ0KYSBpbWcge2JvcmRlcjpub25lO30NCg0KLyogdHlwb2dyYXBoeS5jc3MgKi8NCmJvZHkge2ZvbnQtc2l6ZTo3NSU7Y29sb3I6IzIyMjtiYWNrZ3JvdW5kOiNmZmY7Zm9udC1mYW1pbHk6IkhlbHZldGljYSBOZXVlIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjt9DQpoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzExMTt9DQpoMSB7Zm9udC1zaXplOjNlbTtsaW5lLWhlaWdodDoxO21hcmdpbi1ib3R0b206MC41ZW07fQ0KaDIge2ZvbnQtc2l6ZToyZW07bWFyZ2luLWJvdHRvbTowLjc1ZW07fQ0KaDMge2ZvbnQtc2l6ZToxLjVlbTtsaW5lLWhlaWdodDoxO21hcmdpbi1ib3R0b206MWVtO30NCmg0IHtmb250LXNpemU6MS4yZW07bGluZS1oZWlnaHQ6MS4yNTttYXJnaW4tYm90dG9tOjEuMjVlbTt9DQpoNSB7Zm9udC1zaXplOjFlbTtmb250LXdlaWdodDpib2xkO21hcmdpbi1ib3R0b206MS41ZW07fQ0KaDYge2ZvbnQtc2l6ZToxZW07Zm9udC13ZWlnaHQ6Ym9sZDt9DQpoMSBpbWcsIGgyIGltZywgaDMgaW1nLCBoNCBpbWcsIGg1IGltZywgaDYgaW1nIHttYXJnaW46MDt9DQpwIHttYXJnaW46MCAwIDEuNWVtO30NCnAgaW1nLmxlZnQge2Zsb2F0OmxlZnQ7bWFyZ2luOjEuNWVtIDEuNWVtIDEuNWVtIDA7cGFkZGluZzowO30NCnAgaW1nLnJpZ2h0IHtmbG9hdDpyaWdodDttYXJnaW46MS41ZW0gMCAxLjVlbSAxLjVlbTt9DQphOmZvY3VzLCBhOmhvdmVyIHtjb2xvcjojMDAwO30NCmEge2NvbG9yOiMwMDk7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpibG9ja3F1b3RlIHttYXJnaW46MS41ZW07Y29sb3I6IzY2Njtmb250LXN0eWxlOml0YWxpYzt9DQpzdHJvbmcge2ZvbnQtd2VpZ2h0OmJvbGQ7fQ0KZW0sIGRmbiB7Zm9udC1zdHlsZTppdGFsaWM7fQ0KZGZuIHtmb250LXdlaWdodDpib2xkO30NCnN1cCwgc3ViIHtsaW5lLWhlaWdodDowO30NCmFiYnIsIGFjcm9ueW0ge2JvcmRlci1ib3R0b206MXB4IGRvdHRlZCAjNjY2O30NCmFkZHJlc3Mge21hcmdpbjowIDAgMS41ZW07Zm9udC1zdHlsZTppdGFsaWM7fQ0KZGVsIHtjb2xvcjojNjY2O30NCnByZSB7bWFyZ2luOjEuNWVtIDA7d2hpdGUtc3BhY2U6cHJlO30NCnByZSwgY29kZSwgdHQge2ZvbnQ6MWVtICdhbmRhbGUgbW9ubycsICdsdWNpZGEgY29uc29sZScsIG1vbm9zcGFjZTtsaW5lLWhlaWdodDoxLjU7fQ0KbGkgdWwsIGxpIG9sIHttYXJnaW46MCAxLjVlbTt9DQp1bCwgb2wge21hcmdpbjowIDEuNWVtIDEuNWVtIDEuNWVtO30NCnVsIHtsaXN0LXN0eWxlLXR5cGU6ZGlzYzt9DQpvbCB7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWw7fQ0KZGwge21hcmdpbjowIDAgMS41ZW0gMDt9DQpkbCBkdCB7Zm9udC13ZWlnaHQ6Ym9sZDt9DQpkZCB7bWFyZ2luLWxlZnQ6MS41ZW07fQ0KdGFibGUge21hcmdpbi1ib3R0b206MS40ZW07d2lkdGg6MTAwJTt9DQp0aCB7Zm9udC13ZWlnaHQ6Ym9sZDt9DQp0aGVhZCB0aCB7YmFja2dyb3VuZDojYzNkOWZmO30NCnRoLCB0ZCwgY2FwdGlvbiB7cGFkZGluZzo0cHggMTBweCA0cHggNXB4O30NCnRyLmV2ZW4gdGQge2JhY2tncm91bmQ6I2U1ZWNmOTt9DQp0Zm9vdCB7Zm9udC1zdHlsZTppdGFsaWM7fQ0KY2FwdGlvbiB7YmFja2dyb3VuZDojZWVlO30NCi5zbWFsbCB7Zm9udC1zaXplOi44ZW07bWFyZ2luLWJvdHRvbToxLjg3NWVtO2xpbmUtaGVpZ2h0OjEuODc1ZW07fQ0KLmxhcmdlIHtmb250LXNpemU6MS4yZW07bGluZS1oZWlnaHQ6Mi41ZW07bWFyZ2luLWJvdHRvbToxLjI1ZW07fQ0KLmhpZGUge2Rpc3BsYXk6bm9uZTt9DQoucXVpZXQge2NvbG9yOiM2NjY7fQ0KLmxvdWQge2NvbG9yOiMwMDA7fQ0KLmhpZ2hsaWdodCB7YmFja2dyb3VuZDojZmYwO30NCi5hZGRlZCB7YmFja2dyb3VuZDojMDYwO2NvbG9yOiNmZmY7fQ0KLnJlbW92ZWQge2JhY2tncm91bmQ6IzkwMDtjb2xvcjojZmZmO30NCi5maXJzdCB7bWFyZ2luLWxlZnQ6MDtwYWRkaW5nLWxlZnQ6MDt9DQoubGFzdCB7bWFyZ2luLXJpZ2h0OjA7cGFkZGluZy1yaWdodDowO30NCi50b3Age21hcmdpbi10b3A6MDtwYWRkaW5nLXRvcDowO30NCi5ib3R0b20ge21hcmdpbi1ib3R0b206MDtwYWRkaW5nLWJvdHRvbTowO30NCg0KLyogZ3JpZC5jc3MgKi8NCi5jb250YWluZXIge3dpZHRoOjk1MHB4O21hcmdpbjowIGF1dG87fQ0KLnNob3dncmlkIHtiYWNrZ3JvdW5kOnVybChzcmMvZ3JpZC5wbmcpO30NCi5jb2x1bW4sIGRpdi5zcGFuLTEsIGRpdi5zcGFuLTIsIGRpdi5zcGFuLTMsIGRpdi5zcGFuLTQsIGRpdi5zcGFuLTUsIGRpdi5zcGFuLTYsIGRpdi5zcGFuLTcsIGRpdi5zcGFuLTgsIGRpdi5zcGFuLTksIGRpdi5zcGFuLTEwLCBkaXYuc3Bhbi0xMSwgZGl2LnNwYW4tMTIsIGRpdi5zcGFuLTEzLCBkaXYuc3Bhbi0xNCwgZGl2LnNwYW4tMTUsIGRpdi5zcGFuLTE2LCBkaXYuc3Bhbi0xNywgZGl2LnNwYW4tMTgsIGRpdi5zcGFuLTE5LCBkaXYuc3Bhbi0yMCwgZGl2LnNwYW4tMjEsIGRpdi5zcGFuLTIyLCBkaXYuc3Bhbi0yMywgZGl2LnNwYW4tMjQge2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjEwcHg7fQ0KLmxhc3QsIGRpdi5sYXN0IHttYXJnaW4tcmlnaHQ6MDt9DQouc3Bhbi0xIHt3aWR0aDozMHB4O30NCi5zcGFuLTIge3dpZHRoOjcwcHg7fQ0KLnNwYW4tMyB7d2lkdGg6MTEwcHg7fQ0KLnNwYW4tNCB7d2lkdGg6MTUwcHg7fQ0KLnNwYW4tNSB7d2lkdGg6MTkwcHg7fQ0KLnNwYW4tNiB7d2lkdGg6MjMwcHg7fQ0KLnNwYW4tNyB7d2lkdGg6MjcwcHg7fQ0KLnNwYW4tOCB7d2lkdGg6MzEwcHg7fQ0KLnNwYW4tOSB7d2lkdGg6MzUwcHg7fQ0KLnNwYW4tMTAge3dpZHRoOjM5MHB4O30NCi5zcGFuLTExIHt3aWR0aDo0MzBweDt9DQouc3Bhbi0xMiB7d2lkdGg6NDcwcHg7fQ0KLnNwYW4tMTMge3dpZHRoOjUxMHB4O30NCi5zcGFuLTE0IHt3aWR0aDo1NTBweDt9DQouc3Bhbi0xNSB7d2lkdGg6NTkwcHg7fQ0KLnNwYW4tMTYge3dpZHRoOjYzMHB4O30NCi5zcGFuLTE3IHt3aWR0aDo2NzBweDt9DQouc3Bhbi0xOCB7d2lkdGg6NzEwcHg7fQ0KLnNwYW4tMTkge3dpZHRoOjc1MHB4O30NCi5zcGFuLTIwIHt3aWR0aDo3OTBweDt9DQouc3Bhbi0yMSB7d2lkdGg6ODMwcHg7fQ0KLnNwYW4tMjIge3dpZHRoOjg3MHB4O30NCi5zcGFuLTIzIHt3aWR0aDo5MTBweDt9DQouc3Bhbi0yNCwgZGl2LnNwYW4tMjQge3dpZHRoOjk1MHB4O21hcmdpbjowO30NCmlucHV0LnNwYW4tMSwgdGV4dGFyZWEuc3Bhbi0xLCBzZWxlY3Quc3Bhbi0xIHt3aWR0aDozMHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTIsIHRleHRhcmVhLnNwYW4tMiwgc2VsZWN0LnNwYW4tMiB7d2lkdGg6NTBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0zLCB0ZXh0YXJlYS5zcGFuLTMsIHNlbGVjdC5zcGFuLTMge3dpZHRoOjkwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tNCwgdGV4dGFyZWEuc3Bhbi00LCBzZWxlY3Quc3Bhbi00IHt3aWR0aDoxMzBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi01LCB0ZXh0YXJlYS5zcGFuLTUsIHNlbGVjdC5zcGFuLTUge3dpZHRoOjE3MHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTYsIHRleHRhcmVhLnNwYW4tNiwgc2VsZWN0LnNwYW4tNiB7d2lkdGg6MjEwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tNywgdGV4dGFyZWEuc3Bhbi03LCBzZWxlY3Quc3Bhbi03IHt3aWR0aDoyNTBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi04LCB0ZXh0YXJlYS5zcGFuLTgsIHNlbGVjdC5zcGFuLTgge3dpZHRoOjI5MHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTksIHRleHRhcmVhLnNwYW4tOSwgc2VsZWN0LnNwYW4tOSB7d2lkdGg6MzMwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tMTAsIHRleHRhcmVhLnNwYW4tMTAsIHNlbGVjdC5zcGFuLTEwIHt3aWR0aDozNzBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0xMSwgdGV4dGFyZWEuc3Bhbi0xMSwgc2VsZWN0LnNwYW4tMTEge3dpZHRoOjQxMHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTEyLCB0ZXh0YXJlYS5zcGFuLTEyLCBzZWxlY3Quc3Bhbi0xMiB7d2lkdGg6NDUwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tMTMsIHRleHRhcmVhLnNwYW4tMTMsIHNlbGVjdC5zcGFuLTEzIHt3aWR0aDo0OTBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0xNCwgdGV4dGFyZWEuc3Bhbi0xNCwgc2VsZWN0LnNwYW4tMTQge3dpZHRoOjUzMHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTE1LCB0ZXh0YXJlYS5zcGFuLTE1LCBzZWxlY3Quc3Bhbi0xNSB7d2lkdGg6NTcwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tMTYsIHRleHRhcmVhLnNwYW4tMTYsIHNlbGVjdC5zcGFuLTE2IHt3aWR0aDo2MTBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0xNywgdGV4dGFyZWEuc3Bhbi0xNywgc2VsZWN0LnNwYW4tMTcge3dpZHRoOjY1MHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTE4LCB0ZXh0YXJlYS5zcGFuLTE4LCBzZWxlY3Quc3Bhbi0xOCB7d2lkdGg6NjkwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tMTksIHRleHRhcmVhLnNwYW4tMTksIHNlbGVjdC5zcGFuLTE5IHt3aWR0aDo3MzBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0yMCwgdGV4dGFyZWEuc3Bhbi0yMCwgc2VsZWN0LnNwYW4tMjAge3dpZHRoOjc3MHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTIxLCB0ZXh0YXJlYS5zcGFuLTIxLCBzZWxlY3Quc3Bhbi0yMSB7d2lkdGg6ODEwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tMjIsIHRleHRhcmVhLnNwYW4tMjIsIHNlbGVjdC5zcGFuLTIyIHt3aWR0aDo4NTBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0yMywgdGV4dGFyZWEuc3Bhbi0yMywgc2VsZWN0LnNwYW4tMjMge3dpZHRoOjg5MHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTI0LCB0ZXh0YXJlYS5zcGFuLTI0LCBzZWxlY3Quc3Bhbi0yNCB7d2lkdGg6OTQwcHghaW1wb3J0YW50O30NCi5hcHBlbmQtMSB7cGFkZGluZy1yaWdodDo0MHB4O30NCi5hcHBlbmQtMiB7cGFkZGluZy1yaWdodDo4MHB4O30NCi5hcHBlbmQtMyB7cGFkZGluZy1yaWdodDoxMjBweDt9DQouYXBwZW5kLTQge3BhZGRpbmctcmlnaHQ6MTYwcHg7fQ0KLmFwcGVuZC01IHtwYWRkaW5nLXJpZ2h0OjIwMHB4O30NCi5hcHBlbmQtNiB7cGFkZGluZy1yaWdodDoyNDBweDt9DQouYXBwZW5kLTcge3BhZGRpbmctcmlnaHQ6MjgwcHg7fQ0KLmFwcGVuZC04IHtwYWRkaW5nLXJpZ2h0OjMyMHB4O30NCi5hcHBlbmQtOSB7cGFkZGluZy1yaWdodDozNjBweDt9DQouYXBwZW5kLTEwIHtwYWRkaW5nLXJpZ2h0OjQwMHB4O30NCi5hcHBlbmQtMTEge3BhZGRpbmctcmlnaHQ6NDQwcHg7fQ0KLmFwcGVuZC0xMiB7cGFkZGluZy1yaWdodDo0ODBweDt9DQouYXBwZW5kLTEzIHtwYWRkaW5nLXJpZ2h0OjUyMHB4O30NCi5hcHBlbmQtMTQge3BhZGRpbmctcmlnaHQ6NTYwcHg7fQ0KLmFwcGVuZC0xNSB7cGFkZGluZy1yaWdodDo2MDBweDt9DQouYXBwZW5kLTE2IHtwYWRkaW5nLXJpZ2h0OjY0MHB4O30NCi5hcHBlbmQtMTcge3BhZGRpbmctcmlnaHQ6NjgwcHg7fQ0KLmFwcGVuZC0xOCB7cGFkZGluZy1yaWdodDo3MjBweDt9DQouYXBwZW5kLTE5IHtwYWRkaW5nLXJpZ2h0Ojc2MHB4O30NCi5hcHBlbmQtMjAge3BhZGRpbmctcmlnaHQ6ODAwcHg7fQ0KLmFwcGVuZC0yMSB7cGFkZGluZy1yaWdodDo4NDBweDt9DQouYXBwZW5kLTIyIHtwYWRkaW5nLXJpZ2h0Ojg4MHB4O30NCi5hcHBlbmQtMjMge3BhZGRpbmctcmlnaHQ6OTIwcHg7fQ0KLnByZXBlbmQtMSB7cGFkZGluZy1sZWZ0OjQwcHg7fQ0KLnByZXBlbmQtMiB7cGFkZGluZy1sZWZ0OjgwcHg7fQ0KLnByZXBlbmQtMyB7cGFkZGluZy1sZWZ0OjEyMHB4O30NCi5wcmVwZW5kLTQge3BhZGRpbmctbGVmdDoxNjBweDt9DQoucHJlcGVuZC01IHtwYWRkaW5nLWxlZnQ6MjAwcHg7fQ0KLnByZXBlbmQtNiB7cGFkZGluZy1sZWZ0OjI0MHB4O30NCi5wcmVwZW5kLTcge3BhZGRpbmctbGVmdDoyODBweDt9DQoucHJlcGVuZC04IHtwYWRkaW5nLWxlZnQ6MzIwcHg7fQ0KLnByZXBlbmQtOSB7cGFkZGluZy1sZWZ0OjM2MHB4O30NCi5wcmVwZW5kLTEwIHtwYWRkaW5nLWxlZnQ6NDAwcHg7fQ0KLnByZXBlbmQtMTEge3BhZGRpbmctbGVmdDo0NDBweDt9DQoucHJlcGVuZC0xMiB7cGFkZGluZy1sZWZ0OjQ4MHB4O30NCi5wcmVwZW5kLTEzIHtwYWRkaW5nLWxlZnQ6NTIwcHg7fQ0KLnByZXBlbmQtMTQge3BhZGRpbmctbGVmdDo1NjBweDt9DQoucHJlcGVuZC0xNSB7cGFkZGluZy1sZWZ0OjYwMHB4O30NCi5wcmVwZW5kLTE2IHtwYWRkaW5nLWxlZnQ6NjQwcHg7fQ0KLnByZXBlbmQtMTcge3BhZGRpbmctbGVmdDo2ODBweDt9DQoucHJlcGVuZC0xOCB7cGFkZGluZy1sZWZ0OjcyMHB4O30NCi5wcmVwZW5kLTE5IHtwYWRkaW5nLWxlZnQ6NzYwcHg7fQ0KLnByZXBlbmQtMjAge3BhZGRpbmctbGVmdDo4MDBweDt9DQoucHJlcGVuZC0yMSB7cGFkZGluZy1sZWZ0Ojg0MHB4O30NCi5wcmVwZW5kLTIyIHtwYWRkaW5nLWxlZnQ6ODgwcHg7fQ0KLnByZXBlbmQtMjMge3BhZGRpbmctbGVmdDo5MjBweDt9DQpkaXYuYm9yZGVyIHtwYWRkaW5nLXJpZ2h0OjRweDttYXJnaW4tcmlnaHQ6NXB4O2JvcmRlci1yaWdodDoxcHggc29saWQgI2VlZTt9DQpkaXYuY29sYm9yZGVyIHtwYWRkaW5nLXJpZ2h0OjI0cHg7bWFyZ2luLXJpZ2h0OjI1cHg7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZWVlO30NCi5wdWxsLTEge21hcmdpbi1sZWZ0Oi00MHB4O30NCi5wdWxsLTIge21hcmdpbi1sZWZ0Oi04MHB4O30NCi5wdWxsLTMge21hcmdpbi1sZWZ0Oi0xMjBweDt9DQoucHVsbC00IHttYXJnaW4tbGVmdDotMTYwcHg7fQ0KLnB1bGwtNSB7bWFyZ2luLWxlZnQ6LTIwMHB4O30NCi5wdWxsLTYge21hcmdpbi1sZWZ0Oi0yNDBweDt9DQoucHVsbC03IHttYXJnaW4tbGVmdDotMjgwcHg7fQ0KLnB1bGwtOCB7bWFyZ2luLWxlZnQ6LTMyMHB4O30NCi5wdWxsLTkge21hcmdpbi1sZWZ0Oi0zNjBweDt9DQoucHVsbC0xMCB7bWFyZ2luLWxlZnQ6LTQwMHB4O30NCi5wdWxsLTExIHttYXJnaW4tbGVmdDotNDQwcHg7fQ0KLnB1bGwtMTIge21hcmdpbi1sZWZ0Oi00ODBweDt9DQoucHVsbC0xMyB7bWFyZ2luLWxlZnQ6LTUyMHB4O30NCi5wdWxsLTE0IHttYXJnaW4tbGVmdDotNTYwcHg7fQ0KLnB1bGwtMTUge21hcmdpbi1sZWZ0Oi02MDBweDt9DQoucHVsbC0xNiB7bWFyZ2luLWxlZnQ6LTY0MHB4O30NCi5wdWxsLTE3IHttYXJnaW4tbGVmdDotNjgwcHg7fQ0KLnB1bGwtMTgge21hcmdpbi1sZWZ0Oi03MjBweDt9DQoucHVsbC0xOSB7bWFyZ2luLWxlZnQ6LTc2MHB4O30NCi5wdWxsLTIwIHttYXJnaW4tbGVmdDotODAwcHg7fQ0KLnB1bGwtMjEge21hcmdpbi1sZWZ0Oi04NDBweDt9DQoucHVsbC0yMiB7bWFyZ2luLWxlZnQ6LTg4MHB4O30NCi5wdWxsLTIzIHttYXJnaW4tbGVmdDotOTIwcHg7fQ0KLnB1bGwtMjQge21hcmdpbi1sZWZ0Oi05NjBweDt9DQoucHVsbC0xLCAucHVsbC0yLCAucHVsbC0zLCAucHVsbC00LCAucHVsbC01LCAucHVsbC02LCAucHVsbC03LCAucHVsbC04LCAucHVsbC05LCAucHVsbC0xMCwgLnB1bGwtMTEsIC5wdWxsLTEyLCAucHVsbC0xMywgLnB1bGwtMTQsIC5wdWxsLTE1LCAucHVsbC0xNiwgLnB1bGwtMTcsIC5wdWxsLTE4LCAucHVsbC0xOSwgLnB1bGwtMjAsIC5wdWxsLTIxLCAucHVsbC0yMiwgLnB1bGwtMjMsIC5wdWxsLTI0IHtmbG9hdDpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO30NCi5wdXNoLTEge21hcmdpbjowIC00MHB4IDEuNWVtIDQwcHg7fQ0KLnB1c2gtMiB7bWFyZ2luOjAgLTgwcHggMS41ZW0gODBweDt9DQoucHVzaC0zIHttYXJnaW46MCAtMTIwcHggMS41ZW0gMTIwcHg7fQ0KLnB1c2gtNCB7bWFyZ2luOjAgLTE2MHB4IDEuNWVtIDE2MHB4O30NCi5wdXNoLTUge21hcmdpbjowIC0yMDBweCAxLjVlbSAyMDBweDt9DQoucHVzaC02IHttYXJnaW46MCAtMjQwcHggMS41ZW0gMjQwcHg7fQ0KLnB1c2gtNyB7bWFyZ2luOjAgLTI4MHB4IDEuNWVtIDI4MHB4O30NCi5wdXNoLTgge21hcmdpbjowIC0zMjBweCAxLjVlbSAzMjBweDt9DQoucHVzaC05IHttYXJnaW46MCAtMzYwcHggMS41ZW0gMzYwcHg7fQ0KLnB1c2gtMTAge21hcmdpbjowIC00MDBweCAxLjVlbSA0MDBweDt9DQoucHVzaC0xMSB7bWFyZ2luOjAgLTQ0MHB4IDEuNWVtIDQ0MHB4O30NCi5wdXNoLTEyIHttYXJnaW46MCAtNDgwcHggMS41ZW0gNDgwcHg7fQ0KLnB1c2gtMTMge21hcmdpbjowIC01MjBweCAxLjVlbSA1MjBweDt9DQoucHVzaC0xNCB7bWFyZ2luOjAgLTU2MHB4IDEuNWVtIDU2MHB4O30NCi5wdXNoLTE1IHttYXJnaW46MCAtNjAwcHggMS41ZW0gNjAwcHg7fQ0KLnB1c2gtMTYge21hcmdpbjowIC02NDBweCAxLjVlbSA2NDBweDt9DQoucHVzaC0xNyB7bWFyZ2luOjAgLTY4MHB4IDEuNWVtIDY4MHB4O30NCi5wdXNoLTE4IHttYXJnaW46MCAtNzIwcHggMS41ZW0gNzIwcHg7fQ0KLnB1c2gtMTkge21hcmdpbjowIC03NjBweCAxLjVlbSA3NjBweDt9DQoucHVzaC0yMCB7bWFyZ2luOjAgLTgwMHB4IDEuNWVtIDgwMHB4O30NCi5wdXNoLTIxIHttYXJnaW46MCAtODQwcHggMS41ZW0gODQwcHg7fQ0KLnB1c2gtMjIge21hcmdpbjowIC04ODBweCAxLjVlbSA4ODBweDt9DQoucHVzaC0yMyB7bWFyZ2luOjAgLTkyMHB4IDEuNWVtIDkyMHB4O30NCi5wdXNoLTI0IHttYXJnaW46MCAtOTYwcHggMS41ZW0gOTYwcHg7fQ0KLnB1c2gtMSwgLnB1c2gtMiwgLnB1c2gtMywgLnB1c2gtNCwgLnB1c2gtNSwgLnB1c2gtNiwgLnB1c2gtNywgLnB1c2gtOCwgLnB1c2gtOSwgLnB1c2gtMTAsIC5wdXNoLTExLCAucHVzaC0xMiwgLnB1c2gtMTMsIC5wdXNoLTE0LCAucHVzaC0xNSwgLnB1c2gtMTYsIC5wdXNoLTE3LCAucHVzaC0xOCwgLnB1c2gtMTksIC5wdXNoLTIwLCAucHVzaC0yMSwgLnB1c2gtMjIsIC5wdXNoLTIzLCAucHVzaC0yNCB7ZmxvYXQ6cmlnaHQ7cG9zaXRpb246cmVsYXRpdmU7fQ0KLnByZXBlbmQtdG9wIHttYXJnaW4tdG9wOjEuNWVtO30NCi5hcHBlbmQtYm90dG9tIHttYXJnaW4tYm90dG9tOjEuNWVtO30NCi5ib3gge3BhZGRpbmc6MS41ZW07bWFyZ2luLWJvdHRvbToxLjVlbTtiYWNrZ3JvdW5kOiNFNUVDRjk7fQ0KaHIge2JhY2tncm91bmQ6I2RkZDtjb2xvcjojZGRkO2NsZWFyOmJvdGg7ZmxvYXQ6bm9uZTt3aWR0aDoxMDAlO2hlaWdodDouMWVtO21hcmdpbjowIDAgMS40NWVtO2JvcmRlcjpub25lO30NCmhyLnNwYWNlIHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6I2ZmZjt9DQouY2xlYXJmaXg6YWZ0ZXIsIC5jb250YWluZXI6YWZ0ZXIge2NvbnRlbnQ6Ii4iO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7Y2xlYXI6Ym90aDt2aXNpYmlsaXR5OmhpZGRlbjt9DQouY2xlYXJmaXgsIC5jb250YWluZXIge2Rpc3BsYXk6YmxvY2s7fQ0KLmNsZWFyIHtjbGVhcjpib3RoO30NCg0KLyogZm9ybXMuY3NzICovDQpsYWJlbCB7Zm9udC13ZWlnaHQ6Ym9sZDt9DQpmaWVsZHNldCB7cGFkZGluZzoxLjRlbTttYXJnaW46MCAwIDEuNWVtIDA7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO30NCmxlZ2VuZCB7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MS4yZW07fQ0KaW5wdXQudGV4dCwgaW5wdXQudGl0bGUsIHRleHRhcmVhLCBzZWxlY3Qge21hcmdpbjowLjVlbSAwO2JvcmRlcjoxcHggc29saWQgI2JiYjt9DQppbnB1dC50ZXh0OmZvY3VzLCBpbnB1dC50aXRsZTpmb2N1cywgdGV4dGFyZWE6Zm9jdXMsIHNlbGVjdDpmb2N1cyB7Ym9yZGVyOjFweCBzb2xpZCAjNjY2O30NCmlucHV0LnRleHQsIGlucHV0LnRpdGxlIHt3aWR0aDozMDBweDtwYWRkaW5nOjVweDt9DQppbnB1dC50aXRsZSB7Zm9udC1zaXplOjEuNWVtO30NCnRleHRhcmVhIHt3aWR0aDozOTBweDtoZWlnaHQ6MjUwcHg7cGFkZGluZzo1cHg7fQ0KLmVycm9yLCAubm90aWNlLCAuc3VjY2VzcyB7cGFkZGluZzouOGVtO21hcmdpbi1ib3R0b206MWVtO2JvcmRlcjoycHggc29saWQgI2RkZDt9DQouZXJyb3Ige2JhY2tncm91bmQ6I0ZCRTNFNDtjb2xvcjojOGExZjExO2JvcmRlci1jb2xvcjojRkJDMkM0O30NCi5ub3RpY2Uge2JhY2tncm91bmQ6I0ZGRjZCRjtjb2xvcjojNTE0NzIxO2JvcmRlci1jb2xvcjojRkZEMzI0O30NCi5zdWNjZXNzIHtiYWNrZ3JvdW5kOiNFNkVGQzI7Y29sb3I6IzI2NDQwOTtib3JkZXItY29sb3I6I0M2RDg4MDt9DQouZXJyb3IgYSB7Y29sb3I6IzhhMWYxMTt9DQoubm90aWNlIGEge2NvbG9yOiM1MTQ3MjE7fQ0KLnN1Y2Nlc3MgYSB7Y29sb3I6IzI2NDQwOTt9", "screen");
// default trac styles for styling code and diffs
addMyStylesheet(tracbase+"chrome/common/css/code.css", "screen");
//addMyStylesheet(tracbase+"/chrome/common/css/changeset.css", "screen");
addMyStylesheet(tracbase+"chrome/common/css/diff.css", "screen");
//document.body.setAttribute("class", "container");
//document.getElementById("main").setAttribute("class", "container");
//document.getElementById("content").setAttribute("class", "prepend-1");
if (document.getElementById("changelog")) {
var xpathcomments = "//div[@id='changelog']/form/div//div[@class='comment']";
var comments = document.evaluate(xpathcomments, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i=0;i<comments.snapshotLength;i++ ) {
if (comments.snapshotItem(i).innerHTML.length > 0) {
var avatarHTML = "<img src='data:image/png;base64,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' style='float:left; padding-left: 1em;'/>";
form = comments.snapshotItem(i).parentNode.parentNode;
form.innerHTML = avatarHTML+form.innerHTML;
}
}
}
// when viewing a ticket make the milestone name link to the query showing all tickets in this milestone
if (document.getElementById("ticket")) {
var milestoneHeading = document.getElementById("h_milestone");
var ticketMilestone = milestoneHeading.nextSibling.nextSibling.textContent; // newline followed by the actual value
var milestoneLink = tracbase + "query?status=~&order=keywords&milestone="+escape(ticketMilestone);
milestoneHeading.nextSibling.nextSibling.innerHTML = "<a href="+milestoneLink+">"+ticketMilestone+"</a>";
}
// specific for my work ;)
if (document.location.href.indexOf("bath.ac.uk")>0 && document.getElementById("newticket")!=null && document.location.hash.indexOf("preview")<0) {
var description = document.getElementById("description");
description.value = "A description of the feature or problem\n\n==== Acceptance criteria ====\n\n * page must be returned in under two seconds\n * search results must match those in the source application\n * Content must follow Tone of Voice guidelines";
var summary = document.getElementById("summary");
summary.value = "Users can do something with something ";
}
/*
if (document.getElementById("changelog")) {
// insert comment bubble before each change comment
var changeforms = document.getElementById("changelog").getElementsByTagName("form");
var avatarHTML = "<img src='data:image/png;base64,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' style='float:left;'/>";
for (var i=0;i<changeforms.length;i++) {
changeforms[i].childNodes[1].innerHTML = avatarHTML+changeforms[i].childNodes[1].innerHTML;
}
}
*/
GM_addStyle("#search, #ctxtnav, #footer, #content a.anchor, #content span.inlinebuttons, #anydiff { display: none; }");
if (document.location.pathname.indexOf("browser")>0 || document.location.pathname.indexOf("report")>0) {
GM_addStyle("#ctxtnav { \
display: block;\
float: right;\
padding-top: 5px;\
padding-right: 1.2em;\
}\
#ctxtnav ul, #ctxtnav li { \
display: inline;\
margin-bottom: 0;\
margin-left: 8px;\
}\
#ctxtnav a { \
color: white;\
}\
#ctxtnav h2 {\
display: none;\
}");
}
GM_addStyle("hr { display: none; }\
th { background-color: inherit; }\
body { background: #ddd; color: #333; margin: 0; }\
#header h1 { margin-bottom: 0px; }\
#banner {\
background: #5A9ECF;\
height: 70px;\
margin: 0;\
text-align: left;\
padding-top: 1px;\
position: relative;\
border-top: 1px solid #222;\
}\
#banner #metanav ul {\
margin: 0;\
}\
#banner #metanav ul li {\
font-size: 92%;\
list-style: none;\
float: right;\
margin-right: 10px;\
margin-top: 0px;\
}\
#mainnav {\
background: #5A9ECF;\
height: 20px;\
margin: 0;\
text-align: left;\
padding-top: 1px;\
position: relative;\
border-bottom: 6px solid #058;\
border-top: none;\
}\
#mainnav ul {\
height: 100%;\
margin-bottom: 0;\
}\
#mainnav ul li {\
list-style: none;\
display: inline;\
margin: 0 5px 0 0;\
background: #333333 none repeat scroll 0 0;\
-moz-border-radius-topleft: 4px;\
-moz-border-radius-topright: 4px;\
padding: 4px 0 3px 0;\
}\
#mainnav ul li:hover {\
background-color: #777;\
}\
#mainnav ul li a {\
color: #fff;\
text-decoration: none;\
font-weight: bold;\
padding: 4px 10px 3px 10px;\
}\
#mainnav ul li.active {\
background-color: #004477;\
background-image: url('data:image/png;base64,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');\
background-repeat: no-repeat;\
background-position: 9px 5px;\
background-attachment: scroll;\
padding-left: 20px;\
}\
#content {\
background-color: #fff;\
-moz-border-radius-topleft: 4px;\
-moz-border-radius-topright: 4px;\
margin-left: 18px;\
margin-right: 18px;\
margin-top: 7px;\
padding-left: 0px;\
}\
#content h1 {\
background: #006699 none repeat scroll 0 0;\
-moz-border-radius-topleft: 4px;\
-moz-border-radius-topright: 4px;\
color: #fff;\
font-size: 1.4em;\
padding: 7px;\
margin-bottom: 0;\
}\
#content h1 a {\
color: #fff;\
margin-bottom: 0;\
}\
h1 .sep{\
color: inherit;\
}\
#content h2 {\
font-size:1.3em;\
margin-bottom:0;\
margin-left:7px;\
margin-top:1.2em;\
}\
#content div#description {\
background: #5A9ECF none repeat scroll 0 0;\
color: #fff;\
padding: 7px;\
margin-bottom: 0;\
}\
#content #description p {\
margin-bottom: 0;\
}\
#content #description ul {\
margin-bottom: 0;\
}\
#content form#prefs {\
background: #5A9ECF none repeat scroll 0 0;\
color: #fff;\
padding: 7px;\
}\
#content form#prefs fieldset {\
padding: 0;\
padding-top: 0.7em;\
margin: 0;\
border: none;\
}\
#content table.listing {\
margin: 7px;\
width: 98%;\
}\
#content table.listing tr:hover {\
background-color: #eee;\
}\
#content table.listing tr.color1-odd, #content table.listing tr.color1-even { \
background-color: #EE8888;\
}\
#content table.listing tr.color2-odd, #content table.listing tr.color2-even { \
background-color: #FFFFBB;\
}\
#content table.listing td > a, #content table.listing th a {\
// descendent selector means source browser still works \
color: #3388BB;\
text-decoration: none;\
font-weight: bold;\
display: block;\
}\
#content table.listing th a {\
text-decoration: underline;\
}\
#content table.listing td a:hover {\
color: #333;\
}\
#content .buttons {\
background: #5A9ECF none repeat scroll 0 0;\
padding: 7px;\
}\
#content form#prefs .buttons {\
padding-left: 0px;\
}\
#content .buttons form, #content .buttons form div {\
display: inline;\
}\
#content #newticket label[for=type], #content #newticket #type {\
display: none;\
}\
#content #newticket textarea#description {\
width: 500px;\
}\
#ticket {\
padding: 7px;\
background: #F7F7F7 none repeat scroll 0 0;\
color: #333333;\
border-bottom: 1px solid #DDDDDD;\
}\
#ticket table.properties {\
border-bottom: 1px dashed #DDDDDD;\
}\
#ticket .date{\
float: right;\
}\
#ticket .date p {\
display: inline;\
margin: 0;\
}\
#ticket h2 {\
margin-top: 0;\
margin-bottom: 5px;\
}\
#ticket .description h3 {\
display: none;\
}\
#ticket .description h4, #preview h4 {\
font-weight: bold;\
}\
#ticket h2.summary {\
color:#555555;\
text-decoration: none;\
font-size: 1.6em;\
font-weight: bold;\
}\
#altlinks {\
background-color: #CCCCCC;\
font-size:92%;\
text-align:center;\
margin: 8px 18px;\
-moz-border-radius: 4px;\
}\
#altlinks h3 {\
margin-bottom: 2px;\
color:#555555;\
}\
#altlinks ul li {\
display: inline;\
list-style: none;\
margin-right: 5px;\
}\
#altlinks a {\
color:#555555;\
text-decoration: none;\
}\
#altlinks a:hover {\
text-decoration: underline;\
}\
#changelog .change {\
border-bottom: 1px solid #eee;\
padding: 10px 0 0 10px;\
}\
#changelog .change h3 {\
font-size: 1.2em;\
font-weight: bold;\
}\
#changelog .change ul {\
font-size: 0.8em;\
}\
#changelog .change .comment, #changelog .change .changes, #changelog .change h3 {\
margin-left: 65px;\
list-style: none;\
}\
#changelog .change .comment {\
font-size: 120%;\
}\
#searchable > form > h3 {\
display: none;\
}\
fieldset {\
margin: 1.5em;\
}\
fieldset.iefix {\
border: none;\
}\
div.wiki-toc {\
float: left;\
}\
div.wikipage {\
padding: 1.5em;\
}\
div.wikipage h1 {\
/* I don't like using negative margins but this is the easiest route here I think */\
margin: -1.1em;\
}\
div.timeline dl{\
padding-left: 1.5em;\
}\
div.timeline dt.changeset, div.timeline dt.changeset a {\
padding-top: 0px;\
text-decoration: none;\
display:block;\
}\
div.timeline dd {\
padding-bottom: 15px;\
}\
div.timeline dt.changeset a {\
background-repeat: no-repeat;\
background-position: 0 4px;\
padding-top: 0;\
background-image: url("+tracbase+"chrome/common/changeset.png);\
background-repeat: no-repeat;\
}\
div.timeline dt.closedticket a {\
background-repeat: no-repeat;\
background-position: 0 4px;\
padding-top: 0;\
background-image: url("+tracbase+"chrome/common/closedticket.png);\
background-repeat: no-repeat;\
}\
div.timeline dt.newticket a {\
background-repeat: no-repeat;\
background-position: 0 4px;\
padding-top: 0;\
background-image: url("+tracbase+"chrome/common/newticket.png);\
background-repeat: no-repeat;\
}\
div.timeline dt a {\
padding:0 4px 2px 1.4em;\
text-decoration: none;\
}\
a.closed {\
text-decoration: line-through;\
}\
dt em {\
border-bottom:1px dotted #BBBBBB;\
font-style:normal;\
}\
span.time {\
color: #555555;\
font-weight: normal;\
}\
div.changeset > form > div div.field {\
display: inline;\
padding-left: 1em;\
}\
div.changeset > dl#overview {\
margin: 0;\
}\
div.report form div.field, div.ticket form div.field{\
padding-left: 1.5em;\
}\
div#help {\
color: #555;\
text-align: center;\
}\
table.progress td.closed {\
background:#BAE0BA none repeat scroll 0 0;\
}\
table.progress td.open {\
background:red none repeat scroll 0 0;\
padding: 0;\
}\
div.roadmap ul.milestones {\
list-style: none;\
}\
div#content.roadmap ul.milestones h2 {\
margin-left: 0;\
}\
div#content table.progress {\
height: 30px;\
border: 1px solid #d5d5d5;\
width: 60%;\
margin-right: 5px;\
margin-bottom: 0;\
float: left;\
}\
div#content p.percent {\
padding: 5px;\
font-weight: bold;\
}\
div.roadmap dl, div.milestone dl {\
clear: both;\
margin-bottom: 0;\
}\
div.roadmap dt, div.roadmap dd, div.milestone dt, div.milestone dd {\
display: inline;\
font-style: italic;\
margin-right: 5px;\
}\
div.roadmap p, div.milestone p {\
margin: 0 0 0.5em;\
}\
div.milestone div.info{\
margin: 0.5em 1.5em 1.5em;\
}\
div.milestone form#stats{\
\
}\
div.milestone div.description{\
margin: 0.5em 1.5em 1.5em;\
font-size: 1.2em;\
font-weight: bold;\
}\
div.query fieldset {\
padding: 0 0 0 7px;\
margin: 0 0 0 7px;\
width: 60%;\
}\
div.query .option {\
padding: 0 0 0 7px;\
margin-bottom: 0;\
}\
table#info td.message p {\
margin-bottom: 0;\
}\
table#info , table#info ul.props {\
margin-bottom: 0;\
}\
#jumprev {\
float: right;\
}");
function autoUpdateFromUserscriptsDotOrg(SCRIPT) {
// Update code from Junk Blocker: http://loonyone.livejournal.com/
// usage example
// autoUpdateFromUserscriptsDotOrg({
// name: 'RSS+Atom Feed Subscribe Button Generator',
// url: 'http://userscripts.org/scripts/source/688.user.js',
// version: "1.2",
// });
try {
if (!GM_getValue) return; // Older version of Greasemonkey. Can't run.
// avoid a flood of dialogs e.g. when opening a browser with multiple tabs set to homepage
// and a script with * includes or opening a tabgrop
var DoS_PREVENTION_TIME = 2 * 60 * 1000;
var isSomeoneChecking = GM_getValue('CHECKING', null);
var now = new Date().getTime();
GM_setValue('CHECKING', now.toString());
if (isSomeoneChecking && (now - isSomeoneChecking) < DoS_PREVENTION_TIME) return;
// check daily
var ONE_DAY = 24 * 60 * 60 * 1000;
var ONE_WEEK = 7 * ONE_DAY;
var TWO_WEEKS = 2 * ONE_WEEK;
var lastChecked = GM_getValue('LAST_CHECKED', null);
if (lastChecked && (now - lastChecked) < TWO_WEEKS) return;
GM_xmlhttpRequest({
method: 'GET',
url: SCRIPT.url + '?source', // don't increase the 'installed' count just for update checks
onload: function(result) {
if (!result.responseText.match(/@version\s+([\d.]+)/)) return; // did not find a suitable version header
var theOtherVersion = parseFloat(RegExp.$1);
if (theOtherVersion <= parseFloat(SCRIPT.version)) return; // no updates or older version on userscripts.orge site
if (window.confirm('A new version ' + theOtherVersion + ' of greasemonkey script "' + SCRIPT.name + '" is available.\nYour installed version is ' + SCRIPT.version + ' .\n\nUpdate now?\n')) {
GM_openInTab(SCRIPT.url); // better than location.replace as doing so might lose unsaved data
}
}
});
GM_setValue('LAST_CHECKED', now.toString());
} catch (ex) {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment