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;
}
}
}