From 254a4af78806da80e7af048540165fec972d2e04 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Thu, 04 Oct 2012 08:14:21 -0400
Subject: [PATCH] - Fixed FS#2436: nginx + php-fpm: commented out custom php.ini settings get into pool config.

---
 server/plugins-available/nginx_plugin.inc.php |   44 ++++++++++++++++++++++++--------------------
 1 files changed, 24 insertions(+), 20 deletions(-)

diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 2e76d4c..7a329c1 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -1908,27 +1908,31 @@
 			$ini_settings = explode("\n", $custom_php_ini_settings);
 			if(is_array($ini_settings) && !empty($ini_settings)){
 				foreach($ini_settings as $ini_setting){
-						list($key, $value) = explode('=', $ini_setting);
-						if($value){
-							$value = trim($value);
-							$key = trim($key);
-							switch (strtolower($value)) {
-								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':
-								case 'no':
-									$final_php_ini_settings[] = array('ini_setting' => 'php_admin_flag['.$key.'] = '.$value);
-									break;
-								default:
-									$final_php_ini_settings[] = array('ini_setting' => 'php_admin_value['.$key.'] = '.$value);
-							}
+					$ini_setting = trim($ini_setting);
+					if(substr($ini_setting,0,1) == ';') continue;
+					if(substr($ini_setting,0,1) == '#') continue;
+					if(substr($ini_setting,0,2) == '//') continue;
+					list($key, $value) = explode('=', $ini_setting);
+					if($value){
+						$value = trim($value);
+						$key = trim($key);
+						switch (strtolower($value)) {
+							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':
+							case 'no':
+								$final_php_ini_settings[] = array('ini_setting' => 'php_admin_flag['.$key.'] = '.$value);
+								break;
+							default:
+								$final_php_ini_settings[] = array('ini_setting' => 'php_admin_value['.$key.'] = '.$value);
 						}
+					}
 				}
 			}
 		}

--
Gitblit v1.9.1