@@ -0,0 +1,4 @@ | |||
ErrorDocument 404 //owncloud/templates/404.php | |||
php_value upload_max_filesize 20M | |||
php_value post_max_size 20M | |||
SetEnv htaccessWorking true |
@@ -4,6 +4,7 @@ | |||
{ | |||
display: none; | |||
position: absolute; | |||
right:0px; | |||
background-color: #EEE; | |||
} | |||
@@ -36,7 +37,7 @@ | |||
#file_upload_filename { | |||
background-image:url(../../img/mimetypes/file.png); | |||
} | |||
#file_upload_start {opacity:0;} | |||
#file_upload_start {opacity:0;filter: alpha(opacity = 0);} | |||
#file_newfolder_name { | |||
background-image:url(../../img/places/folder.png); font-weight: bold; | |||
@@ -104,3 +105,10 @@ table td.filename a | |||
text-decoration: none; | |||
} | |||
.dropArrow{ | |||
height:16px; | |||
width:16px; | |||
display: -moz-inline-box; /* fallback for older firefox versions*/ | |||
display: inline-block; | |||
background-image:url('../../img/drop-arrow.png'); | |||
} |
@@ -36,6 +36,7 @@ if( !OC_USER::isLoggedIn()){ | |||
OC_UTIL::addStyle( "files", "files" ); | |||
OC_UTIL::addScript( "files", "files" ); | |||
OC_UTIL::addScript( 'files', 'filelist' ); | |||
OC_UTIL::addScript( 'files', 'fileactions' ); | |||
OC_APP::setActiveNavigationEntry( "files_index" ); | |||
// Load the files | |||
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : ''; |
@@ -0,0 +1,100 @@ | |||
FileActions={ | |||
actions:{}, | |||
defaults:{}, | |||
register:function(mime,name,action){ | |||
if(!FileActions.actions[mime]){ | |||
FileActions.actions[mime]={}; | |||
} | |||
FileActions.actions[mime][name]=action; | |||
}, | |||
setDefault:function(mime,name){ | |||
FileActions.defaults[mime]=FileActions.actions[mime][name]; | |||
}, | |||
get:function(mime,type){ | |||
var actions={}; | |||
if(FileActions.actions.all){ | |||
actions=$.extend( actions, FileActions.actions.all ) | |||
} | |||
if(mime){ | |||
if(FileActions.actions[mime]){ | |||
actions=$.extend( actions, FileActions.actions[mime] ) | |||
} | |||
var mimePart=mime.substr(0,mime.indexOf('/')); | |||
if(FileActions.actions[mimePart]){ | |||
actions=$.extend( actions, FileActions.actions[mimePart] ) | |||
} | |||
} | |||
if(type){//type is 'dir' or 'file' | |||
if(FileActions.actions[type]){ | |||
actions=$.extend( actions, FileActions.actions[type] ) | |||
} | |||
} | |||
return actions; | |||
}, | |||
getDefault:function(mime,type){ | |||
if(mime){ | |||
var mimePart=mime.substr(0,mime.indexOf('/')); | |||
} | |||
if(mime && FileActions.defaults[mime]){ | |||
return FileActions.defaults[mime]; | |||
}else if(mime && FileActions.defaults[mimePart]){ | |||
return FileActions.defaults[mimePart]; | |||
}else if(type && FileActions.defaults[type]){ | |||
return FileActions.defaults[type]; | |||
}else{ | |||
return FileActions.defaults.all; | |||
} | |||
}, | |||
display:function(parent){ | |||
$('#file_menu>ul').empty(); | |||
parent.append($('#file_menu')); | |||
var actions=FileActions.get(FileActions.getCurrentMimeType(),FileActions.getCurrentType()); | |||
for(name in actions){ | |||
var html='<li><a href="" alt="'+name+'">'+name+'</a></li>'; | |||
var element=$(html); | |||
element.data('action',name); | |||
element.click(function(){ | |||
event.preventDefault(); | |||
actions[$(this).data('action')](FileActions.getCurrentFile()); | |||
}); | |||
$('#file_menu>ul').append(element); | |||
} | |||
$('#file_menu').slideToggle(250); | |||
return false; | |||
}, | |||
getCurrentFile:function(){ | |||
return $('#file_menu').parents('tr:first').attr('data-file'); | |||
}, | |||
getCurrentMimeType:function(){ | |||
return $('#file_menu').parents('tr:first').attr('data-mime'); | |||
}, | |||
getCurrentType:function(){ | |||
return $('#file_menu').parents('tr:first').attr('data-type'); | |||
} | |||
} | |||
FileActions.register('all','Download',function(filename){ | |||
window.location='ajax/download.php?files='+filename+'&dir='+$('#dir').val(); | |||
$('#file_menu').slideToggle(250); | |||
}); | |||
FileActions.register('all','Delete',function(filename){ | |||
$.ajax({ | |||
url: 'ajax/delete.php', | |||
data: "dir="+$('#dir').val()+"&file="+filename, | |||
complete: function(data){ | |||
boolOperationFinished(data, function(){ | |||
FileList.remove(filename); | |||
}); | |||
} | |||
}); | |||
}); | |||
FileActions.setDefault('all','Download'); | |||
FileActions.register('dir','Open',function(filename){ | |||
window.location='index.php?dir='+$('#dir').val()+'/'+filename; | |||
$('#file_menu').slideToggle(250); | |||
}); | |||
FileActions.setDefault('dir','Open'); |
@@ -15,11 +15,22 @@ $(document).ready(function() { | |||
// Sets the file-action buttons behaviour : | |||
$('td.fileaction a').live('click',function() { | |||
$(this).parent().append($('#file_menu')); | |||
$('#file_menu').slideToggle(250); | |||
return false; | |||
event.preventDefault(); | |||
FileActions.display($(this).parent()); | |||
}); | |||
// Sets the file link behaviour : | |||
$('td.filename a').live('click',function() { | |||
event.preventDefault(); | |||
var filename=$(this).text(); | |||
var mime=$(this).parent().parent().attr('data-mime'); | |||
var type=$(this).parent().parent().attr('data-type'); | |||
var action=FileActions.getDefault(mime,type); | |||
if(action){ | |||
action(filename); | |||
} | |||
}); | |||
// Sets the select_all checkbox behaviour : | |||
$('#select_all').click(function() { | |||
if($(this).attr('checked')) | |||
@@ -40,33 +51,10 @@ $(document).ready(function() { | |||
} | |||
}); | |||
// Download current file | |||
$('#download_single_file').click(function() { | |||
filename = $('#file_menu').parents('tr:first').find('.filename:first').children('a:first').text(); | |||
window.location='ajax/download.php?files='+filename+'&dir='+$('#dir').val(); | |||
$('#file_menu').slideToggle(250); | |||
return false; | |||
}); | |||
// Delete current file | |||
$('#delete_single_file').click(function() { | |||
filename = $('#file_menu').parents('tr:first').attr('data-file'); | |||
$.ajax({ | |||
url: 'ajax/delete.php', | |||
data: "dir="+$('#dir').val()+"&file="+filename, | |||
complete: function(data){ | |||
boolOperationFinished(data, function(){ | |||
FileList.remove(filename); | |||
}); | |||
} | |||
}); | |||
return false; | |||
}); | |||
$('#file_newfolder_submit').click(function() { | |||
$.ajax({ | |||
url: 'ajax/newfolder.php', | |||
data: "dir="+$('#dir').val()+"&foldername="+$('#file_newfolder_name').val(), | |||
data: "dir="+$('#dir').val()+"&foldername="+$('#file_newfolder_name').val(), | |||
complete: function(data){boolOperationFinished(data, function(){ | |||
var date=formatDate(new Date()); | |||
FileList.addDir($('#file_newfolder_name').val(),'0 B',date) |
@@ -44,8 +44,5 @@ | |||
<div id="file_menu"> | |||
<ul> | |||
<li><a href="" title="" id="download_single_file">Download</a></li> | |||
<li><a href="" title="">Share</a></li> | |||
<li><a href="" title="" id="delete_single_file">Delete</a></li> | |||
</ul> | |||
</div> |
@@ -1,5 +1,5 @@ | |||
<?php foreach($_["files"] as $file): ?> | |||
<tr data-file='<?php echo $file['name'];?>' data-type='<?php echo ($file["type"] == "dir")?'dir':'file'?>'> | |||
<tr data-file='<?php echo $file['name'];?>' data-type='<?php echo ($file["type"] == "dir")?'dir':'file'?>' data-mime='<?php echo $file["mime"]?>'> | |||
<td class="selection"><input type="checkbox" /></td> | |||
<td class="filename"><a style="background-image:url(<?php if($file["type"] == "dir") echo mimetype_icon("dir"); else echo mimetype_icon($file["mime"]); ?>)" href="<?php if($file["type"] == "dir") echo link_to("files", "index.php?dir=".$file["directory"]."/".$file["name"]); else echo link_to("files", "download.php?file=".$file["directory"]."/".$file["name"]); ?>" title=""><?php echo htmlspecialchars($file["name"]); ?></a></td> | |||
<td class="filesize"><?php echo human_file_size($file["size"]); ?></td> |