array('className' => 'BoostCake.BoostCakeHtml'), 'Form' => array('className' => 'BoostCake.BoostCakeForm'), 'Paginator' => array('className' => 'BoostCake.BoostCakePaginator'), ); public $components = array('Cookie', 'Session', 'RequestHandler'); public function beforeFilter() { parent::beforeFilter(); $this->loadModel('Config'); $this->loadModel('AppModel'); $this->Cookie->name = 'ZoneMinder'; $configFile = "/usr/local/etc/zm.conf"; $lines = file($configFile); foreach ($lines as $linenum => $line) { if ( preg_match( '/^\s*([^=\s]+)\s*=\s*(.+?)\s*$/', $line, $matches )) { Configure::write($matches[1], $matches[2]); } } $options = $this->Config->find('list', array('fields' => array('Name', 'Value'))); foreach ($options as $key => $value) { Configure::write($key, $value); } Configure::write('SCALE_BASE', 100); if ($this->AppModel->daemonStatus()) { $this->set('daemonStatusHtml', ('Running')); } else { $this->set('daemonStatusHtml', ('Stopped')); } $this->set('daemonStatus', $this->AppModel->daemonStatus()); if (Configure::read('ZM_DYN_LAST_VERSION') > Configure::read('ZM_VERSION')) { $zmVersion = '' . Configure::read('ZM_VERSION') . ''; } else { $zmVersion = '' . Configure::read('ZM_VERSION') . ''; } $this->set('systemLoad', $this->AppModel->getSystemLoad()); $this->set('diskSpace', $this->AppModel->getDiskSpace()); $this->set('zmVersion', $zmVersion); } public function beforeRender() { parent::beforeRender(); if (!$this->Cookie->read('zmBandwidth')) { $this->Cookie->write('zmBandwidth', 'low', false); } $this->set('zmBandwidth', $this->Cookie->read('zmBandwidth')); } function extractNamedParams($mandatory, $optional = array()) { $params = $this->params['named']; if(empty($params)) { return false; } $mandatory = array_flip($mandatory); $all_named_keys = array_merge($mandatory, $optional); $valid = array_intersect_key($params, $all_named_keys); $output = array_merge($optional, $valid); $diff = array_diff_key($all_named_keys, $output); if (empty($diff)) { return $output; } else { return false; } } }