auth->check_module_permissions('admin'); $app->auth->check_security_permissions('admin_allow_server_config'); // Loading classes $app->uses('tpl,tform,tform_actions'); $app->load('tform_actions'); class page_action extends tform_actions { function onShowEdit() { global $app, $conf; if($_SESSION["s"]["user"]["typ"] != 'admin') die('This function needs admin priveliges'); if($app->tform->errorMessage == '') { $app->uses('ini_parser,getconf'); $section = $this->active_tab; $server_id = $this->id; $this->dataRecord = $app->getconf->get_server_config($server_id, $section); } $record = $app->tform->getHTML($this->dataRecord, $this->active_tab, 'EDIT'); $record['id'] = $this->id; $app->tpl->setVar($record); } function onUpdateSave($sql) { global $app, $conf; if($_SESSION["s"]["user"]["typ"] != 'admin') die('This function needs admin priveliges'); $app->uses('ini_parser,getconf'); if($conf['demo_mode'] != true) { $section = $app->tform->getCurrentTab(); $server_id = $this->id; $server_config_array = $app->getconf->get_server_config($server_id); foreach($app->tform->formDef['tabs'][$section]['fields'] as $key => $field) { if ($field['formtype'] == 'CHECKBOX') { if($this->dataRecord[$key] == '') { // if a checkbox is not set, we set it to the unchecked value $this->dataRecord[$key] = $field['value'][0]; } } } if($app->tform->errorMessage == '') { $server_config_array[$section] = $app->tform->encode($this->dataRecord, $section); $server_config_str = $app->ini_parser->get_ini_string($server_config_array); $app->db->datalogUpdate('server', array("config" => $server_config_str), 'server_id', $server_id); } else { $app->error('Security breach!'); } } } } $app->tform_actions = new page_action; $app->tform_actions->onLoad(); ?>