small changes (mostly var. names)
authorJulian Dittrich <jjbig@users.schwerkraft.elitedvb.net>
Sat, 7 Jul 2007 18:51:38 +0000 (18:51 +0000)
committerJulian Dittrich <jjbig@users.schwerkraft.elitedvb.net>
Sat, 7 Jul 2007 18:51:38 +0000 (18:51 +0000)
webinterface/src/WebComponents/Sources/MP.py
webinterface/src/web-data/config.js
webinterface/src/web-data/index.html
webinterface/src/web-data/objects.js
webinterface/src/web-data/templates.js
webinterface/src/web-data/tools.js
webinterface/src/web/mediaplayerlist.xml

index e13724e..fe668f1 100644 (file)
@@ -34,13 +34,20 @@ class MP( Source):
         
         returnList = []
         
-        filelist = FileList(param, matchingPattern = "(?i)^.*\.(mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob)", useServiceRef = True)
+        matchingPattern = "(?i)^.*\.(mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob)" #MediaPlayer-Match
+        if param["types"] == "audio":
+            matchingPattern = "(?i)^.*\.(mp3|ogg|wav|wave|m3u|pls|e2pls)"
+        elif param["types"] == "video":
+            matchingPattern = "(?i)^.*\.(ts|avi|mpeg|m3u|pls|e2pls|mpg|vob)"
+        elif param["types"] == "any":
+            matchingPattern = "(?i)^.*\.(mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob)"
+        filelist = FileList(param["path"], matchingPattern, useServiceRef = True)
         list = filelist.getFileList()
         for x in list:
             if x[0][1] == False: #isDir
-                returnList.append([x[0][0].toString(),x[0][1],param])
+                returnList.append([x[0][0].toString(),x[0][1],param["path"]])
             else:
-                returnList.append([x[0][0],x[0][1],param])
+                returnList.append([x[0][0],x[0][1],param["path"]])
         return returnList
 
     def playFile(self,param):
index b08c2c6..4b057ea 100644 (file)
@@ -28,10 +28,12 @@ var url_parentcontrol= "/web/parentcontrollist";
 
 var url_moviefiledelete= "/web/moviefiledelete"; // plus serviceref,eventid
 
-var url_mediaplayerlist= "/web/mediaplayerlist?path="; // plus full qualified path
+var url_mediaplayerlist= "/web/mediaplayerlist?types=mp&path="; // plus full qualified path
 var url_mediaplayerplay= "/web/mediaplayerplay?file="; // plus file-serviceref
 var url_mediaplayercmd= "/web/mediaplayercmd?command="; // plus command
 
+var url_filelist = "/web/mediaplayerlist?types=all&path="; // plus full qualified path
+
 var url_timerlist= "/web/timerlist";
 var url_recordnow= "/web/recordnow";
 var url_timeradd= "/web/timeradd"; // plus serviceref,begin,end,name,description,eit,disabled,justplay,afterevent
index ac7bb92..a97ef9f 100644 (file)
                                                        <div onclick="loadMovieList('')">Movies</div>
                                                        <div onclick="loadTimerList()">Timers</div>
                                                        <div onclick="loadTimerFormNow()">Add Timer</div>
-                                                       <div onclick="loadMediaPlayer('/media/hdd/')">MediaPlayer</div>
                                                </div>
                                        </div>
                                                
                                        <div class="navMenuPanel" id="accordionMenueBouquetPanelExtras">
                                                <div class="navMenuHeader" id="accordionMenueBouquetHeaderExtras">Extras</div>
                                                <div class="navMenuContent" id="accordionMenueBouquetContentExtras">
+                                                       <div onclick="loadMediaPlayer('/media/hdd/')">MediaPlayer</div>
                                                        <div onclick="showMessageSendForm()">Message</div>
                                                        <div onclick="showRemoteControllSendForm()">Remote Control</div>
                                                        <div onclick="showPowerStateSendForm()">Power</div>
+<!--                                                   <div onclick="loadFileBrowser('/media/hdd/')">FileBrowser</div>-->
                                                        <div onclick="showAbout()">About</div>
                                                        <div onclick="showNotes()">Notes</div>
                                                </div>
