* Add template for current service Info (and add EPG/Streaming Link in the template)
authorStephan Reichholf <sreichholf@users.schwerkraft.elitedvb.net>
Mon, 5 Jan 2009 03:41:34 +0000 (03:41 +0000)
committerStephan Reichholf <sreichholf@users.schwerkraft.elitedvb.net>
Mon, 5 Jan 2009 03:41:34 +0000 (03:41 +0000)
* update TODO

webinterface/TODO
webinterface/src/web-data/config.js
webinterface/src/web-data/index.html
webinterface/src/web-data/tools.js
webinterface/src/web-data/tpl/tplCurrent.htm [new file with mode: 0644]

index 0c9404d..302cd9e 100644 (file)
@@ -1,7 +1,7 @@
 * Remove all os.system calls
-* Fix potential security issues in all shell operations (deleting unwanted files etc)
-* Finish "Current Service" Stuff
-* Add Timer/Movie-Location Stuff
+* Fix potential security issues in all shell operations (deleting unwanted files etc)
+** done for IPKG.py, Screengrab.py
+* Add Timer/Movie-Location Stuff (backend done)
 * Decide whether the MediaPlayer Menu should stay and if how.
 * Add Support for Multiple NICs in About
 * add box dependent remote control picture (for dm8000)
index ad4f4b9..28b1aec 100644 (file)
@@ -1,7 +1,7 @@
 // $Header$
 
 var DBG = true;
-//DBG = false;
+DBG = false;
 
 var url_getcurrent = '/web/getcurrent';
 
index 92d124e..d11421e 100644 (file)
                        </div>
                </div>
                <div id="current">
-                       <table id="currentTable">
-                               <tr>
-                                       <td id="currentName">N/A</td>
-                                       <td id="currentDuration">N/A</td>
-                               </tr>   
-                       </table>
+                       <div id="currentContent">
+                               <table id="currentTable">
+                                       <tr>
+                                               <td id="currentName">N/A</td>
+                                       </tr>   
+                               </table>
+                       </div>
                </div>
                <div id="main">
                        <div id="navContainer">
index 2bf84a0..ada7bfe 100644 (file)
@@ -1385,84 +1385,6 @@ function sendPowerState(newState){
 }
 
 
