/** * scan a single file * @param string path * @param string root (optional) * @return int size of the scanned file */ public static function scanFile($path, $root = false) { // NOTE: Ugly hack to prevent shared files from going into the cache (the source already exists somewhere in the cache) if (substr($path, 0, 7) == '/Shared') { return; } if ($root === false) { $view = OC_Filesystem::getView(); } else { $view = new OC_FilesystemView($root); } if (!$view->is_readable($path)) { return; } //cant read, nothing we can do clearstatcache(); $mimetype = $view->getMimeType($path); $stat = $view->stat($path); if ($mimetype == 'httpd/unix-directory') { $stat['size'] = 0; $writable = $view->is_writable($path . '/'); } else { $writable = $view->is_writable($path); } $stat['mimetype'] = $mimetype; $stat['writable'] = $writable; if ($path == '/') { $path = ''; } self::put($path, $stat, $root); return $stat['size']; }
/** * scan a single file * @param string path * @param string root (optional) * @return int size of the scanned file */ public static function scanFile($path, $root = '') { if (!$root) { $view = OC_Filesystem::getView(); } else { $view = new OC_FilesystemView($root == '/' ? '' : $root); } if (!$view->is_readable($path)) { return; } //cant read, nothing we can do clearstatcache(); $mimetype = $view->getMimeType($path); $stat = $view->stat($path); if ($mimetype == 'httpd/unix-directory') { $writable = $view->is_writable($path . '/'); } else { $writable = $view->is_writable($path); } $stat['mimetype'] = $mimetype; $stat['writable'] = $writable; if ($path == '/') { $path = ''; } self::put($path, $stat, $root); return $stat['size']; }