/** * Determine icon for a given file * * @param \OC\Files\FileInfo $file file info * @return string icon URL */ public static function determineIcon($file) { if ($file['type'] === 'dir') { $icon = \OC_Helper::mimetypeIcon('dir'); // TODO: move this part to the client side, using mountType if ($file->isShared()) { $icon = \OC_Helper::mimetypeIcon('dir-shared'); } elseif ($file->isMounted()) { $icon = \OC_Helper::mimetypeIcon('dir-external'); } } else { $icon = \OC_Helper::mimetypeIcon($file->getMimetype()); } return substr($icon, 0, -3) . 'svg'; }
/** * Check if a preview can be generated for a file * * @param \OC\Files\FileInfo $file * @return bool */ public static function isAvailable($file) { if (!\OC_Config::getValue('enable_previews', true)) { return false; } //check if there are preview backends if (empty(self::$providers)) { self::initProviders(); } //remove last element because it has the mimetype * $providers = array_slice(self::$providers, 0, -1); foreach ($providers as $supportedMimeType => $provider) { /** * @var \OC\Preview\Provider $provider */ if (preg_match($supportedMimeType, $file->getMimetype())) { return $provider->isAvailable($file); } } return false; }
/** * Check if a preview can be generated for a file * * @param \OC\Files\FileInfo $file * @return bool */ public static function isAvailable(\OC\Files\FileInfo $file) { if (!\OC_Config::getValue('enable_previews', true)) { return false; } $mount = $file->getMountPoint(); if ($mount and !$mount->getOption('previews', true)) { return false; } //check if there are preview backends if (empty(self::$providers)) { self::initProviders(); } foreach (self::$providers as $supportedMimeType => $provider) { /** * @var \OC\Preview\Provider $provider */ if (preg_match($supportedMimeType, $file->getMimetype())) { return $provider->isAvailable($file); } } return false; }