From dec0dfa3a81e23a5a123be56ae8b36e0f1ed9137 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 22 Feb 2012 09:47:32 -0500
Subject: [PATCH] Merged revisions 2916-2941 from stable branch.

---
 install/tpl/config.inc.php.master                        |    2 
 interface/web/admin/templates/server_config_web_edit.htm |    8 +-
 interface/web/dns/list/dns_soa.list.php                  |    2 
 server/lib/classes/monitor_tools.inc.php                 |    4 
 install/tpl/apache_ispconfig.vhost.master                |    1 
 interface/web/admin/templates/language_edit.htm          |    2 
 install/tpl/apache_apps.vhost.master                     |    1 
 server/conf/vhost.conf.master                            |    4 +
 install/sql/ispconfig3.sql                               |    2 
 install/tpl/apps_php_fpm_pool.conf.master                |    9 +-
 server/lib/classes/modules.inc.php                       |    2 
 interface/web/sites/form/web_domain.tform.php            |   20 +++---
 interface/lib/classes/listform.inc.php                   |    6 +-
 interface/web/dns/templates/dns_soa_list.htm             |    2 
 interface/web/sites/web_domain_edit.php                  |    5 +
 server/lib/app.inc.php                                   |    2 
 install/tpl/php_fpm_pool.conf.master                     |    9 +-
 interface/web/mail/mail_alias_edit.php                   |    3 
 install/install.php                                      |    5 +
 server/conf/apps_php_fpm_pool.conf.master                |    1 
 interface/web/sites/form/web_aliasdomain.tform.php       |    2 
 remoting_client/examples/sites_database_add.php          |    8 +-
 install/tpl/nginx_apps.vhost.master                      |    9 +-
 install/tpl/nginx_ispconfig.vhost.master                 |    2 
 interface/web/sites/form/web_subdomain.tform.php         |    2 
 interface/web/sites/templates/web_domain_edit.htm        |    2 
 server/conf/nginx_apps.vhost.master                      |    9 +-
 27 files changed, 73 insertions(+), 51 deletions(-)

diff --git a/install/install.php b/install/install.php
index 0255c12..46c313e 100644
--- a/install/install.php
+++ b/install/install.php
@@ -281,7 +281,10 @@
 	swriteln('Installing ISPConfig');
 	
 	//** Customize the port ISPConfig runs on
-	$conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', '8080');
+	$ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080');
+	if($conf['apache']['installed'] == true) $conf['apache']['vhost_port']  = $ispconfig_vhost_port;
+	if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port']  = $ispconfig_vhost_port;
+	unset($ispconfig_vhost_port);
 
 	if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface',array('y','n'),'y')) == 'y') {
 	  $inst->make_ispconfig_ssl_cert();
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 4d9d2d1..c09a600 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1939,6 +1939,6 @@
 -- Dumping data for table `sys_config`
 --
 
-INSERT INTO sys_config VALUES ('1','db','db_version','3.0.4.2');
+INSERT INTO sys_config VALUES ('1','db','db_version','3.0.4.3');
 
 SET FOREIGN_KEY_CHECKS = 1;
\ No newline at end of file
diff --git a/install/tpl/apache_apps.vhost.master b/install/tpl/apache_apps.vhost.master
index 01b7eaf..068158c 100644
--- a/install/tpl/apache_apps.vhost.master
+++ b/install/tpl/apache_apps.vhost.master
@@ -15,6 +15,7 @@
     DocumentRoot {apps_vhost_dir}
     AddType application/x-httpd-php .php
     <Directory {apps_vhost_dir}>
+      # php_admin_value open_basedir "{apps_vhost_dir}:/usr/share:/tmp"
       Options FollowSymLinks
       AllowOverride None
       Order allow,deny
diff --git a/install/tpl/apache_ispconfig.vhost.master b/install/tpl/apache_ispconfig.vhost.master
index d3fc9a8..bca61b2 100644
--- a/install/tpl/apache_ispconfig.vhost.master
+++ b/install/tpl/apache_ispconfig.vhost.master
@@ -27,6 +27,7 @@
     DocumentRoot /usr/local/ispconfig/interface/web/
     AddType application/x-httpd-php .php
     <Directory /usr/local/ispconfig/interface/web>
+      # php_admin_value open_basedir "/usr/local/ispconfig/interface:/usr/share:/tmp"
       Options FollowSymLinks
       AllowOverride None
       Order allow,deny
