From 09f022af595a7ebb6ec6f75b33b0b8f5c073b631 Mon Sep 17 00:00:00 2001
From: Florian Schaal <info@schaal-24.de>
Date: Mon, 10 Oct 2016 12:06:31 +0200
Subject: [PATCH] Fixes: 3878 + ipv6-prefix for mirror

---
 interface/lib/classes/tform_base.inc.php             | 12 +++++++++++-
 .../web/admin/templates/server_config_web_edit.htm   |  2 +-
 server/plugins-available/apache2_plugin.inc.php      |  2 +-
 server/plugins-available/nginx_plugin.inc.php        |  2 +-
 4 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/interface/lib/classes/tform_base.inc.php b/interface/lib/classes/tform_base.inc.php
index 15b3fc59a2..984e82f7f8 100644
--- a/interface/lib/classes/tform_base.inc.php
+++ b/interface/lib/classes/tform_base.inc.php
@@ -1053,7 +1053,17 @@ class tform_base {
 							$this->errorMessage .= $errmsg."<br />\r\n";
 						}
 					}
-				} else $this->errorMessage .= "function filter_var missing <br />\r\n";
+				} else {
+					$tmpval = $app->functions->intval($field_value);
+					if($tmpval === 0 and !empty($field_value)) {
+						$errmsg = $validator['errmsg'];
+						if(isset($this->wordbook[$errmsg])) {
+							$this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
+						} else {
+							$this->errorMessage .= $errmsg."<br />\r\n";
+						}
+					}
+				}
 				break;
 			case 'ISPOSITIVE':
 				if(function_exists('filter_var')) {
diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm
index 8191cf0dbe..16060cf961 100644
--- a/interface/web/admin/templates/server_config_web_edit.htm
+++ b/interface/web/admin/templates/server_config_web_edit.htm
@@ -48,7 +48,7 @@
                 <label for="website_autoalias" class="col-sm-3 control-label">{tmpl_var name='website_autoalias_txt'}</label>
                 <div class="col-sm-6"><input type="text" name="website_autoalias" id="website_autoalias" value="{tmpl_var name='website_autoalias'}" class="form-control" /> &nbsp;{tmpl_var name='website_autoalias_note_txt'} <a href="javascript:void(0);" class="addPlaceholder">[client_id]</a>, <a href="javascript:void(0);" class="addPlaceholder">[client_username]</a>, <a href="javascript:void(0);" class="addPlaceholder">[website_id]</a>, <a href="javascript:void(0);" class="addPlaceholder">[website_domain]</a></div>
             </div>
-		<div class="form-group apache">
+		<div class="form-group">
 			<label for="vhost_rewrite_v6" class="col-sm-3 control-label">{tmpl_var name='vhost_rewrite_v6_txt'}</label>
 			<div class="col-sm-9">
 				{tmpl_var name='vhost_rewrite_v6'}
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 7af5805eae..c8dded6db3 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -1765,7 +1765,7 @@ class apache2_plugin {
 					$explode_v6prefix=explode(':', $web_config['serverconfig']['server']['v6_prefix']);
 					$explode_v6=explode(':', $data['new']['ipv6_address']);
 
-					for ( $i = 0; $i <= count($explode_v6prefix)-3; $i++ ) {
+					for ( $i = 0; $i <= count($explode_v6prefix)-1; $i++ ) {
 						$explode_v6[$i] = $explode_v6prefix[$i];
 					}
 					$data['new']['ipv6_address'] = implode(':', $explode_v6);
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index e866888521..5e00822c60 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -960,7 +960,7 @@ class nginx_plugin {
 					$explode_v6prefix=explode(':', $conf['serverconfig']['server']['v6_prefix']);
 					$explode_v6=explode(':', $data['new']['ipv6_address']);
 
-					for ( $i = 0; $i <= count($explode_v6prefix)-3; $i++ ) {
+					for ( $i = 0; $i <= count($explode_v6prefix)-1; $i++ ) {
 						$explode_v6[$i] = $explode_v6prefix[$i];
 					}
 					$data['new']['ipv6_address'] = implode(':', $explode_v6);
-- 
GitLab