public function __construct() { ci()->load->config('files/files'); self::$path = config_item('files:path'); self::$_cache_path = config_item('cache_dir') . 'cloud_cache/'; if ($providers = Settings::get('files_enabled_providers')) { self::$providers = explode(',', $providers); // make 'local' mandatory. We search for the value because of backwards compatibility if (!in_array('local', self::$providers)) { array_unshift(self::$providers, 'local'); } } else { self::$providers = array('local'); } // work out the most restrictive ini setting $post_max = str_replace('M', '', ini_get('post_max_size')); $file_max = str_replace('M', '', ini_get('upload_max_filesize')); // set the largest size the server can handle and the largest the admin set self::$max_size_possible = ($file_max > $post_max ? $post_max : $file_max) * 1048576; // convert to bytes self::$max_size_allowed = Settings::get('files_upload_limit') * 1048576; // convert this to bytes also set_exception_handler(array($this, 'exception_handler')); set_error_handler(array($this, 'error_handler')); ci()->load->model('files/file_m'); ci()->load->model('files/file_folders_m'); ci()->load->spark('cloudmanic-storage/1.0.4'); }
public static function create($path) { Log::debug("Reading monitor configuration from directory '{$path}'..."); $xmls = self::scanXmls($path); $reader = new MonitorXmlReader(); $monitor = new self(); foreach ($xmls as $xml) { if ($reader->read(Files::path($path, $xml))) { foreach ($reader->getSources() as $source) { $monitor->tReadSources[] = $source; Log::debug("Read source '{$source}'"); } foreach ($reader->getNetworkmaps() as $networkmap) { $monitor->tReadNetworkmaps[] = $networkmap; Log::debug("Read network map '{$networkmap}'"); } foreach ($reader->getUserdbs() as $userdb) { $monitor->tReadUserdbs[] = $userdb; Log::debug("Read user db '{$userdb}'"); } foreach ($reader->getEvents() as $event) { $monitor->tReadEvents[] = $event; Log::debug("Read event '{$event}'"); } } } self::validateSourceReferences($monitor->tReadSources, $monitor->tReadNetworkmaps, $monitor->tReadUserdbs, $monitor->tReadEvents); $monitor->tEnabledSources = self::filterUnreferencedSources(self::filterDuplicateSources($monitor->tReadSources), $monitor->tReadNetworkmaps, $monitor->tReadUserdbs, $monitor->tReadEvents); if (count($monitor->tEnabledSources) == 0) { Log::err("Found no active source/events definitions while reading monitor configuration from directory '{$path}'"); $monitor = false; } return $monitor; }
private function scanLogFiles($file) { $logfiles = array(); $pathinfo = pathinfo($file); $path = $pathinfo["dirname"]; $pattern = $pathinfo["basename"]; $dir = Files::safeOpendir($path); while (($logfile = Files::readdirMatch($dir, $pattern)) !== false) { $logfiles[] = Files::path($path, $logfile); } closedir($dir); asort($logfiles); return $logfiles; }