Fix #1782 incorrect handling of old member agreement files

- 새 형식으로 저장된 약관이 없는 경우에만 기존 파일 불러오기
- 새 형식으로 약관을 저장하면 기존 파일은 모두 삭제
This commit is contained in:
Kijin Sung 2021-09-07 01:43:20 +09:00
parent ca5eb517cf
commit 74bb65a240
2 changed files with 22 additions and 2 deletions

View file

@ -338,6 +338,20 @@ class memberAdminController extends member
$oModuleController = getController('module');
$output = $oModuleController->updateModuleConfig('member', $config);
if (!$output->toBool())
{
return $output;
}
// Delete old agreement files.
foreach (Context::loadLangSupported() as $key => $val)
{
$agreement_file = RX_BASEDIR . 'files/member_extra_info/agreement_' . $key . '.txt';
if (Rhymix\Framework\Storage::exists($agreement_file))
{
Rhymix\Framework\Storage::delete($agreement_file);
}
}
// default setting end
$this->setMessage('success_updated');

View file

@ -60,9 +60,13 @@ class memberModel extends member
$config->features['nickname_log'] = $config->features['nickname_log'] ?? true;
// Set agreements config
$config->agreement = self::_getAgreement();
if(!isset($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');
@ -143,6 +147,8 @@ class memberModel extends member
}
/**
* Get member agreement from old version
*
* @deprecated
*/
protected static function _getAgreement()