From ca4dd8a75d7965fd66e36938e618c3e48509ce83 Mon Sep 17 00:00:00 2001 From: "Roman Schmerold (BNoiZe)" Date: Sun, 18 May 2014 12:38:50 +0200 Subject: [PATCH] Remove comments from special vhost settings, fixes #1422 Signed-off-by: Roman Schmerold (BNoiZe) --- scripts/jobs/cron_tasks.inc.http.30.nginx.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/jobs/cron_tasks.inc.http.30.nginx.php b/scripts/jobs/cron_tasks.inc.http.30.nginx.php index e9c44a6b..61ab50a0 100644 --- a/scripts/jobs/cron_tasks.inc.http.30.nginx.php +++ b/scripts/jobs/cron_tasks.inc.http.30.nginx.php @@ -441,7 +441,9 @@ class nginx { protected function mergeVhostBlocks($vhost_content) { - $vhost_content = str_replace(array("{", "}"), array("{\n", "\n}"), $vhost_content); + $vhost_content = str_replace("\r", "\n", $vhost_content); // Remove windows linebreaks + $vhost_content = preg_replace('/^[\s\t]*#.*/m', "", $vhost_content); // Remove comments + $vhost_content = str_replace(array("{", "}"), array("{\n", "\n}"), $vhost_content); // Break blocks into lines $vhost_content = explode("\n", preg_replace('/[ \t]+/', ' ', trim(preg_replace('/\t+/', '', $vhost_content)))); $vhost_content = array_filter($vhost_content, create_function('$a','return preg_match("#\S#", $a);')); @@ -451,6 +453,7 @@ class nginx { $addAfter = false; foreach ($vhost_content as $line) { $line = trim($line); + if (substr_count($line, "{") != 0 && substr_count($line, "}") == 0 && substr_count($line, "server") == 0 && $isOpen === false) { $isOpen = true; $addAfter = array_search($line, $new_vhost_content);