diff --git a/composer.json b/composer.json
index ad3bd6aa47..1468ba9d82 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
{
"name": "humhub/humhub",
- "description": "TBD",
+ "description": "HumHub - The flexible Open Source Social Network Kit for Collaboration",
"keywords": ["humhub", "yii2", "framework"],
"homepage": "http://www.humhub.com/",
"type": "project",
@@ -24,7 +24,8 @@
"zendframework/zend-http": "*",
"nqxcode/zendsearch": "^2.0",
"xj/yii2-jplayer-widget": "*",
- "zendframework/zend-ldap": "^2.5"
+ "zendframework/zend-ldap": "^2.5",
+ "bower-asset/jquery-timeago": "1.4.*"
},
"require-dev": {
"yiisoft/yii2-codeception": "*",
diff --git a/js/jquery.timeago.js b/js/jquery.timeago.js
deleted file mode 100644
index ef9327aacc..0000000000
--- a/js/jquery.timeago.js
+++ /dev/null
@@ -1,221 +0,0 @@
-/**
- * Timeago is a jQuery plugin that makes it easy to support automatically
- * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
- *
- * @name timeago
- * @version 1.4.1
- * @requires jQuery v1.2.3+
- * @author Ryan McGeary
- * @license MIT License - http://www.opensource.org/licenses/mit-license.php
- *
- * For usage and examples, visit:
- * http://timeago.yarp.com/
- *
- * Copyright (c) 2008-2013, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
- */
-
-(function (factory) {
- if (typeof define === 'function' && define.amd) {
- // AMD. Register as an anonymous module.
- define(['jquery'], factory);
- } else {
- // Browser globals
- factory(jQuery);
- }
-}(function ($) {
- $.timeago = function(timestamp) {
- if (timestamp instanceof Date) {
- return inWords(timestamp);
- } else if (typeof timestamp === "string") {
- return inWords($.timeago.parse(timestamp));
- } else if (typeof timestamp === "number") {
- return inWords(new Date(timestamp));
- } else {
- return inWords($.timeago.datetime(timestamp));
- }
- };
- var $t = $.timeago;
-
- $.extend($.timeago, {
- settings: {
- refreshMillis: 60000,
- allowPast: true,
- allowFuture: false,
- localeTitle: false,
- cutoff: 0,
- strings: {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "ago",
- suffixFromNow: "from now",
- inPast: 'any moment now',
- seconds: "less than a minute",
- minute: "about a minute",
- minutes: "%d minutes",
- hour: "about an hour",
- hours: "about %d hours",
- day: "a day",
- days: "%d days",
- month: "about a month",
- months: "%d months",
- year: "about a year",
- years: "%d years",
- wordSeparator: " ",
- numbers: []
- }
- },
-
- inWords: function(distanceMillis) {
- if(!this.settings.allowPast && ! this.settings.allowFuture) {
- throw 'timeago allowPast and allowFuture settings can not both be set to false.';
- }
-
- var $l = this.settings.strings;
- var prefix = $l.prefixAgo;
- var suffix = $l.suffixAgo;
- if (this.settings.allowFuture) {
- if (distanceMillis < 0) {
- prefix = $l.prefixFromNow;
- suffix = $l.suffixFromNow;
- }
- }
-
- if(!this.settings.allowPast && distanceMillis >= 0) {
- return this.settings.strings.inPast;
- }
-
- var seconds = Math.abs(distanceMillis) / 1000;
- var minutes = seconds / 60;
- var hours = minutes / 60;
- var days = hours / 24;
- var years = days / 365;
-
- function substitute(stringOrFunction, number) {
- var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
- var value = ($l.numbers && $l.numbers[number]) || number;
- return string.replace(/%d/i, value);
- }
-
- var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
- seconds < 90 && substitute($l.minute, 1) ||
- minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
- minutes < 90 && substitute($l.hour, 1) ||
- hours < 24 && substitute($l.hours, Math.round(hours)) ||
- hours < 42 && substitute($l.day, 1) ||
- days < 30 && substitute($l.days, Math.round(days)) ||
- days < 45 && substitute($l.month, 1) ||
- days < 365 && substitute($l.months, Math.round(days / 30)) ||
- years < 1.5 && substitute($l.year, 1) ||
- substitute($l.years, Math.round(years));
-
- var separator = $l.wordSeparator || "";
- if ($l.wordSeparator === undefined) { separator = " "; }
- return $.trim([prefix, words, suffix].join(separator));
- },
-
- parse: function(iso8601) {
- var s = $.trim(iso8601);
- s = s.replace(/\.\d+/,""); // remove milliseconds
- s = s.replace(/-/,"/").replace(/-/,"/");
- s = s.replace(/T/," ").replace(/Z/," UTC");
- s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
- s = s.replace(/([\+\-]\d\d)$/," $100"); // +09 -> +0900
- return new Date(s);
- },
- datetime: function(elem) {
- var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
- return $t.parse(iso8601);
- },
- isTime: function(elem) {
- // jQuery's `is()` doesn't play well with HTML5 in IE
- return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
- }
- });
-
- // functions that can be called via $(el).timeago('action')
- // init is default when no action is given
- // functions are called with context of a single element
- var functions = {
- init: function(){
- var refresh_el = $.proxy(refresh, this);
- refresh_el();
- var $s = $t.settings;
- if ($s.refreshMillis > 0) {
- this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis);
- }
- },
- update: function(time){
- var parsedTime = $t.parse(time);
- $(this).data('timeago', { datetime: parsedTime });
- if($t.settings.localeTitle) $(this).attr("title", parsedTime.toLocaleString());
- refresh.apply(this);
- },
- updateFromDOM: function(){
- $(this).data('timeago', { datetime: $t.parse( $t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title") ) });
- refresh.apply(this);
- },
- dispose: function () {
- if (this._timeagoInterval) {
- window.clearInterval(this._timeagoInterval);
- this._timeagoInterval = null;
- }
- }
- };
-
- $.fn.timeago = function(action, options) {
- var fn = action ? functions[action] : functions.init;
- if(!fn){
- throw new Error("Unknown function name '"+ action +"' for timeago");
- }
- // each over objects here and call the requested function
- this.each(function(){
- fn.call(this, options);
- });
- return this;
- };
-
- function refresh() {
- //check if it's still visible
- if(!$.contains(document.documentElement,this)){
- //stop if it has been removed
- $(this).timeago("dispose");
- return this;
- }
-
- var data = prepareData(this);
- var $s = $t.settings;
-
- if (!isNaN(data.datetime)) {
- if ( $s.cutoff == 0 || Math.abs(distance(data.datetime)) < $s.cutoff) {
- $(this).text(inWords(data.datetime));
- }
- }
- return this;
- }
-
- function prepareData(element) {
- element = $(element);
- if (!element.data("timeago")) {
- element.data("timeago", { datetime: $t.datetime(element) });
- var text = $.trim(element.text());
- if ($t.settings.localeTitle) {
- element.attr("title", element.data('timeago').datetime.toLocaleString());
- } else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
- element.attr("title", text);
- }
- }
- return element.data("timeago");
- }
-
- function inWords(date) {
- return $t.inWords(distance(date));
- }
-
- function distance(date) {
- return (new Date().getTime() - date.getTime());
- }
-
- // fix for IE6 suckage
- document.createElement("abbr");
- document.createElement("time");
-}));
diff --git a/js/locales/README.md b/js/locales/README.md
deleted file mode 100644
index 7557112da6..0000000000
--- a/js/locales/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Locale override examples for timeago
-
-You can represent time statements in most western languages where
-a prefix and/or suffix is used.
-
-The default case is to use suffix only (as in English), which you
-do by providing the `suffixAgo` and `suffixFromNow` settings in
-the strings hash (earlier versions of timeago used the deprecated
-`ago` and `fromNow` options). If present, they are used.
-
- 2 minutes [suffixAgo]
- 2 minutes [suffixFromNow]
-
-In case you want to use prefix only instead of
-suffix (e.g. Greek), you provide the `prefixAgo` and
-`prefixFromNow` options in the strings hash and leave `suffixAgo`
-and `suffixFromNow` empty or null.
-
- [prefixAgo] 2 minutes
- [prefixFromNow] 2 minutes
-
-For languages where you want to use a prefix only for future
-tense and prefix/suffix for past tense (for example swedish), you
-can combine the prefix and suffixes as needed.
-
- [prefixAgo] 2 minutes [suffixAgo]
- [prefixFromNow] 2 minutes
diff --git a/js/locales/jquery.timeago.ar.js b/js/locales/jquery.timeago.ar.js
deleted file mode 100644
index 9e73d7455e..0000000000
--- a/js/locales/jquery.timeago.ar.js
+++ /dev/null
@@ -1,96 +0,0 @@
-(function() {
- function numpf(n, a) {
- return a[plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5];
- }
-
-jQuery.timeago.settings.strings = {
- prefixAgo: "منذ",
- prefixFromNow: "بعد",
- suffixAgo: null,
- suffixFromNow: null, // null OR "من الآن"
- second: function(value) { return numpf(value, [
- 'أقل من ثانية',
- 'ثانية واحدة',
- 'ثانيتين',
- '%d ثوانٍ',
- '%d ثانية',
- '%d ثانية']); },
- seconds: function(value) { return numpf(value, [
- 'أقل من ثانية',
- 'ثانية واحدة',
- 'ثانيتين',
- '%d ثوانٍ',
- '%d ثانية',
- '%d ثانية']); },
- minute: function(value) { return numpf(value, [
- 'أقل من دقيقة',
- 'دقيقة واحدة',
- 'دقيقتين',
- '%d دقائق',
- '%d دقيقة',
- 'دقيقة']); },
- minutes: function(value) { return numpf(value, [
- 'أقل من دقيقة',
- 'دقيقة واحدة',
- 'دقيقتين',
- '%d دقائق',
- '%d دقيقة',
- 'دقيقة']); },
- hour: function(value) { return numpf(value, [
- 'أقل من ساعة',
- 'ساعة واحدة',
- 'ساعتين',
- '%d ساعات',
- '%d ساعة',
- '%d ساعة']); },
- hours: function(value) { return numpf(value, [
- 'أقل من ساعة',
- 'ساعة واحدة',
- 'ساعتين',
- '%d ساعات',
- '%d ساعة',
- '%d ساعة']); },
- day: function(value) { return numpf(value, [
- 'أقل من يوم',
- 'يوم واحد',
- 'يومين',
- '%d أيام',
- '%d يومًا',
- '%d يوم']); },
- days: function(value) { return numpf(value, [
- 'أقل من يوم',
- 'يوم واحد',
- 'يومين',
- '%d أيام',
- '%d يومًا',
- '%d يوم']); },
- month: function(value) { return numpf(value, [
- 'أقل من شهر',
- 'شهر واحد',
- 'شهرين',
- '%d أشهر',
- '%d شهرًا',
- '%d شهر']); },
- months: function(value) { return numpf(value, [
- 'أقل من شهر',
- 'شهر واحد',
- 'شهرين',
- '%d أشهر',
- '%d شهرًا',
- '%d شهر']); },
- year: function(value) { return numpf(value, [
- 'أقل من عام',
- 'عام واحد',
- '%d عامين',
- '%d أعوام',
- '%d عامًا']);
- },
- years: function(value) { return numpf(value, [
- 'أقل من عام',
- 'عام واحد',
- 'عامين',
- '%d أعوام',
- '%d عامًا',
- '%d عام']);}
- };
-})();
diff --git a/js/locales/jquery.timeago.bg.js b/js/locales/jquery.timeago.bg.js
deleted file mode 100644
index df6b865ec6..0000000000
--- a/js/locales/jquery.timeago.bg.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Bulgarian
-jQuery.timeago.settings.strings = {
- prefixAgo: "преди",
- prefixFromNow: "след",
- suffixAgo: null,
- suffixFromNow: null,
- seconds: "по-малко от минута",
- minute: "една минута",
- minutes: "%d минути",
- hour: "един час",
- hours: "%d часа",
- day: "един ден",
- days: "%d дни",
- month: "един месец",
- months: "%d месеца",
- year: "една година",
- years: "%d години"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.bs.js b/js/locales/jquery.timeago.bs.js
deleted file mode 100644
index 01530feaa2..0000000000
--- a/js/locales/jquery.timeago.bs.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Bosnian
-(function() {
- var numpf;
-
- numpf = function(n, f, s, t) {
- var n10;
- n10 = n % 10;
- if (n10 === 1 && (n === 1 || n > 20)) {
- return f;
- } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) {
- return s;
- } else {
- return t;
- }
- };
-
- jQuery.timeago.settings.strings = {
- prefixAgo: "prije",
- prefixFromNow: "za",
- suffixAgo: null,
- suffixFromNow: null,
- second: "sekund",
- seconds: function(value) {
- return numpf(value, "%d sekund", "%d sekunde", "%d sekundi");
- },
- minute: "oko minut",
- minutes: function(value) {
- return numpf(value, "%d minut", "%d minute", "%d minuta");
- },
- hour: "oko sat",
- hours: function(value) {
- return numpf(value, "%d sat", "%d sata", "%d sati");
- },
- day: "oko jednog dana",
- days: function(value) {
- return numpf(value, "%d dan", "%d dana", "%d dana");
- },
- month: "mjesec dana",
- months: function(value) {
- return numpf(value, "%d mjesec", "%d mjeseca", "%d mjeseci");
- },
- year: "prije godinu dana ",
- years: function(value) {
- return numpf(value, "%d godinu", "%d godine", "%d godina");
- },
- wordSeparator: " "
- };
-
-}).call(this);
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.ca.js b/js/locales/jquery.timeago.ca.js
deleted file mode 100644
index 59014ea50a..0000000000
--- a/js/locales/jquery.timeago.ca.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Catalan
-jQuery.timeago.settings.strings = {
- prefixAgo: "fa",
- prefixFromNow: "d'aqui a",
- suffixAgo: null,
- suffixFromNow: null,
- seconds: "menys d'1 minut",
- minute: "1 minut",
- minutes: "uns %d minuts",
- hour: "1 hora",
- hours: "unes %d hores",
- day: "1 dia",
- days: "%d dies",
- month: "aproximadament un mes",
- months: "%d mesos",
- year: "aproximadament un any",
- years: "%d anys"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.cs.js b/js/locales/jquery.timeago.cs.js
deleted file mode 100644
index 1d9fb804e2..0000000000
--- a/js/locales/jquery.timeago.cs.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// Czech
-(function() {
- function f(n, d, a) {
- return a[d>=0 ? 0 : a.length==2 || n<5 ? 1 : 2];
- }
-
- jQuery.timeago.settings.strings = {
- prefixAgo: 'před',
- prefixFromNow: 'za',
- suffixAgo: null,
- suffixFromNow: null,
- seconds: function(n, d) {return f(n, d, ['méně než minutou', 'méně než minutu'])},
- minute: function(n, d) {return f(n, d, ['minutou', 'minutu'])},
- minutes: function(n, d) {return f(n, d, ['%d minutami', '%d minuty', '%d minut'])},
- hour: function(n, d) {return f(n, d, ['hodinou', 'hodinu'])},
- hours: function(n, d) {return f(n, d, ['%d hodinami', '%d hodiny', '%d hodin'])},
- day: function(n, d) {return f(n, d, ['%d dnem', '%d den'])},
- days: function(n, d) {return f(n, d, ['%d dny', '%d dny', '%d dní'])},
- month: function(n, d) {return f(n, d, ['%d měsícem', '%d měsíc'])},
- months: function(n, d) {return f(n, d, ['%d měsící', '%d měsíce', '%d měsíců'])},
- year: function(n, d) {return f(n, d, ['%d rokem', '%d rok'])},
- years: function(n, d) {return f(n, d, ['%d lety', '%d roky', '%d let'])}
- };
-})();
diff --git a/js/locales/jquery.timeago.cy.js b/js/locales/jquery.timeago.cy.js
deleted file mode 100644
index a285ff4e84..0000000000
--- a/js/locales/jquery.timeago.cy.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Welsh
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "yn ôl",
- suffixFromNow: "o hyn",
- seconds: "llai na munud",
- minute: "am funud",
- minutes: "%d munud",
- hour: "tua awr",
- hours: "am %d awr",
- day: "y dydd",
- days: "%d diwrnod",
- month: "tua mis",
- months: "%d mis",
- year: "am y flwyddyn",
- years: "%d blynedd",
- wordSeparator: " ",
- numbers: []
-};
diff --git a/js/locales/jquery.timeago.da.js b/js/locales/jquery.timeago.da.js
deleted file mode 100644
index ff50e873f3..0000000000
--- a/js/locales/jquery.timeago.da.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Danish
-jQuery.timeago.settings.strings = {
- prefixAgo: "for",
- prefixFromNow: "om",
- suffixAgo: "siden",
- suffixFromNow: "",
- seconds: "mindre end et minut",
- minute: "ca. et minut",
- minutes: "%d minutter",
- hour: "ca. en time",
- hours: "ca. %d timer",
- day: "en dag",
- days: "%d dage",
- month: "ca. en måned",
- months: "%d måneder",
- year: "ca. et år",
- years: "%d år"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.de.js b/js/locales/jquery.timeago.de.js
deleted file mode 100644
index f10b06eebb..0000000000
--- a/js/locales/jquery.timeago.de.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// German
-jQuery.timeago.settings.strings = {
- prefixAgo: "vor",
- prefixFromNow: "in",
- suffixAgo: "",
- suffixFromNow: "",
- seconds: "wenigen Sekunden",
- minute: "etwa einer Minute",
- minutes: "%d Minuten",
- hour: "etwa einer Stunde",
- hours: "%d Stunden",
- day: "etwa einem Tag",
- days: "%d Tagen",
- month: "etwa einem Monat",
- months: "%d Monaten",
- year: "etwa einem Jahr",
- years: "%d Jahren"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.el.js b/js/locales/jquery.timeago.el.js
deleted file mode 100644
index 61aaafe495..0000000000
--- a/js/locales/jquery.timeago.el.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Greek
-jQuery.timeago.settings.strings = {
- prefixAgo: "πριν",
- prefixFromNow: "σε",
- suffixAgo: "",
- suffixFromNow: "",
- seconds: "λιγότερο από ένα λεπτό",
- minute: "περίπου ένα λεπτό",
- minutes: "%d λεπτά",
- hour: "περίπου μία ώρα",
- hours: "περίπου %d ώρες",
- day: "μία μέρα",
- days: "%d μέρες",
- month: "περίπου ένα μήνα",
- months: "%d μήνες",
- year: "περίπου ένα χρόνο",
- years: "%d χρόνια"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.en-short.js b/js/locales/jquery.timeago.en-short.js
deleted file mode 100644
index 4cab7ff6ff..0000000000
--- a/js/locales/jquery.timeago.en-short.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// English shortened
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "",
- suffixFromNow: "",
- seconds: "1m",
- minute: "1m",
- minutes: "%dm",
- hour: "1h",
- hours: "%dh",
- day: "1d",
- days: "%dd",
- month: "1mo",
- months: "%dmo",
- year: "1yr",
- years: "%dyr",
- wordSeparator: " ",
- numbers: []
-};
diff --git a/js/locales/jquery.timeago.en.js b/js/locales/jquery.timeago.en.js
deleted file mode 100644
index 3d6652c230..0000000000
--- a/js/locales/jquery.timeago.en.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// English (Template)
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "ago",
- suffixFromNow: "from now",
- seconds: "less than a minute",
- minute: "about a minute",
- minutes: "%d minutes",
- hour: "about an hour",
- hours: "about %d hours",
- day: "a day",
- days: "%d days",
- month: "about a month",
- months: "%d months",
- year: "about a year",
- years: "%d years",
- wordSeparator: " ",
- numbers: []
-};
diff --git a/js/locales/jquery.timeago.es-short.js b/js/locales/jquery.timeago.es-short.js
deleted file mode 100644
index 65d85c7154..0000000000
--- a/js/locales/jquery.timeago.es-short.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Spanish shortened
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "",
- suffixFromNow: "",
- seconds: "1m",
- minute: "1m",
- minutes: "%dm",
- hour: "1h",
- hours: "%dh",
- day: "1d",
- days: "%dd",
- month: "1me",
- months: "%dme",
- year: "1a",
- years: "%da",
- wordSeparator: " ",
- numbers: []
-};
diff --git a/js/locales/jquery.timeago.es.js b/js/locales/jquery.timeago.es.js
deleted file mode 100644
index 00c6d0a6cb..0000000000
--- a/js/locales/jquery.timeago.es.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Spanish
-jQuery.timeago.settings.strings = {
- prefixAgo: "hace",
- prefixFromNow: "dentro de",
- suffixAgo: "",
- suffixFromNow: "",
- seconds: "menos de un minuto",
- minute: "un minuto",
- minutes: "unos %d minutos",
- hour: "una hora",
- hours: "%d horas",
- day: "un día",
- days: "%d días",
- month: "un mes",
- months: "%d meses",
- year: "un año",
- years: "%d años"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.et.js b/js/locales/jquery.timeago.et.js
deleted file mode 100644
index 7d17eb5c61..0000000000
--- a/js/locales/jquery.timeago.et.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Estonian
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "tagasi",
- suffixFromNow: "pärast",
- seconds: function(n, d) { return d < 0 ? "vähem kui minuti aja" : "vähem kui minut aega" },
- minute: function(n, d) { return d < 0 ? "umbes minuti aja" : "umbes minut aega" },
- minutes: function(n, d) { return d < 0 ? "%d minuti" : "%d minutit" },
- hour: function(n, d) { return d < 0 ? "umbes tunni aja" : "umbes tund aega" },
- hours: function(n, d) { return d < 0 ? "%d tunni" : "%d tundi" },
- day: function(n, d) { return d < 0 ? "umbes päeva" : "umbes päev" },
- days: function(n, d) { return d < 0 ? "%d päeva" : "%d päeva" },
- month: function(n, d) { return d < 0 ? "umbes kuu aja" : "umbes kuu aega" },
- months: function(n, d) { return d < 0 ? "%d kuu" : "%d kuud" },
- year: function(n, d) { return d < 0 ? "umbes aasta aja" : "umbes aasta aega" },
- years: function(n, d) { return d < 0 ? "%d aasta" : "%d aastat" }
-};
diff --git a/js/locales/jquery.timeago.fa.js b/js/locales/jquery.timeago.fa.js
deleted file mode 100644
index 36bdb449f3..0000000000
--- a/js/locales/jquery.timeago.fa.js
+++ /dev/null
@@ -1,22 +0,0 @@
-
-// Persian
-// Use DIR attribute for RTL text in Persian Language for ABBR tag .
-// By MB.seifollahi@gmail.com
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "پیش",
- suffixFromNow: "از حال",
- seconds: "کمتر از یک دقیقه",
- minute: "حدود یک دقیقه",
- minutes: "%d دقیقه",
- hour: "حدود یک ساعت",
- hours: "حدود %d ساعت",
- day: "یک روز",
- days: "%d روز",
- month: "حدود یک ماه",
- months: "%d ماه",
- year: "حدود یک سال",
- years: "%d سال",
- wordSeparator: " "
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.fi.js b/js/locales/jquery.timeago.fi.js
deleted file mode 100644
index 06b12ee0bc..0000000000
--- a/js/locales/jquery.timeago.fi.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// Finnish
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "sitten",
- suffixFromNow: "tulevaisuudessa",
- seconds: "alle minuutti",
- minute: "minuutti",
- minutes: "%d minuuttia",
- hour: "tunti",
- hours: "%d tuntia",
- day: "päivä",
- days: "%d päivää",
- month: "kuukausi",
- months: "%d kuukautta",
- year: "vuosi",
- years: "%d vuotta"
-};
-
-// The above is not a great localization because one would usually
-// write "2 days ago" in Finnish as "2 päivää sitten", however
-// one would write "2 days into the future" as "2:n päivän päästä"
-// which cannot be achieved with localization support this simple.
-// This is because Finnish has word suffixes (attached directly
-// to the end of the word). The word "day" is "päivä" in Finnish.
-// As workaround, the above localizations will say
-// "2 päivää tulevaisuudessa" which is understandable but
-// not as fluent.
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.fr-short.js b/js/locales/jquery.timeago.fr-short.js
deleted file mode 100644
index dbfe3bb019..0000000000
--- a/js/locales/jquery.timeago.fr-short.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// French shortened
-jQuery.timeago.settings.strings = {
- prefixAgo: "il y a",
- prefixFromNow: "d'ici",
- seconds: "moins d'une minute",
- minute: "une minute",
- minutes: "%d minutes",
- hour: "une heure",
- hours: "%d heures",
- day: "un jour",
- days: "%d jours",
- month: "un mois",
- months: "%d mois",
- year: "un an",
- years: "%d ans"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.fr.js b/js/locales/jquery.timeago.fr.js
deleted file mode 100644
index 5028342306..0000000000
--- a/js/locales/jquery.timeago.fr.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// French
-jQuery.timeago.settings.strings = {
- // environ ~= about, it's optional
- prefixAgo: "il y a",
- prefixFromNow: "d'ici",
- seconds: "moins d'une minute",
- minute: "environ une minute",
- minutes: "environ %d minutes",
- hour: "environ une heure",
- hours: "environ %d heures",
- day: "environ un jour",
- days: "environ %d jours",
- month: "environ un mois",
- months: "environ %d mois",
- year: "un an",
- years: "%d ans"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.gl.js b/js/locales/jquery.timeago.gl.js
deleted file mode 100644
index 14bc56ddc3..0000000000
--- a/js/locales/jquery.timeago.gl.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Galician
-jQuery.timeago.settings.strings = {
- prefixAgo: "hai",
- prefixFromNow: "dentro de",
- suffixAgo: "",
- suffixFromNow: "",
- seconds: "menos dun minuto",
- minute: "un minuto",
- minutes: "uns %d minutos",
- hour: "unha hora",
- hours: "%d horas",
- day: "un día",
- days: "%d días",
- month: "un mes",
- months: "%d meses",
- year: "un ano",
- years: "%d anos"
-};
diff --git a/js/locales/jquery.timeago.he.js b/js/locales/jquery.timeago.he.js
deleted file mode 100644
index ac44458a5f..0000000000
--- a/js/locales/jquery.timeago.he.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Hebrew
-jQuery.timeago.settings.strings = {
- prefixAgo: "לפני",
- prefixFromNow: "עוד",
- seconds: "פחות מדקה",
- minute: "דקה",
- minutes: "%d דקות",
- hour: "שעה",
- hours: function(number){return (number==2) ? "שעתיים" : "%d שעות"},
- day: "יום",
- days: function(number){return (number==2) ? "יומיים" : "%d ימים"},
- month: "חודש",
- months: function(number){return (number==2) ? "חודשיים" : "%d חודשים"},
- year: "שנה",
- years: function(number){return (number==2) ? "שנתיים" : "%d שנים"}
-};
diff --git a/js/locales/jquery.timeago.hr.js b/js/locales/jquery.timeago.hr.js
deleted file mode 100644
index a85bd803bc..0000000000
--- a/js/locales/jquery.timeago.hr.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Croatian
-(function () {
- var numpf;
-
- numpf = function (n, f, s, t) {
- var n10;
- n10 = n % 10;
- if (n10 === 1 && (n === 1 || n > 20)) {
- return f;
- } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) {
- return s;
- } else {
- return t;
- }
- };
-
- jQuery.timeago.settings.strings = {
- prefixAgo: "prije",
- prefixFromNow: "za",
- suffixAgo: null,
- suffixFromNow: null,
- second: "sekundu",
- seconds: function (value) {
- return numpf(value, "%d sekundu", "%d sekunde", "%d sekundi");
- },
- minute: "oko minutu",
- minutes: function (value) {
- return numpf(value, "%d minutu", "%d minute", "%d minuta");
- },
- hour: "oko jedan sat",
- hours: function (value) {
- return numpf(value, "%d sat", "%d sata", "%d sati");
- },
- day: "jedan dan",
- days: function (value) {
- return numpf(value, "%d dan", "%d dana", "%d dana");
- },
- month: "mjesec dana",
- months: function (value) {
- return numpf(value, "%d mjesec", "%d mjeseca", "%d mjeseci");
- },
- year: "prije godinu dana",
- years: function (value) {
- return numpf(value, "%d godinu", "%d godine", "%d godina");
- },
- wordSeparator: " "
- };
-
-}).call(this);
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.hu.js b/js/locales/jquery.timeago.hu.js
deleted file mode 100644
index 3079c22b72..0000000000
--- a/js/locales/jquery.timeago.hu.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Hungarian
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: null,
- suffixFromNow: null,
- seconds: "kevesebb mint egy perce",
- minute: "körülbelül egy perce",
- minutes: "%d perce",
- hour: "körülbelül egy órája",
- hours: "körülbelül %d órája",
- day: "körülbelül egy napja",
- days: "%d napja",
- month: "körülbelül egy hónapja",
- months: "%d hónapja",
- year: "körülbelül egy éve",
- years: "%d éve"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.hy.js b/js/locales/jquery.timeago.hy.js
deleted file mode 100644
index cd6e195e20..0000000000
--- a/js/locales/jquery.timeago.hy.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Armenian
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "առաջ",
- suffixFromNow: "հետո",
- seconds: "վայրկյաններ",
- minute: "մեկ րոպե",
- minutes: "%d րոպե",
- hour: "մեկ ժամ",
- hours: "%d ժամ",
- day: "մեկ օր",
- days: "%d օր",
- month: "մեկ ամիս",
- months: "%d ամիս",
- year: "մեկ տարի",
- years: "%d տարի"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.id.js b/js/locales/jquery.timeago.id.js
deleted file mode 100644
index 296d84e241..0000000000
--- a/js/locales/jquery.timeago.id.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Indonesian
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "yang lalu",
- suffixFromNow: "dari sekarang",
- seconds: "kurang dari semenit",
- minute: "sekitar satu menit",
- minutes: "%d menit",
- hour: "sekitar sejam",
- hours: "sekitar %d jam",
- day: "sehari",
- days: "%d hari",
- month: "sekitar sebulan",
- months: "%d bulan",
- year: "sekitar setahun",
- years: "%d tahun"
-};
diff --git a/js/locales/jquery.timeago.is.js b/js/locales/jquery.timeago.is.js
deleted file mode 100644
index d8074cf01a..0000000000
--- a/js/locales/jquery.timeago.is.js
+++ /dev/null
@@ -1,19 +0,0 @@
-jQuery.timeago.settings.strings = {
- prefixAgo: "fyrir",
- prefixFromNow: "eftir",
- suffixAgo: "síðan",
- suffixFromNow: null,
- seconds: "minna en mínútu",
- minute: "mínútu",
- minutes: "%d mínútum",
- hour: "klukkutíma",
- hours: "um %d klukkutímum",
- day: "degi",
- days: "%d dögum",
- month: "mánuði",
- months: "%d mánuðum",
- year: "ári",
- years: "%d árum",
- wordSeparator: " ",
- numbers: []
-};
diff --git a/js/locales/jquery.timeago.it.js b/js/locales/jquery.timeago.it.js
deleted file mode 100644
index 6308dd30cc..0000000000
--- a/js/locales/jquery.timeago.it.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Italian
-jQuery.timeago.settings.strings = {
- suffixAgo: "fa",
- suffixFromNow: "da ora",
- seconds: "meno di un minuto",
- minute: "circa un minuto",
- minutes: "%d minuti",
- hour: "circa un'ora",
- hours: "circa %d ore",
- day: "un giorno",
- days: "%d giorni",
- month: "circa un mese",
- months: "%d mesi",
- year: "circa un anno",
- years: "%d anni"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.ja.js b/js/locales/jquery.timeago.ja.js
deleted file mode 100644
index fd81f275d0..0000000000
--- a/js/locales/jquery.timeago.ja.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// Japanese
-jQuery.timeago.settings.strings = {
- prefixAgo: "",
- prefixFromNow: "今から",
- suffixAgo: "前",
- suffixFromNow: "後",
- seconds: "1 分未満",
- minute: "約 1 分",
- minutes: "%d 分",
- hour: "約 1 時間",
- hours: "約 %d 時間",
- day: "約 1 日",
- days: "約 %d 日",
- month: "約 1 月",
- months: "約 %d 月",
- year: "約 1 年",
- years: "約 %d 年",
- wordSeparator: ""
-};
diff --git a/js/locales/jquery.timeago.jv.js b/js/locales/jquery.timeago.jv.js
deleted file mode 100644
index 98f43ef220..0000000000
--- a/js/locales/jquery.timeago.jv.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Javanesse (Boso Jowo)
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "kepungkur",
- suffixFromNow: "seko saiki",
- seconds: "kurang seko sakmenit",
- minute: "kurang luwih sakmenit",
- minutes: "%d menit",
- hour: "kurang luwih sakjam",
- hours: "kurang luwih %d jam",
- day: "sedina",
- days: "%d dina",
- month: "kurang luwih sewulan",
- months: "%d wulan",
- year: "kurang luwih setahun",
- years: "%d tahun"
-};
diff --git a/js/locales/jquery.timeago.ko.js b/js/locales/jquery.timeago.ko.js
deleted file mode 100644
index a192b97bf6..0000000000
--- a/js/locales/jquery.timeago.ko.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// Korean
-jQuery.timeago.settings.strings = {
- suffixAgo: "전",
- suffixFromNow: "후",
- seconds: "1분 이내",
- minute: "1분",
- minutes: "%d분",
- hour: "1시간",
- hours: "%d시간",
- day: "하루",
- days: "%d일",
- month: "한 달",
- months: "%d달",
- year: "1년",
- years: "%d년",
- wordSeparator: " "
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.lt.js b/js/locales/jquery.timeago.lt.js
deleted file mode 100644
index 0814555763..0000000000
--- a/js/locales/jquery.timeago.lt.js
+++ /dev/null
@@ -1,20 +0,0 @@
-//Lithuanian
-jQuery.timeago.settings.strings = {
- prefixAgo: "prieš",
- prefixFromNow: null,
- suffixAgo: null,
- suffixFromNow: "nuo dabar",
- seconds: "%d sek.",
- minute: "min.",
- minutes: "%d min.",
- hour: "val.",
- hours: "%d val.",
- day: "1 d.",
- days: "%d d.",
- month: "mėn.",
- months: "%d mėn.",
- year: "metus",
- years: "%d metus",
- wordSeparator: " ",
- numbers: []
-};
diff --git a/js/locales/jquery.timeago.mk.js b/js/locales/jquery.timeago.mk.js
deleted file mode 100644
index 9afdd46268..0000000000
--- a/js/locales/jquery.timeago.mk.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Macedonian
-(function() {
- jQuery.timeago.settings.strings={
- prefixAgo: "пред",
- prefixFromNow: "за",
- suffixAgo: null,
- suffixFromNow: null,
- seconds: "%d секунди",
- minute: "%d минута",
- minutes: "%d минути",
- hour: "%d час",
- hours: "%d часа",
- day: "%d ден",
- days: "%d денови" ,
- month: "%d месец",
- months: "%d месеци",
- year: "%d година",
- years: "%d години"
- }
-})();
diff --git a/js/locales/jquery.timeago.nl.js b/js/locales/jquery.timeago.nl.js
deleted file mode 100644
index cd68438cca..0000000000
--- a/js/locales/jquery.timeago.nl.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Dutch
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: "",
- suffixAgo: "geleden",
- suffixFromNow: "van nu",
- seconds: "minder dan een minuut",
- minute: "ongeveer een minuut",
- minutes: "%d minuten",
- hour: "ongeveer een uur",
- hours: "ongeveer %d uur",
- day: "een dag",
- days: "%d dagen",
- month: "ongeveer een maand",
- months: "%d maanden",
- year: "ongeveer een jaar",
- years: "%d jaar",
- wordSeparator: " ",
- numbers: []
-};
diff --git a/js/locales/jquery.timeago.no.js b/js/locales/jquery.timeago.no.js
deleted file mode 100644
index 65d1b0d836..0000000000
--- a/js/locales/jquery.timeago.no.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Norwegian
-jQuery.timeago.settings.strings = {
- prefixAgo: "for",
- prefixFromNow: "om",
- suffixAgo: "siden",
- suffixFromNow: "",
- seconds: "mindre enn et minutt",
- minute: "ca. et minutt",
- minutes: "%d minutter",
- hour: "ca. en time",
- hours: "ca. %d timer",
- day: "en dag",
- days: "%d dager",
- month: "ca. en måned",
- months: "%d måneder",
- year: "ca. et år",
- years: "%d år"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.pl.js b/js/locales/jquery.timeago.pl.js
deleted file mode 100644
index 21d26fc1c1..0000000000
--- a/js/locales/jquery.timeago.pl.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Polish
-(function() {
- function numpf(n, s, t) {
- // s - 2-4, 22-24, 32-34 ...
- // t - 5-21, 25-31, ...
- var n10 = n % 10;
- if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) {
- return s;
- } else {
- return t;
- }
- }
-
- jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: "za",
- suffixAgo: "temu",
- suffixFromNow: null,
- seconds: "mniej niż minutę",
- minute: "minutę",
- minutes: function(value) { return numpf(value, "%d minuty", "%d minut"); },
- hour: "godzinę",
- hours: function(value) { return numpf(value, "%d godziny", "%d godzin"); },
- day: "dzień",
- days: "%d dni",
- month: "miesiąc",
- months: function(value) { return numpf(value, "%d miesiące", "%d miesięcy"); },
- year: "rok",
- years: function(value) { return numpf(value, "%d lata", "%d lat"); }
- };
-})();
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.pt-br.js b/js/locales/jquery.timeago.pt-br.js
deleted file mode 100644
index c72ea386a7..0000000000
--- a/js/locales/jquery.timeago.pt-br.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Brazilian Portuguese
-jQuery.timeago.settings.strings = {
- prefixAgo: "há",
- prefixFromNow: "em",
- suffixAgo: null,
- suffixFromNow: null,
- seconds: "alguns segundos",
- minute: "um minuto",
- minutes: "%d minutos",
- hour: "uma hora",
- hours: "%d horas",
- day: "um dia",
- days: "%d dias",
- month: "um mês",
- months: "%d meses",
- year: "um ano",
- years: "%d anos"
-};
diff --git a/js/locales/jquery.timeago.pt.js b/js/locales/jquery.timeago.pt.js
deleted file mode 100644
index 416333c655..0000000000
--- a/js/locales/jquery.timeago.pt.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Portuguese
-jQuery.timeago.settings.strings = {
- suffixAgo: "atrás",
- suffixFromNow: "a partir de agora",
- seconds: "menos de um minuto",
- minute: "cerca de um minuto",
- minutes: "%d minutos",
- hour: "cerca de uma hora",
- hours: "cerca de %d horas",
- day: "um dia",
- days: "%d dias",
- month: "cerca de um mês",
- months: "%d meses",
- year: "cerca de um ano",
- years: "%d anos"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.ro.js b/js/locales/jquery.timeago.ro.js
deleted file mode 100644
index 2cee429902..0000000000
--- a/js/locales/jquery.timeago.ro.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Romanian
-jQuery.timeago.settings.strings = {
- prefixAgo: "acum",
- prefixFromNow: "in timp de",
- suffixAgo: "",
- suffixFromNow: "",
- seconds: "mai putin de un minut",
- minute: "un minut",
- minutes: "%d minute",
- hour: "o ora",
- hours: "%d ore",
- day: "o zi",
- days: "%d zile",
- month: "o luna",
- months: "%d luni",
- year: "un an",
- years: "%d ani"
-};
diff --git a/js/locales/jquery.timeago.rs.js b/js/locales/jquery.timeago.rs.js
deleted file mode 100644
index 0809c9101d..0000000000
--- a/js/locales/jquery.timeago.rs.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Serbian
-(function () {
- var numpf;
-
- numpf = function (n, f, s, t) {
- var n10;
- n10 = n % 10;
- if (n10 === 1 && (n === 1 || n > 20)) {
- return f;
- } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) {
- return s;
- } else {
- return t;
- }
- };
-
- jQuery.timeago.settings.strings = {
- prefixAgo: "pre",
- prefixFromNow: "za",
- suffixAgo: null,
- suffixFromNow: null,
- second: "sekund",
- seconds: function (value) {
- return numpf(value, "%d sekund", "%d sekunde", "%d sekundi");
- },
- minute: "oko minut",
- minutes: function (value) {
- return numpf(value, "%d minut", "%d minuta", "%d minuta");
- },
- hour: "oko jedan sat",
- hours: function (value) {
- return numpf(value, "%d sat", "%d sata", "%d sati");
- },
- day: "jedan dan",
- days: function (value) {
- return numpf(value, "%d dan", "%d dana", "%d dana");
- },
- month: "mesec dana",
- months: function (value) {
- return numpf(value, "%d mesec", "%d meseca", "%d meseci");
- },
- year: "godinu dana",
- years: function (value) {
- return numpf(value, "%d godinu", "%d godine", "%d godina");
- },
- wordSeparator: " "
- };
-
-}).call(this);
diff --git a/js/locales/jquery.timeago.ru.js b/js/locales/jquery.timeago.ru.js
deleted file mode 100644
index 4cdc01b1ce..0000000000
--- a/js/locales/jquery.timeago.ru.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Russian
-(function() {
- function numpf(n, f, s, t) {
- // f - 1, 21, 31, ...
- // s - 2-4, 22-24, 32-34 ...
- // t - 5-20, 25-30, ...
- var n10 = n % 10;
- if ( (n10 == 1) && ( (n == 1) || (n > 20) ) ) {
- return f;
- } else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) {
- return s;
- } else {
- return t;
- }
- }
-
- jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: "через",
- suffixAgo: "назад",
- suffixFromNow: null,
- seconds: "меньше минуты",
- minute: "минуту",
- minutes: function(value) { return numpf(value, "%d минута", "%d минуты", "%d минут"); },
- hour: "час",
- hours: function(value) { return numpf(value, "%d час", "%d часа", "%d часов"); },
- day: "день",
- days: function(value) { return numpf(value, "%d день", "%d дня", "%d дней"); },
- month: "месяц",
- months: function(value) { return numpf(value, "%d месяц", "%d месяца", "%d месяцев"); },
- year: "год",
- years: function(value) { return numpf(value, "%d год", "%d года", "%d лет"); }
- };
-})();
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.sk.js b/js/locales/jquery.timeago.sk.js
deleted file mode 100644
index 24493a2bd7..0000000000
--- a/js/locales/jquery.timeago.sk.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Slovak
-jQuery.timeago.settings.strings = {
- prefixAgo: "pred",
- prefixFromNow: null,
- suffixAgo: null,
- suffixFromNow: null,
- seconds: "menej než minútou",
- minute: "minútou",
- minutes: "%d minútami",
- hour: "hodinou",
- hours: "%d hodinami",
- day: "1 dňom",
- days: "%d dňami",
- month: "1 mesiacom",
- months: "%d mesiacmi",
- year: "1 rokom",
- years: "%d rokmi"
-};
diff --git a/js/locales/jquery.timeago.sl.js b/js/locales/jquery.timeago.sl.js
deleted file mode 100644
index e546c0d502..0000000000
--- a/js/locales/jquery.timeago.sl.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Slovenian with support for dual
-(function () {
- var numpf;
- numpf = function (n, d, m) {
- if (n == 2) {
- return d;
- } else {
- return m;
- }
- };
-
- jQuery.timeago.settings.strings = {
- prefixAgo: "pred",
- prefixFromNow: "čez",
- suffixAgo: null,
- suffixFromNow: null,
- second: "sekundo",
- seconds: function (value) {
- return numpf(value, "%d sekundama", "%d sekundami");
- },
- minute: "minuto",
- minutes: function (value) {
- return numpf(value, "%d minutama", "%d minutami");
- },
- hour: "uro",
- hours: function (value) {
- return numpf(value, "%d urama", "%d urami");
- },
- day: "dnevom",
- days: function (value) {
- return numpf(value, "%d dnevi", "%d dnevi");
- },
- month: "enim mescem",
- months: function (value) {
- return numpf(value, "%d mesecema", "%d meseci");
- },
- year: "enim letom",
- years: function (value) {
- return numpf(value, "%d letoma", "%d leti");
- },
- wordSeparator: " "
- };
-
-}).call(this);
diff --git a/js/locales/jquery.timeago.sv.js b/js/locales/jquery.timeago.sv.js
deleted file mode 100644
index b5c3947179..0000000000
--- a/js/locales/jquery.timeago.sv.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Swedish
-jQuery.timeago.settings.strings = {
- prefixAgo: "för",
- prefixFromNow: "om",
- suffixAgo: "sedan",
- suffixFromNow: "",
- seconds: "mindre än en minut",
- minute: "ungefär en minut",
- minutes: "%d minuter",
- hour: "ungefär en timme",
- hours: "ungefär %d timmar",
- day: "en dag",
- days: "%d dagar",
- month: "ungefär en månad",
- months: "%d månader",
- year: "ungefär ett år",
- years: "%d år"
-};
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.th.js b/js/locales/jquery.timeago.th.js
deleted file mode 100644
index 894bf7fc83..0000000000
--- a/js/locales/jquery.timeago.th.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Thai
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: null,
- suffixAgo: "ที่แล้ว",
- suffixFromNow: "จากตอนนี้",
- seconds: "น้อยกว่าหนึ่งนาที",
- minute: "ประมาณหนึ่งนาที",
- minutes: "%d นาที",
- hour: "ประมาณหนึ่งชั่วโมง",
- hours: "ประมาณ %d ชั่วโมง",
- day: "หนึ่งวัน",
- days: "%d วัน",
- month: "ประมาณหนึ่งเดือน",
- months: "%d เดือน",
- year: "ประมาณหนึ่งปี",
- years: "%d ปี",
- wordSeparator: "",
- numbers: []
-};
diff --git a/js/locales/jquery.timeago.tr.js b/js/locales/jquery.timeago.tr.js
deleted file mode 100644
index 160190d026..0000000000
--- a/js/locales/jquery.timeago.tr.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Turkish
-jQuery.timeago.settings.strings = {
- suffixAgo: 'önce',
- suffixFromNow: null,
- seconds: '1 dakikadan',
- minute: '1 dakika',
- minutes: '%d dakika',
- hour: '1 saat',
- hours: '%d saat',
- day: '1 gün',
- days: '%d gün',
- month: '1 ay',
- months: '%d ay',
- year: '1 yıl',
- years: '%d yıl'
-};
diff --git a/js/locales/jquery.timeago.uk.js b/js/locales/jquery.timeago.uk.js
deleted file mode 100644
index 4382549f0f..0000000000
--- a/js/locales/jquery.timeago.uk.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Ukrainian
-(function() {
- function numpf(n, f, s, t) {
- // f - 1, 21, 31, ...
- // s - 2-4, 22-24, 32-34 ...
- // t - 5-20, 25-30, ...
- var n10 = n % 10;
- if ( (n10 == 1) && ( (n == 1) || (n > 20) ) ) {
- return f;
- } else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) {
- return s;
- } else {
- return t;
- }
- }
-
- jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: "через",
- suffixAgo: "тому",
- suffixFromNow: null,
- seconds: "менше хвилини",
- minute: "хвилина",
- minutes: function(value) { return numpf(value, "%d хвилина", "%d хвилини", "%d хвилин"); },
- hour: "година",
- hours: function(value) { return numpf(value, "%d година", "%d години", "%d годин"); },
- day: "день",
- days: function(value) { return numpf(value, "%d день", "%d дні", "%d днів"); },
- month: "місяць",
- months: function(value) { return numpf(value, "%d місяць", "%d місяці", "%d місяців"); },
- year: "рік",
- years: function(value) { return numpf(value, "%d рік", "%d роки", "%d років"); }
- };
-})();
\ No newline at end of file
diff --git a/js/locales/jquery.timeago.uz.js b/js/locales/jquery.timeago.uz.js
deleted file mode 100644
index 380f18dc04..0000000000
--- a/js/locales/jquery.timeago.uz.js
+++ /dev/null
@@ -1,19 +0,0 @@
-//Uzbek
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: "keyin",
- suffixAgo: "avval",
- suffixFromNow: null,
- seconds: "bir necha soniya",
- minute: "1 daqiqa",
- minutes: function(value) { return "%d daqiqa" },
- hour: "1 soat",
- hours: function(value) { return "%d soat" },
- day: "1 kun",
- days: function(value) { return "%d kun" },
- month: "1 oy",
- months: function(value) { return "%d oy" },
- year: "1 yil",
- years: function(value) { return "%d yil" },
- wordSeparator: " "
-};
diff --git a/js/locales/jquery.timeago.vi.js b/js/locales/jquery.timeago.vi.js
deleted file mode 100644
index 84d6618558..0000000000
--- a/js/locales/jquery.timeago.vi.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Vietnamese
-jQuery.timeago.settings.strings = {
- prefixAgo: 'cách đây',
- prefixFromNow: null,
- suffixAgo: null,
- suffixFromNow: "trước",
- seconds: "chưa đến một phút",
- minute: "khoảng một phút",
- minutes: "%d phút",
- hour: "khoảng một tiếng",
- hours: "khoảng %d tiếng",
- day: "một ngày",
- days: "%d ngày",
- month: "khoảng một tháng",
- months: "%d tháng",
- year: "khoảng một năm",
- years: "%d năm",
- wordSeparator: " ",
- numbers: []
-};
diff --git a/js/locales/jquery.timeago.zh-cn.js b/js/locales/jquery.timeago.zh-cn.js
deleted file mode 100644
index f7b979798a..0000000000
--- a/js/locales/jquery.timeago.zh-cn.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Simplified Chinese
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: "从现在开始",
- suffixAgo: "之前",
- suffixFromNow: null,
- seconds: "不到1分钟",
- minute: "大约1分钟",
- minutes: "%d分钟",
- hour: "大约1小时",
- hours: "大约%d小时",
- day: "1天",
- days: "%d天",
- month: "大约1个月",
- months: "%d月",
- year: "大约1年",
- years: "%d年",
- numbers: [],
- wordSeparator: ""
-};
diff --git a/js/locales/jquery.timeago.zh-tw.js b/js/locales/jquery.timeago.zh-tw.js
deleted file mode 100644
index 52633900f3..0000000000
--- a/js/locales/jquery.timeago.zh-tw.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Traditional Chinese, zh-tw
-jQuery.timeago.settings.strings = {
- prefixAgo: null,
- prefixFromNow: "從現在開始",
- suffixAgo: "之前",
- suffixFromNow: null,
- seconds: "不到1分鐘",
- minute: "大約1分鐘",
- minutes: "%d分鐘",
- hour: "大約1小時",
- hours: "%d小時",
- day: "大約1天",
- days: "%d天",
- month: "大約1個月",
- months: "%d個月",
- year: "大約1年",
- years: "%d年",
- numbers: [],
- wordSeparator: ""
-};
diff --git a/protected/humhub/assets/AppAsset.php b/protected/humhub/assets/AppAsset.php
index 1378fb4a2a..421d53e3b0 100755
--- a/protected/humhub/assets/AppAsset.php
+++ b/protected/humhub/assets/AppAsset.php
@@ -31,7 +31,6 @@ class AppAsset extends AssetBundle
'js/jquery.cookie.js',
'js/jquery.highlight.min.js',
'js/jquery.autosize.min.js',
- 'js/jquery.timeago.js',
'js/jquery.knob.min.js',
'js/wysihtml5-0.3.0.js',
'js/bootstrap3-wysihtml5.js',
@@ -56,6 +55,7 @@ class AppAsset extends AssetBundle
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
'yii\bootstrap\BootstrapPluginAsset',
+ 'humhub\assets\TimeAgoAsset'
];
}
diff --git a/protected/humhub/assets/TimeAgoAsset.php b/protected/humhub/assets/TimeAgoAsset.php
new file mode 100644
index 0000000000..819e2cb875
--- /dev/null
+++ b/protected/humhub/assets/TimeAgoAsset.php
@@ -0,0 +1,69 @@
+ 'no',
+ 'pt_br' => 'pt-br',
+ 'zh_cn' => 'zh-CN',
+ 'zh_tw' => 'zh-TW',
+ 'fa_ir' => 'fa',
+ ];
+
+ /**
+ * @inheritdoc
+ */
+ public function init()
+ {
+ parent::init();
+ $this->registerLocale();
+ }
+
+ /**
+ * Adds the correct locale file to js files
+ */
+ protected function registerLocale()
+ {
+ $languageCode = Yii::$app->language;
+
+ if (array_key_exists($languageCode, $this->languageMapping)) {
+ $languageCode = $this->languageMapping[$languageCode];
+ }
+
+ $localeFile = 'locales' . DIRECTORY_SEPARATOR . 'jquery.timeago.' . $languageCode . '.js';
+ if (file_exists(Yii::getAlias($this->sourcePath . '/' . $localeFile))) {
+ $this->js[] = $localeFile;
+ }
+ }
+
+}
diff --git a/protected/humhub/config/common.php b/protected/humhub/config/common.php
index 99d93c551c..10f4faeeba 100644
--- a/protected/humhub/config/common.php
+++ b/protected/humhub/config/common.php
@@ -7,7 +7,7 @@ Yii::setAlias('@humhub', '@app/humhub');
$config = [
'name' => 'HumHub',
- 'version' => '1.0.0-beta.2',
+ 'version' => '1.0.0-beta.3',
'basePath' => dirname(__DIR__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR,
'bootstrap' => ['log', 'humhub\components\bootstrap\ModuleAutoLoader'],
'sourceLanguage' => 'en',
@@ -130,16 +130,25 @@ $config = [
'lt' => 'lietuvių kalba',
],
'user' => [
+ // Minimum username length
'minUsernameLength' => 4,
],
'formatter' => [
+ // Default date format, used especially in DatePicker widgets
'defaultDateFormat' => 'short',
+ // Seconds before switch from relative time to date format
+ // Set to false to always use relative time in TimeAgo Widget
+ 'timeAgoBefore' => 172800,
+ // Use static timeago instead of timeago js
+ 'timeAgoStatic' => false,
],
'humhub' => [
+ // Marketplace / New Version Check
'apiEnabled' => true,
'apiUrl' => 'https://api.humhub.com',
],
'curl' => [
+ // Check SSL certificates on CURL requests
'validateSsl' => true,
],
]
diff --git a/protected/humhub/widgets/TimeAgo.php b/protected/humhub/widgets/TimeAgo.php
index d69440874a..5f47444fec 100644
--- a/protected/humhub/widgets/TimeAgo.php
+++ b/protected/humhub/widgets/TimeAgo.php
@@ -8,6 +8,8 @@
namespace humhub\widgets;
+use Yii;
+
/**
* Shows a given date & time as automatically updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
*
@@ -21,17 +23,81 @@ class TimeAgo extends \yii\base\Widget
*/
public $timestamp;
- public function run()
+ /**
+ * @inheritdoc
+ */
+ public function init()
{
+ parent::init();
+
+ // Make sure we get an timestamp in server tz
if (is_numeric($this->timestamp)) {
$this->timestamp = date('Y-m-d H:i:s', $this->timestamp);
}
+ $this->timestamp = strtotime($this->timestamp);
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function run()
+ {
+ $elapsed = time() - $this->timestamp;
+
+ if (Yii::$app->params['formatter']['timeAgoBefore'] !== false && $elapsed > Yii::$app->params['formatter']['timeAgoBefore']) {
+ return $this->renderDateTime($elapsed);
+ }
+
+ return $this->renderTimeAgo();
+ }
+
+ /**
+ * Render TimeAgo Javascript
+ *
+ * @return string timeago span
+ */
+ public function renderTimeAgo()
+ {
+ // Use static timeago
+ if (Yii::$app->params['formatter']['timeAgoStatic']) {
+ return '' . Yii::$app->formatter->asRelativeTime($this->timestamp) . '';
+ }
// Convert timestamp to ISO 8601
- $this->timestamp = date("c", strtotime($this->timestamp));
+ $this->timestamp = date("c", $this->timestamp);
$this->getView()->registerJs('$(".time").timeago();', \yii\web\View::POS_END, 'timeago');
- return '' . $this->timestamp . '';
+ return '' . $this->getFullDateTime() . '';
+
+ #$date = Yii::$app->formatter->asRelativeTime($this->timestamp);
+ }
+
+ /**
+ * Show full date
+ *
+ * @param int $elasped time in seconds
+ * @return string output of full date and time
+ */
+ public function renderDateTime($elapsed)
+ {
+ $date = Yii::$app->formatter->asDate($this->timestamp, 'medium');
+
+ // Show time within the last 72 hours
+ if ($elapsed < 60 * 60 * 24 * 3) {
+ $date .= " " . Yii::$app->formatter->asTime($this->timestamp, 'short');
+ }
+
+ return '' . $date . '';
+ }
+
+ /**
+ * Returns full date as text
+ *
+ * @return string
+ */
+ protected function getFullDateTime()
+ {
+ return Yii::$app->formatter->asDate($this->timestamp, 'full') . ' - ' . Yii::$app->formatter->asTime($this->timestamp, 'short');
}
}