|
|
<?php |
|
|
class Referral { |
|
|
private $conn; |
|
|
private $table_name = "referrals"; |
|
|
|
|
|
public $id; |
|
|
public $referrer_id; |
|
|
public $referred_id; |
|
|
public $status; |
|
|
public $commission_earned; |
|
|
|
|
|
public function __construct($db) { |
|
|
$this->conn = $db; |
|
|
} |
|
|
|
|
|
|
|
|
public function createReferral($referrer_id, $referred_id) { |
|
|
$query = "INSERT INTO " . $this->table_name . " |
|
|
(referrer_id, referred_id, status) |
|
|
VALUES (?, ?, 'pending')"; |
|
|
$stmt = $this->conn->prepare($query); |
|
|
$stmt->bindParam(1, $referrer_id); |
|
|
$stmt->bindParam(2, $referred_id); |
|
|
return $stmt->execute(); |
|
|
} |
|
|
|
|
|
|
|
|
public function completeReferral($referred_id, $commission_amount) { |
|
|
$query = "UPDATE " . $this->table_name . " |
|
|
SET status = 'completed', commission_earned = ? |
|
|
WHERE referred_id = ? AND status = 'pending'"; |
|
|
$stmt = $this->conn->prepare($query); |
|
|
$stmt->bindParam(1, $commission_amount); |
|
|
$stmt->bindParam(2, $referred_id); |
|
|
return $stmt->execute(); |
|
|
} |
|
|
|
|
|
|
|
|
public function getReferralByReferredId($referred_id) { |
|
|
$query = "SELECT * FROM " . $this->table_name . " WHERE referred_id = ? LIMIT 1"; |
|
|
$stmt = $this->conn->prepare($query); |
|
|
$stmt->bindParam(1, $referred_id); |
|
|
$stmt->execute(); |
|
|
return $stmt->fetch(PDO::FETCH_ASSOC); |
|
|
} |
|
|
} |
|
|
?> |