36716-vm/admin/edit-package.php
2025-12-07 05:00:42 +00:00

135 lines
6.4 KiB
PHP

<?php
require_once '../includes/header.php';
require_once '../db/config.php';
if (!isset($_GET['id'])) {
header('Location: manage-packages.php');
exit;
}
$id = $_GET['id'];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$id = $_POST['id'];
$name = $_POST['name'];
$coach_id = $_POST['coach_id'];
$description = $_POST['description'];
$price = $_POST['price'];
$payment_type = $_POST['payment_type'];
$deposit_amount = $payment_type === 'payment_plan' ? $_POST['deposit_amount'] : null;
$installments = $payment_type === 'payment_plan' ? $_POST['installments'] : null;
$installment_interval = $payment_type === 'payment_plan' ? $_POST['installment_interval'] : null;
$pay_in_full_discount_percentage = $_POST['pay_in_full_discount_percentage'];
$stmt = db()->prepare(
'UPDATE service_packages SET '
. 'name = ?, coach_id = ?, description = ?, price = ?, payment_type = ?, '
. 'deposit_amount = ?, installments = ?, installment_interval = ?, pay_in_full_discount_percentage = ? '
. 'WHERE id = ?'
);
$stmt->execute([
$name, $coach_id, $description, $price, $payment_type,
$deposit_amount, $installments, $installment_interval, $pay_in_full_discount_percentage,
$id
]);
header('Location: manage-packages.php');
exit;
}
$stmt = db()->prepare('SELECT * FROM service_packages WHERE id = ?');
$stmt->execute([$id]);
$package = $stmt->fetch();
$coaches = db()->query('SELECT * FROM coaches')->fetchAll();
?>
<div class="container">
<h1 class="text-center my-4">Edit Package</h1>
<div class="card">
<div class="card-header">Edit Package: <?= htmlspecialchars($package['name']) ?></div>
<div class="card-body">
<form method="POST">
<input type="hidden" name="id" value="<?= $package['id'] ?>">
<div class="form-group">
<label for="name">Package Name</label>
<input type="text" class="form-control" id="name" name="name" value="<?= htmlspecialchars($package['name']) ?>" required>
</div>
<div class="form-group">
<label for="coach_id">Coach</label>
<select class="form-control" id="coach_id" name="coach_id" required>
<?php foreach ($coaches as $coach): ?>
<option value="<?= $coach['id'] ?>" <?= $package['coach_id'] == $coach['id'] ? 'selected' : '' ?>><?= htmlspecialchars($coach['name']) ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<label for="description">Description</label>
<textarea class="form-control" id="description" name="description"><?= htmlspecialchars($package['description']) ?></textarea>
</div>
<div class="form-group">
<label for="price">Price</label>
<input type="number" step="0.01" class="form-control" id="price" name="price" value="<?= htmlspecialchars($package['price']) ?>" required>
</div>
<div class="form-group">
<label for="payment_type">Payment Type</label>
<select class="form-control" id="payment_type" name="payment_type">
<option value="one_time" <?= $package['payment_type'] == 'one_time' ? 'selected' : '' ?>>One Time</option>
<option value="subscription" <?= $package['payment_type'] == 'subscription' ? 'selected' : '' ?>>Subscription</option>
<option value="payment_plan" <?= $package['payment_type'] == 'payment_plan' ? 'selected' : '' ?>>Payment Plan</option>
</select>
</div>
<div id="payment_plan_fields" style="display: none;">
<div class="form-group">
<label for="deposit_amount">Deposit Amount (Optional)</label>
<input type="number" step="0.01" class="form-control" id="deposit_amount" name="deposit_amount" value="<?= htmlspecialchars($package['deposit_amount']) ?>">
</div>
<div class="form-group">
<label for="installments">Number of Installments</label>
<input type="number" class="form-control" id="installments" name="installments" value="<?= htmlspecialchars($package['installments']) ?>">
</div>
<div class="form-group">
<label for="installment_interval">Installment Interval</label>
<select class="form-control" id="installment_interval" name="installment_interval">
<option value="day" <?= $package['installment_interval'] == 'day' ? 'selected' : '' ?>>Day</option>
<option value="week" <?= $package['installment_interval'] == 'week' ? 'selected' : '' ?>>Week</option>
<option value="month" <?= $package['installment_interval'] == 'month' ? 'selected' : '' ?>>Month</option>
<option value="year" <?= $package['installment_interval'] == 'year' ? 'selected' : '' ?>>Year</option>
</select>
</div>
</div>
<div class="form-group">
<label for="pay_in_full_discount_percentage">Pay in Full Discount (%) (Optional)</label>
<input type="number" step="0.01" class="form-control" id="pay_in_full_discount_percentage" name="pay_in_full_discount_percentage" value="<?= htmlspecialchars($package['pay_in_full_discount_percentage']) ?>">
</div>
<button type="submit" name="update_package" class="btn btn-primary mt-3">Update Package</button>
</form>
</div>
</div>
</div>
<script>
document.getElementById('payment_type').addEventListener('change', function() {
const payment_plan_fields = document.getElementById('payment_plan_fields');
if (this.value === 'payment_plan') {
payment_plan_fields.style.display = 'block';
} else {
payment_plan_fields.style.display = 'none';
}
});
// Trigger change on page load
document.getElementById('payment_type').dispatchEvent(new Event('change'));
</script>
<?php require_once '../includes/footer.php'; ?>