/** * 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; }