Allow setting any URL as redirect URL after signup

This commit is contained in:
Kijin Sung 2023-08-03 21:25:46 +09:00
parent 6e415fafc0
commit eccb54ca42
5 changed files with 10 additions and 35 deletions

View file

@ -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 = '회원의 이름 앞에 마크를 달 수 있습니다.';

View file

@ -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()))

View file

@ -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);

View file

@ -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';

View file

@ -83,8 +83,7 @@
<div class="x_control-group">
<label class="x_control-label" for="redirect_url">{$lang->redirect_url}</label>
<div class="x_controls">
<input class="module_search" type="text" name="redirect_url" value="{$config->redirect_url}" />
<button type="button" class="__redirect_url_btn x_btn" cond="$config->redirect_url">{$lang->delete}</button>
<input type="text" class="x_full-width" name="redirect_url" value="{$config->redirect_url}" />
<p class="x_help-block">{$lang->about_redirect_url}</p>
</div>
</div>