summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--files/js/files.js8
-rw-r--r--lib/filecache.php11
2 files changed, 9 insertions, 10 deletions
diff --git a/files/js/files.js b/files/js/files.js
index a896314faf0..0eca0959def 100644
--- a/files/js/files.js
+++ b/files/js/files.js
@@ -347,15 +347,13 @@ $(document).ready(function() {
function scanFiles(force){
force=!!force; //cast to bool
- var fileCount=0;
$('#scanning-message').show();
$('#fileList').remove();
var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force});
scanFiles.cancel=scannerEventSource.close.bind(scannerEventSource);
- scannerEventSource.listen('scanned',function(file){
- fileCount++;
- $('#scan-count').text(fileCount+' files scanned');
- $('#scan-current').text(file);
+ scannerEventSource.listen('scanning',function(data){
+ $('#scan-count').text(data.count+' files scanned');
+ $('#scan-current').text(data.file+'/');
});
scannerEventSource.listen('success',function(success){
if(success){
diff --git a/lib/filecache.php b/lib/filecache.php
index b4cafe8b311..a67ac669a76 100644
--- a/lib/filecache.php
+++ b/lib/filecache.php
@@ -303,7 +303,7 @@ class OC_FileCache{
* @param bool $onlyChilds
* @param OC_EventSource $enventSource
*/
- public static function scan($path,$onlyChilds,$eventSource){
+ public static function scan($path,$onlyChilds=false,$eventSource=false,&$count=0){
$dh=OC_Filesystem::opendir($path);
$stat=OC_Filesystem::stat($path);
$mimetype=OC_Filesystem::getMimeType($path);
@@ -319,15 +319,16 @@ class OC_FileCache{
if($filename != '.' and $filename != '..'){
$file=$path.'/'.$filename;
if(OC_Filesystem::is_dir($file)){
- self::scan($file,true,$eventSource);
+ if($eventSource){
+ $eventSource->send('scanning',array('file'=>$file,'count'=>$count));
+ }
+ self::scan($file,true,$eventSource,$count);
}else{
$stat=OC_Filesystem::stat($file);
$mimetype=OC_Filesystem::getMimeType($file);
$stat['mimetype']=$mimetype;
self::put($file,$stat);
- if($eventSource){
- $eventSource->send('scanned',$file);
- }
+ $count++;
$totalSize+=$stat['size'];
}
}