From 4335da39755d4ff52ee9232908801201141c0803 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Fri, 29 Jan 2021 22:43:17 +0900 Subject: [PATCH] Allow some signup field names to be customized --- modules/member/member.admin.controller.php | 22 +++++++++++++++------- modules/member/member.admin.view.php | 2 +- modules/member/member.model.php | 5 ++++- modules/member/member.view.php | 2 +- modules/member/tpl/member_info.html | 2 +- modules/member/tpl/signup_config.html | 6 +++++- 6 files changed, 27 insertions(+), 12 deletions(-) diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index d43530952..a2f94410a 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -425,7 +425,20 @@ class memberAdminController extends member $signupItem->isIdentifier = ($key == $config->identifier || in_array($key, $config->identifiers ?: [])); $signupItem->isDefaultForm = in_array($key, $items); $signupItem->name = $key; - $signupItem->title = (!in_array($key, $items)) ? $key : $lang->{$key}; + if (isset($all_args->{$key . '_title_edit'}) && $all_args->{$key . '_title_edit'} && $all_args->{$key . '_title_edit'} !== $lang->{$key}) + { + $signupItem->isCustomTitle = true; + $signupItem->title = $all_args->{$key . '_title_edit'}; + if (!preg_match('/^\\$user_lang->[a-z0-9_]+$/i', $signupItem->title)) + { + $signupItem->title = escape($signupItem->title); + } + } + else + { + $signupItem->isCustomTitle = false; + $signupItem->title = (!in_array($key, $items)) ? $key : $lang->{$key}; + } $signupItem->mustRequired = in_array($key, $mustRequireds); $signupItem->imageType = (strpos($key, 'image') !== false); $signupItem->required = ($all_args->{$key} == 'required') || $signupItem->mustRequired; @@ -465,12 +478,7 @@ class memberAdminController extends member $signupForm[$key] = $signupItem; } $args->signupForm = array_values($signupForm); - - // create Ruleset - $this->_createSignupRuleset($signupForm); - $this->_createLoginRuleset($args->identifier); - - $output = $oModuleController->updateModuleConfig('member', $args); + $oModuleController->updateModuleConfig('member', $args); // default setting end $this->setMessage('success_updated'); diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index 437bfc673..7d4381439 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -524,7 +524,7 @@ class memberAdminView extends member $formTag = new stdClass(); $inputTag = ''; - $formTag->title = ($formInfo->isDefaultForm) ? $lang->{$formInfo->name} : $formInfo->title; + $formTag->title = $formInfo->title; if($isAdmin) { if($formInfo->mustRequired || $formInfo->required) $formTag->title = '* '.$formTag->title; diff --git a/modules/member/member.model.php b/modules/member/member.model.php index 7bb7cb2db..373033989 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -45,7 +45,10 @@ class memberModel extends member //for multi language foreach($config->signupForm AS $key=>$value) { - $config->signupForm[$key]->title = ($value->isDefaultForm ?? false) ? lang($value->name) : $value->title; + if(!isset($value->isCustomTitle) || !$value->isCustomTitle) + { + $config->signupForm[$key]->title = ($value->isDefaultForm ?? false) ? lang($value->name) : $value->title; + } if($config->signupForm[$key]->isPublic != 'N') $config->signupForm[$key]->isPublic = 'Y'; if($value->name == 'find_account_question') $config->signupForm[$key]->isPublic = 'N'; } diff --git a/modules/member/member.view.php b/modules/member/member.view.php index 8b63030f5..13b16aabd 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -123,7 +123,7 @@ class memberView extends member if($formInfo->isDefaultForm) { - $item->title = lang($formInfo->name); + $item->title = $formInfo->title; $item->value = $memberInfo->{$formInfo->name}; if($formInfo->name == 'profile_image' && $memberInfo->profile_image) diff --git a/modules/member/tpl/member_info.html b/modules/member/tpl/member_info.html index 166c7a39c..431736695 100644 --- a/modules/member/tpl/member_info.html +++ b/modules/member/tpl/member_info.html @@ -3,7 +3,7 @@ - + diff --git a/modules/member/tpl/signup_config.html b/modules/member/tpl/signup_config.html index ed5e19f3c..0f170b81d 100644 --- a/modules/member/tpl/signup_config.html +++ b/modules/member/tpl/signup_config.html @@ -113,7 +113,11 @@
* {$item->title}{$item->title} * {$item->value}
- {$item->title} + + + + {$item->title} +