| | <?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']); |
| | } |
| | ?> |