index 6d511c3..38b6c47 100644 (file)
@@ -655,10 +655,7 @@ function File(xml){
        this.getServiceReference = function(){
                return this.servicereference;
        }
-       this.getFileName = function(){
-               return this.servicereference.replace(/.*:\//,'/');
-       }
-       this.getFullPath = function(){
+       this.getNameOnly = function(){
                if(this.root == '/') {
                        return this.servicereference;
                } else {
index f9af572..498f1b5 100644 (file)
@@ -501,10 +501,10 @@ var tplMediaPlayerHeader  = '<table border="0" cellpadding="0" cellspacing="0" c
        tplMediaPlayerHeader += '<tbody class="scrollContent">\n';
 
 var tplMediaPlayerItemHead = '<tr>\n';
-var tplMediaPlayerItemBody = '<td><div style="color: #%(color);" onclick="%(exec)(\'%(servicereference)\',\'%(root)\');" class="sListSName" title="%(servicereference)">%(fullpath)</div>';
+var tplMediaPlayerItemBody = '<td><div style="color: #%(color);" onclick="%(exec)(\'%(servicereference)\',\'%(root)\');" class="sListSName" title="%(servicereference)">%(name)</div>';
 var    tplMediaPlayerItemIMG  = '<div class="sListExt">\n';
        tplMediaPlayerItemIMG += '<img src="/webdata/gfx/play.png" onclick="%(exec)(\'%(servicereference)\',\'%(root)\');" title="%(exec_description)" border="0">\n';
-       tplMediaPlayerItemIMG += '<a target="_blank" href="/file/?file=%(fullpath)&root=%(root)"><img src="/webdata/gfx/save.png" title="download File" border="0"></a>\n';
+       tplMediaPlayerItemIMG += '<a target="_blank" href="/file/?file=%(name)&root=%(root)"><img src="/webdata/gfx/save.png" title="download File" border="0"></a>\n';
        tplMediaPlayerItemIMG += '</div>\n';
 var tplMediaPlayerItemFooter = '</tr>\n';
 
@@ -546,4 +546,29 @@ var tplNote  = '<form id="note_%(name)"><input type="hidden" id="note_%(name)_na
        tplNote += '<tr style="background-color: #DDDDDD;">';
        tplNote += '<td colspan="2"><input type="button"  onclick="saveNote(\'note_%(name)\');" value="save"><input type="button"  onclick="$(\'note_%(name)\').reset();" value="reset"></td>';
        tplNote += '</tr>';
-       tplNote += '</table></form>';
\ No newline at end of file
+       tplNote += '</table></form>';
+       
+
+var tplFileBrowserHeader  = '<table border="0" cellpadding="0" cellspacing="0" class="BodyContentChannellist">\n';
+    tplFileBrowserHeader += '<thead class="fixedHeader">\n';
+    tplFileBrowserHeader += '<tr>\n';
+    tplFileBrowserHeader += '<th><div class="sListHeader">FileBrowser %(root)</div>\n';
+    tplFileBrowserHeader += '<div class="sListSearch">';
+    tplFileBrowserHeader += '<!-- insert filesearch-function here--></div></th>';
+    tplFileBrowserHeader += '</tr>\n';
+    tplFileBrowserHeader += '</thead>\n';
+    tplFileBrowserHeader += '<tbody class="scrollContent">\n';
+
+var tplFileBrowserItemHead = '<tr>\n';
+var tplFileBrowserItemBody = '<td><div style="color: #%(color);" onclick="%(exec)(\'%(servicereference)\',\'%(root)\');" class="sListSName" title="%(servicereference)">%(name)</div>';
+var tplFileBrowserItemIMG  = '<div class="sListExt">\n';
+    tplFileBrowserItemIMG += '<img src="/webdata/gfx/play.png" onclick="%(exec)(\'%(servicereference)\',\'%(root)\');" title="%(exec_description)" border="0">\n';
+    tplFileBrowserItemIMG += '<a target="_blank" href="/file/?file=%(name)&root=%(root)"><img src="/webdata/gfx/save.png" title="download File" border="0"></a>\n';
+    tplFileBrowserItemIMG += '</div>\n';
+var tplFileBrowserItemFooter = '</tr>\n';
+
+var tplFileBrowserFooter  = '</tbody></table>\n';
+    tplFileBrowserFooter += '<form action="/upload" method="POST" enctype="multipart/form-data"><input type="hidden" name="path" value="%(root)">';
+       tplFileBrowserFooter += '<input type="file" name="file"';
+       tplFileBrowserFooter += '<input style="vertical-align:middle" type="image" src="/webdata/gfx/save.png" alt="upload">';
+       tplFileBrowserFooter += '</form>';
\ No newline at end of file
index 8ae8004..50e70bf 100644 (file)
@@ -1063,12 +1063,11 @@ function incomingMediaPlayer(request){
                                ,'exec_description': 'change to directory ../'
                                ,'color': '000000'
                                ,'root': newroot
-                               ,'filename': newroot
-                               ,'fullpath': '..'});
+                               ,'name': '..'});
                }
                for ( var i = 0; i <files.length; i++){
                        var file = files[i];
-                       if(file.getFullPath() == 'None') {
+                       if(file.getNameOnly() == 'None') {
                                continue;
                        }
                        var exec = 'loadMediaPlayer';
@@ -1085,8 +1084,7 @@ function incomingMediaPlayer(request){
                                ,'exec_description': exec_description
                                ,'color': color
                                ,'root': file.getRoot()
-                               ,'filename': file.getFileName()
-                               ,'fullpath': file.getFullPath()
+                               ,'name': file.getNameOnly()
                        };
                        listerHtml += tplMediaPlayerItemHead;
                        listerHtml += RND(tplMediaPlayerItemBody, namespace);
@@ -1118,6 +1116,70 @@ function showPowerStateSendForm(){
 function sendPowerState(newState){
        new Ajax.Request( url_powerstate+'?newstate='+newState, { asynchronous: true, method: 'get' });
 }
+function loadFileBrowser(directory){
+       debug("loading loadFileBrowser");
+       doRequest(url_filelist+directory, incomingFileBrowser); 
+}
+function incomingFileBrowser(request){
+       if(request.readyState == 4){
+               var files = new FileList(getXML(request)).getArray();
+               debug(getXML(request));
+               debug("have "+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'
+                               ,'root': 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;
+               var sendMediaPlayerTMP = sendMediaPlayer;
+               sendMediaPlayer = false;
+               setBodyMainContent('BodyContent');
+               sendMediaPlayer = sendMediaPlayerTMP;
+       }               
+}
 
 
 
index f19326a..2434da6 100644 (file)
@@ -1,5 +1,5 @@
 <e2:screen name="MediaPlayerWebScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
-&lt;e2filelist><e2:element source="FileList" id="path"><e2:convert type="web:ListFiller" >
+&lt;e2filelist><e2:element source="FileList" id="path,types"><e2:convert type="web:ListFiller" >
        &lt;e2file>
                &lt;e2servicereference><e2:item name="ServiceReference"  filter="xml"/>&lt;/e2servicereference>
                &lt;e2isdirectory><e2:item name="IsDirectory"  filter="xml"/>&lt;/e2isdirectory>