From 298ef538bb9a7bedb59377c76338a38c742f16da Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Mon, 26 Sep 2011 14:08:42 +0000
Subject: [PATCH] - Added Python support (for Apache).

---
 install/sql/incremental/upd_0024.sql              |  1 +
 install/sql/ispconfig3.sql                        |  1 +
 interface/web/sites/form/web_domain.tform.php     |  6 ++++++
 interface/web/sites/lib/lang/de_web_domain.lng    |  1 +
 interface/web/sites/lib/lang/en_web_domain.lng    |  1 +
 interface/web/sites/templates/web_domain_edit.htm |  6 ++++++
 server/conf/vhost.conf.master                     | 10 ++++++++++
 7 files changed, 26 insertions(+)
 create mode 100644 install/sql/incremental/upd_0024.sql

diff --git a/install/sql/incremental/upd_0024.sql b/install/sql/incremental/upd_0024.sql
new file mode 100644
index 0000000000..0cde7f3c5d
--- /dev/null
+++ b/install/sql/incremental/upd_0024.sql
@@ -0,0 +1 @@
+ALTER TABLE `web_domain` ADD `python` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'n' AFTER `ruby`;
\ No newline at end of file
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 866a4cea8f..f613e98252 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1492,6 +1492,7 @@ CREATE TABLE `web_domain` (
   `subdomain` enum('none','www','*') NOT NULL default 'none',
   `php` varchar(32) NOT NULL default 'y',
   `ruby` enum('n','y') NOT NULL default 'n',
+  `python` 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/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index afc2a410a4..43dce0b1b9 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -216,6 +216,12 @@ $form["tabs"]['domain'] = array (
 			'default'	=> 'n',
 			'value'		=> array(0 => 'n',1 => 'y')
 		),
+		'python' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(0 => 'n',1 => 'y')
+		),
 		'active' => 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 12a97f0f68..b69695a30c 100644
--- a/interface/web/sites/lib/lang/de_web_domain.lng
+++ b/interface/web/sites/lib/lang/de_web_domain.lng
@@ -79,4 +79,5 @@ $wb['www_to_non_www_txt'] = 'www -&gt; Nicht-www';
 $wb['php_fpm_use_socket_txt'] = 'Benutze Socket f&uuml;r PHP-FPM';
 $wb['ipv6_address_txt'] = 'IPv6-Address';
 $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';
 ?>
diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng
index a49665586c..af1e0982d1 100644
--- a/interface/web/sites/lib/lang/en_web_domain.lng
+++ b/interface/web/sites/lib/lang/en_web_domain.lng
@@ -79,4 +79,5 @@ $wb["non_www_to_www_txt"] = 'Non-www -&gt; www';
 $wb["www_to_non_www_txt"] = 'www -&gt; non-www';
 $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';
 ?>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_domain_edit.htm b/interface/web/sites/templates/web_domain_edit.htm
index a36405fdb7..810f43a7f1 100644
--- a/interface/web/sites/templates/web_domain_edit.htm
+++ b/interface/web/sites/templates/web_domain_edit.htm
@@ -83,6 +83,12 @@
 						{tmpl_var name='ruby'}
 					</div>
 	  </div>
+	  <div class="ctrlHolder apache">
+				<p class="label">{tmpl_var name='python_txt'}</p>
+					<div class="multiField">
+						{tmpl_var name='python'}
+					</div>
+	  </div>
       <div class="ctrlHolder apache">
 				<p class="label">{tmpl_var name='suexec_txt'}</p>
 					<div class="multiField">
diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index ad722c56f7..b78e6c48b4 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -105,6 +105,16 @@
     </IfModule>
 </tmpl_if>
 
+<tmpl_if name='python' op='==' value='y'>
+    <IfModule mod_python.c>
+      <Directory {tmpl_var name='web_document_root'}>
+        AddHandler mod_python .py
+        PythonHandler mod_python.publisher
+        PythonDebug On
+      </Directory>
+    </IfModule>
+</tmpl_if>
+
 <tmpl_if name='cgi' op='==' value='y'>
     # cgi enabled
 	<Directory {tmpl_var name='document_root'}/cgi-bin>
-- 
GitLab