From e5cd9ad727cbecbf7839d3b6513733fdbf306882 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Mon, 28 Jun 2010 08:53:41 +0000 Subject: [PATCH] - fix accessibility of Froxlor - added option to decide how Froxlor is being reached - set version to 0.9.10 --- actions/admin/settings/120.system.php | 8 ++++++++ install/froxlor.sql | 3 ++- install/updates/froxlor/0.9/update_0.9.inc.php | 13 +++++++++++++ install/updates/preconfig/0.9/preconfig_0.9.inc.php | 9 +++++++++ lib/tables.inc.php | 2 +- lng/english.lng.php | 3 +++ lng/german.lng.php | 3 +++ scripts/jobs/cron_tasks.inc.http.10.apache.php | 9 ++++++++- scripts/jobs/cron_tasks.inc.http.20.lighttpd.php | 9 ++++++++- 9 files changed, 55 insertions(+), 4 deletions(-) diff --git a/actions/admin/settings/120.system.php b/actions/admin/settings/120.system.php index 0f332b6e..b9891344 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_froxlordirectlyviahostname' => array( + 'label' => $lng['serversettings']['froxlordirectlyviahostname'], + 'settinggroup' => 'system', + 'varname' => 'froxlordirectlyviahostname', + 'type' => 'bool', + 'default' => false, + 'save_method' => 'storeSettingField', + ), 'system_stdsubdomain' => array( 'label' => $lng['serversettings']['stdsubdomainhost'], 'settinggroup' => 'system', diff --git a/install/froxlor.sql b/install/froxlor.sql index 4b948e8b..4b820ba6 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -452,7 +452,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.10-svn2'); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.10'); 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'); @@ -572,6 +572,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (140, 'customredirect', 'enabled', '1'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (141, 'customredirect', 'default', '1'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (142, 'system', 'dns_createmailentry', '0'); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (143, 'system', 'froxlordirectlyviahostname', '0'); # -------------------------------------------------------- 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 197d5f1f..dfd49a9a 100644 --- a/install/updates/froxlor/0.9/update_0.9.inc.php +++ b/install/updates/froxlor/0.9/update_0.9.inc.php @@ -871,3 +871,16 @@ if(isFroxlorVersion('0.9.10-svn1')) updateToVersion('0.9.10-svn2'); } + +if(isFroxlorVersion('0.9.10-svn2')) +{ + showUpdateStep("Updating from 0.9.10-svn2 to 0.9.10", false); + + $update_directlyviahostname = isset($_POST['update_directlyviahostname']) ? '1' : '0'; + + showUpdateStep("Adding new settings"); + $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'froxlordirectlyviahostname', '".(int)$update_directlyviahostname."');"); + lastStepStatus(0); + + updateToVersion('0.9.10'); +} diff --git a/install/updates/preconfig/0.9/preconfig_0.9.inc.php b/install/updates/preconfig/0.9/preconfig_0.9.inc.php index 7dbc11d9..43433a16 100644 --- a/install/updates/preconfig/0.9/preconfig_0.9.inc.php +++ b/install/updates/preconfig/0.9/preconfig_0.9.inc.php @@ -211,4 +211,13 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version) eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";"); } } + + if(versionInUpdate($current_version, '0.9.10')) + { + $has_preconfig = true; + $description = 'you can now decide whether Froxlor should be reached via hostname/froxlor or directly via the hostname.'; + $question = 'Do you want Froxlor to be reached directly via the hostname?: '; + $question.= makeyesno('update_directlyviahostname', '1', '0', '0'); + eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";"); + } } diff --git a/lib/tables.inc.php b/lib/tables.inc.php index 7b5b732f..a118f4c9 100644 --- a/lib/tables.inc.php +++ b/lib/tables.inc.php @@ -72,7 +72,7 @@ define('PACKAGE_ENABLED', 2); // VERSION INFO -$version = '0.9.10-svn2'; +$version = '0.9.10'; $dbversion = '2'; $branding = ''; diff --git a/lng/english.lng.php b/lng/english.lng.php index 8814e778..86e3d0ae 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -1434,4 +1434,7 @@ $lng['aps']['cannoteditordeleteapsdb'] = 'APS databases cannot be edited or remo $lng['admin']['webserver_user'] = 'Webserver user-name'; $lng['admin']['webserver_group'] = 'Webserver group-name'; +// ADDED IN FROXLOR 0.9.10 +$lng['serversettings']['froxlordirectlyviahostname'] = 'Access Froxlor directly via the hostname'; + ?> diff --git a/lng/german.lng.php b/lng/german.lng.php index e3c0f26e..85de319a 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1417,4 +1417,7 @@ $lng['aps']['cannoteditordeleteapsdb'] = 'APS-Datenbanken können hier nicht $lng['admin']['webserver_user'] = 'Benutzername Webserver'; $lng['admin']['webserver_group'] = 'Gruppenname Webserver'; +// ADDED IN FROXLOR 0.9.10 +$lng['serversettings']['froxlordirectlyviahostname'] = 'Froxlor direkt über den Hostnamen erreichbar machen'; + ?> diff --git a/scripts/jobs/cron_tasks.inc.http.10.apache.php b/scripts/jobs/cron_tasks.inc.http.10.apache.php index b8479a8f..b5705784 100644 --- a/scripts/jobs/cron_tasks.inc.http.10.apache.php +++ b/scripts/jobs/cron_tasks.inc.http.10.apache.php @@ -192,7 +192,14 @@ class apache /** * add 'real'-vhost content here, like doc-root :) */ - $mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__)))); + if($this->settings['system']['froxlordirectlyviahostname']) + { + $mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__)))); + } + else + { + $mypath = makeCorrectDir(dirname(dirname(dirname(dirname(__FILE__))))); + } $this->virtualhosts_data[$vhosts_filename].= 'DocumentRoot "'.$mypath.'"'."\n"; if($row_ipsandports['vhostcontainer_servername_statement'] == '1') diff --git a/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php b/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php index 22e8a116..2e73e889 100644 --- a/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php +++ b/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php @@ -107,7 +107,14 @@ class lighttpd $this->lighttpd_data[$vhost_filename].= '# Froxlor default vhost' . "\n"; $this->lighttpd_data[$vhost_filename].= '$HTTP["host"] =~ "^(?:www\.|)' . $myhost . '$" {' . "\n"; - $mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__)))); + if($this->settings['system']['froxlordirectlyviahostname']) + { + $mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__)))); + } + else + { + $mypath = makeCorrectDir(dirname(dirname(dirname(dirname(__FILE__))))); + } $this->lighttpd_data[$vhost_filename].= ' server.document-root = "'.$mypath.'"'."\n"; /**