$redirectUrl = "../views/my_sold_auctions_view.php";
}
// Validate feedback input
$feedback = ["score" => $_POST["score"], "comment" => $_POST["comment"]];
if (ValidationOperator::hasEmtpyFields($feedback)) {
    // Create a session for all inputs so that they can be recovered after the page returns
    SessionOperator::setFormInput($feedback);
    // Redirect back
    HelperOperator::redirectTo($redirectUrl);
}
$auctionId = $_POST["auctionId"];
$creatorId = SessionOperator::getUser()->getUserId();
//get the id of receiver
$receiverUsername = $_POST["receiverUsername"];
/* @var DbUser $receiver */
$receiver = DbUser::withConditions("WHERE username = '******'")->first();
//check receiver exists AND there is no existing feedback (we only allow one)
if ($receiver == null or DbFeedback::withConditions("WHERE auctionId = " . $auctionId . " AND creatorId = " . $creatorId . " AND receiverId = " . $receiver->getId())->exists()) {
    HelperOperator::redirectTo($redirectUrl);
}
// Create Feedback
$now = new DateTime("now", new DateTimeZone(TIMEZONE));
$feedback = new DbFeedback(array("auctionId" => $_POST["auctionId"], "creatorId" => SessionOperator::getUser()->getUserId(), "receiverId" => $receiver->getId(), "score" => $_POST["score"], "comment" => $_POST["comment"], "time" => $now->format('Y-m-d H:i:s')));
$feedback->create();
// Notify receiver
$auction = DbAuction::find($auctionId);
$item = DbItem::find($auction->getField("itemId"));
$comment = "You received a feedback from \"" . SessionOperator::getUser()->getUserName() . "\" in your participation in \"";
$comment .= $item->getField("itemName") . " - " . $item->getField("itemBrand") . "\".";
QueryOperator::addNotification($receiver->getId(), $comment, QueryOperator::NOTIFICATION_FEEDBACK_RECEIVED);
// Set feedback session
 public static function getFeedback($username)
 {
     // Retrieve user feedback statistics
     $userId = DbUser::withConditions("WHERE username = '******'")->get(array("userId"))[0]["userId"];
     $scores = [];
     for ($index = 1; $index <= 5; $index++) {
         $scores[] = self::getFeedbackScores($userId, $index);
     }
     // Retrieve feedbacks
     $feedbackAsSeller = self::getFeedbacks($userId, self::ROLE_SELLER);
     $feedbackAsBuyer = self::getFeedbacks($userId, self::ROLE_BUYER);
     $advancedFeedback = new AdvancedFeedback($scores, $feedbackAsSeller, $feedbackAsBuyer);
     return $advancedFeedback;
 }