'.$t_pass.Invesa::Form_Info("biarkan kosong jika tidak ingin mengubah password.").'
'.$t_status.'
';
$this->app->json($ajson);
}
public function detail_menu() {
$auser = $this->db->fetchRow("SELECT UserID,Nama,Grup_MenuID,CONVERT(DECODE(Menu,?) USING UTF8MB4) Menu FROM app_operator WHERE UserID=?", [$this->parent_code, $this->id_user]);
$amenu = explode(",", $auser['Menu']);
$aglist = []; $ajson = ['html' => ''];
$glist = $this->db->fetchField("SELECT CONVERT(DECODE(Menu,?) USING UTF8MB4) FROM app_menu_grup WHERE Grup_MenuID=?", [$this->parent_code, $auser['Grup_MenuID']]);
if (!empty($glist)) $aglist = explode(",", $glist);
$amodul = $this->db->fetchAll("SELECT * FROM app_menu WHERE Level=0 AND Modul<>'IND' AND Aktif=1 ORDER BY Urut ASC");
$hasil = '
';
foreach ($amodul as $i => $modul) {
$alist = $this->db->fetchAll("SELECT * FROM app_menu WHERE Modul=? AND Level>0 AND Aktif=1 ORDER BY Kode", [$modul['Modul']]);
$hasil .= '
';
} else {
$alist = $this->db->fetchAll("SELECT * FROM app_menu WHERE Modul=? AND Level>0 AND Aktif=1 ORDER BY Kode", [$amodul[0]['Modul']]);
$hasil .= $this->modul_gen($alist, $amenu, $aglist);
}
$ajson['html'] .= $hasil.'
';
$ajson['html'] .= '';
$this->app->json($ajson);
}
public function save_user() {
$sql = new SQL($this->app);
$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", $this->session->get('WEB_USER')['UserID']);
$sql->add_where("UserID");
if ($this->mode === "add") {
$sql->InsertDB();
} else if ($this->mode === "edit") {
$sql->UpdateDB();
} else if ($this->mode === "del") {
$sql->DeleteDB();
}
// SIMPAN PASSWORD
$pass = Param::Get("Password");
if (($this->mode !== "del") and !empty($pass)) {
$this->db->runQuery("UPDATE app_operator SET Password=MD5(?) WHERE Username=?", [$pass, Param::Get("Username")]);
}
$this->app->json([ 'status' => true ]);
}
public function save_menu() {
$amenu = explode(",", (string) Param::Get("Menu")); $ahasil = [];
$amodul = $this->db->fetchAll("SELECT * FROM app_menu WHERE Level=0 AND Modul<>'IND' AND Aktif=1 ORDER BY Urut ASC");
foreach ($amodul as $modul) {
$akode = $this->db->fetchColumn("SELECT Kode FROM app_menu WHERE Modul=? AND Level>0 AND Aktif=1 ORDER BY Kode", [$modul['Modul']]);
$asub = array_intersect($amenu, $akode);
if (count($asub)>0) $ahasil = array_merge($ahasil, [$modul['Kode']], $asub);
}
$this->db->runQuery("UPDATE app_operator SET Menu=ENCODE('".implode(",",$ahasil)."',?),DateStamp=NOW(),SuperID=? WHERE UserID=?", [$this->parent_code, $this->session->get('WEB_USER')['UserID'], $this->id_user]);
$this->app->json([ 'status' => true ]);
}
public function check_user() {
$ada = (int) $this->db->fetchField("SELECT COUNT(*) FROM app_operator WHERE Username=?", [Param::Get("Username")]) > 0;
$this->app->json([ 'ada' => $ada ]);
}
private function modul_gen(array $alist = [], array $amenu = [], array $aglist = []): string {
$hasil = '