From 3245aa9384c0b945f76c3c9780a279845dbd2a5d Mon Sep 17 00:00:00 2001
From: Sergio Cambra <sergio@programatica.es>
Date: Tue, 29 Jul 2014 11:45:05 +0200
Subject: [PATCH] add default php handler to server config, so it's used as
 default on new vhost

---
 interface/web/admin/form/server_config.tform.php         | 7 +++++++
 interface/web/admin/lib/lang/en_server_config.lng        | 2 ++
 interface/web/admin/lib/lang/es_server_config.lng        | 2 ++
 interface/web/admin/templates/server_config_web_edit.htm | 8 ++++++++
 interface/web/sites/web_vhost_domain_edit.php            | 8 ++++++--
 5 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index ccbd8b6349..8c6f89976b 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -880,6 +880,13 @@ $form["tabs"]['web'] = array(
 			'width' => '10',
 			'maxlength' => '255'
 		),
+		'php_handler' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => 'fast-cgi',
+			'value' => array('no' => 'disabled_txt', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM'),
+			'searchable' => 2
+		),
 		'nginx_cgi_socket' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng
index f0ac80422d..9331b50d8f 100644
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -200,4 +200,6 @@ $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb["overquota_db_notify_admin_txt"] = 'Send DB quota warnings to admin';
 $wb["overquota_db_notify_client_txt"] = 'Send DB quota warnings to client';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['php_handler_txt'] = "PHP Handler";
+$wb['disabled_txt'] = 'Disabled';
 ?>
diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng
index 8e61082f55..734d83bdec 100644
--- a/interface/web/admin/lib/lang/es_server_config.lng
+++ b/interface/web/admin/lib/lang/es_server_config.lng
@@ -192,4 +192,6 @@ $wb['munin_url_note_txt'] = 'Marcadores:';
 $wb['backup_dir_is_mount_txt'] = '¿El directorio de copias de seguridad es un punto de montaje?';
 $wb['backup_dir_mount_cmd_txt'] = 'Comando para montar, si el directorio de copias de seguridad no está montado';
 $wb['monitor_system_updates_txt'] = 'Comprobar actualizaciones de linux';
+$wb['php_handler_txt'] = "Manejador de PHP";
+$wb['disabled_txt'] = "Desactivado";
 ?>
diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm
index d813952dfc..87bb4af4da 100644
--- a/interface/web/admin/templates/server_config_web_edit.htm
+++ b/interface/web/admin/templates/server_config_web_edit.htm
@@ -233,6 +233,14 @@
                     <label for="php_ini_check_minutes">{tmpl_var name='php_ini_check_minutes_txt'}</label>
                     <input name="php_ini_check_minutes" id="php_ini_check_minutes" value="{tmpl_var name='php_ini_check_minutes'}" size="40" type="text" class="textInput" /> {tmpl_var name='php_ini_check_minutes_info_txt'}
                 </div>
+                <div class="ctrlHolder">
+                    <label for="php_handler">{tmpl_var name='php_handler_txt'}</label>
+                    <div class="multiField">
+                        <select name="php_handler" id="php_handler" class="selectInput">
+                            {tmpl_var name='php_handler'}
+                        </select>
+                    </div>
+                </div>
             </div>
             <div class="subsectiontoggle"><span></span>{tmpl_var name='apps_vhost_settings_txt'}<em></em></div>
             <div style="display:none;">
diff --git a/interface/web/sites/web_vhost_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php
index 87b7a80bb1..b87fb73081 100644
--- a/interface/web/sites/web_vhost_domain_edit.php
+++ b/interface/web/sites/web_vhost_domain_edit.php
@@ -113,12 +113,16 @@ class page_action extends tform_actions {
 			$client_group_id = $_SESSION["s"]["user"]["default_group"];
 			$client = $app->db->queryOneRecord("SELECT client.web_servers FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
 			$web_servers = explode(',', $client['web_servers']);
-			$app->tpl->setVar("server_id_value", $web_servers[0]);
+			$server_id = $web_servers[0];
+			$app->tpl->setVar("server_id_value", $server_id);
 			unset($web_servers);
 		} else {
 			$settings = $app->getconf->get_global_config('sites');
-			$app->tform->formDef['tabs']['domain']['fields']['server_id']['default'] = intval($settings['default_webserver']);
+			$server_id = intval($settings['default_webserver']);
+			$app->tform->formDef['tabs']['domain']['fields']['server_id']['default'] = $server_id;
 		}
+		$web_config = $app->getconf->get_server_config($server_id, 'web');
+		$app->tform->formDef['tabs']['domain']['fields']['php']['default'] = $web_config['php_handler'];
 		$app->tform->formDef['tabs']['domain']['readonly'] = false;
 
 		$app->tpl->setVar('vhostdomain_type', $this->_vhostdomain_type);
-- 
GitLab