conn = $db; } public function subscribe() { $query = "INSERT INTO " . $this->table_name . " SET email=:email, notification_opt_in=:notification_opt_in, is_active=1"; $stmt = $this->conn->prepare($query); $this->email = htmlspecialchars(strip_tags($this->email)); $stmt->bindParam(":email", $this->email); $stmt->bindParam(":notification_opt_in", $this->notification_opt_in); if ($stmt->execute()) { return true; } return false; } public function unsubscribe($email) { $query = "UPDATE " . $this->table_name . " SET is_active=0, unsubscribed_at=NOW() WHERE email=:email"; $stmt = $this->conn->prepare($query); $email = htmlspecialchars(strip_tags($email)); $stmt->bindParam(":email", $email); if ($stmt->execute()) { return true; } return false; } public function checkSubscription($email) { $query = "SELECT is_active FROM " . $this->table_name . " WHERE email = :email"; $stmt = $this->conn->prepare($query); $email = htmlspecialchars(strip_tags($email)); $stmt->bindParam(":email", $email); $stmt->execute(); if ($stmt->rowCount() > 0) { $row = $stmt->fetch(PDO::FETCH_ASSOC); return $row['is_active']; } return false; } } ?>