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/plugins-available/nginx_plugin.inc.php |   52 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 45 insertions(+), 7 deletions(-)

diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 3f2c881..9d444f5 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -713,12 +713,31 @@
 		
 		// PHP-FPM
 		// Support for multiple PHP versions
+		/*
 		if(trim($data['new']['fastcgi_php_version']) != ''){
 			$default_php_fpm = false;
 			list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['new']['fastcgi_php_version']));
 			if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
 		} else {
 			$default_php_fpm = true;
+		}
+		*/
+		if($data['new']['php'] != 'no'){
+			if(trim($data['new']['fastcgi_php_version']) != ''){
+				$default_php_fpm = false;
+				list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['new']['fastcgi_php_version']));
+				if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
+			} else {
+				$default_php_fpm = true;
+			}
+		} else {
+			if(trim($data['old']['fastcgi_php_version']) != '' && $data['old']['php'] != 'no'){
+				$default_php_fpm = false;
+				list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['old']['fastcgi_php_version']));
+				if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
+			} else {
+				$default_php_fpm = true;
+			}
 		}
 		
 		if($default_php_fpm){
@@ -1545,13 +1564,31 @@
 	//* Update the PHP-FPM pool configuration file
 	private function php_fpm_pool_update ($data,$web_config,$pool_dir,$pool_name,$socket_dir) {
 		global $app, $conf;
-		
+		/*
 		if(trim($data['new']['fastcgi_php_version']) != ''){
 			$default_php_fpm = false;
 			list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['new']['fastcgi_php_version']));
 			if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
 		} else {
 			$default_php_fpm = true;
+		}
+		*/
+		if($data['new']['php'] != 'no'){
+			if(trim($data['new']['fastcgi_php_version']) != ''){
+				$default_php_fpm = false;
+				list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['new']['fastcgi_php_version']));
+				if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
+			} else {
+				$default_php_fpm = true;
+			}
+		} else {
+			if(trim($data['old']['fastcgi_php_version']) != '' && $data['old']['php'] != 'no'){
+				$default_php_fpm = false;
+				list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['old']['fastcgi_php_version']));
+				if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
+			} else {
+				$default_php_fpm = true;
+			}
 		}
 		
 		$app->uses("getconf");
@@ -1593,10 +1630,13 @@
 		$tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1);
 		$tpl->setVar('fpm_user', $data['new']['system_user']);
 		$tpl->setVar('fpm_group', $data['new']['system_group']);
+		$tpl->setVar('pm', $data['new']['pm']);
 		$tpl->setVar('pm_max_children', $data['new']['pm_max_children']);
 		$tpl->setVar('pm_start_servers', $data['new']['pm_start_servers']);
 		$tpl->setVar('pm_min_spare_servers', $data['new']['pm_min_spare_servers']);
 		$tpl->setVar('pm_max_spare_servers', $data['new']['pm_max_spare_servers']);
+		$tpl->setVar('pm_process_idle_timeout', $data['new']['pm_process_idle_timeout']);
+		$tpl->setVar('pm_max_requests', $data['new']['pm_max_requests']);
 		$tpl->setVar('document_root', $data['new']['document_root']);
 		$tpl->setVar('security_level',$web_config['security_level']);
 		$php_open_basedir = ($data['new']['php_open_basedir'] == '')?escapeshellcmd($data['new']['document_root']):escapeshellcmd($data['new']['php_open_basedir']);
@@ -1622,12 +1662,12 @@
 							$value = escapeshellcmd(trim($value));
 							$key = escapeshellcmd(trim($key));
 							switch (strtolower($value)) {
-								case 'on':
-								case 'off':
-								case '1':
 								case '0':
 									// PHP-FPM might complain about invalid boolean value if you use 0
 									$value = 'off';
+								case '1':
+								case 'on':
+								case 'off':
 								case 'true':
 								case 'false':
 								case 'yes':
@@ -1684,7 +1724,7 @@
 	private function php_fpm_pool_delete ($data,$web_config) {
 		global $app, $conf;
 		
-		if(trim($data['old']['fastcgi_php_version']) != ''){
+		if(trim($data['old']['fastcgi_php_version']) != '' && $data['old']['php'] != 'no'){
 			$default_php_fpm = false;
 			list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['old']['fastcgi_php_version']));
 			if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
@@ -1704,8 +1744,6 @@
 		if ( @is_file($pool_dir.$pool_name.'.conf') ) {
 			unlink($pool_dir.$pool_name.'.conf');
 			$app->log('Removed PHP-FPM config file: '.$pool_dir.$pool_name.'.conf',LOGLEVEL_DEBUG);
-			
-			//$app->services->restartService('php-fpm','reload');
 		}
 		
 		// delete pool in all other PHP versions

--
Gitblit v1.9.1