PATH: //home/hwyuvbry/www/tools
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 balance_pp.php
↓
X
📄 balance_pp1.php
↓
X
📄 komisirabat.php
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: komisirabat.php
<?php ob_start(); session_start(); date_default_timezone_set("Asia/Jakarta"); include('../config/koneksi.php'); $sql_0 = mysqli_query($conn,"SELECT * FROM `tb_seo` WHERE cuid = 1") or die(mysqli_error()); $s0 = mysqli_fetch_array($sql_0); $urlweb = $s0['urlweb']; // Konfigurasi $logFile = __DIR__ . '/komisirabat_log.txt'; $minimalTransaksi = 200000; // Minimal transaksi per minggu $persen = 0.10; // 10% rabat $adminID = 1; // ID admin / panel yang akan dikurangi saldonya $emailAdmin = "takterima8@gmail.com"; // Email notifikasi $now = date('Y-m-d H:i'); // Check apakah hari ini Minggu pukul 15:00 WIB if(date('N') != 7 || date('H:i') < '15:00'){ exit; // tidak dijalankan selain Minggu jam 15:00 } // Hitung minggu terakhir $weeklyStart = date('Y-m-d H:i', strtotime('-7 days')); // 7 hari terakhir $weeklyEnd = $now; // Ambil semua user yang memiliki transaksi jenis 6 dalam minggu terakhir $getUsers = mysqli_query($conn," SELECT userID, SUM(total) as totalTransaksi FROM `tb_transaksi` WHERE `userID` NOT IN(1,20,116,121) AND `jenis` = 6 AND `date` BETWEEN '$weeklyStart' AND '$weeklyEnd' GROUP BY userID ORDER BY userID ") or die(mysqli_error($conn)); $rows = []; // Simpan data untuk email $log = "===== Komisi Rabat Mingguan Cron: $now =====\n"; while($gt = mysqli_fetch_array($getUsers)){ $userID = $gt['userID']; $totalTransaksi = $gt['totalTransaksi']; // Bonus rabat 1% $bonusRabat = round($totalTransaksi * $persen); // Cek apakah user sudah menerima rabat minggu ini $cekRabat = mysqli_query($conn," SELECT COUNT(*) as jml FROM `tb_transaksi` WHERE `userID` = '$userID' AND `jenis` = 4 AND `date` BETWEEN '$weeklyStart' AND '$weeklyEnd' ") or die(mysqli_error($conn)); $cr = mysqli_fetch_array($cekRabat); if($cr['jml'] == 0){ if($totalTransaksi >= $minimalTransaksi){ // Insert rabat $kode_unik = substr(str_shuffle('1234567890'),0,3); $kd_transaksi = date('Ymds').$kode_unik; $insertRabat = mysqli_query($conn," INSERT INTO `tb_transaksi` (`kd_transaksi`,`date`,`transaksi`,`total`,`saldo`,`note`, `gameid`,`providerID`,`jenis`,`metode`,`pay_from`,`userID`,`status`) VALUES ('$kd_transaksi','$now','Rabate','$bonusRabat','$bonusRabat','Bonus Mingguan','',0,4,0,0,'$userID',1) "); if($insertRabat){ // Update saldo user mysqli_query($conn,"UPDATE tb_user SET saldo = saldo + $bonusRabat WHERE cuid = '$userID'"); // Kurangi saldo admin mysqli_query($conn,"UPDATE tb_user SET saldo = saldo - $bonusRabat WHERE cuid = '$adminID'"); $log .= "Rabat user $userID berhasil: IDR ".number_format($bonusRabat,0,",",".")."\n"; $rows[] = [ 'userID' => $userID, 'totalTransaksi' => number_format($totalTransaksi,0,",","."), 'bonusRabat' => number_format($bonusRabat,0,",","."), 'status' => 'success' ]; } else { $log .= "Gagal insert rabat user $userID: ".mysqli_error($conn)."\n"; $rows[] = [ 'userID' => $userID, 'totalTransaksi' => number_format($totalTransaksi,0,",","."), 'bonusRabat' => '0', 'status' => 'error' ]; } } else { // Transaksi kurang dari minimal $log .= "User $userID tidak memenuhi minimal transaksi.\n"; $rows[] = [ 'userID' => $userID, 'totalTransaksi' => number_format($totalTransaksi,0,",","."), 'bonusRabat' => '0', 'status' => 'failed' ]; } } else { $log .= "User $userID sudah menerima rabat minggu ini.\n"; $rows[] = [ 'userID' => $userID, 'totalTransaksi' => number_format($totalTransaksi,0,",","."), 'bonusRabat' => '0', 'status' => 'already' ]; } } // Simpan log file_put_contents($logFile, $log, FILE_APPEND); // Buat email HTML $html = "<h2>Log Komisi Rabat Mingguan</h2>"; $html .= "<p>Periode: $weeklyStart s/d $weeklyEnd</p>"; $html .= "<table border='1' cellpadding='5' cellspacing='0' style='border-collapse: collapse;'>"; $html .= "<tr style='background-color:#007bff;color:#fff;'><th>UserID</th><th>Total Transaksi</th><th>Bonus Rabat</th></tr>"; foreach($rows as $r){ $color = 'black'; if($r['status'] == 'failed'){ $color = 'red'; // highlight user gagal dapat rabat } elseif($r['status'] == 'already'){ $color = 'orange'; // highlight user sudah mendapat rabat minggu ini } elseif($r['status'] == 'error'){ $color = 'purple'; // error insert } else { $color = 'green'; // sukses } $html .= "<tr style='text-align:center; color:$color;'>"; $html .= "<td>{$r['userID']}</td>"; $html .= "<td>{$r['totalTransaksi']}</td>"; $html .= "<td>{$r['bonusRabat']}</td>"; $html .= "</tr>"; } $html .= "</table>"; $html .= "<p>Total User Diberikan Rabat: ".count(array_filter($rows, fn($r)=>$r['status']=='success'))."</p>"; // Kirim email $subject = "Log Komisi Rabat Mingguan"; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $headers .= "From: noreply@domain.com\r\n"; // ganti sesuai domain server mail($emailAdmin, $subject, $html, $headers); ?>
SIMPAN PERUBAHAN