public function detailbooking() { global $CONFIG, $basedomain; $getProvinsi = $this->contentHelper->getProvinsi(); $this->view->assign('prov', $getProvinsi); if (isset($_POST['submit'])) { $nama = $_POST['nama']; $alamat = $_POST['alamat']; $no_telp = $_POST['no_telp']; $email = $_POST['email']; $kota = $_POST['kota']; $provinsi = $_POST['provinsi']; $jumlah_kamar = $_POST['jumlah_kamar']; $extra_bed = $_POST['extra_bed']; $tamu_dewasa = $_POST['tamu_dewasa']; $tamu_anak = $_POST['tamu_anak']; $data = $this->contentHelper->inputbooking($_POST); // pr($data); if ($data['status'] == 1) { foreach ($data as $key => $value) { if ($key == 'tanggal_masuk') { $data['tanggalMasuk'] = changeDate($value); } if ($key == 'tanggal_keluar') { $data['tanggalKeluar'] = changeDate($value); } } $date1 = new DateTime($data['tanggal_masuk']); $date2 = new DateTime($data['tanggal_keluar']); $diff = $date2->diff($date1)->format("%a"); $data['total'] = number_format($diff * 300000); $this->view->assign('data', $data); $msg = $this->loadView('emailTemplate'); $send = sendGlobalMail($data['email'], false, $msg); // pr($data); // pr($msg); // exit; // echo "<script>alert('Data berhasil disimpan, silahkan periksa email anda');window.location.href='".$basedomain."booking'</script>"; } } $tanggal_masuk = $_SESSION['data_booking']['tanggal_masuk']; $tanggal_keluar = $_SESSION['data_booking']['tanggal_keluar']; $tipe_kamar = $_SESSION['data_booking']['tipe_kamar']; $date1 = new DateTime($tanggal_masuk); $date2 = new DateTime($tanggal_keluar); $diff = $date2->diff($date1)->format("%a"); $jumlahbook = 300000 * $diff; $this->view->assign('jumlahhari', $diff); $this->view->assign('jumlahbook', number_format($jumlahbook)); $this->view->assign('data', $_SESSION['data_booking']); return $this->loadView('booking/detail_booking'); }
function forgotPassword() { global $CONFIG; $token = _p('token'); $this->view->assign('status', true); if ($token) { // pr($_POST); $getToken = $this->loginHelper->getUserEmail(_p('email'), true); if ($getToken) { // send mail before activate account $dataArr['email'] = $getToken['email']; $dataArr['username'] = $getToken['username']; $dataArr['password'] = $getToken['password']; $dataArr['token'] = sha1('reset' . $getToken['email']); $dataArr['validby'] = $getToken['email_token']; $dataArr['regfrom'] = 1; $dataArr['reset'] = 1; $inflatData = encode(serialize($dataArr)); logFile($inflatData); $to = $getToken['email']; $from = $CONFIG['email']['EMAIL_FROM_DEFAULT']; // $msg = "To activate your account please <a href='{$basedomain}login/validate/?ref={$inflatData}'>click here</a>"; $this->view->assign('email', $getToken['email']); $this->view->assign('username', $getToken['username']); $this->view->assign('encode', $inflatData); $this->view->assign('content', "reset"); $msg = "<p>Hi " . $getToken['username'] . "!</p>"; $msg .= $this->loadView('emailTemplate'); // try to send mail // pr($getToken); // exit; $sendMail = sendGlobalMail($to, $from, $msg, true); logFile('mail reset account send ' . serialize($sendMail)); $this->view->assign('status', true); } else { $this->view->assign('status', false); } // $this->activityHelper->updateEmailLog(false,$to,'account',0); /*$verifiedData = $this->loginHelper->resetAccount($to); if ($verifiedData){ echo 'true'; }*/ } return $this->loadView('forgot-password'); }
function signup() { global $basedomain; // pr($_POST); if ($_POST['g-recaptcha-response']) { $response = json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6LcrRQwTAAAAACtWyyx6tUJO_TWg8l7ddhrriCDI&response=" . $_POST['g-recaptcha-response'] . "&remoteip=" . $_SERVER['REMOTE_ADDR']), true); // pr($response); if ($response['success'] == false) { echo '<h2>You are spammer ! Get the @$%K out</h2>'; exit; } else { if ($_POST['token']) { $is_email_valid = false; $email_validate = $_POST['email']; if (filter_var($email_validate, FILTER_VALIDATE_EMAIL)) { $is_email_valid = true; } if (!$is_email_valid) { logFile('email not valid = ' . $email_validate); redirect($basedomain . 'register'); exit; } $register = $this->userHelper->createAccount($_POST); if ($register) { $this->view->assign('email', $register['email']); $this->view->assign('name', $register['name']); $this->view->assign('encode', $register['encode']); $html = $this->loadView('akun/emailTemplate'); // db($register); // logFile($msg); // $html = "klik link berikut ini {$basedomain}register/validate/?ref={$msg}"; $send = sendGlobalMail($register['email'], false, $html); redirect($basedomain . 'register/status'); } else { redirect($basedomain . 'register'); } exit; } } } else { echo "<script>alert('Silahkan Cek Captcha terlebih dahulu')</script>"; redirect($basedomain . "register"); } }
/** * @todo insert individu from posted data * */ public function insertIndiv() { global $basedomain, $CONFIG; $data = $_POST; //get data user from session $session = new Session(); //$login = $session->get_session(); //$userData = $login['ses_user']; $userData = $session->get_session(); $personID = $userData['login']['id']; $data['personID'] = $personID; //pr($personID);exit; $insertData = $this->insertonebyone->insertTransaction('indiv', $data); if ($insertData) { if ($insertData['status']) { $sess_onebyone = array('indivID' => $insertData['lastid']); $session->set_session($sess_onebyone, 'onebyone'); //Email notif $html = "Data telah diperbaharui"; $data_email = $this->insertonebyone->get_email(); pr($html); // $send = sendGlobalMail(trim($data_email),$CONFIG['email']['EMAIL_FROM_DEFAULT'],$html); $send = sendGlobalMail('*****@*****.**', $CONFIG['email']['EMAIL_FROM_DEFAULT'], $html); vd($send); exit; exit; $this->msg->add('s', 'Sukses Memperbarui Individu'); // header('Location: ../onebyone/detContent'); redirect($basedomain . 'onebyone/detContent'); } else { $this->msg->add('e', 'Gagal Memperbarui Individu'); // header('Location: ../onebyone/indivContent'); redirect($basedomain . 'onebyone/indivContent'); } } else { $this->msg->add('e', 'Gagal Memperbarui Individu'); // header('Location: ../onebyone/indivContent'); redirect($basedomain . 'onebyone/indivContent'); } }
function debug() { $param = _g('param'); if ($param) { switch ($param) { case '1': phpinfo(); break; case '2': sendGlobalMail('*****@*****.**', '*****@*****.**', 'testing send mail'); break; default: echo 'debug mode not specified'; break; } } else { echo 'param : <br>1. Php Info</br>2. Send Mail'; } exit; }
/** * @todo create new user * * @return $statusName and $msgName = status and message for validating name * @return $statusEmail and $msgEmail = status and message for validating email * @return $statusUsername and $msgUsername = status and message for validating username * @return $statusTwitter and $msgTwitter = status and message for validating twitter */ function doSignup() { global $CONFIG; $data = $_POST; $checkEmail = $this->loginHelper->checkEmail($data['email']); $checkUsername = $this->loginHelper->checkUsername($data['username']); $checkTwitter = $this->loginHelper->checkTwitter($data['twitter']); if ($checkEmail !== true || $checkUsername !== true || $checkTwitter !== true) { $statusEmail = ""; $msgEmail = ""; $statusUsername = ""; $msgUsername = ""; $statusTwitter = ""; $msgTwitter = ""; if ($checkEmail !== true) { $statusEmail = "exist"; $msgEmail = "Email already exist"; } if ($checkUsername !== true) { $statusUsername = "******"; $msgUsername = "******"; } if ($checkTwitter !== true) { $statusTwitter = "exist"; $msgTwitter = "Twitter already exist"; } echo json_encode(array('statusEmail' => $statusEmail, 'msgEmail' => $msgEmail, 'statusUsername' => $statusUsername, 'msgUsername' => $msgUsername, 'statusTwitter' => $statusTwitter, 'msgTwitter' => $msgTwitter)); exit; } // else{ // echo json_encode(array('status' => 'error')); // exit; // } if ($checkEmail && $checkUsername && $checkTwitter) { $signup = $this->loginHelper->createUser($data); // uncomment in server // if ($signup){ $getToken = $this->loginHelper->getEmailToken($data['username']); // send mail before activate account $dataArr['email'] = $data['email']; $dataArr['username'] = $data['username']; $dataArr['password'] = $data['password']; $dataArr['token'] = sha1('register' . $data['email']); $dataArr['validby'] = $getToken['email_token']; $dataArr['regfrom'] = 1; $inflatData = encode(serialize($dataArr)); logFile($inflatData); $to = $data['email']; $from = $CONFIG['email']['EMAIL_FROM_DEFAULT']; // $msg = "To activate your account please <a href='{$basedomain}login/validate/?ref={$inflatData}'>click here</a>"; $this->view->assign('email', $data['email']); $this->view->assign('username', $data['username']); $this->view->assign('encode', $inflatData); $this->view->assign('content', "pembuatan"); $msg = "<p>Hi " . $data['username'] . "!</p>"; $msg .= $this->loadView('emailTemplate'); // try to send mail $sendMail = sendGlobalMail($to, $from, $msg, true); logFile('mail send ' . serialize($sendMail)); $this->activityHelper->updateEmailLog(false, $to, 'account', 0); // } echo json_encode(array('status' => true)); exit; } exit; }
function register() { global $basedomain, $CONFIG, $LOCALE; $salt = md5('register'); if ($_POST['submit']) { $checkBefore['table'] = "bsn_users"; $checkBefore['condition'] = array('email' => $_POST['email']); $checkDataBefore = $this->contentHelper->fetchData($checkBefore); if ($checkDataBefore) { if ($checkDataBefore) { echo "<script>alert('Email sudah digunakan');window.location.href='{$basedomain}home/register'</script>"; } exit; } $pass = _p('pass'); $pass1 = _p('retypePass'); if ($pass === $pass1) { $_POST['password'] = sha1($salt . $pass . $salt); $_POST['salt'] = $salt; $_POST['n_status'] = 0; $_POST['register_date'] = date('Y-m-d H:i:s'); $_POST['login_count'] = 0; $_POST['type'] = 2; $_POST['email_token'] = $this->token; if ($_POST['receiveNotif']) { $_POST['data'] = serialize(array('getNotif' => 1)); } $signup = $this->contentHelper->saveData($_POST, "_users"); if ($signup) { $data['table'] = "bsn_users"; $data['condition'] = array('email' => $_POST['email']); $checkData = $this->contentHelper->fetchData($data); if ($checkData) { // send mail $dataSend['email'] = $checkData[0]['email']; $dataSend['email_token'] = $checkData[0]['email_token']; $serial = encode($dataSend); $this->view->assign('encode', $serial); $this->view->assign('email', $checkData[0]['email']); $this->view->assign('password', $pass); $this->view->assign('name', $checkData[0]['name']); $this->view->assign('text', "Your request for new account."); $link = "<a href='{$basedomain}home/verified/?token={$serial}'>{$LOCALE['default']['email_verification']}</a>"; $this->view->assign('link', $link); $html = $this->loadView('emailTemplate'); $send = sendGlobalMail(trim($checkData[0]['email']), $CONFIG['email']['EMAIL_FROM_DEFAULT'], $html); logFile($send); if ($send) { redirect($basedomain . 'home/register_confirmation/?status=1'); } } } else { redirect($basedomain . 'home/register'); } } } return $this->loadView('akun/register'); }
/** * @todo insert data transaction * * @param $table = table name * @param $data = array data to insert * @param $db2 = boolean using second database or not * * @return $insert = status and last id of inserted data * * */ function insertTransaction($table = false, $data = array()) { global $CONFIG, $basedomain; if (!$table and empty($data)) { return false; } $startTransaction = $this->begin(); if (!$startTransaction) { return false; } logFile('====one by one: TRANSACTION READY===='); /*if($table == 'person'){ $username = $data['username']; unset($data['username']); }*/ // if table det if ($table == 'det') { $kewid = $data['kewid']; $fam = $data['family']; $gen = $data['genus']; $sp = $data['species']; unset($data['kewid'], $data['family'], $data['genus'], $data['species']); if (empty($data['taxonID'])) { if (empty($data['taxonID']) && !empty($data['kewid'])) { $check_exist = $this->data_exist('taxon', 'kewid', $kewid); if ($check_exist) { $data['taxonID'] = $check_exist['id']; } else { $dataPlantlist = $this->data_exist('plantlist', 'kewid', $kewid); $insertPlantlist = $this->move_plantlist($dataPlantlist); $data['taxonID'] = $insertPlantlist['lastid']; } } else { $select = $this->select_plantlist($fam, $gen, $sp); $select_exist = $this->data_exist('taxon', 'kewid', $select['kewid']); if ($select_exist) { $data['taxonID'] = $select_exist['id']; } else { $insertSelected = $this->move_plantlist($select); $data['taxonID'] = $insertSelected['lastid']; } } } } // end if table det $insert = $this->insertData($table, $data); if ($insert['status'] == 0) { $this->rollback(); logFile('====one by one: failed insert data===='); $return['status'] = false; } else { // if table person, insert generated password if ($table == 'person') { $salt = $CONFIG['default']['salt']; $register_date = date('Y-m-d H:i:s'); $token = sha1(CODEKIR . date('ymdhis')); //this is the generated password $genPass = $this->generate_pass(); //this is the encrypted password $password = sha1($genPass . $salt); //this is the generated username $username = $this->generate_pass(); //insert to table florakb_person $dataPass = array('id' => $insert['lastid'], 'password' => $password, 'username' => $username, 'salt' => $salt, 'register_date' => $register_date, 'email_token' => $token); $insert_dataPas = $this->insertData('florakb_person', $dataPass, true); if ($insert_dataPas['status'] == 0) { $this->rollback(); logFile('====onebyone: failed insert to florakb_person===='); $return['status'] = false; } else { /* EMAIL */ // send mail before activate account $dataArr['email'] = $data['email']; $dataArr['username'] = $username; //logFile('onebyone: generate account '.serialize($dataArr)); $generateMail = $this->activityHelper->generateEmail($dataArr['email'], $dataArr['username'], 2, $token); if (is_array($generateMail)) { $sendUserAccount = sendGlobalMail($generateMail['to'], $generateMail['from'], $generateMail['msg'], true); logFile('onebyone: generate account success ' . serialize($sendUserAccount)); if ($sendUserAccount['result']) { $this->activityHelper->updateEmailLog(false, $data['email'], 'account', 1); logFile('onebyone: send account to email success'); $this->commit(); $return['status'] = true; $return['lastid'] = $insert['lastid']; } else { logFile('onebyone: send account to email failed'); $this->rollback(); $return['status'] = false; } } else { logFile('onebyone: generate email failed'); $this->rollback(); $return['status'] = false; } /* EMAIL */ } // insert to table florakb_person } else { $this->commit(); logFile('====onebyone: success inserting data===='); $return['status'] = true; $return['lastid'] = $insert['lastid']; } } return $return; exit; }
function ins_balas() { global $basedomain, $CONFIG; //get FILES first foreach ($_POST as $index => $string) { if (strpos($string, 'fileUploadKey|') !== FALSE) { $matches[] = $string; unset($_POST[$index]); } } foreach ($matches as $key => $value) { $tmp[$key] = explode("|", $value); $files[$key]['nama'] = $tmp[$key][1]; $files[$key]['path'] = $tmp[$key][2]; $files[$key]['size'] = $tmp[$key][3]; } $_POST['idUser'] = $this->user['idUser']; $_POST['isi'] = htmlentities(htmlspecialchars($_POST['isi'], ENT_QUOTES)); $_POST['tanggal'] = date("Y-m-d"); // db($_POST); $this->model->insert_balas($_POST); $idComment = $this->model->getLatestId('bsn_comment'); if (!empty($files)) { $pathFile = $CONFIG['default']['upload_path']; foreach ($files as $key => $val) { //copy & remove file $moved = copy($pathFile . "tmp/" . $val['nama'], $pathFile . $val['nama']); deleteFile($val['nama'], 'tmp'); $data['nama'] = $val['nama']; $data['path'] = $val['path']; $data['size'] = $val['size']; $data['type'] = 1; $data['idComment'] = $idComment['id']; $data['n_status'] = 1; $this->model->insert_file($data); } } //kirim email $dataPengaduan = $this->model->getPengaduanOnly($_POST['idPengaduan']); if (!empty($dataPengaduan['disposisi'])) { $destination = $dataPengaduan['disposisi']; } else { $destination = 3; $admin = 1; } $userToEmail = $this->model->getAllUserSatker($destination, $admin); foreach ($userToEmail as $key => $val) { $this->view->assign('name', $val['name']); $this->view->assign('judul', $dataPengaduan['judul']); $this->view->assign('tanggal', $dataPengaduan['tanggalformat']); $this->view->assign('idLaporan', $dataPengaduan['idLaporan']); $this->view->assign('id', $_POST['idPengaduan']); $html = $this->loadView('pengaduan/emailBalasan'); $send = sendGlobalMail(trim($val['email']), $CONFIG['email']['EMAIL_FROM_DEFAULT'], $html); } echo "<script>alert('Data Berhasil Masuk');window.location.href='" . $basedomain . "pengaduan/detail/?id={$_POST['idPengaduan']}'</script>"; exit; }
/** * @todo insert person from posted data * */ public function insertPerson() { $data = $_POST; ob_start(); $insertData = $this->insertonebyone->insertTransaction('person', $data); //manual submission form /*if($insertData){ if($insertData['status']){ $this->msg->add('s', 'Update Person Success'); }else{ $this->msg->add('e', 'Update Person Failed'); } }else{ $this->msg->add('e', 'Update Person Failed'); } header('Location: ../onebyone/detContent');*/ //ajax form if ($insertData) { if (isset($insertData['msg'])) { $data['msg'] = $insertData['msg']; } if ($insertData['status']) { //sending email $email = $insertData['dataEmail']; $msg = null; $this->view->assign('username', $email['username']); $this->view->assign('email', $email['email']); $this->view->assign('encode', $email['encode']); $msg .= "<p>Hi " . $email['username'] . "!</p>"; $msg .= $this->loadView('emailTemplate'); // try to send mail $sendUserAccount = sendGlobalMail($email['to'], $email['from'], $msg, true); logFile('onebyone: generate account success ' . serialize($sendUserAccount)); ob_end_clean(); if ($sendUserAccount['result']) { $this->activityHelper->updateEmailLog(false, $email['email'], 'account', 1); logFile('onebyone: send account to email success'); $data['id'] = $insertData['lastid']; $data['status'] = 'success'; echo json_encode($data); //$this->insertonebyone->commitTransaction(); } else { $this->activityHelper->updateEmailLog(false, $email['email'], 'account', 0); logFile('onebyone: send account to email failed'); $data['status'] = 'error'; $data['msg'] = 'Gagal mengirim akun data melalui email'; echo json_encode($data); //$this->insertonebyone->rollbackTransaction(); } //sending email } else { $data['status'] = 'error'; echo json_encode($data); } } else { if (isset($insertData['msg'])) { $data['msg'] = $insertData['msg']; } $data['status'] = 'error'; echo json_encode($data); } exit; }
function passrecover() { global $basedomain; $str = randString(8); if ($_POST['token']) { $is_email_valid = false; $email_validate = $_POST['email']; if (filter_var($email_validate, FILTER_VALIDATE_EMAIL)) { $is_email_valid = true; } if (!$is_email_valid) { logFile('email not valid = ' . $email_validate); redirect($basedomain . 'register'); exit; } $getdata = $this->userHelper->getUserData('email', $_POST['email']); if ($getdata) { $pass = sha1($getdata['salt'] . $str . $getdata['salt']); $updatedata = $this->userHelper->recovepass($getdata['idUser'], $pass); $this->view->assign('email', $getdata['email']); $this->view->assign('username', $getdata['username']); $this->view->assign('name', $getdata['name']); $this->view->assign('newpass', $str); $html = $this->loadView('akun/emailRecovery'); // db($register); // logFile($msg); // $html = "klik link berikut ini {$basedomain}register/validate/?ref={$msg}"; $send = sendGlobalMail($getdata['email'], false, $html); echo "<script>alert('Email recovery anda sudah di kirim. Silahkan cek email anda.')</script>"; redirect($basedomain); } else { redirect($basedomain . 'register'); } exit; } }