diff --git a/actions/admin/settings/120.system.php b/actions/admin/settings/120.system.php index 346b2424..13030e6d 100644 --- a/actions/admin/settings/120.system.php +++ b/actions/admin/settings/120.system.php @@ -58,6 +58,14 @@ return array( 'default' => '', 'save_method' => 'storeSettingHostname', ), + 'system_stdsubdomain' => array( + 'label' => $lng['serversettings']['stdsubdomainhost'], + 'settinggroup' => 'system', + 'varname' => 'stdsubdomain', + 'type' => 'string', + 'default' => '', + 'save_method' => 'storeSettingHostname', + ), 'system_mysql_access_host' => array( 'label' => $lng['serversettings']['mysql_access_host'], 'settinggroup' => 'system', diff --git a/admin_customers.php b/admin_customers.php index 091d70ca..777a339f 100644 --- a/admin_customers.php +++ b/admin_customers.php @@ -586,8 +586,18 @@ if($page == 'customers' if($createstdsubdomain == '1') { + if (isset($settings['system']['stdsubdomain']) + && $settings['system']['stdsubdomain'] != '' + ) { + $_stdsubdomain = $loginname . '.' . $settings['system']['stdsubdomain']; + } + else + { + $_stdsubdomain = $loginname . '.' . $settings['system']['hostname']; + } + $db->query("INSERT INTO `" . TABLE_PANEL_DOMAINS . "` SET " . - "`domain` = '". $db->escape($loginname . '.' . $settings['system']['hostname']) . "', " . + "`domain` = '". $db->escape($_stdsubdomain) . "', " . "`customerid` = '" . (int)$customerid . "', " . "`adminid` = '" . (int)$userinfo['adminid'] . "', " . "`parentdomainid` = '-1', " . @@ -868,7 +878,17 @@ if($page == 'customers' if($createstdsubdomain == '1' && $result['standardsubdomain'] == '0') { - $db->query("INSERT INTO `" . TABLE_PANEL_DOMAINS . "` " . "(`domain`, `customerid`, `adminid`, `parentdomainid`, `ipandport`, `documentroot`, `zonefile`, `isemaildomain`, `caneditdomain`, `openbasedir`, `safemode`, `speciallogfile`, `specialsettings`) " . "VALUES ('" . $db->escape($result['loginname'] . '.' . $settings['system']['hostname']) . "', '" . (int)$result['customerid'] . "', '" . (int)$userinfo['adminid'] . "', '-1', '" . $db->escape($settings['system']['defaultip']) . "', '" . $db->escape($result['documentroot']) . "', '', '0', '0', '1', '1', '0', '')"); + if (isset($settings['system']['stdsubdomain']) + && $settings['system']['stdsubdomain'] != '' + ) { + $_stdsubdomain = $result['loginname'] . '.' . $settings['system']['stdsubdomain']; + } + else + { + $_stdsubdomain = $result['loginname'] . '.' . $settings['system']['hostname']; + } + + $db->query("INSERT INTO `" . TABLE_PANEL_DOMAINS . "` " . "(`domain`, `customerid`, `adminid`, `parentdomainid`, `ipandport`, `documentroot`, `zonefile`, `isemaildomain`, `caneditdomain`, `openbasedir`, `safemode`, `speciallogfile`, `specialsettings`) " . "VALUES ('" . $db->escape($_stdsubdomain) . "', '" . (int)$result['customerid'] . "', '" . (int)$userinfo['adminid'] . "', '-1', '" . $db->escape($settings['system']['defaultip']) . "', '" . $db->escape($result['documentroot']) . "', '', '0', '0', '1', '1', '0', '')"); $domainid = $db->insert_id(); $db->query('UPDATE `' . TABLE_PANEL_CUSTOMERS . '` SET `standardsubdomain`=\'' . (int)$domainid . '\' WHERE `customerid`=\'' . (int)$result['customerid'] . '\''); $log->logAction(ADM_ACTION, LOG_NOTICE, "automatically added standardsubdomain for user '" . $result['loginname'] . "'"); diff --git a/install/froxlor.sql b/install/froxlor.sql index 44f5c30d..5e019581 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -451,7 +451,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (18, 'system', 'vmail_homedir', '/var/customers/mail/'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.3-svn4'); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.3-svn5'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900'); @@ -556,6 +556,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (125, 'dkim', 'dkim_servicetype', '0'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (126, 'dkim', 'dkim_add_adsppolicy', '1'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (127, 'dkim', 'dkim_notes', ''); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (128, 'system', 'stdsubdomain', ''); # -------------------------------------------------------- diff --git a/install/updates/froxlor/0.9/update_0.9.inc.php b/install/updates/froxlor/0.9/update_0.9.inc.php index 178010c8..805587e4 100644 --- a/install/updates/froxlor/0.9/update_0.9.inc.php +++ b/install/updates/froxlor/0.9/update_0.9.inc.php @@ -374,4 +374,15 @@ if(isFroxlorVersion('0.9.3-svn3')) updateToVersion('0.9.3-svn4'); } +if(isFroxlorVersion('0.9.3-svn4')) +{ + showUpdateStep("Updating from 0.9.3-svn4 to 0.9.3-svn5", false); + + showUpdateStep("Adding new settings"); + $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'stdsubdomain', '');"); + lastStepStatus(0); + + updateToVersion('0.9.3-svn5'); +} + ?> diff --git a/lib/tables.inc.php b/lib/tables.inc.php index bde7e78f..f71388d4 100644 --- a/lib/tables.inc.php +++ b/lib/tables.inc.php @@ -68,7 +68,7 @@ define('PACKAGE_ENABLED', 2); // VERSION INFO -$version = '0.9.3-svn4'; +$version = '0.9.3-svn5'; $dbversion = '2'; $branding = ''; diff --git a/lng/english.lng.php b/lng/english.lng.php index c0bd08df..1fc2518d 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -1344,4 +1344,7 @@ $lng['panel']['options'] = 'options'; $lng['admin']['warning'] = 'WARNING - Please note!'; $lng['cron']['changewarning'] = 'Changing these values can have a negative cause to the behavior of Froxlor and its automated tasks.

Please, only change values here if you are *damn sure* you know what you are doing.'; +$lng['serversettings']['stdsubdomainhost']['title'] = 'Customer standard subdomain'; +$lng['serversettings']['stdsubdomainhost']['description'] = 'What hostname should be used to create standard subdomains for customer. If empty, the system-hostname is used.'; + ?> diff --git a/lng/german.lng.php b/lng/german.lng.php index f8b6a608..32efc548 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1325,4 +1325,7 @@ $lng['panel']['options'] = 'Optionen'; $lng['admin']['warning'] = 'ACHTUNG - Wichtiger Hinweis!'; $lng['cron']['changewarning'] = 'Änderungen an diesen Werten kann einen negativen Effekt auf das Verhalten von Froxlor und seinen automatisierten Aufgaben haben.

Also bitte nur etwas ändern, wenn du dir *verdammt sicher* bist das du weisst was du tust.'; +$lng['serversettings']['stdsubdomainhost']['title'] = 'Kunden Standard-Subdomain'; +$lng['serversettings']['stdsubdomainhost']['description'] = 'Welcher Hostname soll für das Erstellen der Kunden-Standard-Subdomain verwendet werden? Falls leer wird der System-Hostname verwendet.'; + ?>