From a26b17d012572797aabb948c937599383aef3663 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Fri, 12 Feb 2016 11:20:45 +0900 Subject: [PATCH] The default URL is always defined --- classes/context/Context.class.php | 4 +++ classes/module/ModuleHandler.class.php | 40 ++++++++++-------------- common/framework/compat/configparser.php | 2 +- common/lang/de.php | 2 -- common/lang/en.php | 2 -- common/lang/fr.php | 1 - common/lang/ja.php | 2 -- common/lang/ko.php | 2 -- common/lang/ru.php | 1 - common/lang/tr.php | 1 - common/lang/zh-CN.php | 1 - common/lang/zh-TW.php | 1 - 12 files changed, 21 insertions(+), 38 deletions(-) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index c9522e5d0..3434216ec 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -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']; diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index b996f5de0..e0a4ce38c 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -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; diff --git a/common/framework/compat/configparser.php b/common/framework/compat/configparser.php index 7f15cd809..72063ee41 100644 --- a/common/framework/compat/configparser.php +++ b/common/framework/compat/configparser.php @@ -183,7 +183,7 @@ class ConfigParser { $default_url = \Context::decodeIdna($default_url); } - $config['url']['default'] = $default_url ?: \RX_BASEURL; + $config['url']['default'] = $default_url ?: (RX_SSL ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . \RX_BASEURL; $config['url']['http_port'] = $db_info->http_port ?: null; $config['url']['https_port'] = $db_info->https_port ?: null; $config['url']['ssl'] = $db_info->use_ssl ?: 'none'; diff --git a/common/lang/de.php b/common/lang/de.php index b35c0d913..ad9200ee7 100644 --- a/common/lang/de.php +++ b/common/lang/de.php @@ -215,7 +215,6 @@ $lang->msg_invalid_format = 'ein falsches Format'; $lang->msg_not_permitted_act = 'Sie haben keine Berechtigung, um den aufgeforderten Vorgang auszuführen.'; $lang->msg_module_is_not_exists = 'Das aufgeforderte Modul ist nicht zu finden. Bitte melden Sie sich dem Administrator des Moduls!'; $lang->msg_module_is_not_standalone = 'Das aufgeforderte Modul kann nicht selbstständig ausgeführt werden.'; -$lang->msg_default_url_is_not_defined = 'Der Vorgang ist unterbrochen, denn Das Default_URL ist nicht eingegen.'; $lang->msg_empty_search_target = 'Nicht finden können die das Suchziel.'; $lang->msg_empty_search_keyword = 'Nicht finden können das Stichwort.'; $lang->comment_to_be_approved = 'Ihr Kommentar muss von admin vor der Veröffentlichung genehmigt werden.'; @@ -298,4 +297,3 @@ $lang->dashboard = 'Armaturenbrett'; $lang->user = 'Mitglied'; $lang->yes = 'ja'; $lang->not = 'nicht'; -$lang->msg_default_url_is_null = 'Standard URL ist null.'; diff --git a/common/lang/en.php b/common/lang/en.php index 4876582de..a6f127672 100644 --- a/common/lang/en.php +++ b/common/lang/en.php @@ -223,7 +223,6 @@ $lang->msg_invalid_format = 'Invalid Format'; $lang->msg_not_permitted_act = 'You do not have permission to execute requested action.'; $lang->msg_module_is_not_exists = 'Cannot find the page you requested. Ask your Site Admin to check the page.'; $lang->msg_module_is_not_standalone = 'Requested page cannot be executed independently.'; -$lang->msg_default_url_is_not_defined = 'Default URL is not defined.'; $lang->msg_empty_search_target = 'Cannot find the Search target.'; $lang->msg_empty_search_keyword = 'Cannot find the Keyword.'; $lang->comment_to_be_approved = 'Your comment must be approved by admin before being published.'; @@ -320,7 +319,6 @@ $lang->dashboard = 'Dashboard'; $lang->user = 'Member'; $lang->yes = 'Yes'; $lang->not = 'No'; -$lang->msg_default_url_is_null = 'Default url is null.'; $lang->license_agreement = 'License Agreement'; $lang->license = 'GPL v2'; $lang->cmd_license_agree = 'I understand the license, and I accept it.'; diff --git a/common/lang/fr.php b/common/lang/fr.php index 0636976b0..b39285ade 100644 --- a/common/lang/fr.php +++ b/common/lang/fr.php @@ -172,7 +172,6 @@ $lang->msg_not_founded = 'L\'objet n\'est pas trouvé.'; $lang->msg_no_result = 'Nul Résultat'; $lang->msg_not_permitted_act = 'Vous n\'êtes pas autorisés à exécuter l\'action que vous avez demandé.'; $lang->msg_module_is_not_standalone = 'Le module demandé ne peut pas être exécuté indépendamment.'; -$lang->msg_default_url_is_not_defined = 'URL par défaut n\'est pas défini.'; $lang->success_registed = 'Enregistré avec succès'; $lang->success_declared = 'Accusé avec succès'; $lang->success_updated = 'Mise à jour avec succès'; diff --git a/common/lang/ja.php b/common/lang/ja.php index b7e9380ee..55a97b1a6 100644 --- a/common/lang/ja.php +++ b/common/lang/ja.php @@ -223,7 +223,6 @@ $lang->msg_invalid_format = '正しくないフォーマットです。'; $lang->msg_not_permitted_act = '現在の操作を実行する権限がありません。'; $lang->msg_module_is_not_exists = 'モジュールが見つかりません。 サイトマネージャへモジュールの点検をお問い合わせください。'; $lang->msg_module_is_not_standalone = 'このモジュールはスタンドアローンでは作動しません。'; -$lang->msg_default_url_is_not_defined = 'デフォルトURLが定められてないため、動作を中止します。'; $lang->msg_empty_search_target = '検索対象がありません。'; $lang->msg_empty_search_keyword = 'キーワードがありません。'; $lang->comment_to_be_approved = '管理者の確認が必要なコメントです。'; @@ -314,4 +313,3 @@ $lang->dashboard = 'ダッシュボード'; $lang->user = '会員'; $lang->yes = 'はい'; $lang->not = 'いいえ'; -$lang->msg_default_url_is_null = '基本URLが設定されていません。'; diff --git a/common/lang/ko.php b/common/lang/ko.php index 56f13c647..612b63536 100644 --- a/common/lang/ko.php +++ b/common/lang/ko.php @@ -223,7 +223,6 @@ $lang->msg_invalid_format = '잘못된 형식입니다.'; $lang->msg_not_permitted_act = '요청한 기능을 실행할 수 있는 권한이 없습니다.'; $lang->msg_module_is_not_exists = '요청한 페이지를 찾을 수 없습니다. 사이트 관리자에게 문의해 주세요.'; $lang->msg_module_is_not_standalone = '요청한 페이지는 독립적으로 동작할 수 없습니다.'; -$lang->msg_default_url_is_not_defined = '기본 URL이 정해지지 않아서 동작을 중지합니다'; $lang->msg_empty_search_target = '검색대상이 없습니다.'; $lang->msg_empty_search_keyword = '검색어가 없습니다.'; $lang->comment_to_be_approved = '관리자의 확인이 필요한 댓글입니다.'; @@ -320,7 +319,6 @@ $lang->dashboard = '대시보드'; $lang->user = '회원'; $lang->yes = '예'; $lang->not = '아니오'; -$lang->msg_default_url_is_null = '기본 URL 설정이 안 되어 있습니다.'; $lang->license_agreement = '사용권 동의'; $lang->license = 'GPL v2'; $lang->cmd_license_agree = '사용권에 대해 이해했으며, 이에 동의합니다.'; diff --git a/common/lang/ru.php b/common/lang/ru.php index 718b12cf2..37fa62c14 100644 --- a/common/lang/ru.php +++ b/common/lang/ru.php @@ -187,7 +187,6 @@ $lang->msg_fail_to_request_open = 'Ошибка в запрашиваемом с $lang->msg_invalid_format = 'Неверный формат'; $lang->msg_not_permitted_act = 'У Вас нет прав для исполнения запрошенного действия'; $lang->msg_module_is_not_standalone = 'Запрошенный модуль не может быть исполнен независимо'; -$lang->msg_default_url_is_not_defined = 'Default URL is not define'; $lang->success_registed = 'Зарегистрировано успешно'; $lang->success_declared = 'Жалоба отправлена'; $lang->success_updated = 'Обновление успешно'; diff --git a/common/lang/tr.php b/common/lang/tr.php index 288c6ce77..ca1223da7 100644 --- a/common/lang/tr.php +++ b/common/lang/tr.php @@ -211,7 +211,6 @@ $lang->msg_fail_to_request_open = 'İsteğiniz gercekleşemedi.'; $lang->msg_invalid_format = 'Geçersiz Format'; $lang->msg_not_permitted_act = 'İstenilen eylemi gercekleştirmeye yetkiniz yok.'; $lang->msg_module_is_not_standalone = 'İstenilen modul bağımsız calıştırılamaz.'; -$lang->msg_default_url_is_not_defined = 'Varsayılan URL tanımlı değil.'; $lang->msg_empty_search_target = 'Arama amacı bulunamadı'; $lang->msg_empty_search_keyword = 'Anahtar kelime yok'; $lang->comment_to_be_approved = 'Yorumunuz, yayınlanmadan önce adminden onay almanız gerekir'; diff --git a/common/lang/zh-CN.php b/common/lang/zh-CN.php index f0f9a1ea5..7830681e2 100644 --- a/common/lang/zh-CN.php +++ b/common/lang/zh-CN.php @@ -213,7 +213,6 @@ $lang->msg_invalid_format = '错误的格式!'; $lang->msg_not_permitted_act = '没有权限执行 action命令'; $lang->msg_module_is_not_exists = '您所请求的模块不存在,请联系您的网站管理员。'; $lang->msg_module_is_not_standalone = '您请求的模块不能单独执行'; -$lang->msg_default_url_is_not_defined = '请设置XE通行证!'; $lang->msg_empty_search_target = '搜索不到目标'; $lang->msg_empty_search_keyword = '搜索不到关键字'; $lang->comment_to_be_approved = '您的回复在通过管理员审核之后才会被显示出来。'; diff --git a/common/lang/zh-TW.php b/common/lang/zh-TW.php index fad9c6428..cc14d4c13 100644 --- a/common/lang/zh-TW.php +++ b/common/lang/zh-TW.php @@ -213,7 +213,6 @@ $lang->msg_invalid_format = '格式錯誤'; $lang->msg_not_permitted_act = '沒有權限執行'; $lang->msg_module_is_not_exists = '找不到所登錄的模組。 請詢問網站管理員檢查模組。'; $lang->msg_module_is_not_standalone = '您請求的模組不能單獨執行'; -$lang->msg_default_url_is_not_defined = '尚未設定預設網址'; $lang->msg_empty_search_target = '搜尋不到目標'; $lang->msg_empty_search_keyword = '搜尋不到關鍵字'; $lang->success_registed = '成功送出!';