diff options
-rw-r--r-- | boot.php | 1 | ||||
-rw-r--r-- | include/account.php | 5 | ||||
-rw-r--r-- | mod/admin.php | 12 | ||||
-rw-r--r-- | mod/register.php | 2 |
4 files changed, 12 insertions, 8 deletions
@@ -363,6 +363,7 @@ define ( 'ACCOUNT_UNVERIFIED', 0x0001 ); define ( 'ACCOUNT_BLOCKED', 0x0002 ); define ( 'ACCOUNT_EXPIRED', 0x0004 ); define ( 'ACCOUNT_REMOVED', 0x0008 ); +define ( 'ACCOUNT_PENDING', 0x0010 ); /** * Account roles diff --git a/include/account.php b/include/account.php index 530ffd083..f89197e0c 100644 --- a/include/account.php +++ b/include/account.php @@ -317,6 +317,11 @@ function user_allow($hash) { intval(ACCOUNT_BLOCKED), intval($register[0]['uid']) ); + $r = q("update account set account_flags = (account_flags ^ %d) where (account_flags & %d) and account_id = %d limit 1", + intval(ACCOUNT_PENDING), + intval(ACCOUNT_PENDING), + intval($register[0]['uid']) + ); $r = q("SELECT uid FROM profile WHERE uid = %d AND is_default = 1", intval($account[0]['account_id']) diff --git a/mod/admin.php b/mod/admin.php index 9a8a58cfc..aa3d7b294 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -496,13 +496,13 @@ function admin_page_users_post(&$a){ } if (x($_POST,'page_users_approve')){ - require_once("mod/regmod.php"); + require_once('include/account.php'); foreach($pending as $hash){ user_allow($hash); } } if (x($_POST,'page_users_deny')){ - require_once("mod/regmod.php"); + require_once('include/account.php'); foreach($pending as $hash){ user_deny($hash); } @@ -552,11 +552,9 @@ function admin_page_users(&$a){ } /* get pending */ - $pending = q("SELECT `register`.*, `contact`.`name`, `user`.`email` - FROM `register` - LEFT JOIN `contact` ON `register`.`uid` = `contact`.`uid` - LEFT JOIN `user` ON `register`.`uid` = `user`.`uid`;"); - + $pending = q("SELECT * from account where (account_flags & %d ) ", + intval(ACCOUNT_PENDING) + ); /* get users */ diff --git a/mod/register.php b/mod/register.php index 494e72b8f..3ba714c74 100644 --- a/mod/register.php +++ b/mod/register.php @@ -51,7 +51,7 @@ function register_post(&$a) { break; case REGISTER_APPROVE: - $flags = ACCOUNT_UNVERIFIED | ACCOUNT_BLOCKED; + $flags = ACCOUNT_UNVERIFIED | ACCOUNT_BLOCKED | ACCOUNT_PENDING; break; default: |