corrected usage of default redirect code from settings; fixes #546

Signed-off-by: Michael Kaufmann <michael.kaufmann@aixit.com>
This commit is contained in:
Michael Kaufmann
2018-04-25 12:27:40 +02:00
parent e58192edc2
commit b3d018c506
4 changed files with 17 additions and 7 deletions

View File

@@ -36,9 +36,11 @@ function getRedirectCodesArray() {
* return an array of all enabled redirect-codes * return an array of all enabled redirect-codes
* for the settings form * for the settings form
* *
* @param bool $add_desc optional, default true, add the code-description
*
* @return array array of enabled redirect-codes * @return array array of enabled redirect-codes
*/ */
function getRedirectCodes() { function getRedirectCodes($add_desc = true) {
global $lng; global $lng;
@@ -47,7 +49,10 @@ function getRedirectCodes() {
$codes = array(); $codes = array();
while ($rc = $result_stmt->fetch(PDO::FETCH_ASSOC)) { while ($rc = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
$codes[$rc['id']] = $rc['code']. ' ('.$lng['redirect_desc'][$rc['desc']].')'; $codes[$rc['id']] = $rc['code'];
if ($add_desc) {
$codes[$rc['id']] .= ' ('.$lng['redirect_desc'][$rc['desc']].')';
}
} }
return $codes; return $codes;
@@ -58,12 +63,17 @@ function getRedirectCodes() {
* domain-id * domain-id
* *
* @param integer $domainid id of the domain * @param integer $domainid id of the domain
* @param string $default
* *
* @return string redirect-code * @return string redirect-code
*/ */
function getDomainRedirectCode($domainid = 0, $default = '') { function getDomainRedirectCode($domainid = 0) {
// get system default
$default = '301';
if (Settings::Get('customredirect.enabled') == '1') {
$all_codes = getRedirectCodes(false);
$default = $all_codes[Settings::Get('customredirect.default')];
}
$code = $default; $code = $default;
if ($domainid > 0) { if ($domainid > 0) {

View File

@@ -964,7 +964,7 @@ class apache extends HttpConfigBase
$corrected_docroot = $domain['documentroot']; $corrected_docroot = $domain['documentroot'];
// Get domain's redirect code // Get domain's redirect code
$code = getDomainRedirectCode($domain['id'], '301'); $code = getDomainRedirectCode($domain['id']);
$modrew_red = ''; $modrew_red = '';
if ($code != '') { if ($code != '') {
$modrew_red = ' [R=' . $code . ';L,NE]'; $modrew_red = ' [R=' . $code . ';L,NE]';

View File

@@ -467,7 +467,7 @@ class lighttpd extends HttpConfigBase
$uri = $domain['documentroot']; $uri = $domain['documentroot'];
// Get domain's redirect code // Get domain's redirect code
$code = getDomainRedirectCode($domain['id'], '301'); $code = getDomainRedirectCode($domain['id']);
$vhost_content .= ' url.redirect-code = ' . $code. "\n"; $vhost_content .= ' url.redirect-code = ' . $code. "\n";
$vhost_content .= ' url.redirect = (' . "\n"; $vhost_content .= ' url.redirect = (' . "\n";

View File

@@ -486,7 +486,7 @@ class nginx extends HttpConfigBase
} }
// Get domain's redirect code // Get domain's redirect code
$code = getDomainRedirectCode($domain['id'], '301'); $code = getDomainRedirectCode($domain['id']);
$vhost_content .= "\t" . 'if ($request_uri !~ ^/.well-known/acme-challenge/\w+$) {' . "\n"; $vhost_content .= "\t" . 'if ($request_uri !~ ^/.well-known/acme-challenge/\w+$) {' . "\n";
$vhost_content .= "\t\t" . 'return ' . $code .' ' . $uri . '$request_uri;' . "\n"; $vhost_content .= "\t\t" . 'return ' . $code .' ' . $uri . '$request_uri;' . "\n";