mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
start of proper feedback during filessytem scan
This commit is contained in:
parent
8543e79713
commit
ffecc3e434
3 changed files with 19 additions and 10 deletions
|
|
@ -2,15 +2,18 @@
|
|||
|
||||
require_once '../../lib/base.php';
|
||||
|
||||
$eventSource=new OC_EventSource();
|
||||
|
||||
$force=isset($_GET['force']) and $_GET['force']=='true';
|
||||
$checkOnly=isset($_GET['checkonly']) and $_GET['checkonly']=='true';
|
||||
|
||||
//create the file cache if necesary
|
||||
if($force or !OC_FileCache::inCache('')){
|
||||
if(!$checkOnly){
|
||||
OC_FileCache::scan('');
|
||||
OC_FileCache::scan('',false,$eventSource);
|
||||
}
|
||||
OC_JSON::success(array("data" => array( "done" => true)));
|
||||
$eventSource->send('success',true);
|
||||
}else{
|
||||
OC_JSON::success(array("data" => array( "done" => false)));
|
||||
}
|
||||
$eventSource->send('success',false);
|
||||
}
|
||||
$eventSource->close();
|
||||
|
|
@ -348,13 +348,17 @@ $(document).ready(function() {
|
|||
function scanFiles(force){
|
||||
force=!!force; //cast to bool
|
||||
$('#scanning-message').show();
|
||||
$.get(OC.filePath('files','ajax','scan.php'),{force:force}, function(response) {
|
||||
if(response && response.data && response.data.done){
|
||||
var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force});
|
||||
scannerEventSource.listen('scanned',function(file){
|
||||
console.log(file);//TODO: make this into proper feedback
|
||||
});
|
||||
scannerEventSource.listen('success',function(success){
|
||||
if(success){
|
||||
window.location.reload();
|
||||
}else{
|
||||
alert('error')
|
||||
alert('error while scanning');
|
||||
}
|
||||
}, "json");
|
||||
});
|
||||
}
|
||||
|
||||
function boolOperationFinished(data, callback) {
|
||||
|
|
|
|||
|
|
@ -288,8 +288,9 @@ class OC_FileCache{
|
|||
* recursively scan the filesystem and fill the cache
|
||||
* @param string $path
|
||||
* @param bool $onlyChilds
|
||||
* @param OC_EventSource $enventSource
|
||||
*/
|
||||
public static function scan($path,$onlyChilds=false){//PROBLEM due to the order things are added, all parents are -1
|
||||
public static function scan($path,$onlyChilds,$eventSource){//PROBLEM due to the order things are added, all parents are -1
|
||||
$dh=OC_Filesystem::opendir($path);
|
||||
$stat=OC_Filesystem::stat($path);
|
||||
$mimetype=OC_Filesystem::getMimeType($path);
|
||||
|
|
@ -305,12 +306,13 @@ class OC_FileCache{
|
|||
if($filename != '.' and $filename != '..'){
|
||||
$file=$path.'/'.$filename;
|
||||
if(OC_Filesystem::is_dir($file)){
|
||||
self::scan($file,true);
|
||||
self::scan($file,true,$eventSource);
|
||||
}else{
|
||||
$stat=OC_Filesystem::stat($file);
|
||||
$mimetype=OC_Filesystem::getMimeType($file);
|
||||
$stat['mimetype']=$mimetype;
|
||||
self::put($file,$stat);
|
||||
$eventSource->send('scanned',$file);
|
||||
$totalSize+=$stat['size'];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue