update cara upload gambar

This commit is contained in:
WD - Dev
2025-11-11 12:57:39 +07:00
parent 4a7c248fff
commit 15fba86cbd
24 changed files with 129884 additions and 19764 deletions
+3 -2
View File
@@ -13,6 +13,7 @@ function sanitizeString($input) {
}
include "../config/connect.php";
include "../config/tanggal_indo.php";
try {
$linkCreated = false; // Penanda apakah ada link yang berhasil dibuat
@@ -72,8 +73,8 @@ try {
if ($sekarang === $cektanggal) {
$keteranganName = ucwords(strtolower(preg_replace('/[^a-zA-Z\s]/', '', $data['nama'])));
$keteranganFlip = str_replace('Layanan Internet ', '', $data['keterangan']) . " (an. " . $keteranganName . ")";
$namaclean = ucwords(strtolower(preg_replace('/[^a-zA-Z\s]/', '', $data['nama'])));
$keteranganFlip = "Tagihan " . formatIndo($data['limit_pembayaran'], 'F Y') . ' an ' . $namaclean . ' id ' . $data['akun'];
// Buat link payment gateway
require '../payment/flip/Flip/Transaction.php';
+121 -121
View File
@@ -1,121 +1,121 @@
[17:42:01] [OK] 103.26.176.81
[17:42:01] [OK] 103.188.169.123
[17:42:01] [OK] 103.26.176.85
[17:42:01] [OK] 103.188.169.121
[17:42:01] [OK] 103.26.176.83
[17:42:01] [OK] tunnel.manjapro.net
[17:42:01] [OK] tunnel.manjapro.net
[17:42:01] [OK] tunnel.manjapro.net
[17:42:01] [OK] tunnel.manjapro.net
[17:42:01] [OK] 103.155.198.185
[17:42:01] [OK] 103.188.169.127
[17:42:01] [OK] tunnel.manjapro.net
[17:42:02] [OK] tunnel.manjapro.net
[17:42:02] [OK] 103.26.176.87
[17:42:02] [OK] tunnel.manjapro.net
[17:42:02] [OK] 103.236.190.109
[17:42:02] [OK] tunnel.manjapro.net
[17:42:02] [OK] 103.26.176.93
[17:42:02] [OK] 103.155.196.145
[17:42:02] [OK] 103.242.104.69
[17:42:02] [OK] 103.31.233.237
[17:42:02] [OK] gusjampang.xyz
[17:42:03] [OK] tunnel.manjapro.net
[17:42:03] [OK] tunnel.manjapro.net
[17:42:03] [OK] 103.18.79.171
[17:42:03] [OK] 103.155.199.191
[17:42:04] [OK] tunnel.manjapro.net
[17:42:04] [OK] 103.242.106.56
[17:42:05] [FAIL] 103.67.80.126
[17:42:05] [FAIL] 157.20.128.231
[17:42:05] [OK] tunnel.manjapro.net
[17:42:06] [FAIL] tunnel.bilspro.com
[17:42:06] [FAIL] tunnel.bilspro.com
[17:42:06] [FAIL] 103.94.10.240
[17:42:06] [OK] tunnel.manjapro.net
[17:42:07] [FAIL] 103.94.10.240
[17:42:07] [FAIL] 103.94.10.240
[17:42:07] [OK] tunnel.manjapro.net
[17:42:08] [FAIL] tunnel.bilspro.com
[17:42:09] [FAIL] infinnet.cloud
[17:42:09] [OK] tunnel.manjapro.net
[17:42:09] [OK] tunnel.manjapro.net
[17:42:09] [OK] tunnel.manjapro.net
[17:42:10] [OK] tunnel.manjapro.net
[17:42:10] [OK] tunnel.manjapro.net
[17:42:10] [OK] tunnel.manjapro.net
[17:42:10] [OK] tunnel.manjapro.net
[17:42:10] [OK] tunnel.manjapro.net
[17:42:11] [FAIL] infinnet.cloud
[17:42:11] [FAIL] tunnel.bilspro.com
[17:42:11] [FAIL] 103.155.198.109
[17:42:11] [OK] tunnel.manjapro.net
[17:42:15] [FAIL] tunnel.manjapro.net
[17:42:16] [FAIL] 157.20.12
[17:42:16] [FAIL] tunnel.manjapro.net
[17:42:16] [FAIL] 114.141.51.12
[17:42:16] [FAIL] 114.141.51.12
[17:42:17] [FAIL] 103.103.147.225
[17:42:20] [FAIL] tunnel.manjapro.net
[2025-11-10 17:42:20] Semua child selesai. Mulai update DB...
[17:42:20] [UPDATE DB] 03FK-Q7XE1
[17:42:20] [UPDATE DB] IDLF-SK944
[17:42:20] [UPDATE DB] TYF0-3RP75
[17:42:20] [UPDATE DB] 0YDS-EI1V6
[17:42:20] [UPDATE DB] C7CU-PGT97
[17:42:20] [UPDATE STATUS] 7FZH-WIBI8 (Disconnected -> Disconnected)
[17:42:20] [UPDATE DB] YHVJ-ZN9V9
[17:42:20] [UPDATE DB] C7CU-PGT910
[17:42:20] [UPDATE DB] MPK0-Q43P11
[17:42:20] [UPDATE DB] S9QL-XRJ512
[17:42:20] [UPDATE DB] HHJH-UFWL14
[17:42:20] [UPDATE DB] 03FK-Q7XE15
[17:42:20] [UPDATE DB] DG7B-JP4218
[17:42:20] [UPDATE DB] XXWL-VMH419
[17:42:20] [UPDATE DB] 03FK-Q7XE20
[17:42:20] [UPDATE DB] C7CU-PGT922
[17:42:20] [UPDATE DB] 8FHL-TXVS23
[17:42:20] [UPDATE DB] Q23C-IE2524
[17:42:20] [UPDATE STATUS] Q4D5-ATUM25 (Disconnected -> Disconnected)
[17:42:20] [UPDATE DB] 03FK-Q7XE28
[17:42:20] [UPDATE DB] 11P4-SII029
[17:42:20] [UPDATE DB] CUAA-CD2K30
[17:42:20] [UPDATE DB] 03FK-Q7XE32
[17:42:20] [UPDATE DB] H67G-R4AK33
[17:42:20] [UPDATE STATUS] 9RV7-3W5U34 (Disconnected -> Disconnected)
[17:42:20] [UPDATE DB] 32PA-DAZ435
[17:42:20] [UPDATE STATUS] LJQ6-KDDJ37 (Disconnected -> Disconnected)
[17:42:20] [UPDATE DB] 0TW0-J74U38
[17:42:20] [UPDATE DB] L7TJ-IF2G39
[17:42:20] [UPDATE DB] RWDJ-NXBZ40
[17:42:20] [UPDATE DB] A26W-ART341
[17:42:20] [UPDATE STATUS] RE5H-G12Y42 (Disconnected -> Disconnected)
[17:42:20] [UPDATE STATUS] 03FK-Q7XE43 (Disconnected -> Disconnected)
[17:42:20] [UPDATE STATUS] Q96U-20UZ44 (Disconnected -> Disconnected)
[17:42:20] [UPDATE DB] D3TU-JN5745
[17:42:20] [UPDATE DB] 7SDF-17X546
[17:42:20] [UPDATE DB] HMAZ-3HSX51
[17:42:20] [UPDATE STATUS] PQJB-HG8V53 (Disconnected -> Disconnected)
[17:42:20] [UPDATE STATUS] PMA9-QC7654 (Disconnected -> Disconnected)
[17:42:20] [UPDATE STATUS] 7ZCI-NFCI62 (Disconnected -> Disconnected)
[17:42:20] [UPDATE STATUS] 0E73-PABK63 (Disconnected -> Disconnected)
[17:42:20] [UPDATE STATUS] 4MZF-SFTR65 (Disconnected -> Disconnected)
[17:42:20] [UPDATE STATUS] PJC8-K0EG66 (Disconnected -> Disconnected)
[17:42:20] [UPDATE STATUS] 351D-5NCH67 (Disconnected -> Disconnected)
[17:42:20] [UPDATE STATUS] A0S7-K2IC69 (Disconnected -> Disconnected)
[17:42:20] [UPDATE DB] G9Z1-HRLY70
[17:42:20] [UPDATE STATUS] C7CU-PGT972 (Disconnected -> Disconnected)
[17:42:20] [UPDATE DB] 66AU-Z7I573
[17:42:20] [UPDATE DB] S9QL-XRJ575
[17:42:20] [UPDATE DB] ABMS-YBP776
[17:42:20] [UPDATE DB] C7CU-PGT977
[17:42:20] [UPDATE DB] C7CU-PGT978
[17:42:20] [UPDATE DB] HHJH-UFWL81
[17:42:20] [UPDATE DB] 83
[17:42:20] [UPDATE STATUS] RNS6-DB3N84 (Disconnected -> Disconnected)
[17:42:20] [UPDATE STATUS] C7CU-PGT987 (Disconnected -> Disconnected)
[17:42:20] [UPDATE DB] ZMVC-KAFH88
[17:42:20] [UPDATE STATUS] L5BR-E8QA89 (Disconnected -> Disconnected)
[17:42:20] [UPDATE DB] XNEQ-GB6L90
[2025-11-10 17:42:20] Update DB selesai. OK: 59, FAIL: 0
[2025-11-10 17:42:20] Lama eksekusi: 19.57 detik
[12:54:01] [OK] 103.26.176.81
[12:54:01] [OK] 103.188.169.123
[12:54:01] [OK] 103.26.176.85
[12:54:01] [OK] 103.26.176.83
[12:54:01] [OK] 103.188.169.121
[12:54:01] [OK] tunnel.manjapro.net
[12:54:01] [OK] tunnel.manjapro.net
[12:54:01] [OK] 103.155.198.185
[12:54:01] [OK] tunnel.manjapro.net
[12:54:01] [OK] 103.188.169.127
[12:54:01] [OK] tunnel.manjapro.net
[12:54:01] [OK] tunnel.manjapro.net
[12:54:02] [OK] 103.26.176.87
[12:54:02] [OK] tunnel.manjapro.net
[12:54:02] [OK] tunnel.manjapro.net
[12:54:02] [OK] tunnel.manjapro.net
[12:54:02] [OK] 103.26.176.93
[12:54:02] [OK] 103.236.190.109
[12:54:02] [OK] 103.155.196.145
[12:54:02] [OK] 103.31.233.237
[12:54:02] [OK] 103.242.104.69
[12:54:02] [OK] gusjampang.xyz
[12:54:02] [OK] tunnel.manjapro.net
[12:54:03] [OK] 103.18.79.171
[12:54:03] [OK] 103.155.199.191
[12:54:04] [OK] tunnel.manjapro.net
[12:54:05] [OK] tunnel.manjapro.net
[12:54:05] [FAIL] 103.67.80.126
[12:54:05] [OK] 103.242.106.56
[12:54:05] [OK] tunnel.manjapro.net
[12:54:05] [FAIL] 157.20.128.231
[12:54:06] [FAIL] tunnel.bilspro.com
[12:54:06] [FAIL] tunnel.bilspro.com
[12:54:06] [FAIL] 103.94.10.240
[12:54:06] [FAIL] 103.94.10.240
[12:54:07] [FAIL] 103.94.10.240
[12:54:07] [OK] tunnel.manjapro.net
[12:54:09] [FAIL] tunnel.bilspro.com
[12:54:10] [FAIL] infinnet.cloud
[12:54:10] [FAIL] 103.155.198.109
[12:54:10] [FAIL] tunnel.manjapro.net
[12:54:10] [OK] tunnel.manjapro.net
[12:54:11] [OK] tunnel.manjapro.net
[12:54:11] [FAIL] infinnet.cloud
[12:54:11] [FAIL] tunnel.bilspro.com
[12:54:11] [OK] tunnel.manjapro.net
[12:54:11] [OK] tunnel.manjapro.net
[12:54:11] [OK] tunnel.manjapro.net
[12:54:11] [OK] tunnel.manjapro.net
[12:54:11] [OK] tunnel.manjapro.net
[12:54:11] [OK] tunnel.manjapro.net
[12:54:12] [OK] tunnel.manjapro.net
[12:54:15] [FAIL] tunnel.manjapro.net
[12:54:16] [FAIL] 157.20.12
[12:54:16] [FAIL] tunnel.manjapro.net
[12:54:16] [FAIL] 114.141.51.12
[12:54:16] [FAIL] 114.141.51.12
[12:54:17] [FAIL] 103.103.147.225
[12:54:19] [FAIL] tunnel.manjapro.net
[2025-11-11 12:54:19] Semua child selesai. Mulai update DB...
[12:54:19] [UPDATE DB] 03FK-Q7XE1
[12:54:19] [UPDATE DB] IDLF-SK944
[12:54:19] [UPDATE DB] TYF0-3RP75
[12:54:19] [UPDATE DB] 0YDS-EI1V6
[12:54:19] [UPDATE DB] C7CU-PGT97
[12:54:19] [UPDATE STATUS] 7FZH-WIBI8 (Disconnected -> Disconnected)
[12:54:19] [UPDATE DB] YHVJ-ZN9V9
[12:54:19] [UPDATE DB] C7CU-PGT910
[12:54:19] [UPDATE DB] MPK0-Q43P11
[12:54:19] [UPDATE DB] S9QL-XRJ512
[12:54:19] [UPDATE DB] HHJH-UFWL14
[12:54:19] [UPDATE DB] 03FK-Q7XE15
[12:54:19] [UPDATE DB] DG7B-JP4218
[12:54:19] [UPDATE DB] XXWL-VMH419
[12:54:19] [UPDATE DB] 03FK-Q7XE20
[12:54:19] [UPDATE DB] C7CU-PGT922
[12:54:19] [UPDATE DB] 8FHL-TXVS23
[12:54:19] [UPDATE DB] Q23C-IE2524
[12:54:19] [UPDATE STATUS] Q4D5-ATUM25 (Disconnected -> Disconnected)
[12:54:19] [UPDATE DB] 03FK-Q7XE28
[12:54:19] [UPDATE DB] 11P4-SII029
[12:54:19] [UPDATE DB] CUAA-CD2K30
[12:54:19] [UPDATE DB] 03FK-Q7XE32
[12:54:19] [UPDATE DB] H67G-R4AK33
[12:54:19] [UPDATE STATUS] 9RV7-3W5U34 (Disconnected -> Disconnected)
[12:54:19] [UPDATE DB] 32PA-DAZ435
[12:54:19] [UPDATE STATUS] LJQ6-KDDJ37 (Disconnected -> Disconnected)
[12:54:19] [UPDATE DB] 0TW0-J74U38
[12:54:19] [UPDATE DB] L7TJ-IF2G39
[12:54:19] [UPDATE DB] RWDJ-NXBZ40
[12:54:19] [UPDATE STATUS] A26W-ART341 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] RE5H-G12Y42 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] 03FK-Q7XE43 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] Q96U-20UZ44 (Disconnected -> Disconnected)
[12:54:19] [UPDATE DB] D3TU-JN5745
[12:54:19] [UPDATE DB] 7SDF-17X546
[12:54:19] [UPDATE DB] HMAZ-3HSX51
[12:54:19] [UPDATE STATUS] PQJB-HG8V53 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] PMA9-QC7654 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] 7ZCI-NFCI62 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] 0E73-PABK63 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] 4MZF-SFTR65 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] PJC8-K0EG66 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] 351D-5NCH67 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] A0S7-K2IC69 (Disconnected -> Disconnected)
[12:54:19] [UPDATE DB] G9Z1-HRLY70
[12:54:19] [UPDATE STATUS] C7CU-PGT972 (Disconnected -> Disconnected)
[12:54:19] [UPDATE DB] 66AU-Z7I573
[12:54:19] [UPDATE DB] S9QL-XRJ575
[12:54:19] [UPDATE DB] ABMS-YBP776
[12:54:19] [UPDATE DB] C7CU-PGT977
[12:54:19] [UPDATE DB] C7CU-PGT978
[12:54:19] [UPDATE DB] HHJH-UFWL81
[12:54:19] [UPDATE DB] 83
[12:54:19] [UPDATE STATUS] RNS6-DB3N84 (Disconnected -> Disconnected)
[12:54:19] [UPDATE STATUS] C7CU-PGT987 (Disconnected -> Disconnected)
[12:54:19] [UPDATE DB] ZMVC-KAFH88
[12:54:19] [UPDATE STATUS] L5BR-E8QA89 (Disconnected -> Disconnected)
[12:54:19] [UPDATE DB] XNEQ-GB6L90
[2025-11-11 12:54:19] Update DB selesai. OK: 59, FAIL: 0
[2025-11-11 12:54:19] Lama eksekusi: 18.11 detik
+1 -1
View File
@@ -1 +1 @@
[2025-11-10 17:40:02] Remote port 12911 berhasil ditutup.
[2025-11-11 12:52:02] Tidak ada remote expired.
+1 -1
View File
@@ -1 +1 @@
[2025-11-09 23:50:02] 0 data telah dihapus. Data tersisa sejak 2025-10-01 00:00:00 sampai sekarang.
[2025-11-10 23:50:02] 0 data telah dihapus. Data tersisa sejak 2025-10-01 00:00:00 sampai sekarang.
+148 -39
View File
@@ -11,84 +11,195 @@ date_default_timezone_set('Asia/Jakarta');
require "/www/wwwroot/bilspro/config/connect.php";
require "/www/wwwroot/bilspro/payment/flip/Flip/Transaction.php";
// try {
// // Ambil maksimum 5 data agar ringan
// $sql = "
// SELECT
// a.id,
// a.transaction_id,
// b.apikey_payment_gateway,
// b.url_payment_gateway
// FROM
// tagihan a
// LEFT JOIN
// data_server b ON a.id_data_server = b.id
// WHERE
// a.status = 'lewat'
// AND a.transaction_id != ''
// AND a.transaction_status = 'ACTIVE'
// AND b.payment_gateway = 'flip'
// AND b.status_payment_gateway = 'ACTIVE'
// AND (
// YEAR(a.limit_pembayaran) < YEAR(NOW())
// OR (
// YEAR(a.limit_pembayaran) = YEAR(NOW())
// AND MONTH(a.limit_pembayaran) < MONTH(NOW())
// )
// )
// ORDER BY a.limit_pembayaran ASC
// LIMIT 5
// ";
// $stmt = $pdo->prepare($sql);
// $stmt->execute();
// $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
// if (empty($data)) {
// exit; // tidak ada data, langsung keluar biar hemat resource
// }
// $logFile = "/www/wwwroot/bilspro/load/cronjob/flip_auto_inactive.log";
// if (!file_exists(dirname($logFile))) {
// mkdir(dirname($logFile), 0777, true);
// }
// $results = [];
// foreach ($data as $row) {
// try {
// $flip = new FlipPaymentGateway($row['apikey_payment_gateway'], $row['url_payment_gateway']);
// $response = $flip->getBillStatus($row['transaction_id']);
// if (!is_array($response) || empty($response['link_id'])) {
// $results[] = [
// 'id' => $row['id'],
// 'transaction_id' => $row['transaction_id'],
// 'status' => 'error',
// 'message' => 'Invalid or missing response from Flip API'
// ];
// continue;
// }
// $delete = $flip->editBill(
// $response['link_id'],
// 'INACTIVE',
// $response['title'] ?? '',
// $response['amount'] ?? 0
// );
// $results[] = [
// 'id' => $row['id'],
// 'transaction_id' => $row['transaction_id'],
// 'flip_response' => $delete
// ];
// if ($delete) {
// $update = $pdo->prepare("UPDATE tagihan SET transaction_status = 'INACTIVE' WHERE id = :id");
// $update->execute([':id' => $row['id']]);
// }
// // Delay 1 detik antar request agar tidak membanjiri Flip API
// sleep(1);
// } catch (Exception $e) {
// $results[] = [
// 'id' => $row['id'],
// 'transaction_id' => $row['transaction_id'],
// 'status' => 'error',
// 'message' => $e->getMessage()
// ];
// }
// }
// // Simpan hasil ke log file, bukan echo ke output
// file_put_contents(
// $logFile,
// "[" . date('Y-m-d H:i:s') . "] " . json_encode($results, JSON_UNESCAPED_SLASHES) . PHP_EOL,
// FILE_APPEND
// );
// } catch (Throwable $e) {
// // Tangkap semua error (PDO/Exception)
// file_put_contents(
// "/www/wwwroot/bilspro/load/cronjob/flip_auto_inactive_error.log",
// "[" . date('Y-m-d H:i:s') . "] ERROR: " . $e->getMessage() . PHP_EOL,
// FILE_APPEND
// );
// }
try {
// Ambil maksimum 5 data agar ringan
$sql = "
SELECT
a.id,
a.transaction_id,
a.transaction_data,
b.apikey_payment_gateway,
b.url_payment_gateway
FROM
tagihan a
LEFT JOIN
data_server b ON a.id_data_server = b.id
data_server b
ON a.id_data_server = b.id
WHERE
a.status = 'lewat'
a.status = 'lunas'
AND a.transaction_id != ''
AND a.transaction_status = 'ACTIVE'
AND a.transaction_data != ''
AND b.payment_gateway = 'flip'
AND b.status_payment_gateway = 'ACTIVE'
AND (
YEAR(a.limit_pembayaran) < YEAR(NOW())
OR (
YEAR(a.limit_pembayaran) = YEAR(NOW())
AND MONTH(a.limit_pembayaran) < MONTH(NOW())
)
)
ORDER BY a.limit_pembayaran ASC
LIMIT 5
AND YEAR(a.limit_pembayaran) = YEAR(NOW())
AND MONTH(a.limit_pembayaran) = MONTH(NOW())
ORDER BY a.id ASC
LIMIT 15
";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (empty($data)) {
exit; // tidak ada data, langsung keluar biar hemat resource
}
if (empty($data)) exit;
$logFile = "/www/wwwroot/bilspro/load/cronjob/flip_auto_inactive.log";
if (!file_exists(dirname($logFile))) {
mkdir(dirname($logFile), 0777, true);
}
if (!file_exists(dirname($logFile))) mkdir(dirname($logFile), 0777, true);
$results = [];
$no = 1;
foreach ($data as $row) {
try {
$flip = new FlipPaymentGateway($row['apikey_payment_gateway'], $row['url_payment_gateway']);
$response = $flip->getBillStatus($row['transaction_id']);
$data2 = json_decode($row['transaction_data'], true);
if (!is_array($response) || empty($response['link_id'])) {
if (json_last_error() !== JSON_ERROR_NONE || empty($data2)) {
$results[] = [
'nomor' => $no++,
'id' => $row['id'],
'transaction_id' => $row['transaction_id'],
'status' => 'error',
'message' => 'Invalid or missing response from Flip API'
'title' => '(invalid JSON)',
'error' => 'transaction_data tidak valid'
];
continue;
}
$delete = $flip->editBill(
$response['link_id'],
'INACTIVE',
$response['title'] ?? '',
$response['amount'] ?? 0
);
if (empty($data2['link_id'])) {
$results[] = [
'nomor' => $no++,
'id' => $row['id'],
'transaction_id' => $row['transaction_id'],
'status' => 'error',
'message' => 'link_id kosong di transaction_data'
];
continue;
}
$results[] = [
'id' => $row['id'],
'transaction_id' => $row['transaction_id'],
'flip_response' => $delete
];
$flip = new FlipPaymentGateway($row['apikey_payment_gateway'], $row['url_payment_gateway']);
$delete = $flip->editBill(
$data2['link_id'],
'INACTIVE',
$data2['title'] ?? '',
$data2['amount'] ?? 0
);
if ($delete) {
$update = $pdo->prepare("UPDATE tagihan SET transaction_status = 'INACTIVE' WHERE id = :id");
$update->execute([':id' => $row['id']]);
}
// Delay 1 detik antar request agar tidak membanjiri Flip API
$results[] = [
'nomor' => $no++,
'id' => $row['id'],
'transaction_id' => $row['transaction_id'],
'title' => is_array($delete) ? ($delete['title'] ?? '(tidak ada title)') : '(tidak ada title)'
];
sleep(1);
} catch (Exception $e) {
$results[] = [
@@ -100,18 +211,16 @@ try {
}
}
// Simpan hasil ke log file, bukan echo ke output
file_put_contents(
$logFile,
"[" . date('Y-m-d H:i:s') . "] " . json_encode($results, JSON_UNESCAPED_SLASHES) . PHP_EOL,
"[" . date('Y-m-d H:i:s') . "] " . json_encode($results, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . PHP_EOL,
FILE_APPEND
);
} catch (Throwable $e) {
// Tangkap semua error (PDO/Exception)
file_put_contents(
"/www/wwwroot/bilspro/load/cronjob/flip_auto_inactive_error.log",
"[" . date('Y-m-d H:i:s') . "] ERROR: " . $e->getMessage() . PHP_EOL,
FILE_APPEND
);
}
}
+1 -1
View File
@@ -1 +1 @@
2025-11-10 17:30:07 ✅ Summary updated, rows affected: 1784
2025-11-11 12:45:05 ✅ Summary updated, rows affected: 1782
+1 -1
View File
@@ -1,4 +1,4 @@
Voucher: PG12HJNHP8KQ<br>Aktif => 2025-11-10 06:54:16<br>Format durasi tidak valid.<br>PHP Fatal error: Uncaught Exception: DateInterval::__construct(): Unknown or bad format () in /www/wwwroot/bilspro/load/hotspot_update.php:70
Voucher: PG12H7SA4LGC<br>Aktif => 2025-11-11 06:47:30<br>Format durasi tidak valid.<br>PHP Fatal error: Uncaught Exception: DateInterval::__construct(): Unknown or bad format () in /www/wwwroot/bilspro/load/hotspot_update.php:70
Stack trace:
#0 /www/wwwroot/bilspro/load/hotspot_update.php(70): DateInterval->__construct()
#1 {main}
+15 -15
View File
@@ -1,23 +1,23 @@
SV_Cikembar_Utama Data pelanggan tidak ada
2025-11-10 17:12:01SV_BojongKerta Data pelanggan tidak ada
2025-11-10 17:12:01RO Bima Net Data pelanggan tidak ada
2025-11-10 17:12:01SV_Kingnet_Cibadak Data pelanggan tidak ada
2025-11-10 17:12:01SV_CC-Net_Cipicung Data pelanggan tidak ada
2025-11-10 17:12:01SV_Nusaina_Cibadak Data pelanggan tidak ada
2025-11-10 17:12:01SV_Diamond Net Status koneksi tidak aktif atau interval tidak tersedia.
2025-11-11 12:25:00SV_BojongKerta Data pelanggan tidak ada
2025-11-11 12:25:00RO Bima Net Data pelanggan tidak ada
2025-11-11 12:25:00SV_Kingnet_Cibadak Data pelanggan tidak ada
2025-11-11 12:25:00SV_CC-Net_Cipicung Data pelanggan tidak ada
2025-11-11 12:25:00SV_Nusaina_Cibadak Data pelanggan tidak ada
2025-11-11 12:25:00SV_Diamond Net Status koneksi tidak aktif atau interval tidak tersedia.
SV_22P Net Cibadak Data pelanggan tidak ada
2025-11-10 17:12:01SV_Nettizen_Segaranten Data pelanggan tidak ada
2025-11-10 16:42:01SV-DNY-Net-1 Data pelanggan tidak ada
2025-11-10 17:22:01SV_NTA_2_PSW_1 Status koneksi tidak aktif atau interval tidak tersedia.
2025-11-11 12:25:00SV_Nettizen_Segaranten Data pelanggan tidak ada
2025-11-11 11:55:00SV-DNY-Net-1 Data pelanggan tidak ada
2025-11-11 12:35:00SV_NTA_2_PSW_1 Status koneksi tidak aktif atau interval tidak tersedia.
SV_NTA_1 Status koneksi tidak aktif atau interval tidak tersedia.
SV-Cicukang Status koneksi tidak aktif atau interval tidak tersedia.
RO-Bumdes-Mekarmanah Status koneksi tidak aktif atau interval tidak tersedia.
RO-Pak-Kholiq Data pelanggan tidak ada
2025-11-10 17:27:01RO-Dendrit-Net Status koneksi tidak aktif atau interval tidak tersedia.
2025-11-11 12:40:00RO-Dendrit-Net Status koneksi tidak aktif atau interval tidak tersedia.
LJN.NS.CSR.NET Status koneksi tidak aktif atau interval tidak tersedia.
IVVINET-CBD Data pelanggan tidak ada
2025-11-10 17:12:01QONNET Data pelanggan tidak ada
2025-11-10 17:12:01Mikrotik_X86 Status koneksi tidak aktif atau interval tidak tersedia.
2025-11-11 12:25:00QONNET Data pelanggan tidak ada
2025-11-11 12:25:00Mikrotik_X86 Status koneksi tidak aktif atau interval tidak tersedia.
Mikrotik_BSW_1 Status koneksi tidak aktif atau interval tidak tersedia.
Mikrotik_Alea Status koneksi tidak aktif atau interval tidak tersedia.
STANG Status koneksi tidak aktif atau interval tidak tersedia.
@@ -37,16 +37,16 @@ RO_Wargasari Status koneksi tidak aktif atau interval tidak tersedia.
LJN_AGUNG Status koneksi tidak aktif atau interval tidak tersedia.
RNET-CMS Status koneksi tidak aktif atau interval tidak tersedia.
DCN-GB-CCR Data pelanggan tidak ada
2025-11-10 17:12:01412NET Status koneksi tidak aktif atau interval tidak tersedia.
2025-11-11 12:25:00412NET Status koneksi tidak aktif atau interval tidak tersedia.
brf Status koneksi tidak aktif atau interval tidak tersedia.
BMSNET Status koneksi tidak aktif atau interval tidak tersedia.
purabaya Status koneksi tidak aktif atau interval tidak tersedia.
DCN-CO-GX4 Data pelanggan tidak ada
2025-11-10 17:12:01MIKROTIK GX4 Status koneksi tidak aktif atau interval tidak tersedia.
2025-11-11 12:25:00MIKROTIK GX4 Status koneksi tidak aktif atau interval tidak tersedia.
RO - Netborhood Wifi Status koneksi tidak aktif atau interval tidak tersedia.
Neglasari Status koneksi tidak aktif atau interval tidak tersedia.
SV-DNY-Net-2 Data pelanggan tidak ada
2025-11-10 17:22:01DNY-Neglasari Status koneksi tidak aktif atau interval tidak tersedia.
2025-11-11 12:35:00DNY-Neglasari Status koneksi tidak aktif atau interval tidak tersedia.
RO_TTO Status koneksi tidak aktif atau interval tidak tersedia.
AP - NET Status koneksi tidak aktif atau interval tidak tersedia.
GAS NET Status koneksi tidak aktif atau interval tidak tersedia.
+1 -2
View File
@@ -3,7 +3,6 @@ Successfully started background process for IP: 103.188.169.123 SV_22P Net Cibad
Successfully started background process for IP: tunnel.manjapro.net RO-Bumdes-Mekarmanah
Successfully started background process for IP: 103.242.104.69 RO-Dendrit-Net
Successfully started background process for IP: 103.26.176.93 LJN.NS.CSR.NET
Successfully started background process for IP: tunnel.manjapro.net RO_Asep
Successfully started background process for IP: 103.155.199.191 PERWASIM-NETWORK
Successfully started background process for IP: tunnel.manjapro.net SV_NTA_2_PSW_1
Successfully started background process for IP: tunnel.manjapro.net SV-Cicukang
@@ -18,4 +17,4 @@ Successfully started background process for IP: tunnel.manjapro.net SV_Diamond N
Successfully started background process for IP: tunnel.manjapro.net RO_Wargasari
Successfully started background process for IP: tunnel.manjapro.net RO_Sukasari
Successfully started background process for IP: tunnel.manjapro.net GAS NET
Started parallel processes for checking vouchers. => 2025-11-10 17:30:02
Started parallel processes for checking vouchers. => 2025-11-11 12:30:02
+40243 -19500
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
Tidak perlu update untuk ID: 2 Rp.200,000<br>Harga khusus untuk ID: 3 Rp.250,000<br>Tidak perlu update untuk ID: 4 Rp.300,000<br>Tidak perlu update untuk ID: 5 Rp.300,000<br>Tidak perlu update untuk ID: 6 Rp.200,000<br>Harga khusus untuk ID: 7 Rp.200,000<br>Tidak perlu update untuk ID: 8 Rp.200,000<br>Tidak perlu update untuk ID: 9 Rp.200,000<br>Tidak perlu update untuk ID: 10 Rp.200,000<br>Tidak perlu update untuk ID: 12 Rp.750,000<br>Tidak perlu update untuk ID: 13 Rp.750,000<br>Tidak perlu update untuk ID: 14 Rp.450,000<br>Tidak perlu update untuk ID: 15 Rp.450,000<br>Tidak perlu update untuk ID: 16 Rp.300,000<br>Harga khusus untuk ID: 17 Rp.300,000<br>Tidak perlu update untuk ID: 18 Rp.300,000<br>Tidak perlu update untuk ID: 19 Rp.450,000<br>Tidak perlu update untuk ID: 20 Rp.200,000<br>Tidak perlu update untuk ID: 21 Rp.300,000<br>Tidak perlu update untuk ID: 22 Rp.300,000<br>Tidak perlu update untuk ID: 23 Rp.450,000<br>Tidak perlu update untuk ID: 24 Rp.200,000<br>Tidak perlu update untuk ID: 25 Rp.250,000<br>Tidak perlu update untuk ID: 26 Rp.200,000<br>Tidak perlu update untuk ID: 28 Rp.200,000<br>Tidak perlu update untuk ID: 29 Rp.300,000<br>Tidak perlu update untuk ID: 30 Rp.200,000<br>Tidak perlu update untuk ID: 31 Rp.300,000<br>Tidak perlu update untuk ID: 32 Rp.200,000<br>Tidak perlu update untuk ID: 33 Rp.200,000<br>Tidak perlu update untuk ID: 34 Rp.200,000<br>Tidak perlu update untuk ID: 35 Rp.200,000<br>Tidak perlu update untuk ID: 36 Rp.200,000<br>Tidak perlu update untuk ID: 37 Rp.300,000<br>Tidak perlu update untuk ID: 38 Rp.200,000<br>Tidak perlu update untuk ID: 39 Rp.200,000<br>Harga khusus untuk ID: 40 Rp.1,000,000<br>Tidak perlu update untuk ID: 41 Rp.200,000<br>Harga harus diupdate untuk ID Data Server: 42 Rp.300,000<br>Harga khusus untuk ID: 43 Rp.100,000<br>Tidak perlu update untuk ID: 44 Rp.200,000<br>Tidak perlu update untuk ID: 45 Rp.300,000<br>Tidak perlu update untuk ID: 46 Rp.200,000<br>Tidak perlu update untuk ID: 47 Rp.200,000<br>Tidak perlu update untuk ID: 48 Rp.200,000<br>Tidak perlu update untuk ID: 49 Rp.200,000<br>Tidak perlu update untuk ID: 50 Rp.200,000<br>Tidak perlu update untuk ID: 51 Rp.200,000<br>Tidak perlu update untuk ID: 52 Rp.1,000,000<br>Tidak perlu update untuk ID: 53 Rp.200,000<br>Tidak perlu update untuk ID: 54 Rp.200,000<br>Tidak perlu update untuk ID: 55 Rp.200,000<br>Tidak perlu update untuk ID: 56 Rp.200,000<br>Tidak perlu update untuk ID: 57 Rp.200,000<br>Tidak perlu update untuk ID: 58 Rp.200,000<br>Tidak perlu update untuk ID: 59 Rp.200,000<br>Tidak perlu update untuk ID: 60 Rp.200,000<br>Tidak perlu update untuk ID: 61 Rp.300,000<br>Tidak perlu update untuk ID: 62 Rp.200,000<br>Tidak perlu update untuk ID: 63 Rp.200,000<br>Tidak perlu update untuk ID: 64 Rp.200,000<br>Tidak perlu update untuk ID: 65 Rp.200,000<br>Tidak perlu update untuk ID: 66 Rp.200,000<br>Tidak perlu update untuk ID: 67 Rp.200,000<br>Harga khusus untuk ID: 68 Rp.200,000<br>Harga khusus untuk ID: 69 Rp.200,000<br>Tidak perlu update untuk ID: 70 Rp.200,000<br>Tidak perlu update untuk ID: 71 Rp.200,000<br>Tidak perlu update untuk ID: 72 Rp.200,000<br>Tidak perlu update untuk ID: 73 Rp.200,000<br>Harga khusus untuk ID: 74 Rp.0<br>Harga khusus untuk ID: 75 Rp.0<br>Tidak perlu update untuk ID: 76 Rp.200,000<br>Tidak perlu update untuk ID: 77 Rp.200,000<br>Harga khusus untuk ID: 78 Rp.200,000<br>Harga khusus untuk ID: 79 Rp.200,000<br>Harga khusus untuk ID: 80 Rp.200,000<br>Harga khusus untuk ID: 81 Rp.300,000<br>
Tidak perlu update untuk ID: 2 Rp.200,000<br>Harga khusus untuk ID: 3 Rp.250,000<br>Tidak perlu update untuk ID: 4 Rp.300,000<br>Tidak perlu update untuk ID: 5 Rp.300,000<br>Tidak perlu update untuk ID: 6 Rp.200,000<br>Harga khusus untuk ID: 7 Rp.200,000<br>Tidak perlu update untuk ID: 8 Rp.200,000<br>Tidak perlu update untuk ID: 9 Rp.200,000<br>Tidak perlu update untuk ID: 10 Rp.200,000<br>Tidak perlu update untuk ID: 12 Rp.750,000<br>Tidak perlu update untuk ID: 13 Rp.750,000<br>Tidak perlu update untuk ID: 14 Rp.450,000<br>Tidak perlu update untuk ID: 15 Rp.450,000<br>Tidak perlu update untuk ID: 16 Rp.300,000<br>Harga khusus untuk ID: 17 Rp.300,000<br>Tidak perlu update untuk ID: 18 Rp.300,000<br>Tidak perlu update untuk ID: 19 Rp.450,000<br>Tidak perlu update untuk ID: 20 Rp.200,000<br>Tidak perlu update untuk ID: 21 Rp.300,000<br>Tidak perlu update untuk ID: 22 Rp.300,000<br>Tidak perlu update untuk ID: 23 Rp.450,000<br>Tidak perlu update untuk ID: 24 Rp.200,000<br>Tidak perlu update untuk ID: 25 Rp.250,000<br>Tidak perlu update untuk ID: 26 Rp.200,000<br>Tidak perlu update untuk ID: 28 Rp.200,000<br>Tidak perlu update untuk ID: 29 Rp.300,000<br>Tidak perlu update untuk ID: 30 Rp.200,000<br>Tidak perlu update untuk ID: 31 Rp.300,000<br>Tidak perlu update untuk ID: 32 Rp.200,000<br>Tidak perlu update untuk ID: 33 Rp.200,000<br>Tidak perlu update untuk ID: 34 Rp.200,000<br>Tidak perlu update untuk ID: 35 Rp.200,000<br>Tidak perlu update untuk ID: 36 Rp.200,000<br>Tidak perlu update untuk ID: 37 Rp.300,000<br>Tidak perlu update untuk ID: 38 Rp.200,000<br>Tidak perlu update untuk ID: 39 Rp.200,000<br>Harga khusus untuk ID: 40 Rp.1,000,000<br>Tidak perlu update untuk ID: 41 Rp.200,000<br>Tidak perlu update untuk ID: 42 Rp.300,000<br>Harga khusus untuk ID: 43 Rp.100,000<br>Tidak perlu update untuk ID: 44 Rp.200,000<br>Tidak perlu update untuk ID: 45 Rp.300,000<br>Tidak perlu update untuk ID: 46 Rp.200,000<br>Tidak perlu update untuk ID: 47 Rp.200,000<br>Tidak perlu update untuk ID: 48 Rp.200,000<br>Tidak perlu update untuk ID: 49 Rp.200,000<br>Tidak perlu update untuk ID: 50 Rp.200,000<br>Tidak perlu update untuk ID: 51 Rp.200,000<br>Tidak perlu update untuk ID: 52 Rp.1,000,000<br>Tidak perlu update untuk ID: 53 Rp.200,000<br>Tidak perlu update untuk ID: 54 Rp.200,000<br>Tidak perlu update untuk ID: 55 Rp.200,000<br>Tidak perlu update untuk ID: 56 Rp.200,000<br>Tidak perlu update untuk ID: 57 Rp.200,000<br>Tidak perlu update untuk ID: 58 Rp.200,000<br>Tidak perlu update untuk ID: 59 Rp.200,000<br>Tidak perlu update untuk ID: 60 Rp.200,000<br>Tidak perlu update untuk ID: 61 Rp.300,000<br>Tidak perlu update untuk ID: 62 Rp.200,000<br>Tidak perlu update untuk ID: 63 Rp.200,000<br>Tidak perlu update untuk ID: 64 Rp.200,000<br>Tidak perlu update untuk ID: 65 Rp.200,000<br>Tidak perlu update untuk ID: 66 Rp.200,000<br>Tidak perlu update untuk ID: 67 Rp.200,000<br>Harga khusus untuk ID: 68 Rp.200,000<br>Harga khusus untuk ID: 69 Rp.200,000<br>Tidak perlu update untuk ID: 70 Rp.200,000<br>Tidak perlu update untuk ID: 71 Rp.200,000<br>Tidak perlu update untuk ID: 72 Rp.200,000<br>Tidak perlu update untuk ID: 73 Rp.200,000<br>Harga khusus untuk ID: 74 Rp.0<br>Harga khusus untuk ID: 75 Rp.0<br>Tidak perlu update untuk ID: 76 Rp.200,000<br>Tidak perlu update untuk ID: 77 Rp.200,000<br>Harga khusus untuk ID: 78 Rp.200,000<br>Harga khusus untuk ID: 79 Rp.200,000<br>Harga khusus untuk ID: 80 Rp.200,000<br>Harga khusus untuk ID: 81 Rp.300,000<br>