Example #1
0
 public function retrieve_by_email_address($id)
 {
     $user = new User();
     //test with invalid email
     $user->retrieve_by_email_address("*****@*****.**");
     $this->assertEquals('', $user->id);
     //test with valid email and test for record ID to verify that record is same
     $user->retrieve_by_email_address("*****@*****.**");
     $this->assertTrue(isset($user->id));
     $this->assertEquals($id, $user->id);
 }
 /**
  * Fetches user by provided ID and field name
  *
  * @param mixed $id
  * @param string $field
  * @return User
  */
 protected function fetch_user($id, $field = null)
 {
     $user = new User();
     if (null !== $field) {
         switch ($field) {
             case 'user_name':
                 // fetch user id by username
                 $sql = 'select id from users where user_name = ' . $user->db->quoted($id) . ' and deleted = 0';
                 $data = $user->db->fetchOne($sql);
                 if (is_array($data)) {
                     $id = reset($data);
                     $user->retrieve($id);
                 }
                 break;
             case 'id':
                 $user->retrieve($id);
                 break;
             default:
                 // nothing else is implemented
                 break;
         }
     } else {
         // use email as a default primary key (onelogin.com provides it)
         $user->retrieve_by_email_address($id);
     }
     return $user;
 }