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 onSubmit() { global $app, $conf; if(isset($this->dataRecord['mailbox_size_limit']) && $this->dataRecord['mailbox_size_limit'] != 0 && $this->dataRecord['mailbox_size_limit'] < $this->dataRecord['message_size_limit']) { $app->tform->errorMessage .= $app->tform->lng("error_mailbox_message_size_txt").'
'; } parent::onSubmit(); } 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 onShowEnd() { global $app; $app->tpl->setVar('server_name', $app->functions->htmlentities($app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ? AND ((SELECT COUNT(*) FROM server) > 1)", $this->id)['server_name'])); parent::onShowEnd(); } 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(); ?>