'; $hasil .= 'Nama MenuKeterangan'; for ($i=0; $i%s%s', str_repeat("--", $alist[$i]['Level']-1)."> ".$alist[$i]['Menu'], $alist[$i]['Judul'], $alist[$i]['Modul'], $alist[$i]['Kode'], $checked, $gchecked); } $hasil .= ''; return $hasil; } $db = $db ?? new MySQL(); $ajson = []; $data = Param::Get("data"); $mode = Param::Get("mode"); $i_filt = Param::Get("Filter_Level", 0); $id_user = Param::Get("UserID", 0); if ( $data == "user-detail" ) { $auser = ['Level'=>1, 'Aktif'=>1]; if ($mode == "edit") { $db->Query("SELECT * FROM app_operator WHERE UserID='".$id_user."'"); if ($db->Next()) $auser = $db->AllRow(); } $form = new Form($db); $t_user = $form->textbox("_", "Username", $auser['Username'], true, true, "text", "username"); $t_nama = $form->textbox("_", "Nama", $auser['Nama'], true, false, "text", "nama pengguna"); $t_posi = $form->textbox("_", "Posisi", $auser['Posisi'], true, false, "text", "posisi pengguna"); $t_level = $form->option_ulevel("_", "Level", $auser['Level'], true, false, "", "OperatorJS.oc_Level();"); $t_pass = $form->password("_", "Password", "", true, true, "", 50); $t_status = $form->switch("_", "Aktif", $auser['Aktif'], true, false, ["1","0"]); $t_grup = $form->option_db("_", "Grup_MenuID", $auser['Grup_MenuID'], true, false, "app_menu_grup", ["Grup_MenuID","Nama_Grup"], "Aktif=1 AND Grup_MenuID NOT IN (3,4,5,6)", [0,"TANPA GRUP"]); echo '
'.$t_user.'
'.$t_nama.'
'.$t_posi.'
'.$t_level.'

'.$t_grup.'untuk pengguna OPD / OPD Kecamatan, bisa dibiarkan tanpa pilihan grup menu.
'.$t_pass.'biarkan kosong jika tidak ingin mengubah password.
'.$t_status.'
'; } else if ( $data == "user-check") { $ajson['ada'] = false; $db->Query("SELECT COUNT(*) Jumlah FROM app_operator WHERE Username='".Param::Get("Username")."'"); if ($db->Next()) { if ($db->Row("Jumlah", 0) > 0) $ajson['ada'] = true; } } else if ( $data == "save" ) { $sql = new SQL($db); $sql->set_table("app_operator"); $sql->add_param("Grup_MenuID"); $sql->add_param("Username"); $sql->add_param("Nama"); $sql->add_param("Posisi"); $sql->add_param("Level"); $sql->add_param("Aktif"); $sql->add_param("SuperID", user_id()); $sql->add_where("UserID"); if ($mode=="add") { $sql->InsertDB(); } else if ($mode=="edit") { $sql->UpdateDB(); } else if ($mode=="del") { $sql->DeleteDB(); } // SIMPAN PASSWORD $pass = Param::Get("Password"); if (($mode <> "del") and ($pass <> "")) { $db->Query("UPDATE app_operator SET Password=MD5('".$pass."') WHERE Username='".Param::Get("Username")."'"); } $ajson['status'] = true; } else if ( $data == "menu" ) { $auser = ['UserID'=>0,'Nama'=>"",'Grup_MenuID'=>0,'Menu'=>""]; $db->Query("SELECT UserID,Nama,Grup_MenuID,DECODE(Menu,'".$_SESSION['__WEB_APP']['PARENT_CODE']."') Menu FROM app_operator WHERE UserID='".$id_user."' LIMIT 1"); if ($db->Next()) $auser = $db->AllRow(); $amenu = explode(",", $auser['Menu']); $akode = []; $aglist = []; $db->Query("SELECT DECODE(Menu,'".$_SESSION['__WEB_APP']['PARENT_CODE']."') Menu FROM app_menu_grup WHERE Grup_MenuID='".$auser['Grup_MenuID']."' LIMIT 1"); if ($db->Next()) $aglist = explode(",", $db->Row("Menu")); $amodul = []; $db->Query("SELECT * FROM app_menu WHERE Level=0 AND Modul<>'IND' AND Aktif=1 ORDER BY Urut ASC"); while ($db->Next()) { $amodul[] = $db->AllRow(); } $hasil = '
'; if (count($amodul)>1) { $hasil .= ''; $hasil .= '
'; for ($i=0; $iQuery("SELECT * FROM app_menu WHERE Modul='".$amodul[$i]['Modul']."' AND Level>0 AND Aktif=1 ORDER BY Kode"); while ($db->Next()) { $akode[] = $db->Row("Kode"); $alist[] = $db->AllRow(); } $hasil .= '
'; $hasil .= modul_gen($alist, $amenu, $aglist); $hasil .= '
'; } $hasil .= '
'; } else { $alist = array(); $db->Query("SELECT * FROM app_menu WHERE Modul='".$amodul[0]['Modul']."' AND Level>0 AND Aktif=1 ORDER BY Kode"); while ($db->Next()) { $akode[] = $db->Row("Kode"); $alist[] = $db->AllRow(); } $hasil .= modul_gen($alist, $amenu, $aglist); } echo $hasil.'
'; $armenu = []; for ($i=0; $i'; echo ''; } else if ( $data == "save-menu" ) { $amenu = explode(",", Param::Get("Menu")); $ahasil = []; $amodul = array(); $db->Query("SELECT * FROM app_menu WHERE Level=0 AND Modul<>'IND' AND Aktif=1 ORDER BY Urut ASC"); while ($db->Next()) { $amodul[] = $db->AllRow(); } for ($i=0; $iQuery("SELECT * FROM app_menu WHERE Modul='".$amodul[$i]['Modul']."' AND Level>0 AND Aktif=1 ORDER BY Kode"); while ($db->Next()) { if (in_array($db->Row("Kode"), $amenu)) $asub[] = $db->Row("Kode"); } if (count($asub)>0) $ahasil = array_merge($ahasil, [$amodul[$i]['Kode']], $asub); } $db->Query("UPDATE app_operator SET Menu=ENCODE('".implode(",",$ahasil)."','".$_SESSION['__WEB_APP']['PARENT_CODE']."'),SuperID='".user_id()."' WHERE UserID='".$id_user."'"); $ajson['status'] = true; } else if ( $data == "opd" ) { $auser = ['UserID'=>0,'AK_OPD'=>""]; $db->Query("SELECT UserID,AK_OPD FROM app_operator WHERE UserID='".$id_user."' LIMIT 1"); if ($db->Next()) $auser = $db->AllRow(); $aopd = explode(",", $auser['AK_OPD']); $hasil = '
'; $hasil .= ''; $db->Query("SELECT * FROM para90_opd WHERE IV=0 AND Aktif=1 ORDER BY K_OPD"); while ($db->Next()) { $kode = "xOPD_".$db->Row("OPDID"); $checked = (in_array($db->Row("OPDID"), $aopd)) ? "checked" : ""; $hasil .= sprintf('', $db->Row("K_OPD"), $db->Row("N_OPD"), $kode, $db->Row("OPDID"), $checked); } $hasil .= '
KodeNama OPDC
%s%s
'; $hasil .= ''; echo $hasil; } else if ( $data == "save-opd" ) { $aopd = array_filter(explode(",", Param::Get("AK_OPD"))); $ahasil = [0]; if (count($aopd) > 0) { $ahasil = implode(",", $aopd); } $db->Query("UPDATE app_operator SET AK_OPD='".$ahasil."',SuperID='".user_id()."' WHERE UserID='".$id_user."'"); $ajson['status'] = true; } else if ( $data == "kec" ) { $auser = ['UserID'=>0,'AK_KEC'=>""]; $db->Query("SELECT UserID,AK_KEC FROM app_operator WHERE UserID='".$id_user."' LIMIT 1"); if ($db->Next()) $auser = $db->AllRow(); $akec = explode(",", $auser['AK_KEC']); $hasil = '
'; $hasil .= ''; echo $hasil; } else if ( $data == "save-kec" ) { $akec = array_filter(explode(",", Param::Get("AK_KEC"))); $ahasil = array(0); if (count($akec) > 0) { $ahasil = implode(",", $akec); } $db->Query("UPDATE app_operator SET AK_KEC='".$ahasil."',SuperID='".user_id()."' WHERE UserID='".$id_user."'"); $ajson['status'] = true; } else if ( $data == "kel" ) { $auser = ['UserID'=>0,'AK_KEL'=>""]; $db->Query("SELECT UserID,AK_KEL FROM app_operator WHERE UserID='".$id_user."' LIMIT 1"); if ($db->Next()) $auser = $db->AllRow(); $akel = explode(",", $auser['AK_KEL']); $hasil = '
'; $hasil .= ''; echo $hasil; } else if ( $data == "save-kel" ) { $akel = array_filter(explode(",", Param::Get("AK_KEL"))); $ahasil = array(0); if (count($akel) > 0) { $ahasil = implode(",", $akel); } $db->Query("UPDATE app_operator SET AK_KEL='".$ahasil."',SuperID='".user_id()."' WHERE UserID='".$id_user."'"); $ajson['status'] = true; } else if ( $data == "detail" ) { $tcari = Param::Get("Cari_User"); $tsql = (user_id()==1) ? "" : " AND UserID>2"; $tsql = (user_id()==2) ? " AND UserID>1" : $tsql; $tsql .= ($i_filt==0) ? "" : " AND Level='".$i_filt."'"; $tsql .= ($tcari=="") ? "" : " AND CONCAT(Username,Nama) LIKE '%".$tcari."%'"; $obj = new Table($db); $obj->set_query("SELECT *,IF(Level IN (1,3),1,0) M_OPD FROM app_operator WHERE Level NOT IN (5,6) AND Level>=".$_SESSION['__WEB_USER']['Level'].$tsql); $obj->add_field("UserID", "ID", "hid"); $obj->add_field("Username", "Username"); $obj->add_field("Nama", "Nama Pengguna", "awr"); $obj->add_field("Posisi", "Posisi"); $obj->add_field("Level", "Level", "l", $_SESSION['__WEB_APP']['USER_LEVEL']); $obj->add_field("Aktif", "Aktif", "c", "checkbox"); $obj->set_field_order("Username", "A"); $obj->add_row_btn("shield-check", "OPD", "OperatorJS.opd_show", "M_OPD", 1); $obj->add_row_btn("sign-railroad", "Kec", "OperatorJS.kec_show", "Level", 2); $obj->add_row_btn("signpost", "Kel / Desa", "OperatorJS.kel_show", "Level", 7); $obj->add_row_btn("menu-button", "Menu", "OperatorJS.menu_show"); $obj->add_row_btn("clipboard", "Ubah", "OperatorJS.detail_ubah"); $obj->add_row_btn("trash", "Hapus", "OperatorJS.detail_hapus"); $obj->set_func_navi("OperatorJS.data_query('detail')"); $obj->set_func_btn("OperatorJS.detail_tambah", "+ Pengguna"); $ajson[] = $obj->json_table("divDetail"); } else if ($data == "detail_filter") { $form = new Form($db); $_form = $form->option_ulevel("Level Pengguna", "Fi_Level", $i_filt); echo '
Tampilan Berdasarkan :
'.$_form.'
'; } else if ( $data == "default") { echo '
Daftar Pengguna
 
'; } send_json($ajson); ?>