/** * check if a fast memory based cache is available * @return true */ public static function isFast() { if (is_null(self::$isFast)) { self::$isFast = function_exists('xcache_set') || function_exists('apc_store'); } return self::$isFast; }
<?php set_time_limit(0); //scanning can take ages $force = isset($_GET['force']) and $_GET['force'] == 'true'; $dir = isset($_GET['dir']) ? $_GET['dir'] : ''; $checkOnly = isset($_GET['checkonly']) and $_GET['checkonly'] == 'true'; if (!$checkOnly) { $eventSource = new OC_EventSource(); } session_write_close(); //create the file cache if necesary if ($force or !OC_FileCache::inCache('')) { if (!$checkOnly) { OCP\DB::beginTransaction(); if (OC_Cache::isFast()) { OC_Cache::clear('fileid/'); //make sure the old fileid's don't mess things up } OC_FileCache::scan($dir, $eventSource); OC_FileCache::clean(); OCP\DB::commit(); $eventSource->send('success', true); } else { OCP\JSON::success(array('data' => array('done' => true))); exit; } } else { if ($checkOnly) { OCP\JSON::success(array('data' => array('done' => false))); exit;