first commit

This commit is contained in:
2026-07-16 14:07:54 +07:00
commit d3f1794df7
100 changed files with 8647 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
# ignore visual studio code
/.vs/
# ignore cache content
**/cache/*
!**/cache/v3
# ignore mysql.php
**/mysql.php
+22
View File
@@ -0,0 +1,22 @@
# MASTER
Master Manajemen SicanDa
## Description
Modul khusus untuk manajemen sistem SicanDa.
## Authors
Developer dan programmer
[@siaupheng](mailto:[email protected])
## Version History
* 1.0
* Initial Release
## License
This project is licensed.
+83
View File
@@ -0,0 +1,83 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/cfg/app.php
Desc. : Konfigurasi Global Aplikasi
Created By : Siau Pheng ([email protected]).
Created Date : November 7th, 2009.
Last Modified : January 30th, 2024.
(c) 2009 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../vendor/autoload.php");
require_once(__DIR__."/mysql.php");
//require_once(__DIR__."/../php/func.musrenbang.php");
use siaupheng\fonia3\DB\MySQL;
$db = $db ?? new MySQL();
if (($_SESSION['__WEB_APP']['APP_CODE'] ?? "")<>"2007809609") {
foreach ($_SESSION as $_key => $_val) {
if (substr($_key,0,5)=="__WEB") unset($_SESSION[$_key]);
if (substr($_key,0,5)=="__APP") unset($_SESSION[$_key]);
}
}
if (!isset($_SESSION['__WEB_APP'])) {
$real_path = str_replace("\\", "/", __DIR__);
$real_path = str_replace("apps/cfg", "", $real_path);
$web_path = str_replace($_SERVER['DOCUMENT_ROOT'], "/", $real_path);
$web_path = str_replace("//", "/", $web_path);
$real_path = str_replace("//", "/", $real_path);
$apps = [];
$apps['APP_CODE'] = "2007809609";
$apps['APP_NAME'] = "Master";
$apps['APP_NAMES'] = "Sistem Informasi Perencanaan Pembangunan Daerah";
$apps['APP_VER'] = "1.1";
$apps['APP_UPDATED'] = "January 21st, 2024.";
$apps['APP_SID'] = md5(time());
$apps['APP_LOCALE'] = ["id"=>"Indonesia", "en"=>"English"];
$apps['DEF_LOCALE'] = "id";
$apps['AUTH_OVER'] = false;
$apps['AUTH_LEVEL'] = 1;
$apps['USER_LEVEL'] = [0 => "ADMINISTRATOR", 1 => "KABUPATEN / BIDANG", 2 => "KECAMATAN", 7 => "KELURAHAN / DESA", 3 => "OPD", 5 => "DPRD", 9 => "VIEWER"];
$apps['USER_LOG'] = true;
$apps['USE_QZTRAY'] = false;
$apps['CREATOR_YEAR'] = "2020";
$apps['CREATOR_NAME'] = "3FONIA Software";
$apps['CREATOR_WEBSITE'] = "http://www.3fonia.com";
$apps['WEB_PATH'] = $web_path;
$apps['REAL_PATH'] = $real_path;
$apps['MODULE_PATH'] = "../";
$apps['PARENT_SUB'] = false;
$apps['PARENT_CODE'] = "2007809605";
$apps['PARENT_SITE'] = "https://sicanda.mempawahkab.go.id";
$db->Query("SELECT * FROM app_config WHERE REG_ID='".$apps['APP_CODE']."' LIMIT 1");
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
if ($apps['APP_BUILD']<>"") $apps['APP_VER'] = $apps['APP_BUILD'];
$apps['DEF_PASSWD'] = "mempawahkab";
$db->Query("SELECT * FROM sippd_config WHERE REG_ID='".$apps['PARENT_CODE']."' LIMIT 1");
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
$db->Query("SELECT Tahun1,Tahun2,Tahun3,Tahun4,Tahun5,Tahun_Min,Tahun_Max,RPJMD,Ket N_RPJMD FROM vi_para_rpjmd WHERE RPJMDID='".$apps['RENC_RPJMDID']."' LIMIT 1");
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
if ($apps['Tahun1']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T1";
if ($apps['Tahun2']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T2";
if ($apps['Tahun3']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T3";
if ($apps['Tahun4']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T4";
if ($apps['Tahun5']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T5";
// mapping tahun nomenklatur submap
//todo: cek lagi
//$apps['SUBMAP_TAHUN'] = map_tahun_submap($apps['RENC_RPJMDID']);
$apps['URUSAN_RUTIN'] = 20;
$_SESSION['__WEB_APP'] = $apps;
}
?>
+72
View File
@@ -0,0 +1,72 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/cfg/assets.php
Desc. : Konfigurasi Assets Aplikasi [css / js]
Created By : Siau Pheng ([email protected]).
Created Date : November 23rd, 2019.
Last Modified : January 21st, 2024.
(c) 2019 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
$A_CSS = ["bootstrap/bootstrap.icon.css", "bootstrap/bootstrap.css"];
$A_JS = ["jquery/jquery.js", "jquery/jquery.base64.js", "bootstrap/bootstrap.bundle.js", "fonia3.js"];
if (!user_logged()) {
$A_JS[] = "jquery/jquery.backstretch.js";
} else {
$A_CSS[] = "datatables/dataTables.bootstrap5.css";
$A_CSS[] = "datatables/responsive.bootstrap5.css";
$A_CSS[] = "datatables/scroller.bootstrap5.css";
$A_CSS[] = "datatables/stateRestore.bootstrap5.css";
$A_CSS[] = "select2/select2.css";
$A_CSS[] = "select2/select2-bootstrap-5-theme.css";
$A_CSS[] = "bootstrap/bootstrap.datepicker.css";
//$A_CSS[] = "simplebar.css";
//$A_CSS[] = "lightbox.css";
//$A_CSS[] = "codemirror.css";
//$A_CSS[] = "summernote-bs5.css";
$A_CSS[] = "default.css";
$A_CSS[] = "print.css";
$A_JS = [
"jquery/jquery.js",
"jquery/jquery.base64.js",
"jquery/jquery.autosize.js",
"jquery/jquery.maskedinput.js",
"jquery/jquery.validate.js",
"bootstrap/bootstrap.bundle.js",
"bootstrap/bootstrap.datepicker.js",
"bootstrap/bootstrap.autocomplete.js",
"datatables/jquery.dataTables.js",
"datatables/dataTables.bootstrap5.js",
"datatables/dataTables.responsive.js",
"datatables/responsive.bootstrap5.js",
"datatables/dataTables.scroller.js",
"datatables/dataTables.stateRestore.js",
"datatables/stateRestore.bootstrap5.js",
//"codemirror/codemirror.js",
//"codemirror/xml.js",
"moment.js",
"select2/select2.js",
"chart/chart.js",
//"chart/chartjs-plugin-datalabels.js",
//"simplebar.js",
//"lightbox.js",
//"summernote-bs5.js",
//"html5-qrcode.js",
"fonia3.js",
"print.js",
"pdf.js",
"export.js",
"simulator.js",
//"pole-display.js"
];
}
?>
+25
View File
@@ -0,0 +1,25 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/cfg/mysql.php
Desc. : Konfigurasi Server MySQL
Created By : Siau Pheng ([email protected]).
Created Date : November 7th, 2009.
Last Modified : June 28th, 2020.
(c) 2009 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
$APP_DATA = [
'host' => "127.0.0.1",
'port' => "3306",
'user' => "sippd_mpw",
'pwd' => "r4h4s14",
'db' => "sippd_mpw",
'sock' => ""
];
?>
+93
View File
@@ -0,0 +1,93 @@
/*******************************************************************
Module : /apps/js/index.js
Desc. : JS - Halaman Utama Desktop
Created By : Siau Pheng ([email protected]).
Created Date : May 24th, 2010.
Last Modified : August 15th, 2019.
(c) 2010 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
$(document).ready(function(){
jQuery("#preloader").remove();
loadSidebar();
IndexJS.loading();
});
var IndexJS = {
loading: function(){
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/index.php',
sendParam: ['data=default'],
onSuccess: (ares) => {
$('#pageContent').html(ares.content);
$('#pageToolbarTop').html('');
$('#pageToolbarBot').html('');
//this.loadPagu();
//this.loadChart();
}
}).send();
},
loadPagu: function(){
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/index.php',
sendParam: ['data=pagu-info'],
onSuccess: function(ares){
$('#divHome1').html(ares.html);
}
}).send();
},
loadChart: function(){
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/index.php',
sendParam: ['data=pagu-chart'],
onSuccess: function(data){
var ctx = $('#pieChart');
var pieOptions = {
legend: { display: true, position: 'bottom', labels:{pointStyle:'circle', usePointStyle:true} },
aspectRatio: 1.3,
cutoutPercentage: 35,
responsiveAnimationDuration: 10,
responsive: true,
maintainAspectRatio: true,
onResize: function(mcha, size) {
var leg = (size.width <= 330) ? false : true;
mcha.options.legend.display = leg;
}
};
var myChart = new Chart(ctx, {
type: 'doughnut',
data: data,
options: pieOptions
});
}
}).send();
}
};
function loadSidebar(){
const mySidebar = document.getElementById('sidebarMain');
mySidebar.addEventListener('shown.bs.modal', () => {
document.querySelectorAll('.sidebar .nav-link').forEach((element) => {
element.addEventListener('click', (e) => {
let nextEl = element.nextElementSibling, parentEl = element.parentElement;
if (nextEl){
e.preventDefault();
let mycollapse = new bootstrap.Collapse(nextEl);
if (nextEl.classList.contains('show')){
mycollapse.hide();
} else {
mycollapse.show();
var opened_submenu = parentEl.parentElement.querySelector('.submenu.show');
if (opened_submenu){ new bootstrap.Collapse(opened_submenu); }
}
}
});
})
});
}
+86
View File
@@ -0,0 +1,86 @@
/*******************************************************************
Module : /apps/js/login.js
Desc. : JS - Halaman Proses Login
Created By : Siau Pheng ([email protected]).
Created Date : January 15th, 2008.
Last Modified : June 28th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
$(document).ready(function(){
$('#butLogin').click(LoginJS.Proses_Login);
$('#Username').keydown(function(e){
if (e.which==13) $('#Password').focus();
});
$('#Password').keydown(function(e){
if (e.which==13) $('#butLogin').trigger('click');
});
LoginJS.Tampil_Login();
document.oncontextmenu = new Function ('return false');
if (jQuery.backstretch){
jQuery.backstretch([
[
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/kanda_1280.jpg" },
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/kanda_960.jpg" }
],
[
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/istana_1280.jpg" },
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/istana_960.jpg" }
],
[
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/mangrove_1280.jpg" },
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/mangrove_960.jpg" }
]
], {
duration: 6000,
transition: 'push_left|push_right|cover_up|cover_down|fade',
transitionDuration: 600
});
}
});
var LoginJS = {
Tampil_Login: function(){
var Username = FoniaJS.getCookie('Username');
if (Username != '') {
$('#Username').val(Username);
FoniaJS.setFocus('#Password');
} else {
FoniaJS.setFocus('#Username');
}
},
Proses_Login: function(){
if (!$('#Username').val()){
$('#Username').focus();
FoniaJS.showError('Silahkan masukkan ID Pengguna !');
return false;
}
if (!$('#Password').val()){
$('#Password').focus();
FoniaJS.showError('Silahkan masukkan Kata Sandi !');
return false;
}
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/login.php',
sendParam: ['mode=login','Username','Password'],
onSuccess: function(respon){
if (respon.hasil == 'SUKSES'){
FoniaJS.setCookie('Username', $('#Username').val(), 365);
$('#divLoginMsg').html(respon.pesan).removeClass('d-none');
$('.input-group').addClass('d-none');
setTimeout(function(){self.location = FoniaJS.WEB_PATH+'?auth='+(respon.token??'');}, 1600);
}else{
FoniaJS.showInfo(respon.pesan, 3000);
if (respon.redir) setTimeout(function(){self.location = respon.redir;}, 600);
}
}
}).send();
}
};
+61
View File
@@ -0,0 +1,61 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/mon/repo_eval_tujuan.js
Desc. : JS - Cetak Tabel Master Jalan
Created By : Siau Pheng ([email protected]).
Created Date : March 20th, 2012.
Last Modified : April 12th, 2017.
(c) 2012 - 2017, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var RepoMJalanJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butPrint').click(function(){this.proses_print('print');}.bind(this));
$('#butPreview').click(function(){this.proses_print('preview');}.bind(this));
$('#butExcel').click(function(){this.proses_dload();}.bind(this));
},
proses_print: function(prt){
if ($('#KecID').val() == 0) {
FoniaJS.showInfo('Silahkan Pilih Nama Kecamatan !');
return false;
}
var cetak = new cPRINTER(this.PHP);
cetak.set_zoom(80);
cetak.add_param("data", "cetak-html");
cetak.add_param("KecID");
cetak.add_param("KelID");
cetak.add_param("JU");
if (prt=='print') { cetak.doPrint(); } else cetak.doPreview();
},
proses_dload: function(){
if ($('#KecID').val() == 0) {
FoniaJS.showInfo('Silahkan Pilih Nama Kecamatan !');
return false;
}
var dload = new cEXPORT(this.PHP);
dload.add_param("data", "export");
dload.add_param("KecID");
dload.add_param("KelID");
dload.add_param("JU");
dload.download();
},
oc_KecID : function(){
new Request({
url: this.PHP,
sendParam: ['data=default','KecID','KelID','JU'],
onSuccess: function(txt){
$('#win'+this.KODE+' .modal-body').html(txt);
}.bind(this)
}).send();
}
};
+70
View File
@@ -0,0 +1,70 @@
/*******************************************************************
Module : /apps/js/sys/about.js
Desc. : JS - Informasi Aplikasi
Created By : Siau Pheng ([email protected]).
Created Date : November 23th, 2011.
Last Modified : February 28th, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var AboutJS = {
PHP: '',
KODE: '',
loading: function(){
$('#win'+this.KODE).find('#divBuildInfo').html('<p>Aplikasi dibuat dengan komponen :<br>- jQuery Version '+$().jquery+' <br>- Bootstrap Version '+$.fn.tooltip.Constructor.VERSION+' <br>- FoniaJS Version '+FoniaJS.version+' <br>- FoniaPHP Version '+FoniaJS.phpversion+'</p>');
},
proses_checkdb: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=check_db'],
onSuccess: (ajson) => {
this.winCheck = FoniaJS.showWindow('CekDB', 'Cek, Perbaiki dan Optimalisasi Database', ajson.html, 500, [{},{i:'butTutup'},{i:'butWProses',v:'Proses DB !',c:'success'}], () => $('#winCekDB').find('#butWProses').click(() => this.checkdb_run()));
}
}).send();
},
proses_update: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=check_update'],
onSuccess: (ajson) => {
var tomb = [{},{i:'butTutup'},{i:'butWUpdate',v:'Proses Update !',c:'success'}];
if (ajson.is_update) tomb.pop();
this.winUpdate = FoniaJS.showWindow('CekApp', 'Cek dan Update Aplikasi', ajson.html, 500, tomb, () => {
$('#winCekApp').find('#butWUpdate').click(() => this.update_run());
});
}
}).send();
},
checkdb_run: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=proses_db','DB_Cek','DB_Repair','DB_Opti'],
onSuccess: (ajson) => {
if ($('#DB_Hasil')) $('#DB_Hasil').removeClass('d-none').html(txt);
FoniaJS.showInfo('Proses Database selesai', 2000);
}
}).send();
},
update_run: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=proses_update'],
onSuccess: (adata) => {
if (adata.success==true) {
$('#spanStatus').html(adata.message);
FoniaJS.showInfo('Aplikasi telah di Update.<br>Silakan refresh browser Anda!');
} else {
FoniaJS.showInfo('Aplikasi gagal di Update.');
}
}
}).send();
}
};
+90
View File
@@ -0,0 +1,90 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/sys/akses_mon.js
Desc. : JS - Konfigurasi Hak Akses Data e-Monev
Created By : Siau Pheng ([email protected]).
Created Date : February 17th, 2020.
Last Modified : July 15th, 2026.
(c) 2020 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TAksesMonJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_OPD').keydown((e) => {
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
});
$('#butSearch').click(() => this.data_query('detail'));
$('#butAll').click(() => {
$('#Cari_OPD').val('');
this.data_query('detail');
});
$('#butUpAll').click(() => this.update_all());
FoniaJS.setFocus('#Cari_OPD');
},
update_all: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=akses-semua','Tahun'],
onSuccess: (ajson) => {
this.winSemua = FoniaJS.showWindow('Semua', 'Ubah Semua Hak Akses Sekaligus', ajson.html, 'lg', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winSemua').find('#butWSimpan').click(() => this.update_proc());
});
}
}).send();
},
update_proc: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save-all','Tahun','Hak_Renja','Hak_Kin_B01','Hak_Kin_B02','Hak_Kin_B03','Hak_Kin_B04','Hak_Kin_B05','Hak_Kin_B06','Hak_Kin_B07','Hak_Kin_B08','Hak_Kin_B09','Hak_Kin_B10','Hak_Kin_B11','Hak_Kin_B12'],
onSuccess: () => FoniaJS.closeWindow(this.winSemua)
}).send();
},
detail_show: function(mode, OPDID, AksesID){
new Request.JSON({
url: this.PHP,
sendParam: ['data=akses-detail','mode='+mode,'Tahun','OPDID='+OPDID,'AksesID='+AksesID],
onSuccess: (ajson) => {
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Konfigurasi Hak Akses', ajson.html, 'lg', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDetail').find('#butWSimpan').click(() => this.detail_save());
});
}
}).send();
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0], acell[1]);
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save','Tahun','AksesID','OPDID','Hak_Renja','Hak_Kin_B01','Hak_Kin_B02','Hak_Kin_B03','Hak_Kin_B04','Hak_Kin_B05','Hak_Kin_B06','Hak_Kin_B07','Hak_Kin_B08','Hak_Kin_B09','Hak_Kin_B10','Hak_Kin_B11','Hak_Kin_B12'],
onSuccess: () => FoniaJS.closeWindow(this.winDetail)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Tahun','Cari_OPD']
}).send()
}
},
oc_Tahun: function(){
this.data_query('detail');
}
};
+90
View File
@@ -0,0 +1,90 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/sys/akses_mus.js
Desc. : JS - Konfigurasi Hak Akses Data e-Musrenbang
Created By : Siau Pheng ([email protected]).
Created Date : February 17th, 2020.
Last Modified : July 19th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TAksesMJS = {
PHP: '',
KODE: '',
loading: function(){
$('#Cari_OPD').keydown((e) => {
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
});
$('#butSearch').click(() => this.data_query('detail'));
$('#butAll').click(() => {
$('#Cari_OPD').val('');
this.data_query('detail');
});
$('#butUpAll').click(() => this.update_all());
this.data_query('detail');
FoniaJS.setFocus('#Cari_OPD');
},
update_all: function(){
new Request({
url: this.PHP,
sendParam: ['data=akses-semua','Tahun'],
onSuccess: (txt) => {
this.winSemua = FoniaJS.showWindow('Semua', 'Ubah Semua Hak Akses Sekaligus', txt, 'md', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winSemua').find('#butWSimpan').click(() => this.update_proc());
});
}
}).send();
},
update_proc: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save-all','Tahun','Hak_Usulan','Hak_Prioritas'],
onSuccess: () => FoniaJS.closeWindow(this.winSemua)
}).send();
},
detail_show: function(mode, KecID, AksesID){
new Request({
url: this.PHP,
sendParam: ['data=akses-detail','mode='+mode,'Tahun','KecID='+KecID,'AksesID='+AksesID],
onSuccess: (txt) => {
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Konfigurasi Hak Akses', txt, 'md', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDetail').find('#butWSimpan').click(() => this.detail_save());
});
}
}).send();
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0], acell[1]);
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save','Tahun','AksesID','KecID','Hak_Usulan','Hak_Prioritas'],
onSuccess: () => FoniaJS.closeWindow(this.winDetail)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Tahun','Cari_OPD']
}).send()
}
},
oc_Tahun: function(){
this.data_query('detail');
}
};
+90
View File
@@ -0,0 +1,90 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/sys/akses_pok.js
Desc. : JS - Konfigurasi Hak Akses Data e-Pokir
Created By : Siau Pheng ([email protected]).
Created Date : February 17th, 2020.
Last Modified : July 19th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TAksesPJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_OPD').keydown((e) => {
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
});
$('#butSearch').click(() => this.data_query('detail'));
$('#butAll').click(() => {
$('#Cari_OPD').val('');
this.data_query('detail');
});
$('#butUpAll').click(() => this.update_all());
FoniaJS.setFocus('#Cari_OPD');
},
update_all: function(){
new Request({
url: this.PHP,
sendParam: ['data=akses-semua','Tahun'],
onSuccess: (txt) => {
this.winSemua = FoniaJS.showWindow('Semua', 'Ubah Semua Hak Akses Sekaligus', txt, 'md', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winSemua').find('#butWSimpan').click(() => this.update_proc());
});
}
}).send();
},
update_proc: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save-all','Tahun','Hak_Usulan','Hak_Ubah','Hak_Prioritas'],
onSuccess: () => FoniaJS.closeWindow(this.winSemua)
}).send();
},
detail_show: function(mode, DPRDID, AksesID){
new Request({
url: this.PHP,
sendParam: ['data=akses-detail','mode='+mode,'Tahun','DPRDID='+DPRDID,'AksesID='+AksesID],
onSuccess: (txt) => {
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Konfigurasi Hak Akses', txt, 'md', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDetail').find('#butWSimpan').click(() => this.detail_save());
});
}
}).send();
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0], acell[1]);
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save','Tahun','AksesID','DPRDID','Hak_Usulan','Hak_Ubah','Hak_Prioritas'],
onSuccess: () => FoniaJS.closeWindow(this.winDetail)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Tahun','Cari_OPD']
}).send()
}
},
oc_Tahun: function(){
this.data_query('detail');
}
};
+90
View File
@@ -0,0 +1,90 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/sys/akses_sip.js
Desc. : JS - Konfigurasi Hak Akses Data e-Planning
Created By : Siau Pheng ([email protected]).
Created Date : February 17th, 2020.
Last Modified : February, 2022.
(c) 2020 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TAksesRJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_OPD').keydown((e) => {
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
});
$('#butSearch').click(() => this.data_query('detail'));
$('#butAll').click(() => {
$('#Cari_OPD').val('');
this.data_query('detail');
});
$('#butUpAll').click(() => this.update_all());
FoniaJS.setFocus('#Cari_OPD');
},
update_all: function(){
new Request({
url: this.PHP,
sendParam: ['data=akses-semua','RPJMDID'],
onSuccess: (txt) => {
this.winSemua = FoniaJS.showWindow('Semua', 'Ubah Semua Hak Akses Sekaligus', txt, 'md', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winSemua').find('#butWSimpan').click(() => this.update_proc());
});
}
}).send();
},
update_proc: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save-all','RPJMDID','Hak_Renstra','Hak_RPJMD'],
onSuccess: () => FoniaJS.closeWindow(this.winSemua)
}).send();
},
detail_show: function(mode, OPDID, AksesID){
new Request({
url: this.PHP,
sendParam: ['data=akses-detail','mode='+mode,'RPJMDID','OPDID='+OPDID,'AksesID='+AksesID],
onSuccess: (txt) => {
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Konfigurasi Hak Akses', txt, 'lg', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDetail').find('#butWSimpan').click(() => this.detail_save());
});
}
}).send();
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0], acell[1]);
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save','RPJMDID','AksesID','OPDID','Hak_Renstra','Hak_RPJMD'],
onSuccess: () => FoniaJS.closeWindow(this.winDetail)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','RPJMDID','Cari_OPD']
}).send()
}
},
oc_RPJMD: function(){
this.data_query('detail');
}
};
+90
View File
@@ -0,0 +1,90 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/sys/akses_sip.js
Desc. : JS - Konfigurasi Hak Akses Data e-Planning
Created By : Siau Pheng ([email protected]).
Created Date : February 17th, 2020.
Last Modified : February, 2022.
(c) 2020 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TAksesSJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_OPD').keydown((e) => {
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
});
$('#butSearch').click(() => this.data_query('detail'));
$('#butAll').click(() => {
$('#Cari_OPD').val('');
this.data_query('detail');
});
$('#butUpAll').click(() => this.update_all());
FoniaJS.setFocus('#Cari_OPD');
},
update_all: function(){
new Request({
url: this.PHP,
sendParam: ['data=akses-semua','Tahun'],
onSuccess: (txt) => {
this.winSemua = FoniaJS.showWindow('Semua', 'Ubah Semua Hak Akses Sekaligus', txt, 'lg', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winSemua').find('#butWSimpan').click(() => this.update_proc());
});
}
}).send();
},
update_proc: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save-all','Tahun','Hak_Renja1','Hak_Renja2'],
onSuccess: () => FoniaJS.closeWindow(this.winSemua)
}).send();
},
detail_show: function(mode, OPDID, AksesID){
new Request({
url: this.PHP,
sendParam: ['data=akses-detail','mode='+mode,'Tahun','OPDID='+OPDID,'AksesID='+AksesID],
onSuccess: (txt) => {
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Konfigurasi Hak Akses', txt, 'lg', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDetail').find('#butWSimpan').click(() => this.detail_save());
});
}
}).send();
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0], acell[1]);
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save','Tahun','AksesID','OPDID','Hak_Renja1','Hak_Renja2'],
onSuccess: () => FoniaJS.closeWindow(this.winDetail)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Tahun','Cari_OPD']
}).send()
}
},
oc_Tahun: function(){
this.data_query('detail');
}
};
+55
View File
@@ -0,0 +1,55 @@
/*******************************************************************
Module : /apps/js/sys/chpasswd.js
Desc. : JS - Perubahan Password Operator
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2008.
Last Modified : April 25th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var SYSChpasswdJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butSave').click(function(){this.proses_save();}.bind(this));
FoniaJS.setFocus('#LPass');
},
proses_save: function(){
if ($("#LPass").val()=="") {
FoniaJS.showInfo("Silakan masukkan password lama Anda!");
FoniaJS.setFocus("#LPass");
return false;
} else if ($("#BPass1").val()=="") {
FoniaJS.showInfo("Silakan masukkan password baru 1 Anda!");
FoniaJS.setFocus("#BPass1");
return false;
} else if ($("#BPass2").val()=="") {
FoniaJS.showInfo("Silakan masukkan password baru 2 Anda!");
FoniaJS.setFocus("#BPass2");
return false;
} else if ($("#BPass1").val()!=$("#BPass2").val()) {
FoniaJS.showInfo("Password baru 1 dan 2 Anda tidak sama!");
FoniaJS.setFocus("#BPass1");
return false;
}
new Request.JSON({
url: this.PHP,
sendParam: ['data=chpasswd','LPass','BPass1','BPass2'],
onSuccess: function(ajson){
if (ajson.status == true) {
FoniaJS.showInfo(ajson.msg);
FoniaJS.closeWindow('#win'+this.KODE);
} else {
FoniaJS.showError(ajson.msg);
}
}.bind(this)
}).send();
}
};
+59
View File
@@ -0,0 +1,59 @@
/*******************************************************************
Module : /apps/js/sys/config.js
Desc. : JS - Konfigurasi Aplikasi
Created By : Siau Pheng ([email protected]).
Created Date : May 25th, 2010.
Last Modified : September 30th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var ConfigJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butUbah').click(() => this.proses_edit());
$('#butSimpan').click(() => this.proses_save());
this.data_query('view');
},
proses_edit: function(){
this.data_query('edit');
},
proses_save: function(){
new Request({
url: this.PHP,
sendParam: ['data=master','mode=save','REG_ID','REG_ADDRESS','REG_CITY','REG_POSTCODE','REG_PHONE','REG_FAX','REG_WEBSITE','REG_EMAIL'],
onSuccess: (txt) => {
$('#divMaster').html(txt);
this.update_event();
}
}).send()
},
data_query: function(mode){
new Request({
url: this.PHP,
sendParam: ['data=master','mode='+mode,'REG_ID'],
onSuccess: (txt) => {
$('#divMaster').html(txt);
this.update_event();
}
}).send()
},
update_event: function(){
if ($.inArray($('#mode').val(), ['edit']) >= 0) {
$("#butUbah").prop('disabled', true);
$("#butSimpan").prop('disabled', false);
} else {
$("#butUbah").prop('disabled', false);
$("#butSimpan").prop('disabled', true);
}
}
};
+146
View File
@@ -0,0 +1,146 @@
/*******************************************************************
Module : /apps/js/sys/menu_grup.js
Desc. : JS - Manajemen Data Grup Login Menu
Created By : Siau Pheng ([email protected]).
Created Date : August 8th, 2013.
Last Modified : January 1st, 2026.
(c) 2013 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var MenuGrupJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Grup').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Grup').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Grup');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=grup-detail','mode='+mode,'Grup_MenuID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Informasi Grup Menu', txt, 'lg', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
$('#winDetail').find('#butWSimpan').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm("Konfirmasi", "Yakin akan hapus "+acell[1]+"?", function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','Grup_MenuID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','Grup_MenuID','Nama_Grup','Ket','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
menu_show: function(acell){
new Request({
url: this.PHP,
sendParam: ['data=menu','Grup_MenuID='+acell[0]],
onSuccess: function(txt){
this.winMenu = FoniaJS.showWindow('Menu', 'Hak Akses Modul', txt, 'lg', [{i:'butWSelAll',v:'Pilih Semua',c:'info'},{i:'butWClrAll',v:'Hapus Semua',c:'info'},{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
$('#winMenu')
.find('#butWSelAll').click(function(){this.menu_ceksemua();}.bind(this)).end()
.find('#butWClrAll').click(function(){this.menu_hapussemua();}.bind(this)).end()
.find('#butWSimpan').click(function(){this.menu_simpan();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
menu_cek: function(el){
var t_modul = el.value, b_check = el.checked;
$('#tabMenuList tbody input[type="checkbox"]').map(function(i, b){
var t_menu = $(b);
if (t_menu.hasClass(t_modul)) t_menu.prop('checked', b_check);
});
el.prop('checked', !b_check);
},
menu_ceksemua: function(){
$('#tabMenuList tbody input[type="checkbox"]').prop('checked', true);
},
menu_hapussemua: function(){
$('#tabMenuList tbody input[type="checkbox"]').prop('checked', false);
},
menu_simpan: function(){
var alist = $('#R_MENU').val().split(',');
$('#tabMenuList tbody input[type="checkbox"]:checked').map(function(i, b){
alist.push($(b).val());
});
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save-menu','Grup_MenuID','Menu='+alist.join()],
onSuccess: function(adata){
if (adata.status==true){
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winMenu);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Grup']
}).send()
}
}
};
+281
View File
@@ -0,0 +1,281 @@
/*******************************************************************
Module : /apps/js/sys/operator.js
Desc. : JS - Manajemen Data Pengguna
Created By : Siau Pheng ([email protected]).
Created Date : March 12th, 2008.
Last Modified : January 1st, 2026.
(c) 2008 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var OperatorJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_User').keydown((e) => {
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
});
$('#butSearch').click(() => this.data_query('detail'));
$('#butAll').click(() => {
$('#Cari_User').val('');
this.data_query('detail');
});
$('#butFilter').click(() => this.filter_show());
FoniaJS.setFocus('#Cari_User');
},
filter_show: function(){
new Request({
url: this.PHP,
sendParam: ['data=detail_filter','Filter_Level'],
onSuccess: (txt) => {
this.winFilter = FoniaJS.showWindow('FLevel', 'Filter Data Pengguna / Level', txt, 400, [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winFLevel')
.find('#butWSimpan').click(() => this.filter_simpan()).end()
.find('#Fi_Level').focus();
});
}
}).send();
},
filter_simpan: function(){
$('#Filter_Level').val($('#Fi_Level').val());
FoniaJS.closeWindow(this.winFilter);
this.data_query('detail');
},
detail_show: function(mode, UserID){
new Request({
url: this.PHP,
sendParam: ['data=user-detail','mode='+mode,'UserID='+UserID],
onSuccess: (txt) => {
this.winDetail = FoniaJS.showWindow('Detail', 'Informasi Pengguna', txt, 'lg', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDetail').find('#butWSimpan').click(() => this.detail_check());
this.oc_Level();
});
}
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm("Konfirmasi", "Yakin akan hapus ["+acell[1]+"] "+acell[2]+"?", () => {
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','UserID='+acell[0]],
onSuccess: (adata) => {
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}
}).send();
}, 'danger');
},
detail_check: function(){
if ($('#Username').val().toUpperCase()==$('#UserLama').val().toUpperCase()) {
this.detail_save();
return;
}
new Request.JSON({
url: this.PHP,
sendParam: ['data=user-check','Username'],
onSuccess: (adata) => {
if (adata.ada==true) {
FoniaJS.showInfo("Username telah ada dalam sistem !");
} else {
this.detail_save();
}
}
}).send();
},
detail_save: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode','UserID','Username','Nama','Posisi','Level','Password','Grup_MenuID','Aktif'],
onSuccess: (adata) => {
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}
}).send();
},
menu_show: function(acell){
new Request({
url: this.PHP,
sendParam: ['data=menu','UserID='+acell[0]],
onSuccess: (txt) => {
this.winMenu = FoniaJS.showWindow('Menu', 'Hak Akses Modul', txt, 'lg', [{i:'butWSelAll',v:'Pilih Semua',c:'info'},{i:'butWClrAll',v:'Hapus Semua',c:'info'},{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winMenu')
.find('#butWSelAll').click(() => this.menu_ceksemua()).end()
.find('#butWClrAll').click(() => this.menu_hapussemua()).end()
.find('#butWSimpan').click(() => this.menu_simpan()).end()
.find('#tabMenuList thead input[type="checkbox"]:disabled').prop('indeterminate', true);
});
}
}).send();
},
menu_cek: function(el){
var t_modul = el.value, b_check = el.checked;
$('#tabMenuList tbody input[type="checkbox"]').map(function(i, b){
var t_menu = $(b);
if (t_menu.hasClass(t_modul)) t_menu.prop('checked', b_check);
});
el.prop('checked', !b_check);
},
menu_ceksemua: function(){
$('#tabMenuList tbody input[type="checkbox"]:not(:disabled)').prop('checked', true);
},
menu_hapussemua: function(){
$('#tabMenuList tbody input[type="checkbox"]:not(:disabled)').prop('checked', false);
},
menu_simpan: function(){
var alist = $('#R_MENU').val().split(',');
$('#tabMenuList tbody input[type="checkbox"]:not(:disabled):checked').map(function(i, b){
alist.push($(b).val());
});
new Request.JSON({
url: this.PHP,
sendParam: ['data=save-menu','UserID','Menu='+alist.join()],
onSuccess: (adata) => {
if (adata.status==true){
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winMenu);
}
}).send();
},
opd_show: function(acell){
new Request({
url: this.PHP,
sendParam: ['data=opd','UserID='+acell[0]],
onSuccess: (txt) => {
this.winOPD = FoniaJS.showWindow('OPD', 'Akses Data OPD', txt, 'lg', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winOPD').find('#butWSimpan').click(() => this.opd_simpan());
});
}
}).send();
},
opd_simpan: function(){
var alist = [];
$('#tabOPDList tbody input[type="checkbox"]:not(:disabled):checked').map(function(i, b){
alist.push($(b).val());
});
new Request.JSON({
url: this.PHP,
sendParam: ['data=save-opd','UserID','AK_OPD='+alist.join()],
onSuccess: (adata) => {
if (adata.status==true){
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winOPD);
}
}).send();
},
kec_show: function(acell){
new Request({
url: this.PHP,
sendParam: ['data=kec','UserID='+acell[0]],
onSuccess: (txt) => {
this.winKec = FoniaJS.showWindow('Kec', 'Akses Data Kecamatan', txt, 'md', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#AK_KEC').select2({tags: false, dropdownParent: $('#winKec')});
$('#winKec').find('#butWSimpan').click(() => this.kec_simpan());
});
}
}).send();
},
kec_simpan: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save-kec','UserID','AK_KEC'],
onSuccess: (adata) => {
if (adata.status==true){
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winKec);
}
}).send();
},
kel_show: function(acell){
new Request({
url: this.PHP,
sendParam: ['data=kel','UserID='+acell[0]],
onSuccess: (txt) => {
this.winKel = FoniaJS.showWindow('Kel', 'Akses Data Kelurahan / Desa', txt, 'md', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#AK_KEL').select2({tags: false, dropdownParent: $('#winKel')});
$('#winKel').find('#butWSimpan').click(() => this.kel_simpan());
});
}
}).send();
},
kel_simpan: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save-kel','UserID','AK_KEL'],
onSuccess: (adata) => {
if (adata.status==true){
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winKel);
}
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Filter_Level','Cari_User']
}).send()
}
},
oc_Level: function(){
if ($('#Level').val()>1 && $('#Level').val()!=3) {
$('#Grup_MenuID').prop('disabled', true).val(0).trigger('change');
} else $('#Grup_MenuID').prop('disabled', false);
if ($('#Level').val()==3) {
$('#Grup_Help').removeClass('d-none');
} else $('#Grup_Help').addClass('d-none');
}
};
+56
View File
@@ -0,0 +1,56 @@
/*******************************************************************
Module : /apps/js/sys/config.js
Desc. : JS - Konfigurasi Aplikasi
Created By : Siau Pheng ([email protected]).
Created Date : May 25th, 2010.
Last Modified : February 6th, 2023.
(c) 2010 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var SIPPDJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butUbah').click(() => this.proses_edit());
$('#butSimpan').click(() => this.proses_save());
this.data_query('view');
},
proses_edit: function(){
this.data_query('edit');
},
proses_save: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','REG_ID','INFO_RUN','RENC_RPJMDID','RENC_THN','RENC_VISIID','REAL_RPJMDID','REAL_THN','REAL_BLN','REAL_TGL'],
onSuccess: (adata) => {
if (adata.status==true) {
FoniaJS.showInfo('Simpan konfigurasi aplikasi sukses !');
}
this.data_query('view');
}
}).send()
},
data_query: function(mode){
new Request({
url: this.PHP,
sendParam: ['data=master','mode='+mode,'REG_ID'],
onSuccess: (txt) => {
$('#divMaster').html(txt);
if ($.inArray($('#mode').val(), ['edit']) >= 0) {
$("#butUbah").prop('disabled', true);
$("#butSimpan").prop('disabled', false);
} else {
$("#butUbah").prop('disabled', false);
$("#butSimpan").prop('disabled', true);
}
}
}).send()
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/akun.js
Desc. : JS - Tabel Master Akun Keuangan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : August 24th, 2021.
(c) 2012 - 2021, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TAkunJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Akun').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Akun').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Akun');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=akun-detail','mode='+mode,'AkunID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Akun Keuangan', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[1]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','AkunID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','AkunID','K_Akun','N_Akun','Set_Input'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Akun']
}).send();
}
}
};
+158
View File
@@ -0,0 +1,158 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/asb.js
Desc. : JS - Tabel Master Standar ASB
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 30th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TASBJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butASB').click(function(){
if ($('#ASBID').val()>0) this.show_hide(1);
}.bind(this));
this.show_hide(1);
$('#Cari_ASB').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.show_hide(1);
}.bind(this));
$('#butSearch').click(function(e){
this.show_hide(1);
}.bind(this));
$('#butAll').click(function(){
$('#Cari_ASB').val('');
this.show_hide(1);
}.bind(this));
FoniaJS.setFocus('#Cari_ASB');
},
show_hide: function(no){
$('#divASB').css('display', 'none'); $('#butASB').removeClass('btn-secondary').addClass('btn-info');
$('#divHSPK').css('display', 'none');
if (no == 1) {
$('#ASBID').val(0);
$('#Nama_ASB').val('');
}
if (no <= 1) {
$('#butASB').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divASB').css('display', ''); this.data_query('tabel-asb'); }
if (no == 2) { $('#divHSPK').css('display', ''); this.data_query('tabel-hspk'); }
},
asb_select: function(acell){
$('#ASBID').val(acell[0]);
$('#Nama_ASB').val(acell[2]);
this.show_hide(2);
},
asb_detail: function(mode, ID){
$('#ASBID').val(ID);
new Request({
url: this.PHP,
sendParam: ['data=detail-asb','mode_detail='+mode,'ASBID'],
onSuccess: function(txt){
this.winASB = FoniaJS.showWindow('ASB', 'Detail Standar ASB', txt, 600, '_,WK,WS', function(){
$('#winASB').find('#butWSave').click(function(){this.asb_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
asb_tambah: function(){
this.asb_detail('insert', 0);
},
asb_ubah: function(acell){
this.asb_detail('update', acell[0]);
},
asb_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=tabel-asb','mode_detail=delete','ASBID='+acell[0]],
onSuccess: function(){
FoniaJS.showInfo('Proses hapus data sukses!');
}.bind(this)
}).send();
}.bind(this), 'danger');
},
asb_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-asb','mode_detail','ASBID='+$('#ASBID2').val(),'OPDID','K_ASB','N_ASB','D_ASB','Aktif'],
onSuccess: function(){
FoniaJS.showInfo('Proses simpan data sukses!');
FoniaJS.closeWindow(this.winASB);
}.bind(this)
}).send();
},
hspk_detail: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=detail-hspk','mode_detail='+mode,'ASBID','ID='+ID],
onSuccess: function(txt){
this.winHSPK = FoniaJS.showWindow('HSPK', 'Detail Komponen HSPK', txt, 600, '_,WK,WS', function(){
$('#winHSPK').find('#butWSave').click(function(){this.hspk_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
hspk_tambah: function(){
this.hspk_detail('insert', 0);
},
hspk_ubah: function(acell){
this.hspk_detail('update', acell[0]);
},
hspk_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=tabel-hspk','mode_detail=delete','ASBID','ID='+acell[0]],
onSuccess: function(){
FoniaJS.showInfo('Proses hapus data sukses!');
}.bind(this)
}).send();
}.bind(this), 'danger');
},
hspk_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-hspk','mode_detail','ASBID','ID','HSPKID','KOE'],
onSuccess: function(){
FoniaJS.showInfo('Proses simpan data sukses!');
FoniaJS.closeWindow(this.winHSPK);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="tabel-asb"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-asb','Cari_ASB']
}).send();
} else if (tipe=="tabel-hspk"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-hspk','ASBID']
}).send();
}
},
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/bidu.js
Desc. : JS - Tabel Master Bidang Urusan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TBiduJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Bidu').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Bidu').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Bidu');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=bidu-detail','mode='+mode,'BUID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Bidang Urusan', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[3]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','BUID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','BUID','K_Urusan','K_Bidu','N_Bidu','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Bidu']
}).send();
}
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/dapil.js
Desc. : JS - Tabel Master Daerah Pemilihan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TDapilJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Dapil').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Dapil').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Dapil');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=dapil-detail','mode='+mode,'DapilID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Kelompok Dapil', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[1]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','DapilID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','DapilID','N_Dapil','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Dapil']
}).send();
}
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/desa.js
Desc. : JS - Tabel Master Kelurahan / Desa
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TDesaJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Desa').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Desa').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Desa');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=desa-detail','mode='+mode,'LokasiID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Kelurahan / Desa', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','LokasiID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','LokasiID','K_Lokasi','N_Lokasi','IndukID','Aktif'],//N_Urut
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Desa']
}).send();
}
}
};
+110
View File
@@ -0,0 +1,110 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/dprd.js
Desc. : JS - Tabel Master Anggota DPRD
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TDPRDJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_DPRD').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_DPRD').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_DPRD');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=dprd-detail','mode='+mode,'DPRDID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Anggota DPRD', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_check();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','DPRDID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_check: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=user-check','DPRDID','Username'],
onSuccess: function(adata){
if (adata.ada==true) {
FoniaJS.showInfo("Username telah ada dalam sistem !");
} else {
this.detail_save();
}
}.bind(this)
}).send();
},
detail_save: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode','DPRDID','K_DPRD','N_DPRD','F_DPRD','Komisi_DPRD','DapilID','Username','Password','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_DPRD']
}).send();
}
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/forum.js
Desc. : JS - Tabel Master Kelompok Forum OPD
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TForumJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Forum').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Forum').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Forum');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=forum-detail','mode='+mode,'ForumID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Kelompok Forum OPD', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[1]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','ForumID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','ForumID','N_Forum','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Forum']
}).send();
}
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/hspk.js
Desc. : JS - Tabel Master Standar HSPK
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : January 22nd, 2021.
(c) 2012 - 2021, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var THSPKJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_HSPK').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_HSPK').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_HSPK');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=hspk-detail','mode='+mode,'HSPKID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Standar HSPK', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','HSPKID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','HSPKID','K_HSPK','N_HSPK','Satuan','Nilai_W1','Nilai_W2','Nilai_W3','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_HSPK']
}).send();
}
}
};
+103
View File
@@ -0,0 +1,103 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/jalan.js
Desc. : JS - Tabel Master Jalan / Gang
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : January 22nd, 2021.
(c) 2012 - 2021, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TJalanJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Jalan').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Jalan').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Jalan');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=jalan-detail','mode='+mode,'JalanID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Jalan / Gang', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','JalanID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','JalanID','KecID','KelID','K_Jalan','N_Jalan','Lokasi','Panjang','Mantap','Rusak_Ringan','Rusak_Berat','JU','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Jalan']
}).send();
}
},
oc_Kec: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-kel','KecID']
}).send();
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/kec.js
Desc. : JS - Tabel Master Kecamatan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TKecJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Kec').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Kec').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Kec');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=kec-detail','mode='+mode,'LokasiID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Kecamatan', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','LokasiID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','LokasiID','K_Lokasi','N_Lokasi','DapilID','Aktif'],//N_Urut
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Kec']
}).send();
}
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/opd.js
Desc. : JS - Tabel Master OPD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : February 21st, 2023.
(c) 2012 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TOPDJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_OPD').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_OPD').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_OPD');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=opd-detail','mode='+mode,'OPDID='+ID],
onSuccess: (txt) => {
this.winDetail = FoniaJS.showWindow('Detail', 'Detail OPD', txt, 'lg', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDetail').find('#butWSimpan').click(() => this.detail_save());
});
}
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','OPDID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','OPDID','K_Bidu1','K_Bidu2','K_Bidu3','U_Bidu','N_OPD','S_OPD','N_Lokasi','SidangID','ForumID','IV','IK','P_NIP','P_Nama','P_Jabatan','P_Pangkat','B_NIP','B_Nama','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_OPD']
}).send();
}
}
};
+86
View File
@@ -0,0 +1,86 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/opd_pagu.js
Desc. : JS - Tabel Master Pagu OPD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2010 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TOPDPaguJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_OPD').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_OPD').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_OPD');
},
detail_show: function(OPID, OPDID){
new Request({
url: this.PHP,
sendParam: ['data=opdpagu-detail','Tahun','OPDPAGUID='+OPID,'OPDID='+OPDID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Pagu OPD', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_ubah: function(acell){
this.detail_show(acell[0], acell[1]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[3]+'"</b> ?', function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=del','OPDPAGUID='+acell[0]],
onSuccess: function(){
FoniaJS.showInfo('Proses hapus data sukses!');
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','mode=save','Tahun','OPDPAGUID','OPDID','Pagu'],
onSuccess: function(){
FoniaJS.closeWindow(this.winDetail);
FoniaJS.showInfo('Proses simpan data sukses!');
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Tahun','Cari_OPD']
}).send()
}
},
oc_Tahun: function(){
this.data_query('detail');
}
};
+93
View File
@@ -0,0 +1,93 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/periode.js
Desc. : JS - Pengaturan Periode Data
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 16th, 2012.
Last Modified : July 18th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TPeriodeJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Tahun').keydown((e) => {
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
});
$('#butSearch').click(() => this.data_query('detail'));
$('#butAll').click(() => {
$('#Cari_Tahun').val('');
this.data_query('detail');
});
FoniaJS.setFocus('#Cari_Tahun');
},
detail_show: function(mode, ThnID){
new Request({
url: this.PHP,
sendParam: ['data=periode-detail','mode='+mode,'THNID='+ThnID],
onSuccess: (txt) => {
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Periode Data', txt, 'md', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDetail').find('#butWSimpan').click(() => this.detail_save());
});
}
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', () => {
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','THNID='+acell[0]],
onSuccess: (adata) => {
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}
}).send();
}, 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','THNID','Tahun','Ket'],
onSuccess: (adata) => {
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Tahun']
}).send();
}
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/prio_dae.js
Desc. : JS - Tabel Master Prioritas Daerah
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TPrioDJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_PrioD').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_PrioD').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_PrioD');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=priodae-detail','mode='+mode,'PrioDID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Prioritas Daerah', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','PrioDID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','PrioDID','K_PrioD','N_PrioD','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_PrioD']
}).send();
}
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/prio_nas.js
Desc. : JS - Tabel Master Prioritas Nasional
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TPrioNJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_PrioN').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_PrioN').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_PrioN');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=prionas-detail','mode='+mode,'PrioNID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Prioritas Nasional', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','PrioNID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','PrioNID','K_PrioN','N_PrioN','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_PrioN']
}).send();
}
}
};
+93
View File
@@ -0,0 +1,93 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/rpjmd.js
Desc. : JS - Konfigurasi Periode RPJMD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 16th, 2012.
Last Modified : July 18th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TRPJMDJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_RPJMD').keydown((e) => {
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
});
$('#butSearch').click(() => this.data_query('detail'));
$('#butAll').click(() => {
$('#Cari_RPJMD').val('');
this.data_query('detail');
});
FoniaJS.setFocus('#Cari_RPJMD');
},
detail_show: function(mode, RPJMDID){
new Request({
url: this.PHP,
sendParam: ['data=rpjmd-detail','mode='+mode,'RPJMDID='+RPJMDID],
onSuccess: (txt) => {
this.winDetail = FoniaJS.showWindow('Detail', 'Detail RPJMD', txt, 'md', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDetail').find('#butWSimpan').click(() => this.detail_save());
});
}
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[1]+'"</b> ?', () => {
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','RPJMDID='+acell[0]],
onSuccess: (adata) => {
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}
}).send();
}, 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','RPJMDID','Ket','Tahun1','Tahun2','Tahun3','Tahun4','Tahun5','Tahun6'],
onSuccess: (adata) => {
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_RPJMD']
}).send();
}
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/satuan.js
Desc. : JS - Tabel Master Satuan Kegiatan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 30th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TSatuanJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Satuan').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Satuan').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Satuan');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=satuan-detail','mode='+mode,'SatuanID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Satuan Kegiatan', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','SatuanID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','SatuanID','K_Satuan','N_Satuan','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Satuan']
}).send();
}
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/subkeg.js
Desc. : JS - Tabel Master Sub Kegiatan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TSubKegJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Sub').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Sub').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Sub');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=subkeg-detail','mode='+mode,'SubID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Sub Kegiatan', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[3]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','SubID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','SubID','ProgID','KegID','K_Sub','N_Sub','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Sub']
}).send();
}
}
};
+96
View File
@@ -0,0 +1,96 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/tab/urusan.js
Desc. : JS - Tabel Master Urusan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TUrusanJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Urusan').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Urusan').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Urusan');
},
detail_show: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=urusan-detail','mode='+mode,'UrusanID='+ID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Detail Urusan', txt, 600, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','UrusanID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','UrusanID','K_Urusan','N_Urusan','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Urusan']
}).send();
}
}
};
+149
View File
@@ -0,0 +1,149 @@
/*******************************************************************
Module : /apps/js/sys/operator.js
Desc. : JS - Manajemen Data Pengguna
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : March 12th, 2008.
Last Modified : July 14th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var TFraksiJS = {
PHP: '',
KODE: '',
loading: function(){
this.data_query('detail');
$('#Cari_Fraksi').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('detail');
}.bind(this));
$('#butSearch').click(function(e){
this.data_query('detail');
}.bind(this));
$('#butAll').click(function(){
$('#Cari_Fraksi').val('');
this.data_query('detail');
}.bind(this));
FoniaJS.setFocus('#Cari_Fraksi');
},
detail_show: function(mode, UserID){
new Request({
url: this.PHP,
sendParam: ['data=user-detail','mode='+mode,'UserID='+UserID],
onSuccess: function(txt){
this.winDetail = FoniaJS.showWindow('Detail', 'Informasi Pengguna Fraksi', txt, 500, '_,WK,WS', function(){
$('#winDetail').find('#butWSave').click(function(){this.detail_check();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
detail_tambah: function(){
this.detail_show('add', 0);
},
detail_ubah: function(acell){
this.detail_show('edit', acell[0]);
},
detail_hapus: function(acell){
FoniaJS.showConfirm("Konfirmasi", "Yakin akan hapus ["+acell[1]+"] "+acell[2]+"?", function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=save','mode=del','UserID='+acell[0]],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses hapus data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses hapus data!');
}
}.bind(this)
}).send();
}.bind(this), 'danger');
},
detail_check: function(){
if ($('#Username').val().toUpperCase()==$('#UserLama').val().toUpperCase()) {
this.detail_save();
return;
}
new Request.JSON({
url: this.PHP,
sendParam: ['data=user-check','Username'],
onSuccess: function(adata){
if (adata.ada==true) {
FoniaJS.showInfo("ID Pengguna telah ada dalam sistem !");
} else {
this.detail_save();
}
}.bind(this)
}).send();
},
detail_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save','mode','UserID','Username','Nama','Posisi','Password','Aktif'],
onSuccess: function(adata){
if (adata.status==true){
this.data_query('detail');
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDetail);
}.bind(this)
}).send();
},
dewan_show: function(acell){
new Request({
url: this.PHP,
sendParam: ['data=dewan','UserID='+acell[0]],
onSuccess: function(txt){
this.winDPRD = FoniaJS.showWindow('DPRD', 'Daftar Anggota Dewan', txt, 600, '_,WK,WS', function(){
$('#winDPRD').find('#butWSave').click(function(){this.dewan_simpan();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
dewan_simpan: function(){
var hasil = '';
$('#tabDPRDList :input').each(function(e){
if (this.type=='checkbox' && this.id.indexOf('xDPRD')!==-1 && this.checked) {
hasil += $(this).val() + ',';
}
});
new Request.JSONF({
url: this.PHP,
sendParam: ['data=save-dewan','UserID','AK_DPRD='+hasil],
onSuccess: function(adata){
if (adata.status==true){
FoniaJS.showInfo('Proses simpan data sukses!');
}else{
FoniaJS.showInfo('Ada masalah dalam proses simpan data!');
}
FoniaJS.closeWindow(this.winDPRD);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="detail"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=detail','Cari_Fraksi']
}).send()
}
},
oc_Level: function(){
}
};
+146
View File
@@ -0,0 +1,146 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/func.musrenbang.php
Desc. : PHP - Fungsi Musrenbang
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 15th, 2012.
Last Modified : January 30th, 2024.
(c) 2012 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
$fdb = new MySQL();
function map_tahun_submap($id_rpjmd = 0) {//oke
$amap = [2 => 2021, 3 => 2025, 4 => 2026];
return $amap[$id_rpjmd];
}
/*************** POKIR ***************/
function PokAksi_Array($is_form = false) {
$aaksi = [0=>"Belum Verifikasi", 1=>"Diterima", 2=>"Ditolak", 3=>"Mohon Klarifikasi"];
if ($is_form == true) unset($aaksi[0]);
return $aaksi;
}
/*************** MUSRENBANG ***************/
function Kode_Usulan_Kec($tahun = 0, $id_kec = 0) {//oke
global $fdb;
$tno = ($tahun == 0) ? "00" : substr("".$tahun, -2);
if ($id_kec > 0) {
$fdb->Query("SELECT RIGHT(K_Lokasi,2) Kode FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
if ($fdb->Next()) $tno .= $fdb->Row("Kode")."-";
} else $tno .= "00-";
$ino = 0;
$fdb->Query("SELECT MAX(RIGHT(Kode,3)) Nomor FROM mus_usulan WHERE Tahun='".$tahun."' AND KecID='".$id_kec."' AND JU=3");
if ($fdb->Next()) $ino = intval($fdb->Row("Nomor", 0));
$tno .= isi_nol($ino+1, 3);
return $tno;
}
function Kode_Usulan_Desa($tahun = 0, $id_desa = 0) {//oke
global $fdb;
$tno = ($tahun == 0) ? "00" : substr("".$tahun, -2);
if ($id_desa > 0) {
$fdb->Query("SELECT K_Lokasi FROM para_lokasi WHERE LokasiID='".$id_desa."' LIMIT 1");
if ($fdb->Next()) $tno .= $fdb->Row("K_Lokasi")."-";
} else $tno .= "000-";
$ino = 0;
$fdb->Query("SELECT MAX(RIGHT(Kode,3)) Nomor FROM mus_usulan WHERE LEFT(Kode,".strlen($tno).")='".$tno."'");
if ($fdb->Next()) $ino = intval($fdb->Row("Nomor", 0));
$tno .= isi_nol($ino+1, 3);
return $tno;
}
function MUSPrio($iprio=0) {//oke
$hasil = '<select class="form-select form-select-sm" onchange="MUsulPrioJS.oc_Prio(this);" required=true aria-label="Pilihan Prioritas">';
for ($o=0; $o<=10; $o++) {
$hasil .= '<option value="'.$o.'"'.($o==$iprio?' selected="selected"':'').'>'.$o.'</option>';
}
$hasil .= '</select>';
return $hasil;
}
/*************** PEMAKAIAN BERSAMA RKPD / POKIR / MUSRENBANG ***************/
function data_rincian($id_rinc = 0, $data = false) {
$arinci = [0=>"-", 1=>"Pembangunan Jalan Lingkungan / Pemukiman", 2=>"Pembangunan Drainase", 3=>"Pembangunan Pagar Makam"];
if ($data) return $arinci;
if ($id_rinc == 0) return "";
return "<br><i>".$arinci[$id_rinc]."</i>";
}
function data_ju($id_opd = 0, $id_sub = 0){
global $fdb;
if (!isset($_SESSION['__APP_SIPPD']['TAG4'])) {
$fdb->Query("SELECT GROUP_CONCAT(SubID) TAG4 FROM para90_subtag WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND Tipe=4");
if ($fdb->Next()) $_SESSION['__APP_SIPPD']['TAG4'] = explode(",", $fdb->Row("TAG4","0"));
}
return ($id_opd==4 && !in_array($id_sub, $_SESSION['__APP_SIPPD']['TAG4'])) ? 1 : 0;
}
function array_jalan($id_sub = 0) {
global $fdb;
if (!isset($_SESSION['__APP_SIPPD']['TAG2'])) {
$fdb->Query("SELECT GROUP_CONCAT(SubID) TAG2 FROM para90_subtag WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND Tipe=2");
if ($fdb->Next()) $_SESSION['__APP_SIPPD']['TAG2'] = explode(",", $fdb->Row("TAG2","0"));
}
return ($id_sub == 0 ? $_SESSION['__APP_SIPPD']['TAG2'] : in_array($id_sub, $_SESSION['__APP_SIPPD']['TAG2']));
}
function array_rinci($id_sub = 0) {
global $fdb;
if (!isset($_SESSION['__APP_SIPPD']['TAG5'])) {
$fdb->Query("SELECT GROUP_CONCAT(SubID) TAG5 FROM para90_subtag WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND Tipe=5");
if ($fdb->Next()) $_SESSION['__APP_SIPPD']['TAG5'] = explode(",", $fdb->Row("TAG5","0"));
}
return ($id_sub == 0 ? $_SESSION['__APP_SIPPD']['TAG5'] : in_array($id_sub, $_SESSION['__APP_SIPPD']['TAG5']));
}
function array_poktan($id_sub = 0) {
global $fdb;
if (!isset($_SESSION['__APP_SIPPD']['TAG3'])) {
$fdb->Query("SELECT GROUP_CONCAT(SubID) TAG3 FROM para90_subtag WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND Tipe=3");
if ($fdb->Next()) $_SESSION['__APP_SIPPD']['TAG3'] = explode(",", $fdb->Row("TAG3","0"));
}
return ($id_sub == 0 ? $_SESSION['__APP_SIPPD']['TAG3'] : in_array($id_sub, $_SESSION['__APP_SIPPD']['TAG3']));
}
function array_tagging($id = 0) {
global $fdb;
if (!isset($_SESSION['__APP_SIPPD']['TAG1'])) {
$fdb->Query("SELECT GROUP_CONCAT(SubID) TAG1 FROM para90_subtag WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND Tipe=1");
if ($fdb->Next()) $_SESSION['__APP_SIPPD']['TAG1'] = explode(",", $fdb->Row("TAG1","0"));
}
return ($id_sub == 0 ? $_SESSION['__APP_SIPPD']['TAG1'] : in_array($id_sub, $_SESSION['__APP_SIPPD']['TAG1']));
}
/*************** REPORT ***************/
function Report_Empty($ltabel = "") {
global $fdb;
if ($ltabel == "") return false;
$fdb->Query("DELETE FROM rep_".$ltabel." WHERE (Unix='".user_unix()."' OR Unix<'".(user_unix()-604800)."') AND UserID='".user_id()."'");
}
function Report_Header($tlapor="", $tperiod="") {
$thasil = '<div style="text-align:center;font-size:12pt;"><b>'.strtoupper($_SESSION['__WEB_APP']['REG_NAME']);
$thasil .= (($tlapor=="") ? "" : '<br>'.$tlapor) . '</b>';
$thasil .= ($tperiod=="") ? "" : '<br><span style="font-size:11pt;">'.$tperiod.'</span>';
$thasil .= '</div><br>';
echo $thasil;
}
?>
+197
View File
@@ -0,0 +1,197 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/func.sippd.php
Desc. : PHP - Fungsi SIPPD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 15th, 2012.
Last Modified : May 3rd, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../modules3/db.mysqli.php");
require_once(dirname(__FILE__)."/../../../../modules3/web.misc.php");
$fdb = DB();
function custom_header_sippd() {
if (!array_key_exists('__WEB_APP', $_SESSION)) return "";
return "TA : ".$_SESSION['__WEB_APP']['RENC_THN'];
}
function tahun_ang($t_extra = "") {//oke
global $fdb;
$atahun = [];
$fdb->Query("SELECT Tahun FROM para_periode ORDER BY Tahun");
while ($fdb->Next()){
$atahun[$fdb->Row("Tahun")] = $t_extra . $fdb->Row("Tahun");
}
return $atahun;
}
/*************** RENSTRA ***************/
function RENSTRA_Kode_Keg($id_rpjmd = "", $id_opd=0, $id_prog=0, $id_mkeg=0, $is_rutin=0) {
global $fdb;
if ($is_rutin==1) {
$fdb->Query("SELECT K_Keg FROM para_kegiatan WHERE KegID='".$id_mkeg."' LIMIT 1");
if ($fdb->Next()) $kode = $fdb->Row("K_Keg", "00");
} else {
$ino = 0;
$fdb->Query("SELECT MAX(CONVERT(K_Keg,SIGNED)) Nomor FROM renstra_detail WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
$kode = isi_nol($ino+1, (($ino+1)>=100?3:2));
}
return $kode;
}
function RKA_Baru($k_tahun = "", $k_upt="", $tabel = "renja_keg") {
global $fdb;
$tno = $k_tahun . "-" . $k_upt . "-";
$ino = 0;
$fdb->Query("SELECT MAX(RIGHT(K_RKA,6)) Nomor FROM ".$tabel." WHERE LEFT(K_RKA,".strlen($tno).")='".$tno."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
$tno .= isi_nol($ino+1, 6);
return $tno;
}
function Kode_Keg_Baru($k_tahun = "", $id_opd=0, $id_prog=0) {
global $fdb;
$ino = 0;
$fdb->Query("SELECT MAX(K_Keg) Nomor FROM renja_subkeg WHERE Tahun='".$k_tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
return isi_nol($ino+1, 2);
}
/*************** RENJA ***************/
function KegID_Baru($id_rpjmd = 0) {
global $fdb;
$ino = 0;
$fdb->Query("SELECT MAX(RKegID) Nomor FROM renja_keg WHERE RPJMDID='".$id_rpjmd."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
return ($ino+1);
}
function Keg_Baru($id_prog = 0) {
global $fdb;
$ino = 0;
$fdb->Query("SELECT MAX(K_Keg) Nomor FROM para_kegiatan WHERE ProgID='".$id_prog."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
//$tno = isi_nol($ino+1, 2); todo: p90
$tno = isi_nol($ino+1, 3);
return $tno;
}
function DPRD_Kode_Baru() {//oke
global $fdb;
$ino = 0;
$fdb->Query("SELECT MAX(K_DPRD) Nomor FROM para_dprd");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
$tno = isi_nol($ino+1, 2);
return $tno;
}
/*************** POKIR ***************/
function ID_Usulan_Dewan($id_rpjmd = 0, $tahun = 0) {
global $fdb;
$ino = 1;
$fdb->Query("SELECT MAX(UsulanDID)+1 Nomor FROM pok_usulan_dewan WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$tahun."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 1);
return $ino;
}
function Kode_Usulan_Dewan($id_dprd = 0) {
global $fdb;
$k_dewan = "00";
if ($id_dprd > 0) {
$fdb->Query("SELECT K_DPRD FROM para_dprd WHERE DPRDID='".$id_dprd."' LIMIT 1");
if ($fdb->Next()) $k_dewan = $fdb->Row("K_DPRD");
}
$tno = $k_dewan . "-";
$ino = 0;
$fdb->Query("SELECT MAX(RIGHT(Kode,3)) Nomor FROM pok_usulan_dewan WHERE LEFT(Kode,".strlen($tno).")='".$tno."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
$tno .= isi_nol($ino+1, 3);
return $tno;
}
function PokAksi_Array($is_form = false) {
$aaksi = array(0=>"Belum Verifikasi", 1=>"Diterima", 2=>"Ditolak", 3=>"Mohon Klarifikasi");
if ($is_form == true) unset($aaksi[0]);
return $aaksi;
}
/*************** MUSRENBANG ***************/
function ID_Usulan_Desa($id_rpjmd = 0, $tahun = 0) {
global $fdb;
$ino = 1;
$fdb->Query("SELECT MAX(UsulanLID)+1 Nomor FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$tahun."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 1);
return $ino;
}
function Kode_Usulan_Kec($tahun = 0, $id_kec = 0) {
global $fdb;
$k_kec = "00";
if ($id_kec > 0) {
$fdb->Query("SELECT RIGHT(K_Lokasi,2) Kode FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
if ($fdb->Next()) $k_kec = $fdb->Row("Kode");
}
$tno = $k_kec . "-";
$ino = 0;
$fdb->Query("SELECT MAX(RIGHT(Kode,3)) Nomor FROM mus_usulan_desa WHERE Tahun='".$tahun."' AND KecID='".$id_kec."' AND JU=3");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
$tno .= isi_nol($ino+1, 3);
return $tno;
}
function Kode_Usulan_Desa($id_desa = 0) {//todo: harus tambah tahun
global $fdb;
$k_desa = "000";
if ($id_desa > 0) {
$fdb->Query("SELECT K_Lokasi FROM para_lokasi WHERE LokasiID='".$id_desa."' LIMIT 1");
if ($fdb->Next()) $k_desa = $fdb->Row("K_Lokasi");
}
$tno = $k_desa . "-";
$ino = 0;
$fdb->Query("SELECT MAX(RIGHT(Kode,3)) Nomor FROM mus_usulan_desa WHERE LEFT(Kode,".strlen($tno).")='".$tno."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
$tno .= isi_nol($ino+1, 3);
return $tno;
}
function MUSPrio($iprio=0) {
if ($iprio==9) $iprio = 0;
$hasil = '<select class="text enabled req valid" onchange="MUsulPrioJS.oc_Prio(this);">';
for ($o=0; $o<=5; $o++) {
$hasil .= '<option value="'.$o.'"'.($o==$iprio?' selected="selected"':'').'>'.$o.'</option>';
}
$hasil .= '</select>';
return $hasil;
}
/*************** REPORT ***************/
function Report_Empty($ltabel = "") {
global $fdb;
if ($ltabel == "") return false;
$fdb->Query("DELETE FROM rep_".$ltabel." WHERE (Unix='".user_unix()."' OR Unix<'".(user_unix()-604800)."') AND UserID='".user_id()."'");
}
function Report_Header($tlapor="", $tperiod="") {
$thasil = '<div style="text-align:center;font-size:12pt;"><b>'.strtoupper($_SESSION['__WEB_APP']['REG_NAME']);
$thasil .= (($tlapor=="") ? "" : '<br>'.$tlapor) . '</b>';
$thasil .= ($tperiod=="") ? "" : '<br><span style="font-size:11pt;">'.$tperiod.'</span>';
$thasil .= '</div><br>';
echo $thasil;
}
?>
+107
View File
@@ -0,0 +1,107 @@
<?php
/*******************************************************************
Module : /apps/php/index.php
Desc. : PHP - Halaman Utama Desktop
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 24th, 2010.
Last Modified : August 30th, 2020.
(c) 2010 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../vendor/autoload.php");
//require_once(__DIR__."/func.musrenbang.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Web\Register;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
if ( $data == "pagu-info" || $data == "pagu-chart" ) {
if ($_SESSION['__WEB_USER']['Level']==7) {
$tot_pagu = 0;
$db->Query("SELECT SUM(Rupiah) Pagu FROM mus_usulan WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' AND KelID IN (".$_SESSION['__WEB_USER']['AK_KEL'].")");
if ($db->Next()) $tot_pagu = $db->Row("Pagu");
$db->Query("SELECT L.No_Indi K_Kec,L.Txt_Indi N_Kec,U.Pagu FROM (SELECT RD_SASARINDIID,SUM(Rupiah) Pagu FROM mus_usulan WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' AND KelID IN (".$_SESSION['__WEB_USER']['AK_KEL'].") GROUP BY RD_SASARINDIID) U LEFT JOIN rpjmd_sasaran_indi L ON (L.RD_SASARINDIID=U.RD_SASARINDIID) ORDER BY L.Txt_Indi");
} else if ($_SESSION['__WEB_USER']['Level']==2) {
$tot_pagu = 0;
$db->Query("SELECT SUM(Rupiah) Pagu FROM mus_usulan WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")");
if ($db->Next()) $tot_pagu = $db->Row("Pagu");
$db->Query("SELECT L.K_Lokasi K_Kec,L.N_Lokasi N_Kec,U.Pagu FROM (SELECT KelID,SUM(Rupiah) Pagu FROM mus_usulan WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].") GROUP BY KelID) U LEFT JOIN para_lokasi L ON (L.LokasiID=U.KelID) ORDER BY L.K_Lokasi");
} else {
$tot_pagu = 0;
$db->Query("SELECT SUM(Rupiah) Pagu FROM mus_usulan WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."'");
if ($db->Next()) $tot_pagu = $db->Row("Pagu");
$db->Query("SELECT L.K_Lokasi K_Kec,L.N_Lokasi N_Kec,U.Pagu FROM (SELECT KecID,SUM(Rupiah) Pagu FROM mus_usulan WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' GROUP BY KecID) U LEFT JOIN para_lokasi L ON (L.LokasiID=U.KecID) ORDER BY L.K_Lokasi");
}
}
if ( $data == "pagu-info" ) {
$pagu_info = '<h4 class="text-end">Total Pagu Usulan '.$_SESSION['__WEB_APP']['RENC_THN'].'</h4><h2 class="text-end text-success">Rp. '.rupiah2($tot_pagu).'</h2>';
$pagu_info .= '<table class="table table-striped">';
$pagu_info .= '<thead><tr><th>'.($_SESSION['__WEB_USER']['Level']==7?"Indikator":($_SESSION['__WEB_USER']['Level']==2?"Kelurahan / Desa":"Kecamatan")).'</th><th>Pagu Indikatif</th></tr></thead><tbody>';
while ($db->Next()){
$pagu_info .= sprintf('<tr><td class="l">%s</td><td class="r">%s</td></tr>', $db->Row("N_Kec"), rupiah2($db->Row("Pagu")));
}
$pagu_info .= '</tbody></table>';
$ajson['html'] = $pagu_info;
} else if ( $data == "pagu-chart" ) {
$ajson['datasets'] = [];
$ajson['labels'] = [];
$atmp = []; $acol = [];
$atmp[] = 100;
$col_r = mt_rand( 0, 255 );
$col_g = mt_rand( 0, 255 );
$col_b = mt_rand( 0, 255 );
$acol[] = "rgb(".$col_r.",".$col_g.",".$col_b.")";
$ajson['labels'][] = "Belum Ada Usulan";
if ($db->RecordCount()>0) {
$atmp = [];
$acol = [];
$ajson['labels'] = [];
}
while ($db->Next()){
$atmp[] = round($db->Row("Pagu") / $tot_pagu * 100, 2);
$col_r = mt_rand( 0, 255 );
$col_g = mt_rand( 0, 255 );
$col_b = mt_rand( 0, 255 );
$acol[] = "rgb(".$col_r.",".$col_g.",".$col_b.")";
$ajson['labels'][] = $db->Row("N_Kec");
}
$ajson['datasets'][] = array('data'=>$atmp, 'backgroundColor'=>$acol);
} else if ( $data == "default" ) {
$aapp = $_SESSION['__WEB_APP'];
$ajson['content'] = '
<div class="row">
<div class="col-sm-12 col-md-6 d-flex align-items-stretch">
<div class="card w-100 h-100"><div class="card-body d-flex flex-column" id="divHome1">
<div class="my-auto text-center"><img class="img-fluid" src="'.$aapp['WEB_PATH'].'assets/images/logo300.png" title="'.$aapp['REG_NAME'].'" style="width:25%">
<p class="mt-2">'.$aapp['REG_ADDRESS'].'<br>
'.$aapp['REG_CITY'].' '.$aapp['REG_POSTCODE'].'</p>
<p class="mt-3 mb-3"><i>Register ID : '.Register::reg_id().'</i></p>
<p>'.$aapp['APP_NAMES'].'<br>'.$aapp['APP_NAME'].' Ver. '.$aapp['APP_VER'].'<br>
Updated : '.$aapp['APP_UPDATED'].'</p></div>
</div></div>
</div>
<div class="col-sm-12 col-md-6 d-flex align-items-stretch">
<div class="card w-100 h-100"><div class="card-body d-flex flex-column" id="divHome2">
<div class="chart-wrapper pb-2">
<canvas id="pieChart"></canvas>
</div>
</div></div>
</div>
</div>
';
}
send_json($ajson);
?>
+60
View File
@@ -0,0 +1,60 @@
<?php
/*******************************************************************
Module : /apps/php/login.php
Desc. : PHP - Halaman Proses Login
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 5th, 2008.
Last Modified : June 28th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Auth;
use siaupheng\fonia3\Web\Param;
$db = $db ?? new MySQL();
$auth = new Auth($db);
$ajson = [];
$mode = Param::Get("mode");
$aapp = $_SESSION['__WEB_APP'];
if ($mode == "login") {
$auser = [];
$auth->set_id_reg($aapp['PARENT_CODE']);
if ($auth->user_check(Param::Get("Username"), Param::Get("Password"))) {
$auser = $auth->user_data(Param::Get("Username"));
$_appurl = $_GET['redir'];
if (!empty($_appurl)) {
$_redir = $auth->redirect($_appurl);
//jika kosong, tampilkan pesan redirect tidak diijinkan
//jika berisi, js harus redirect ...
}
$ajson['token'] = $_SESSION['APP_TOKEN'];
$ajson['hasil'] = "SUKSES";
$ajson['pesan'] = '<div class="border border-success p-2 pt-3"><h5>Login berhasil,</h5><p><b>'.$auser["Username"].'</b> / '.$auser["Nama"].'<br>'.$auser["Posisi"].'<br><i>login terakhir :</i><br>'.tgl_sql2str($auser["Last_Date"],true).'<br>'.$auser["Last_IP"].'</p></div>';
} else {
$ajson['hasil'] = "ERROR";
$ajson['pesan'] = "Periksa kembali ID Pengguna atau Password Anda ...";
}
} else if ($mode == "logout") {
$auth->logout();
foreach ($_SESSION as $_key => $_val) {
if (substr($_key,0,5)=="__WEB") unset($_SESSION[$_key]);
if (substr($_key,0,5)=="__APP") unset($_SESSION[$_key]);
}
require(__DIR__."/../cfg/app.php");
$nhost = ($_SERVER['SERVER_ADDR'] == "127.0.0.1") ? $_SESSION['__WEB_APP']['WEB_PATH']."../" : $_SESSION['__WEB_APP']['PARENT_SITE'];
$ajson['nexthost'] = $nhost;
}
send_json($ajson);
?>
+188
View File
@@ -0,0 +1,188 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/rep/jalan.php
Desc. : PHP - Cetak Tabel Master Jalan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : March 20th, 2012.
Last Modified : October 17th, 2018.
(c) 2012 - 2018, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.print.php");
require_once(dirname(__FILE__)."/../../../../../vendor/autoload.php");
function report_show() {
global $ap;
$id_kec = Param::Get("KecID", 0);
$id_kel = Param::Get("KelID", 0);
$ju = Param::Get("JU", 9);
$form = new Form($db);
$tkec = $form->option_db("_", "KecID", $id_kec, true, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Aktif=1 AND Level=1 ORDER BY N_Lokasi", array(0,"&nbsp;"), "", "RepoMJalanJS.oc_KecID()");
$tkel = $form->option_db("_", "KelID", $id_kel, true, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Aktif=1 AND Level=2 AND IndukID='".$id_kec."' ORDER BY N_Lokasi", [0,"SEMUA KELURAHAN / DESA"]);
$tju = $form->radio("_", "JU", $ju, true, true, [9=>"Semua Status",1=>"Jalan Utama",2=>"Jalan Lingkungan"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
<div class="col">'.$tkec.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KelID">Nama Desa</label>
<div class="col">'.$tkel.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="JU">Status Jalan</label>
<div class="col">'.$tju.'</div>
</div>';
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$data = Param::Get("data");
$id_kec = Param::Get("KecID", 0);
$id_kel = Param::Get("KelID", 0);
$ju = Param::Get("JU", 9);
if ( $data == "pdf" || $data == "cetak-html" || $data == "export") {
$adesa = ['N_Kec'=>"", 'N_Desa'=>"Semua Desa"];
$db->Query("SELECT LokasiID KecID,N_Lokasi N_Kec FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
if ($db->Next()) $adesa = array_merge($adesa, $db->AllRow());
if ($id_kel > 0) {
$db->Query("SELECT LokasiID DesaID,N_Lokasi N_Desa FROM para_lokasi WHERE LokasiID='".$id_kel."' LIMIT 1");
if ($db->Next()) $adesa = array_merge($adesa, $db->AllRow());
}
$tsql = ($ju==9) ? "" : ($ju==1?" AND JU=1":" AND JU=0");
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
$tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'";
$db->Query("SELECT J.*,K.N_Lokasi N_Kec,L.N_Lokasi N_Kel FROM (SELECT * FROM para_jalan WHERE Aktif=1".$tsql.") J LEFT JOIN para_lokasi K ON (K.LokasiID=J.KecID) LEFT JOIN para_lokasi L ON (L.LokasiID=J.KelID) ORDER BY K.K_Lokasi,L.K_Lokasi,J.N_Jalan");
}
if ( $data == "cetak-html" ) {
$html = '<p class="judul">DAFTAR NAMA JALAN<br>'.$adesa['N_Kec'].'</p>';
$t_head = '<br>
<div><table class="garis" autosize="1"><thead><tr><th>No.</th><th>Kecamatan / Kelurahan / Nama Jalan / Gang</th><th>Lokasi</th><th>Ket</th></tr></thead><tbody>';
$t_foot = '</tbody></table></div>';
$_line = '<tr><td class="c">%s</td><td>%s</td><td>%s</td><td>%s</td></tr>';
$_sub = '<tr class="%s"><td>&nbsp;</td><td colspan="3" class="b">%s</td></tr>';
$body = $t_head;
$kkec = 0; $kkel = 0; $nomor = 1;
while ($db->Next()) {
if ($kkec <> $db->Row("KecID")) {
$body .= sprintf($_sub, "opd", $db->Row("N_Kec"));
$kkec = $db->Row("KecID");
}
if ($kkel <> $db->Row("KelID")) {
$body .= sprintf($_sub, "prog", $db->Row("N_Kel"));
$kkel = $db->Row("KelID");
$nomor = 1;
}
$body .= sprintf($_line, $nomor, $db->Row("N_Jalan"), $db->Row("Lokasi"), ($db->Row("JU")==1?"JU":"JL"));
$nomor++;
}
$body .= sprintf($t_foot);
echo $html . $body;
} else if ( $data == "export" ) {
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$styleTxt = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT]
];
$ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$ssheet->getProperties()
->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setTitle("Daftar Nama Jalan")
->setCategory("Daftar Nama Jalan")
->setSubject("Daftar Nama Jalan")
->setDescription("Daftar Nama Jalan")
->setCompany("BAPPERIDA Kabupaten Mempawah");
$sheet = $ssheet->getActiveSheet();
$sheet->setTitle("JALAN");
// header
$styleHeader = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
];
$sheet->setCellValue("A1", "DAFTAR NAMA JALAN");
$sheet->mergeCells('A1:D1');
$sheet->setCellValue("A2", $adesa['N_Kec']);
$sheet->mergeCells('A2:D2');
$sheet->getStyle('A1:D2')->applyFromArray($styleHeader);
// table header
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(30);
$sheet->getColumnDimension('C')->setWidth(40);
$sheet->getColumnDimension('D')->setWidth(6);
$styleTableH1 = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"2187AC"]],
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"000000"]]]
];
$sheet->setCellValue("A4", "No.");
$sheet->setCellValue("B4", "Kecamatan / Kelurahan / Nama Jalan / Gang");
$sheet->setCellValue("C4", "Lokasi");
$sheet->setCellValue("D4", "Ket");
$sheet->getStyle('A4:D4')->applyFromArray($styleTableH1);
$baris = 5; $kkec = 0; $kkel = 0; $nomor = 1;
while ($db->Next()) {
if ($kkec <> $db->Row("KecID")) {
$sheet->setCellValue("B".$baris, $db->Row("N_Kec"));
$sheet->mergeCells('B'.$baris.':D'.$baris);
$baris++;
$kkec = $db->Row("KecID");
}
if ($kkel <> $db->Row("KelID")) {
$sheet->setCellValue("B".$baris, $db->Row("N_Kel"));
$sheet->mergeCells('B'.$baris.':D'.$baris);
$baris++;
$kkel = $db->Row("KelID");
$nomor = 1;
}
$sheet->setCellValue("A".$baris, $nomor);
$sheet->setCellValue("B".$baris, $db->Row("N_Jalan"));
$sheet->setCellValue("C".$baris, $db->Row("Lokasi"));
$sheet->setCellValue("D".$baris, ($db->Row("JU")==1?"JU":"JL"));
$baris++;
$nomor++;
}
$sheet->getSheetView()->setZoomScale(90);
//$sheet->getHeaderFooter()->setOddFooter('&LeMONEv - Kabupaten Mempawah &CEvaluasi &R&I&D &T // Halaman : &P dari &N');
//$sheet->getHeaderFooter()->setEvenFooter('&LeMONEv - Kabupaten Mempawah &CEvaluasi &R&I&D &T // Halaman : &P dari &N');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Daftar Nama Jalan '.$adesa['N_Kec'].'.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx');
$writer->save('php://output');
$ssheet->disconnectWorksheets();
unset($ssheet);
unset($writer);
} else if ( $data == "default") {
report_show();
}
?>
+139
View File
@@ -0,0 +1,139 @@
<?php
/*******************************************************************
Module : /apps/php/sys/about.php
Desc. : PHP - Informasi Aplikasi
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : November 23th, 2011.
Last Modified : February 28th, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\DB\CheckSQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Web\Register;
use siaupheng\fonia3\Web\Update;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$cpd = new Update($db);
if ( $data == "check_update") {
$ainfo = $cpd->check_update();
$ajson['is_update'] = $ainfo['cur_sha1'] == $ainfo['new_sha1'];
$ajson['html'] = '
<div class="row">
<div class="col-sm-4 col-lg-4 col-form-label">Versi Aplikasi</div>
<div class="col col-form-label"><span class="form-control">'.$ainfo['cur_version'].'</span></div>
</div>
<div class="row">
<div class="col-sm-4 col-lg-4 col-form-label">Commit Sekarang</div>
<div class="col col-form-label"><span class="form-control"><strong>'.$ainfo['cur_sha'].'</strong> '.$ainfo['cur_date'].'</span></div>
</div>
<div class="row"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<div class="col-sm-4 col-lg-4 col-form-label">Commit Update</div>
<div class="col col-form-label"><span class="form-control"><strong>'.$ainfo['new_sha'].'</strong> '.$ainfo['new_date'].'</span></div>
</div>
<div class="row">
<div class="col-sm-4 col-lg-4 col-form-label">Informasi Update</div>
<div class="col col-form-label"><span class="form-control">'.$ainfo['new_message'].'</span></div>
</div>
<div class="row">
<div class="col-sm-4 col-lg-4 col-form-label">Status Server</div>
<div class="col">
<span class="form-control text-'.($ainfo['svr_status']==1?'success border-primary':'warning border-danger').'" id="spanStatus">'.$ainfo['svr_message'].'</span>
</div>
</div>';
} else if ( $data == "proses_update") {
$ajson = $cpd->go_update();
} else if ( $data == "check_db") {
$form = new Form($db);
$t_cek = $form->checkbox("_", "DB_Cek", 1, true, false, [1,0]);
$t_repa = $form->checkbox("_", "DB_Repair", 0, true, false, [1,0]);
$t_opti = $form->checkbox("_", "DB_Opti", 0, true, false, [1,0]);
$ajson['html'] = '
<div class="row mb-4">
<div class="col-12"><div class="input-group">'.$t_cek.'<label class="ms-2" for="DB_Cek">Cek Database</label></div><label class="small" for="DB_Cek">Proses Cek ini otomatis memperbaiki tabel yang bermasalah, jika ditemukan.</label></div>
</div>
<div class="row mb-4">
<div class="col-12"><div class="input-group">'.$t_repa.'<label class="ms-2" for="DB_Repair">Perbaiki Database</label></div><label class="small" for="DB_Repair">Proses Perbaiki akan memperbaiki semua tabel yang bermasalah.</label></div>
</div>
<div class="row mb-1">
<div class="col-12"><div class="input-group">'.$t_opti.'<label class="ms-2" for="DB_Opti">Optimalisasi Database</label></div><label class="small" for="DB_Opti">Proses Optimalisasi ini otomatis merapikan database, merampingkan database dari record data yang telah dihapus.</label></div>
</div>
<div class="d-none" id="DB_Hasil">&nbsp;</div>';
} else if ( $data == "proses_db") {
$chk = new CheckSQL($db);
$chk->ignore_table("app_auth","app_backup","app_config","app_menu","app_operator");
if (Param::Get("DB_Cek",0)==1) {
echo "<br>";
echo $chk->check_db();
}
if (Param::Get("DB_Repair",0)==1) {
echo "<br>";
echo $chk->repair_db();
}
if (Param::Get("DB_Opti",0)==1) {
echo "<br>";
echo $chk->optimize_db();
}
} else if ( $data == "default") {
$apps = $_SESSION['__WEB_APP'];
$apps['CREATOR_YEAR'] = ($apps['CREATOR_YEAR']!=date('Y')) ? $apps['CREATOR_YEAR']." - ".date('Y') : $apps['CREATOR_YEAR'];
echo '<div>
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="about-tab" data-bs-toggle="tab" data-bs-target="#about" type="button" role="tab" aria-controls="about" aria-selected="true">Tentang Aplikasi</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="other-tab" data-bs-toggle="tab" data-bs-target="#other" type="button" role="tab" aria-controls="other" aria-selected="false">Informasi Pendukung</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="tool-tab" data-bs-toggle="tab" data-bs-target="#tool" type="button" role="tab" aria-controls="tool" aria-selected="false">Tools</button>
</li>
</ul>
<div class="tab-content border border-top-0 p-3">
<div class="tab-pane fade active show" id="about" role="tabpanel" aria-labelledby="about-tab">
<div class="text-center text-secondary">
<span class="fs-5">'.$apps['REG_NAME'].'</span><br>'.$apps['REG_ADDRESS'].'<br>'.strtoupper($apps['REG_CITY']).' '.$apps['REG_POSTCODE'].'</div><br>
<table>
<tr><td>Register ID</td><td class="c pe-1">:</td><td nowrap>'.Register::reg_id().'</td></tr>
<tr><td>Register Code</td><td class="c">:</td><td>'.Register::reg_code().'</td></tr>
</table>
<hr class="my-2">
<div class="text-center text-secondary">'.$apps['APP_NAMES'].' Ver. '.$apps['APP_VER'].'<br>Updated : '.$apps['APP_UPDATED'].'</div>
</div>
<div class="tab-pane fade" id="other" role="tabpanel" aria-labelledby="other-tab">
<div class="row"><div class="col" id="divBuildInfo"></div></div>
</div>
<div class="tab-pane fade" id="tool" role="tabpanel" aria-labelledby="tool-tab">
<div class="row mb-2">
<div class="col-md-8">Silahkan jalankan proses Cek Database, jika terjadi masalah dengan database aplikasi.</div>
<div class="col-md-4 d-grid gap-2 my-auto"><button type="button" class="btn btn-info col-12" onclick="AboutJS.proses_checkdb();">Cek Database</button></div>
</div>
<div class="row">
<div class="col-md-8">Cek update aplikasi secara online.</div>
<div class="col-md-4 d-grip gap-2 my-auto"><button type="button" class="btn btn-info col-12" onclick="AboutJS.proses_update();">Cek Update</button></div>
</div>
</div>
</div>
</div>';
}
send_json($ajson);
?>
+239
View File
@@ -0,0 +1,239 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sys/akses_mon.php
Desc. : PHP - Konfigurasi Hak Akses Data e-Monev
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 17th, 2020.
Last Modified : July 15th, 2026.
(c) 2020 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
function hak_kin_def($tbln, $abln) {
$ahak = str_split($tbln);
$hasil = "";
foreach ($abln as $order => $bln) {
$hasil .= '<span class="pe-1 text-' .($ahak[$order]==1?'info':'danger'). '">' . isi_nol($bln,2) . '</span>';
}
return $hasil;
}
function hak_kin_tw1($tbln = "000") {
$abln = [1, 2, 3];
return hak_kin_def($tbln, $abln);
}
function hak_kin_tw2($tbln = "000") {
$abln = [4, 5, 6];
return hak_kin_def($tbln, $abln);
}
function hak_kin_tw3($tbln = "000") {
$abln = [7, 8, 9];
return hak_kin_def($tbln, $abln);
}
function hak_kin_tw4($tbln = "000") {
$abln = [10, 11, 12];
return hak_kin_def($tbln, $abln);
}
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$id_opd = Param::Get("OPDID", 0);
$id = Param::Get("AksesID", 0);
if ( $data == "akses-detail" ) {
$aakses = [];
if ($mode == "edit") {
$db->Query("SELECT O.OPDID,O.N_OPD,IFNULL(A.MONOPDID,0) MONOPDID,IFNULL(A.Hak_Renja,1) Hak_Renja,IFNULL(A.Hak_Kin_B01,1) Hak_Kin_B01,IFNULL(A.Hak_Kin_B02,1) Hak_Kin_B02,IFNULL(A.Hak_Kin_B03,1) Hak_Kin_B03,IFNULL(A.Hak_Kin_B04,1) Hak_Kin_B04,IFNULL(A.Hak_Kin_B05,1) Hak_Kin_B05,IFNULL(A.Hak_Kin_B06,1) Hak_Kin_B06,IFNULL(A.Hak_Kin_B07,1) Hak_Kin_B07,IFNULL(A.Hak_Kin_B08,1) Hak_Kin_B08,IFNULL(A.Hak_Kin_B09,1) Hak_Kin_B09,IFNULL(A.Hak_Kin_B10,1) Hak_Kin_B10,IFNULL(A.Hak_Kin_B11,1) Hak_Kin_B11,IFNULL(A.Hak_Kin_B12,1) Hak_Kin_B12 FROM (SELECT * FROM para90_opd WHERE Aktif=1 AND OPDID='".$id_opd."') O LEFT JOIN (SELECT * FROM sippd_akses_mon WHERE Tahun='".$tahun."' AND MONOPDID='".$id."') A ON (O.OPDID=A.OPDID)");
if ($db->Next()) $aakses = $db->AllRow();
}
$form = new Form($db);
$t_opd = $form->textbox("_", "N_OPD", $aakses['N_OPD'], false, false, "text");
$t_renja = $form->checkbox("_", "Hak_Renja", $aakses['Hak_Renja'], true, true, ["1","0"]);
$t_kin_01 = $form->checkbox("_", "Hak_Kin_B01", $aakses['Hak_Kin_B01'], true, true, ["1","0"]);
$t_kin_02 = $form->checkbox("_", "Hak_Kin_B02", $aakses['Hak_Kin_B02'], true, true, ["1","0"]);
$t_kin_03 = $form->checkbox("_", "Hak_Kin_B03", $aakses['Hak_Kin_B03'], true, true, ["1","0"]);
$t_kin_04 = $form->checkbox("_", "Hak_Kin_B04", $aakses['Hak_Kin_B04'], true, true, ["1","0"]);
$t_kin_05 = $form->checkbox("_", "Hak_Kin_B05", $aakses['Hak_Kin_B05'], true, true, ["1","0"]);
$t_kin_06 = $form->checkbox("_", "Hak_Kin_B06", $aakses['Hak_Kin_B06'], true, true, ["1","0"]);
$t_kin_07 = $form->checkbox("_", "Hak_Kin_B07", $aakses['Hak_Kin_B07'], true, true, ["1","0"]);
$t_kin_08 = $form->checkbox("_", "Hak_Kin_B08", $aakses['Hak_Kin_B08'], true, true, ["1","0"]);
$t_kin_09 = $form->checkbox("_", "Hak_Kin_B09", $aakses['Hak_Kin_B09'], true, true, ["1","0"]);
$t_kin_10 = $form->checkbox("_", "Hak_Kin_B10", $aakses['Hak_Kin_B10'], true, true, ["1","0"]);
$t_kin_11 = $form->checkbox("_", "Hak_Kin_B11", $aakses['Hak_Kin_B11'], true, true, ["1","0"]);
$t_kin_12 = $form->checkbox("_", "Hak_Kin_B12", $aakses['Hak_Kin_B12'], true, true, ["1","0"]);
$ajson['html'] = '
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Nama OPD</label>
<div class="col">'.$t_opd.'</div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Input Renja</label>
<div class="col col-form-label">'.$t_renja.'</div>
</div>
<div class="row"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Kinerja TW 1</label>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_01.'<label class="form-check-label" for="Hak_Kin_B01">Januari</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_02.'<label class="form-check-label" for="Hak_Kin_B02">Februari</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_03.'<label class="form-check-label" for="Hak_Kin_B03">Maret</label></div></div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Kinerja TW 2</label>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_04.'<label class="form-check-label" for="Hak_Kin_B04">April</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_05.'<label class="form-check-label" for="Hak_Kin_B05">Mei</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_06.'<label class="form-check-label" for="Hak_Kin_B06">Juni</label></div></div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Kinerja TW 3</label>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_07.'<label class="form-check-label" for="Hak_Kin_B07">Juli</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_08.'<label class="form-check-label" for="Hak_Kin_B08">Agustus</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_09.'<label class="form-check-label" for="Hak_Kin_B09">September</label></div></div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Kinerja TW 4</label>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_10.'<label class="form-check-label" for="Hak_Kin_B10">Oktober</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_11.'<label class="form-check-label" for="Hak_Kin_B11">November</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_12.'<label class="form-check-label" for="Hak_Kin_B12">Desember</label></div></div>
</div>
<input type="hidden" id="AksesID" value="'.$aakses['MONOPDID'].'">
<input type="hidden" id="OPDID" value="'.$aakses['OPDID'].'">';
} else if ( $data == "akses-semua" ) {
$form = new Form($db);
$t_tahun = $form->textbox("_", "Tahun2", $tahun, false, false, "text");
$t_renja = $form->checkbox("_", "Hak_Renja", 0, true, true, ["1","0"]);
$t_kin_01 = $form->checkbox("_", "Hak_Kin_B01", 0, true, true, ["1","0"]);
$t_kin_02 = $form->checkbox("_", "Hak_Kin_B02", 0, true, true, ["1","0"]);
$t_kin_03 = $form->checkbox("_", "Hak_Kin_B03", 0, true, true, ["1","0"]);
$t_kin_04 = $form->checkbox("_", "Hak_Kin_B04", 0, true, true, ["1","0"]);
$t_kin_05 = $form->checkbox("_", "Hak_Kin_B05", 0, true, true, ["1","0"]);
$t_kin_06 = $form->checkbox("_", "Hak_Kin_B06", 0, true, true, ["1","0"]);
$t_kin_07 = $form->checkbox("_", "Hak_Kin_B07", 0, true, true, ["1","0"]);
$t_kin_08 = $form->checkbox("_", "Hak_Kin_B08", 0, true, true, ["1","0"]);
$t_kin_09 = $form->checkbox("_", "Hak_Kin_B09", 0, true, true, ["1","0"]);
$t_kin_10 = $form->checkbox("_", "Hak_Kin_B10", 0, true, true, ["1","0"]);
$t_kin_11 = $form->checkbox("_", "Hak_Kin_B11", 0, true, true, ["1","0"]);
$t_kin_12 = $form->checkbox("_", "Hak_Kin_B12", 0, true, true, ["1","0"]);
$ajson['html'] = '
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Tahun Data</label>
<div class="col">'.$t_tahun.'</div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Input Renja</label>
<div class="col col-form-label">'.$t_renja.'</div>
</div>
<div class="row"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Kinerja TW 1</label>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_01.'<label class="form-check-label" for="Hak_Kin_B01">Januari</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_02.'<label class="form-check-label" for="Hak_Kin_B02">Februari</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_03.'<label class="form-check-label" for="Hak_Kin_B03">Maret</label></div></div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Kinerja TW 2</label>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_04.'<label class="form-check-label" for="Hak_Kin_B04">April</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_05.'<label class="form-check-label" for="Hak_Kin_B05">Mei</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_06.'<label class="form-check-label" for="Hak_Kin_B06">Juni</label></div></div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Kinerja TW 3</label>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_07.'<label class="form-check-label" for="Hak_Kin_B07">Juli</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_08.'<label class="form-check-label" for="Hak_Kin_B08">Agustus</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_09.'<label class="form-check-label" for="Hak_Kin_B09">September</label></div></div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Kinerja TW 4</label>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_10.'<label class="form-check-label" for="Hak_Kin_B10">Oktober</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_11.'<label class="form-check-label" for="Hak_Kin_B11">November</label></div></div>
<div class="col-sm-6 col-lg-3 col-form-label"><div class="form-check">'.$t_kin_12.'<label class="form-check-label" for="Hak_Kin_B12">Desember</label></div></div>
</div>
<div class="row"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<div class="col">
<div class="badge bg-danger text-white text-wrap">
<p class="h6 mb-3">PROSES INI AKAN SEKALIGUS MENGUBAH SEMUA HAK AKSES DATA E-MONEV OLEH OPD SESUAI TAHUN TERPILIH.</p>
</div>
</div>';
} else if ( $data == "detail" ) {
if ( in_array($mode, ["save","save-all"]) ) {
$hak_renja = Param::Get("Hak_Renja", 0);
$hak_b01 = Param::Get("Hak_Kin_B01", 0);
$hak_b02 = Param::Get("Hak_Kin_B02", 0);
$hak_b03 = Param::Get("Hak_Kin_B03", 0);
$hak_b04 = Param::Get("Hak_Kin_B04", 0);
$hak_b05 = Param::Get("Hak_Kin_B05", 0);
$hak_b06 = Param::Get("Hak_Kin_B06", 0);
$hak_b07 = Param::Get("Hak_Kin_B07", 0);
$hak_b08 = Param::Get("Hak_Kin_B08", 0);
$hak_b09 = Param::Get("Hak_Kin_B09", 0);
$hak_b10 = Param::Get("Hak_Kin_B10", 0);
$hak_b11 = Param::Get("Hak_Kin_B11", 0);
$hak_b12 = Param::Get("Hak_Kin_B12", 0);
if ( $mode=="save" ) {
if ($id == 0) {
$db->Query("INSERT INTO sippd_akses_mon (Tahun,OPDID,UserID) VALUES ('".$tahun."','".$id_opd."','".user_id()."')");
$id = $db->LastInsertID();
}
} else if ( $mode=="save-all" ) {
$db->Query("INSERT INTO sippd_akses_mon (Tahun,OPDID,UserID) SELECT '".$tahun."',OPDID,'".user_id()."' FROM para90_opd WHERE Aktif=1 AND IV=0 AND OPDID NOT IN (SELECT OPDID FROM sippd_akses_mon WHERE Tahun='".$tahun."')");
}
$db->Query("UPDATE sippd_akses_mon SET Hak_Renja='".$hak_renja."',Hak_Kin_B01='".$hak_b01."',Hak_Kin_B02='".$hak_b02."',Hak_Kin_B03='".$hak_b03."',Hak_Kin_B04='".$hak_b04."',Hak_Kin_B05='".$hak_b05."',Hak_Kin_B06='".$hak_b06."',Hak_Kin_B07='".$hak_b07."',Hak_Kin_B08='".$hak_b08."',Hak_Kin_B09='".$hak_b09."',Hak_Kin_B10='".$hak_b10."',Hak_Kin_B11='".$hak_b11."',Hak_Kin_B12='".$hak_b12."',UserID='".user_id()."' WHERE ".($mode=="save"?"MONOPDID='".$id."'":"Tahun='".$tahun."'"));
$db->Query("UPDATE sippd_akses_mon SET Hak_Kin_T1=IF(Hak_Kin_B01+Hak_Kin_B02+Hak_Kin_B03=0,0,1),Hak_Kin_T2=IF(Hak_Kin_B04+Hak_Kin_B05+Hak_Kin_B06=0,0,1),Hak_Kin_T3=IF(Hak_Kin_B07+Hak_Kin_B08+Hak_Kin_B09=0,0,1),Hak_Kin_T4=IF(Hak_Kin_B10+Hak_Kin_B11+Hak_Kin_B12=0,0,1) WHERE ".($mode=="save"?"MONOPDID='".$id."'":"Tahun='".$tahun."'"));
}
$tcari = trim(Param::Get("Cari_OPD"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(O.K_OPD,O.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT O.OPDID,O.K_OPD,O.N_OPD,IFNULL(A.MONOPDID,0) MONOPDID,IFNULL(A.Tahun,'".$tahun."') Tahun,IFNULL(A.Hak_Renja,1) Hak_Renja,CONCAT(IFNULL(A.Hak_Kin_B01,1),IFNULL(A.Hak_Kin_B02,1),IFNULL(A.Hak_Kin_B03,1)) Hak_Kin_T1,CONCAT(IFNULL(A.Hak_Kin_B04,1),IFNULL(A.Hak_Kin_B05,1),IFNULL(A.Hak_Kin_B06,1)) Hak_Kin_T2,CONCAT(IFNULL(A.Hak_Kin_B07,1),IFNULL(A.Hak_Kin_B08,1),IFNULL(A.Hak_Kin_B09,1)) Hak_Kin_T3,CONCAT(IFNULL(A.Hak_Kin_B10,1),IFNULL(A.Hak_Kin_B11,1),IFNULL(A.Hak_Kin_B12,1)) Hak_Kin_T4 FROM (SELECT * FROM para90_opd WHERE Aktif=1 AND IV=0 ORDER BY OPDID) O LEFT JOIN (SELECT * FROM sippd_akses_mon WHERE Tahun='".$tahun."' ORDER BY OPDID) A ON (O.OPDID=A.OPDID)".$tsql);
$obj->add_field("OPDID", "ID", "hid");
$obj->add_field("MONOPDID", "ID", "hid");
$obj->add_field("Tahun", "Tahun", "c");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama OPD", "awr");
$obj->add_field("Hak_Renja", "Renja", "c", "checkbox");
$obj->add_field("Hak_Kin_T1", "TW 1", "c", "hak_kin_tw1");
$obj->add_field("Hak_Kin_T2", "TW 2", "c", "hak_kin_tw2");
$obj->add_field("Hak_Kin_T3", "TW 3", "c", "hak_kin_tw3");
$obj->add_field("Hak_Kin_T4", "TW 4", "c", "hak_kin_tw4");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TAksesMonJS.detail_ubah");
$obj->set_func_navi("TAksesMonJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
$form = new Form($db);
$op_tahun = $form->option("Tahun", "Tahun", $tahun, true, true, tahun_ang("Tahun "), "", "TAksesMonJS.oc_Tahun()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akses Data e-Monev</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-8 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" name="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-4 col-sm-12 mt-2 mt-sm-0"><div class="input-group">'.$op_tahun.'<button class="btn btn-info shadow-none" type="button" id="butUpAll">Ubah Semua</button></div></div>
</div>
<div id="divDetail">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+117
View File
@@ -0,0 +1,117 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sys/akses_mus.php
Desc. : PHP - Konfigurasi Hak Akses Data e-Musrenbang
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 17th, 2020.
Last Modified : July 19th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_kec = Param::Get("KecID", 0);
$id = Param::Get("AksesID", 0);
if ( $data == "akses-detail" ) {
$aakses = [];
if ($mode == "edit") {
$db->Query("SELECT L.LokasiID KecID,L.N_Lokasi N_Kec,IFNULL(A.MUSKECID,0) MUSKECID,IFNULL(A.Hak_Usulan,1) Hak_Usulan,IFNULL(A.Hak_Prioritas,1) Hak_Prioritas FROM (SELECT * FROM para_lokasi WHERE Level=1 AND LokasiID='".$id_kec."') L LEFT JOIN (SELECT * FROM sippd_akses_mus WHERE Tahun='".$tahun."' AND MUSKECID='".$id."') A ON (L.LokasiID=A.KecID)");
if ($db->Next()) $aakses = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Nama Kecamatan", "N_Kec", $aakses['N_Kec'], false, false, "text");
$form->switch("Akses Usulan", "Hak_Usulan", $aakses['Hak_Usulan'], true, true, ["1","0"]);
$form->switch("Akses Prioritas", "Hak_Prioritas", $aakses['Hak_Prioritas'], true, true, ["1","0"]);
$form->hidden("AksesID", $aakses['MUSKECID']);
$form->hidden("KecID", $aakses['KecID']);
$form->show(' _N_Kec_ _Hak_Usulan_ _Hak_Prioritas_ _KecID_ _AksesID_ ');
} else if ( $data == "akses-semua" ) {
$form = new Form($db);
$form->textbox("Tahun Perencanaan", "Tahun2", $tahun, false, false, "text");
$form->switch("Akses Usulan", "Hak_Usulan", 0, true, true, ["1","0"]);
$form->switch("Akses Prioritas", "Hak_Prioritas", 0, true, true, ["1","0"]);
$form->show('
<div class="row">
<div class="col">
_Tahun2_
_Hak_Usulan_
_Hak_Prioritas_
</div>
</div>
<div class="row"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<div class="col">
<div class="badge bg-danger text-white text-wrap">
<p class="h6 mb-3">PROSES INI AKAN SEKALIGUS MENGUBAH SEMUA HAK AKSES DATA E-MUSRENBANG OLEH KECAMATAN SESUAI TAHUN TERPILIH.</p>
</div>
</div>');
} else if ( $data == "detail" ) {
if ( in_array($mode, ["save","save-all"]) ) {
$hak_usul = Param::Get("Hak_Usulan", 0);
$hak_prio = Param::Get("Hak_Prioritas", 0);
if ( $mode=="save" ) {
if ($id == 0) {
$db->Query("INSERT INTO sippd_akses_mus SET MUSKECID='".$id."',Tahun='".$tahun."',KecID='".$id_kec."',Hak_Usulan='".$hak_usul."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."'");
} else {
$db->Query("UPDATE sippd_akses_mus SET Hak_Usulan='".$hak_usul."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."' WHERE MUSKECID='".$id."' LIMIT 1");
}
} else if ( $mode=="save-all" ) {
$db->Query("INSERT INTO sippd_akses_mus SELECT null,'".$tahun."',LokasiID,0,0,'".user_id()."' FROM para_lokasi WHERE Level=1 AND LokasiID NOT IN (SELECT KecID FROM sippd_akses_mus WHERE Tahun='".$tahun."')");
$db->Query("UPDATE sippd_akses_mus SET Hak_Usulan='".$hak_usul."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."' WHERE Tahun='".$tahun."'");
}
}
$tcari = trim(Param::Get("Cari_OPD"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(L.K_Lokasi,L.N_Lokasi) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT L.LokasiID,L.K_Lokasi,L.N_Lokasi,IFNULL(A.MUSKECID,0) MUSKECID,IFNULL(A.Tahun,'".$tahun."') Tahun,IFNULL(A.Hak_Usulan,1) Hak_Usulan,IFNULL(A.Hak_Prioritas,1) Hak_Prioritas FROM (SELECT * FROM para_lokasi WHERE Level=1 ORDER BY LokasiID) L LEFT JOIN (SELECT * FROM sippd_akses_mus WHERE Tahun='".$tahun."' ORDER BY KecID) A ON (L.LokasiID=A.KecID)".$tsql);
$obj->add_field("LokasiID", "ID", "hid");
$obj->add_field("MUSKECID", "ID", "hid");
$obj->add_field("Tahun", "Tahun", "c");
$obj->add_field("K_Lokasi", "Kode", "c");
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
$obj->add_field("Hak_Usulan", "Usulan", "c", "checkbox");
$obj->add_field("Hak_Prioritas", "Prioritas", "c", "checkbox");
$obj->set_field_order("K_Lokasi", "A");
$obj->add_row_btn("clipboard", "Ubah", "TAksesMJS.detail_ubah");
$obj->set_func_navi("TAksesMJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
$form = new Form($db);
$op_tahun = $form->option("_", "Tahun", $tahun, true, true, tahun_ang("Tahun "), null, "TAksesMJS.oc_Tahun()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akses Data e-Musrenbang</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-8 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" name="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-4 col-sm-12 mt-2 mt-sm-0"><div class="input-group">'.$op_tahun.'<button class="btn btn-info shadow-none" type="button" id="butUpAll">Ubah Semua</button></div></div>
</div>
<div id="divDetail">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+122
View File
@@ -0,0 +1,122 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sys/akses_pok.php
Desc. : PHP - Konfigurasi Hak Akses Data e-Pokir
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 17th, 2020.
Last Modified : July 19th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_dprd = Param::Get("DPRDID", 0);
$id = Param::Get("AksesID", 0);
if ( $data == "akses-detail" ) {
$aakses = [];
if ($mode == "edit") {
$db->Query("SELECT D.DPRDID,D.N_DPRD,IFNULL(A.POKDPRDID,0) POKDPRDID,IFNULL(A.Hak_Usulan,1) Hak_Usulan,IFNULL(A.Hak_Ubah,1) Hak_Ubah,IFNULL(A.Hak_Prioritas,1) Hak_Prioritas FROM (SELECT * FROM para_dprd WHERE DPRDID='".$id_dprd."') D LEFT JOIN (SELECT * FROM sippd_akses_pok WHERE Tahun='".$tahun."' AND POKDPRDID='".$id."') A ON (D.DPRDID=A.DPRDID)");
if ($db->Next()) $aakses = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Nama Dewan", "N_DPRD", $aakses['N_DPRD'], false, false, "text");
$form->switch("Akses Usulan", "Hak_Usulan", $aakses['Hak_Usulan'], true, true, ["1","0"]);
$form->switch("Akses Ubah", "Hak_Ubah", $aakses['Hak_Ubah'], true, true, ["1","0"]);
$form->switch("Akses Prioritas", "Hak_Prioritas", $aakses['Hak_Prioritas'], true, true, ["1","0"]);
$form->hidden("AksesID", $aakses['POKDPRDID']);
$form->hidden("DPRDID", $aakses['DPRDID']);
$form->show(' _N_DPRD_ _Hak_Usulan_ _Hak_Ubah_ _Hak_Prioritas_ _DPRDID_ _AksesID_ ');
} else if ( $data == "akses-semua" ) {
$form = new Form($db);
$form->textbox("Tahun Perencanaan", "Tahun2", $tahun, false, false, "text");
$form->switch("Akses Usulan", "Hak_Usulan", 0, true, true, ["1","0"]);
$form->switch("Akses Ubah", "Hak_Ubah", 0, true, true, ["1","0"]);
$form->switch("Akses Prioritas", "Hak_Prioritas", 0, true, true, ["1","0"]);
$form->show('
<div class="row">
<div class="col">
_Tahun2_
_Hak_Ubah_
_Hak_Usulan_
_Hak_Prioritas_
</div>
</div>
<div class="row"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<div class="col">
<div class="badge bg-danger text-white text-wrap">
<p class="h6 mb-3">PROSES INI AKAN SEKALIGUS MENGUBAH SEMUA HAK AKSES DATA E-POKIR OLEH ANGGOTA DEWAN SESUAI TAHUN TERPILIH.</p>
</div>
</div>');
} else if ( $data == "detail" ) {
if ( in_array($mode, ["save","save-all"]) ) {
$hak_usul = Param::Get("Hak_Usulan", 0);
$hak_ubah = Param::Get("Hak_Ubah", 0);
$hak_prio = Param::Get("Hak_Prioritas", 0);
if ( $mode=="save" ) {
if ($id == 0) {
$db->Query("INSERT INTO sippd_akses_pok SET POKDPRDID='".$id."',Tahun='".$tahun."',DPRDID='".$id_dprd."',Hak_Usulan='".$hak_usul."',Hak_Ubah='".$hak_ubah."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."'");
} else {
$db->Query("UPDATE sippd_akses_pok SET Hak_Usulan='".$hak_usul."',Hak_Ubah='".$hak_ubah."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."' WHERE POKDPRDID='".$id."' LIMIT 1");
}
} else if ( $mode=="save-all" ) {
$db->Query("INSERT INTO sippd_akses_pok SELECT null,'".$tahun."',DPRDID,0,0,0,'".user_id()."' FROM para_dprd WHERE Aktif=1 AND DPRDID NOT IN (SELECT DPRDID FROM sippd_akses_pok WHERE Tahun='".$tahun."')");
$db->Query("UPDATE sippd_akses_pok SET Hak_Usulan='".$hak_usul."',Hak_Ubah='".$hak_ubah."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."' WHERE Tahun='".$tahun."'");
}
}
$tcari = trim(Param::Get("Cari_OPD"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(D.K_DPRD,D.N_DPRD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT D.DPRDID,D.K_DPRD,D.N_DPRD,IFNULL(A.POKDPRDID,0) POKDPRDID,IFNULL(A.Tahun,'".$tahun."') Tahun,IFNULL(A.Hak_Usulan,1) Hak_Usulan,IFNULL(A.Hak_Ubah,1) Hak_Ubah,IFNULL(A.Hak_Prioritas,1) Hak_Prioritas FROM (SELECT * FROM para_dprd WHERE Aktif=1) D LEFT JOIN (SELECT * FROM sippd_akses_pok WHERE Tahun='".$tahun."') A ON (D.DPRDID=A.DPRDID)".$tsql);
$obj->add_field("DPRDID", "ID", "hid");
$obj->add_field("POKDPRDID", "ID", "hid");
$obj->add_field("Tahun", "Tahun", "c");
$obj->add_field("K_DPRD", "Kode", "c");
$obj->add_field("N_DPRD", "Nama Dewan", "awr");
$obj->add_field("Hak_Usulan", "Usulan", "c", "checkbox");
$obj->add_field("Hak_Ubah", "Perubahan", "c", "checkbox");
$obj->add_field("Hak_Prioritas", "Prioritas", "c", "checkbox");
$obj->set_field_order("K_DPRD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TAksesPJS.detail_ubah");
$obj->set_func_navi("TAksesPJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
$form = new Form($db);
$op_tahun = $form->option("_", "Tahun", $tahun, true, true, tahun_ang("Tahun "), "", "TAksesPJS.oc_Tahun()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akses Data e-Pokir</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-8 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" name="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-4 col-sm-12 mt-2 mt-sm-0"><div class="input-group">'.$op_tahun.'<button class="btn btn-info shadow-none" type="button" id="butUpAll">Ubah Semua</button></div></div>
</div>
<div id="divDetail">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+117
View File
@@ -0,0 +1,117 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sys/akses_ren.php
Desc. : PHP - Konfigurasi Hak Akses Data e-RPJMD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 17th, 2020.
Last Modified : February 22nd, 2022.
(c) 2020 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = Param::Get("RPJMDID", $_SESSION['__WEB_APP']['RENC_RPJMDID']);
$id_opd = Param::Get("OPDID", 0);
$id = Param::Get("AksesID", 0);
if ( $data == "akses-detail" ) {
$aakses = [];
if ($mode == "edit") {
$db->Query("SELECT O.OPDID,O.N_OPD,IFNULL(A.RENOPDID,0) RENOPDID,IFNULL(A.Hak_RPJMD,1) Hak_RPJMD,IFNULL(A.Hak_Renstra,1) Hak_Renstra FROM (SELECT * FROM para90_opd WHERE Aktif=1 AND OPDID='".$id_opd."') O LEFT JOIN (SELECT * FROM sippd_akses_ren WHERE RPJMDID='".$id_rpjmd."' AND RENOPDID='".$id."') A ON (O.OPDID=A.OPDID)");
if ($db->Next()) $aakses = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Nama OPD", "N_OPD", $aakses['N_OPD'], false, false, "text");
$form->switch("Akses RPJMD", "Hak_RPJMD", $aakses['Hak_RPJMD'], true, true, ["1","0"]);
$form->switch("Akses Renstra", "Hak_Renstra", $aakses['Hak_Renstra'], true, true, ["1","0"]);
$form->hidden("AksesID", $aakses['RENOPDID']);
$form->hidden("OPDID", $aakses['OPDID']);
$form->show(' _N_OPD_ _Hak_RPJMD_ _Hak_Renstra_ _OPDID_ _AksesID_ ');
} else if ( $data == "akses-semua" ) {
$form = new Form($db);
$form->textbox("Periode RPJMD", "RPJMD2", $id_rpjmd, false, false, "text");
$form->switch("Akses RPJMD", "Hak_RPJMD", 0, true, true, ["1","0"]);
$form->switch("Akses Renstra", "Hak_Renstra", 0, true, true, ["1","0"]);
$form->show('
<div class="row">
<div class="col">
_RPJMD2_
_Hak_RPJMD_
_Hak_Renstra_
</div>
</div>
<div class="row">
<div class="col">
<div class="badge bg-danger text-white text-wrap">
<p class="h6 mb-3">PROSES INI AKAN SEKALIGUS MENGUBAH SEMUA HAK AKSES DATA E-RPJMD OLEH OPD SESUAI PERIODE RPJMD TERPILIH.</p>
</div>
</div>
</div>');
} else if ( $data == "detail" ) {
if ( $mode=="save" || $mode=="save-all" ) {
$hak_rpjmd = Param::Get("Hak_RPJMD", 0);
$hak_renstra = Param::Get("Hak_Renstra", 0);
}
if ( $mode=="save" ) {
if ($id == 0) {
$db->Query("INSERT INTO sippd_akses_ren SET RENOPDID='".$id."',RPJMDID='".$id_rpjmd."',OPDID='".$id_opd."',Hak_Renstra='".$hak_renstra."',Hak_RPJMD='".$hak_rpjmd."',UserID='".user_id()."'");
} else {
$db->Query("UPDATE sippd_akses_ren SET Hak_Renstra='".$hak_renstra."',Hak_RPJMD='".$hak_rpjmd."',UserID='".user_id()."' WHERE RENOPDID='".$id."' LIMIT 1");
}
} else if ( $mode=="save-all" ) {
$db->Query("INSERT INTO sippd_akses_ren SELECT null,'".$id_rpjmd."',OPDID,0,0,'".user_id()."' FROM para90_opd WHERE Aktif=1 AND IV=0 AND OPDID NOT IN (SELECT OPDID FROM sippd_akses_ren WHERE RPJMDID='".$id_rpjmd."')");
$db->Query("UPDATE sippd_akses_ren SET Hak_Renstra='".$hak_renstra."',Hak_RPJMD='".$hak_rpjmd."',UserID='".user_id()."' WHERE RPJMDID='".$id_rpjmd."'");
}
$tcari = trim(Param::Get("Cari_OPD"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(O.K_OPD,O.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT O.OPDID,O.K_OPD,O.N_OPD,IFNULL(A.RENOPDID,0) RENOPDID,IFNULL(A.RPJMDID,'".$id_rpjmd."') RPJMDID,IFNULL(A.Hak_RPJMD,1) Hak_RPJMD,IFNULL(A.Hak_Renstra,1) Hak_Renstra FROM (SELECT * FROM para90_opd WHERE Aktif=1 AND IV=0 ORDER BY OPDID) O LEFT JOIN (SELECT * FROM sippd_akses_ren WHERE RPJMDID='".$id_rpjmd."' ORDER BY OPDID) A ON (O.OPDID=A.OPDID)".$tsql);
$obj->add_field("OPDID", "ID", "hid");
$obj->add_field("RENOPDID", "ID", "hid");
$obj->add_field("RPJMDID", "RPJMD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama OPD", "awr");
$obj->add_field("Hak_RPJMD", "RPJMD", "c", "checkbox");
$obj->add_field("Hak_Renstra", "Renstra", "c", "checkbox");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TAksesRJS.detail_ubah");
$obj->set_func_navi("TAksesRJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
$form = new Form($db);
$op_rpjmd = $form->option_db("_", "RPJMDID", $_SESSION['__WEB_APP']['RENC_RPJMDID'], true, true, "para_rpjmd", array("RPJMDID","Ket"), null, null, null, "TAksesRJS.oc_RPJMD()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akses Data e-RPJMD</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-8 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-4 col-sm-12 mt-2 mt-sm-0"><div class="input-group">'.$op_rpjmd.'<button class="btn btn-info shadow-none" type="button" id="butUpAll">Ubah Semua</button></div></div>
</div>
<div id="divDetail">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+117
View File
@@ -0,0 +1,117 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sys/akses_sip.php
Desc. : PHP - Konfigurasi Hak Akses Data e-Planning
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 17th, 2020.
Last Modified : February 22nd, 2022.
(c) 2020 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_opd = Param::Get("OPDID", 0);
$id = Param::Get("AksesID", 0);
if ( $data == "akses-detail" ) {
$aakses = [];
if ($mode == "edit") {
$db->Query("SELECT O.OPDID,O.N_OPD,IFNULL(A.SIPOPDID,0) SIPOPDID,IFNULL(A.Hak_Renja1,1) Hak_Renja1,IFNULL(A.Hak_Renja2,1) Hak_Renja2 FROM (SELECT * FROM para90_opd WHERE Aktif=1 AND OPDID='".$id_opd."') O LEFT JOIN (SELECT * FROM sippd_akses_sip WHERE Tahun='".$tahun."' AND SIPOPDID='".$id."') A ON (O.OPDID=A.OPDID)");
if ($db->Next()) $aakses = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Nama OPD", "N_OPD", $aakses['N_OPD'], false, false, "text");
$form->switch("Akses Renja Awal", "Hak_Renja1", $aakses['Hak_Renja1'], true, true, ["1","0"]);
$form->switch("Akses Renja", "Hak_Renja2", $aakses['Hak_Renja2'], true, true, ["1","0"]);
$form->hidden("AksesID", $aakses['SIPOPDID']);
$form->hidden("OPDID", $aakses['OPDID']);
$form->show(' _N_OPD_ _Hak_Renja1_ _Hak_Renja2_ _OPDID_ _AksesID_ ');
} else if ( $data == "akses-semua" ) {
$form = new Form($db);
$form->textbox("Tahun Perencanaan", "Tahun2", $tahun, false, false, "text");
$form->switch("Akses Renja Awal", "Hak_Renja1", 0, true, true, ["1","0"]);
$form->switch("Akses Renja", "Hak_Renja2", 0, true, true, ["1","0"]);
$form->show('
<div class="row">
<div class="col">
_Tahun2_
_Hak_Renja1_
_Hak_Renja2_
</div>
</div>
<div class="row"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<div class="col">
<div class="badge bg-danger text-white text-wrap">
<p class="h6 mb-3">PROSES INI AKAN SEKALIGUS MENGUBAH SEMUA HAK AKSES DATA E-PLANNING OLEH OPD SESUAI TAHUN TERPILIH.</p>
</div>
</div>
</div>');
} else if ( $data == "detail" ) {
if ( in_array($mode, ["save","save-all"]) ) {
$hak_renja1 = Param::Get("Hak_Renja1", 0);
$hak_renja2 = Param::Get("Hak_Renja2", 0);
if ( $mode=="save" ) {
if ($id == 0) {
$db->Query("INSERT INTO sippd_akses_sip (Tahun,OPDID,UserID) VALUES ('".$tahun."','".$id_opd."','".user_id()."')");
$id = $db->LastInsertID();
}
} else if ( $mode=="save-all" ) {
$db->Query("INSERT INTO sippd_akses_sip (Tahun,OPDID,UserID) SELECT '".$tahun."',OPDID,'".user_id()."' FROM para90_opd WHERE Aktif=1 AND IV=0 AND OPDID NOT IN (SELECT OPDID FROM sippd_akses_sip WHERE Tahun='".$tahun."')");
}
$db->Query("UPDATE sippd_akses_sip SET Hak_Renja1='".$hak_renja1."',Hak_Renja2='".$hak_renja2."',UserID='".user_id()."' WHERE ".($mode=="save"?"SIPOPDID='".$id."'":"Tahun='".$tahun."'"));
}
$tcari = trim(Param::Get("Cari_OPD"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(O.K_OPD,O.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT O.OPDID,O.K_OPD,O.N_OPD,IFNULL(A.SIPOPDID,0) SIPOPDID,IFNULL(A.Tahun,'".$tahun."') Tahun,IFNULL(A.Hak_Renja1,1) Hak_Renja1,IFNULL(A.Hak_Renja2,1) Hak_Renja2 FROM (SELECT * FROM para90_opd WHERE Aktif=1 AND IV=0 ORDER BY OPDID) O LEFT JOIN (SELECT * FROM sippd_akses_sip WHERE Tahun='".$tahun."' ORDER BY OPDID) A ON (O.OPDID=A.OPDID)".$tsql);
$obj->add_field("OPDID", "ID", "hid");
$obj->add_field("SIPOPDID", "ID", "hid");
$obj->add_field("Tahun", "Tahun", "c");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama OPD", "awr");
$obj->add_field("Hak_Renja1", "Renja Awal", "c", "checkbox");
$obj->add_field("Hak_Renja2", "Renja", "c", "checkbox");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TAksesSJS.detail_ubah");
$obj->set_func_navi("TAksesSJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
$form = new Form($db);
$op_tahun = $form->option("Tahun", "Tahun", $tahun, true, true, tahun_ang("Tahun "), "", "TAksesSJS.oc_Tahun()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akses Data e-Planning</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-8 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" name="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-4 col-sm-12 mt-2 mt-sm-0"><div class="input-group">'.$op_tahun.'<button class="btn btn-info shadow-none" type="button" id="butUpAll">Ubah Semua</button></div></div>
</div>
<div id="divDetail">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+52
View File
@@ -0,0 +1,52 @@
<?php
/*******************************************************************
Module : /apps/php/sys/chpasswd.php
Desc. : PHP - Perubahan Password Operator
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2008.
Last Modified : April 25th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Auth;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$auth = new Auth($db);
$ajson = [];
$data = Param::Get("data");
if ( $data == "default") {
$form = new Form($db);
$form->password("Password Lama", "LPass", $l_pass, true, true, "masukkan password lama", 20);
$form->password("Password Baru 1", "BPass1", $b_pass1, true, true, "masukkan password baru 1", 20);
$form->password("Password Baru 2", "BPass2", $b_pass2, true, true, "masukkan password baru 2", 20);
$form->show(' _LPass_ _BPass1_ _BPass2_ ');
} else if ( $data == "chpasswd") {
$l_pass = Param::Get("LPass");
$b_pass1 = Param::Get("BPass1");
$b_pass2 = Param::Get("BPass2");
$ajson['status'] = false;
if ($auth->user_check(user_user(), $l_pass)) {
$db->Query("UPDATE app_operator SET Password=MD5('".$b_pass1."') WHERE UserID='".user_id()."'");
$ajson['status'] = true;
$ajson['msg'] = "Sukses merubah password Anda!";
} else {
$ajson['msg'] = "Password lama Anda salah!";
}
}
send_json($ajson);
?>
+76
View File
@@ -0,0 +1,76 @@
<?php
/*******************************************************************
Module : /apps/php/sys/config.php
Desc. : PHP - Konfigurasi Aplikasi
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 25th, 2010.
Last Modified : September 30th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$data = Param::Get("data");
$mode = Param::Get("mode");
if ( $data == "master" ) {
if ( $mode == "save" ) {
$sql = new SQL($db);
$sql->set_table("app_config");
$sql->add_param("REG_ADDRESS");
$sql->add_param("REG_CITY");
$sql->add_param("REG_POSTCODE");
$sql->add_param("REG_PHONE");
$sql->add_param("REG_FAX");
$sql->add_param("REG_WEBSITE");
$sql->add_param("REG_EMAIL");
$sql->add_param_userid();
$sql->add_where("REG_ID");
$sql->UpdateDB();
$mode = "view";
}
$para = [];
$id = Param::Get("REG_ID", $_SESSION['__WEB_APP']['REG_ID']);
$tsql = ($id=="") ? " ORDER BY REG_ID ASC LIMIT 1" : " WHERE REG_ID='".$id."'";
$db->Query("SELECT * FROM app_config".$tsql);
if ($db->Next()) $para = $db->AllRow();
$benable = ($mode=="edit") ? true : false;
$form = new Form($db);
$form->textbox("Nama Instansi", "REG_NAME", $para['REG_NAME'], false, false, "text", "masukkan nama instansi");
$form->textarea("Alamat Instansi", "REG_ADDRESS", $para['REG_ADDRESS'], $benable, false, 1, "masukkan alamat instansi");
$form->textbox("Kabupaten / Kota", "REG_CITY", $para['REG_CITY'], $benable, false, "text", "masukkan nama kota");
$form->textbox("Kode Pos", "REG_POSTCODE", $para['REG_POSTCODE'], $benable, false, "integer", "masukkan nomor kodepos");
$form->textbox("No. Telpon", "REG_PHONE", $para['REG_PHONE'], $benable, false, "phone", "masukkan nomor telphone");
$form->textbox("No. Fax", "REG_FAX", $para['REG_FAX'], $benable, false, "phone", "masukkan nomor faximile");
$form->textbox("Website", "REG_WEBSITE", $para['REG_WEBSITE'], $benable, false, "text", "masukkan alamat website");
$form->textbox("Email", "REG_EMAIL", $para['REG_EMAIL'], $benable, false, "email", "masukkan alamat email");
$form->hidden("REG_ID", $para['REG_ID']);
$form->hidden("mode", $mode);
$form->show('
_REG_NAME_
_REG_ADDRESS_
_REG_CITY_
_REG_POSTCODE_
_REG_PHONE_
_REG_FAX_
_REG_WEBSITE_
_REG_EMAIL_
_mode_ _REG_ID_ ');
} else if ( $data == "default") {
echo '<div id="divMaster">&nbsp;</div>';
}
?>
+183
View File
@@ -0,0 +1,183 @@
<?php
/*******************************************************************
Module : /apps/php/sys/menu_grup.php
Desc. : PHP - Manajemen Data Grup Login Menu
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : August 8th, 2013.
Last Modified : January 1st, 2026.
(c) 2013 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
function modul_gen($alist = [], $amenu = []) {
$hasil = '<table class="table table-striped table-bordered table-hover">';
$hasil .= '<thead><tr><th>Nama Menu</th><th>Keterangan</th><th width="30"><input onchange="MenuGrupJS.menu_cek(this);" type="checkbox" class="form-check-input mx-2" value="'.$alist[0]['Modul'].'" /></th></tr></thead><tbody>';
for ($i=0; $i<count($alist); $i++) {
$checked = (in_array($alist[$i]['Kode'], $amenu)) ? "checked" : "";
$hasil .= sprintf('<tr><td class="l">%s</td><td class="l">%s</td><td class="c" width="30"><input type="checkbox" class="form-check-input %s" value="%s" %s/></td></tr>', str_repeat("--", $alist[$i]['Level']-1)."> ".$alist[$i]['Menu'], $alist[$i]['Judul'], $alist[$i]['Modul'], $alist[$i]['Kode'], $checked);
}
$hasil .= '</tbody></table>';
return $hasil;
}
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_grup = Param::Get("Grup_MenuID");
if ( $data == "grup-detail" ) {
$agrup = array('Aktif'=>1);
if ($mode == "edit") {
$db->Query("SELECT * FROM app_menu_grup WHERE Grup_MenuID='".$id_grup."'");
if ($db->Next()) $agrup = $db->AllRow();
}
$form = new Form($db);
$t_nama = $form->textbox("_", "Nama_Grup", $agrup['Nama_Grup'], true, false, "text", "nama grup menu");
$t_ket = $form->textarea("_", "Ket", $agrup['Ket'], true, false, 1, "keterangan grup menu");
$t_status = $form->switch("_", "Aktif", $agrup['Aktif'], true, false, ["1","0"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Nama_Grup">Nama Grup Menu</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Ket">Keterangan Grup</label>
<div class="col">'.$t_ket.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
<div class="col col-form-label">'.$t_status.'</div>
</div>
<input type="hidden" id="Grup_MenuID" value="'.$agrup['Grup_MenuID'].'" >
<input type="hidden" id="mode" value="'.$mode.'" >
';
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("app_menu_grup");
$sql->add_param("Nama_Grup");
$sql->add_param("Ket");
$sql->add_param("Aktif");
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("Grup_MenuID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "menu" ) {
$agrup = array('Grup_MenuID'=>0,'Nama_Grup'=>"",'Menu'=>"");
$db->Query("SELECT Grup_MenuID,Nama_Grup,DECODE(Menu,'".$_SESSION['__WEB_APP']['REG_ID']."') Menu FROM app_menu_grup WHERE Grup_MenuID='".$id_grup."' LIMIT 1");
if ($db->Next()) $agrup = $db->AllRow();
$amenu = explode(",", $agrup['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 = '<div id="tabMenuList">';
if (count($amodul)>1) {
$hasil .= '<ul class="nav nav-tabs" role="tablist">';
for ($i=0; $i<count($amodul); $i++) {
$hasil .= '<li class="nav-item" role="presentation"><button class="nav-link'.($i==0?' active':'').'" id="i'.$amodul[$i]['Modul'].'-tab" data-bs-toggle="tab" data-bs-target="#i'.$amodul[$i]['Modul'].'" type="button" role="tab" aria-controls="i'.$amodul[$i]['Modul'].'" aria-selected="'.($i==0?'true':'false').'">'.$amodul[$i]['Menu'].'</button></li>';
}
$hasil .= '<li class="nav-item ms-auto"><a class="nav-link disabled text-uppercase">'.$agrup['Nama_Grup'].'</a></li></ul>';
$hasil .= '<div class="tab-content">';
for ($i=0; $i<count($amodul); $i++) {
$alist = array();
$db->Query("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 .= '<div class="tab-pane fade'.($i==0?' show active':'').'" role="tabpanel" id="i'.$amodul[$i]['Modul'].'" aria-labelledby="i'.$amodul[$i]['Modul'].'-tab">';
$hasil .= modul_gen($alist, $amenu);
$hasil .= '</div>';
}
$hasil .= '</div>';
} else {
$alist = [];
$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);
}
echo $hasil.'</div>';
$armenu = array();
for ($i=0; $i<count($amenu); $i++) {
if (!in_array($amenu[$i], $akode)) $armenu[] = $amenu[$i];
}
echo '<input type="hidden" id="Grup_MenuID" value="'. $agrup['Grup_MenuID'] .'" />';
echo '<input type="hidden" id="R_MENU" value="'.implode(",", $armenu).'" />';
} else if ( $data == "save-menu" ) {
$amenu = explode(",", Param::Get("Menu")); $ahasil = array();
$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; $i<count($amodul); $i++) {
$asub = array();
$db->Query("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, array($amodul[$i]['Kode']), $asub);
}
$db->Query("UPDATE app_menu_grup SET Menu=ENCODE('".implode(",",$ahasil)."','".$_SESSION['__WEB_APP']['REG_ID']."'),DateStamp=NOW(),UserID='".user_id()."' WHERE Grup_MenuID='".$id_grup."'");
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Grup"));
$tsql .= ($tcari=="") ? "" : " WHERE Nama_Grup LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT *,DATE_FORMAT(DateStamp,'%d-%m-%Y %H:%i:%s') DateStamp2,IF(Grup_MenuID=1,0,1) IDel FROM app_menu_grup".$tsql);
$obj->add_field("Grup_MenuID", "ID", "hid");
$obj->add_field("Nama_Grup", "Nama Grup");
$obj->add_field("Ket", "Keterangan");
$obj->add_field("DateStamp2", "Update Terakhir", "c");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("Nama_Grup", "A");
$obj->add_row_btn("menu-button", "Menu", "MenuGrupJS.menu_show");
$obj->add_row_btn("clipboard", "Ubah", "MenuGrupJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "MenuGrupJS.detail_hapus", "IDel", 1);
$obj->set_func_navi("MenuGrupJS.data_query('detail')");
$obj->set_func_btn("MenuGrupJS.detail_tambah", "+ Grup");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Grup Menu</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Grup" name="Cari_User" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+318
View File
@@ -0,0 +1,318 @@
<?php
/*******************************************************************
Module : /apps/php/sys/operator.php
Desc. : PHP - Manajemen Data Pengguna
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : August 1st, 2008.
Last Modified : January 1st, 2026.
(c) 2008 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
function modul_gen($alist=[], $amenu=[], $aglist=[]) {
$hasil = '<table class="table table-striped table-bordered table-hover">';
$hasil .= '<thead><tr><th>Nama Menu</th><th>Keterangan</th><th width="30"><input onchange="OperatorJS.menu_cek(this);" type="checkbox" class="form-check-input mx-2" value="'.$alist[0]['Modul'].'" /></th><th width="30"><input type="checkbox" class="form-check-input mx-2" disabled /></th></tr></thead><tbody>';
for ($i=0; $i<count($alist); $i++) {
$checked = (in_array($alist[$i]['Kode'], $amenu)) ? "checked" : "";
$gchecked = (in_array($alist[$i]['Kode'], $aglist)) ? "checked" : "";
$hasil .= sprintf('<tr><td class="l">%s</td><td class="l">%s</td><td class="c" width="30"><input type="checkbox" class="form-check-input %s" value="%s" %s/></td><td class="c" width="30"><input type="checkbox" class="form-check-input" disabled %s/></td></tr>', str_repeat("--", $alist[$i]['Level']-1)."> ".$alist[$i]['Menu'], $alist[$i]['Judul'], $alist[$i]['Modul'], $alist[$i]['Kode'], $checked, $gchecked);
}
$hasil .= '</tbody></table>';
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 '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Username">Username</label>
<div class="col">'.$t_user.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Nama">Nama Pengguna</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Posisi">Posisi Pengguna</label>
<div class="col">'.$t_posi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Level">Level Pengguna</label>
<div class="col">'.$t_level.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Grup_MenuID">Grup Menu</label>
<div class="col">'.$t_grup.'<span class="help-block" id="Grup_Help"><small>untuk pengguna OPD / OPD Kecamatan, bisa dibiarkan tanpa pilihan grup menu.</small></span></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Password">Password</label>
<div class="col">'.$t_pass.'<span class="help-block" id="Grup_Help"><small>biarkan kosong jika tidak ingin mengubah password.</small></span></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
<div class="col col-form-label">'.$t_status.'</div>
</div>
<input type="hidden" id="UserID" value="'.$auser['UserID'].'" >
<input type="hidden" id="UserLama" value="'.$auser['Username'].'" >
<input type="hidden" id="mode" value="'.$mode.'" >';
} 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 = '<div id="tabMenuList">';
if (count($amodul)>1) {
$hasil .= '<ul class="nav nav-tabs" role="tablist">';
for ($i=0; $i<count($amodul); $i++) {
$hasil .= '<li class="nav-item" role="presentation"><button class="nav-link'.($i==0?' active':'').'" id="i'.$amodul[$i]['Modul'].'-tab" data-bs-toggle="tab" data-bs-target="#i'.$amodul[$i]['Modul'].'" type="button" role="tab" aria-controls="i'.$amodul[$i]['Modul'].'" aria-selected="'.($i==0?'true':'false').'">'.$amodul[$i]['Menu'].'</button></li>';
}
$hasil .= '<li class="nav-item ms-auto"><a class="nav-link disabled text-uppercase">'.$auser['Nama'].'</a></li></ul>';
$hasil .= '<div class="tab-content">';
for ($i=0; $i<count($amodul); $i++) {
$alist = array();
$db->Query("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 .= '<div class="tab-pane fade'.($i==0?' show active':'').'" role="tabpanel" id="i'.$amodul[$i]['Modul'].'" aria-labelledby="i'.$amodul[$i]['Modul'].'-tab">';
$hasil .= modul_gen($alist, $amenu, $aglist);
$hasil .= '</div>';
}
$hasil .= '</div>';
} 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.'</div>';
$armenu = [];
for ($i=0; $i<count($amenu); $i++) {
if (!in_array($amenu[$i], $akode)) $armenu[] = $amenu[$i];
}
echo '<input type="hidden" id="UserID" value="'. $auser['UserID'] .'" />';
echo '<input type="hidden" id="R_MENU" value="'.implode(",", $armenu).'" />';
} 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; $i<count($amodul); $i++) {
$asub = [];
$db->Query("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 = '<div id="tabOPDList"><table class="table table-striped table-bordered table-hover">';
$hasil .= '<thead><tr><th>Kode</th><th>Nama OPD</th><th width="30">C</th></tr></thead><tbody>';
$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('<tr><td class="c">%s</td><td class="l">%s</td><td class="c" width="30"><input id="%s" type="checkbox" class="text" value="%s" %s/></td></tr>', $db->Row("K_OPD"), $db->Row("N_OPD"), $kode, $db->Row("OPDID"), $checked);
}
$hasil .= '</tbody></table></div>';
$hasil .= '<input type="hidden" id="UserID" value="'. $auser['UserID'] .'" />';
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 = '<div class="form-group"><label for="AK_KEC">Kecamatan</label><select class="form-control" id="AK_KEC" name="AK_KEC" multiple="multiple" required=true><option value="0">&nbsp;</option>';
$db->Query("SELECT * FROM para_lokasi WHERE Level=1 AND Aktif=1 ORDER BY K_Lokasi");
while ($db->Next()) {
$checked = (in_array($db->Row("LokasiID"), $akec)) ? 'selected="selected"' : "";
$hasil .= sprintf('<option value="%s" %s>%s</option>', $db->Row("LokasiID"), $checked, $db->Row("N_Lokasi"));
}
$hasil .= '</select></div>';
$hasil .= '<input type="hidden" id="UserID" value="'. $auser['UserID'] .'" />';
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 = '<div class="form-group"><label for="AK_KEL">Kelurahan / Desa</label><select class="form-control" id="AK_KEL" name="AK_KEL" multiple="multiple" required=true><option value="0">&nbsp;</option>';
$db->Query("SELECT * FROM vi_para_desa WHERE Aktif=1 ORDER BY K_Kec,K_Desa");
$kkec = "";
while ($db->Next()) {
if ($kkec <> $db->Row("K_Kec")) {
if ($kkec <> "") $hasil .= '</optgroup>';
$hasil .= '<optgroup label="'.$db->Row("N_Kec").'">';
$kkec = $db->Row("K_Kec");
}
$checked = (in_array($db->Row("DesaID"), $akel)) ? 'selected="selected"' : "";
$hasil .= sprintf('<option value="%s" %s>%s</option>', $db->Row("DesaID"), $checked, $db->Row("N_Desa"));
}
if ($kkec <> "") $hasil .= '</optgroup>';
$hasil .= '</select></div>';
$hasil .= '<input type="hidden" id="UserID" value="'. $auser['UserID'] .'" />';
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 '
<div class="row mb-3"><div class="col text-center">Tampilan Berdasarkan :</div></div>
<div class="row"><div class="col text-center">'.$_form.'</div></div>';
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Pengguna</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_User" name="Cari_User" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div><div class="col-auto"><button class="btn btn-info shadow-none" type="button" id="butFilter">Filter</button><input type="hidden" id="Filter_Level"></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+93
View File
@@ -0,0 +1,93 @@
<?php
/*******************************************************************
Module : /apps/php/sys/sippd.php
Desc. : PHP - Konfigurasi Aplikasi
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 25th, 2010.
Last Modified : February 6th, 2023.
(c) 2010 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
function master_show($mode = "", $para = []) {
$benable = ($mode=="edit") ? true : false;
$form = new Form($db);
$form->option_db("RPJMD Perencanaan", "RENC_RPJMDID", $para['RENC_RPJMDID'], $benable, true, "para_rpjmd", array("RPJMDID","Ket"));
$form->option_db("Visi Perencanaan", "RENC_VISIID", $para['RENC_VISIID'], $benable, true, "rpjmd_visi", array("RD_VISIID","Txt_Visi"), null, array(0,"&nbsp;"));
$form->option_db("Tahun Perencanaan", "RENC_THN", $para['RENC_THN'], $benable, true, "para_periode", array("Tahun","Tahun"), "Aktif=1");
$form->option_db("RPJMD Pelaporan", "REAL_RPJMDID", $para['REAL_RPJMDID'], $benable, true, "para_rpjmd", array("RPJMDID","Ket"));
$form->option_db("Tahun Pelaporan", "REAL_THN", $para['REAL_THN'], $benable, true, "para_periode", array("Tahun","Tahun"), "Aktif=1");
$form->option("Bulan Pelaporan", "REAL_BLN", $para['REAL_BLN'], $benable, true, array(1=>"Januari / TW 1",2=>"Pebruari / TW 1",3=>"Maret / TW 1",4=>"April / TW 2",5=>"Mei / TW 2",6=>"Juni / TW 2",7=>"Juli / TW 3",8=>"Agustus / TW 3",9=>"September / TW 3",10=>"Oktober / TW 4",11=>"November / TW 4",12=>"Desember / TW 4"));
$form->datebox("Tanggal Terakhir", "REAL_TGL", $para['REAL_TGL'], $benable, true, "Tanggal Pelaporan");
$form->hidden("REG_ID", $para['REG_ID']);
$form->hidden("mode", $mode);
$form->show(' _RENC_RPJMDID_ _RENC_VISIID_ _RENC_THN_ <hr/> _REAL_RPJMDID_ _REAL_THN_ _REAL_BLN_ _REAL_TGL_ _mode_ _REG_ID_ ');
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id = Param::Get("REG_ID", $_SESSION['__WEB_APP']['PARENT_CODE']);
if ( $data == "master" ) {
$para = [];
$tsql = ($id=="") ? "ORDER BY REG_ID ASC LIMIT 1" : "WHERE REG_ID='".$id."'";
$db->Query("SELECT * FROM sippd_config ".$tsql);
if ($db->Next()) $para = $db->AllRow();
master_show($mode, $para);
} else if ( $data == "save" ) {
$tw = 0; $bln = Param::Get("REAL_BLN", 0);
if ($bln <= 3) { $tw = 1; }
else if ($bln <= 6) { $tw = 2; }
else if ($bln <= 9) { $tw = 3; }
else if ($bln <= 12) { $tw = 4; }
$sql = new SQL($db);
$sql->set_table("sippd_config");
$sql->add_param("RENC_RPJMDID");
$sql->add_param("RENC_VISIID");
$sql->add_param("RENC_THN");
$sql->add_param("REAL_RPJMDID");
$sql->add_param("REAL_THN");
$sql->add_param("REAL_BLN");
$sql->add_param("REAL_TW", $tw);
$sql->add_param_date("REAL_TGL");
$sql->add_param_userid();
$sql->add_where("REG_ID");
$sql->UpdateDB();
$_SESSION['__WEB_APP']['RENC_RPJMDID'] = Param::Get("RENC_RPJMDID");
$_SESSION['__WEB_APP']['RENC_VISIID'] = Param::Get("RENC_VISIID");
$_SESSION['__WEB_APP']['RENC_THN'] = Param::Get("RENC_THN");
$_SESSION['__WEB_APP']['REAL_RPJMDID'] = Param::Get("REAL_RPJMDID");
$_SESSION['__WEB_APP']['REAL_THN'] = Param::Get("REAL_THN");
$_SESSION['__WEB_APP']['REAL_BLN'] = Param::Get("REAL_BLN");
$_SESSION['__WEB_APP']['REAL_TW'] = $tw;
$_SESSION['__WEB_APP']['REAL_TGL'] = Param::Get("REAL_TGL");
$ajson['status'] = true;
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-body"><div id="divMaster">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+88
View File
@@ -0,0 +1,88 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/akun.php
Desc. : PHP - Tabel Master Akun Keuangan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : August 24th, 2021.
(c) 2012 - 2021, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
//require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("AkunID", 0);
if ( $data == "akun-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para90_akun WHERE AkunID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Kode Akun Keuangan", "K_Akun", $atabel['K_Akun'], true, true, "text", "masukkan kode akun keuangan");
$form->textarea("Nama Akun Keuangan", "N_Akun", $atabel['N_Akun'], true, true, 1, "masukkan nama akun keuangan");
$form->switch_sq("Bisa Diinput ?", "Set_Input", $atabel['Set_Input'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("AkunID", $atabel['AkunID']);
$form->hidden("mode", $mode);
$form->show('_K_Akun_ _N_Akun_ _Set_Input_ _AkunID_ _mode_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para90_akun");
$sql->add_param("K_Akun");
$sql->add_param("N_Akun");
$sql->add_param("Set_Input");
$sql->add_param_userid();
$sql->add_where("AkunID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Akun"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_Akun,N_Akun) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para90_akun".$tsql);
$obj->add_field("AkunID", "ID", "hidden");
$obj->add_field("K_Akun", "Kode Akun", "left");
$obj->add_field("N_Akun", "Nama Akun Keuangan", "left autowrap");
$obj->add_field("Set_Input", "Input", "center", "checkbox");
$obj->set_field_order("K_Akun", "A");
$obj->add_row_btn("description", "Ubah", "TAkunJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TAkunJS.detail_hapus");
$obj->set_func_navi("TAkunJS.data_query('detail')");
$obj->set_func_btn("TAkunJS.detail_tambah", "+ Akun");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akun Keuangan</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Akun" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+165
View File
@@ -0,0 +1,165 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/asb.php
Desc. : PHP - Tabel Master Standar ASB
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 30th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail");
$id_asb = Param::Get("ASBID", 0);
$id_hspk = Param::Get("HSPKID", 0);
if ( $data == "tabel-asb" ) {
if ($mode_detail=="insert" || $mode_detail=="update" || $mode_detail=="delete") {
$sql = new SQL($db);
$sql->set_table("para_asb");
$sql->add_param("K_ASB");
$sql->add_param("N_ASB");
$sql->add_param("D_ASB");
$sql->add_param("OPDID");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("ASBID");
if ($mode_detail=="insert") {
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
$db->Query("DELETE FROM para_asb_detail WHERE ASBID='".$id_asb."'");
}
}
$tcari = trim(Param::Get("Cari_ASB"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_ASB,N_ASB) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_asb".$tsql);
$obj->add_field("ASBID", "ID", "hidden");
$obj->add_field("K_ASB", "Kode", "center");
$obj->add_field("N_ASB", "Nama Standar ASB", "left autowrap");
$obj->add_field("D_ASB", "Deskripsi", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_ASB", "A");
$obj->add_row_btn("description", "Ubah", "TASBJS.asb_ubah");
$obj->add_row_btn("trash", "Hapus", "TASBJS.asb_hapus");
$obj->add_row_btn("select", "HSPK", "TASBJS.asb_select");
$obj->set_func_navi("TASBJS.data_query('tabel-asb')");
$obj->set_func_btn("TASBJS.asb_tambah", "+ ASB");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divASB");
} else if ( $data == "tabel-hspk" ) {
if ($mode_detail=="insert" || $mode_detail=="update" || $mode_detail=="delete") {
$sql = new SQL($db);
$sql->set_table("para_asb_detail");
$sql->add_param("HSPKID");
$sql->add_param("KOE");
$sql->add_param_userid();
$sql->add_where("ASBID");
$sql->add_where("ID");
if ( $mode_detail == "insert" ) {
$sql->add_param("ASBID", $id_asb);
$sql->InsertDB();
} else if ( $mode_detail == "update" ) {
$sql->UpdateDB();
} else if ( $mode_detail == "delete" ) {
$sql->DeleteDB();
}
if ($mode_detail<>"delete") {
$db->Query("UPDATE para_asb_detail A,para_hspk B SET A.Nilai_W1=A.KOE*B.Nilai_W1,A.Nilai_W2=A.KOE*B.Nilai_W2,A.Nilai_W3=A.KOE*B.Nilai_W3 WHERE A.HSPKID=B.HSPKID AND A.ASBID='".$id_asb."' AND A.HSPKID='".$id_hspk."'");
$db->Query("UPDATE para_asb A,(SELECT ASBID,SUM(Nilai_W1) W1,SUM(Nilai_W2) W2,SUM(Nilai_W3) W3 FROM para_asb_detail GROUP BY ASBID) B SET A.Nilai_W1=B.W1,A.Nilai_W2=B.W2,A.Nilai_W3=B.W3 WHERE A.ASBID=B.ASBID AND A.ASBID='".$id_asb."'");
}
}
$obj = new Table($db);
$obj->set_query("SELECT D.*,H.K_HSPK,H.N_HSPK FROM (SELECT * FROM para_asb_detail WHERE ASBID='".$id_asb."') D LEFT JOIN para_hspk H ON (D.HSPKID=H.HSPKID)");
$obj->add_field("ID", "ID", "hidden");
$obj->add_field("K_HSPK", "Kode HSPK", "center");
$obj->add_field("N_HSPK", "Nama Standar HSPK", "left autowrap");
$obj->add_field("KOE", "Koefisien", "right", "rupiah5");
$obj->set_field_order("K_HSPK", "A");
$obj->add_row_btn("description", "Ubah", "TASBJS.hspk_ubah");
$obj->add_row_btn("trash", "Hapus", "TASBJS.hspk_hapus");
$obj->set_func_navi("TASBJS.data_query('tabel-hspk')");
$obj->set_func_btn("TASBJS.hspk_tambah", "+ Komponen HSPK");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divHSPK");
} else if ( $data == "detail-asb" ) {
$atabel = array('Aktif'=>1);
if ($mode_detail == "update") {
$db->Query("SELECT * FROM para_asb WHERE ASBID='".$id_asb."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Kode ASB", "K_ASB", $atabel['K_ASB'], true, true, "text", "masukkan kode asb");
$form->textarea("Nama Standar ASB", "N_ASB", $atabel['N_ASB'], true, true, 2, "masukkan nama standar asb");
$form->textarea("Deskripsi Standar", "D_ASB", $atabel['D_ASB'], true, true, 2, "masukkan deskripsi standar");
$form->option_db("Nama Perangkat Daerah", "OPDID", $atabel['OPDID'], true, true, "vi_para90_opd", array("OPDID","Nama_OPD"), "IV=0 ORDER BY K_OPD", array(0,"&nbsp;"));
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("ASBID2", $atabel['ASBID']);
$form->hidden("mode_detail", $mode_detail);
$form->show(' _K_ASB_ _N_ASB_ _D_ASB_ _OPDID_ _Aktif_ _ASBID2_ _mode_detail_ ');
} else if ( $data == "detail-hspk" ) {
$atabel = array('KOE'=>1);
if ($mode_detail == "update") {
$db->Query("SELECT * FROM para_asb_detail WHERE ID='".Param::Get("ID")."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->option_db("Komponen HSPK", "HSPKID", $atabel['HSPKID'], ($mode_detail=="insert"?true:false), true, "para_hspk", array("HSPKID","N_HSPK"), null, array(0,"&nbsp;"));
$form->textbox("Koefiesien Komponen", "KOE", $atabel['KOE'], true, true, "text", "masukkan koefisien komponen");
$form->hidden("ID", $atabel['ID']);
$form->hidden("mode_detail", $mode_detail);
$form->show(' _HSPKID_ _KOE_ _ID_ _mode_detail_ ');
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Standar ASB</div><div class="card-body">
<div class="row mb-1 d-none">
<div class="col"><div class="input-group"><input class="form-control" id="Cari_ASB" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div>
</div>
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_ASB" placeholder="Nama Standar ASB" type="text" readonly>
<input id="ASBID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" style="width:10em" type="button" id="butASB"><span><i class="c-icon cui-swap-horizontal"></span></i>Standar ASB</button>
</span>
</div>
</div>
</div>
<div id="divASB">&nbsp;</div>
<div id="divHSPK">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+97
View File
@@ -0,0 +1,97 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/bidu.php
Desc. : PHP - Tabel Master Bidang Urusan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("BUID", 0);
if ( $data == "bidu-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para90_bidu WHERE BUID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->option_db("Nama Urusan", "K_Urusan", $atabel['K_Urusan'], true, true, "vi_para90_urusan", array("K_Urusan","Nama_Urusan"), "Aktif=1", array(0,"&nbsp;"));
$form->textbox("Kode Bidang Urusan", "K_Bidu", $atabel['K_Bidu'], true, true, "text", "masukkan kode, default X.XX");
$form->textarea("Nama Bidang Urusan", "N_Bidu", $atabel['N_Bidu'], true, true, 1, "masukkan nama bidang urusan");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("BUID", $atabel['BUID']);
$form->hidden("mode", $mode);
$form->show('
_K_Bidu_
_K_Urusan_
_N_Bidu_
_Aktif_
_mode_ _BUID_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para90_bidu");
$sql->add_param("K_Urusan");
$sql->add_param("K_Bidu");
$sql->add_param("N_Bidu");
//$sql->add_param("S_Bidu", "CONCAT(SUBSTRING_INDEX(K_Bidu,'.',1)*1,'-',SUBSTRING_INDEX(K_Bidu,'.',-1)*1)", true);
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("BUID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Bidu"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(B.K_Bidu,B.N_Bidu) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT B.*,U.N_Urusan FROM para90_bidu B LEFT JOIN para90_urusan U ON (U.K_Urusan=B.K_Urusan)".$tsql);
$obj->add_field("BUID", "ID", "hidden");
$obj->add_field("K_Bidu", "Kode", "center");
$obj->add_field("N_Urusan", "Nama Urusan", "left autowrap");
$obj->add_field("N_Bidu", "Nama Bidang Urusan", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Bidu", "A");
$obj->add_row_btn("description", "Ubah", "TBiduJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TBiduJS.detail_hapus");
$obj->set_func_navi("TBiduJS.data_query('detail')");
$obj->set_func_btn("TBiduJS.detail_tambah", "+ Bidang Urusan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Bidang Urusan</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Bidu" name="Cari_Bidu" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+89
View File
@@ -0,0 +1,89 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/dapil.php
Desc. : PHP - Tabel Master Daerah Pemilihan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
//require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("DapilID", 0);
if ( $data == "dapil-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_dapil WHERE DapilID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textarea("Kelompok Dapil", "N_Dapil", $atabel['N_Dapil'], true, true, 1, "masukkan nama daerah pemilihan");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("DapilID", $atabel['DapilID']);
$form->hidden("mode", $mode);
$form->show('
_N_Dapil_
_Aktif_
_DapilID_
_mode_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_dapil");
$sql->add_param("N_Dapil");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("DapilID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Dapil"));
$tsql .= ($tcari=="") ? "" : " WHERE N_Dapil LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_dapil".$tsql);
$obj->add_field("DapilID", "ID", "hidden");
$obj->add_field("N_Dapil", "Kelompok Dapil", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("N_Dapil", "A");
$obj->add_row_btn("description", "Ubah", "TDapilJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TDapilJS.detail_hapus");
$obj->set_func_navi("TDapilJS.data_query('detail')");
$obj->set_func_btn("TDapilJS.detail_tambah", "+ Kelompok Dapil");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Kelompok Dapil</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Dapil" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+96
View File
@@ -0,0 +1,96 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/desa.php
Desc. : PHP - Tabel Master Kelurahan / Desa
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
//require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("LokasiID", 0);
if ( $data == "desa-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_lokasi WHERE LokasiID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Kode Kelurahan / Desa", "K_Lokasi", $atabel['K_Lokasi'], true, true, "text", "masukkan kode kelurahan / desa, default XXX");
$form->textarea("Nama Kelurahan / Desa", "N_Lokasi", $atabel['N_Lokasi'], true, true, 1, "masukkan nama kelurahan / desa");
$form->option_db("Nama Kecamatan", "IndukID", $atabel['IndukID'], true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Level=1 AND Aktif=1", array(0,"&nbsp;"));
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("LokasiID", $atabel['LokasiID']);
$form->hidden("mode", $mode);
$form->show('
_K_Lokasi_
_IndukID_
_N_Lokasi_
_Aktif_
_LokasiID_ _mode_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_lokasi");
//$sql->add_param("N_Urut");
$sql->add_param("IndukID");
$sql->add_param("K_Lokasi");
$sql->add_param("N_Lokasi");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("LokasiID");
if ($mode=="add") {
$sql->add_param("Level", 2);
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Desa"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_Desa,N_Desa,K_Kec,N_Kec) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM vi_para_desa".$tsql);
$obj->add_field("DesaID", "ID", "hidden");
$obj->add_field("K_Desa", "Kode", "center");
$obj->add_field("Nama_KD", "Nama Kecamatan & Kelurahan / Desa", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Desa", "A");
$obj->add_row_btn("description", "Ubah", "TDesaJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TDesaJS.detail_hapus");
$obj->set_func_navi("TDesaJS.data_query('detail')");
$obj->set_func_btn("TDesaJS.detail_tambah", "+ Kelurahan / Desa");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Kelurahan / Desa</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Desa" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+139
View File
@@ -0,0 +1,139 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/dprd.php
Desc. : PHP - Tabel Master Anggota DPRD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("DPRDID", 0);
if ( $data == "dprd-detail" ) {
$atabel = [];
if ($mode == "add") {
$atabel['K_DPRD'] = DPRD_Kode_Baru();
} else if ($mode == "edit") {
$db->Query("SELECT * FROM para_dprd WHERE DPRDID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
if ($atabel['DPRDID']>0) {
$db->Query("SELECT Username FROM app_operator WHERE Level IN (5,6) AND AK_DPRD='".$atabel['DPRDID']."' LIMIT 1");
if ($db->Next()) $atabel = array_merge($atabel, $db->AllRow());
}
}
$form = new Form($db);
$form->textbox("Kode Anggota", "K_DPRD", $atabel['K_DPRD'], true, true, "text", "masukkan kode anggota");
$form->textbox("Nama Anggota", "N_DPRD", $atabel['N_DPRD'], true, true, "text", "masukkan nama anggota");
$form->textbox("Fraksi DPRD", "F_DPRD", $atabel['F_DPRD'], true, true, "text", "masukkan fraksi dprd");
$form->textbox("Komisi DPRD", "Komisi_DPRD", $atabel['Komisi_DPRD'], true, true, "text", "masukkan komisi dprd");
$form->option_db("Kelompok Dapil", "DapilID", $atabel['DapilID'], true, true, "para_dapil", array("DapilID","N_Dapil"), "Aktif=1", array(0,"&nbsp;"));
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->textbox("Username", "Username", $atabel['Username'], true, true, "text", "masukkan username", null, "username untuk login e-pokir; tanpa spasi dan tanda baca");
$form->password("Password", "Password", "", true, true, "masukkan password", null, "password untuk login e-pokir; kosongkan jika tidak ingin mengubah");
$form->hidden("DPRDID", $atabel['DPRDID']);
$form->hidden("mode", $mode);
$form->show('
_K_DPRD_
_N_DPRD_
_F_DPRD_
_Komisi_DPRD_
_DapilID_
_Aktif_
<div class="row"><div class="col-12"><hr class="my-2"></div></div>
_Username_
_Password_
_mode_ _DPRDID_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_dprd");
$sql->add_param("K_DPRD");
$sql->add_param("N_DPRD");
$sql->add_param("F_DPRD");
$sql->add_param("Komisi_DPRD");
$sql->add_param("DapilID");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("DPRDID");
if ($mode=="add") {
$db->Query("SELECT MAX(DPRDID)+1 ID FROM para_dprd");
if ($db->Next()) $id_tm = $db->Row("ID");
$sql->add_param("DPRDID", $id_tm);
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
$db->Query("UPDATE app_operator SET Aktif=0 WHERE Level=5 AND AK_DPRD='".$id_tm."' LIMIT 1");
}
if ($mode <> "del") {
$luser = Param::Get("Username", "");
$lpass = Param::Get("Password", "");
$lnama = Param::Get("N_DPRD", "");
$laktif = Param::Get("Aktif", "");
$is_new = true;
$db->Query("SELECT * FROM app_operator WHERE Level=5 AND AK_DPRD LIKE '%".$id_tm."%' LIMIT 1");
if ($db->Next()) $is_new = false;
if ($is_new == true) $db->Query("INSERT INTO app_operator SET Level=5,AK_DPRD='".$id_tm."'");
$tsql = ($lpass=="") ? "" : ",Password=MD5('".$lpass."')";
$db->Query("UPDATE app_operator SET Username='".$luser."',Nama='".$lnama."',Posisi='Anggota DPRD',Level=5,Aktif='".$laktif."'".$tsql." WHERE Level=5 AND AK_DPRD='".$id_tm."' LIMIT 1");
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_DPRD"));
$tsql .= ($tcari=="") ? "" : " WHERE N_DPRD LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT A.*,D.N_Dapil FROM para_dprd A LEFT JOIN para_dapil D ON (A.DapilID=D.DapilID)".$tsql);
$obj->add_field("DPRDID", "ID", "hidden");
$obj->add_field("K_DPRD", "Kode", "center");
$obj->add_field("N_DPRD", "Nama Anggota", "left autowrap");
$obj->add_field("F_DPRD", "Fraksi DPRD", "left autowrap");
$obj->add_field("N_Dapil", "Dapil", "left");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_DPRD", "A");
$obj->add_row_btn("description", "Ubah", "TDPRDJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TDPRDJS.detail_hapus");
$obj->set_func_navi("TDPRDJS.data_query('detail')");
$obj->set_func_btn("TDPRDJS.detail_tambah", "+ Anggota DPRD");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "user-check") {
$ajson['ada'] = false;
$db->Query("SELECT COUNT(*) Jumlah FROM app_operator WHERE Username='".Param::Get("Username")."' AND AK_DPRD<>'".$id_tm."'");
if ($db->Next()) {
if ($db->Row("Jumlah", 0) > 0) $ajson['ada'] = true;
}
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Anggota DPRD</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_DPRD" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+91
View File
@@ -0,0 +1,91 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/forum.php
Desc. : PHP - Tabel Master Kelompok Forum OPD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("ForumID", 0);
if ( $data == "forum-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_forum WHERE ForumID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textarea("Kelompok Forum", "N_Forum", $atabel['N_Forum'], true, true, 1, "masukkan nama kelompok forum");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("ForumID", $atabel['ForumID']);
$form->hidden("mode", $mode);
$form->show('
<div class="row">
<div class="col">
_N_Forum_
_Aktif_
</div>
</div> _mode_ _ForumID_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_forum");
$sql->add_param("N_Forum");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("ForumID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Forum"));
$tsql .= ($tcari=="") ? "" : " WHERE N_Forum LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_forum".$tsql);
$obj->add_field("ForumID", "ID", "hidden");
$obj->add_field("N_Forum", "Kelompok Forum", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("N_Forum", "A");
$obj->add_row_btn("description", "Ubah", "TForumJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TForumJS.detail_hapus");
$obj->set_func_navi("TForumJS.data_query('detail')");
$obj->set_func_btn("TForumJS.detail_tambah", "+ Kelompok Forum");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Kelompok Forum</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Forum" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+99
View File
@@ -0,0 +1,99 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/hspk.php
Desc. : PHP - Tabel Master Standar HSPK
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : January 22nd, 2021.
(c) 2012 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("HSPKID", 0);
if ( $data == "hspk-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_hspk WHERE HSPKID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Kode HSPK", "K_HSPK", $atabel['K_HSPK'], true, true, "text", "masukkan kode hspk");
$form->textarea("Nama HSPK", "N_HSPK", $atabel['N_HSPK'], true, true, 2, "masukkan nama hspk");
$form->textbox("Nama Satuan", "Satuan", $atabel['Satuan'], true, true, "text", "masukkan nama satuan");
$form->textbox("Nilai Wilayah I", "Nilai_W1", $atabel['Nilai_W1'], true, true, "double", "masukkan nilai wilayah i");
$form->textbox("Nilai Wilayah II", "Nilai_W2", $atabel['Nilai_W2'], true, true, "double", "masukkan nilai wilayah ii");
$form->textbox("Nilai Wilayah III", "Nilai_W3", $atabel['Nilai_W3'], true, true, "double", "masukkan nilai wilayah iii");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("HSPKID", $atabel['HSPKID']);
$form->hidden("mode", $mode);
$form->show(' _K_HSPK_ _N_HSPK_ _Satuan_ _Nilai_W1_ _Nilai_W2_ _Nilai_W3_ _Aktif_ _HSPKID_ _mode_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_hspk");
$sql->add_param("K_HSPK");
$sql->add_param("N_HSPK");
$sql->add_param("Satuan");
$sql->add_param("Nilai_W1");
$sql->add_param("Nilai_W2");
$sql->add_param("Nilai_W3");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("HSPKID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_HSPK"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_HSPK,N_HSPK) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_hspk".$tsql);
$obj->add_field("HSPKID", "ID", "hidden");
$obj->add_field("K_HSPK", "Kode", "center");
$obj->add_field("N_HSPK", "Nama Standar HSPK", "left autowrap");
$obj->add_field("Satuan", "Satuan", "left");
$obj->add_field("Nilai_W1", "Nilai W I", "right", "rupiah2");
$obj->add_field("Nilai_W2", "Nilai W II", "right", "rupiah2");
$obj->add_field("Nilai_W3", "Nilai W III", "right", "rupiah2");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_HSPK", "A");
$obj->add_row_btn("description", "Ubah", "THSPKJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "THSPKJS.detail_hapus");
$obj->set_func_navi("THSPKJS.data_query('detail')");
$obj->set_func_btn("THSPKJS.detail_tambah", "+ HSPK");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Standar HSPK</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_HSPK" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+112
View File
@@ -0,0 +1,112 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/jalan.php
Desc. : PHP - Tabel Master Jalan / Gang
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : January 22nd, 2021.
(c) 2012 - 2021, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("JalanID", 0);
if ( $data == "jalan-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_jalan WHERE JalanID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->option_db("Nama Kecamatan", "KecID", $atabel['KecID'], true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Level=1 AND Aktif=1", array(0,"&nbsp;"), null, "TJalanJS.oc_Kec()");
$form->option_db("Nama Kelurahan / Desa", "KelID", $atabel['KelID'], true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Level=2 AND Aktif=1 AND IndukID='".$atabel['KecID']."'", array(0,"&nbsp;"));
$form->textbox("Nama Jalan / Gang", "N_Jalan", $atabel['N_Jalan'], true, true, "text", "masukkan jalan / gang");
$form->textarea("Lokasi Jalan / Gang", "Lokasi", $atabel['Lokasi'], true, true, 1, "masukkan lokasi detail jalan / gang");
$form->textbox("Panjang Jalan / Gang", "Panjang", $atabel['Panjang'], true, true, "double", "masukkan panjang jalan / gang");
$form->textbox("Mantap", "Mantap", $atabel['Mantap'], true, true, "double", "masukkan ukuran mantap");
$form->textbox("Rusak Ringan", "Rusak_Ringan", $atabel['Rusak_Ringan'], true, true, "double", "masukkan ukuran rusak ringan");
$form->textbox("Rusak Berat", "Rusak_Berat", $atabel['Rusak_Berat'], true, true, "double", "masukkan ukuran rusak berat");
$form->radio("Status Jalan", "JU", $atabel['JU'], true, true, array('1'=>"Jalan Utama / Poros",'0'=>"Jalan Lingkungan"));
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("JalanID", $atabel['JalanID']);
$form->hidden("mode", $mode);
$form->show(' _KecID_ _KelID_ _N_Jalan_ _Lokasi_ _Panjang_ _Mantap_ _Rusak_Ringan_ _Rusak_Berat_ _JU_ _Aktif_ _JalanID_ _mode_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_jalan");
$sql->add_param("KecID");
$sql->add_param("KelID");
$sql->add_param("N_Jalan");
$sql->add_param("Lokasi");
$sql->add_param("Panjang");
$sql->add_param("Mantap");
$sql->add_param("Rusak_Ringan");
$sql->add_param("Rusak_Berat");
$sql->add_param("JU");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("JalanID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Jalan"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_Jalan,N_Jalan,Lokasi) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_jalan".$tsql);
$obj->add_field("JalanID", "ID", "hidden");
$obj->add_field("K_Jalan", "Kode", "hidden");
$obj->add_field("N_Jalan", "Nama Jalan / Gang", "left autowrap");
$obj->add_field("Lokasi", "Lokasi", "left autowrap");
$obj->add_field("JU", "Poros", "center", "checkbox");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("N_Jalan", "A");
$obj->add_row_btn("description", "Ubah", "TJalanJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TJalanJS.detail_hapus");
$obj->set_func_navi("TJalanJS.data_query('detail')");
$obj->set_func_btn("TJalanJS.detail_tambah", "+ Jalan / Gang");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "option-kel" ) {
$aoption = array('type' => "option", 'id' => "KelID", 'value' => 0, 'avalue' => []);
$db->Query("SELECT * FROM para_lokasi WHERE Aktif=1 AND Level=2 AND IndukID='".Param::Get("KecID",0)."' ORDER BY N_Lokasi");
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"-");
while ($db->Next()) {
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("LokasiID");
$aoption['avalue'][] = array('value'=>$db->Row("LokasiID"), 'html'=>$db->Row("N_Lokasi"));
}
$ajson[] = $aoption;
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Jalan / Gang</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Jalan" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+95
View File
@@ -0,0 +1,95 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/kec.php
Desc. : PHP - Tabel Master Kecamatan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("LokasiID", 0);
if ( $data == "kec-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_lokasi WHERE LokasiID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Kode Kecamatan", "K_Lokasi", $atabel['K_Lokasi'], true, true, "text", "masukkan kode kecamatan, default XXX");
$form->textarea("Nama Kecamatan", "N_Lokasi", $atabel['N_Lokasi'], true, true, 1, "masukkan nama kecamatan");
$form->option_db("Daerah Pemilihan", "DapilID", $atabel['DapilID'], true, true, "para_dapil", array("DapilID","N_Dapil"), "Aktif=1", array(0,"&nbsp;"));
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("LokasiID", $atabel['LokasiID']);
$form->hidden("mode", $mode);
$form->show('
_K_Lokasi_
_N_Lokasi_
_DapilID_
_Aktif_
_LokasiID_ _mode_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_lokasi");
//$sql->add_param("N_Urut");
$sql->add_param("K_Lokasi");
$sql->add_param("N_Lokasi");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("LokasiID");
if ($mode=="add") {
$sql->add_param("Level", 1);
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Kec"));
$tsql .= ($tcari=="") ? "" : " AND CONCAT(K_Lokasi,N_Lokasi) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_lokasi WHERE Level=1".$tsql);
$obj->add_field("LokasiID", "ID", "hidden");
$obj->add_field("K_Lokasi", "Kode", "center");
$obj->add_field("N_Lokasi", "Nama Kecamatan", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Lokasi", "A");
$obj->add_row_btn("description", "Ubah", "TKecJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TKecJS.detail_hapus");
$obj->set_func_navi("TKecJS.data_query('detail')");
$obj->set_func_btn("TKecJS.detail_tambah", "+ Kecamatan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Kecamatan</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Kec" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+152
View File
@@ -0,0 +1,152 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/opd.php
Desc. : PHP - Tabel Master OPD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : February 21st, 2023.
(c) 2012 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("OPDID", 0);
if ( $data == "opd-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para90_opd WHERE OPDID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->option_db("Bidang Urusan 1", "K_Bidu1", $atabel['K_Bidu1'], true, true, "vi_para90_bidu", array("K_Bidu","Nama_Bidu"), "BUID>1 AND Aktif=1", array("0.00","(0.00) SEMUA BIDANG"));
$form->option_db("Bidang Urusan 2", "K_Bidu2", $atabel['K_Bidu2'], true, true, "vi_para90_bidu", array("K_Bidu","Nama_Bidu"), "BUID>1 AND Aktif=1", array("0.00","(0.00) SEMUA BIDANG"));
$form->option_db("Bidang Urusan 3", "K_Bidu3", $atabel['K_Bidu3'], true, true, "vi_para90_bidu", array("K_Bidu","Nama_Bidu"), "BUID>1 AND Aktif=1", array("0.00","(0.00) SEMUA BIDANG"));
$form->textbox("Kode OPD", "U_Bidu", $atabel['U_Bidu'], true, true, "text", "masukkan kode opd, default XX.0000", 10);
$form->textarea("Nama OPD", "N_OPD", $atabel['N_OPD'], true, true, 1, "masukkan nama opd");
$form->textbox("Singkatan OPD", "S_OPD", $atabel['S_OPD'], true, true, "text", "masukkan singkatan opd");
$form->textbox("Lokasi OPD", "N_Lokasi", $atabel['N_Lokasi'], true, true, "text", "masukkan lokasi opd");
$form->option_db("Forum OPD", "ForumID", $atabel['ForumID'], true, true, "para_forum", array("ForumID","N_Forum"), "Aktif=1", array(0,"&nbsp;"));
$form->switch("OPD Kecamatan", "IK", $atabel['IK'], true, true, array('1'=>"Ya",'0'=>"Tdk"), "<br>pilih Ya jika opd merupakan opd kecamatan, supaya tidak masuk dalam opsi tujuan usulan musrenbang & sidang opd");
$form->switch("Instansi Vertikal", "IV", $atabel['IV'], true, true, array('1'=>"Ya",'0'=>"Tdk"), "<br>pilih Ya jika opd merupakan opd vertikal, supaya tidak masuk dalam opsi rkpd opd");
$form->textbox("NIP Pejabat", "P_NIP", $atabel['P_NIP'], true, true, "text", "masukkan nip pejabat");
$form->textbox("Nama Pejabat", "P_Nama", $atabel['P_Nama'], true, true, "text", "masukkan nama pejabat");
$form->textbox("Jabatan", "P_Jabatan", $atabel['P_Jabatan'], true, true, "text", "masukkan jabatan pejabat");
$form->textbox("Pangkat", "P_Pangkat", $atabel['P_Pangkat'], true, true, "text", "masukkan pangkat pejabat");
$form->textbox("NIP Bendahara", "B_NIP", $atabel['B_NIP'], true, true, "text", "masukkan nip bendahara");
$form->textbox("Nama Bendahara", "B_Nama", $atabel['B_Nama'], true, true, "text", "masukkan nama bendahara");
$form->switch("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("OPDID", $atabel['OPDID']);
$form->hidden("mode", $mode);
$form->show('
<div id="tabMenuList"><ul class="nav nav-tabs" role="tablist">
<li class="nav-item"><a class="nav-link active" data-toggle="tab" role="tab" href="#iOPD" aria-controls="iOPD">Informasi OPD</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" role="tab" href="#iPejabat" aria-controls="iPejabat">Pejabat OPD</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" role="tab" href="#iLain" aria-controls="iLain">Informasi Lain</a></li>
<li class="nav-item ml-auto"><a class="nav-link disabled nav-head">'.$atabel['K_OPD'].'</a></li></ul>
<div class="tab-content mt-2">
<div class="tab-pane active" role="tabpanel" id="iOPD">
_K_Bidu1_
_K_Bidu2_
_K_Bidu3_
_U_Bidu_
_N_OPD_
_S_OPD_
_N_Lokasi_
_Aktif_
</div>
<div class="tab-pane" role="tabpanel" id="iPejabat">
_P_NIP_
_P_Nama_
_P_Jabatan_
_P_Pangkat_
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
_B_NIP_
_B_Nama_
</div>
<div class="tab-pane" role="tabpanel" id="iLain">
_IK_
_IV_
_ForumID_
</div>
</div>
</div>
_OPDID_ _mode_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para90_opd");
$sql->add_param("K_Bidu1");
$sql->add_param("K_Bidu2");
$sql->add_param("K_Bidu3");
$sql->add_param("U_Bidu");
$sql->add_param("K_OPD", "CONCAT(K_Bidu1,'.',K_Bidu2,'.',K_Bidu3,'.',U_Bidu)", true);
$sql->add_param("N_OPD");
$sql->add_param("S_OPD");
$sql->add_param("N_Lokasi");
$sql->add_param("ForumID");
$sql->add_param("IV");
$sql->add_param("IK");
$sql->add_param("P_NIP");
$sql->add_param("P_Nama");
$sql->add_param("P_Jabatan");
$sql->add_param("P_Pangkat");
$sql->add_param("B_NIP");
$sql->add_param("B_Nama");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("OPDID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_OPD"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_OPD,N_OPD,S_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para90_opd".$tsql);
$obj->add_field("OPDID", "ID", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama OPD", "awr");
$obj->add_field("S_OPD", "Singkatan", "awr");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TOPDJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TOPDJS.detail_hapus");
$obj->set_func_navi("TOPDJS.data_query('detail')");
$obj->set_func_btn("TOPDJS.detail_tambah", "+ OPD");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar OPD</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+99
View File
@@ -0,0 +1,99 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/opd_pagu.php
Desc. : PHP - Tabel Master Pagu OPD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2010 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_opd = Param::Get("OPDID", 0);
$id_tm = Param::Get("OPDPAGUID", 0);
if ( $data == "opdpagu-detail" ) {
$atabel = array('OPDPAGUID'=>0, 'OPDID'=>$id_opd, 'Pagu'=>0);
if ($id_tm > 0) {
$db->Query("SELECT * FROM para90_opd_pagu WHERE Tahun='".$tahun."' AND OPDPAGUID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->option_db("Nama OPD", "OPDID", $atabel['OPDID'], false, false, "para90_opd", array("OPDID","N_OPD"), "Aktif=1", array(0,"&nbsp;"));
$form->textbox("Nilai Pagu", "Pagu", $atabel['Pagu'], true, true, "double", "masukkan nilai pagu");
$form->hidden("OPDPAGUID", $atabel['OPDPAGUID']);
$form->show('
_OPDID_
_Pagu_
_OPDPAGUID_ ');
} else if ( $data == "detail" ) {
if ($mode=="save" || $mode=="del") {
$sql = new SQL($db);
$sql->set_table("para90_opd_pagu");
$sql->add_param("Tahun");
$sql->add_param("OPDID");
$sql->add_param("Pagu");
$sql->add_param_userid();
$sql->add_where("OPDPAGUID");
if ($mode=="save") {
if ($id_tm==0) {
$sql->InsertDB();
} else $sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
}
$tcari = trim(Param::Get("Cari_OPD"));
$tsql = ($tcari=="") ? "" : " AND CONCAT(O.K_OPD,O.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT O.*,IFNULL(P.OPDPAGUID,0) OPDPAGUID,IFNULL(P.Pagu,0) Pagu FROM para90_opd O LEFT JOIN (SELECT * FROM para90_opd_pagu WHERE Tahun='".$tahun."' ORDER BY OPDID) P ON (O.OPDID=P.OPDID) WHERE O.Aktif=1 AND O.IV=0".$tsql);
//$obj->set_query_footer("SELECT SUM(P.Pagu) Pagu FROM para90_opd_pagu P WHERE P.Tahun='".$tahun."'");
$obj->add_field("OPDPAGUID", "ID", "hidden");
$obj->add_field("OPDID", "ID", "hidden");
$obj->add_field("K_OPD", "Kode", "center");
$obj->add_field("N_OPD", "Nama OPD", "left autowrap");
$obj->add_field("Pagu", "Total Pagu", "right", "rupiah2", "rupiah2");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("description", "Ubah", "TOPDPaguJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TOPDPaguJS.detail_hapus");
$obj->set_func_navi("TOPDPaguJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
$form = new Form($db);
$op_tahun = $form->option("Tahun", "Tahun", $_SESSION['__WEB_APP']['RENC_THN'], true, true, tahun_ang("Tahun "), "", "TOPDPaguJS.oc_Tahun()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akses Data e-Planning</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" name="Cari_OPD" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0"><div class="row"><div class="col">'.$op_tahun.'</div></div></div>
</div>
<div id="divDetail">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+87
View File
@@ -0,0 +1,87 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/periode.php
Desc. : PHP - Konfigurasi Periode Data
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 16th, 2012.
Last Modified : July 18th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_thn = Param::Get("THNID", 0);
if ( $data == "periode-detail" ) {
$apriod = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_periode WHERE THNID='".$id_thn."'");
if ($db->Next()) $apriod = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Keterangan", "Ket", $apriod['Ket'], true, true, "text", "masukkan keterangan");
$form->textbox("Tahun", "Tahun", $apriod['Tahun'], true, true, "integer", "masukkan tahun");
$form->hidden("THNID", $apriod['THNID']);
$form->hidden("mode", $mode);
$form->show(' _Ket_ _Tahun_ _mode_ _THNID_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_periode");
$sql->add_param("Ket");
$sql->add_param("Tahun");
$sql->add_param_userid();
$sql->add_where("THNID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Tahun"));
$tsql .= ($tcari=="") ? "" : " WHERE Ket LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT P.*,R.Ket Ket_RPJMD FROM para_periode P LEFT JOIN para_rpjmd R ON (R.RPJMDID=P.RPJMDID)".$tsql);
$obj->add_field("THNID", "ID", "hid");
$obj->add_field("Tahun", "TAHUN", "c");
$obj->add_field("Ket", "Keterangan", "awr");
$obj->add_field("Ket_RPJMD", "Periode RPJMD", "l");
$obj->set_field_order("Tahun", "A");
$obj->add_row_btn("clipboard", "Ubah", "TPeriodeJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TPeriodeJS.detail_hapus");
$obj->set_func_navi("TPeriodeJS.data_query('detail')");
$obj->set_func_btn("TPeriodeJS.detail_tambah", "+ Tahun");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Periode Data</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Tahun" name="Cari_Tahun" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+92
View File
@@ -0,0 +1,92 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/prio_dae.php
Desc. : PHP - Tabel Master Prioritas Daerah
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("PrioDID", 0);
if ( $data == "priodae-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_prio_dae WHERE PrioDID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Kode Prioritas Daerah", "K_PrioD", $atabel['K_PrioD'], true, true, "text", "masukkan kode prioritas daerah");
$form->textarea("Nama Prioritas Daerah", "N_PrioD", $atabel['N_PrioD'], true, true, 1, "masukkan nama prioritas daerah");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("PrioDID", $atabel['PrioDID']);
$form->hidden("mode", $mode);
$form->show('
_K_PrioD_
_N_PrioD_
_Aktif_
_mode_ _PrioDID_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_prio_dae");
$sql->add_param("K_PrioD");
$sql->add_param("N_PrioD");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("PrioDID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_PrioD"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_PrioD,N_PrioD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_prio_dae".$tsql);
$obj->add_field("PrioDID", "ID", "hidden");
$obj->add_field("K_PrioD", "Kode", "center");
$obj->add_field("N_PrioD", "Nama Prioritas Daerah", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_PrioD", "A");
$obj->add_row_btn("description", "Ubah", "TPrioDJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TPrioDJS.detail_hapus");
$obj->set_func_navi("TPrioDJS.data_query('detail')");
$obj->set_func_btn("TPrioDJS.detail_tambah", "+ Prioritas Daerah");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Prioritas Daerah</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_PrioD" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+92
View File
@@ -0,0 +1,92 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/prio_nas.php
Desc. : PHP - Tabel Master Prioritas Nasional
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("PrioNID", 0);
if ( $data == "prionas-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_prio_nas WHERE PrioNID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Kode Prioritas Nasional", "K_PrioN", $atabel['K_PrioN'], true, true, "text", "masukkan kode prioritas nasional");
$form->textarea("Nama Prioritas Nasional", "N_PrioN", $atabel['N_PrioN'], true, true, 1, "masukkan nama prioritas nasional");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("PrioNID", $atabel['PrioNID']);
$form->hidden("mode", $mode);
$form->show('
_K_PrioN_
_N_PrioN_
_Aktif_
_mode_ _PrioNID_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_prio_nas");
$sql->add_param("K_PrioN");
$sql->add_param("N_PrioN");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("PrioNID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_PrioN"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_PrioN,N_PrioN) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_prio_nas".$tsql);
$obj->add_field("PrioNID", "ID", "hidden");
$obj->add_field("K_PrioN", "Kode", "center");
$obj->add_field("N_PrioN", "Nama Prioritas Nasional", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_PrioN", "A");
$obj->add_row_btn("description", "Ubah", "TPrioNJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TPrioNJS.detail_hapus");
$obj->set_func_navi("TPrioNJS.data_query('detail')");
$obj->set_func_btn("TPrioNJS.detail_tambah", "+ Prioritas Nasional");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Prioritas Nasional</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_PrioN" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+105
View File
@@ -0,0 +1,105 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/rpjmd.php
Desc. : PHP - Konfigurasi Periode RPJMD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 16th, 2012.
Last Modified : July 18th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = Param::Get("RPJMDID", 0);
if ( $data == "rpjmd-detail" ) {
$arpjmd = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_rpjmd WHERE RPJMDID='".$id_rpjmd."'");
if ($db->Next()) $arpjmd = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Keterangan", "Ket", $arpjmd['Ket'], true, true, "text", "masukkan keterangan");
$form->option_db("Tahun 1", "Tahun1", $arpjmd['Tahun1'], true, true, "para_periode", array("Tahun","Tahun"), "", array(0,"&nbsp;"));
$form->option_db("Tahun 2", "Tahun2", $arpjmd['Tahun2'], true, true, "para_periode", array("Tahun","Tahun"), "", array(0,"&nbsp;"));
$form->option_db("Tahun 3", "Tahun3", $arpjmd['Tahun3'], true, true, "para_periode", array("Tahun","Tahun"), "", array(0,"&nbsp;"));
$form->option_db("Tahun 4", "Tahun4", $arpjmd['Tahun4'], true, true, "para_periode", array("Tahun","Tahun"), "", array(0,"&nbsp;"));
$form->option_db("Tahun 5", "Tahun5", $arpjmd['Tahun5'], true, true, "para_periode", array("Tahun","Tahun"), "", array(0,"&nbsp;"));
$form->hidden("RPJMDID", $arpjmd['RPJMDID']);
$form->hidden("mode", $mode);
$form->show('
_Ket_
_Tahun1_
_Tahun2_
_Tahun3_
_Tahun4_
_Tahun5_
_mode_ _RPJMDID_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_rpjmd");
$sql->add_param("Ket");
$sql->add_param("Tahun1");
$sql->add_param("Tahun2");
$sql->add_param("Tahun3");
$sql->add_param("Tahun4");
$sql->add_param("Tahun5");
$sql->add_param_userid();
$sql->add_where("RPJMDID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_RPJMD"));
$tsql = ($tcari=="") ? "" : " WHERE Ket LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_rpjmd".$tsql);
$obj->add_field("RPJMDID", "ID", "hid");
$obj->add_field("Ket", "Keterangan", "awr");
$obj->add_field("Tahun1", "Tahun 1", "c");
$obj->add_field("Tahun2", "Tahun 2", "c");
$obj->add_field("Tahun3", "Tahun 3", "c");
$obj->add_field("Tahun4", "Tahun 4", "c");
$obj->add_field("Tahun5", "Tahun 5", "c");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TRPJMDJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TRPJMDJS.detail_hapus");
$obj->set_func_navi("TRPJMDJS.data_query('detail')");
$obj->set_func_btn("TRPJMDJS.detail_tambah", "+ RPJMD");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Periode RPJMD</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_RPJMD" name="Cari_RPJMD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+92
View File
@@ -0,0 +1,92 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/satuan.php
Desc. : PHP - Tabel Master Satuan Kegiatan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 30th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("SatuanID", 0);
if ( $data == "satuan-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para_satuan WHERE SatuanID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Kode Satuan", "K_Satuan", $atabel['K_Satuan'], true, true, "text", "masukkan kode satuan");
$form->textarea("Nama Satuan", "N_Satuan", $atabel['N_Satuan'], true, true, 1, "masukkan nama satuan");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("SatuanID", $atabel['SatuanID']);
$form->hidden("mode", $mode);
$form->show('
_K_Satuan_
_N_Satuan_
_Aktif_
_mode_ _SatuanID_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para_satuan");
$sql->add_param("K_Satuan");
$sql->add_param("N_Satuan");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("SatuanID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Satuan"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_Satuan,N_Satuan) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_satuan".$tsql);
$obj->add_field("SatuanID", "ID", "hidden");
$obj->add_field("K_Satuan", "Kode", "center");
$obj->add_field("N_Satuan", "Nama Satuan", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Satuan", "A");
$obj->add_row_btn("description", "Ubah", "TSatuanJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TSatuanJS.detail_hapus");
$obj->set_func_navi("TSatuanJS.data_query('detail')");
$obj->set_func_btn("TSatuanJS.detail_tambah", "+ Satuan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Satuan Kegiatan</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Satuan" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+99
View File
@@ -0,0 +1,99 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/subkeg.php
Desc. : PHP - Tabel Master Sub Kegiatan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("SubID", 0);
if ( $data == "subkeg-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para90_sub WHERE SubID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->option_db("Nama Program", "ProgID", $atabel['ProgID'], true, true, "vi_para90_prog", array("ProgID","Nama_Prog"), "Aktif=1", array(0,"&nbsp;"));
$form->option_db("Nama Kegiatan", "KegID", $atabel['KegID'], true, true, "vi_para90_keg", array("KegID","Nama_Keg"), "Aktif=1 AND ProgID='".$atabel['ProgID']."'", array(0,"&nbsp;"));
$form->textbox("Kode Sub Kegiatan", "K_Sub", $atabel['K_Sub'], true, true, "text", "masukkan kode, default X.XX.XX.2.XX.XX");
$form->textarea("Nama Sub Kegiatan", "N_Sub", $atabel['N_Sub'], true, true, 1, "masukkan nama sub kegiatan");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("SubID", $atabel['SubID']);
$form->hidden("mode", $mode);
$form->show('
_K_Sub_
_ProgID_
_KegID_
_N_Sub_
_Aktif_
_mode_ _SubID_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para90_sub");
$sql->add_param("ProgID");
$sql->add_param("KegID");
$sql->add_param("K_Sub");
$sql->add_param("N_Sub");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("SubID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Sub"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(S.K_Sub,S.N_Sub) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT S.*,K.N_Keg FROM para90_sub S LEFT JOIN para90_keg K ON (K.KegID=S.KegID)".$tsql);
$obj->add_field("SubID", "ID", "hidden");
$obj->add_field("K_Sub", "Kode", "center");
$obj->add_field("N_Keg", "Nama Kegiatan", "left autowrap");
$obj->add_field("N_Sub", "Nama Sub Kegiatan", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Sub", "A");
$obj->add_row_btn("description", "Ubah", "TSubKegJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TSubKegJS.detail_hapus");
$obj->set_func_navi("TSubKegJS.data_query('detail')");
$obj->set_func_btn("TSubKegJS.detail_tambah", "+ Sub Kegiatan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Sub Kegiatan</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Sub" name="Cari_Sub" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+93
View File
@@ -0,0 +1,93 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/urusan.php
Desc. : PHP - Tabel Master Urusan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_tm = Param::Get("UrusanID", 0);
if ( $data == "urusan-detail" ) {
$atabel = [];
if ($mode == "edit") {
$db->Query("SELECT * FROM para90_urusan WHERE UrusanID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Kode Urusan", "K_Urusan", $atabel['K_Urusan'], true, true, "text", "masukkan kode, default X");
$form->textarea("Nama Urusan", "N_Urusan", $atabel['N_Urusan'], true, true, 1, "masukkan nama urusan");
$form->switch("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("UrusanID", $atabel['UrusanID']);
$form->hidden("mode", $mode);
$form->show('
_K_Urusan_
_N_Urusan_
_Aktif_
_mode_ _UrusanID_ ');
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("para90_urusan");
$sql->add_param("K_Urusan");
$sql->add_param("N_Urusan");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("UrusanID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Urusan"));
$tsql .= ($tcari=="") ? "" : " WHERE N_Urusan LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para90_urusan".$tsql);
$obj->add_field("UrusanID", "ID", "hid");
$obj->add_field("K_Urusan", "Kode", "c");
$obj->add_field("N_Urusan", "Nama Urusan", "awr");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("K_Urusan", "A");
$obj->add_row_btn("clipboard", "Ubah", "TUrusanJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TUrusanJS.detail_hapus");
$obj->set_func_navi("TUrusanJS.data_query('detail')");
$obj->set_func_btn("TUrusanJS.detail_tambah", "+ Urusan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Urusan</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Urusan" name="Cari_Urusan" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+138
View File
@@ -0,0 +1,138 @@
<?php
/*******************************************************************
Module : /apps/php/sys/operator.php
Desc. : PHP - Manajemen Data Pengguna
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : August 1st, 2008.
Last Modified : July 14th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_user = Param::Get("UserID", 0);
if ( $data == "user-detail" ) {
$auser = array('Level'=>6, 'Aktif'=>1);
if ($mode == "edit") {
$db->Query("SELECT * FROM app_operator WHERE Level=6 AND UserID='".$id_user."'");
if ($db->Next()) $auser = $db->AllRow();
}
$form = new Form($db);
$form->textbox("ID Pengguna", "Username", $auser['Username'], true, true, "text", "masukan id pengguna");
$form->textbox("Nama Pengguna", "Nama", $auser['Nama'], true, true, "text", "masukan nama pengguna");
$form->textbox("Posisi Pengguna", "Posisi", $auser['Posisi'], true, true, "text", "masukkan posisi pengguna");
$form->password("Password", "Password", "", true, false, "", 50, "biarkan kosong jika tidak ingin mengubah password.");
$form->switch_sq("Status Aktif ?", "Aktif", $auser['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("UserID", $auser['UserID']);
$form->hidden("UserLama", $auser['Username']);
$form->hidden("mode", $mode);
$form->show('
_Username_
_Nama_
_Password_
_Posisi_
_Aktif_
_mode_ _UserID_ _UserLama_ ');
} 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("Username");
$sql->add_param("Nama");
$sql->add_param("Posisi");
$sql->add_param("Aktif");
$sql->add_param("SuperID", user_id());
$sql->add_where("UserID");
if ($mode=="add") {
$sql->add_param("Grup_MenuID", 5);
$sql->add_param("Level", 6);
$sql->add_param("Password", "MD5('".Param::Get("Password")."')", true);
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
// SIMPAN PASSWORD
$pass = Param::Get("Password");
if (($mode == "edit") and ($pass <> "")) {
$db->Query("UPDATE app_operator SET Password=MD5('".$pass."') WHERE UserID='".Param::Get("UserID")."'");
}
$ajson['status'] = true;
} else if ( $data == "dewan" ) {
$auser = array('UserID'=>0,'AK_DPRD'=>"");
$db->Query("SELECT UserID,AK_DPRD FROM app_operator WHERE UserID='".$id_user."' LIMIT 1");
if ($db->Next()) $auser = $db->AllRow();
$adprd = explode(",", $auser['AK_DPRD']);
$hasil = '<div id="tabDPRDList"><table class="table table-striped table-bordered table-hover">';
$hasil .= '<thead><tr role="row"><th>Kode</th><th>Nama Anggota Dewan</th><th width="30">C</th></tr></thead><tbody>';
$db->Query("SELECT * FROM para_dprd WHERE Aktif=1 ORDER BY K_DPRD");
while ($db->Next()) {
$kode = "xDPRD_".$db->Row("DPRDID");
$checked = (in_array($db->Row("DPRDID"), $adprd)) ? "checked" : "";
$hasil .= sprintf('<tr role="row"><td class="center">%s</td><td class="left">%s</td><td class="center" width="30"><input id="%s" type="checkbox" class="text" value="%s" %s/></td></tr>', $db->Row("K_DPRD"), $db->Row("N_DPRD"), $kode, $db->Row("DPRDID"), $checked);
}
$hasil .= '</tbody></table></div>';
$hasil .= '<input type="hidden" id="UserID" value="'. $auser['UserID'] .'" />';
echo $hasil;
} else if ( $data == "save-dewan" ) {
$adprd = array_filter(explode(",", Param::Get("AK_DPRD"))); $ahasil = array(0);
if (count($adprd) > 0) {
$ahasil = implode(",", $adprd);
}
$db->Query("UPDATE app_operator SET AK_DPRD='".$ahasil."',SuperID='".user_id()."' WHERE UserID='".$id_user."'");
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_User"));
$tsql = ($tcari=="") ? "" : " AND CONCAT(Username,Nama) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM app_operator WHERE Level=6".$tsql);
$obj->add_field("UserID", "ID", "hidden");
$obj->add_field("Username", "ID Pengguna");
$obj->add_field("Nama", "Nama Pengguna", "left autowrap");
$obj->add_field("Posisi", "Posisi");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("Username", "A");
$obj->add_row_btn("shield-check", "Dewan", "TFraksiJS.dewan_show", "Level", 6);
$obj->add_row_btn("description", "Ubah", "TFraksiJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TFraksiJS.detail_hapus");
$obj->set_func_navi("TFraksiJS.data_query('detail')");
$obj->set_func_btn("TFraksiJS.detail_tambah", "+ Pengguna");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Pengguna Fraksi</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Fraksi" name="Cari_Fraksi" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+79
View File
@@ -0,0 +1,79 @@
/*******************************************************************
Module : /assets/css/master.css
Desc. : CSS Class for PDF Master
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : October 7th, 2008.
Last Modified : April 30th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
@media print {
}
@page {
margin-top: 1.2cm;
margin-bottom: 1.2cm;
margin-left: 2cm;
margin-right: 2cm;
size: landscape;
}
div.print-body {
/*font-family: 'DejaVu Sans Condensed';*/
font-size: 9pt;
line-height: 1;
width: 100%;
color: #000;
}
div.print-body p { margin: 0; padding: 0; padding-bottom: 10px; }
div.print-body p.judul { text-align: center; font-size: 1.3em; font-weight: bold; }
table.footer {
width: 100%;
font-family: sans-serif;
font-size: 9pt;
color: #333;
border-top: 1px solid #ccc;
}
table.garis {
width: 100%;
border: 1px solid #ccc;
border-spacing: 0;
border-collapse: collapse;
}
table.garis th, table.garis td {
font-size: 9pt;
text-align: left;
border: 1px solid #ccc;
padding: 2mm;
}
table.garis th {
font-size: 10pt;
text-align: center;
font-weight: bold;
background-color: #ddd;
white-space: nowrap;
}
table.garis td { padding-top: 1.2mm; padding-bottom: 1.2mm; vertical-align: top; }
table td.l { text-align: left; }
table td.c { text-align: center; }
table td.r { text-align: right; }
table td.b { font-weight: bold; }
table td.i { font-style: italic; }
table td.small { font-size: .65em; }
table td.bi { font-weight: bold; font-style: italic; background-color: #F0F0F0; }
table tr.misi td { background-color: #A7DA4E; text-transform: uppercase; }
table tr.opd td { background-color: #666BE2; text-transform: uppercase; color: #FFF; }
table tr.prog td { background-color: #37AF43; text-transform: uppercase; }
table tr.keg td { background-color: #EFD24C; text-transform: uppercase; }
table tr.sub td { background-color: #F8B4FE; text-transform: uppercase; }
table tr.keg td.pad { padding-left: 20px; }
table tr.sub td.pad { padding-left: 40px; }
table tr td.pad { padding-left: 0; }
+51
View File
@@ -0,0 +1,51 @@
/*******************************************************************
Module : /assets/css/styles.css
Desc. : CSS Custom
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 20th, 2007.
Last Modified : May 31st, 2018.
(c) 2009 - 2018, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
:root {
--bs-body-font-size: .95rem;
--bs-body-line-height: 1.2;
}
div.note-editor.card {
margin-bottom: 0 !important;
border: unset !important;
}
button.btn-ganti {
box-shadow: none !important;
padding-top: 0;
padding-bottom: 0;
width: 9.5em;
}
button.btn-ganti span {
position: relative;
left: -12px;
display: inline-block;
padding: 3px 8px;
background: rgba(0,0,0,0.15);
}
table>tbody tr.rp1 td:not(:last-child) { background-color:#0033ff; }
table>tbody tr.rp2 td:not(:last-child) { background-color:#0066ff; }
table>tbody tr.rp3 td:not(:last-child) { background-color:#0099ff; }
table>tbody tr.rp4 td:not(:last-child) { background-color:#00ccff; }
table>tbody tr.rp5 td:not(:last-child) { background-color:#00ffff; }
table button.plus-circle { background-color: var(--success); }
table button.minus-circle { background-color: var(--danger); }
table button.reload { background-color: var(--secondary); }
table a.plus-circle i { color: var(--success); }
table a.minus-circle i { color: var(--danger); }
table a.reload i { color: var(--secondary); }
div.sim-code {
overflow-wrap: break-word;
}
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

+32
View File
@@ -0,0 +1,32 @@
/*******************************************************************
Module : /assets/locale/fonia.id.js
Desc. : JS - Fonia Module Locale
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 28th, 2013.
Last Modofied : November 22nd, 2019
(c) 2013 - 2019, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
if (typeof FoniaJS !== "undefined") {
FoniaJS.locale('id', {
Fonia: {
sess_expire: 'Session Anda telah berakhir, silakan login kembali!',
page404: 'Halaman aplikasi belum tersedia!',
input_passwd: 'Silakan masukkan Password!',
input_userid: 'Silakan masukkan User ID!',
auth_super: 'Persetujuan Supervisor',
auth_user: 'Validasi Operator',
auth_wait_msg: 'Menunggu disetujui oleh<br>Supervisor Anda...',
cancel: 'Batal',
auth_fail: 'Proses gagal!<br>Menunggu terlalu lama ...',
auth_success: 'Proses disetujui!',
but_add: 'Tambah',
but_edit: 'Ubah'
}
});
}
+85
View File
@@ -0,0 +1,85 @@
/*******************************************************************
Module : /assets/locale/moment.id.js
Desc. : JS - Moment Locale
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 28th, 2013.
Last Modofied : November 22nd, 2019
(c) 2013 - 2019, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
if (typeof moment !== "undefined") {
moment.locale('id', {
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
longDateFormat : {
LT : 'HH.mm',
LTS : 'HH.mm.ss',
L : 'DD-MM-YYYY',
LL : 'D MMMM YYYY',
LLL : 'D MMMM YYYY [pukul] HH.mm',
LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
},
meridiemParse: /pagi|siang|sore|malam/,
meridiemHour : function (hour, meridiem) {
if (hour === 12) {
hour = 0;
}
if (meridiem === 'pagi') {
return hour;
} else if (meridiem === 'siang') {
return hour >= 11 ? hour : hour + 12;
} else if (meridiem === 'sore' || meridiem === 'malam') {
return hour + 12;
}
},
meridiem : function (hours, minutes, isLower) {
if (hours < 11) {
return 'pagi';
} else if (hours < 15) {
return 'siang';
} else if (hours < 19) {
return 'sore';
} else {
return 'malam';
}
},
calendar : {
sameDay : '[Hari ini pukul] LT',
nextDay : '[Besok pukul] LT',
nextWeek : 'dddd [pukul] LT',
lastDay : '[Kemarin pukul] LT',
lastWeek : 'dddd [lalu pukul] LT',
sameElse : 'L'
},
relativeTime : {
future : 'dalam %s',
past : '%s yang lalu',
s : 'beberapa detik',
ss : '%d detik',
m : 'semenit',
mm : '%d menit',
h : 'sejam',
hh : '%d jam',
d : 'sehari',
dd : '%d hari',
M : 'sebulan',
MM : '%d bulan',
y : 'setahun',
yy : '%d tahun'
},
week : {
dow : 1, // Monday is the first day of the week.
doy : 7 // The week that contains Jan 7th is the first week of the year.
}
});
moment.locale('id');
}
+53
View File
@@ -0,0 +1,53 @@
<!------------------------------------------------------------------
Module : /assets/templates/404.php
Desc. : HTML5 Page - Halaman Template Error 404
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 17th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
------------------------------------------------------------------->
<!DOCTYPE html>
<html lang="en">
<head>
<title>[_APP_NAME_VER_] - Error 404</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
<meta name="author" content="Siau Pheng &lt;siaupheng[at]3fonia.com&gt;"/>
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
</head>
<body class="min-vh-100 d-flex flex-row align-items-center">
<div class="container">
<div class="row justify-content-center">
<div class="col-xl-4 col-md-8">
<div class="card-group">
<div class="card">
<div class="card-body">
<div class="mb-2">
<img class="mx-auto d-block" src="[_WEB_PATH_]assets/images/logo300.png" title="[_REG_NAME_UP_]">
<div class="text-center pt-2 pb-2"><span class="reg_app1">[_APP_NAME_]</span><br><span class="reg_app2">Ver. [_APP_VER_]</span></div>
</div>
<div class="mb-2 mx-auto d-block text-center">
<div class="fs-4 text-danger">4.0.4</div>
<div class="fs-5 text-info">Modul atau bagian aplikasi yang diakses tidak ditemukan !</div>
</div>
<div class="text-center pt-2 pb-2 d-none" id="divLoginMsg">&nbsp;</div>
<div class="pt-4">
<div class="text-center">&reg; [_CREATOR_YEAR_]. [_REG_NAME_]</div>
<div class="text-center">All Rights Reserved.</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
+106
View File
@@ -0,0 +1,106 @@
<!------------------------------------------------------------------
Module : /assets/templates/index.php
Desc. : HTML Page - Halaman Template / Themes
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : October 10th, 2008.
Last Modified : January 15th, 2024.
(c) 2008 - 2024, 3FONIA Software; WWW.3FONIA.COM.
------------------------------------------------------------------->
<!DOCTYPE html>
<html lang="en">
<head>
<title>[_APP_NAME_VER_]</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
<meta name="author" content="Siau Pheng &lt;siaupheng[at]3fonia.com&gt;"/>
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
</head>
<body>
<div class="modal fade" id="sidebarMain" tabindex="-1" aria-labelledby="" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<img src="[_WEB_PATH_]assets/images/logo-apps.png" title="[_APP_NAME_]">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"><i class="fs-1 bi-x-lg"></i></button>
</div>
<div class="modal-body">
<nav class="sidebar card py-2 mb-4"><ul class="nav flex-column">[_NAVI_SIDEBAR_]</ul></nav>
</div>
</div>
</div>
</div>
<div class="wrapper d-flex flex-column min-vh-100">
<header class="fixed-top navbar-custom">
<nav class="navbar navbar-expand-lg">
<div class="container-fluid">
<div class="navbar-toggler btn p-0 d-lg-none"><a href="#" data-bs-toggle="modal" data-bs-target="#sidebarMain"><i class="icon-md icon-3xl bi-list"></i></a></div>
<div class="collapse navbar-collapse">
<ul class="navbar-nav navbar-nav-scroll me-auto">[_NAVI_HEADER_]</ul>
</div>
<ul class="nav flex-nowrap align-items-center ms-sm-3 list-unstyled">
<li class="nav-item d-md-none d-lg-block d-flex align-items-center" id="liPeriode">&nbsp;</li>
<li class="nav-item mx-2 dropdown">
<a class="nav-link" data-bs-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fs-4 bi-bell"></i><span class="position-absolute translate-middle badge rounded-pill bg-danger" id="DDNotifCount">0</span></a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-lg pt-0" id="DDNotif">
<div class="dropdown-header bg-light"><strong>Anda belum punya pesan</strong></div>
</div>
</li>
<li class="nav-item ms-2 dropdown">
<a class="nav-link btn p-0" id="profileDD" role="button" data-bs-auto-close="outside" data-bs-display="static" data-bs-toggle="dropdown" aria-expanded="false"><span class="badge-profile"></span><img class="icon-md rounded-5" src="[_WEB_PATH_]assets/images/[_USER_IMG_]" title="[_USER_NAME_]"></a>
<ul class="dropdown-menu dropdown-menu-end dropdown-profile pt-3 small me-md-n3" aria-labelledby="profileDD">
<li class="dropdown-item-text">
<div class="d-flex text-black">
<div class="flex-shrink-0"><img src="[_WEB_PATH_]assets/images/[_USER_IMG_]" class="icon-lg"></div>
<div class="flex-grow-1 ms-3">
<div>[_USER_USER_]</div>
<div class="fs-6">[_USER_NAME_]</div>
<div class="small">[_USER_POSISI_]</div>
</div>
</div>
</li>
[_MENU_MODUL_]
<li class="dropdown-divider"></li>
<li><a class="dropdown-item slink" id="HomeLink"><i class="me-2 bi-house"></i>Beranda</a></li>
<li><a class="dropdown-item"><i class="me-2 bi-person-circle"></i>Profil</a></li>
<!--<li><a class="dropdown-item"><i class="me-2 bi-gear"></i>Settings</a></li>-->
<li><a class="dropdown-item mlink" id="SYSCLink"><i class="me-2 bi-unlock2"></i>Ubah Password</a></li>
<li class="dropdown-divider"></li>
<li><a class="dropdown-item text-danger slink" id="ExitLink"><i class="me-2 bi-arrow-right"></i>Keluar</a></li>
</ul>
</li>
</ul>
</div>
</nav>
</header>
<div class="body flex-grow-1">
<div class="container-fluid mt-2 px-0 py-2">
<div aria-live="polite" aria-atomic="true" class="position-relative">
<div class="toast-container position-absolute top-0 end-0 p-3" id="div-toast">&nbsp;</div>
</div>
<div id="pageToolbarTop" class="container-fluid">&nbsp;</div>
<div id="pageContent" class="container-fluid">&nbsp;</div>
<div id="pageToolbarBot" class="container-fluid">&nbsp;</div>
</div>
</div>
<footer class="footer">
<div><a href="[_REG_WEBSITE_]">&reg; [_REG_YEAR_]; [_REG_NAME_]</a></div>
<div class="ms-auto d-none d-md-block">Informasi : XXXX XXXX XXXX (Admin)</div>
</footer>
</div>
<div id="dataPrint" class="d-none d-print-block">&nbsp;</div>
<div id="preloader"><div id="loader"></div></div>
</body>
</html>
+67
View File
@@ -0,0 +1,67 @@
<!------------------------------------------------------------------
Module : /assets/templates/login.php
Desc. : HTML5 Page - Halaman Template Login
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 21th, 2009.
Last Modified : January 15th, 2024.
(c) 2009 - 2024, 3FONIA Software; WWW.3FONIA.COM.
------------------------------------------------------------------->
<!DOCTYPE html>
<html lang="en">
<head>
<title>[_APP_NAME_VER_]</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
<meta name="author" content="Siau Pheng &lt;siaupheng[at]3fonia.com&gt;"/>
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
</head>
<body class="min-vh-100 d-flex flex-row align-items-center dark:bg-transparent">
<div class="container">
<div aria-live="polite" aria-atomic="true" class="position-relative">
<div class="toast-container position-absolute top-0 start-50 translate-middle-x" id="div-toast">&nbsp;</div>
</div>
<div class="row justify-content-center">
<div class="col-xl-4 col-lg-5 col-md-6 col-10">
<div class="card-group d-block d-md-flex row">
<div class="card col-md-6 p-3 mb-0">
<div class="card-body">
<div class="mb-2">
<img class="mx-auto d-block" src="[_WEB_PATH_]assets/images/logo150.png" title="[_REG_NAME_UP_]">
<div class="text-center pt-2 pb-2">[_APP_NAME_] Ver. [_APP_VER_]<br>Register ID : [_REG_ID_]</div>
</div>
<div class="input-group mb-2">
<span class="input-group-text">
<i class="bi-person-circle"></i>
</span>
<input class="form-control" id="Username" type="text" placeholder="ID Pengguna">
</div>
<div class="input-group mb-3">
<span class="input-group-text">
<i class="bi-unlock2"></i>
</span>
<input class="form-control" id="Password" type="password" placeholder="Kata Sandi">
</div>
<div class="input-group d-grid gap-2">
<button id="butLogin" class="btn btn-primary" type="button">Login</button>
</div>
<div class="text-center d-none" id="divLoginMsg">&nbsp;</div>
<div class="pt-4">
<div class="text-center">&reg; [_REG_YEAR_]; [_REG_NAME_]</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
+80
View File
@@ -0,0 +1,80 @@
<?php
/*******************************************************************
Module : /auth.php
Desc. : PHP Page - Halaman Identifikasi Akses
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : November 20th, 2016.
Last Modified : March 26th, 2023.
(c) 2016 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../vendor/autoload.php");
if (!isset($_SESSION['__WEB_APP'])) {
require_once(__DIR__."/apps/cfg/app.php");
}
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Auth;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Menu;
$db = $db ?? new MySQL();
$auth = new Auth($db);
$ajson = [];
$mode = Param::Get("mode", "");
if ($mode == "auth") {
$data = Param::Get("data", "");
$ajson = ['status' => 0, 'pesan' => ""];
if ($data == "super-check") {
$bsuper = (Param::Get("SUPER","true") == "true") ? true : false;
$buover = (Param::Get("UOVER","false") == "true") ? true : false;
if (!$auth->user_check_level(Param::Get("UID"), $_SESSION['__WEB_APP']['AUTH_LEVEL']) && $bsuper == true) {
$ajson['status'] = 0;
$ajson['pesan'] = "Silakan hubungi Supervisor / Administrator Anda!";
} else {
if (!$auth->user_check(Param::Get("UID"), Param::Get("PWD"))) {
$ajson['status'] = 0;
$ajson['pesan'] = "User ID atau Password Anda Salah!<br>Anda tidak diijinkan melanjutkan proses!";
} else {
$ajson['status'] = 1;
if ($buover == true && $bsuper == false && Param::Get("UID") <> $_SESSION['__WEB_USER']['Username']) {
$new_sess = $auth->user_data(Param::Get("UID"));
foreach ($new_sess as $_key => $_val) {
if ($_SESSION['__WEB_USER'][$_key]) $_SESSION['__WEB_USER'][$_key] = $_val;
}
}
}
}
} elseif ($data == "super-request") {
$db->Query("DELETE FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."' AND Auth=0");
$db->Query("INSERT INTO app_auth SET UserID='".user_id()."',Kode='".Param::Get("KODE")."',SID='".Param::Get("REQ_SID")."',REQ='".Param::Get("REQ")."',Catatan='".Param::Get("MSG")."',Tanggal=NOW()");
} elseif ($data == "super-cancel") {
$db->Query("DELETE FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."'");
} elseif ($data == "request-check") {
$db->Query("SELECT Auth FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."'");
if ($db->Next() && $db->Row("Auth",0) == 1) $ajson['status'] = 1;
}
} else {
$page = Param::Get("p", "");
$query = Param::Get("q", "");
$ajson['login'] = false;
if (user_logged() && $page<>"") {
$ajson = Menu::MenuJSON($db, $page, $query);
}
$auth->token_update();
}
send_json($ajson);
?>
Vendored
View File
+95
View File
@@ -0,0 +1,95 @@
<?php
/*******************************************************************
Module : /index.php
Desc. : PHP Page - Halaman Utama Aplikasi Web
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 28th, 2011.
Last Modified : January 21st, 2024.
(c) 2011 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../vendor/autoload.php");
require_once(__DIR__."/apps/cfg/app.php");
use siaupheng\fonia3\App;
use siaupheng\fonia3\Web\Auth;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\DB\MySQL;
/*function requestData($url, $postdata = null){
$ch = curl_init($url);
$headers = array( 'Accept: application/json' );
curl_setopt_array($ch, array(
CURLOPT_POST => 1,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $postdata,
CURLOPT_RETURNTRANSFER =>true,
CURLOPT_VERBOSE => 1
));
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
$token = $_GET['token'];
if (!empty($token) && !$_SESSION['token']) $_SESSION['token'] = $token;
$user = "";
if ($_SESSION['token']) {
$url = "http://127.0.0.1/TEST/sso/provider/cek_token.php?token=".$_SESSION['token'];
$respon = json_decode(requestData($url));
$user = $respon->data;
if ($respon->code != 200) {
unset($_SESSION['token']);
}
}*/
$db = $db ?? new MySQL();
$auth = new Auth($db);
$auth->set_id_reg($_SESSION['__WEB_APP']['PARENT_CODE']);
$token = Param::Get("auth", "");
if (!empty($token) && !$_SESSION['APP_TOKEN']) $_SESSION['APP_TOKEN'] = $token;
if ($_SESSION['APP_TOKEN']) {
if ($auth->token_check()) {
if (!isset($_SESSION['__WEB_USER'])) {
$auser = $auth->user_data($auth->getUserByToken($_SESSION['APP_TOKEN']));
$nlevel = intval($auser['Level']);
if ($nlevel == 2 || $nlevel == 7) { // KECAMATAN
$auser['Grup_MenuID'] = 6;
//UPDATE KEC + KEL ARRAY DATA
$auser['A_KEC'] = explode(",", $auser['AK_KEC']);
$auser['A_KEL'] = explode(",", $auser['AK_KEL']);
} else if ($nlevel == 3) { // OPD
$auser['Grup_MenuID'] = 4;
$db->Query("SELECT IK FROM para90_opd WHERE OPDID IN (".$auser['AK_OPD'].")");
if ($db->Next()) { if ($db->Row("IK",0)==1) $auser['Grup_MenuID'] = 3; }
//UPDATE OPD ARRAY DATA
$auser['A_OPD'] = explode(",", $auser['AK_OPD']);
} else if ($nlevel == 5) {// DPRD
$auser['Grup_MenuID'] = 5;
//UPDATE DPRD ARRAY DATA
$auser['A_DPRD'] = explode(",", $auser['AK_DPRD']);
} else if ($nlevel == 9) {// VIEWER
$auser['Grup_MenuID'] = 9;
}
if (intval($auser['Grup_MenuID']) > 0) $auser['Menu_Grup'] = $auth->user_allmenu($auser['Grup_MenuID']);
$_SESSION['__WEB_USER'] = $auser;
}
$auth->gen_module_menu();
$auth->user_log();
} else {
unset($_SESSION['APP_TOKEN']);
unset($_SESSION['__WEB_USER']);
}
}
require_once(__DIR__."/apps/cfg/assets.php");
$html = new App();
$html->TampilApp();
?>