api for user, login admin and server side tables
This commit is contained in:
@ -14,8 +14,9 @@ class Api extends RestController
|
||||
function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
// $this->load->model('model');;
|
||||
$this->load->model('model');;
|
||||
// $this->db->query("SET sql_mode = '' ");
|
||||
date_default_timezone_set("Asia/Kuala_Lumpur");
|
||||
}
|
||||
|
||||
public function index_get()
|
||||
@ -25,44 +26,121 @@ class Api extends RestController
|
||||
|
||||
}
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
public function login_post()
|
||||
|
||||
public function admin_get()
|
||||
{
|
||||
$where = $this->get('where');
|
||||
|
||||
|
||||
// if ($this->post("proses") == "login") {
|
||||
// $data = $this->model->serialize($this->post('data'));
|
||||
|
||||
// $username = $this->post("username");
|
||||
// $password = $this->post("password");
|
||||
// // // print_r($data);
|
||||
// // $result = $this->model->tampil_data_where('tb_login',$data)->result();
|
||||
// $result = $this->model->tampil_data_where('tb_login',array("username" => $username, "password" => $password))->result();
|
||||
// print_r($result[0]->nik);
|
||||
|
||||
$cek_data = $this->model->tampil_data_where('tb_admin',$where)->result();
|
||||
|
||||
// if (count($result) > 0) {
|
||||
// $this->session->set_userdata('login', array("level" => "admin" , "nik" => $result[0]->nik));
|
||||
$this->session->set_userdata('login', array("level" => "admin" ));
|
||||
// // print_r("data ada");
|
||||
// $this->response(['res' => "ok"], 200);
|
||||
// }else{
|
||||
// $this->response(['res'=> "ko"],404);
|
||||
// }
|
||||
if (count($cek_data) > 0 ){
|
||||
$this->response(['res' => 'ok','data' => $cek_data], 200);
|
||||
}else{
|
||||
$this->response(['res' => 'ko'], 200);
|
||||
}
|
||||
|
||||
|
||||
// redirect(base_url());
|
||||
|
||||
$this->response(['res' => "ok"], 200);
|
||||
|
||||
|
||||
// }else{
|
||||
// $this->response(['res' => "ko"], 400);
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
// public function login_delete()
|
||||
// {
|
||||
// $nim = $this->get('nim');
|
||||
// print_r($this->get('nim'));
|
||||
// print_r($this->post('proses'));
|
||||
// }
|
||||
|
||||
|
||||
|
||||
public function login_get()
|
||||
{
|
||||
$where = $this->get('where');
|
||||
|
||||
$level = $where['level'] ?? null;
|
||||
if($level != null){
|
||||
$cek_data = $this->model->tampil_data_where('tb_login',[ ($level == 'admin') ? 'nik_admin' : 'nik_user' => $where['nik'] , 'level' => $level])->result();
|
||||
}
|
||||
else{
|
||||
$cek_data = $this->model->tampil_data_where('tb_login',$where)->result();
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (count($cek_data) > 0 ){
|
||||
$this->response(['res' => 'ok','url' => $cek_data[0]->level, 'level' => $cek_data[0]->level, 'nik' => ($cek_data[0]->level == 'user') ? $cek_data[0]->nik_user : $cek_data[0]->nik_admin ,'data' => $cek_data], 200);
|
||||
}else{
|
||||
$this->response(['res' => 'ko'], 200);
|
||||
}
|
||||
|
||||
// $this->response(['res' => 'ok', 'cek_data' => $cek_data], 200);
|
||||
|
||||
// redirect(base_url());
|
||||
|
||||
}
|
||||
|
||||
public function user_post(){
|
||||
$data = $this->post('data');
|
||||
// $data = $this->model->serialize($data);
|
||||
|
||||
$cek_data = $this->model->tampil_data_where('tb_user',['nik_user' => $data['nik_user']])->result();
|
||||
if(count($cek_data) > 0){
|
||||
$this->response(['message' => 'ko'], 400);
|
||||
}else{
|
||||
$data = array_merge($data,array('tanggal_pendaftaran' => date('Y-m-d H:m:s')));
|
||||
$this->model->insert('tb_user',$data);
|
||||
$this->model->insert('tb_login',['username' => $data['nik_user'] , 'password' => $data['nik_user'],'nik_user' => $data['nik_user'], 'level' => 'user']);
|
||||
$this->response(['message' => 'ok','data' => $data], 200);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function user_put(){
|
||||
$detail = $this->put('detail');
|
||||
$where = $this->put('where');
|
||||
// $data = $this->model->serialize($data);
|
||||
|
||||
$cek_data = $this->model->tampil_data_where('tb_user',$where)->result();
|
||||
if(count($cek_data) > 0){
|
||||
// $this->response(['message' => 'ko'], 400);
|
||||
$simpanan_wajib = $detail['simpanan_wajib'] ?? null;
|
||||
$simpanan_sukarela = $detail['simpanan_sukarela'] ?? null;
|
||||
if ($simpanan_wajib != null){
|
||||
$array_simpanan_wajib = json_decode($cek_data[0]->simpanan_wajib) ?? null;
|
||||
if($array_simpanan_wajib == null){
|
||||
$detail = ['simpanan_wajib' => json_encode($detail['simpanan_wajib'])];
|
||||
}else{
|
||||
$array_simpanan_wajib = array_merge($array_simpanan_wajib,$detail['simpanan_wajib']);
|
||||
$detail = ['simpanan_wajib' => json_encode($array_simpanan_wajib)];
|
||||
}
|
||||
}
|
||||
|
||||
if ($simpanan_sukarela != null){
|
||||
$array_simpanan_sukarela = json_decode($cek_data[0]->simpanan_sukarela) ?? null;
|
||||
if($array_simpanan_sukarela == null){
|
||||
$detail = ['simpanan_sukarela' => json_encode($detail['simpanan_sukarela'])];
|
||||
}else{
|
||||
$array_simpanan_sukarela = array_merge($array_simpanan_sukarela,$detail['simpanan_sukarela']);
|
||||
$detail = ['simpanan_sukarela' => json_encode($array_simpanan_sukarela)];
|
||||
}
|
||||
}
|
||||
|
||||
$this->model->update('tb_user',$where,$detail);
|
||||
$this->response(['message' => 'ok'], 200);
|
||||
}else{
|
||||
$this->response(['message' => 'ko'], 400);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function user_get()
|
||||
{
|
||||
$where = $this->get('where');
|
||||
|
||||
|
||||
|
||||
$cek_data = $this->model->tampil_data_where('tb_user',$where)->result();
|
||||
|
||||
$this->response(['res' => 'ok','data' => $cek_data], 200);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -7,80 +7,233 @@ class Home extends CI_Controller {
|
||||
{
|
||||
parent::__construct();
|
||||
$this->load->model('model');
|
||||
$this->load->model('m_tabel_ss');
|
||||
}
|
||||
|
||||
function index()
|
||||
{
|
||||
// $this->load->view('home/login');
|
||||
// print_r('sini login');
|
||||
if ($this->input->post('proses') == 'login') {
|
||||
// print_r('sini login asdasd');
|
||||
$username = $this->input->post('username');
|
||||
$password = $this->input->post('password');
|
||||
function index(){
|
||||
if ($this->input->post('proses') == "table_user") {
|
||||
$list = $this->m_tabel_ss->get_datatables(array('nik_user','nama','tanggal_daftar','status'),array(null, 'nik_user','nama','tanggal_daftar','simpanan_pokok','status',null),array('status' => 'desc'),"tb_user",null,null,"*");
|
||||
$data = array();
|
||||
$no = $_POST['start'];
|
||||
foreach ($list as $field) {
|
||||
|
||||
$cek_data =$this->model->tampil_data_where('tb_login',['username' =>$username , 'password' =>$password ])->result();
|
||||
// print_r($cek_data[0]->level);
|
||||
$no++;
|
||||
$row = array();
|
||||
$row[] = $no;
|
||||
$row[] = $field->nik_user;
|
||||
$row[] = $field->nama;
|
||||
$row[] = $field->tanggal_pendaftaran;
|
||||
$row[] = 'Rp. ' . number_format($field->simpanan_pokok);
|
||||
$row[] = $field->status;
|
||||
$row[] = '<center><button type="button" onclick="detail_user('.$field->nik_user.')" class="btn btn-primary btn-circle btn-sm waves-effect waves-light"><i class="ico fa fa-edit"></i></button></center>';
|
||||
$data[] = $row;
|
||||
}
|
||||
|
||||
if (count($cek_data) > 0) {
|
||||
switch ($cek_data[0]->level) {
|
||||
case 'admin':
|
||||
$this->output->set_status_header(200)->set_content_type('application/json')->set_output(json_encode(array("res" => "ok" , 'level' => $cek_data[0]->level, 'nik' => $cek_data[0]->nik_admin)));
|
||||
break;
|
||||
|
||||
case 'user':
|
||||
$this->output->set_status_header(200)->set_content_type('application/json')->set_output(json_encode(array("res" => "ok" , 'level' => $cek_data[0]->level, 'nik' => $cek_data[0]->nik_user)));
|
||||
break;
|
||||
}
|
||||
$output = array(
|
||||
"draw" => $_POST['draw'],
|
||||
"recordsTotal" => $this->m_tabel_ss->count_all("tb_user",null,null,"*"),
|
||||
"recordsFiltered" => $this->m_tabel_ss->count_filtered(array('nik_user','nama','tanggal_daftar','status'),array(null, 'nik_user','nama','tanggal_daftar','simpanan_pokok','status',null),array('status' => 'desc'),"tb_user",null,null,"*"),
|
||||
"data" => $data,
|
||||
);
|
||||
//output dalam format JSON
|
||||
echo json_encode($output);
|
||||
}
|
||||
|
||||
if ($this->input->post('proses') == "table_simpanan_pokok") {
|
||||
$list = $this->m_tabel_ss->get_datatables(array('nik_user','nama','tanggal_daftar','status','simpanan_pokok'),array(null, 'nik_user','nama','tanggal_daftar','simpanan_pokok','status'),array('status' => 'desc'),"tb_user",null,null,"*");
|
||||
$data = array();
|
||||
$no = $_POST['start'];
|
||||
foreach ($list as $field) {
|
||||
|
||||
$no++;
|
||||
$row = array();
|
||||
$row[] = $no;
|
||||
$row[] = $field->nik_user;
|
||||
$row[] = $field->nama;
|
||||
$row[] = $field->tanggal_pendaftaran;
|
||||
$row[] = 'Rp. ' . number_format($field->simpanan_pokok);
|
||||
$row[] = $field->status;
|
||||
$row[] = '<center><button type="button" onclick="detail_user('.$field->nik_user.')" class="btn btn-primary btn-circle btn-sm waves-effect waves-light"><i class="ico fa fa-edit"></i></button></center>';
|
||||
$data[] = $row;
|
||||
}
|
||||
|
||||
$output = array(
|
||||
"draw" => $_POST['draw'],
|
||||
"recordsTotal" => $this->m_tabel_ss->count_all("tb_user",null,null,"*"),
|
||||
"recordsFiltered" => $this->m_tabel_ss->count_filtered(array('nik_user','nama','tanggal_daftar','status','simpanan_pokok'),array(null, 'nik_user','nama','tanggal_daftar','simpanan_pokok','status'),array('status' => 'desc'),"tb_user",null,null,"*"),
|
||||
"data" => $data,
|
||||
);
|
||||
//output dalam format JSON
|
||||
echo json_encode($output);
|
||||
}
|
||||
|
||||
if ($this->input->post('proses') == "table_list_guru_simpanan_wajib") {
|
||||
$list = $this->m_tabel_ss->get_datatables(array('nik_user','nama'),array(null, 'nik_user','nama',null,null,null),array('tanggaL-daftar' => 'desc'),"tb_user",null,['status' => 'aktif'],"*");
|
||||
$data = array();
|
||||
$no = $_POST['start'];
|
||||
foreach ($list as $field) {
|
||||
|
||||
|
||||
$simpanan_wajib = json_decode($field->simpanan_wajib,true) ?? null;
|
||||
if($simpanan_wajib != null){
|
||||
|
||||
function date_simpanan($a,$b)
|
||||
{
|
||||
return strcmp($a['tanggal_simpanan'],$b['tanggal_simpanan']);
|
||||
}
|
||||
/// atur kembali array berdasarkan tanggal
|
||||
usort($simpanan_wajib , 'date_simpanan');
|
||||
end($simpanan_wajib);
|
||||
$key = key($simpanan_wajib);
|
||||
$simpanan_wajib = $simpanan_wajib[$key];
|
||||
////pilih array yg terakhir dari key
|
||||
|
||||
}
|
||||
|
||||
$no++;
|
||||
$row = array();
|
||||
$row[] = $no;
|
||||
$row[] = $field->nik_user;
|
||||
$row[] = $field->nama;
|
||||
$row[] = $simpanan_wajib['tanggal_simpanan'] ?? 'Belum Pernah Melakukan Simpanan Wajib ';
|
||||
$row[] = ($simpanan_wajib) ? 'Rp. '.number_format( $simpanan_wajib['simpanan']) : '-';
|
||||
$row[] = '<center><button type="button" onclick="detail_user('.$field->nik_user.')" class="btn btn-primary btn-circle btn-sm waves-effect waves-light"><i class="ico fa fa-edit"></i></button></center>';
|
||||
$data[] = $row;
|
||||
}
|
||||
|
||||
$output = array(
|
||||
"draw" => $_POST['draw'],
|
||||
"recordsTotal" => $this->m_tabel_ss->count_all("tb_user",null,['status' => 'aktif'],"*"),
|
||||
"recordsFiltered" => $this->m_tabel_ss->count_filtered(array('nik_user','nama'),array(null, 'nik_user','nama',null,null,null),array('tanggaL-daftar' => 'desc'),"tb_user",null,['status' => 'aktif'],"*"),
|
||||
"data" => $data,
|
||||
);
|
||||
//output dalam format JSON
|
||||
echo json_encode($output);
|
||||
}
|
||||
|
||||
if ($this->input->post('proses') == "table_list_guru_simpanan_sukarela") {
|
||||
$list = $this->m_tabel_ss->get_datatables(array('nik_user','nama'),array(null, 'nik_user','nama',null,null,null),array('tanggaL-daftar' => 'desc'),"tb_user",null,['status' => 'aktif'],"*");
|
||||
$data = array();
|
||||
$no = $_POST['start'];
|
||||
foreach ($list as $field) {
|
||||
|
||||
|
||||
$simpanan_sukarela = json_decode($field->simpanan_sukarela,true) ?? null;
|
||||
if($simpanan_sukarela != null){
|
||||
|
||||
function date_simpanan($a,$b)
|
||||
{
|
||||
return strcmp($a['tanggal_simpanan'],$b['tanggal_simpanan']);
|
||||
}
|
||||
/// atur kembali array berdasarkan tanggal
|
||||
usort($simpanan_sukarela , 'date_simpanan');
|
||||
end($simpanan_sukarela);
|
||||
$key = key($simpanan_sukarela);
|
||||
$simpanan_sukarela = $simpanan_sukarela[$key];
|
||||
////pilih array yg terakhir dari key
|
||||
|
||||
}
|
||||
|
||||
$no++;
|
||||
$row = array();
|
||||
$row[] = $no;
|
||||
$row[] = $field->nik_user;
|
||||
$row[] = $field->nama;
|
||||
$row[] = $simpanan_sukarela['tanggal_simpanan'] ?? 'Belum Pernah Melakukan Simpanan Sukarela ';
|
||||
$row[] = ($simpanan_sukarela) ? 'Rp. '.number_format( $simpanan_sukarela['simpanan']) : '-';
|
||||
$row[] = '<center><button type="button" onclick="detail_user('.$field->nik_user.')" class="btn btn-primary btn-circle btn-sm waves-effect waves-light"><i class="ico fa fa-edit"></i></button></center>';
|
||||
$data[] = $row;
|
||||
}
|
||||
|
||||
$output = array(
|
||||
"draw" => $_POST['draw'],
|
||||
"recordsTotal" => $this->m_tabel_ss->count_all("tb_user",null,['status' => 'aktif'],"*"),
|
||||
"recordsFiltered" => $this->m_tabel_ss->count_filtered(array('nik_user','nama'),array(null, 'nik_user','nama',null,null,null),array('tanggaL-daftar' => 'desc'),"tb_user",null,['status' => 'aktif'],"*"),
|
||||
"data" => $data,
|
||||
);
|
||||
//output dalam format JSON
|
||||
echo json_encode($output);
|
||||
}
|
||||
|
||||
if ($this->input->post('proses') == 'cari_usernya') {
|
||||
$search = $this->input->post('searchTerm');
|
||||
$fetchData = $this->model->tampil_data_where('tb_user',"status = 'Aktif' and (nik_user like '%".$search."%' or nama like '%".$search."%' ) limit 5")->result();
|
||||
$data = array();
|
||||
|
||||
// while ($row = mysqli_fetch_array($fetchData)) {
|
||||
// $data[] = array("id"=>$row['id'], "text"=>$row['name']);
|
||||
// }
|
||||
foreach ($fetchData as $key => $value) {
|
||||
$data[] = array("id" => $value->nik_user, "text" => $value->nik_user.' | '.$value->nama);
|
||||
}
|
||||
|
||||
echo json_encode($data);
|
||||
}
|
||||
|
||||
|
||||
if ($this->input->post('proses') == 'table_simpanan_user_wajib') {
|
||||
$i = 1;
|
||||
$cek_data = $this->model->tampil_data_where('tb_user',array('nik_user' => $this->input->post('nik_user')))->result();
|
||||
|
||||
if(count($cek_data) > 0){
|
||||
$ket = json_decode($cek_data[0]->simpanan_wajib,true);
|
||||
function date_simpanan($a,$b)
|
||||
{
|
||||
return strcmp($a['tanggal_simpanan'],$b['tanggal_simpanan']);
|
||||
}
|
||||
/// atur kembali array berdasarkan tanggal
|
||||
usort($ket , 'date_simpanan');
|
||||
foreach ($ket as $key => $value) {
|
||||
// $data[$i]['no'] = $i;
|
||||
$data[$i]['waktu'] = $value['tanggal_simpanan'];
|
||||
$data[$i]['ket'] = 'Rp. '. number_format($value['simpanan']);
|
||||
// $data[$i]['foto'] = $value['foto'];
|
||||
|
||||
$i++;
|
||||
|
||||
}
|
||||
$out = array_values($data);
|
||||
echo json_encode($out);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->output->set_status_header(400)->set_content_type('application/json')->set_output(json_encode(array("res" => "ko" )));
|
||||
echo json_encode(array());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
else if ($this->input->post('proses') == 'cek_data') {
|
||||
// print_r('cek data');
|
||||
$nik = $this->input->post('nik');
|
||||
$level = $this->input->post('level');
|
||||
// print_r($level);
|
||||
$cek_data =$this->model->tampil_data_where('tb_login',['nik_'.$level =>$nik ])->result();
|
||||
if ($this->input->post('proses') == 'table_simpanan_user_sukarela') {
|
||||
$i = 1;
|
||||
$cek_data = $this->model->tampil_data_where('tb_user',array('nik_user' => $this->input->post('nik_user')))->result();
|
||||
|
||||
if(count($cek_data) > 0){
|
||||
$ket = json_decode($cek_data[0]->simpanan_sukarela,true);
|
||||
function date_simpanan($a,$b)
|
||||
{
|
||||
return strcmp($a['tanggal_simpanan'],$b['tanggal_simpanan']);
|
||||
}
|
||||
/// atur kembali array berdasarkan tanggal
|
||||
usort($ket , 'date_simpanan');
|
||||
foreach ($ket as $key => $value) {
|
||||
// $data[$i]['no'] = $i;
|
||||
$data[$i]['waktu'] = $value['tanggal_simpanan'];
|
||||
$data[$i]['ket'] = 'Rp. '. number_format($value['simpanan']);
|
||||
// $data[$i]['foto'] = $value['foto'];
|
||||
|
||||
// print_r(count($cek_data));
|
||||
if (count($cek_data) > 0) {
|
||||
print_r(json_encode(['res' => 'ok' , 'url' => $level.'/']));
|
||||
$i++;
|
||||
|
||||
}
|
||||
$out = array_values($data);
|
||||
echo json_encode($out);
|
||||
}
|
||||
else
|
||||
{
|
||||
print_r(json_encode(['res' => 'ko' ]));
|
||||
echo json_encode(array());
|
||||
}
|
||||
}
|
||||
|
||||
else if ($this->input->post('proses') == 'cek_data_detail') {
|
||||
// print_r('cek data');
|
||||
$nik = $this->input->post('nik');
|
||||
$level = $this->input->post('level');
|
||||
// print_r($level);
|
||||
$cek_data =$this->model->tampil_data_where('tb_'.$level,['nik_'.$level =>$nik ])->result();
|
||||
|
||||
// print_r(count($cek_data));
|
||||
if (count($cek_data) > 0) {
|
||||
print_r(json_encode(['res' => 'ok' , 'nama' => $cek_data[0]->nama]));
|
||||
}
|
||||
else
|
||||
{
|
||||
print_r(json_encode(['res' => 'ko' ]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user