[vlc-commits] web intf: fix uri decoding when browsing.
Francois Cartegnie
git at videolan.org
Fri Oct 21 22:47:13 CEST 2011
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Fri Oct 21 20:39:15 2011 +0200| [a8de45a9baf98a1c77d1518421da848448537344] | committer: Francois Cartegnie
web intf: fix uri decoding when browsing.
And now make use of URI
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a8de45a9baf98a1c77d1518421da848448537344
---
share/lua/http/js/controlers.js | 10 +++++-----
share/lua/intf/modules/httprequests.lua | 14 ++++++++++----
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/share/lua/http/js/controlers.js b/share/lua/http/js/controlers.js
index fb21dd5..43d70da 100644
--- a/share/lua/http/js/controlers.js
+++ b/share/lua/http/js/controlers.js
@@ -163,16 +163,16 @@ function sendCommand(params,append){
}
}
function browse(dir){
- dir = dir==undefined ? '~' : dir;
+ dir = dir==undefined ? 'file://~' : dir;
$.ajax({
url: 'requests/browse.xml',
- data:'dir='+encodeURIComponent(dir),
+ data:'uri='+encodeURIComponent(dir),
success: function(data,status,jqXHR){
var tgt = browse_target.indexOf('__')==-1 ? browse_target : browse_target.substr(0,browse_target.indexOf('__'));
$('#browse_elements').empty();
$('element',data).each(function(){
if($(this).attr('type')=='dir' || $.inArray($(this).attr('name').substr(-3),video_types)!=-1 || $.inArray($(this).attr('name').substr(-3),audio_types)!=-1){
- $('#browse_elements').append(createElementLi($(this).attr('name'),$(this).attr('type'),$(this).attr('path'),$(this).attr('name').substr(-3)));
+ $('#browse_elements').append(createElementLi($(this).attr('name'),$(this).attr('type'),$(this).attr('uri'),$(this).attr('name').substr(-3)));
}
});
$('[opendir]').dblclick(function(){
@@ -195,7 +195,7 @@ function browse(dir){
case '#mobile':
break;
default:
- sendCommand('command=in_play&input=file://'+encodeURIComponent($(this).attr('openfile')));
+ sendCommand('command=in_play&input='+encodeURIComponent($(this).attr('openfile')));
break;
}
$('#window_browse').dialog('close');
@@ -212,7 +212,7 @@ function browse(dir){
$('[openfile]').click(function(){
switch(tgt){
case '#mobile':
- sendCommand('command=in_play&input=file://'+encodeURIComponent($(this).attr('openfile')),"window.location='mobile.html'");
+ sendCommand('command=in_play&input='+encodeURIComponent($(this).attr('openfile')),"window.location='mobile.html'");
break;
default:
break;
diff --git a/share/lua/intf/modules/httprequests.lua b/share/lua/intf/modules/httprequests.lua
index bed51a0..3bc75f5 100644
--- a/share/lua/intf/modules/httprequests.lua
+++ b/share/lua/intf/modules/httprequests.lua
@@ -341,15 +341,21 @@ getbrowsetable = function ()
local uri = _GET["uri"]
--uri takes precedence, but fall back to dir
if uri then
- dir = vlc.strings.make_path(uri)
+ if uri == "file://~" then
+ dir = uri
+ else
+ dir = vlc.strings.make_path(uri)
+ end
else
dir = _GET["dir"]
end
--backwards compatibility with old format driveLetter:\\..
--this is forgiving with the slash type and number
- local position=string.find(dir, '%a:[\\/]*%.%.',0)
- if position==1 then dir="" end
+ if dir then
+ local position=string.find(dir, '%a:[\\/]*%.%.',0)
+ if position==1 then dir="" end
+ end
local result={}
--paths are returned as an array of elements
@@ -357,7 +363,7 @@ getbrowsetable = function ()
result.element._array={}
if dir then
- if dir == "~" then dir = vlc.misc.homedir() end
+ if dir == "~" or dir == "file://~" then dir = vlc.misc.homedir() end
-- FIXME: hack for Win32 drive list
if dir~="" then
dir = common.realpath(dir.."/")
More information about the vlc-commits
mailing list