NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name appsuite: age
// @version 1.0.1
// @grant none
// @icon http://www.google.com/s2/favicons?domain=www.ox.io
// @namespace https://github.com/solygen/userscripts
// @repository https://github.com/solygen/userscripts.git
// @license MIT
//
// @include http://ox/appsuite/*
// @include https://appsuite-dev.open-xchange.com*
// @include https://appsuite-sprint.open-xchange.com*
// @include http://docs-dev-cont-nightly.oxhh.int/appsuite*
// @include https://ui-dev.open-xchange.com*
//
// @updateURL https://rawgithub.com/solygen/userscripts/master/scripts/open-xchange.com/appsuite.user.js
// @downloadURL https://rawgithub.com/solygen/userscripts/master/scripts/open-xchange.com/appsuite.user.js
// @homepage https://github.com/solygen/userscripts
// ==/UserScript==
(function () {
'use strict';
//logger
unsafeWindow.ox.log = {
add: function (value, key) {
key = key || 'general';
unsafeWindow.ox.logdata = unsafeWindow.ox.logdata || {};
unsafeWindow.ox.logdata[key] = unsafeWindow.ox.logdata[key] || [];
unsafeWindow.ox.logdata[key].push(value);
//unsafeWindow.ox.logdata['root'].push(value + ' [' + key + ']');
},
show: function (id) {
unsafeWindow.ox.logdata = unsafeWindow.ox.logdata || {};
console.log(JSON.stringify(unsafeWindow.ox.logdata[id] || [], undefined, 2));
},
clear: function (id) {
unsafeWindow.ox.logdata = unsafeWindow.ox.logdata || {};
if (id) {
unsafeWindow.ox.logdata[id] = undefined;
} else {
unsafeWindow.ox.logdata = undefined;
}
}
};
function ago(time) {
var periods = ['sec', 'min', 'hour', 'day', 'week', 'month', 'year', 'decade'],
lengths = ['60', '60', '24', '7', '4.35', '12', '10'],
now = new Date(),
difference = ((now - time) / 1000) - 3600,
j;
for (j = 0; difference >= lengths[j] && j < lengths.length - 1; j++) {
difference /= lengths[j];
}
difference = Math.round(difference);
if (difference !== 1) {
periods[j] += 's';
}
return difference + ' ' + periods[j];
}
var id = setInterval(function () {
var da = new Date(),
node = $($('.launchers').find('li')[0]).clone();
if (!node.length) return false;
//set date by ox version
da.setYear(ox.version.substr(-15, 4));
da.setMonth((ox.version.substr(-11, 2)) - 1);
da.setDate(ox.version.substr(-9, 2));
da.setHours(ox.version.substr(-6, 2));
da.setMinutes(ox.version.substr(-4, 2));
da.setSeconds(ox.version.substr(-2, 2));
//append to DOM
/* eslint-disable */
node.find('a').text(ago(da))
.attr('href', 'javascript: ox.cache.clear().done(function() { console.log("cache clear"); })')
.css('color', 'rgb(255, 122, 0)');
/* eslint-enable */
$('.launchers').prepend(node);
clearInterval(id);
}, 500);
})();