/** * Clear cache of video info specific to given file * @param LocalFile $file * @return bool */ public static function purgeVideoInfoCache(\LocalFile $file) { $mediaService = new MediaQueryService(); $mediaService->clearCacheTotalVideos(); if (!$file->isLocal()) { $mediaService->clearCacheTotalPremiumVideos(); } if (!empty(F::app()->wg->UseVideoVerticalFilters)) { VideoInfoHooksHelper::clearCategories($file->getTitle()); } return true; }
/** * Hook: delete video and clear cache when file is deleted * @param LocalFile $file * @param $oldimage * @param $article * @param User $user * @param $reason * @return true */ public static function onFileDeleteComplete(&$file, $oldimage, $article, $user, $reason) { if (!F::build('VideoInfoHelper', array(), 'videoInfoExists')) { return true; } $title = $file->getTitle(); if ($title instanceof Title && F::build('WikiaFileHelper', array($file), 'isFileTypeVideo')) { if ($file->isLocal()) { $videoData = array('videoTitle' => $title->getDBKey()); $videoInfo = F::build('VideoInfo', array($videoData)); $videoInfo->deleteVideo(); $mediaService = F::build('MediaQueryService'); $mediaService->clearCacheTotalVideos(); } } return true; }