*/
public function filesize($path) {
$fullPath = $this->getFullPath($path);
- $size = $this->storage->filesize($path);
$info = $this->getCache()->get($path);
-
if (isset($this->unencryptedSize[$fullPath])) {
$size = $this->unencryptedSize[$fullPath];
- }
- if (isset($info['fileid'])) {
- $info['encrypted'] = true;
- $info['size'] = $size;
- $this->getCache()->put($path, $info);
+ if (isset($info['fileid'])) {
+ $info['encrypted'] = true;
+ $info['size'] = $size;
+ $this->getCache()->put($path, $info);
+ }
+ return $size;
}
- return $size;
+ if (isset($info['fileid']) && $info['encrypted']) {
+ return $info['size'];
+ }
+ return $this->storage->filesize($path);
}
/**