Allow some signup field names to be customized

This commit is contained in:
Kijin Sung 2021-01-29 22:43:17 +09:00
parent 9228d3b8a9
commit 4335da3975
6 changed files with 27 additions and 12 deletions

View file

@ -425,7 +425,20 @@ class memberAdminController extends member
$signupItem->isIdentifier = ($key == $config->identifier || in_array($key, $config->identifiers ?: [])); $signupItem->isIdentifier = ($key == $config->identifier || in_array($key, $config->identifiers ?: []));
$signupItem->isDefaultForm = in_array($key, $items); $signupItem->isDefaultForm = in_array($key, $items);
$signupItem->name = $key; $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->mustRequired = in_array($key, $mustRequireds);
$signupItem->imageType = (strpos($key, 'image') !== false); $signupItem->imageType = (strpos($key, 'image') !== false);
$signupItem->required = ($all_args->{$key} == 'required') || $signupItem->mustRequired; $signupItem->required = ($all_args->{$key} == 'required') || $signupItem->mustRequired;
@ -465,12 +478,7 @@ class memberAdminController extends member
$signupForm[$key] = $signupItem; $signupForm[$key] = $signupItem;
} }
$args->signupForm = array_values($signupForm); $args->signupForm = array_values($signupForm);
$oModuleController->updateModuleConfig('member', $args);
// create Ruleset
$this->_createSignupRuleset($signupForm);
$this->_createLoginRuleset($args->identifier);
$output = $oModuleController->updateModuleConfig('member', $args);
// default setting end // default setting end
$this->setMessage('success_updated'); $this->setMessage('success_updated');

View file

@ -524,7 +524,7 @@ class memberAdminView extends member
$formTag = new stdClass(); $formTag = new stdClass();
$inputTag = ''; $inputTag = '';
$formTag->title = ($formInfo->isDefaultForm) ? $lang->{$formInfo->name} : $formInfo->title; $formTag->title = $formInfo->title;
if($isAdmin) if($isAdmin)
{ {
if($formInfo->mustRequired || $formInfo->required) $formTag->title = '<em style="color:red">*</em> '.$formTag->title; if($formInfo->mustRequired || $formInfo->required) $formTag->title = '<em style="color:red">*</em> '.$formTag->title;

View file

@ -45,7 +45,10 @@ class memberModel extends member
//for multi language //for multi language
foreach($config->signupForm AS $key=>$value) 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($config->signupForm[$key]->isPublic != 'N') $config->signupForm[$key]->isPublic = 'Y';
if($value->name == 'find_account_question') $config->signupForm[$key]->isPublic = 'N'; if($value->name == 'find_account_question') $config->signupForm[$key]->isPublic = 'N';
} }

View file

@ -123,7 +123,7 @@ class memberView extends member
if($formInfo->isDefaultForm) if($formInfo->isDefaultForm)
{ {
$item->title = lang($formInfo->name); $item->title = $formInfo->title;
$item->value = $memberInfo->{$formInfo->name}; $item->value = $memberInfo->{$formInfo->name};
if($formInfo->name == 'profile_image' && $memberInfo->profile_image) if($formInfo->name == 'profile_image' && $memberInfo->profile_image)

View file

@ -3,7 +3,7 @@
</div> </div>
<table class="x_table x_table-striped x_table-hover"> <table class="x_table x_table-striped x_table-hover">
<tr loop="$displayDatas => $item"> <tr loop="$displayDatas => $item">
<th scope="row" ><em style="color:red" cond="$item->required || $item->mustRequired">*</em> {$item->title}</th> <th scope="row" >{$item->title} <em style="color:red" cond="$item->required || $item->mustRequired">*</em></th>
<td class="text">{$item->value}</td> <td class="text">{$item->value}</td>
</tr> </tr>
<tr> <tr>

View file

@ -113,7 +113,11 @@
<th scope="row"> <th scope="row">
<div class="wrap"> <div class="wrap">
<button type="button" class="dragBtn">Move to</button> <button type="button" class="dragBtn">Move to</button>
<span class="_title" style="display:inline-block;white-space:pre-line;overflow:inherit;width:120px;text-overflow:ellipsis" title="{$item->title}">{$item->title}</span> <!--@if(in_array($item->name, ['birthday', 'signature', 'profile_image', 'image_name', 'image_mark']))-->
<input class="_title_edit lang_code" type="text" name="{$item->name}_title_edit" value="{$item->title}" placeholder="{lang($item->name)}" />
<!--@else-->
<span class="_title" style="display:inline-block;white-space:pre-line;overflow:inherit;width:120px;text-overflow:ellipsis" title="{$item->title}">{$item->title}</span>
<!--@endif-->
</div> </div>
</th> </th>
<td style="text-align:center"> <td style="text-align:center">