* add toJSON() Method to Objects.
* added own DeviceInfo Object (also with toJSON() )
* "Not so well"-tested so please report bugs
* Please refresh your browser-cache before reporting "everlasting Loading-Animation Problems!"
{
"betaManifestVersion": 1,
- "version": "v24",
+ "version": "v27",
"entries": [
{ "url": "IEFixes.htc" },
{ "url": "img/arrow_down.png" },
}
//START class EPGEvent
-function EPGEvent(xml){
+function EPGEvent(xml, number){
this.eventID = getNodeContent(xml, 'e2eventid', '');
this.startTime = getNodeContent(xml, 'e2eventstart', '');
this.duration = getNodeContent(xml, 'e2eventduration', '');
this.fileName = getNodeContent(xml, 'e2filename', '');
this.description = getNodeContent(xml, 'e2eventdescription');
this.descriptionE = getNodeContent(xml, 'e2eventdescriptionextended');
-
- this.getFilename = function (){
+
+ if(typeof(number) != "undefined"){
+ this.number = number;
+ } else {
+ this.number = 0;
+ }
+
+ this.getFilename = function() {
return this.fileName;
};
- this.getEventId = function (){
+ this.getEventId = function() {
return this.eventID;
};
- this.getTimeStart = function (){
+ this.getTimeStart = function() {
var date = new Date(parseInt(this.startTime, 10)*1000);
return date;
};
- this.getTimeStartString = function (){
+ this.getTimeStartString = function() {
var h = this.getTimeStart().getHours();
var m = this.getTimeStart().getMinutes();
if (m < 10){
}
return h+":"+m;
};
- this.getTimeDay = function (){
+ this.getTimeDay = function() {
var weekday = ["So", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
var wday = weekday[this.getTimeStart().getDay()];
var day = this.getTimeStart().getDate();
this.getTimeBegin = function(){
return this.getTimeStart().getTime()/1000;
};
- this.getTimeEnd = function (){
+ this.getTimeEnd = function() {
var date = new Date((parseInt(this.startTime, 10)+parseInt(this.duration, 10))*1000);
return date.getTime()/1000;
};
- this.getTimeEndString = function (){
+ this.getTimeEndString = function() {
var date = new Date((parseInt(this.startTime, 10)+parseInt(this.duration, 10))*1000);
var h = date.getHours();
var m = date.getMinutes();
}
return h+":"+m;
};
- this.getDuration = function (){
+ this.getDuration = function() {
var date = new Date(parseInt(this.duration, 10)*1000);
return date;
};
- this.getTitle = function (){
+ this.getTitle = function() {
return this.title;
};
- this.getDescription = function (){
+ this.getDescription = function() {
return this.description;
};
- this.getDescriptionExtended = function (){
+ this.getDescriptionExtended = function() {
return this.descriptionE;
};
- this.getServiceReference = function (){
+ this.getServiceReference = function() {
return encodeURIComponent(this.serviceRef);
};
- this.getServiceName = function (){
+ this.getServiceName = function() {
return this.serviceName.replace(" "," ");
};
+
+ this.json = {
+ 'date': this.getTimeDay(),
+ 'eventid': this.getEventId(),
+ 'servicereference': this.getServiceReference(),
+ 'servicename': quotes2html(this.getServiceName()),
+ 'title': quotes2html(this.getTitle()),
+ 'titleESC': escape(this.getTitle()),
+ 'starttime': this.getTimeStartString(),
+ 'duration': Math.ceil(this.getDuration()/60000),
+ 'description': quotes2html(this.getDescription()),
+ 'endtime': this.getTimeEndString(),
+ 'extdescription': quotes2html(this.getDescriptionExtended()),
+ 'number': String(this.number),
+ 'start': this.getTimeBegin(),
+ 'end': this.getTimeEnd()
+ };
+
+ this.toJSON = function() {
+ return this.json;
+ };
+
}
//END class EPGEvent
if (sortbytime === true){
var sortList = [];
for(var i=0;i<this.xmlitems.length;i++){
- var event = new EPGEvent(this.xmlitems.item(i));
+ var event = new EPGEvent(this.xmlitems.item(i), i).toJSON();
sortList.push( [event.startTime, event] );
}
sortList.sort(this.sortFunction);
//END class EPGList
// START class Service
-function Service(xml){
+function Service(xml, cssclass){
this.servicereference = getNodeContent(xml, 'e2servicereference', '');
this.servicename = getNodeContent(xml, 'e2servicename');
this.setServiceName = function(sname){
this.servicename = sname.replace('"', '"');
};
+
+ if( typeof( cssclass ) == "undefined" ){
+ cssclass = 'odd';
+ }
+
+ this.json = {
+ 'servicereference' : this.getServiceReference(),
+ 'servicename' : this.getServiceName(),
+ 'cssclass' : cssclass
+ };
+
+ this.toJSON = function(){
+ return this.json;
+ };
}
//END class Service
this.servicelist = [];
this.getArray = function(){
if(this.servicelist.length === 0){
+ var cssclass = 'even';
+
for (var i=0;i<this.xmlitems.length;i++){
- var service = new Service(this.xmlitems.item(i));
+ cssclass = cssclass == 'even' ? 'odd' : 'even';
+ var service = new Service(this.xmlitems.item(i), cssclass).toJSON();
this.servicelist.push(service);
}
}
// START class Movie
-function Movie(xml){
+function Movie(xml, cssclass){
this.servicereference = getNodeContent(xml, 'e2servicereference');
this.servicename = getNodeContent(xml, 'e2servicename');
this.title = getNodeContent(xml, 'e2title');
this.startTime = getNodeContent(xml, 'e2time', 0);
this.length = getNodeContent(xml, 'e2length', 0);
- this.getLength = function (){
+ this.getLength = function() {
return this.length;
};
- this.getTimeStart = function (){
+ this.getTimeStart = function() {
var date = new Date(parseInt(this.startTime, 10)*1000);
return date;
};
- this.getTimeStartString = function (){
+ this.getTimeStartString = function() {
var h = this.getTimeStart().getHours();
var m = this.getTimeStart().getMinutes();
if (m < 10){
return h+":"+m;
};
- this.getTimeDay = function (){
+ this.getTimeDay = function() {
var Wochentag = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
var wday = Wochentag[this.getTimeStart().getDay()];
var day = this.getTimeStart().getDate();
this.getFilesizeMB = function(){
return Math.round((parseInt(this.filesize, 10)/1024)/1024)+"MB";
- };
+ };
+
+ if( typeof( cssclass) == 'undefined'){
+ cssclass = 'odd';
+ }
+
+ this.json = {
+ 'servicereference': escape(this.getServiceReference()),
+ 'servicename': this.getServiceName(),
+ 'title': this.getTitle(),
+ 'escapedTitle': escape(this.getTitle()),
+ 'description': this.getDescription(),
+ 'descriptionextended': this.getDescriptionExtended(),
+ 'filename': String(this.getFilename()),
+ 'filesize': this.getFilesizeMB(),
+ 'tags': this.getTags().join(', ') ,
+ 'length': this.getLength() ,
+ 'time': this.getTimeDay()+" "+ this.getTimeStartString(),
+ 'cssclass' : cssclass
+ };
+
+ this.toJSON = function(){
+ return this.json;
+ };
}
//END class Movie
this.movielist = [];
this.getArray = function(){
- if(this.movielist.length === 0){
+ if(this.movielist.length === 0){
+ var cssclass = "even";
+
for(var i=0;i<this.xmlitems.length;i++){
- //debug("parsing movie "+i+" of "+this.xmlitems.length);
- var movie = new Movie(this.xmlitems.item(i));
+ cssclass = cssclass == 'even' ? 'odd' : 'even';
+
+ var movie = new Movie(this.xmlitems.item(i), cssclass).toJSON();
this.movielist.push(movie);
}
}
// START class Timer
-function Timer(xml){
+function Timer(xml, cssclass){
this.servicereference = getNodeContent(xml, 'e2servicereference');
this.servicename = getNodeContent(xml, 'e2servicename');
this.eventid = getNodeContent(xml, 'e2eit');
this.isCancled = function(){
return this.cancled;
- };
+ };
+
+ if( typeof( cssclass == 'undefined')){
+ cssclass = 'odd';
+ }
+
+ this.beginDate = new Date(Number(this.getTimeBegin()) * 1000);
+ this.endDate = new Date(Number(this.getTimeEnd()) * 1000);
+
+ this.aftereventReadable = [ 'Nothing', 'Standby',
+ 'Deepstandby/Shutdown', 'Auto' ];
+
+ this.justplayReadable = [ 'record', 'zap' ];
+
+ this.json = {
+ 'servicereference' : this.getServiceReference(),
+ 'servicename' : quotes2html(this.getServiceName()),
+ 'title' : quotes2html(this.getName()),
+ 'description' : quotes2html(this.getDescription()),
+ 'descriptionextended' : quotes2html(this
+ .getDescriptionExtended()),
+ 'begin' : this.getTimeBegin(),
+ 'beginDate' : dateToString(this.beginDate),
+ 'end' : this.getTimeEnd(),
+ 'endDate' : dateToString(this.endDate),
+ 'state' : this.getState(),
+ 'duration' : Math.ceil((this.getDuration() / 60)),
+ 'repeated' : this.getRepeated(),
+ 'repeatedReadable' : repeatedReadable(this.getRepeated()),
+ 'justplay' : this.getJustplay(),
+ 'justplayReadable' : this.justplayReadable[Number(this
+ .getJustplay())],
+ 'afterevent' : this.getAfterevent(),
+ 'aftereventReadable' : this.aftereventReadable[Number(this
+ .getAfterevent())],
+ 'dirname' : this.getDirname(),
+ 'tags' : this.getTags(),
+ 'disabled' : this.getDisabled(),
+ 'onOff' : this.getToggleDisabledIMG(),
+ 'enDis' : this.getToggleDisabledText(),
+ 'cssclass' : cssclass
+ };
+
+ this.toJSON = function(){
+ return this.json;
+ };
}
this.getArray = function(){
if(this.timerlist.length === 0){
+ var cssclass = 'even';
+
for(var i=0;i<this.xmlitems.length;i++){
- var timer = new Timer(this.xmlitems.item(i));
+ var timer = new Timer(this.xmlitems.item(i), cssclass).toJSON();
this.timerlist.push(timer);
}
}
};
}
//END class TimerList
-
+function DeviceInfo(xml){
+ xml = xml.getElementsByTagName("e2deviceinfo").item(0)
+
+ this.info = {};
+
+ this.nims = [];
+ this.hdds = [];
+ this.nics = [];
+
+ this.fpversion = "V"+xml.getElementsByTagName('e2fpversion').item(0).firstChild.data;
+
+ var nimnodes = xml.getElementsByTagName('e2frontends').item(0).getElementsByTagName('e2frontend');
+ for(var i = 0; i < nimnodes.length; i++){
+ try {
+ var name = nimnodes.item(i).getElementsByTagName('e2name').item(0).firstChild.data;
+ var model = nimnodes.item(i).getElementsByTagName('e2model').item(0).firstChild.data;
+ this.nims[i] = {
+ 'name' : name,
+ 'model' : model
+ };
+ } catch (e) {
+ debug("[incomingDeviceInfo] error parsing NIM data: " + e);
+ }
+ }
+
+
+ var hddnodes = xml.getElementsByTagName('e2hdd');
+ for( var i = 0; i < hddnodes.length; i++){
+ try{
+ var hdd = hddnodes.item(i);
+
+ var model = hdd.getElementsByTagName('e2model').item(0).firstChild.data;
+ var capacity = hdd.getElementsByTagName('e2capacity').item(0).firstChild.data;
+ var free = hdd.getElementsByTagName('e2free').item(0).firstChild.data;
+
+ this.hdds[i] = {
+ 'model' : model,
+ 'capacity' : capacity,
+ 'free' : free
+ };
+ } catch(e){
+ debug("[incomingDeviceInfo] error parsing HDD data: " + e);
+ }
+ }
+
+
+ var nicnodes = xml.getElementsByTagName('e2interface');
+ for( var i = 0; i < nicnodes.length; i++){
+ try {
+ var nic = nicnodes.item(i);
+ var name = nic.getElementsByTagName('e2name').item(0).firstChild.data;
+ var mac = nic.getElementsByTagName('e2mac').item(0).firstChild.data;
+ var dhcp = nic.getElementsByTagName('e2dhcp').item(0).firstChild.data;
+ var ip = nic.getElementsByTagName('e2ip').item(0).firstChild.data;
+ var gateway = nic.getElementsByTagName('e2gateway').item(0).firstChild.data;
+ var netmask = nic.getElementsByTagName('e2netmask').item(0).firstChild.data;
+
+ this.nics[i] = {
+ 'name' : name,
+ 'mac' : mac,
+ 'dhcp' : dhcp,
+ 'ip' : ip,
+ 'gateway' : gateway,
+ 'netmask' : netmask
+ };
+ } catch (e) {
+ debug("[incomingDeviceInfo] error parsing NIC data: " + e);
+ }
+ }
+
+ try{
+ this.info = {
+ 'devicename' : xml.getElementsByTagName('e2devicename').item(0).firstChild.data,
+ 'enigmaVersion': xml.getElementsByTagName('e2enigmaversion').item(0).firstChild.data,
+ 'imageVersion': xml.getElementsByTagName('e2imageversion').item(0).firstChild.data,
+ 'fpVersion': this.fpversion,
+ 'webifversion': xml.getElementsByTagName('e2webifversion').item(0).firstChild.data
+ };
+ } catch (e) {
+ debug("[incomingDeviceInfo] parsing Error" + e);
+ }
+
+ this.json = {
+ info : this.info,
+ hdds : this.hdds,
+ nics : this.nics,
+ nims : this.nims
+ };
+
+ this.toJSON = function(){
+ return this.json;
+ };
+
+}
function SimpleXMLResult(xml){
try{
var result = new SimpleXMLResult(getXML(request));
if (result.getState()) {
//timer has been added
- notify(result.getStateText(), result.getState());
loadTimerList();
- } else {
- notify(result.getStateText(), result.getState());
}
+ simpleResultHandler(result);
}
}
function incomingTimerList(request) {
if (request.readyState == 4) {
- var timers = new TimerList(getXML(request)).getArray();
- debug("[incomingTimerList] Got " + timers.length + " timers");
-
- var aftereventReadable = [ 'Nothing', 'Standby',
- 'Deepstandby/Shutdown', 'Auto' ];
- var justplayReadable = [ 'record', 'zap' ];
-
- var namespace = [];
- var cssclass = "even";
-
- for ( var i = 0; i < timers.length; i++) {
- var timer = timers[i];
- var beginDate = new Date(Number(timer.getTimeBegin()) * 1000);
- var endDate = new Date(Number(timer.getTimeEnd()) * 1000);
-
- cssclass = cssclass == 'even' ? 'odd' : 'even';
+ var timerList = new TimerList(getXML(request)).getArray();
+ debug("[incomingTimerList] Got " + timerList.length + " timers");
- namespace[i] = {
- 'servicereference' : timer.getServiceReference(),
- 'servicename' : quotes2html(timer.getServiceName()),
- 'title' : quotes2html(timer.getName()),
- 'description' : quotes2html(timer.getDescription()),
- 'descriptionextended' : quotes2html(timer
- .getDescriptionExtended()),
- 'begin' : timer.getTimeBegin(),
- 'beginDate' : dateToString(beginDate),
- 'end' : timer.getTimeEnd(),
- 'endDate' : dateToString(endDate),
- 'state' : timer.getState(),
- 'duration' : Math.ceil((timer.getDuration() / 60)),
- 'repeated' : timer.getRepeated(),
- 'repeatedReadable' : repeatedReadable(timer.getRepeated()),
- 'justplay' : timer.getJustplay(),
- 'justplayReadable' : justplayReadable[Number(timer
- .getJustplay())],
- 'afterevent' : timer.getAfterevent(),
- 'aftereventReadable' : aftereventReadable[Number(timer
- .getAfterevent())],
- 'dirname' : timer.getDirname(),
- 'tags' : timer.getTags(),
- 'disabled' : timer.getDisabled(),
- 'onOff' : timer.getToggleDisabledIMG(),
- 'enDis' : timer.getToggleDisabledText(),
- 'cssclass' : cssclass
- };
- }
var data = {
- timer : namespace
+ timer : timerList
};
processTpl('tplTimerList', data, 'contentMain');
}
debug("[incomingTimerDelResult] called");
if (request.readyState == 4) {
var result = new SimpleXMLResult(getXML(request));
- notify(result.getStateText(), result.getState());
+ simpleResultHandler(result);
debug("[incomingTimerDelResult] Loading List");
loadTimerList();
}
function addTimerListFormatTV(request) {
if (addTimerEditFormArray.RadioListFilled === 0) {
if (request.readyState == 4) {
- var services = new ServiceList(getXML(request)).getArray();
- var tv = {};
- for ( var i = 0; i < services.length; i++) {
- var reference = services[i];
- tv[reference.getServiceReference()] = reference
- .getServiceName();
+ var serviceList = new ServiceList(getXML(request)).getArray();
+ var tv = [];
+
+ for ( var i = 0; i < serviceList.length; i++) {
+ var service = serviceList[i];
+ tv[service.servicereference] = service.servicename;
}
+
addTimerEditFormArray.TVListFilled = 1;
addTimerEditFormArray.TVList = tv;
}
function addTimerListFormatRadio(request) {
if (request.readyState == 4) {
- var services = new ServiceList(getXML(request)).getArray();
- var radio = {};
- for ( var i = 0; i < services.length; i++) {
- var reference = services[i];
- radio[reference.getServiceReference()] = reference.getServiceName();
+ var serviceList = new ServiceList(getXML(request)).getArray();
+ var radio = [];
+
+ for ( var i = 0; i < serviceList.length; i++) {
+ var service = serviceList[i];
+ radio[service.servicereference] = service.servicename;
}
+
addTimerEditFormArray.RadioListFilled = 1;
addTimerEditFormArray.RadioList = radio;
}
var tagsObject = addTimerFormPrepareTagsMenu(addTimerEditFormArray.tags);
var namespace = {
- 'year' : createOptions(2008, 2015, addTimerEditFormArray.year),
+ 'year' : createOptions(2009, 2015, addTimerEditFormArray.year),
'month' : createOptions(1, 12, addTimerEditFormArray.month),
'day' : createOptions(1, 31, addTimerEditFormArray.day),
'shour' : createOptions(0, 23, addTimerEditFormArray.shour),
function incomingCleanTimerListNow(request) {
if (request.readyState == 4) {
var result = new SimpleXMLResult(getXML(request));
- notify(result.getStateText(), result.getState());
+ simpleResultHandler(result);
loadTimerList();
}
}
function incomingWriteTimerListNow(request) {
var result = new SimpleXMLResult(getXML(request));
- notify(result.getStateText(), result.getState());
+ simpleResultHandler(result);
}
function writeTimerListNow() {
notify(simpleResult.statetext, simpleResult.state);
}
+
function startUpdateBouquetItemsPoller(){
debug("[startUpdateBouquetItemsPoller] called");
updateBouquetItemsPoller = setInterval(updateItemsLazy, 60000);
clearInterval(updateBouquetItemsPoller);
}
+
//General Helpers
function parseNr(num) {
if(isNaN(num)){
if (request.readyState == 4){
var EPGItems = new EPGList(getXML(request)).getArray(true);
debug("[incomingEPGrequest] got "+EPGItems.length+" e2events");
- if(EPGItems.length > 0){
- var namespace = [];
- for (var i=0; i < EPGItems.length; i++){
- try{
- var item = EPGItems[i];
- namespace[i] = {
- 'date': item.getTimeDay(),
- 'eventid': item.getEventId(),
- 'servicereference': item.getServiceReference(),
- 'servicename': quotes2html(item.getServiceName()),
- 'title': quotes2html(item.getTitle()),
- 'titleESC': escape(item.getTitle()),
- 'starttime': item.getTimeStartString(),
- 'duration': Math.ceil(item.getDuration()/60000),
- 'description': quotes2html(item.getDescription()),
- 'endtime': item.getTimeEndString(),
- 'extdescription': quotes2html(item.getDescriptionExtended()),
- 'number': String(i),
- 'start': item.getTimeBegin(),
- 'end': item.getTimeEnd()
- };
-
- } catch (Exception) {
- debug("[incomingEPGrequest] Error rendering: " + Exception);
- }
- }
- epgListData = {epg : namespace};
+ if( EPGItems.length > 0){
+ epgListData = {epg : EPGItems};
fetchTpl('tplEpgList', showEpgList);
} else {
messageBox('No Items found!', 'Sorry but I could not find any EPG Content containing your search value');
//}
function buildServiceListEPGItem(epgevent, type){
- var namespace = {
- 'starttime': epgevent.getTimeStartString(),
- 'title': epgevent.getTitle(),
- 'length': Math.ceil(epgevent.duration/60)
- };
- var data = {epg : namespace};
+ var data = {epg : epgevent};
// e.innerHTML = RND(tplServiceListEPGItem, namespace);
- var id = type + epgevent.getServiceReference();
+ var id = type + epgevent.servicereference;
show('tr' + id);
var epgevents = getXML(request).getElementsByTagName("e2eventlist").item(0).getElementsByTagName("e2event");
for (var c = 0; c < epgevents.length; c++){
try{
- var epgEvt = new EPGEvent(epgevents.item(c));
+ var epgEvt = new EPGEvent(epgevents.item(c), c).toJSON();
} catch (e){
debug("[incomingServiceEPGNowNext]" + e);
}
- if (epgEvt.getEventId() != ''){
+ if (epgEvt.eventid != ''){
buildServiceListEPGItem(epgEvt, type);
}
}
//Channels and Bouquets
function incomingChannellist(request){
- var services = null;
+ var serviceList = null;
if(typeof(loadedChannellist[currentBouquet]) != "undefined"){
- services = loadedChannellist[currentBouquet];
+ serviceList = loadedChannellist[currentBouquet];
} else if(request.readyState == 4) {
- services = new ServiceList(getXML(request)).getArray();
- debug("[incomingChannellist] got "+services.length+" Services");
+ serviceList = new ServiceList(getXML(request)).getArray();
+ debug("[incomingChannellist] got "+serviceList.length+" Services");
}
- if(services !== null) {
- var namespace = {};
- var cssclass = "even";
-
- for ( var i = 0; i < services.length ; i++){
-
- cssclass = cssclass == 'even' ? 'odd' : 'even';
-
- var service = services[i];
- namespace[i] = {
- 'servicereference' : service.getServiceReference(),
- 'servicename' : service.getServiceName(),
- 'cssclass' : cssclass
- };
- }
- var data = {
- services : namespace
- };
+ if(serviceList !== null) {
+ var data = { services : serviceList };
processTpl('tplServiceList', data, 'contentMain', getBouquetEpg);
delayedGetSubservices();
debug("[incomingBouquetListInitial] Got " + bouquetList.length + " TV Bouquets!");
// loading first entry of TV Favorites as default for ServiceList
- loadBouquet(bouquetList[0].getServiceReference(), bouquetList[0].getServiceName());
+ loadBouquet(bouquetList[0].servicereference, bouquetList[0].servicename);
}
}
-function renderBouquetTable(list, target){
- debug("[renderBouquetTable] Rendering " + list.length + " Bouquets");
-
- var namespace = [];
- if (list.length < 1){
- debug("[renderBouquetTable] NO BOUQUETS!");
- }
- for (var i=0; i < list.length; i++){
- try{
- var bouquet = list[i];
- namespace[i] = {
- 'servicereference': bouquet.getServiceReference(),
- 'bouquetname': bouquet.getServiceName()
- };
- } catch (e) { }
- }
- var data = {
- services : namespace
- };
-
- processTpl('tplBouquetList', data, 'contentMain');
-}
-
-
-
function incomingBouquetList(request){
if (request.readyState == 4) {
var bouquetList = new ServiceList(getXML(request)).getArray();
debug("[incomingBouquetList] got " + bouquetList.length + " TV Bouquets!");
- renderBouquetTable(bouquetList, 'contentMain');
+
+ var data = { services : bouquetList };
+
+ processTpl('tplBouquetList', data, 'contentMain');
}
}
function incomingMovieList(request){
if(request.readyState == 4){
- var movies = new MovieList(getXML(request)).getArray();
- debug("[incomingMovieList] Got "+movies.length+" movies");
- namespace = [];
-
- var cssclass = "even";
-
- for ( var i = 0; i < movies.length; i++){
- cssclass = cssclass == 'even' ? 'odd' : 'even';
-
- var movie = movies[i];
- namespace[i] = {
- 'servicereference': escape(movie.getServiceReference()),
- 'servicename': movie.getServiceName(),
- 'title': movie.getTitle(),
- 'escapedTitle': escape(movie.getTitle()),
- 'description': movie.getDescription(),
- 'descriptionextended': movie.getDescriptionExtended(),
- 'filename': String(movie.getFilename()),
- 'filesize': movie.getFilesizeMB(),
- 'tags': movie.getTags().join(', ') ,
- 'length': movie.getLength() ,
- 'time': movie.getTimeDay()+" "+ movie.getTimeStartString(),
- 'cssclass' : cssclass
- };
- }
- var data = { movies : namespace };
+ var movieList = new MovieList(getXML(request)).getArray();
+ debug("[incomingMovieList] Got "+movieList.length+" movies");
+// namespace = [];
+
+// var cssclass = "even";
+//
+// for ( var i = 0; i < movies.length; i++){
+// cssclass = cssclass == 'even' ? 'odd' : 'even';
+//
+// var movie = movies[i];
+// namespace[i] = {
+// 'servicereference': escape(movie.getServiceReference()),
+// 'servicename': movie.getServiceName(),
+// 'title': movie.getTitle(),
+// 'escapedTitle': escape(movie.getTitle()),
+// 'description': movie.getDescription(),
+// 'descriptionextended': movie.getDescriptionExtended(),
+// 'filename': String(movie.getFilename()),
+// 'filesize': movie.getFilesizeMB(),
+// 'tags': movie.getTags().join(', ') ,
+// 'length': movie.getLength() ,
+// 'time': movie.getTimeDay()+" "+ movie.getTimeStartString(),
+// 'cssclass' : cssclass
+// };
+// }
+ var data = { movies : movieList };
processTpl('tplMovieList', data, 'contentMain');
}
}
debug("[incomingDelMovieResult] called");
if(request.readyState == 4){
var result = new SimpleXMLResult(getXML(request));
- if(result.getState()){
- notify(result.getStateText(), result.getState());
+ if(result.getState()){
loadMovieList();
- }else{
- notify(result.getStateText(), result.getState());
}
+ simpleResultHandler(result);
}
}
function incomingMessageResult(request){
if(request.readyState== 4){
var result = new SimpleXMLResult(getXML(request));
- notify(result.getStateText(), result.getState());
+ simpleResultHandler(result);
}
}
function incomingDeviceInfo(request) {
if(request.readyState == 4){
debug("[incomingDeviceInfo] called");
- var xml = getXML(request).getElementsByTagName("e2deviceinfo").item(0);
-
- var info = {};
-
- var nims = [];
- var hdds = [];
- var nics = [];
-
- var fpversion = "V"+xml.getElementsByTagName('e2fpversion').item(0).firstChild.data;
-
- var nimnodes = xml.getElementsByTagName('e2frontends').item(0).getElementsByTagName("e2frontend");
- for(var i = 0; i < nimnodes.length; i++){
- try {
- var name = nimnodes.item(i).getElementsByTagName("e2name").item(0).firstChild.data;
- var model = nimnodes.item(i).getElementsByTagName("e2model").item(0).firstChild.data;
- nims[i] = {
- 'name' : name,
- 'model' : model
- };
- } catch (e) {
- debug("[incomingDeviceInfo] error parsing NIM data: " + e);
- }
- }
-
-
- var hddnodes = xml.getElementsByTagName('e2hdd');
- for( var i = 0; i < hddnodes.length; i++){
- try{
- var hdd = hddnodes.item(i);
+ var deviceInfo = new DeviceInfo(getXML(request));
- var model = hdd.getElementsByTagName("e2model").item(0).firstChild.data;
- var capacity = hdd.getElementsByTagName("e2capacity").item(0).firstChild.data;
- var free = hdd.getElementsByTagName("e2free").item(0).firstChild.data;
-
- hdds[i] = {
- 'model' : model,
- 'capacity' : capacity,
- 'free' : free
- };
- } catch(e){
- debug("[incomingDeviceInfo] error parsing HDD data: " + e);
- }
- }
-
- var nicnodes = xml.getElementsByTagName('e2interface');
- for( var i = 0; i < nicnodes.length; i++){
- try {
- var nic = nicnodes.item(i);
- var name = nic.getElementsByTagName("e2name").item(0).firstChild.data;
- var mac = nic.getElementsByTagName("e2mac").item(0).firstChild.data;
- var dhcp = nic.getElementsByTagName("e2dhcp").item(0).firstChild.data;
- var ip = nic.getElementsByTagName("e2ip").item(0).firstChild.data;
- var gateway = nic.getElementsByTagName("e2gateway").item(0).firstChild.data;
- var netmask = nic.getElementsByTagName("e2netmask").item(0).firstChild.data;
-
- nics[i] = {
- 'name' : name,
- 'mac' : mac,
- 'dhcp' : dhcp,
- 'ip' : ip,
- 'gateway' : gateway,
- 'netmask' : netmask
- };
- } catch (e) {
- debug("[incomingDeviceInfo] error parsing NIC data: " + e);
- }
- }
-
- try{
- info = {
- 'devicename' : xml.getElementsByTagName('e2devicename').item(0).firstChild.data,
- 'enigmaVersion': xml.getElementsByTagName('e2enigmaversion').item(0).firstChild.data,
- 'imageVersion': xml.getElementsByTagName('e2imageversion').item(0).firstChild.data,
- 'fpVersion': fpversion,
- 'webifversion': xml.getElementsByTagName('e2webifversion').item(0).firstChild.data
- };
- } catch (e) {
- debug("[incomingDeviceInfo] parsing Error" + e);
- }
-
- var data = {
- "info" : info,
- "hdds" : hdds,
- "nics" : nics,
- "nims" : nims
- };
- processTpl('tplDeviceInfo', data, 'contentMain');
+ processTpl('tplDeviceInfo', deviceInfo, 'contentMain');
}
}
<tr>
<td>
<a target="_blank" onclick="return parentPin( '${service.servicereference}' );" href="/web/services.m3u?bRef=${service.servicereference}">
- <img src="/web-data/img/screen.png" title="Open ${service.bouquetname} as Playlist" border="0">
+ <img src="/web-data/img/screen.png" title="Open ${service.servicename} as Playlist" border="0">
</a>
</td>
<td>
<div class="sListSName">
- <a href="#" id="${service.servicereference}" onclick="{ loadBouquet(this.id, this.innerHTML); }" class="sListSLink" title="Load Bouquet ${service.bouquetname}">
- ${service.bouquetname}
+ <a href="#" id="${service.servicereference}" onclick="{ loadBouquet(this.id, this.innerHTML); }" class="sListSLink" title="Load Bouquet ${service.servicename}">
+ ${service.servicename}
</a>
</div>
</td>
<!-- tplNavExtras -->
<table id="navTimer" class="navTable">
<tr>
+ <td><a href="#" onclick="switchMode('MediaPlayer');">MediaPlayer</a><td>
+ </tr>
+ <tr>
<td><a href="#" onclick="loadDeviceInfo();">Device Info</a><td>
</tr>
<tr>