Esempio n. 1
0
 public function forgotPassword()
 {
     //POST
     //uname  username / email
     //nanti dikirim email balesane
     $username = addslashes($_POST["uname"]);
     $acc = new Account();
     global $db;
     $sql = "SELECT * FROM {$acc->table_name} WHERE (admin_username = '******' OR admin_email = '{$username}') AND admin_aktiv = 1 ";
     $obj = $db->query($sql, 1);
     if ($obj->admin_id > 0) {
         $email = $obj->admin_email;
         $uname = $obj->admin_username;
         $hash = Account::updateHash($obj->admin_id);
         $link = _BPATH . "resetPassword?hkd={$hash}&rdid=" . $obj->admin_id . "&ptt=" . md5(rand(0, 1000) . time());
         $dapatEmail = new DataEmail();
         if ($dapatEmail->forgotPassword($email, $uname, $link)) {
             $json['status_code'] = 1;
             $json['status_message'] = "Check your email to reset password";
             echo json_encode($json);
             die;
         }
     } else {
         $json['status_code'] = 0;
         $json['status_message'] = "We cannot find Account with this username/email.";
         echo json_encode($json);
         die;
     }
 }
Esempio n. 2
0
 function actionAgent()
 {
     $id = addslashes($_POST['acc_id']);
     $action = addslashes($_POST['action']);
     $acc = new Account();
     $acc->getByID($id);
     $dataemail = new DataEmail();
     $json['bool'] = 0;
     if ($action == "accept") {
         $acc->admin_isAgent = 1;
         $acc->admin_inbox_update = leap_mysqldate();
         $succ = $acc->save();
         if ($succ) {
             //notify Agent kalau sudah di approve
             $dataemail->agentAccepted($acc->admin_email, $acc->admin_username);
             $json['bool'] = $succ;
         }
     }
     if ($action == "reject") {
         $acc->admin_isAgent = 0;
         $acc->admin_inbox_update = leap_mysqldate();
         $succ = $acc->save();
         //email ke client & agent
         if ($succ) {
             //email ke agent
             $dataemail->agentRejected($acc->admin_email, $acc->admin_username);
             $json['bool'] = $succ;
         }
     }
     echo json_encode($json);
     die;
 }
Esempio n. 3
0
 function testSendEmail()
 {
     $de = new DataEmail();
     pr($de->registrationSuccessWithOutVerify("*****@*****.**", "elroy"));
 }
 static function checkTingTong($app, $agent, $kom_id, $paket, $acc, $mode = "free")
 {
     $km = new KomisiModel();
     if ($mode == "free") {
         //cari yang paid
         $arrKom = $km->getWhere("komisi_acc_id = '{$agent->admin_id}' AND (komisi_paket_id = 2 OR komisi_paket_id = 3) AND komisi_ting_tong = 0 ORDER BY komisi_app_date ASC LIMIT 0,1");
     } else {
         $arrKom = $km->getWhere("komisi_acc_id = '{$agent->admin_id}' AND (komisi_paket_id = 1) AND komisi_ting_tong = 0 ORDER BY komisi_app_date ASC LIMIT 0,1");
     }
     if (count($arrKom) > 0) {
         //ada yang paid bisa ditingtong
         $km = $arrKom[0];
         $km->komisi_ting_tong = 1;
         //tingtong
         $km->komisi_tingtong_date = leap_mysqldate();
         $km->save();
         $pay1_date = getFirstDayOfNextMonth(date("n", strtotime($km->komisi_tingtong_date)), date("Y", strtotime($km->komisi_tingtong_date)));
         $pay2_date = getFirstDayOfNext4Month(date("n", strtotime($km->komisi_tingtong_date)), date("Y", strtotime($km->komisi_tingtong_date)));
         if ($km->komisi_paket_id == "1") {
             $km->komisi_bagi_pertama_date = $pay1_date;
             $km->komisi_bagi_kedua_date = $pay2_date;
             $km->save();
         }
         $kmsatunya = new KomisiModel();
         $kmsatunya->getByID($kom_id);
         $kmsatunya->komisi_ting_tong = 1;
         $kmsatunya->komisi_tingtong_date = leap_mysqldate();
         $kmsatunya->save();
         if ($kmsatunya->komisi_paket_id == "1") {
             $kmsatunya->komisi_bagi_pertama_date = $pay1_date;
             $kmsatunya->komisi_bagi_kedua_date = $pay2_date;
             $kmsatunya->save();
         }
         //send email
         //email dpt komisi
         $dpt = new DataEmail();
         $dpt->dapatKomisiTingTong($agent->admin_email, $paket->paket_komisi, 0, $acc->admin_nama_depan, $agent->admin_isAgent);
         //nanti cari yang free dan sudah tingtong dan belum dibayarkan
         //untuk dibayarkan
     }
 }