diff --git a/install/tpl/apps_php_fpm_pool.conf.master b/install/tpl/apps_php_fpm_pool.conf.master
index adda0b5..e851cf5 100644
--- a/install/tpl/apps_php_fpm_pool.conf.master
+++ b/install/tpl/apps_php_fpm_pool.conf.master
@@ -9,11 +9,12 @@
 group = {fpm_group}
 
 pm = dynamic
-pm.max_children = 50
-pm.start_servers = 20
-pm.min_spare_servers = 5
-pm.max_spare_servers = 35
+pm.max_children = 10
+pm.start_servers = 2
+pm.min_spare_servers = 1
+pm.max_spare_servers = 5
 
 chdir = /
 
+; php_admin_value[open_basedir] = /var/www/apps:/srv/www/apps:/usr/share
 php_admin_flag[magic_quotes_gpc] = off
\ No newline at end of file
diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master
index 75fa92e..1ac3c1e 100644
--- a/install/tpl/config.inc.php.master
+++ b/install/tpl/config.inc.php.master
@@ -56,7 +56,7 @@
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.4.2');
+define('ISPC_APP_VERSION', '3.0.4.3');
 define('DEVSYSTEM', 0);
 
 
diff --git a/install/tpl/nginx_apps.vhost.master b/install/tpl/nginx_apps.vhost.master
index 9de75dd..560f6b5 100644
--- a/install/tpl/nginx_apps.vhost.master
+++ b/install/tpl/nginx_apps.vhost.master
@@ -5,6 +5,8 @@
 
         root   {apps_vhost_dir};
 
+        client_max_body_size 20M;
+
         location / {
                index index.php index.html;
         }
@@ -41,12 +43,12 @@
                        # To access phpMyAdmin, the default user (like www-data on Debian/Ubuntu) must be used
                        fastcgi_pass 127.0.0.1:9000;
                        fastcgi_index index.php;
-                       fastcgi_param SCRIPT_FILENAME $request_filename;
-                       fastcgi_param PATH_INFO $fastcgi_script_name;
+                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        fastcgi_buffer_size 128k;
                        fastcgi_buffers 256 4k;
                        fastcgi_busy_buffers_size 256k;
                        fastcgi_temp_file_write_size 256k;
+                       fastcgi_read_timeout 240;
                }
                location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                        root /usr/share/;
@@ -66,8 +68,7 @@
                        # To access SquirrelMail, the default user (like www-data on Debian/Ubuntu) must be used
                        fastcgi_pass 127.0.0.1:9000;
                        fastcgi_index index.php;
-                       fastcgi_param SCRIPT_FILENAME $request_filename;
-                       fastcgi_param PATH_INFO $fastcgi_script_name;
+                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        fastcgi_buffer_size 128k;
                        fastcgi_buffers 256 4k;
                        fastcgi_busy_buffers_size 256k;
diff --git a/install/tpl/nginx_ispconfig.vhost.master b/install/tpl/nginx_ispconfig.vhost.master
index 28b19eb..72fbacf 100644
--- a/install/tpl/nginx_ispconfig.vhost.master
+++ b/install/tpl/nginx_ispconfig.vhost.master
@@ -8,6 +8,8 @@
 
         root   /usr/local/ispconfig/interface/web/;
 
+        client_max_body_size 20M;
+
         location / {
                index index.php index.html;
         }
diff --git a/install/tpl/php_fpm_pool.conf.master b/install/tpl/php_fpm_pool.conf.master
index fc193d0..dfa3059 100644
--- a/install/tpl/php_fpm_pool.conf.master
+++ b/install/tpl/php_fpm_pool.conf.master
@@ -9,12 +9,13 @@
 group = {fpm_group}
 
 pm = dynamic
-pm.max_children = 50
-pm.start_servers = 20
-pm.min_spare_servers = 5
-pm.max_spare_servers = 35
+pm.max_children = 10
+pm.start_servers = 2
+pm.min_spare_servers = 1
+pm.max_spare_servers = 5
 
 chdir = /
 
+; php_admin_value[open_basedir] = /usr/local/ispconfig/interface:/usr/share
 php_admin_value[session.save_path] = /usr/local/ispconfig/server/temp
 php_admin_flag[magic_quotes_gpc] = off
