Remove duplicate agreement in member_config #1788

- $config->agreements와 중복되는 $config->agreement는 삭제
- 회원가입폼(dispMemberSignUpForm)에 한하여, 첫 번째 약관의 내용을
  $member_config->agreement에 넣어주어 오래된 스킨과의 호환성을 유지함
This commit is contained in:
Kijin Sung 2021-09-11 00:23:57 +09:00
parent 602d7aec79
commit 891b57c770
3 changed files with 8 additions and 14 deletions

View file

@ -313,6 +313,7 @@ class memberAdminController extends member
{
$config = new stdClass;
$config->agreements = array();
$config->agreement = null;
$args = Context::getRequestVars();
for ($i = 1; $i < 20; $i++)
@ -333,9 +334,6 @@ class memberAdminController extends member
}
}
// for compatibility with older versions
$config->agreement = $config->agreements[1]->content;
$oModuleController = getController('module');
$output = $oModuleController->updateModuleConfig('member', $config);
if (!$output->toBool())
@ -834,7 +832,6 @@ class memberAdminController extends member
$oMemberModel = getModel('member');
$config = $oMemberModel->getMemberConfig();
unset($config->agreement);
if($isInsert)
{
@ -870,7 +867,6 @@ class memberAdminController extends member
$oMemberModel = getModel('member');
$config = $oMemberModel->getMemberConfig();
unset($config->agreement);
foreach($config->signupForm as $key=>$val)
{
@ -1399,7 +1395,6 @@ class memberAdminController extends member
// group image mark option
$config = $oMemberModel->getMemberConfig();
$config->group_image_mark = $vars->group_image_mark;
unset($config->agreement);
$output = $oModuleController->updateModuleConfig('member', $config);
$defaultGroup = $oMemberModel->getDefaultGroup(0);

View file

@ -60,19 +60,15 @@ class memberModel extends member
$config->features['nickname_log'] = $config->features['nickname_log'] ?? true;
// Set agreements config
if(isset($config->agreements) && is_array($config->agreements))
if(!isset($config->agreements) || !is_array($config->agreements))
{
$config->agreement = $config->agreements[1]->content;
}
else
{
$config->agreement = self::_getAgreement();
$config->agreements = array();
$config->agreements[1] = new stdClass;
$config->agreements[1]->title = lang('agreement');
$config->agreements[1]->content = $config->agreement;
$config->agreements[1]->type = $config->agreement ? 'required' : 'disabled';
$config->agreements[1]->content = self::_getAgreement() ?: ($config->agreement ?? '');
$config->agreements[1]->type = !empty($config->agreements[1]->content) ? 'required' : 'disabled';
}
unset($config->agreement);
// Set signup config
$config->limit_day = $config->limit_day ?? 0;

View file

@ -246,6 +246,9 @@ class memberView extends member
$this->addExtraFormValidatorMessage();
// Set a copy of the agreement for compatibility with old skins
$member_config->agreement = $member_config->agreements[1]->content ?? '';
// Set a template file
$this->setTemplateFile('signup_form');
}