Add status column to member table #1806 #1896

This commit is contained in:
Kijin Sung 2023-06-20 23:47:40 +09:00
parent c3fdee7350
commit 26a0ec66ff
16 changed files with 196 additions and 119 deletions

View file

@ -8,10 +8,10 @@
class Member extends ModuleObject
{
/**
* Extra vars for admin purposes
* Constants
*/
public $admin_extra_vars = ['refused_reason', 'limited_reason'];
public $nouse_extra_vars = ['error_return_url', 'success_return_url', '_rx_ajax_compat', '_rx_csrf_token', 'ruleset', 'captchaType', 'use_editor', 'use_html'];
public const ADMIN_EXTRA_VARS = ['refused_reason', 'limited_reason'];
public const NOUSE_EXTRA_VARS = ['error_return_url', 'success_return_url', '_rx_ajax_compat', '_rx_csrf_token', 'ruleset', 'captchaType', 'use_editor', 'use_html'];
/**
* constructor
@ -147,6 +147,10 @@ class Member extends ModuleObject
if(!$oDB->isColumnExists("member", "last_login_ipaddress")) return true;
if(!$oDB->isIndexExists("member","idx_last_login_ipaddress")) return true;
// Add column for status
if(!$oDB->isColumnExists("member", "status")) return true;
if(!$oDB->isIndexExists("member", "idx_status")) return true;
// Add column for list order
if(!$oDB->isColumnExists("member", "list_order")) return true;
if(!$oDB->isIndexExists("member","idx_list_order")) return true;
@ -168,6 +172,13 @@ class Member extends ModuleObject
if(!$oDB->isColumnExists('member_devices', 'device_token_type')) return true;
if(!$oDB->isColumnExists('member_devices', 'last_active_date')) return true;
// Update status column
$output = executeQuery('member.getDeniedAndStatus');
if ($output->data->count)
{
return true;
}
// Check mid
$config = ModuleModel::getModuleConfig('member');
if (empty($config->mid))
@ -317,6 +328,16 @@ class Member extends ModuleObject
$oDB->addIndex("member","idx_last_login_ipaddress", array("last_login_ipaddress"));
}
// Add column for status
if(!$oDB->isColumnExists("member", "status"))
{
$oDB->addColumn("member", "status", "varchar", 20, 'APPROVED', true, 'denied');
}
if(!$oDB->isIndexExists("member", "idx_status"))
{
$oDB->addIndex("member", "idx_status", array("status"));
}
// Add column for list order
if(!$oDB->isColumnExists("member", "list_order"))
{
@ -375,6 +396,37 @@ class Member extends ModuleObject
$oDB->query("UPDATE member_devices SET last_active_date = regdate WHERE last_active_date = ''");
}
// Update status column
$output = executeQuery('member.getDeniedAndStatus');
if ($output->data->count)
{
$oDB->begin();
$result = $oDB->query("UPDATE `member` SET `status` = 'DENIED' WHERE `denied` = 'Y'");
if ($result)
{
$result = $oDB->query("UPDATE `member` AS `m` " .
"JOIN `member_auth_mail` AS `a` ON `m`.`member_srl` = `a`.`member_srl` " .
"SET `m`.`status` = 'UNAUTHED' WHERE `m`.`status` = 'DENIED' " .
"AND `a`.`is_register` = 'Y'");
if ($result)
{
$oDB->commit();
}
else
{
var_dump($result);
var_dump(Rhymix\Framework\Debug::getErrors());
$oDB->rollback();
exit;
}
}
else
{
$oDB->rollback();
}
}
// Get module config
$config = ModuleModel::getModuleConfig('member') ?: new stdClass;
$changed = false;