public static function log($app, $vpt)
 {
     if ($app->app_active != 1) {
         die("App harus active utk dapat komisi");
     }
     $acc = new Account();
     $acc->getByID($app->app_client_id);
     //        AppAccount::checkOwnership($app);
     if ($acc->admin_marketer != "") {
         $arrAcc = $acc->getWhere("admin_username = '******' LIMIT 0,1");
         if (count($arrAcc) > 0) {
             $marketer = $arrAcc[0];
         } else {
             //set default marketer to 7 /elroy
             $marketer = new Account();
             $marketer->getByID(Efiwebsetting::getData("Default_Agent_ID"));
         }
     } else {
         //set default marketer to 7 /elroy
         $marketer = new Account();
         $marketer->getByID(Efiwebsetting::getData("Default_Agent_ID"));
     }
     $paket = new Paket();
     $paket->getByID($app->app_paket_id);
     $komisi = new KomisiModel();
     $komisi->komisi_acc_id = $marketer->admin_id;
     $komisi->komisi_app_client_id = $app->app_client_id;
     $komisi->komisi_app_date = leap_mysqldate();
     $komisi->komisi_app_id = $app->app_id;
     $komisi->komisi_paket_id = $paket->paket_id;
     $komisi->komisi_value = $paket->paket_komisi;
     $komisi->komisi_status = 0;
     //blm dibayarkan
     $komisi->komisi_sisa = $paket->paket_komisi;
     $komisi->komisi_order_id = $vpt->order_id;
     $komisi->komisi_bagi_pertama_value = $paket->paket_komisi_satu;
     $komisi->komisi_bagi_kedua_value = $paket->paket_komisi_dua;
     //langsung save datenya saja sehingga gampang
     $pay1_date = getFirstDayOfNextMonth(date("n", strtotime($komisi->komisi_app_date)), date("Y", strtotime($komisi->komisi_app_date)));
     $pay2_date = getFirstDayOfNext4Month(date("n", strtotime($komisi->komisi_app_date)), date("Y", strtotime($komisi->komisi_app_date)));
     if ($paket->paket_id != 1) {
         $komisi->komisi_bagi_pertama_date = $pay1_date;
         $komisi->komisi_bagi_kedua_date = $pay2_date;
     }
     $succ = $komisi->save();
     if ($succ) {
         $isPending = 0;
         if ($paket->paket_id == 1) {
             $isPending = 1;
         }
         //email dpt komisi
         $dpt = new DataEmail();
         $dpt->dapatKomisi($marketer->admin_email, $paket->paket_komisi, $isPending, $acc->admin_nama_depan, $marketer->admin_isAgent);
         //tambah counter paket //atau ambil counter paket disini
         if ($paket->paket_id == 1) {
             //free
             //check sudah ada brp paid yang sudah dibayar dll
             //cek apa bisa tingtong
             self::checkTingTongFree($app, $marketer, $succ, $paket, $acc, "free");
             $komisi = new KomisiModel();
             $nr = $komisi->getJumlah("komisi_acc_id = '{$marketer->admin_id}' AND komisi_paket_id = 1");
             $marketer->admin_total_free_sales = $nr;
             $marketer->load = 1;
             $marketer->save();
         } else {
             //pakai BagiKomisi
             //cek apa bisa di tingtong
             self::checkTingTongFree($app, $marketer, $succ, $paket, $acc, "paid");
             $komisi = new KomisiModel();
             $nr = $komisi->getJumlah("komisi_acc_id = '{$marketer->admin_id}' AND (komisi_paket_id = 2 OR komisi_paket_id = 3)");
             $marketer->admin_total_paid_sales = $nr;
             $marketer->load = 1;
             $marketer->save();
             //cek sudah kena kelipatan 6 blom
             $bonus = new BonusKomisi();
             $bonus->getByID($nr);
             if ($bonus->bk_bonus_paid != "" && $bonus->bk_bonus_paid > 0) {
                 //masukan ke bonus
                 $bagiKomisi = new BagiKomisi();
                 $bagiKomisi->bagi_id = $marketer->admin_id . "_" . $nr;
                 $bagiKomisi->bagi_acc_id = $marketer->admin_id;
                 $bagiKomisi->bagi_bk_id = $nr;
                 $bagiKomisi->bagi_date_acquire = leap_mysqldate();
                 $bagiKomisi->bagi_status = 0;
                 //unpaid
                 $bagiKomisi->bagi_value = $bonus->bk_bonus_paid;
                 $bagiKomisi->save();
             }
         }
     }
 }