From ab7597c7ec2d62aadf82c4c647d3dc63dae8de90 Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Thu, 16 Aug 2012 14:53:05 -0400
Subject: [PATCH] Implemented FS#2379 - Add perl option to web sites (apache2 mod_perl2) Fixed (partly) FS#2310 - Template switch not working in mailuser module, for dashlets and the login page
---
server/conf/vhost.conf.master | 13 +++++++++++++
install/sql/ispconfig3.sql | 1 +
interface/web/index.php | 2 ++
install/sql/incremental/upd_0036.sql | 5 +++++
interface/web/sites/lib/lang/de_web_domain.lng | 1 +
interface/web/sites/lib/lang/en_web_domain.lng | 1 +
interface/web/sites/form/web_domain.tform.php | 6 ++++++
interface/web/sites/templates/web_domain_edit.htm | 6 ++++++
8 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/install/sql/incremental/upd_0036.sql b/install/sql/incremental/upd_0036.sql
new file mode 100644
index 0000000..db0d59d
--- /dev/null
+++ b/install/sql/incremental/upd_0036.sql
@@ -0,0 +1,5 @@
+-- --------------------------------------------------------
+
+ALTER TABLE `web_domain` ADD `perl` enum('n','y') NOT NULL default 'n' AFTER `python`;
+
+
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index a7ac059..88a6884 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1643,6 +1643,7 @@
`php` varchar(32) NOT NULL default 'y',
`ruby` enum('n','y') NOT NULL default 'n',
`python` enum('n','y') NOT NULL default 'n',
+ `perl` enum('n','y') NOT NULL default 'n',
`redirect_type` varchar(255) default NULL,
`redirect_path` varchar(255) default NULL,
`seo_redirect` varchar(255) default NULL,
diff --git a/interface/web/index.php b/interface/web/index.php
index 5122d2d..b131396 100644
--- a/interface/web/index.php
+++ b/interface/web/index.php
@@ -31,6 +31,8 @@
require_once('../lib/config.inc.php');
require_once('../lib/app.inc.php');
+if(!isset($_SESSION['s']['module']['name'])) $_SESSION['s']['module']['name'] = 'login';
+
$app->uses('tpl');
$app->tpl->newTemplate('main.tpl.htm');
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index 1682f6b..ef9470e 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -230,6 +230,12 @@
),*/
'value' => ''
),
+ 'perl' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'n',
+ 'value' => array(0 => 'n',1 => 'y')
+ ),
'ruby' => array (
'datatype' => 'VARCHAR',
'formtype' => 'CHECKBOX',
diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_domain.lng
index 00d262a..e969e17 100644
--- a/interface/web/sites/lib/lang/de_web_domain.lng
+++ b/interface/web/sites/lib/lang/de_web_domain.lng
@@ -80,6 +80,7 @@
$wb['ipv6_address_txt'] = 'IPv6-Adresse';
$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng
index 4968cfd..ba17f7e 100644
--- a/interface/web/sites/lib/lang/en_web_domain.lng
+++ b/interface/web/sites/lib/lang/en_web_domain.lng
@@ -81,6 +81,7 @@
$wb["php_fpm_use_socket_txt"] = 'Use Socket For PHP-FPM';
$wb["error_no_sni_txt"] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
$wb["python_txt"] = 'Python';
+$wb["perl_txt"] = 'Perl';
$wb["pm_max_children_txt"] = 'PHP-FPM pm.max_children';
$wb["pm_start_servers_txt"] = 'PHP-FPM pm.start_servers';
$wb["pm_min_spare_servers_txt"] = 'PHP-FPM pm.min_spare_servers';
diff --git a/interface/web/sites/templates/web_domain_edit.htm b/interface/web/sites/templates/web_domain_edit.htm
index 496ddec..96319c9 100644
--- a/interface/web/sites/templates/web_domain_edit.htm
+++ b/interface/web/sites/templates/web_domain_edit.htm
@@ -80,6 +80,12 @@
</div>
</div>
<div class="ctrlHolder apache">
+ <p class="label">{tmpl_var name='perl_txt'}</p>
+ <div class="multiField">
+ {tmpl_var name='perl'}
+ </div>
+ </div>
+ <div class="ctrlHolder apache">
<p class="label">{tmpl_var name='ruby_txt'}</p>
<div class="multiField">
{tmpl_var name='ruby'}
diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index 4b11640..6c9513a 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -109,6 +109,19 @@
</IfModule>
</tmpl_if>
+<tmpl_if name='perl' op='==' value='y'>
+ <IfModule mod_perl.c>
+ PerlModule ModPerl::Registry
+ PerlModule Apache2::Reload
+ <Directory {tmpl_var name='web_document_root_www'}>
+ SetHandler perl-script
+ PerlResponseHandler ModPerl::Registry
+ PerlOptions +ParseHeaders
+ Options +ExecCGI
+ </Directory>
+ </IfModule>
+</tmpl_if>
+
<tmpl_if name='python' op='==' value='y'>
<IfModule mod_python.c>
<Directory {tmpl_var name='web_document_root_www'}>
--
Gitblit v1.9.1