Esempio n. 5
0
 function handling()
 {
     echo 1;
     if ($this->isProd) {
         Veritrans_Config::$isProduction = true;
     }
     echo 3;
     Veritrans_Config::$serverKey = $this->getKeyUsed();
     echo 4;
     $raw_notification = "";
     try {
         $notif = new Veritrans_Notification();
         $input_source = "php://input";
         $raw_notification = file_get_contents($input_source);
     } catch (Exception $e) {
         echo "<h2>" . $e->getMessage() . "</h2>";
     }
     echo "<h1>jahahaa</h1>";
     $transaction = $notif->transaction_status;
     $type = $notif->payment_type;
     $order_id = $notif->order_id;
     $fraud = $notif->fraud_status;
     $vpt = new VpTransaction();
     $vpt->getByID($order_id);
     //dataemail
     $dataemail = new DataEmail();
     if ($transaction == 'capture') {
         // For credit card transaction, we need to check whether transaction is challenge by FDS or not
         if ($type == 'credit_card') {
             if ($fraud == 'challenge') {
                 // TODO set payment status in merchant's database to 'Challenge by FDS'
                 // TODO merchant should decide whether this transaction is authorized or not in MAP
                 echo "Transaction order_id: " . $order_id . " is challenged by FDS";
                 $vpt->order_message = "Transaction order_id: " . $order_id . " is challenged by FDS";
                 $vpt->order_status = 3;
                 $vpt->save();
                 //notify User
                 $app = new AppAccount();
                 $app->getByID($vpt->order_app_id);
                 $acc = new Account();
                 $acc->getByID($app->app_client_id);
                 $dataemail->appPaymentMode($acc->admin_email, $acc->admin_username, $app->app_name, $fraud);
             } else {
                 // TODO set payment status in merchant's database to 'Success'
                 echo "Transaction order_id: " . $order_id . " successfully captured using " . $type;
                 $vpt->order_message = "Transaction order_id: " . $order_id . " successfully captured using " . $type;
                 $vpt->order_status = 2;
                 $vpt->save();
                 //notify User
                 //update active di app
                 $app = new AppAccount();
                 $app->getByID($vpt->order_app_id);
                 $app->app_contract_start = date("Y-m-d");
                 $app->app_contract_end = date('Y-m-d', strtotime(date("Y-m-d", mktime()) . " + 365 day"));
                 $app->app_active = 1;
                 $app->app_paket_id = $vpt->order_paket_id;
                 $app->save();
                 //notify Admins kalau ada app active
                 $dataemail->appBisaDibuat($app->app_name, $app->app_id, $transaction);
                 //notify User
                 $acc = new Account();
                 $acc->getByID($app->app_client_id);
                 $dataemail->appPaymentSuccess($acc->admin_email, $acc->admin_username, $app->app_name);
                 //hitung komisi
                 //ini belum bener
                 //TODO 31 maret 2016
                 KomisiModel::log($app, $vpt);
                 //email dapat komisi
             }
         }
     } else {
         if ($transaction == 'settlement') {
             // TODO set payment status in merchant's database to 'Settlement'
             echo "Transaction order_id: " . $order_id . " successfully transfered using " . $type;
             $oldstatus = $vpt->order_status;
             $vpt->order_message = "Transaction order_id: " . $order_id . " successfully transfered using " . $type;
             $vpt->order_status = 1;
             $vpt->save();
             if ($oldstatus != 2) {
                 //update active di app
                 $app = new AppAccount();
                 $app->getByID($vpt->order_app_id);
                 $app->app_contract_start = date("Y-m-d");
                 $app->app_contract_end = date('Y-m-d', strtotime(date("Y-m-d", mktime()) . " + 365 day"));
                 $app->app_active = 1;
                 $app->app_paket_id = $vpt->order_paket_id;
                 $app->save();
                 //notify Admins kalau ada app active
                 $dataemail->appBisaDibuat($app->app_name, $app->app_id, $transaction);
                 //notify User
                 $acc = new Account();
                 $acc->getByID($app->app_client_id);
                 $dataemail->appPaymentSettle($acc->admin_email, $acc->admin_username, $app->app_name);
                 //hitung komisi
                 //TODO 31 maret 2016
                 KomisiModel::log($app, $vpt);
                 //email dpt komisi
             }
         } else {
             if ($transaction == 'pending') {
                 // TODO set payment status in merchant's database to 'Pending'
                 echo "Waiting customer to finish transaction order_id: " . $order_id . " using " . $type;
                 $vpt->order_message = "Waiting customer to finish transaction order_id: " . $order_id . " using " . $type;
                 $vpt->order_status = 4;
                 $vpt->save();
                 //notify User
                 $app = new AppAccount();
                 $app->getByID($vpt->order_app_id);
                 $acc = new Account();
                 $acc->getByID($app->app_client_id);
                 $dataemail->appPaymentMode($acc->admin_email, $acc->admin_username, $app->app_name, $transaction);
             } else {
                 if ($transaction == 'deny') {
                     // TODO set payment status in merchant's database to 'Denied'
                     echo "Payment using " . $type . " for transaction order_id: " . $order_id . " is denied.";
                     $vpt->order_message = "Payment using " . $type . " for transaction order_id: " . $order_id . " is denied.";
                     $vpt->order_status = 5;
                     $vpt->save();
                     //notify User
                     $app = new AppAccount();
                     $app->getByID($vpt->order_app_id);
                     $acc = new Account();
                     $acc->getByID($app->app_client_id);
                     $dataemail->appPaymentMode($acc->admin_email, $acc->admin_username, $app->app_name, "denied");
                 } else {
                     if ($transaction == 'cancel') {
                         // TODO set payment status in merchant's database to 'Denied'
                         echo "Payment using " . $type . " for transaction order_id: " . $order_id . " is canceled.";
                         $vpt->order_message = "Payment using " . $type . " for transaction order_id: " . $order_id . " is canceled.";
                         $vpt->order_status = 6;
                         $vpt->save();
                         //notify User
                         $app = new AppAccount();
                         $app->getByID($vpt->order_app_id);
                         $acc = new Account();
                         $acc->getByID($app->app_client_id);
                         $dataemail->appPaymentMode($acc->admin_email, $acc->admin_username, $app->app_name, "canceled");
                     }
                 }
             }
         }
     }
     $vp = new VpData();
     $vp->vp_date = leap_mysqldate();
     $vp->vp_obj = serialize($notif) . " ||| " . $raw_notification;
     $vp->approval_code = $notif->approval_code;
     $vp->order_id = $notif->order_id;
     $vp->status_code = $notif->status_code;
     $vp->transaction_status = $notif->transaction_status;
     $vp->status_message = $notif->status_message;
     $vp->transaction_id = $notif->transaction_id;
     $vp->masked_card = $notif->masked_card;
     $vp->gross_amount = $notif->gross_amount;
     $vp->payment_type = $notif->payment_type;
     $vp->transaction_time = $notif->transaction_time;
     $vp->fraud_status = $notif->fraud_status;
     $vp->approval_code = $notif->approval_code;
     $vp->signature_key = $notif->signature_key;
     $vp->bank = $notif->bank;
     $vp->eci = $notif->eci;
     $vp->save();
     pr($notif);
     /*
              * Veritrans_Notification Object
     (
         [response:Veritrans_Notification:private] => stdClass Object
             (
                 [status_code] => 200
                 [status_message] => Success, transaction found
                 [transaction_id] => a293ec21-9572-4333-9a41-640a6789b713
                 [masked_card] => 518323-9790
                 [order_id] => 1084599542
                 [gross_amount] => 10000.00
                 [payment_type] => credit_card
                 [transaction_time] => 2016-02-17 15:20:37
                 [transaction_status] => capture
                 [fraud_status] => accept
                 [approval_code] => T08489
                 [signature_key] => 12a2c1d52cdd03326727b1ee0cc8a9f658146dbaedac46490f269183291885772e5a31a121c94ebde9f501733c8e7802cf74c3bb839ad687188456c3bf0d45e0
                 [bank] => bni
                 [eci] => 02
             )
     
     )
     */
     die;
 }
 public static function processRegister($mode = "web")
 {
     //masi copy paste
     $uname_min = 5;
     $uname_max = 15;
     $passwd_min = 5;
     $passwd_max = 15;
     $hp_min = 9;
     $hp_max = 15;
     $json = array();
     $json['err'] = "";
     $json['bool'] = 0;
     //utk webservices
     $json['status_code'] = 0;
     $json['status_message'] = "Incomplete Request";
     if ($mode == "web") {
         //check captcha
         if (isset($_POST['g-recaptcha-response'])) {
             $captcha = $_POST['g-recaptcha-response'];
         }
         if (!$captcha) {
             $json['err'] .= Lang::t('Please verify that you are not a robot') . "<br>";
         } else {
             $response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6LdxXBMTAAAAAAgT0r9Vgly2P8yyrtU2Io-OVDZa&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
             if ($response . success == false) {
                 $json['err'] .= Lang::t('Please verify that you are not a robot') . "<br>";
             } else {
                 //echo '<h2>Thanks for posting comment.</h2>';
                 //human
                 //                $json['err'] .= Lang::t('HUMANNN')."<br>";
             }
         }
         //END check captcha
         //check token
         $rand = $_SESSION['rand'];
         $token = $_POST['token'];
         if ($rand != $token) {
             $json['err'] .= "Wrong Token<br>";
         }
     }
     //eND check token
     //check username
     $uname = addslashes($_POST['uname']);
     if (!validate_alphanumeric_underscore($uname)) {
         $json['err'] .= "Username must be alphanumeric<br>";
     }
     if ($uname == "") {
         $json['err'] .= "Username cannot be empty<br>";
     }
     if (strlen($uname) < $uname_min || strlen($uname) > $uname_max) {
         $json['err'] .= "The username is the wrong length. Min {$uname_min} Max {$uname_max} Characters.<br>";
     }
     //apakah sudah terpakai
     //END
     //Check password
     $pwd = addslashes($_POST['pwd']);
     //        if(!validate_alphanumeric_underscore($pwd)){
     //            $json['err'] .= "Password must be alphanumeric<br>";
     //        }
     if ($pwd == "") {
         $json['err'] .= "Password cannot be empty<br>";
     }
     if (strlen($pwd) < $passwd_min || strlen($pwd) > $passwd_max) {
         $json['err'] .= "The password is the wrong length. Min {$passwd_min} Max {$passwd_max} Characters.<br>";
     }
     $pwd2 = addslashes($_POST['pwd2']);
     if ($pwd != $pwd2) {
         $json['err'] .= "Password mismatched.<br>";
     }
     //EnD
     //CHeck name
     $name = addslashes($_POST['name']);
     if ($name == "") {
         $json['err'] .= "Name cannot be empty<br>";
     }
     if (!preg_match("/^[a-zA-Z ]*\$/", $name)) {
         $json['err'] .= "Only letters and white space allowed<br>";
     }
     //END
     //Check Address
     //        $addresss = addslashes($_POST['addresss']);
     //        if($addresss==""){
     //            $json['err'] .= "Address cannot be empty<br>";
     //        }
     //END
     //Check email
     $email = addslashes($_POST['email']);
     if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
         $json['err'] .= "Invalid Email Address<br>";
     }
     //apakah sudah terpakai
     //END
     //Check Phone
     $phone = addslashes($_POST['phone']);
     if (strlen($phone) < $hp_min || strlen($phone) > $hp_max) {
         $json['err'] .= "The phone is the wrong length. Min {$hp_min} Max {$hp_max} Characters.<br>";
     }
     //ENd
     if ($json['err'] == "") {
         //cek apakah email dan username masi free
         $acc = new Account();
         $nr = $acc->getJumlah("admin_email = '{$email}'");
         $nr2 = $acc->getJumlah("admin_username = '******'");
         if ($nr > 0) {
             $json['err'] .= "Email is already being registered.<br>";
         }
         if ($nr2 > 0) {
             $json['err'] .= "Username is already being registered.<br>";
         }
         if ($json['err'] == "") {
             //process password
             $crypt = Account::cryptPassword($pwd);
             //save as new Account
             $acc->admin_email = $email;
             $acc->admin_ip = $_SERVER['REMOTE_ADDR'];
             $acc->admin_nama_depan = $name;
             $acc->admin_password = $crypt;
             $acc->admin_username = $uname;
             $acc->admin_role = "normal_user";
             $acc->admin_type = 1;
             $acc->admin_aktiv = 0;
             $acc->admin_hash = md5($uname . $pwd . time());
             $acc->admin_reg_date = leap_mysqldate();
             $acc->admin_lastupdate = leap_mysqldate();
             $acc->admin_marketer = addslashes($_POST['marketer']);
             $acc->admin_phone = $phone;
             $mid = $acc->save();
             if ($mid) {
                 $needVerify = Efiwebsetting::getData("needVerify");
                 $dataEmail = new DataEmail();
                 if ($needVerify == "true") {
                     $succEmail = $dataEmail->registrationSuccessWithVerify($email, $uname, $acc->admin_hash);
                 } else {
                     //aktivasi langsung
                     $arrAcc = $acc->getWhere("admin_email = '{$email}' LIMIT 0,1");
                     $acc2 = $arrAcc[0];
                     $acc2->load = 1;
                     //                        $acc->getByID($mid);
                     $acc2->admin_aktiv = 1;
                     $acc2->save();
                     $succEmail = $dataEmail->registrationSuccessWithOutVerify($email, $uname);
                     //kalau ada marketer send ke marketer jg
                     if ($acc2->admin_marketer != "") {
                         $arrAcc2 = $acc->getWhere("admin_username = '******' LIMIT 0,1");
                         if (count($arrAcc2) > 0) {
                             $acc_marketer = $arrAcc2[0];
                             $succEmail2 = $dataEmail->registrationSuccessToMarketer($acc_marketer->admin_email, $uname, $acc2->admin_marketer);
                         } else {
                             $succEmail2 = $dataEmail->registrationSuccessToMarketer(Efiwebsetting::getData("franchiseEmail"), $uname, $acc2->admin_marketer);
                             $acc2->admin_marketer = "";
                             $acc2->save();
                         }
                     }
                     //loginin
                     $_POST['admin_username'] = $acc->admin_username;
                     $_POST['admin_password'] = $acc->admin_password;
                     $_POST['rememberme'] = 1;
                     $username = addslashes($_POST["admin_username"]);
                     $password = addslashes($_POST["admin_password"]);
                     $rememberme = isset($_POST["rememberme"]) ? 1 : 0;
                     $row = array("admin_username" => $username, "admin_password" => $password, "rememberme" => $rememberme, "admin_ldap" => 0);
                     if ($mode == "web") {
                         //login pakai row credential
                         Auth::login($row);
                     }
                 }
                 //send email
                 //                    $lm = new Leapmail();
                 //                    $lm->senderMail = "*****@*****.**";
                 //sementara disini..krn response error
                 $json['status_code'] = 1;
                 $json['status_message'] = "Registration Success";
                 $json['bool'] = 1;
                 $json['mid'] = $mid;
                 if ($succEmail) {
                     //                        $json['err'] .= $succEmail;
                 } else {
                     $json['err'] .= "Send Email failed. Please <a href='" . _SPPATH . "contact'>contact</a> us by email or phone.<br>";
                 }
             } else {
                 $json['status_code'] = 0;
                 $json['status_message'] = "Saving failed";
                 $json['err'] .= "Save failed. Please <a href='" . _SPPATH . "contact'>contact</a> us by email or phone.<br>";
             }
         }
     }
     echo json_encode($json);
     die;
 }