Beispiel #1
0
 /**
  * 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;
 }
Beispiel #2
0
<?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;