コード例 #1
0
 public function login($email, $password)
 {
     $userData = $this->getUserByEmail($email);
     if ($userData && $userData['active'] == '1') {
         $encryptedPassword = UserFactory::encryptPassword($password);
         if ($encryptedPassword == $userData['password']) {
             $email = $userData['email'];
             $id = $userData['id'];
             $name = $userData['name'];
             $password = $userData['password'];
             $active = $userData['active'];
             switch ($userData['id_user_type']) {
                 case UserTypeEnum::UserAdminType:
                     UserFactory::$user = new UserAdmin($email, $id, $name, $password, $active);
                     break;
                 case UserTypeEnum::UserPublisherType:
                     UserFactory::$user = new UserPublisher($email, $id, $name, $password, $active);
                     break;
                 case UserTypeEnum::UserGeneralType:
                     UserFactory::$user = new UserGeneral($email, $id, $name, $password, $active);
                     break;
             }
             UserFactory::$loggedIn = true;
             return UserFactory::$user;
         } else {
             // no coinciden el password ingresado con el password registrado
             return false;
         }
     } else {
         // no se encuentra ningun usuario con el mail ingresado
         return null;
     }
 }