$formstatus = FALSE; F_stripslashes_formfields(); } // check if ssn is unique if (isset($user_ssn) and strlen($user_ssn) > 0 and !F_check_unique(K_TABLE_USERS, 'user_ssn=\'' . F_escape_sql($db, $user_ssn) . '\'')) { F_print_error('WARNING', $l['m_duplicate_ssn']); $formstatus = FALSE; F_stripslashes_formfields(); } // check password if (!empty($newpassword) or !empty($newpassword_repeat)) { // update password if ($newpassword == $newpassword_repeat) { $user_password = getPasswordHash($newpassword); // update OTP key $user_otpkey = F_getRandomOTPkey(); } else { //print message and exit F_print_error('WARNING', $l['m_different_passwords']); $formstatus = FALSE; F_stripslashes_formfields(); } } else { //print message and exit F_print_error('WARNING', $l['m_empty_password']); $formstatus = FALSE; F_stripslashes_formfields(); } if ($formstatus) { mt_srand((double) microtime() * 1000000); $user_verifycode = md5(uniqid(mt_rand(), true));
public function admin($action = false, $psbUserId = false, $psbCodeActivate = false) { $this->_session = $this->template->set('session', $this->session->userdata('sessionData')); $this->_backendmenus = $this->init->getMenusBackend(); $this->init->checkauth(); if (!$this->init->restrictip()) { redirect(base_url('error/forbidden')); } switch ($action) { case 'json': $order_field = array('user_id', 'psb_reg_firstname', 'psb_reg_lastname', 'psb_reg_code'); //don't edit me, pengaturan json untuk menampilkan data di datatable $order_key = !$this->input->get('iSortCol_0') ? 0 : $this->input->get('iSortCol_0'); $order = !$this->input->get('iSortCol_0') ? $this->default_order : $order_field[$order_key]; $sort = !$this->input->get('sSortDir_0') ? 'desc' : $this->input->get('sSortDir_0'); $search = !$this->input->get('sSearch') ? '' : $this->input->get('sSearch'); $limit = !$this->input->get('iDisplayLength') ? $this->limit : $this->input->get('iDisplayLength'); $start = !$this->input->get('iDisplayStart') ? 0 : $this->input->get('iDisplayStart'); $data['no'] = $start + 1; $data['sEcho'] = !$this->input->get('callback') ? 0 : $this->input->get('callback'); $count_tmp = $this->psb_model->count_all(1, $search, $order_field)->result(); $data['iTotalRecords'] = count($count_tmp); //load data supplier dari database $data['listPendaftar'] = $this->psb_model->get_paged_list($limit, $start, $order, $sort, $search, $order_field, 1)->result(); $data['callback'] = $this->input->get('callback'); $results['sEcho'] = $data['sEcho']; // $results['iSortingCols'] = $data['iSortingCols']; $results['iTotalRecords'] = $results['iTotalDisplayRecords'] = $data['iTotalRecords']; if (count($data['listPendaftar']) > 0) { $i = 0; foreach ($data['listPendaftar'] as $pendaftar) { $nomor = '<div style="text-align:center;">' . $data['no'] . '</a>'; // $d = new DateTime($agenda->agenda_datetime); // $timestamp = $d->getTimestamp(); // Unix timestamp // $agendaDate = $d->format('Y-m-d'); // 2003-10-16 // $tgl = ($agenda->agenda_datetime!='0000-00-00 00:00:00' && $agenda->agenda_datetime!='')?tgl_indo(date('Y-m-d', strtotime($agenda->agenda_datetime))).' '.date('h:i A', strtotime($agenda->agenda_datetime)):'<div style="text-align:center;">-</div>'; // $status = (date('Y-m-d') > $agendaDate)?'<center><span class="label label-warning">Tidak Aktif</span></center>':'<center><span class="label label-success">Aktif</span></center>'; $tanggal = ""; $status = ""; $action = ""; if ($pendaftar->psb_reg_status == '0' && $pendaftar->pendaftar_status == '0' && $pendaftar->user_status == '') { $tanggal = $pendaftar->psb_reg_date_create != '0000-00-00 00:00:00' && $pendaftar->psb_reg_date_create != '' ? tgl_indo(date('Y-m-d', strtotime($pendaftar->psb_reg_date_create))) . ' ' . date('h:i A', strtotime($pendaftar->psb_reg_date_create)) : '-'; $status = "Baru Daftar"; $action = '<div style="text-align:center;">'; //Hitung Jumlah hari $hari1 = $pendaftar->psb_reg_date_create; $hari2 = date('Y-m-d H:i:s'); $jmlHari = hitung_hari($hari1, $hari2); if ($jmlHari > 14) { $action .= '<a href="' . base_url('psb/admin/update/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-success"><i class="fa fa-edit"></i></a>'; $action .= " "; } $action .= '<a href="' . base_url('psb/admin/read/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-info" title="Detil Data PPDB"><i class="fa fa-search-plus"></i></a>'; $action .= "</div>"; } elseif ($pendaftar->user_status == '0' && $pendaftar->psb_reg_status == '1' && $pendaftar->pendaftar_status == '0') { $tglupdate = explode('|', $pendaftar->psb_reg_date_update); $tanggal = $pendaftar->psb_reg_date_update != '' ? tgl_indo(date('Y-m-d', strtotime($tglupdate[0]))) . ' ' . date('h:i A', strtotime($tglupdate[0])) : '<div style="text-align:center;">-</div>'; $status = "Sudah Aktivasi (Transfer)"; $action = '<div style="text-align:center;">'; $action .= '<a href="' . base_url('psb/admin/update/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-success"><i class="fa fa-edit"></i></a>'; $action .= " "; $action .= '<a href="' . base_url('psb/admin/read/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-info" title="Detil Data PPDB"><i class="fa fa-search-plus"></i></a>'; $action .= "</div>"; } elseif ($pendaftar->user_status == '0' && $pendaftar->psb_reg_status == '2' && $pendaftar->pendaftar_status == '1') { $tglupdate = explode('|', $pendaftar->psb_reg_date_update); $tanggal = $pendaftar->psb_reg_date_update != '' ? tgl_indo(date('Y-m-d', strtotime($tglupdate[1]))) . ' ' . date('h:i A', strtotime($tglupdate[1])) : '<div style="text-align:center;">-</div>'; $status = "Pembayaran verified"; $action = '<div style="text-align:center;">'; $action .= '<a href="' . base_url('psb/admin/update/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-success"><i class="fa fa-edit"></i></a>'; $action .= " "; $action .= '<a href="' . base_url('psb/admin/read/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-info" title="Detil Data PPDB"><i class="fa fa-search-plus"></i></a>'; $action .= "</div>"; } elseif ($pendaftar->user_status == '0' && $pendaftar->psb_reg_status == '2' && $pendaftar->pendaftar_status == '2') { $tglupdate = explode('|', $pendaftar->pendaftar_update); $tanggal = $pendaftar->pendaftar_update != '' ? tgl_indo(date('Y-m-d', strtotime($tglupdate[1]))) . ' ' . date('h:i A', strtotime($tglupdate[1])) : '<div style="text-align:center;">-</div>'; $status = "Data Pendaftar Ok"; $action = '<div style="text-align:center;">'; $action .= '<a href="' . base_url('psb/admin/update/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-success"><i class="fa fa-edit"></i></a>'; $action .= " "; $action .= '<a href="' . base_url('psb/admin/read/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-info" title="Detil Data PPDB"><i class="fa fa-search-plus"></i></a>'; $action .= "</div>"; } elseif ($pendaftar->user_status == '0' && $pendaftar->psb_reg_status == '2' && $pendaftar->pendaftar_status == '3') { $tglupdate = explode('|', $pendaftar->pendaftar_update); $tanggal = $pendaftar->pendaftar_update != '' ? tgl_indo(date('Y-m-d', strtotime($tglupdate[2]))) . ' ' . date('h:i A', strtotime($tglupdate[2])) : '<div style="text-align:center;">-</div>'; $status = "Telah Mengikuti Test"; $action = '<div style="text-align:center;">'; $action .= '<a href="' . base_url('psb/admin/update/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-success"><i class="fa fa-edit"></i></a>'; $action .= " "; $action .= '<a href="' . base_url('psb/admin/read/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-info" title="Detil Data PPDB"><i class="fa fa-search-plus"></i></a>'; $action .= "</div>"; } elseif ($pendaftar->user_status == '1' && $pendaftar->psb_reg_status == '2' && $pendaftar->pendaftar_status == '4') { $tglupdate = explode('|', $pendaftar->pendaftar_update); $tanggal = $pendaftar->pendaftar_update != '' ? tgl_indo(date('Y-m-d', strtotime($tglupdate[3]))) . ' ' . date('h:i A', strtotime($tglupdate[3])) : '<div style="text-align:center;">-</div>'; $status = "Lulus Test"; $action = '<div style="text-align:center;">'; $action .= '<a href="' . base_url('psb/admin/update/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-success"><i class="fa fa-edit"></i></a>'; $action .= " "; $action .= '<a href="' . base_url('psb/admin/read/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-info" title="Detil Data PPDB"><i class="fa fa-search-plus"></i></a>'; $action .= "</div>"; } elseif ($pendaftar->user_status == '99' && $pendaftar->psb_reg_status == '99' && $pendaftar->pendaftar_status == '99') { $tglupdate = explode('|', $pendaftar->pendaftar_update); $tanggal = $pendaftar->pendaftar_update != '' ? tgl_indo(date('Y-m-d', strtotime($tglupdate[4]))) . ' ' . date('h:i A', strtotime($tglupdate[4])) : '<div style="text-align:center;">-</div>'; $status = "Tidak Lulus Test"; $action = '<div style="text-align:center;">'; // $action .= '<a href="'.base_url('psb/admin/update/'.base64_encode($pendaftar->user_id).'/'.base64_encode($pendaftar->user_activation_code)).'" class="btn btn-success"><i class="fa fa-edit"></i></a>'; // $action .= " "; $action .= '<a href="' . base_url('psb/admin/read/' . base64_encode($pendaftar->user_id) . '/' . base64_encode($pendaftar->user_activation_code)) . '" class="btn btn-info" title="Detil Data PPDB"><i class="fa fa-search-plus"></i></a>'; $action .= "</div>"; } $namaLengkap = $pendaftar->psb_reg_firstname . ' ' . $pendaftar->psb_reg_lastname; $results['aaData'][$i] = array($nomor, $namaLengkap, $tanggal, $status, $action); $data['no']++; ++$i; } } else { for ($i = 0; $i < 6; ++$i) { $results['aaData'][0][$i] = ''; } } print $data['callback'] . json_encode($results); // $this->template->single('admin/anggota/lists.json', $data); break; case 'update': if ($psbUserId == '' && $psbCodeActivate == '') { redirect(base_url('psb/admin')); } if ($updatePost = $this->input->post()) { $dataPendaftar = array(); $dataRegister = array(); $dataUjianOnline = array(); $dataUjianOnlineGroup = array(); $getAuthLog = $this->psb_model->getUserById(base64_decode($psbUserId))->row_array(); $getPendaftarByUserId = $this->psb_model->getRCalonSiswaByUserId(base64_decode($psbUserId))->row_array(); $pecahUpdateTgl = explode('|', $getPendaftarByUserId['pendaftar_update']); $getRegistranByUserId = $this->psb_model->getRegisterByUserId(base64_decode($psbUserId))->row_array(); $pecahUpdateTglRegister = explode('|', $getRegistranByUserId['psb_reg_date_update']); $noDaftar = $updatePost['pendaftar_dari'] . '-' . $updatePost['no_pendataran_otomatis']; $validate = $updatePost['paymentStatus']; $dataPendaftar = array('pendaftar_tahun_ajar_id' => $updatePost['tahun_ajar'], 'pendaftar_nomor' => $noDaftar, 'pendaftar_keterangan' => '', 'pendaftar_update' => $pecahUpdateTgl[0] . '|' . date('Y-m-d H:i:s'), 'pendaftar_status' => 1); $dataRegister = array('psb_reg_date_update' => $pecahUpdateTglRegister[0] . '|' . date('Y-m-d H:i:s'), 'psb_reg_status' => $validate); mt_srand((double) microtime() * 1000000); $dataUjianOnline = array('user_regdate' => date('Y-m-d H:i:s'), 'user_ip' => $this->input->ip_address(), 'user_name' => $getAuthLog['user_name'], 'user_email' => $getAuthLog['user_email'], 'user_password' => getPasswordHash($getAuthLog['user_password_forget']), 'user_regnumber' => $noDaftar, 'user_firstname' => $getPendaftarByUserId['pendaftar_nama_depan'], 'user_lastname' => $getPendaftarByUserId['pendaftar_nama_belakang'], 'user_birthdate' => '', 'user_birthplace' => '', 'user_ssn' => random_string('numeric', 9), 'user_level' => 1, 'user_verifycode' => md5(uniqid(mt_rand(), true)), 'user_otpkey' => F_getRandomOTPkey()); $userIdTest = $this->psb_model->registerOnlineTest($dataUjianOnline); $dataUjianOnlineGroup = array('usrgrp_user_id' => $userIdTest, 'usrgrp_group_id' => 2); $updateAdmin = $this->psb_model->registerOnlineTestGroup($dataUjianOnlineGroup); $updateAdmin .= $this->psb_model->updateCalonsiswa(base64_decode($psbUserId), $dataPendaftar); $updateAdmin .= $this->psb_model->updateRegistran(base64_decode($psbUserId), $dataRegister); // if($updateAdmin){ $isi = "Assalamu'alaikum Wr. Wb. <br />Selamat Datang di Pendaftaran Siswa Baru SMAIH BATAM"; $isi .= "Berikut Data - Data Verifikasi Pembayaran Anda:<br /><br /> "; $isi .= "Nama : <strong>" . $getRegistranByUserId['psb_reg_firstname'] . " " . $getRegistranByUserId['psb_reg_lastname'] . "</strong> <br />"; $isi .= "Status Pembayaran : " . ($validate == 1) ? '<strong>Belum diverifikasi</strong> <br />' : '<strong>Sudah diverifikasi</strong> <br />'; $isi .= "Username Online Test : <strong>" . $getAuthLog['user_name'] . "</strong> <br />"; $isi .= "Password Online Test : <strong>" . $getAuthLog['user_password_forget'] . "</strong> <br />"; $isi .= "Sebelum mengikuti test online silahkan lengkapi terlebih dahulu data calon siswa dengan mengunjungi <a href='" . base_url('psb/activation/step-2/' . base64_encode($getAuthLog['user_activation_code'])) . "' target='_blank'>Halaman Berikut</a><br /> "; $isi .= "Dan ikuti instruksi yang ada dihalaman tersebut. Demikian informasi yang dapat kami sampaikan.<br />"; $isi .= "Wassalamu'alaikum Wr. Wb.<br />"; $this->email->from('*****@*****.**'); // change it to yours $this->email->to($getAuthLog['user_email']); // change it to yours $this->email->subject('[PPDB-SMAIH-' . date('Y') . '] Verifikasi Pembayaran Pendaftaran Online'); $this->email->message($isi); //Jika Sukses if ($this->email->send()) { // $this->email->print_debugger(); $this->session->set_flashdata('sukses_update', 'Data pendaftar dan data ujian oline diperbaharui dan disimpan ke database.'); redirect(base_url('psb/admin')); } else { //Jika Gagal echo "Maaf ada kesalahan pada saat pemrosesan data. silahkan ulangi lagi klik <a href='javascript: window.history.go(-1)'>disini</a>"; } // } } $this->template->title('Manajemen PPDB', $this->init->getSettingVal('gen_site_name'))->set_breadcrumb('Home', base_url('home/dashboard'))->set_breadcrumb('Verify Data PPDB', '#')->set('pagedesc', 'Manajemen PPDB <small>Pengelolaan Penerimaan Siswa Baru</small>')->set('modul', $this->_backendmenus)->set('kodeAktivasi', base64_decode($psbCodeActivate))->set('userID', base64_decode($psbUserId))->set('listThnAjar', $this->psb_model->getListThnAjar()->result_array())->set('getOneUser', $this->psb_model->getUserById(base64_decode($psbUserId))->row_array())->set('getOneRegister', $this->psb_model->getRegisterByUserId(base64_decode($psbUserId))->row_array())->set('getOneCalonSiswa', $this->psb_model->getRCalonSiswaByUserId(base64_decode($psbUserId))->row_array())->set('content', 'psb/update')->build('template'); break; case 'read': if ($psbUserId == '' && $psbCodeActivate == '') { redirect(base_url('psb/admin')); } $this->template->title('Manajemen PPDB', $this->init->getSettingVal('gen_site_name'))->set_breadcrumb('Home', base_url('home/dashboard'))->set_breadcrumb('Detail Data PPDB', '#')->set('pagedesc', 'Manajemen PPDB <small>Pengelolaan Penerimaan Siswa Baru</small>')->set('modul', $this->_backendmenus)->set('getOneUser', $this->psb_model->getUserById(base64_decode($psbUserId))->row_array())->set('getOneRegister', $this->psb_model->getRegisterByUserId(base64_decode($psbUserId))->row_array())->set('getOneCalonSiswa', $this->psb_model->getRCalonSiswaByUserId(base64_decode($psbUserId))->row_array())->set('content', 'psb/detail')->build('template'); break; default: $this->template->title('Manajemen PPDB', $this->init->getSettingVal('gen_site_name'))->set_breadcrumb('Home', base_url('home/dashboard'))->set_breadcrumb('Daftar Pendaftar PPDB', '#')->set('pagedesc', 'Manajemen PPDB <small>Pengelolaan Penerimaan Siswa Baru</small>')->set('modul', $this->_backendmenus)->set('content', 'psb/list')->build('template'); break; } }