loadModel('Config'); $this->loadModel('AppModel'); $this->Cookie->name = 'ZoneMinder'; if (!$this->Cookie->read('zmBandwidth')) { $this->Cookie->write('zmBandwidth', 'low', false); } $this->set('zmBandwidth', $this->Cookie->read('zmBandwidth')); $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('daemonStatus', ('Running')); } else { $this->set('daemonStatus', ('Stopped')); } $this->set('systemLoad', $this->AppModel->getSystemLoad()); $this->set('diskSpace', $this->AppModel->getDiskSpace()); } 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; } } }