From cce9d63279d9078dd0292dd015be497600ac5f32 Mon Sep 17 00:00:00 2001
From: florian030 <florian@schaal-24.de>
Date: Tue, 25 Feb 2014 09:16:36 -0500
Subject: [PATCH] Merge branch 'master' of http://git.ispconfig.org/ispconfig/ispconfig3
---
interface/web/sites/web_vhost_domain_edit.php | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/interface/web/sites/web_vhost_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php
index bd020df..2defb3e 100644
--- a/interface/web/sites/web_vhost_domain_edit.php
+++ b/interface/web/sites/web_vhost_domain_edit.php
@@ -1003,6 +1003,35 @@
$app->tform->errorMessage .= $app->tform->lng("invalid_rewrite_rules_txt").'<br>';
}
}
+
+ // check custom php.ini settings
+ if(isset($this->dataRecord['custom_php_ini']) && trim($this->dataRecord['custom_php_ini']) != '') {
+ $custom_php_ini_settings = trim($this->dataRecord['custom_php_ini']);
+ $custom_php_ini_settings_are_valid = true;
+ // Make sure we only have Unix linebreaks
+ $custom_php_ini_settings = str_replace("\r\n", "\n", $custom_php_ini_settings);
+ $custom_php_ini_settings = str_replace("\r", "\n", $custom_php_ini_settings);
+ $custom_php_ini_settings_lines = explode("\n", $custom_php_ini_settings);
+ if(is_array($custom_php_ini_settings_lines) && !empty($custom_php_ini_settings_lines)){
+ foreach($custom_php_ini_settings_lines as $custom_php_ini_settings_line){
+ if(trim($custom_php_ini_settings_line) == '') continue;
+ if(substr(trim($custom_php_ini_settings_line),0,1) == ';') continue;
+ // empty value
+ if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*;*\s*$@', $custom_php_ini_settings_line)) continue;
+ // value inside ""
+ if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*".*"\s*;*\s*$@', $custom_php_ini_settings_line)) continue;
+ // value inside ''
+ if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*\'.*\'\s*;*\s*$@', $custom_php_ini_settings_line)) continue;
+ // everything else
+ if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*[-a-zA-Z0-9~&=_\@/,.#\s]*\s*;*\s*$@', $custom_php_ini_settings_line)) continue;
+ $custom_php_ini_settings_are_valid = false;
+ break;
+ }
+ }
+ if(!$custom_php_ini_settings_are_valid){
+ $app->tform->errorMessage .= $app->tform->lng("invalid_custom_php_ini_settings_txt").'<br>';
+ }
+ }
parent::onSubmit();
}
--
Gitblit v1.9.1