public function deleteOrder() { $po = new CartModel(); $po_id = isset($_GET['po']) ? addslashes($_GET['po']) : die('no id'); $po->getByID($po_id); if ($po->userid != Account::getMyID()) { die('Hacking Attempt'); } $po->payment_status = 4; $po->load = 1; $po->save(); CartWeb::kurangiStok($po_id, 0, 0); header("Location:" . _SPPATH . "myorder"); exit; }
public static function kurangiStok($po_id, $minus = 1, $session = 1) { if ($session) { $arrObjBulk = isset($_SESSION['cartqty_bulk']) ? $_SESSION['cartqty_bulk'] : array(); $arrObjRetail = isset($_SESSION['cartqty']) ? $_SESSION['cartqty'] : array(); } else { $cm = new CartModel(); $cm->getByID($po_id); $arrObjBulk = json_decode($cm->po_pesanan_bulk); $arrObjRetail = json_decode($cm->po_pesanan_retail); } $out_of_stock_ID = array(); //kebutuhan $kebutuhan = array(); //get all product $arrProd = array(); //bulk foreach ($arrObjBulk as $numb => $objb) { if ($session) { $pid = $objb['id']; $qty = $objb['qty']; } else { $pid = $objb->id; $qty = $objb->qty; } if ($pid == "" || $pid < 1) { continue; } $exp = explode(",", $pid); foreach ($exp as $numc => $obj_real) { $p = new ProdModel(); $p->getByID($obj_real); $arrProd[$obj_real] = $p; //cek apakah outof stok $kebutuhan[$obj_real]++; } foreach ($kebutuhan as $obj_real => $jumlah) { $kebutuhan[$obj_real] = $jumlah * $qty; } } //satuan foreach ($arrObjRetail as $num => $obj) { if ($session) { $pid = $obj['id']; $qty = $obj['qty']; } else { $pid = $obj->id; $qty = $obj->qty; } if ($pid == "" || $pid < 1) { continue; } $p = new ProdModel(); $p->getByID($pid); $arrProd[$pid] = $p; $kebutuhan[$pid] += $qty; } //pr($kebutuhan); foreach ($kebutuhan as $pid => $jumlah) { $prod = $arrProd[$pid]; //kalau session ga bisa out of stock if ($prod->prod_stock < $jumlah && $session) { continue; } //isi log $ps = new ProdStok(); $ps->stok_date = leap_mysqldate(); $ps->stok_prev = $prod->prod_stock; $ps->stok_po_id = $po_id; $ps->stok_prod_id = $prod->prod_id; $ps->stok_userid = Account::getMyID(); if ($minus) { //kurangi stok $prod->prod_stock -= $jumlah; } else { $prod->prod_stock += $jumlah; } $prod->load = 1; $prod->save(); $ps->stock_note = "Pemesanan Customer"; if (!$session) { $ps->stock_admin = 1; $ps->stock_note = "Admin Update {$minus}"; } $ps->stok_actual = $prod->prod_stock; if ($ps->stok_prev > $ps->stok_actual) { $ps->stok_debit_credit = 1; } else { $ps->stok_debit_credit = 0; } $ps->save(); } }
public function setStatus() { $payment_status = isset($_GET['ps']) ? addslashes($_GET['ps']) : die('no ps'); $po_id = isset($_GET['po']) ? addslashes($_GET['po']) : die('no po'); $po = new CartModel(); $po->getByID($po_id); $payment_status_lama = $po->payment_status; if ($payment_status_lama == '3') { //canceled ke gak canceled // kurangi stok CartWeb::kurangiStok($po_id, 1, 0); } if ($payment_status == '3') { //gak canceled ke canceled // release stok //tambah stok CartWeb::kurangiStok($po_id, 0, 0); } if ($payment_status == '1') { //leap mail $lm = new Leapmail(); $lm->senderMail = "*****@*****.**"; $isi .= "Terima Kasih Anda Telah Melakukan Pembayaran \n\n"; $isi .= ""; $isi .= "Detail Pesanan : " . _BPATH . "CartOrder/details?po={$po_id} \n"; $isi .= "Order History : " . _BPATH . "myorder \n\n"; $isi .= "\n\n Pengiriman akan kami jalankan secepatnya."; $isi .= "\n\n Lama delivery sesuai JNE delivery sekitar 3-4 hari untuk paket REGULAR dan 1 hari untuk paket Yakin Esok Sampai."; $isi .= "\n\n Untuk Informasi lebih lanjut bisa melakukan email ke info@b3l1.com"; $lm->sendEmail($po->user_email, "Konfirmasi Pemrosesan Pemesanan Produk B3l1.COM", $isi); } if ($payment_status == '2') { //leap mail $lm = new Leapmail(); $lm->senderMail = "*****@*****.**"; $isi .= "Pengiriman Produk Pesanan Anda Sudah Dilakukan \n\n"; $isi .= ""; $isi .= "Detail Pesanan : " . _BPATH . "CartOrder/details?po={$po_id} \n"; $isi .= "Order History : " . _BPATH . "myorder \n\n"; $isi .= "\n\n Lama delivery sesuai JNE delivery sekitar 3-4 hari untuk paket REGULAR dan 1 hari untuk paket Yakin Esok Sampai."; $isi .= "\n\n Untuk Informasi lebih lanjut bisa melakukan email ke info@b3l1.com"; $lm->sendEmail($po->user_email, "Pengiriman Produk B3l1.COM", $isi); } $po->payment_status = $payment_status; $po->load = 1; $po->save(); }