diff --git a/actions/admin/settings/130.webserver.php b/actions/admin/settings/130.webserver.php index a9d6eadd..fa385c49 100644 --- a/actions/admin/settings/130.webserver.php +++ b/actions/admin/settings/130.webserver.php @@ -185,7 +185,15 @@ return array( 'option_mode' => 'one', 'option_options_method' => 'getRedirectCodes', 'save_method' => 'storeSettingField', - ), + ), + 'perl_path' => array( + 'label' => $lng['serversettings']['perl_path'], + 'settinggroup' => 'system', + 'varname' => 'perl_path', + 'type' => 'string', + 'default' => '/usr/bin/perl', + 'save_method' => 'storeSettingField', + ), ), ), 'ssl' => array( diff --git a/install/froxlor.sql b/install/froxlor.sql index c921967f..6b785e03 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -454,7 +454,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.11-svn2'); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.11-svn3'); 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'); @@ -576,6 +576,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V 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'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (144, 'panel', 'password_regex', ''); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (145, 'system', 'perl_path', '/usr/bin/perl'); # -------------------------------------------------------- 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 d42f3bc3..f37411dc 100644 --- a/install/updates/froxlor/0.9/update_0.9.inc.php +++ b/install/updates/froxlor/0.9/update_0.9.inc.php @@ -909,3 +909,17 @@ if(isFroxlorVersion('0.9.11-svn1')) updateToVersion('0.9.11-svn2'); } + +if(isFroxlorVersion('0.9.11-svn2')) +{ + showUpdateStep("Updating from 0.9.11-svn2 to 0.9.11-svn3", false); + + $update_perlpath = isset($_POST['update_perlpath']) ? $_POST['update_perlpath'] : '/usr/bin/perl'; + + showUpdateStep("Adding new settings"); + $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'perl_path', '".$db->escape($update_perlpath)."');"); + lastStepStatus(0); + + updateToVersion('0.9.11-svn3'); +} + 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 8f61df08..889d8625 100644 --- a/install/updates/preconfig/0.9/preconfig_0.9.inc.php +++ b/install/updates/preconfig/0.9/preconfig_0.9.inc.php @@ -229,4 +229,13 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version) $question.= ''; eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";"); } + + if(versionInUpdate($current_version, '0.9.11-svn3')) + { + $has_preconfig = true; + $description = 'As Froxlor can now handle perl, you have to specify where the perl executable is (only if you\'re running lighttpd, else just leave empty).'; + $question = 'Path to perl (default \'/usr/bin/perl\'): '; + $question.= ''; + eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";"); + } } diff --git a/lib/tables.inc.php b/lib/tables.inc.php index 312d94cf..43fae880 100644 --- a/lib/tables.inc.php +++ b/lib/tables.inc.php @@ -72,7 +72,7 @@ define('PACKAGE_ENABLED', 2); // VERSION INFO -$version = '0.9.11-svn2'; +$version = '0.9.11-svn3'; $dbversion = '2'; $branding = ''; diff --git a/lng/english.lng.php b/lng/english.lng.php index 0bb53b9e..2a1d4c26 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -1447,4 +1447,8 @@ $lng['error']['notrequiredpasswordcomplexity'] = 'The specified password-complex $lng['extras']['execute_perl'] = 'Execute perl/CGI'; $lng['admin']['perlenabled'] = 'Perl enabled'; +// ADDED IN FROXLOR 0.9.11-svn3 +$lng['serversettings']['perl_path']['title'] = 'Path zu perl'; +$lng['serversettings']['perl_path']['description'] = 'Only relevant if you use lighttpd. Default is /usr/bin/perl'; + ?> diff --git a/lng/german.lng.php b/lng/german.lng.php index 4c49c787..2fc44a30 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1430,4 +1430,8 @@ $lng['error']['notrequiredpasswordcomplexity'] = 'Die vorgegebene Passwort-Kompl $lng['extras']['execute_perl'] = 'Perl/CGI ausführen'; $lng['admin']['perlenabled'] = 'Perl verfügbar'; +// ADDED IN FROXLOR 0.9.11-svn3 +$lng['serversettings']['perl_path']['title'] = 'Pfad zu Perl'; +$lng['serversettings']['perl_path']['description'] = 'Nur nötig für lighttpd-Nutzer. Standard ist /usr/bin/perl'; + ?> diff --git a/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php b/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php index 75b13f0f..3ae66a04 100644 --- a/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php +++ b/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php @@ -546,8 +546,8 @@ class lighttpd } $path_options.= ' $HTTP["url"] =~ "^' . $path . '($|/)" {' . "\n"; $path_options.= "\t" . 'cgi.assign = (' . "\n"; - $path_options.= "\t\t" . '".pl" => "/usr/bin/perl",' . "\n"; - $path_options.= "\t\t" . '".cgi" => "/usr/bin/perl"' . "\n"; + $path_options.= "\t\t" . '".pl" => "'.makeCorrectFile($this->settings['system']['perl_path']).'",' . "\n"; + $path_options.= "\t\t" . '".cgi" => "'.makeCorrectFile($this->settings['system']['perl_path']).'"' . "\n"; $path_options.= "\t" . ')' . "\n"; $path_options.= ' }' . "\n\n"; }