\ No newline at end of file
diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php
index 4f03c68..96ab4a3 100644
--- a/interface/lib/classes/listform.inc.php
+++ b/interface/lib/classes/listform.inc.php
@@ -295,7 +295,7 @@
                     case 'DATETSTAMP':
                         if ($record[$key] > 0) {
 							// is value int?
-							if (preg_match("/^[0-9]+[.]?[0-9]*$/", $record[$key], $p)) {
+							if (preg_match("/^[0-9]+[\.]?[0-9]*$/", $record[$key], $p)) {
 	                        	$record[$key] = date($this->lng('conf_format_dateshort'), $record[$key]);
 							} else {
 	                        	$record[$key] = date($this->lng('conf_format_dateshort'), strtotime($record[$key]));
@@ -305,7 +305,7 @@
 					case 'DATE':
                         if ($record[$key] > 0) {
 							// is value int?
-							if (preg_match("/^[0-9]+[.]?[0-9]*$/", $record[$key], $p)) {
+							if (preg_match("/^[0-9]+[\.]?[0-9]*$/", $record[$key], $p)) {
 	                        	$record[$key] = date($this->lng('conf_format_dateshort'), $record[$key]);
 							} else {
 	                        	$record[$key] = date($this->lng('conf_format_dateshort'), strtotime($record[$key]));
@@ -316,7 +316,7 @@
                     case 'DATETIME':
                         if ($record[$key] > 0) {
 							// is value int?
-							if (preg_match("/^[0-9]+[.]?[0-9]*$/", $record[$key], $p)) {
+							if (preg_match("/^[0-9]+[\.]?[0-9]*$/", $record[$key], $p)) {
 	                        	$record[$key] = date($this->lng('conf_format_datetime'), $record[$key]);
 							} else {
 	                        	$record[$key] = date($this->lng('conf_format_datetime'), strtotime($record[$key]));
diff --git a/interface/web/admin/templates/language_edit.htm b/interface/web/admin/templates/language_edit.htm
index 75376df..39403ce 100644
--- a/interface/web/admin/templates/language_edit.htm
+++ b/interface/web/admin/templates/language_edit.htm
@@ -9,7 +9,7 @@
         <tmpl_loop name="records">
         <span class="wf_oneField">
           <label for="records[{tmpl_var name="key"}]" class="wf_preField">{tmpl_var name="key"}</label>
-          <input type="text" id="records[{tmpl_var name="key"}]" name="records[{tmpl_var name="key"}]" value="{tmpl_var name='val'}" size="50" maxlength="255">
+          <input type="text" id="records[{tmpl_var name="key"}]" name="records[{tmpl_var name="key"}]" value="{tmpl_var name='val'}" size="50" >
         </span> 
         </tmpl_loop>
       </span>
diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm
index da93a2e..ed522f6 100644
--- a/interface/web/admin/templates/server_config_web_edit.htm
+++ b/interface/web/admin/templates/server_config_web_edit.htm
@@ -75,25 +75,25 @@
 						{tmpl_var name='enable_sni'}
 					</div>
 			</div>
-	  <div class="ctrlHolder apache">
+	  <div class="ctrlHolder">
 				<p class="label">{tmpl_var name='set_folder_permissions_on_update_txt'}</p>
 					<div class="multiField">
 						{tmpl_var name='set_folder_permissions_on_update'}
 					</div>
 			</div>
-	  <div class="ctrlHolder apache">
+	  <div class="ctrlHolder">
 				<p class="label">{tmpl_var name='add_web_users_to_sshusers_group_txt'}</p>
 					<div class="multiField">
 						{tmpl_var name='add_web_users_to_sshusers_group'}
 					</div>
 			</div>
-	  <div class="ctrlHolder apache">
+	  <div class="ctrlHolder">
 				<p class="label">{tmpl_var name='connect_userid_to_webid_txt'}</p>
 					<div class="multiField">
 						{tmpl_var name='connect_userid_to_webid'}
 					</div>
 			</div>
-	  <div class="ctrlHolder apache">
+	  <div class="ctrlHolder">
       	<label for="connect_userid_to_webid_start">{tmpl_var name='connect_userid_to_webid_start_txt'}</label>
         <input name="connect_userid_to_webid_start" id="connect_userid_to_webid_start" value="{tmpl_var name='connect_userid_to_webid_start'}" size="40" maxlength="255" type="text" class="textInput" />
 			</div>
diff --git a/interface/web/dns/list/dns_soa.list.php b/interface/web/dns/list/dns_soa.list.php
index bedecb3..89cc766 100644
--- a/interface/web/dns/list/dns_soa.list.php
+++ b/interface/web/dns/list/dns_soa.list.php
@@ -55,7 +55,7 @@
 							'prefix'	=> "",
 							'suffix'	=> "",
 							'width'		=> "",
-							'value'		=> array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>",'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>"));
+							'value'		=> array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>",'N' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>"));
 
 
 $liste["item"][] = array(	'field'		=> "server_id",
diff --git a/interface/web/dns/templates/dns_soa_list.htm b/interface/web/dns/templates/dns_soa_list.htm
index 3928af2..658b374 100644
--- a/interface/web/dns/templates/dns_soa_list.htm
+++ b/interface/web/dns/templates/dns_soa_list.htm
@@ -43,7 +43,7 @@
         <tbody>
           <tmpl_loop name="records">
           <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-            <td class="tbl_col_active"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');"><img src="themes/{tmpl_var name='theme'}/icons/{tmpl_var name='_active_'}" border="0" /></a></td>
+            <td class="tbl_col_active"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</td>
             <td class="tbl_col_server_id"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
             <td class="tbl_col_origin"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
             <td class="tbl_col_ns"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
diff --git a/interface/web/mail/mail_alias_edit.php b/interface/web/mail/mail_alias_edit.php
index ead9bc2..b7140b0 100644
--- a/interface/web/mail/mail_alias_edit.php
+++ b/interface/web/mail/mail_alias_edit.php
@@ -74,7 +74,8 @@
 		$app->tpl->setVar("email_local_part",$email_parts[0]);
 		
 		// Getting Domains of the user
-		$sql = "SELECT domain FROM mail_domain WHERE ".$app->tform->getAuthSQL('r').' ORDER BY domain';
+		// $sql = "SELECT domain FROM mail_domain WHERE ".$app->tform->getAuthSQL('r').' ORDER BY domain';
+		$sql = "SELECT domain FROM mail_domain WHERE domain NOT IN (SELECT SUBSTR(source,2) FROM mail_forwarding WHERE type = 'aliasdomain') AND ".$app->tform->getAuthSQL('r')." ORDER BY domain";
 		$domains = $app->db->queryAllRecords($sql);
 		$domain_select = '';
 		if(is_array($domains)) {
diff --git a/interface/web/sites/form/web_aliasdomain.tform.php b/interface/web/sites/form/web_aliasdomain.tform.php
index 1eb79c5..9507aa0 100644
--- a/interface/web/sites/form/web_aliasdomain.tform.php
+++ b/interface/web/sites/form/web_aliasdomain.tform.php
@@ -112,7 +112,7 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '@^(([.]{0})|(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(/[\w/_\.\-]{1,255}/))$@',
+														'regex' => '@^(([\.]{0})|(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(/[\w/_\.\-]{1,255}/))$@',
 														'errmsg'=> 'redirect_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index 241e6ea..af05cdf 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -253,7 +253,7 @@
 		'redirect_path' => array (
 			'datatype'	=> 'VARCHAR',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '@^(([.]{0})|(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.\,\-\+\?\~]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(/[\w/_\.\-]{1,255}/))$@',
+														'regex' => '@^(([\.]{0})|(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.\,\-\+\?\~]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(/[\w/_\.\-]{1,255}/))$@',
 														'errmsg'=> 'redirect_error_regex'),
 									),
 			'formtype'	=> 'TEXT',
@@ -287,7 +287,7 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '/^(([.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+														'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
 														'errmsg'=> 'ssl_state_error_regex'),
 									),
 			'default'	=> '',
@@ -299,7 +299,7 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '/^(([.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+														'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
 														'errmsg'=> 'ssl_locality_error_regex'),
 									),
 			'default'	=> '',
@@ -311,7 +311,7 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '/^(([.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+														'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
 														'errmsg'=> 'ssl_organisation_error_regex'),
 									),
 			'default'	=> '',
