From eccb54ca42de7e737a4c464405b690ffcdd6b7da Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Thu, 3 Aug 2023 21:25:46 +0900 Subject: [PATCH] Allow setting any URL as redirect URL after signup --- modules/member/lang/ko.php | 2 +- modules/member/member.admin.controller.php | 15 ++------------- modules/member/member.admin.view.php | 19 ++----------------- modules/member/member.model.php | 6 ++++-- modules/member/tpl/signup_config.html | 3 +-- 5 files changed, 10 insertions(+), 35 deletions(-) diff --git a/modules/member/lang/ko.php b/modules/member/lang/ko.php index 4a3f6203b..462012e7a 100644 --- a/modules/member/lang/ko.php +++ b/modules/member/lang/ko.php @@ -261,7 +261,7 @@ $lang->about_special_phone_number = '문자를 실제 발송하지 않고 미리 $lang->about_max_auth_sms_count = '동일한 IP에서 동일한 전화번호로 인증 시도하는 횟수를 제한합니다.'; $lang->about_after_login_url = '로그인 후 이동할 URL을 정할 수 있습니다. 입력하지 않으면 로그인 전의 페이지로 돌아갑니다.'; $lang->about_after_logout_url = '로그아웃 후 이동할 URL을 정할 수 있습니다. 입력하지 않으면 로그아웃 전의 페이지로 돌아갑니다.'; -$lang->about_redirect_url = '회원 가입 후 이동할 페이지를 선택해 주세요. 선택된 페이지가 없는 경우 이전 페이지로 돌아갑니다.'; +$lang->about_redirect_url = '회원 가입 후 이동할 페이지를 선택해 주세요. 설정하지 않으면 이전 페이지로 돌아갑니다.'; $lang->about_agreement = '회원 가입 약관이 없을 경우 표시되지 않습니다.'; $lang->about_image_name = '회원의 이름을 글자 대신 이미지로 사용할 수 있게 합니다.'; $lang->about_image_mark = '회원의 이름 앞에 마크를 달 수 있습니다.'; diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index c13a1962a..9a9b39cff 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -459,19 +459,8 @@ class MemberAdminController extends Member } $args->max_auth_sms_count = max(0, intval($args->max_auth_sms_count)); $args->max_auth_sms_count_time = max(0, intval($args->max_auth_sms_count_time)); - if($args->redirect_url) - { - $oModuleModel = getModel('module'); - $redirectModuleInfo = $oModuleModel->getModuleInfoByModuleSrl($args->redirect_url, array('mid')); - - if(!$redirectModuleInfo) - { - return new BaseObject('-1', 'msg_exist_selected_module'); - } - - $args->redirect_mid = $redirectModuleInfo->mid; - $args->redirect_url = getNotEncodedFullUrl('','mid',$redirectModuleInfo->mid); - } + $args->redirect_mid = ''; + $args->redirect_url = utf8_trim($args->redirect_url); $args->phone_number_default_country = preg_replace('/[^A-Z]/', '', $args->phone_number_default_country); if (!array_key_exists($args->phone_number_default_country, Rhymix\Framework\i18n::listCountries())) diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index bc88b493d..d79bdc3d5 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -189,22 +189,6 @@ class MemberAdminView extends Member { $config = $this->memberConfig; - if($config->redirect_url) - { - if(!$config->redirect_mid) - { - $mid = str_ireplace(Context::getDefaultUrl(), '', $config->redirect_url); - } - else - { - $mid = $config->redirect_mid; - } - - $moduleInfo = ModuleModel::getModuleInfoByMid($mid); - $config->redirect_url = $moduleInfo->module_srl; - Context::set('config', $config); - } - $oMemberModel = getModel('member'); // retrieve skins of editor $oEditorModel = getModel('editor'); @@ -223,6 +207,7 @@ class MemberAdminView extends Member $option->editor_toolbar_hide = 'Y'; Context::set('editor', $oEditorModel->getEditor(0, $option)); + $userIdInfo = null; $signupForm = $config->signupForm; foreach($signupForm as $val) { @@ -234,7 +219,7 @@ class MemberAdminView extends Member } $oSecurity = new Security(); - if($userIdInfo->isUse) + if($userIdInfo && $userIdInfo->isUse) { // get denied ID list Context::set('useUserID', 1); diff --git a/modules/member/member.model.php b/modules/member/member.model.php index ddcdd7152..9162d4404 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -75,8 +75,10 @@ class MemberModel extends Member $config->emailhost_check = $config->emailhost_check ?? 'allowed'; $config->special_phone_number = $config->special_phone_number ?? null; $config->special_phone_code = $config->special_phone_code ?? null; - $config->redirect_mid = $config->redirect_mid ?? null; - $config->redirect_url = $config->redirect_mid ? getNotEncodedFullUrl('', 'mid', $config->redirect_mid) : null; + if (!empty($config->redirect_mid)) + { + $config->redirect_url = getNotEncodedFullUrl('', 'mid', $config->redirect_mid); + } $config->phone_number_default_country = $config->phone_number_default_country ?? (Context::get('lang_type') === 'ko' ? 'KOR' : null); $config->phone_number_hide_country = $config->phone_number_hide_country ?? 'N'; $config->phone_number_allow_duplicate = $config->phone_number_allow_duplicate ?? 'N'; diff --git a/modules/member/tpl/signup_config.html b/modules/member/tpl/signup_config.html index 21b7c3122..3f47d1bb4 100644 --- a/modules/member/tpl/signup_config.html +++ b/modules/member/tpl/signup_config.html @@ -83,8 +83,7 @@
- - +

{$lang->about_redirect_url}