Add remaining project files (exclude ignored folders)
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
include "/www/wwwroot/bilspro/config/connect.php";
|
||||
// include "../config/connect.php";
|
||||
// Ambil data dari tabel setting_mikrotik
|
||||
$stmt = $pdo->prepare("SELECT id, hsa FROM setting_mikrotik WHERE hsa != ''");
|
||||
$stmt->execute();
|
||||
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
if ($rows) {
|
||||
foreach ($rows as $row) {
|
||||
$id = $row['id'];
|
||||
$hsa = $row['hsa'];
|
||||
|
||||
// Ambil data pelanggan berdasarkan id_setting_mikrotik
|
||||
$stmtPel = $pdo->prepare("SELECT id, voucher, durasi FROM v_ganerate_voucher WHERE id_setting_mikrotik = :id AND active_time IS NULL");
|
||||
$stmtPel->bindValue(':id', $id);
|
||||
$stmtPel->execute();
|
||||
$pel = $stmtPel->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
// Proses setiap data voucher
|
||||
foreach ($pel as $key) {
|
||||
$voucher = $key['voucher'];
|
||||
$durasi = $key['durasi'];
|
||||
|
||||
if (preg_match("/" . preg_quote($voucher, '/') . "/i", $hsa)) {
|
||||
// Cari nama awalan dan ambil bagian data setelahnya
|
||||
$cari00 = stristr($hsa, $voucher);
|
||||
// Ambil data hingga tanda '|'
|
||||
$cari02 = strtok($cari00, "|");
|
||||
// Rubah ke array
|
||||
$data = explode("_", $cari02);
|
||||
|
||||
// Pastikan ada cukup elemen di $data
|
||||
if (count($data) < 2) {
|
||||
continue; // Lewati jika tidak ada cukup data
|
||||
}
|
||||
|
||||
// Hapus titik dan periksa format tanggal
|
||||
$modifiedDateTime = str_replace('.', ' ', trim($data[1]));
|
||||
echo "Voucher: " . $data[0] . "<br>";
|
||||
|
||||
if (substr($modifiedDateTime, 0, 4) == date('Y')) {
|
||||
$activetime = $modifiedDateTime;
|
||||
} else {
|
||||
$date = date_create_from_format("M/d/Y H:i:s", $modifiedDateTime);
|
||||
if ($date !== false) {
|
||||
$activetime = date_format($date, "Y-m-d H:i:s");
|
||||
} else {
|
||||
echo "Format tanggal tidak valid: $modifiedDateTime<br>";
|
||||
continue; // Lewati iterasi jika format tidak valid
|
||||
}
|
||||
}
|
||||
|
||||
echo "Aktif => " . $activetime . "<br>";
|
||||
|
||||
if (substr($durasi, -1) == 'H') {
|
||||
$inter = "PT" . $durasi; // Untuk durasi dalam jam
|
||||
} elseif (substr($durasi, -1) == 'D') {
|
||||
$inter = "P" . $durasi; // Untuk durasi dalam hari
|
||||
} elseif(substr($durasi, -1) == 'M') {
|
||||
$inter = "P" . $durasi;
|
||||
} else {
|
||||
// Tangani kasus jika format durasi tidak valid
|
||||
echo "Format durasi tidak valid.<br>";
|
||||
$inter = null; // Atau tentukan nilai default
|
||||
}
|
||||
|
||||
// Menggunakan DateInterval untuk menambahkan durasi
|
||||
$Tgl = new DateTime($activetime);
|
||||
$interval = new DateInterval($inter); // Durasi dalam jam
|
||||
$Tgl->add($interval);
|
||||
$Expaired = $Tgl->format('Y-m-d H:i:s');
|
||||
|
||||
echo "Expaired => " . $Expaired . "<br>";
|
||||
|
||||
$stmtUpdate = $pdo->prepare("UPDATE ganerate_voucher SET active_time = :active_time, expaired_time = :expaired_time WHERE id = :idgen");
|
||||
$stmtUpdate->execute([
|
||||
':active_time' => $activetime,
|
||||
':expaired_time' => $Expaired,
|
||||
':idgen' => $key['id']
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo "No data found.<br>";
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user