@@ -323,7 +323,7 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '/^(([.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+														'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
 														'errmsg'=> 'ssl_organistaion_unit_error_regex'),
 									),
 			'default'	=> '',
@@ -336,7 +336,7 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '/^(([.]{0})|([A-Z]{2,2}))$/',
+														'regex' => '/^(([\.]{0})|([A-Z]{2,2}))$/',
 														'errmsg'=> 'ssl_country_error_regex'),
 									),
 			'default'	=> '',
@@ -538,7 +538,7 @@
 														'regex' => '/^([1-9][0-9]{0,10})$/',
 														'errmsg'=> 'pm_max_children_error_regex'),
 									),
-			'default'	=> '50',
+			'default'	=> '10',
 			'value'		=> '',
 			'width'		=> '3',
 			'maxlength'	=> '3'
@@ -550,7 +550,7 @@
 														'regex' => '/^([1-9][0-9]{0,10})$/',
 														'errmsg'=> 'pm_start_servers_error_regex'),
 									),
-			'default'	=> '20',
+			'default'	=> '2',
 			'value'		=> '',
 			'width'		=> '3',
 			'maxlength'	=> '3'
@@ -562,7 +562,7 @@
 														'regex' => '/^([1-9][0-9]{0,10})$/',
 														'errmsg'=> 'pm_min_spare_servers_error_regex'),
 									),
