tell the user when the files are being scanned
This commit is contained in:
parent
5a6aba1e11
commit
524e3686a0
|
@ -172,18 +172,9 @@ class OC_Filestorage_Shared extends OC_Filestorage {
|
|||
// TODO fill in other components of array
|
||||
public function stat($path) {
|
||||
if ($path == "" || $path == "/") {
|
||||
$stat["dev"] = "";
|
||||
$stat["ino"] = "";
|
||||
$stat["mode"] = "";
|
||||
$stat["nlink"] = "";
|
||||
$stat["uid"] = "";
|
||||
$stat["gid"] = "";
|
||||
$stat["rdev"] = "";
|
||||
$stat["size"] = $this->filesize($path);
|
||||
$stat["mtime"] = $this->filemtime($path);
|
||||
$stat["ctime"] = $this->filectime($path);
|
||||
$stat["blksize"] = "";
|
||||
$stat["blocks"] = "";
|
||||
return $stat;
|
||||
} else {
|
||||
$source = $this->getSource($path);
|
||||
|
@ -220,18 +211,7 @@ class OC_Filestorage_Shared extends OC_Filestorage {
|
|||
}
|
||||
|
||||
public function getFolderSize($path) {
|
||||
// Shared folder sizes are cached separately from the source folder sizes because folders can have different names
|
||||
$path = rtrim($path, "/");
|
||||
$path = ltrim($path, "/");
|
||||
$path = preg_replace('{(/)\1+}', "/", $path);
|
||||
$dbpath = rtrim($this->datadir.$path, "/");
|
||||
// $query = OC_DB::prepare("SELECT size FROM *PREFIX*foldersize WHERE path = ?");
|
||||
// $size = $query->execute(array($dbpath))->fetchAll();
|
||||
if (count($size) > 0) {
|
||||
return $size[0]['size'];
|
||||
} else {
|
||||
return $this->calculateFolderSize($path);
|
||||
}
|
||||
return 0; //depricated
|
||||
}
|
||||
|
||||
private function calculateFolderSize($path) {
|
||||
|
@ -321,8 +301,8 @@ class OC_Filestorage_Shared extends OC_Filestorage {
|
|||
$ctime = $tempctime;
|
||||
}
|
||||
}
|
||||
return $ctime;
|
||||
}
|
||||
return $ctime;
|
||||
} else {
|
||||
$source = $this->getSource($path);
|
||||
if ($source) {
|
||||
|
@ -342,8 +322,8 @@ class OC_Filestorage_Shared extends OC_Filestorage {
|
|||
$mtime = $tempmtime;
|
||||
}
|
||||
}
|
||||
return $mtime;
|
||||
}
|
||||
return $mtime;
|
||||
} else {
|
||||
$source = $this->getSource($path);
|
||||
if ($source) {
|
||||
|
@ -482,6 +462,9 @@ class OC_Filestorage_Shared extends OC_Filestorage {
|
|||
}
|
||||
|
||||
public function getMimeType($path) {
|
||||
if ($path2 == "" || $path2 == "/") {
|
||||
return 'httpd/unix-directory';
|
||||
}
|
||||
$source = $this->getSource($path);
|
||||
if ($source) {
|
||||
$storage = OC_Filesystem::getStorage($source);
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
require_once '../../lib/base.php';
|
||||
|
||||
$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_JSON::success(array("data" => array( "done" => true)));
|
||||
}else{
|
||||
OC_JSON::success(array("data" => array( "done" => false)));
|
||||
}
|
|
@ -74,3 +74,5 @@ table thead.fixed { height:2em; }
|
|||
/* add breadcrumb divider to the File item in navigation panel */
|
||||
#navigation>ul>li:first-child { background:url('../../core/img/breadcrumb-start.svg') no-repeat 12.5em 0px; width:12.5em; padding-right:1em; position:fixed; }
|
||||
#navigation>ul>li:first-child+li { padding-top:2.9em; }
|
||||
|
||||
#scanning-message{ top:40%; left:40%; position:absolute; display:none }
|
|
@ -334,8 +334,27 @@ $(document).ready(function() {
|
|||
$('#new>a').click();
|
||||
});
|
||||
});
|
||||
|
||||
//check if we need to scan the filesystem
|
||||
$.get(OC.filePath('files','ajax','scan.php'),{checkonly:'true'}, function(response) {
|
||||
if(response.data.done){
|
||||
scanFiles();
|
||||
}
|
||||
}, "json");
|
||||
});
|
||||
|
||||
function scanFiles(force){
|
||||
force=!!force; //cast to bool
|
||||
$('#scanning-message').show();
|
||||
$.get(OC.filePath('files','ajax','scan.php'), function(response) {
|
||||
if(response && response.data && response.data.done){
|
||||
window.location.reload();
|
||||
}else{
|
||||
alert('error')
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
|
||||
function boolOperationFinished(data, callback) {
|
||||
result = jQuery.parseJSON(data.responseText);
|
||||
if(result.status == 'success'){
|
||||
|
|
|
@ -63,3 +63,8 @@ if (isset($_['files'])) {
|
|||
<?php echo $l->t('The files you are trying to upload exceed the maximum size for file uploads on this server.');?>
|
||||
</p>
|
||||
</div>
|
||||
<div id="scanning-message">
|
||||
<p>
|
||||
<?php echo $l->t('Files are being scanned, please wait.');?>
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -70,6 +70,8 @@ class OC_FileCache{
|
|||
}
|
||||
$mimePart=dirname($data['mimetype']);
|
||||
$query=OC_DB::prepare('INSERT INTO *PREFIX*fscache(parent, name, path, size, mtime, ctime, mimetype, mimepart) VALUES(?,?,?,?,?,?,?,?)');
|
||||
// echo $path;
|
||||
// print_r($data);
|
||||
$query->execute(array($parent,basename($path),$path,$data['size'],$data['mtime'],$data['ctime'],$data['mimetype'],$mimePart));
|
||||
|
||||
}
|
||||
|
|
|
@ -49,11 +49,6 @@ class OC_Util {
|
|||
$quotaProxy=new OC_FileProxy_Quota();
|
||||
OC_FileProxy::register($quotaProxy);
|
||||
self::$fsSetup=true;
|
||||
|
||||
//create the file cache if necesary
|
||||
if(!OC_FileCache::inCache('')){
|
||||
OC_FileCache::scan('');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue