From b1a6a5a3991cec5cd08873b01376e45d0b247f18 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Thu, 14 Nov 2013 09:05:33 -0500 Subject: [PATCH] Cleaning up code to match coding guidelines --- interface/web/admin/system_config_edit.php | 133 ++++++++++++++++++++++++++++++++++++-------- 1 files changed, 108 insertions(+), 25 deletions(-) diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php index f6a4c05..d267c8e 100644 --- a/interface/web/admin/system_config_edit.php +++ b/interface/web/admin/system_config_edit.php @@ -1,6 +1,6 @@ <?php /* -Copyright (c) 2008, Till Brehm, projektfarm Gmbh +Copyright (c) 2008-2010, Till Brehm, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -38,8 +38,8 @@ * End Form configuration ******************************************/ -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); +require_once '../../lib/config.inc.php'; +require_once '../../lib/app.inc.php'; //* Check permissions for module $app->auth->check_module_permissions('admin'); @@ -50,18 +50,19 @@ class page_action extends tform_actions { + //var $_js_changed = false; 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_global_config($section); if ($section == 'domains'){ if (isset($this->dataRecord['use_domain_module'])){ @@ -69,51 +70,133 @@ } } } - - $record = $app->tform->getHTML($this->dataRecord, $this->active_tab,'EDIT'); - + + $record = $app->tform->getHTML($this->dataRecord, $this->active_tab, 'EDIT'); + $record['warning'] = $app->tform->lng('warning'); $record['id'] = $this->id; $app->tpl->setVar($record); } - - function onUpdateSave($sql) { + + function onShowEnd() { + global $app, $conf; + + // available dashlets + $available_dashlets_txt = ''; + $handle = @opendir(ISPC_WEB_PATH.'/dashboard/dashlets'); + while ($file = @readdir($handle)) { + if ($file != '.' && $file != '..' && !is_dir($file)) { + $available_dashlets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.substr($file, 0, -4).']<pre class="addPlaceholderContent" style="display:none;">['.substr($file, 0, -4).'],</pre></a> '; + } + } + + if($available_dashlets_txt == '') $available_dashlets_txt = '------'; + $app->tpl->setVar("available_dashlets_txt", $available_dashlets_txt); + + parent::onShowEnd(); + } + + function onSubmit() { global $app; - + + $app->uses('ini_parser,getconf'); + + $section = $app->tform->getCurrentTab(); + + $server_config_array = $app->getconf->get_global_config(); + $new_config = $app->tform->encode($this->dataRecord, $section); + if($section == 'mail') { + if($new_config['smtp_pass'] == '') $new_config['smtp_pass'] = $server_config_array['smtp_pass']; + if($new_config['smtp_enabled'] == 'y' && ($new_config['admin_mail'] == '' || $new_config['admin_name'] == '')) { + $app->tform->errorMessage .= $app->tform->lng("smtp_missing_admin_mail_txt"); + } + } + + parent::onSubmit(); + } + + function onUpdateSave($sql) { + global $app, $conf; + if($_SESSION["s"]["user"]["typ"] != 'admin') die('This function needs admin priveliges'); $app->uses('ini_parser,getconf'); - + $section = $app->tform->getCurrentTab(); - + $server_config_array = $app->getconf->get_global_config(); - $server_config_array[$section] = $app->tform->encode($this->dataRecord,$section); + + 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((isset($this->dataRecord['use_loadindicator']) && $this->dataRecord['use_loadindicator'] != $server_config_array[$section]['use_loadindicator']) || (isset($this->dataRecord['use_combobox']) && $this->dataRecord['use_combobox'] != $server_config_array[$section]['use_combobox'])){ + $this->_js_changed = true; + } + */ + + $new_config = $app->tform->encode($this->dataRecord, $section); + if($section == 'sites' && $new_config['vhost_subdomains'] != 'y' && $server_config_array['vhost_subdomains'] == 'y') { + // check for existing vhost subdomains, if found the mode cannot be disabled + $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `type` = 'vhostsubdomain'"); + if($check['cnt'] > 0) { + $new_config['vhost_subdomains'] = 'y'; + } + } elseif($section == 'mail') { + if($new_config['smtp_pass'] == '') $new_config['smtp_pass'] = $server_config_array['smtp_pass']; + } + $server_config_array[$section] = $new_config; $server_config_str = $app->ini_parser->get_ini_string($server_config_array); - - $sql = "UPDATE sys_ini SET config = '".$app->db->quote($server_config_str)."' WHERE sysini_id = 1"; - $app->db->query($sql); + + //$sql = "UPDATE sys_ini SET config = '".$app->db->quote($server_config_str)."' WHERE sysini_id = 1"; + //if($conf['demo_mode'] != true) $app->db->query($sql); + if($conf['demo_mode'] != true) $app->db->datalogUpdate('sys_ini', "config = '".$app->db->quote($server_config_str)."'", 'sysini_id', 1); /* * If we should use the domain-module, we have to insert all existing domains into the table * (only the first time!) */ - if (($section == 'domains') && - ($_SESSION['use_domain_module_old_value'] == '') && - ($server_config_array['domains']['use_domain_module'] == 'y')){ + if (($section == 'domains') && + ($_SESSION['use_domain_module_old_value'] == '') && + ($server_config_array['domains']['use_domain_module'] == 'y')){ $sql = "REPLACE INTO domain (sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, domain ) " . "SELECT sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, domain " . "FROM mail_domain"; $app->db->query($sql); $sql = "REPLACE INTO domain (sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, domain ) " . "SELECT sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, domain " . - "FROM web_domain"; + "FROM web_domain WHERE type NOT IN ('subdomain','vhostsubdomain')"; $app->db->query($sql); } + + // Maintenance mode + if($server_config_array['misc']['maintenance_mode'] == 'y'){ + //print_r($_SESSION); + //echo $_SESSION['s']['id']; + $app->db->query("DELETE FROM sys_session WHERE session_id != '".$_SESSION['s']['id']."'"); + } } - + + /* + function onAfterUpdate() { + if($this->_js_changed == true) { + // not the best way, but it works + header('Content-Type: text/html'); + print '<script type="text/javascript">document.location.reload(true);</script>'; + exit; + } + } + */ + } $app->tform_actions = new page_action; $app->tform_actions->onLoad(); -?> \ No newline at end of file +?> -- Gitblit v1.9.1