From cc99cdff8ff86b3fbe8eb4261bfaddb86fbec3ec Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 19 Oct 2012 07:49:52 -0400
Subject: [PATCH] - Improved cron and ssh user plugins. - Added "touch" function to system.inc.php
---
interface/web/admin/system_config_edit.php | 40 ++++++++++++++++++++++++++++++++++++++--
1 files changed, 38 insertions(+), 2 deletions(-)
diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php
index 2270209..0a75028 100644
--- a/interface/web/admin/system_config_edit.php
+++ b/interface/web/admin/system_config_edit.php
@@ -77,6 +77,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;
@@ -86,7 +105,17 @@
$section = $app->tform->getCurrentTab();
$server_config_array = $app->getconf->get_global_config();
- $server_config_array[$section] = $app->tform->encode($this->dataRecord,$section);
+ $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";
@@ -105,9 +134,16 @@
$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']."'");
+ }
}
}
--
Gitblit v1.9.1