Recreate member mid if config is normal but module instance is missing

This commit is contained in:
Kijin Sung 2023-06-21 00:33:22 +09:00
parent b74a8db75b
commit 2af94e496e

View file

@ -186,6 +186,11 @@ class Member extends ModuleObject
{ {
return true; return true;
} }
$mid_info = ModuleModel::getModuleInfoByMid($config->mid);
if (!$mid_info || $mid_info->module !== $this->module)
{
return true;
}
// Check members with phone country in old format // Check members with phone country in old format
if ($config->phone_number_default_country && !preg_match('/^[A-Z]{3}$/', $config->phone_number_default_country)) if ($config->phone_number_default_country && !preg_match('/^[A-Z]{3}$/', $config->phone_number_default_country))
@ -432,7 +437,20 @@ class Member extends ModuleObject
$changed = false; $changed = false;
// Check mid // Check mid
$create_mid = false;
if (empty($config->mid)) 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)
{ {
$config->mid = 'member'; $config->mid = 'member';
$output = $this->createMid($config->mid, $config->skin ?: 'default', $config->mskin ?: 'default'); $output = $this->createMid($config->mid, $config->skin ?: 'default', $config->mskin ?: 'default');