-			'default'	=> '5',
+			'default'	=> '1',
 			'value'		=> '',
 			'width'		=> '3',
 			'maxlength'	=> '3'
@@ -574,7 +574,7 @@
 														'regex' => '/^([1-9][0-9]{0,10})$/',
 														'errmsg'=> 'pm_max_spare_servers_error_regex'),
 									),
-			'default'	=> '35',
+			'default'	=> '5',
 			'value'		=> '',
 			'width'		=> '3',
 			'maxlength'	=> '3'
diff --git a/interface/web/sites/form/web_subdomain.tform.php b/interface/web/sites/form/web_subdomain.tform.php
index 482476a..9b2744b 100644
--- a/interface/web/sites/form/web_subdomain.tform.php
+++ b/interface/web/sites/form/web_subdomain.tform.php
@@ -112,7 +112,7 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '@^(([.]{0})|(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(/[\w/_\.\-]{1,255}/))$@',
+														'regex' => '@^(([\.]{0})|(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(/[\w/_\.\-]{1,255}/))$@',
 														'errmsg'=> 'redirect_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/templates/web_domain_edit.htm b/interface/web/sites/templates/web_domain_edit.htm
index 810f43a..178c639 100644
--- a/interface/web/sites/templates/web_domain_edit.htm
+++ b/interface/web/sites/templates/web_domain_edit.htm
@@ -26,6 +26,8 @@
 					{tmpl_var name='client_group_id'}
 				</select>
       </div>
+	  <tmpl_else>
+		<input type="hidden" id="server_id" name="server_id" value="{tmpl_var name='server_id_value'}" />
       </tmpl_if>
       <tmpl_if name="is_reseller">
       <div class="ctrlHolder">
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index 91b965c..e510bfe 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -74,6 +74,11 @@
 			if(!$app->tform->checkResellerLimit('limit_web_domain',"type = 'vhost'")) {
 				$app->error('Reseller: '.$app->tform->wordbook["limit_web_domain_txt"]);
 			}
+			
+			// Get the limits of the client
+			$client_group_id = $_SESSION["s"]["user"]["default_group"];
+			$client = $app->db->queryOneRecord("SELECT client.default_webserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+			$app->tpl->setVar("server_id_value", $client['default_webserver']);
 		}
 
 		parent::onShowNew();
diff --git a/remoting_client/examples/sites_database_add.php b/remoting_client/examples/sites_database_add.php
index 0337dad..26ed3e6 100644
--- a/remoting_client/examples/sites_database_add.php
+++ b/remoting_client/examples/sites_database_add.php
@@ -19,11 +19,11 @@
 	$params = array(
 			'server_id' => 1,
 			'type' => 'mysql',
-			'database_name' => 'db_name1',
-			'database_user' => 'db_name1',
-			'database_password' => 'db_name1',
+			'database_name' => 'db_name2',
+			'database_user' => 'db_name2',
+			'database_password' => 'db_name2',
 			'database_charset' => 'UTF8',
-			'remote_access' => 'n',
+			'remote_access' => 'y',
 			'remote_ips' => '',
 			'active' => 'y'
 			);
diff --git a/server/conf/apps_php_fpm_pool.conf.master b/server/conf/apps_php_fpm_pool.conf.master
index adda0b5..2cc7258 100644
--- a/server/conf/apps_php_fpm_pool.conf.master
+++ b/server/conf/apps_php_fpm_pool.conf.master
@@ -16,4 +16,5 @@
 
 chdir = /
 
+; php_admin_value[open_basedir] = /var/www/apps:/srv/www/apps:/usr/share
 php_admin_flag[magic_quotes_gpc] = off
\ No newline at end of file
diff --git a/server/conf/nginx_apps.vhost.master b/server/conf/nginx_apps.vhost.master
index 9de75dd..560f6b5 100644
--- a/server/conf/nginx_apps.vhost.master
+++ b/server/conf/nginx_apps.vhost.master
@@ -5,6 +5,8 @@
 
         root   {apps_vhost_dir};
 
