config.theme_ui = strdup("blue");
config.chname_num = 1;
config.iptv_tpool_count = 2;
+ config.date_mask = strdup("");
idclass_register(&config_class);
free(config.chicon_path);
free(config.picon_path);
free(config.cors_origin);
+ free(config.date_mask);
file_unlock(config_lock, config_lock_fd);
}
.off = offsetof(config_t, chname_src),
.group = 2
},
+ {
+ .type = PT_STR,
+ .id = "date_mask",
+ .name = N_("Custom date Format"),
+ .desc = N_("Custom date mask like (%yyyy-%M-%dd %h:%m:%s)"),
+ .opts = PO_ADVANCED,
+ .off = offsetof(config_t, date_mask),
+ .group = 2,
+ },
{
.type = PT_STR,
.islist = 1,
return function(v) {
if (v > 0) {
var dt = new Date(v * 1000);
- return dt.toLocaleDateString();
+ return dt.toLocaleDateString(tvheadend.toLocaleFormat());
}
return '';
}
return function(v) {
if (v > 0) {
var dt = new Date(v * 1000);
- var wd = dt.toLocaleString(tvheadend.language, {weekday: 'short'});
- return wd + ' ' + dt.toLocaleString();
+ if (tvheadend.date_mask.length > 1){
+ return tvheadend.toCustomDate(dt,tvheadend.date_mask);
+ }else{
+ return tvheadend.toCustomDate(dt,'%ddd %dd/%MM/%YYYY, %hh:%mm:%ss');
+ }
}
return '';
}
if (!f.duration) {
if (d) {
var dt = new Date(value * 1000);
- value = f.date ? dt.toLocaleDateString() :
- dt.toLocaleString();
+ value = f.date ? dt.toLocaleDateString(tvheadend.toLocaleFormat()) :
+ dt.toLocaleString(tvheadend.toLocaleFormat());
r = new Ext.form.TextField({
fieldLabel: f.caption,
name: f.id,
});
tvheadend.idnode_panel(conf, panel, dpanel, builder, destroyer);
-};
+};
\ No newline at end of file
tvheadend.docs_toc = null;
tvheadend.doc_history = [];
tvheadend.doc_win = null;
+tvheadend.date_mask = '';
tvheadend.language = window.navigator.userLanguage || window.navigator.language;
// Use en-US if browser language detection fails.
*/
tvheadend.niceDate = function(dt) {
var d = new Date(dt);
- return '<div class="x-nice-dayofweek">' + d.toLocaleString(tvheadend.language, {weekday: 'long'}) + '</div>' +
- '<div class="x-nice-date">' + d.toLocaleDateString() + '</div>' +
+ return '<div class="x-nice-dayofweek">' + d.toLocaleString(tvheadend.toLocaleFormat(), {weekday: 'long'}) + '</div>' +
+ '<div class="x-nice-date">' + d.toLocaleDateString(tvheadend.toLocaleFormat()) + '</div>' +
'<div class="x-nice-time">' + d.toLocaleTimeString() + '</div>';
}
}
}
}
- return '<div class="x-nice-dayofweek">' + d.toLocaleString(tvheadend.language, {weekday: 'long'}) + '</div>' +
- '<div class="x-nice-date">' + d.toLocaleDateString() + '</div>';
+ return '<div class="x-nice-dayofweek">' + d.toLocaleString(tvheadend.toLocaleFormat(), {weekday: 'long'}) + '</div>' +
+ '<div class="x-nice-date">' + d.toLocaleDateString(tvheadend.toLocaleFormat()) + '</div>';
}
/*
tvheadend.quicktips = o.quicktips ? true : false;
tvheadend.chname_num = o.chname_num ? 1 : 0;
tvheadend.chname_src = o.chname_src ? 1 : 0;
+ tvheadend.date_mask = o.date_mask;
if (o.uilevel_nochange)
tvheadend.uilevel_nochange = true;
var d = stime ? new Date(stime) : new Date();
var el = Ext.get(panel.extra.time.tabEl).child('span.x-tab-strip-extra-comp', true);
el.innerHTML = '<b>' + d.toLocaleTimeString() + '</b>';
- el.qtip = d.toLocaleString();
+ el.qtip = d.toLocaleString(tvheadend.toLocaleFormat());
},
onLoginCmdClicked: function(e) {
});
+/*
+ * Return tvh_locale_lang in date().toLocaleDateString() compatible format
+ */
+tvheadend.toLocaleFormat = function()
+{
+ return tvh_locale_lang.replace('_','-');
+};
+
+tvheadend.toCustomDate = function(date, format) //author: meizz, improvements by pablozg
+{
+ var o = {
+ "\%M+" : date.getMonth()+1, //month
+ "\%d+" : date.getDate(), //day
+ "\%h+" : date.getHours(), //hour
+ "\%m+" : date.getMinutes(), //minute
+ "\%s+" : date.getSeconds(), //second
+ "\%q+" : Math.floor((date.getMonth()+3)/3), //quarter
+ "\%S" : date.getMilliseconds() //millisecond
+ }
+
+ if(/(\%[yY]+)/.test(format)) format=format.replace(RegExp.$1, (date.getFullYear()+"").substr(5 - RegExp.$1.length));
+
+ if(/(\%MMMM)/.test(format)) format=format.replace(RegExp.$1, (date.toLocaleDateString('es', {month: 'long'})));
+
+ if(/(\%MMM)/.test(format)) format=format.replace(RegExp.$1, (date.toLocaleDateString('es', {month: 'short'})));
+
+ if(/(\%dddd)/.test(format)) format=format.replace(RegExp.$1, (date.toLocaleDateString('es', {weekday: 'long'})));
+
+ if(/(\%ddd)/.test(format)) format=format.replace(RegExp.$1, (date.toLocaleDateString('es', {weekday: 'short'})));
+
+ for(var k in o) if(new RegExp("("+ k +")").test(format))
+ format = format.replace(RegExp.$1, RegExp.$1.length==2 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
+
+ return format;
+}
+
/**
*
*/