diff --git a/actions/admin/settings/210.security.php b/actions/admin/settings/210.security.php index 5683ffbc..095552a7 100644 --- a/actions/admin/settings/210.security.php +++ b/actions/admin/settings/210.security.php @@ -100,6 +100,16 @@ return array( 'default' => 250, 'save_method' => 'storeSettingField', ), + 'system_mod_fcgid_defaultini' => array( + 'label' => $lng['serversettings']['mod_fcgid']['defaultini'], + 'settinggroup' => 'system', + 'varname' => 'mod_fcgid_defaultini', + 'type' => 'option', + 'default' => '1', + 'option_mode' => 'one', + 'option_options_method' => 'getPhpConfigs', + 'save_method' => 'storeSettingField', + ), ), ), ), diff --git a/admin_domains.php b/admin_domains.php index 3a093752..78d34ebd 100644 --- a/admin_domains.php +++ b/admin_domains.php @@ -306,7 +306,7 @@ if($page == 'domains' } else { - $phpsettingid = '1'; + $phpsettingid = $settings['system']['mod_fcgid_defaultini']; $mod_fcgid_starter = '-1'; $mod_fcgid_maxrequests = '-1'; } @@ -315,7 +315,7 @@ if($page == 'domains' { $openbasedir = '1'; $safemode = '1'; - $phpsettingid = '1'; + $phpsettingid = $settings['system']['mod_fcgid_defaultini']; $mod_fcgid_starter = '-1'; $mod_fcgid_maxrequests = '-1'; } @@ -609,7 +609,7 @@ if($page == 'domains' while($row = $db->fetch_array($configs)) { - $phpconfigs.= makeoption($row['description'], $row['id'], '1', true, true); + $phpconfigs.= makeoption($row['description'], $row['id'], $settings['system']['mod_fcgid_defaultini'], true, true); } $isbinddomain = makeyesno('isbinddomain', '1', '0', '1'); diff --git a/install/froxlor.sql b/install/froxlor.sql index 0e133c94..fddb2d91 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.6-svn4'); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.6-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'); @@ -566,6 +566,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (135, 'defaultwebsrverrhandler', 'err404', ''); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (136, 'defaultwebsrverrhandler', 'err500', ''); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (137, 'ticket', 'default_priority', '2'); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (138, 'system', 'mod_fcgid_defaultini', '1'); # -------------------------------------------------------- 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 66d8eceb..6b98ea15 100644 --- a/install/updates/froxlor/0.9/update_0.9.inc.php +++ b/install/updates/froxlor/0.9/update_0.9.inc.php @@ -595,4 +595,22 @@ if(isFroxlorVersion('0.9.6-svn3')) updateToVersion('0.9.6-svn4'); } +if(isFroxlorVersion('0.9.6-svn4')) +{ + showUpdateStep("Updating from 0.9.6-svn4 to 0.9.6-svn5", false); + + $update_defsys_phpconfig = isset($_POST['update_defsys_phpconfig']) ? intval($_POST['update_defsys_phpconfig']) : 1; + + if($update_defsys_phpconfig != 1) { + showUpdateStep("Setting default php-configuration to user defined config #".$update_defsys_phpconfig); + } else { + showUpdateStep("Adding default php-configuration setting to the database"); + } + + $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_defaultini', '".(int)$update_defsys_phpconfig."');"); + lastStepStatus(0); + + updateToVersion('0.9.6-svn5'); +} + ?> 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 1bf88b4e..20ce714d 100644 --- a/install/updates/preconfig/0.9/preconfig_0.9.inc.php +++ b/install/updates/preconfig/0.9/preconfig_0.9.inc.php @@ -79,4 +79,20 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version) $question .= $priorities.''; eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";"); } + + if(versionInUpdate($current_version, '0.9.6-svn5')) + { + $has_preconfig = true; + $description = 'If you have more than one PHP-configurations defined in Froxlor you can know set a default one which will be used for every domain.'; + $question = 'Select default PHP-configuration: '; + $question .= ''; + eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";"); + } } diff --git a/lib/functions/froxlor/function.getPhpConfigs.php b/lib/functions/froxlor/function.getPhpConfigs.php new file mode 100644 index 00000000..c9e555b6 --- /dev/null +++ b/lib/functions/froxlor/function.getPhpConfigs.php @@ -0,0 +1,41 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Functions + * @version $Id$ + */ + +/** + * returns an array for the settings-array + * + * @return array + */ +function getPhpConfigs() +{ + global $db; + + $query = 'SELECT * FROM `' . TABLE_PANEL_PHPCONFIGS . '` '; + $result = $db->query($query); + $configs_array = array(); + + while($row = $db->fetch_array($result)) + { + if(!isset($configs_array[$row['id']]) + && !in_array($row['id'], $configs_array)) + { + $configs_array[$row['id']] = html_entity_decode($row['description']); + } + } + + return $configs_array; +} diff --git a/lib/tables.inc.php b/lib/tables.inc.php index 60ef838b..7bd8d803 100644 --- a/lib/tables.inc.php +++ b/lib/tables.inc.php @@ -68,7 +68,7 @@ define('PACKAGE_ENABLED', 2); // VERSION INFO -$version = '0.9.6-svn4'; +$version = '0.9.6-svn5'; $dbversion = '2'; $branding = ''; diff --git a/lng/english.lng.php b/lng/english.lng.php index eb02cf36..d2ba0a54 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -1380,4 +1380,7 @@ $lng['serversettings']['defaultwebsrverrhandler_err500']['description'] = '
diff --git a/lng/german.lng.php b/lng/german.lng.php index b2764df5..a594f466 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1376,4 +1376,7 @@ $lng['serversettings']['defaultwebsrverrhandler_err500']['description'] = '