commit pertama

This commit is contained in:
2026-01-30 13:07:53 +07:00
commit 48199537d4
303 changed files with 136097 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
/*******************************************************************
Module : /assets/css/fonts.css
Desc. : CSS Fonts
Created By : Siau Pheng ([email protected]).
Created Date : December 20th, 2007.
Last Modified : November 22nd, 2020.
(c) 2009 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
@font-face {
font-family: coreui-icons-linear;
src: url(../assets/fonts/coreui/CoreUI-Icons-Linear.eot?64h6xh);
src: url(../assets/fonts/coreui/CoreUI-Icons-Linear.eot?64h6xh#iefix) format("embedded-opentype"), url(../assets/fonts/coreui/CoreUI-Icons-Linear.ttf?64h6xh) format("truetype"), url(../assets/fonts/coreui/CoreUI-Icons-Linear.woff?64h6xh) format("woff"),
url(../assets/fonts/coreui/CoreUI-Icons-Linear.svg?64h6xh#CoreUI-Icons-Linear) format("svg");
font-weight: 400;
font-style: normal;
}
+54
View File
@@ -0,0 +1,54 @@
/*******************************************************************
Module : /assets/css/styles.css
Desc. : CSS Custom
Created By : Siau Pheng ([email protected]).
Created Date : December 20th, 2007.
Last Modified : January 21st, 2024.
(c) 2009 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
:root {
--bs-body-font-size: 1rem;
--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.8em;
text-align: left;
}
button.btn-ganti span {
position: relative;
left: -12px;
display: inline-block;
padding: 3px 8px;
background: rgba(0,0,0,0.15);
height: 100%;
vertical-align: middle;
}
table>tbody tr.rp1 td:not(:last-child) { background-color:#0033ff; color: white; }
table>tbody tr.rp2 td:not(:last-child) { background-color:#0066ff; color: white; }
table>tbody tr.rp3 td:not(:last-child) { background-color:#0099ff; color: white; }
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); }
/*.navbar-nav .dropdown-menu {
width: 280px !important;
}*/
Binary file not shown.
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

+18
View File
@@ -0,0 +1,18 @@
{
"sEmptyTable": "Tidak ada data yang tersedia pada tabel ini",
"sProcessing": "Sedang memproses...",
"sLengthMenu": "Tampilkan _MENU_ entri",
"sZeroRecords": "Tidak ditemukan data yang sesuai",
"sInfo": "Menampilkan _START_ sampai _END_ dari _TOTAL_ entri",
"sInfoEmpty": "Menampilkan 0 sampai 0 dari 0 entri",
"sInfoFiltered": "(disaring dari _MAX_ entri keseluruhan)",
"sInfoPostFix": "",
"sSearch": "Cari:",
"sUrl": "",
"oPaginate": {
"sFirst": "<i class=\"cui-media-step-backward\"></i>",
"sPrevious": "<i class=\"cui-media-skip-backward\"></i>",
"sNext": "<i class=\"cui-media-skip-forward\"></i>",
"sLast": "<i class=\"cui-media-step-forward\"></i>"
}
}
+1
View File
@@ -0,0 +1 @@
!function(a){if(a.fn.datepicker)a.fn.datepicker.dates.id={days:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],daysShort:["Mgu","Sen","Sel","Rab","Kam","Jum","Sab"],daysMin:["M","S","S","R","K","J","S"],months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags","Sep","Okt","Nov","Des"],today:"Hari Ini",clear:"Kosongkan"}}(jQuery);
+32
View File
@@ -0,0 +1,32 @@
/*******************************************************************
Module : /assets/locale/fonia.id.js
Desc. : JS - Fonia Module Locale
Created By : Siau Pheng ([email protected]).
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 ([email protected]).
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>