Example #1
0
 /**
  * Update Profile Picture.
  *
  * @access public
  * @param  integer $userId
  * @param  array   $fileData
  * @return mixed
  * @throws Exception If failed to update profile picture.
  */
 public function updateProfilePicture($userId, $fileData)
 {
     $image = Uploader::uploadPicture($fileData, $userId);
     if (!$image) {
         $this->errors = Uploader::errors();
         return false;
     }
     $database = Database::openConnection();
     $query = "UPDATE users SET profile_picture = :profile_picture WHERE id = :id LIMIT 1";
     $database->prepare($query);
     $database->bindValue(':profile_picture', $image["basename"]);
     $database->bindValue(':id', $userId);
     $result = $database->execute();
     //if update failed, then delete the user picture
     if (!$result) {
         Uploader::deleteFile(IMAGES . "profile_pictures/" . $image["basename"]);
         throw new Exception("Profile Picture " . $image["basename"] . " couldn't be updated");
     }
     return $image;
 }