X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FRegister.php;h=e78fa99fe591391b91a811f9af801a6580ca6c30;hb=772823273757630df62de3882797742016ce467f;hp=be00699bface1273fba86e0483de1062590761a6;hpb=72c198990e3d6dd23628ad15600b2089882e03c4;p=friendica.git diff --git a/src/Model/Register.php b/src/Model/Register.php index be00699bfa..e78fa99fe5 100644 --- a/src/Model/Register.php +++ b/src/Model/Register.php @@ -1,6 +1,6 @@ [$start, $count]]); } /** @@ -58,20 +50,12 @@ class Register * * @param int $uid The user id * - * @return array The pending user information - * + * @return array|bool Array on succes, false on failure * @throws \Exception */ 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::selectFirst('pending-view', [], ['uid' => $uid, 'self' => true]); } /** @@ -80,25 +64,19 @@ class Register * @return int * @throws \Exception */ - public static function getPendingCount() + public static function getPendingCount(): int { - $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]); } /** * Returns the register record associated with the provided hash * * @param string $hash - * @return array + * @return array|bool Array on succes, false on failure * @throws \Exception */ - public static function getByHash($hash) + public static function getByHash(string $hash) { return DBA::selectFirst('register', [], ['hash' => $hash]); } @@ -110,7 +88,7 @@ class Register * @return boolean * @throws \Exception */ - public static function existsByHash($hash) + public static function existsByHash(string $hash): bool { return DBA::exists('register', ['hash' => $hash]); } @@ -121,7 +99,7 @@ class Register * @return string * @throws \Exception */ - public static function createForInvitation() + public static function createForInvitation(): string { $code = Strings::getRandomName(8) . random_int(1000, 9999); @@ -136,21 +114,27 @@ class Register } /** - * Creates a register record for approval and returns the success of the database insert + * Creates a register record for approval * Checks for the existence of the provided user id * - * @param integer $uid The ID of the user needing approval - * @param string $language The registration language - * @param string $note An additional message from the user - * @return boolean - * @throws \Exception + * @param integer $uid The ID of the user needing approval + * @param string $language The registration language + * @param string $note An additional message from the user + * @return void + * @throws \OutOfBoundsException + * @throws HTTPException\InternalServerErrorException + * @throws HTTPException\NotFoundException */ - public static function createForApproval($uid, $language, $note = '') + public static function createForApproval(int $uid, string $language, string $note = ''): void { $hash = Strings::getRandomHex(); + if (!$uid) { + throw new \OutOfBoundsException("User ID can't be empty"); + } + if (!User::exists($uid)) { - return false; + throw new HTTPException\NotFoundException("User ID doesn't exist"); } $fields = [ @@ -162,7 +146,9 @@ class Register 'note' => $note ]; - return DBA::insert('register', $fields); + if (!DBA::insert('register', $fields)) { + throw new HTTPException\InternalServerErrorException('Unable to insert a `register` record'); + } } /** @@ -172,7 +158,7 @@ class Register * @return boolean * @throws \Exception */ - public static function deleteByHash($hash) + public static function deleteByHash(string $hash): bool { return DBA::delete('register', ['hash' => $hash]); }