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; } }
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; }
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 } }
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; }