From: Robin Appelman Date: Sat, 31 Mar 2012 14:24:53 +0000 (+0200) Subject: send more progress updates when scanning large folders X-Git-Tag: v4.0.0beta~392^2~3 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=9d2f8aa717826c1db8f8ec5f49a4128af3651edb;p=nextcloud-server.git send more progress updates when scanning large folders --- diff --git a/lib/filecache.php b/lib/filecache.php index 86d865ed9f3..59b0fb1b503 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -469,6 +469,10 @@ class OC_FileCache{ * @param string root (optionak) */ public static function scan($path,$eventSource=false,&$count=0,$root=''){ + if($eventSource){ + $eventSource->send('scanning',array('file'=>$path,'count'=>$count)); + } + $lastSend=$count; if(!$root){ $view=OC_Filesystem::getView(); }else{ @@ -482,13 +486,15 @@ class OC_FileCache{ if($filename != '.' and $filename != '..'){ $file=$path.'/'.$filename; if($view->is_dir($file.'/')){ - if($eventSource){ - $eventSource->send('scanning',array('file'=>$file,'count'=>$count)); - } self::scan($file,$eventSource,$count,$root); }else{ $totalSize+=self::scanFile($file,$root); $count++; + if($count>$lastSend+25){ + if($eventSource){ + $eventSource->send('scanning',array('file'=>$path,'count'=>$count)); + } + } } } }