222 lines
9.2 KiB
PHP
222 lines
9.2 KiB
PHP
<?php
|
|
include '../template/template1.php';
|
|
include '../template/header.php';
|
|
include '../template/sidebar.php';
|
|
|
|
require '../../vendor/autoload.php';
|
|
|
|
use PHPMailer\PHPMailer\PHPMailer;
|
|
use PHPMailer\PHPMailer\Exception;
|
|
|
|
if (!isset($_GET['id'])) {
|
|
echo "<script>window.location.href='index.php';</script>";
|
|
exit;
|
|
}
|
|
|
|
$id_order = $_GET['id'];
|
|
$query = mysqli_query($conn, "
|
|
SELECT orders.*, pembeli.*
|
|
FROM orders
|
|
JOIN pembeli ON orders.id_pembeli = pembeli.id_pembeli
|
|
WHERE orders.id_order = '$id_order'
|
|
");
|
|
$data = mysqli_fetch_assoc($query);
|
|
|
|
if (!$data) {
|
|
echo "<script>window.location.href='index.php';</script>";
|
|
exit;
|
|
}
|
|
|
|
if (isset($_POST['ubah_status'])) {
|
|
$status_baru = $_POST['status_order'];
|
|
$update = mysqli_query($conn, "UPDATE orders SET status_order = '$status_baru' WHERE id_order = '$id_order'");
|
|
|
|
if ($update) {
|
|
if ($status_baru == 'Selesai') {
|
|
$email_penerima = $data['email'];
|
|
$nama_pembeli = $data['nama_pembeli'];
|
|
$total = number_format($data['total_harga'], 0, ',', '.');
|
|
$tanggal = date('d-m-Y H:i', strtotime($data['tanggal_order']));
|
|
|
|
$mail = new PHPMailer(true);
|
|
try {
|
|
$mail->isSMTP();
|
|
$mail->Host = 'smtp.gmail.com';
|
|
$mail->SMTPAuth = true;
|
|
$mail->Username = 'chickycuts2025@gmail.com';
|
|
$mail->Password = 'etccszhnwgvvgxfx';
|
|
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
|
|
$mail->Port = 587;
|
|
|
|
$mail->setFrom('chickycuts2025@gmail.com', 'ChickyCuts');
|
|
$mail->addAddress($email_penerima, $nama_pembeli);
|
|
|
|
$mail->isHTML(true);
|
|
$mail->Subject = 'Pesanan Anda Telah Selesai';
|
|
$mail->Body = "
|
|
<h3>Halo $nama_pembeli!</h3>
|
|
<p>Pesanan Anda dengan ID Order <strong>$id_order</strong> telah selesai.</p>
|
|
<p><strong>Total Pembayaran:</strong> Rp $total</p>
|
|
<p><strong>Tanggal Order:</strong> $tanggal</p>
|
|
<br>
|
|
<p>Terima kasih telah berbelanja di <strong>{$profile['nama_usaha']}</strong>.</p>
|
|
";
|
|
|
|
$mail->send();
|
|
} catch (Exception $e) {
|
|
error_log("Email gagal dikirim: {$mail->ErrorInfo}");
|
|
}
|
|
}
|
|
|
|
echo "<script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
Swal.fire({
|
|
icon: 'success',
|
|
title: 'Berhasil',
|
|
text: 'Status berhasil diperbarui!',
|
|
confirmButtonText: 'OK'
|
|
}).then(() => {
|
|
window.location.href = 'detail.php?id=$id_order';
|
|
});
|
|
});
|
|
</script>";
|
|
} else {
|
|
echo "<script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Gagal',
|
|
text: 'Gagal mengubah status!',
|
|
confirmButtonText: 'OK'
|
|
});
|
|
});
|
|
</script>";
|
|
}
|
|
}
|
|
$query = mysqli_query($conn, "SELECT * FROM profil WHERE id_usaha = 1");
|
|
$profile = mysqli_fetch_assoc($query);
|
|
?>
|
|
|
|
<main id="main" class="main">
|
|
<div class="pagetitle">
|
|
<h1>Detail Transaksi</h1>
|
|
<nav>
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="index.php">Transaksi</a></li>
|
|
<li class="breadcrumb-item active">Detail</li>
|
|
</ol>
|
|
</nav>
|
|
</div>
|
|
|
|
<div class="card shadow-sm">
|
|
<div class="card-body p-4">
|
|
<h5 class="card-title mb-4">Informasi Order</h5>
|
|
|
|
<div class="row gy-2">
|
|
<div class="col-md-6">
|
|
<p><strong>ID Order:</strong> <?= $data['id_order']; ?></p>
|
|
<p><strong>Nama Pembeli:</strong> <?= $data['nama_pembeli']; ?></p>
|
|
<p><strong>Email:</strong> <?= $data['email']; ?></p>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<p><strong>No. HP Pembeli:</strong> <?= $data['no_hp']; ?></p>
|
|
<?php
|
|
$nama_pembeli = $data['nama_pembeli'];
|
|
$id_order = $data['id_order'];
|
|
$no_hp = '62' . ltrim($data['no_hp'], '0');
|
|
$nama_usaha = $profile['nama_usaha'];
|
|
$pesan = urlencode("Halo $nama_pembeli, saya kurir dari $nama_usaha. Saya sedang dalam perjalanan untuk mengantarkan pesanan Anda dengan ID Order $id_order. Mohon konfirmasi lokasi atau hubungi saya jika ada perubahan. Terima kasih!");
|
|
$link_wa = "https://wa.me/$no_hp?text=$pesan";
|
|
?>
|
|
<a href="<?= $link_wa; ?>" target="_blank" class="btn btn-success btn-sm mt-2">Chat Pembeli</a>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<p><strong>Metode Pembayaran:</strong> <?= $data['metode_pembayaran']; ?></p>
|
|
<p><strong>Total Harga:</strong> Rp <?= number_format($data['total_harga'], 0, ',', '.'); ?></p>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<p><strong>Tanggal Order:</strong> <?= date('d-m-Y', strtotime($data['tanggal_order'])); ?></p>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<p><strong>Alamat:</strong> <?= $data['alamat']; ?></p>
|
|
<a href="https://www.google.com/maps/search/?api=1&query=<?= urlencode($data['alamat']); ?>" target="_blank" class="btn btn-primary btn-sm mt-2">Lihat Maps</a>
|
|
</div>
|
|
<?php if (!empty($data['bukti_pembayaran'])): ?>
|
|
<div class="col-md-6">
|
|
<button type="button" class="btn btn-outline-primary btn-sm" onclick="showBuktiPembayaran()">
|
|
Lihat Bukti Pembayaran
|
|
</button>
|
|
</div>
|
|
<?php endif; ?>
|
|
<div class="col-md-6">
|
|
<p><strong>Status Saat Ini:</strong>
|
|
<span class="badge
|
|
<?php
|
|
switch ($data['status_order']) {
|
|
case 'Belum Dibayar': echo 'bg-secondary'; break;
|
|
case 'Pembayaran Sukses': echo 'bg-primary'; break;
|
|
case 'Diproses': echo 'bg-warning text-dark'; break;
|
|
case 'Dikemas': echo 'bg-info text-dark'; break;
|
|
case 'Dikirim': echo 'bg-success'; break;
|
|
case 'Selesai': echo 'bg-dark'; break;
|
|
case 'Dibatalkan': echo 'bg-danger'; break;
|
|
default: echo 'bg-light text-dark';
|
|
}
|
|
?>">
|
|
<?= $data['status_order']; ?>
|
|
</span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="my-4">
|
|
|
|
<form method="POST">
|
|
<div class="row align-items-end">
|
|
<div class="col-md-6 mb-2">
|
|
<label for="status_order"><strong>Ubah Status Order:</strong></label>
|
|
<select name="status_order" class="form-select" required>
|
|
<?php
|
|
$statuses = [
|
|
'Belum Dibayar',
|
|
'Pembayaran Sukses',
|
|
'Diproses',
|
|
'Dikemas',
|
|
'Dikirim',
|
|
'Selesai',
|
|
'Dibatalkan'
|
|
];
|
|
foreach ($statuses as $status) {
|
|
$selected = ($data['status_order'] == $status) ? 'selected' : '';
|
|
echo "<option value=\"$status\" $selected>$status</option>";
|
|
}
|
|
?>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-6 mb-2 d-flex gap-2">
|
|
<button type="submit" name="ubah_status" class="btn btn-success">Simpan</button>
|
|
<a href="index.php" class="btn btn-secondary">Kembali</a>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<!-- <script src="https://cdn.jsdelivr.net/npm/medium-zoom@1.0.0/dist/medium-zoom.min.js"></script>
|
|
<script>
|
|
mediumZoom('.zoom');
|
|
|
|
function showBuktiPembayaran() {
|
|
Swal.fire({
|
|
title: 'Bukti Pembayaran',
|
|
html: '<img src="../../assets/img/bukti_pembayaran/<?= $data['bukti_pembayaran']; ?>" class="img-fluid zoom" />',
|
|
showCloseButton: true,
|
|
showConfirmButton: false
|
|
});
|
|
}
|
|
</script> -->
|
|
|
|
<?php include '../template/footer.php'; ?>
|
|
<?php include '../template/template2.php'; ?>
|