mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 02:31:40 +09:00
Fix #2126 show more descriptive message if member mid is already used
This commit is contained in:
parent
fbfbaa48a5
commit
f0f414db1c
4 changed files with 39 additions and 28 deletions
|
|
@ -52,6 +52,7 @@ $lang->group_image_mark_max_width = 'Max Width';
|
|||
$lang->group_image_mark_max_height = 'Max Height';
|
||||
$lang->signature_max_height = 'Max Signature Height';
|
||||
$lang->cmd_force_member_mid = 'Force';
|
||||
$lang->msg_exists_member_mid = 'The URL \'%s\' required by the member module is already used by another module. Please change the URL of the other module and try again.';
|
||||
$lang->enable_join = 'Accept New Members';
|
||||
$lang->enable_join_only_with_url_key = 'Only with valid URL key';
|
||||
$lang->enable_join_url_key = 'URL Key';
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ $lang->group_image_mark_max_width = '가로 제한 길이';
|
|||
$lang->group_image_mark_max_height = '세로 제한 길이';
|
||||
$lang->signature_max_height = '서명 높이 제한';
|
||||
$lang->cmd_force_member_mid = '강제 적용';
|
||||
$lang->msg_exists_member_mid = '회원 모듈이 요구하는 \'%s\' URL은 다른 모듈이 이미 사용하고 있습니다. 회원 모듈과 충돌하는 URL을 가진 게시판이나 페이지의 주소를 변경해 주십시오.';
|
||||
$lang->enable_join = '회원 가입 허가';
|
||||
$lang->enable_join_only_with_url_key = 'URL 키가 일치하는 경우에만 허가';
|
||||
$lang->enable_join_url_key = 'URL 키';
|
||||
|
|
|
|||
|
|
@ -257,13 +257,9 @@ class MemberAdminController extends Member
|
|||
return new BaseObject(-1, 'msg_limit_mid');
|
||||
}
|
||||
|
||||
if ($config->mid)
|
||||
if (!empty($config->mid) && $this->checkMid($config->mid) == 1)
|
||||
{
|
||||
$module_info = ModuleModel::getModuleInfoByMid($config->mid);
|
||||
if (!$module_info || $module_info->module !== $this->module)
|
||||
{
|
||||
$module_info = null;
|
||||
}
|
||||
$module_info = \ModuleModel::getModuleInfoByMid($config->mid);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -182,12 +182,7 @@ class Member extends ModuleObject
|
|||
|
||||
// Check mid
|
||||
$config = ModuleModel::getModuleConfig('member');
|
||||
if (empty($config->mid))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
$mid_info = ModuleModel::getModuleInfoByMid($config->mid);
|
||||
if (!$mid_info || $mid_info->module !== $this->module)
|
||||
if (empty($config->mid) || $this->checkMid($config->mid) !== 1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
@ -437,20 +432,7 @@ class Member extends ModuleObject
|
|||
$changed = false;
|
||||
|
||||
// Check mid
|
||||
$create_mid = false;
|
||||
if (empty($config->mid))
|
||||
{
|
||||
$create_mid = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$mid_info = ModuleModel::getModuleInfoByMid($config->mid);
|
||||
if (!$mid_info || $mid_info->module !== $this->module)
|
||||
{
|
||||
$create_mid = true;
|
||||
}
|
||||
}
|
||||
if ($create_mid)
|
||||
if (empty($config->mid) || $this->checkMid($config->mid) !== 1)
|
||||
{
|
||||
$config->mid = 'member';
|
||||
$output = $this->createMid($config->mid, $config->skin ?: 'default', $config->mskin ?: 'default');
|
||||
|
|
@ -616,6 +598,33 @@ class Member extends ModuleObject
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check mid
|
||||
*
|
||||
* This method returns 0 if the mid doesn't exist,
|
||||
* 1 if the mid exists and belongs to this module,
|
||||
* and -1 if the mid exists but belongs to a different module.
|
||||
*
|
||||
* @param string $mid
|
||||
* @return int
|
||||
*/
|
||||
public function checkMid($mid = 'member')
|
||||
{
|
||||
$module_info = \ModuleModel::getModuleInfoByMid($mid);
|
||||
if (!$module_info)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
elseif ($module_info->module === $this->module)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create mid
|
||||
*
|
||||
|
|
@ -626,11 +635,15 @@ class Member extends ModuleObject
|
|||
*/
|
||||
public function createMid($mid = 'member', $skin = 'default', $mskin = 'default')
|
||||
{
|
||||
$module_info = \ModuleModel::getModuleInfoByMid($mid);
|
||||
if ($module_info && $module_info->module === $this->module)
|
||||
$check = $this->checkMid($mid);
|
||||
if ($check == 1)
|
||||
{
|
||||
return new BaseObject();
|
||||
}
|
||||
if ($check == -1)
|
||||
{
|
||||
return new BaseObject(-1, sprintf(lang('msg_exists_member_mid'), $mid));
|
||||
}
|
||||
|
||||
return ModuleController::getInstance()->insertModule((object)array(
|
||||
'mid' => $mid,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue