diff --git a/src/Model/Register.php b/src/Model/Register.php index be00699bfa..5eb9a417ca 100644 --- a/src/Model/Register.php +++ b/src/Model/Register.php @@ -42,15 +42,7 @@ class Register */ public static function getPending($start = 0, $count = Pager::ITEMS_PER_PAGE) { - $stmt = DBA::p( - "SELECT `register`.*, `contact`.`name`, `contact`.`url`, `contact`.`micro`, `user`.`email`, `contact`.`nick` - FROM `register` - INNER JOIN `contact` ON `register`.`uid` = `contact`.`uid` - INNER JOIN `user` ON `register`.`uid` = `user`.`uid` - LIMIT ?, ?", $start, $count - ); - - return DBA::toArray($stmt); + return DBA::selectToArray('pending-view', [], [], ['limit' => [$start, $count]]); } /** @@ -64,14 +56,7 @@ class Register */ public static function getPendingForUser(int $uid) { - return DBA::fetchFirst( - "SELECT `register`.*, `contact`.`name`, `contact`.`url`, `contact`.`micro`, `user`.`email` - FROM `register` - INNER JOIN `contact` ON `register`.`uid` = `contact`.`uid` - INNER JOIN `user` ON `register`.`uid` = `user`.`uid` - WHERE `register`.uid = ?", - $uid - ); + return DBA::selectToArray('pending-view', [], ['uid' => $uid]); } /** @@ -82,13 +67,7 @@ class Register */ public static function getPendingCount() { - $register = DBA::fetchFirst( - "SELECT COUNT(*) AS `count` - FROM `register` - INNER JOIN `contact` ON `register`.`uid` = `contact`.`uid` AND `contact`.`self`" - ); - - return $register['count']; + return DBA::count('pending-view', ['self' => true]); } /** diff --git a/static/dbview.config.php b/static/dbview.config.php index 4363c78866..9722ca3819 100755 --- a/static/dbview.config.php +++ b/static/dbview.config.php @@ -174,6 +174,26 @@ return [ "query" => "FROM `user` INNER JOIN `contact` ON `contact`.`uid` = `user`.`uid` AND `contact`.`self` INNER JOIN `profile` ON `profile`.`uid` = `user`.`uid`" - ] + ], + "pending-view" => [ + "fields" => [ + "id" => ["register", "id"], + "hash" => ["register", "hash"], + "created" => ["register", "created"], + "uid" => ["register", "uid"], + "password" => ["register", "password"], + "language" => ["register", "language"], + "note" => ["register", "note"], + "self" => ["contact", "self"], + "name" => ["contact", "name"], + "url" => ["contact", "url"], + "micro" => ["contact", "micro"], + "email" => ["user", "email"], + "nick" => ["contact", "nick"], + ], + "query" => "FROM `register` + INNER JOIN `contact` ON `register`.`uid` = `contact`.`uid` + INNER JOIN `user` ON `register`.`uid` = `user`.`uid`" + ], ];