From c8ccbfb4f4e323d828af15f0bc33cc979cc501b9 Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Thu, 20 Sep 2012 12:56:41 -0400
Subject: [PATCH] Next step of importer
---
server/plugins-available/nginx_plugin.inc.php | 29 +++++++++++++++++------------
1 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 056d83a..ef376e0 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -966,7 +966,7 @@
unset($tmp_redirect_path);
unset($tmp_redirect_path_parts);
}
- $rewrite_rules[] = array( 'rewrite_domain' => '^'.$data['new']['domain'],
+ $rewrite_rules[] = array( 'rewrite_domain' => '^'.$this->_rewrite_quote($data['new']['domain']),
'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':$data['new']['redirect_type'],
'rewrite_target' => $data['new']['redirect_path'],
'rewrite_exclude' => $rewrite_exclude);
@@ -987,7 +987,7 @@
unset($tmp_redirect_path);
unset($tmp_redirect_path_parts);
}
- $rewrite_rules[] = array( 'rewrite_domain' => '^www.'.$data['new']['domain'],
+ $rewrite_rules[] = array( 'rewrite_domain' => '^' . $this->_rewrite_quote('www.'.$data['new']['domain']),
'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':$data['new']['redirect_type'],
'rewrite_target' => $data['new']['redirect_path'],
'rewrite_exclude' => $rewrite_exclude);
@@ -1009,7 +1009,7 @@
unset($tmp_redirect_path);
unset($tmp_redirect_path_parts);
}
- $rewrite_rules[] = array( 'rewrite_domain' => $data['new']['domain'],
+ $rewrite_rules[] = array( 'rewrite_domain' => '(^|\.)'.$this->_rewrite_quote($data['new']['domain']),
'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':$data['new']['redirect_type'],
'rewrite_target' => $data['new']['redirect_path'],
'rewrite_exclude' => $rewrite_exclude);
@@ -1031,7 +1031,7 @@
unset($tmp_redirect_path);
unset($tmp_redirect_path_parts);
}
- $rewrite_rules[] = array( 'rewrite_domain' => '^'.$data['new']['domain'],
+ $rewrite_rules[] = array( 'rewrite_domain' => '^'.$this->_rewrite_quote($data['new']['domain']),
'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':$data['new']['redirect_type'],
'rewrite_target' => $data['new']['redirect_path'],
'rewrite_exclude' => $rewrite_exclude);
@@ -1051,7 +1051,7 @@
unset($client);
unset($aa_search);
unset($aa_replace);
- $server_alias[] .= $auto_alias;
+ $server_alias[] .= $auto_alias.' ';
}
// get alias domains (co-domains and subdomains)
@@ -1107,7 +1107,7 @@
unset($tmp_redirect_path);
unset($tmp_redirect_path_parts);
}
- $rewrite_rules[] = array( 'rewrite_domain' => '^'.$alias['domain'],
+ $rewrite_rules[] = array( 'rewrite_domain' => '^'.$this->_rewrite_quote($alias['domain']),
'rewrite_type' => ($alias['redirect_type'] == 'no')?'':$alias['redirect_type'],
'rewrite_target' => $alias['redirect_path'],
'rewrite_exclude' => $rewrite_exclude);
@@ -1128,7 +1128,7 @@
unset($tmp_redirect_path);
unset($tmp_redirect_path_parts);
}
- $rewrite_rules[] = array( 'rewrite_domain' => '^www.'.$alias['domain'],
+ $rewrite_rules[] = array( 'rewrite_domain' => '^' . $this->_rewrite_quote('www.'.$alias['domain']),
'rewrite_type' => ($alias['redirect_type'] == 'no')?'':$alias['redirect_type'],
'rewrite_target' => $alias['redirect_path'],
'rewrite_exclude' => $rewrite_exclude);
@@ -1150,7 +1150,7 @@
unset($tmp_redirect_path);
unset($tmp_redirect_path_parts);
}
- $rewrite_rules[] = array( 'rewrite_domain' => $alias['domain'],
+ $rewrite_rules[] = array( 'rewrite_domain' => '(^|\.)' . $this->_rewrite_quote($alias['domain']),
'rewrite_type' => ($alias['redirect_type'] == 'no')?'':$alias['redirect_type'],
'rewrite_target' => $alias['redirect_path'],
'rewrite_exclude' => $rewrite_exclude);
@@ -1172,7 +1172,9 @@
unset($tmp_redirect_path);
unset($tmp_redirect_path_parts);
}
- $rewrite_rules[] = array( 'rewrite_domain' => '^'.$alias['domain'],
+ if(substr($alias['domain'], 0, 2) === '*.') $domain_rule = '(^|\.)'.$this->_rewrite_quote(substr($alias['domain'], 2));
+ else $domain_rule = '^'.$this->_rewrite_quote($alias['domain']);
+ $rewrite_rules[] = array( 'rewrite_domain' => $domain_rule,
'rewrite_type' => ($alias['redirect_type'] == 'no')?'':$alias['redirect_type'],
'rewrite_target' => $alias['redirect_path'],
'rewrite_exclude' => $rewrite_exclude);
@@ -1904,8 +1906,8 @@
foreach($ini_settings as $ini_setting){
list($key, $value) = explode('=', $ini_setting);
if($value){
- $value = escapeshellcmd(trim($value));
- $key = escapeshellcmd(trim($key));
+ $value = trim($value);
+ $key = trim($key);
switch (strtolower($value)) {
case '0':
// PHP-FPM might complain about invalid boolean value if you use 0
@@ -2163,7 +2165,10 @@
return symlink($cfrom, $to);
}
-
+
+ private function _rewrite_quote($string) {
+ return str_replace(array('.', '*', '?', '+'), array('\\.', '\\*', '\\?', '\\+'), $string);
+ }
} // end class
--
Gitblit v1.9.1