/** * Get a user. * * @param string|int $what An identifier for the user; either an ID, username or email. * @return UserInterface|boolean The user found, or boolean false if no such user. */ protected function getUserByAnything($what) { $userProvider = $this->gatekeeper->getUserProvider(); // First, check if we have been given an ID. if (is_numeric($what)) { $user = $userProvider->getById((int) $what); if ($user !== false) { return $user; } } // Check if we have an email and use that. if (filter_var($what, FILTER_VALIDATE_EMAIL) !== false) { $user = $userProvider->getByEmail($what); if ($user !== false) { return $user; } } // Should be a username now. return $userProvider->getByUsername($what); }
/** * */ public function testGetUserProvider() { $gatekeeper = new Gatekeeper($this->getRequest(), $this->getResponse(), $this->getSession(), $this->getUserProvider(), $this->getGroupProvider()); $this->assertInstanceOf('mako\\auth\\providers\\UserProvider', $gatekeeper->getUserProvider()); }