public function selectUser($userID, &$error)
 {
     parent::get();
     $result = null;
     $error = false;
     $user = $this->getUser($userID, $error);
     if (!$error) {
         if ($user) {
             $result = $user;
         }
     }
     return $result;
 }
 public function getByUser($userID)
 {
     parent::get();
     $error = false;
     $query = sprintf(self::PREPARED_STATEMENT_SELECT_SIGNS_OF_USER, $this->createFieldListSQLString("s"));
     $statement = $this->dbConnector->prepareStatement($query);
     $statement->bindParam(":id", $userID);
     if ($statement->execute()) {
         $signs = $this->fetchSigns($statement, $error);
         if (!$error) {
             if (count($signs) > 0) {
                 $this->setObjectGetSuccessfulResponse($signs);
             } else {
                 $this->setObjectNotFoundResponse();
             }
         }
     } else {
         $errorArray = $statement->errorInfo();
         $error = $errorArray[2];
     }
     if ($error) {
         $this->setServerErrorResponse($error);
     }
 }
 public function getFriends($userID)
 {
     parent::get();
     $error = false;
     $friends = $this->getFriendships($userID, $error);
     if (!$error) {
         if (count($friends) > 0) {
             $user = $this->userController->selectUser($userID, $error);
             foreach ($friends as &$friend) {
                 if ($friend[self::KEY_FROM_USER] == $userID) {
                     $friend[self::KEY_FROM_USER] = $user;
                     $friend[self::KEY_TO_USER] = $this->userController->selectUser($friend[self::KEY_TO_USER], $error);
                 } else {
                     $friend[self::KEY_TO_USER] = $user;
                     $friend[self::KEY_FROM_USER] = $this->userController->selectUser($friend[self::KEY_FROM_USER], $error);
                 }
             }
             $this->setObjectGetSuccessfulResponse($friends);
         } else {
             $this->setObjectNotFoundResponse();
         }
     } else {
         $this->setServerErrorResponse($error);
     }
 }
 function __construct()
 {
     parent::__construct();
 }
 public function getMessages($userID, $messageID = false)
 {
     parent::get();
     $error = false;
     if ($messageID) {
         $query = sprintf(self::PREPARED_STATEMENT_SELECT_BY_USER_AND_ID, $this->createFieldListSQLString());
         $statement = $this->dbConnector->prepareStatement($query);
         if ($statement->execute(array(":fromUserID" => $userID, ":toUserID" => $userID, ":messageID" => $messageID))) {
             $result = $this->fetchObjectsFromStatement($statement, $this->fields);
             if (count($result) == 1) {
                 $this->setObjectGetSuccessfulResponse($result[0]);
             } else {
                 $this->setObjectNotFoundResponse();
             }
         } else {
             $errorArray = $this->{$statement}->errorInfo();
             $this->setServerErrorResponse($errorArray[2]);
         }
     } else {
         $query = sprintf(self::PREPARED_STATEMENT_SELECT_BY_ANY_STUMP, $this->createFieldListSQLString());
         $statement = $this->dbConnector->prepareStatement($query);
         if ($statement->execute(array(":sender" => $userID))) {
             $this->setObjectGetSuccessfulResponse($this->fetchObjectsFromStatement($statement, $this->fields));
         } else {
             $errorArray = $this->{$statement}->errorInfo();
             $this->setServerErrorResponse($errorArray[2]);
         }
     }
 }