From f4038a2160d55a7f519a3b42be1aa96e29e9a908 Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Wed, 27 Feb 2013 09:01:40 -0500 Subject: [PATCH] - Fixed "FUNCTION databasename.CONCAT does not exist" error for older MySQL versions. --- interface/web/admin/system_config_edit.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 54 insertions(+), 6 deletions(-) diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php index c78e919..b83e704 100644 --- a/interface/web/admin/system_config_edit.php +++ b/interface/web/admin/system_config_edit.php @@ -50,6 +50,7 @@ class page_action extends tform_actions { + //var $_js_changed = false; function onShowEdit() { global $app, $conf; @@ -77,6 +78,25 @@ $app->tpl->setVar($record); } + 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; @@ -85,15 +105,32 @@ $section = $app->tform->getCurrentTab(); - $server_config_array = $app->getconf->get_global_config(); + + 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'] != $server_config_array['vhost_subdomains']) { - // check for existing subdomains - $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `type` = 'subdomain' OR `type` = 'vhostsubdomain'"); + 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'] = $server_config_array['vhost_subdomains']; + $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); @@ -114,7 +151,7 @@ $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); } @@ -126,6 +163,17 @@ } } + /* + 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; -- Gitblit v1.9.1