+        client_max_body_size 20M;
+
         location / {
                index index.php index.html;
         }
@@ -41,12 +43,12 @@
                        # To access phpMyAdmin, the default user (like www-data on Debian/Ubuntu) must be used
                        fastcgi_pass 127.0.0.1:9000;
                        fastcgi_index index.php;
-                       fastcgi_param SCRIPT_FILENAME $request_filename;
-                       fastcgi_param PATH_INFO $fastcgi_script_name;
+                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        fastcgi_buffer_size 128k;
                        fastcgi_buffers 256 4k;
                        fastcgi_busy_buffers_size 256k;
                        fastcgi_temp_file_write_size 256k;
+                       fastcgi_read_timeout 240;
                }
                location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                        root /usr/share/;
@@ -66,8 +68,7 @@
                        # To access SquirrelMail, the default user (like www-data on Debian/Ubuntu) must be used
                        fastcgi_pass 127.0.0.1:9000;
                        fastcgi_index index.php;
-                       fastcgi_param SCRIPT_FILENAME $request_filename;
-                       fastcgi_param PATH_INFO $fastcgi_script_name;
+                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        fastcgi_buffer_size 128k;
                        fastcgi_buffers 256 4k;
                        fastcgi_busy_buffers_size 256k;
diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index 1d29d07..4c698e0 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -42,11 +42,12 @@
 	SSLEngine on
     SSLCertificateFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.crt
     SSLCertificateKeyFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.key
-</tmpl_if>
 <tmpl_if name='has_bundle_cert'>
     SSLCACertificateFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.bundle
 </tmpl_if>
+</tmpl_if>
     </IfModule>
+
     <Directory {tmpl_var name='web_document_root_www'}>
         Options FollowSymLinks
         AllowOverride <tmpl_var name='allow_override'>
@@ -182,6 +183,7 @@
         FcgidConnectTimeout 3
         FcgidIOTimeout 360
         FcgidBusyTimeout 300
+		FcgidMaxRequestLen 1073741824
 <tmpl_else>
         IdleTimeout 300
         ProcessLifeTime 3600
diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php
index 5e39e55..87f964dc 100755
--- a/server/lib/app.inc.php
+++ b/server/lib/app.inc.php
@@ -49,7 +49,7 @@
 					if we are in a multiserver setup
 					*/
 					
-					if($conf['dbmaster_host'] != '' && $conf['dbmaster_host'] != $conf['db_host']) {
+					if($conf['dbmaster_host'] != '' && ($conf['dbmaster_host'] != $conf['db_host'] || ($conf['dbmaster_host'] == $conf['db_host'] && $conf['dbmaster_database'] != $conf['db_database']))) {
 						$this->dbmaster = new db($conf['dbmaster_host'], $conf['dbmaster_user'], $conf['dbmaster_password'], $conf['dbmaster_database']);
 					} else {
 						$this->dbmaster = $this->db;
diff --git a/server/lib/classes/modules.inc.php b/server/lib/classes/modules.inc.php
index ef600bd..143683d 100644
--- a/server/lib/classes/modules.inc.php
+++ b/server/lib/classes/modules.inc.php
@@ -83,7 +83,7 @@
 		global $app,$conf;
 		
 		//* If its a multiserver setup
-		if($app->db->dbHost != $app->dbmaster->dbHost) {
+		if($app->db->dbHost != $app->dbmaster->dbHost || ($app->db->dbHost == $app->dbmaster->dbHost && $app->db->dbName != $app->dbmaster->dbName)) {
 			if($conf['mirror_server_id'] > 0) {
 				$sql = "SELECT * FROM sys_datalog WHERE datalog_id > ".$conf['last_datalog_id']." AND (server_id = ".$conf['server_id']." OR server_id = ".$conf['mirror_server_id']." OR server_id = 0) ORDER BY datalog_id";
 			} else {
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index 00b9759..dab75b5 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -1020,7 +1020,7 @@
 				/*
 				 * Fetch the output
 				 */
-				$data['output'] = shell_exec('mpt-status --autoload -n');
+				$data['output'] = shell_exec('mpt-status --autoload');
 
 				/*
 				 * Then calc the state.
@@ -1032,7 +1032,7 @@
 						* The output contains information for every RAID and every HDD.
 						* We only need the state of the RAID
 						*/
-						if (strpos($item, 'raidlevel:') !== false) {
+						if (strpos($item, 'state ') !== false) {
 							/*
 							* We found a raid, process the state of it
 							*/

--
Gitblit v1.9.1