-//FileBrowser
-//function incomingFileBrowser(request){
-//     if(request.readyState == 4){
-//             var files = new FileList(getXML(request)).getArray();
-//
-//             debug("[incomingFileBrowser] Got " + files.length + " entry in filelist");
-//             listerHtml      = tplFileBrowserHeader;
-//             root = files[0].getRoot();
-//             listerHtml      = RND(tplFileBrowserHeader, {'root': root});
-//             if(root != '/') {
-//                     re = new RegExp(/(.*)\/(.*)\/$/);
-//                     re.exec(root);
-//                     newroot = RegExp.$1+'/';
-//                     if(newroot == '//') {
-//                             newroot = '/';
-//                     }
-//                     listerHtml += RND(tplFileBrowserItemBody, 
-//                             {'root': root,
-//                             'servicereference': newroot,
-//                             'exec': 'loadFileBrowser',
-//                             'exec_description': 'change to directory ../',
-//                             'color': '000000',
-//                             'newroot': newroot,
-//                             'name': '..'});
-//             }
-//             for ( var i = 0; i <files.length; i++){
-//                     var file = files[i];
-//                     if(file.getNameOnly() == 'None') {
-//                             continue;
-//                     }
-//                     var exec = 'loadFileBrowser';
-//                     var exec_description = 'change to directory' + file.getServiceReference();
-//                     var color = '000000';
-//                     if (file.getIsDirectory() == "False") {
-//                             exec = '';
-//                             exec_description = 'do Nothing';
-//                             color = '00BCBC';
-//                     }
-//                     var namespace = {
-//                             'servicereference': file.getServiceReference(),
-//                             'exec': exec,
-//                             'exec_description': exec_description,
-//                             'color': color,
-//                             'root': file.getRoot(),
-//                             'name': file.getNameOnly()
-//                     };
-//                     listerHtml += tplFileBrowserItemHead;
-//                     listerHtml += RND(tplFileBrowserItemBody, namespace);
-//                     if (file.getIsDirectory() == "False") {
-//                             listerHtml += RND(tplFileBrowserItemIMG, namespace);
-//                     }
-//                     listerHtml += tplFileBrowserItemFooter;
-//             }
-//             listerHtml += RND(tplFileBrowserFooter, {'root': root});
-//             $('BodyContent').innerHTML = listerHtml;
-////           setBodyMainContent('BodyContent');
-//     }               
-//}
-//
-//
-//function loadFileBrowser(directory,types){
-//     debug("[loadFileBrowser] loading loadFileBrowser");
-//     doRequest(url_filelist+directory+"&types="+types, incomingFileBrowser, false);  
-//}
-//
-//
-//function incomingDelFileResult(request) {
-//     debug("[incomingDelFileResult called]");
-//     if(request.readyState == 4){
-//             var delresult = new SimpleXMLResult(getXML(request));
-//             if(delresult.getState()){
-//                     loadFileBrowser($('path').value);
-//             }else{
-//                     messageBox("Deletion Error","Reason: "+delresult.getStateText());
-//             }
-//     }               
-//}
-
 
 function delFile(file,root) {
        debug("[delFile] called");
@@ -1477,18 +1399,22 @@ function incomingCurrent(request){
                try{
                        var xml = getXML(request).getElementsByTagName("e2currentserviceinformation").item(0);
                        
-                       var servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
-                       var servicename = xml.getElementsByTagName('e2servicename').item(0).firstChild.data;
-                       var currentname = xml.getElementsByTagName('e2eventname').item(0).firstChild.data;
-                       var currentduration     = xml.getElementsByTagName('e2eventduration').item(0).firstChild.data;
                        
-                       if(servicereference.length > 0){
-                               set('currentName', servicename + ' - ' + currentname );
-                               set('currentDuration', currentduration);
+                       namespace = {
+                               "servicereference" : encodeURIComponent(xml.getElementsByTagName('e2servicereference').item(0).firstChild.data),
+                               "servicename" : xml.getElementsByTagName('e2servicename').item(0).firstChild.data,
+                               "eventname" : xml.getElementsByTagName('e2eventname').item(0).firstChild.data,
+                               "duration" : xml.getElementsByTagName('e2eventduration').item(0).firstChild.data
+                       };
+                       
+                       data = { current : namespace };
+                       
+                       if(typeof(templates.tplCurrent) != "undefined"){
+                               renderTpl(templates.tplCurrent, data, "currentContent");
                        } else {
-                               set('currentName', 'N/A');
-                               set('currentDuration', 'N/A');
+                               debug("[incomingCurrent] tplCurrent N/A");
                        }
+
                } catch (e){}
                
        }
@@ -1669,6 +1595,8 @@ function init(){
        setAjaxLoad('contentMain');
        
        fetchTpl('tplServiceListEPGItem');
+       fetchTpl('tplCurrent');
+       
        reloadNav('tplNavTv', 'TeleVision');
        
        initChannelList();
diff --git a/webinterface/src/web-data/tpl/tplCurrent.htm b/webinterface/src/web-data/tpl/tplCurrent.htm
new file mode 100644 (file)
index 0000000..cb32218
--- /dev/null
@@ -0,0 +1,15 @@
+
+                       <table id="currentTable">
+                               <tr>
+                                       <td id="currentName">${current.eventname} (${current.servicename})</td>
+                                       <td id="currentDuration">                                                                                                                                       
+                                               <a href="#" onclick="if ( parentPin( '${current.servicereference}' ) ) { loadEPGByServiceReference( '${current.servicereference}' ); }">
+                                                       <img src="/webdata/gfx/epg.png" border="0" title="Show EPG for ${current.servicename}"/>
+                                               </a>
+                                               <a target="_blank" onclick="return parentPin( '${current.servicereference}' );" href="/web/stream.m3u?ref=${current.servicereference}">
+                                                       <img src="/webdata/gfx/screen.png" title="Stream ${current.servicename}" border="0">
+                                               </a>    
+                                               ${current.duration}
+                                       </td>
+                               </tr>   
+                       </table>
\ No newline at end of file