|
|
<?php |
|
|
session_start(); |
|
|
header('Content-Type: application/json'); |
|
|
|
|
|
if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] !== true) { |
|
|
echo json_encode(['success' => false, 'message' => 'Not logged in']); |
|
|
exit; |
|
|
} |
|
|
|
|
|
|
|
|
require_once '../../db.php'; |
|
|
require_once '../classes/User.php'; |
|
|
require_once '../classes/Transaction.php'; |
|
|
|
|
|
$database = new Database(); |
|
|
$db = $database->getConnection(); |
|
|
$user = new User($db); |
|
|
$transaction = new Transaction($db); |
|
|
|
|
|
if ($user->getUserByUsername($_SESSION['username'])) { |
|
|
|
|
|
if ($user->rewards > 0) { |
|
|
$amount = $user->rewards; |
|
|
|
|
|
|
|
|
$user->updateBalance($amount); |
|
|
$user->updateRewards(-$amount); |
|
|
|
|
|
|
|
|
$transaction->user_id = $user->id; |
|
|
$transaction->type = 'bonus'; |
|
|
$transaction->amount = $amount; |
|
|
$transaction->description = "Rewards redemption"; |
|
|
$transaction->status = 'completed'; |
|
|
|
|
|
if ($transaction->create()) { |
|
|
echo json_encode(['success' => true, 'message' => 'Rewards redeemed successfully']); |
|
|
} else { |
|
|
echo json_encode(['success' => false, 'message' => 'Failed to record transaction']); |
|
|
} |
|
|
} else { |
|
|
echo json_encode(['success' => false, 'message' => 'No rewards to redeem']); |
|
|
} |
|
|
} else { |
|
|
echo json_encode(['success' => false, 'message' => 'User not found']); |
|
|
} |
|
|
?> |