The default URL is always defined

This commit is contained in:
Kijin Sung 2016-02-12 11:20:45 +09:00
parent bd11d8b152
commit a26b17d012
12 changed files with 21 additions and 38 deletions

View file

@ -531,6 +531,10 @@ class Context
$db_info->ftp_info->ftp_root_path = $config['ftp']['path'];
$db_info->ftp_info->sftp = $config['ftp']['sftp'] ? 'Y' : 'N';
$db_info->default_url = $config['url']['default'];
if (!$db_info->default_url)
{
$db_info->default_url = (RX_SSL ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . RX_BASEURL;
}
$db_info->http_port = $config['url']['http_port'];
$db_info->https_port = $config['url']['https_port'];
$db_info->use_ssl = $config['url']['ssl'];

View file

@ -133,23 +133,22 @@ class ModuleHandler extends Handler
continue;
}
$urlInfo = parse_url($url);
$host = $urlInfo['host'];
$defaultUrl = Context::getDefaultUrl();
if($defaultUrl)
if($host = parse_url($url, PHP_URL_HOST))
{
$defaultUrlInfo = parse_url($defaultUrl);
$defaultHost = $defaultUrlInfo['host'];
}
else
{
$defaultHost = $_SERVER['HTTP_HOST'];
}
if($host && ($host != $defaultHost && $host != $site_module_info->domain))
{
throw new Exception('msg_default_url_is_null');
$defaultHost = parse_url(Context::getDefaultUrl(), PHP_URL_HOST);
if($host !== $defaultHost)
{
$siteModuleHost = $site_module_info->domain;
if(strpos($siteModuleHost, '/') !== false)
{
$siteModuleHost = parse_url($siteModuleHost, PHP_URL_HOST);
}
if($host !== $siteModuleHost)
{
Context::set('success_return_url', null);
Context::set('error_return_url', null);
}
}
}
}
@ -240,14 +239,7 @@ class ModuleHandler extends Handler
}
else
{
if(!Context::getDefaultUrl())
{
return Context::getLang('msg_default_url_is_not_defined');
}
else
{
$redirect_url = getNotEncodedSiteUrl($db_info->default_url, 'mid', Context::get('mid'), 'document_srl', Context::get('document_srl'), 'module_srl', Context::get('module_srl'), 'entry', Context::get('entry'));
}
$redirect_url = getNotEncodedSiteUrl(Context::getDefaultUrl(), 'mid', Context::get('mid'), 'document_srl', Context::get('document_srl'), 'module_srl', Context::get('module_srl'), 'entry', Context::get('entry'));
}
header("Location: $redirect_url");
return FALSE;