first commit

This commit is contained in:
2026-01-22 15:30:17 +07:00
commit a971b97d88
181 changed files with 22279 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
/*******************************************************************
Module : /assets/css/pdf/fp.css
Desc. : CSS Class for PDF Faktur Pajak
Created By : Siau Pheng ([email protected]).
Created Date : October 7th, 2008.
Last Modified : May 16th, 2023.
(c) 2008 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
body {
/*font-family: 'DejaVu Sans Condensed';*/
font-size: 10pt;
width: 100%;
color: #000;
}
table {
border-spacing: 0;
border-collapse: collapse;
}
table td {
padding: 1mm 2mm;
}
#pdf_area {
width: 100%;
color: #000;
}
#pdf_cont table {
width: 100%;
border: 1px solid #ccc;
}
#pdf_cont table th, #pdf_cont table td {
font-size: 10pt;
text-align: left;
border: 1px solid #ccc;
}
#pdf_cont table th {
font-weight: normal;
text-align: center;
padding: 2mm;
}
table.judul td.line { border: 1px solid #ccc; }
table td.noline { border: 0 !important; }
table td.left { text-align: left; }
table td.center { text-align: center; }
table td.right { text-align: right; }
table td.bold { font-weight: bold; }
table td.italic { font-style: italic; }
+18
View File
@@ -0,0 +1,18 @@
/*******************************************************************
Module : /assets/css/print.css
Desc. : CSS Custom Styles for Printing
Created By : Siau Pheng ([email protected]).
Created Date : December 20th, 2007.
Last Modified : October 15th, 2023.
(c) 2007 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
@media print {
#linebreak { display: none; }
#autopage { display: none; page-break-after: auto; }
#pagebreak { page-break-after: always; }
table.notaTable td { white-space: unset !important; }
}
+135
View File
@@ -0,0 +1,135 @@
/*******************************************************************
Module : /assets/css/styles.css
Desc. : CSS Custom Styles
Created By : Siau Pheng ([email protected]).
Created Date : December 20th, 2007.
Last Modified : January 6th, 2025.
(c) 2009 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
:root {
--bs-body-font-size: 1rem;
--bs-body-line-height: 1.2;
}
.form-control {
font-size: unset;
}
table.garis {
width: 100%;
border: 1px solid #000;
border-spacing: 0;
border-collapse: collapse;
}
table.garis th, table.garis td {
font-size: .9rem;
text-align: left;
border: 1px solid #000;
padding: 2mm;
}
table.garis th {
font-size: 1rem;
text-align: center;
vertical-align: middle;
background-color: #ddd;
white-space: nowrap;
}
table.garis td { padding-top: 1.2mm; padding-bottom: 1.2mm; vertical-align: top; }
/* ----------------- NOTA ----------------- */
@media print {
div.printNota {
height: unset;
}
}
div.printNota {
color: #000;
font-size: 11pt;
height: 139mm;
width: 215mm;
page-break-after: avoid;
page-break-inside: avoid;
}
div.notaTitle {
font-size: 13pt;
text-align: center;
}
table.notaAddress {
width: 100%;
margin: 2px 0;
}
table.notaAddress td {
width: 33%;
vertical-align: top;
}
table.notaAddress td:nth-last-child(1 of :not(.w50)) {
width: 34%;
}
table.notaAddress td.w50 {
width: 50%;
}
table.notaDesc {
width: 100%;
margin: 2px 0;
}
table.notaTable {
width: 100%;
border: 1px solid #000;
table-layout: fixed;
border-spacing: 0;
border-collapse: collapse;
}
table.notaTable th, table.notaTable td {
text-align: left;
border: 1px solid #000;
padding: 3px;
}
table.notaTable th {
text-align: center;
vertical-align: middle;
white-space: nowrap;
}
table.notaTable td { padding-top: 2px; padding-bottom: 2px; vertical-align: top; overflow: hidden; white-space: nowrap; }
table.notaHeader {
width: 100%;
margin-top: 5px;
}
table.notaHeader td {
vertical-align: middle;
padding: 1mm;
}
table.notaFooter {
width: 100%;
border: 1px solid #000;
border-top: none;
border-collapse: collapse;
}
table.notaFooter td {
vertical-align: top;
padding: 1mm;
width: 50%;
}
table.notaFooter td.stamp {
font-size: 8pt;
}
table.nostyle td {
width: unset;
}
table td.ttkdua:before {
content: ': ';
}
table>tbody tr.rgg td:not(:last-child) { background-color: #B8F1A8; }
@media screen, projection {
#linebreak { color: #FF0000; text-align: center; font-size: 10pt; }
#autopage, #pagebreak { display: none; }
}
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

+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');
}
+25
View File
@@ -0,0 +1,25 @@
-----BEGIN CERTIFICATE-----
MIIEQTCCAymgAwIBAgIURsO6MescVe8spD7xpJWisWkfaDcwDQYJKoZIhvcNAQEL
BQAwga4xCzAJBgNVBAYTAklEMRkwFwYDVQQIDBBLYWxpbWFudGFuIEJhcmF0MREw
DwYDVQQHDAhNZW1wYXdhaDEYMBYGA1UECgwPM0ZPTklBIFNvZnR3YXJlMRgwFgYD
VQQLDA9EaXZpc2kgV2ViIEFwcHMxGDAWBgNVBAMMDzNGT05JQSBTb2Z0d2FyZTEj
MCEGCSqGSIb3DQEJARYUc2lhdXBoZW5nQDNmb25pYS5jb20wIBcNMTkwMTA5MDQw
MjAwWhgPMjA1MDA3MDQwNDAyMDBaMIGuMQswCQYDVQQGEwJJRDEZMBcGA1UECAwQ
S2FsaW1hbnRhbiBCYXJhdDERMA8GA1UEBwwITWVtcGF3YWgxGDAWBgNVBAoMDzNG
T05JQSBTb2Z0d2FyZTEYMBYGA1UECwwPRGl2aXNpIFdlYiBBcHBzMRgwFgYDVQQD
DA8zRk9OSUEgU29mdHdhcmUxIzAhBgkqhkiG9w0BCQEWFHNpYXVwaGVuZ0AzZm9u
aWEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnFAwxFRRM1u0
Ke7pSlSLiHJsqku7Nwyg5mJ6BF8KnjAvYR/avTDynKe+S0gWZmG8HwMHGtxnesS9
Rys7GYD3gQ3BnTfLjt5LKaUbrOKsG9zYS/HY2ruHe6/tLAU05Ud+a0T3ux/6GFRf
SRbaDYjO66nLHNzKWDQRhKTplGMljiZARrLOedQ01Gf7i751l7kI9sF2/8jOPRzB
9kNNzoh2rhcP3DYfjsdsWuOXX8zButggpqQHHCazyndGnG9Ci+9kU3/1C6lrW0A2
ym0aX1dlwx9wdH0DYjGtpPK4LhusU/fiVnHaXbm/yVgYa3b1RpKk7B88U+bbLWBE
uKrC4Nv4DQIDAQABo1MwUTAdBgNVHQ4EFgQUY+OVghhhK4z+Z90a72pO6ILXkxYw
HwYDVR0jBBgwFoAUY+OVghhhK4z+Z90a72pO6ILXkxYwDwYDVR0TAQH/BAUwAwEB
/zANBgkqhkiG9w0BAQsFAAOCAQEADgYf59EjwJwAq87KR3a/H81gK17fY9ABYDJb
vm3oB1XV5/S9rvj6WiXdyOF5BPyPfmQQQDh1QJ+1gUC52IxffwNIpwcbVUZFwNCU
75RqcSnOszDH1gmIehoDeku6iY343HfT8uH76n4xsBP2kYpoyaTVOignlnAO8rME
lI1LAAsgG/HY2m3GLTso2KeLP9p5ePXV/5sbuTfB7GIOmQDmtLT1A6BpAFQBJuDV
s52PIgdWMRt2qGl8tj1TLgirnRaIHNEzhxh0ZtfZ9Yn3FD4lt9PgsR4STqP5FmnR
1ubs+XQhv/mCINj3Pb0RTS7dF4EAUmsFA/ofemEWQXFo8Q8x5A==
-----END CERTIFICATE-----
View File
+28
View File
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCcUDDEVFEzW7Qp
7ulKVIuIcmyqS7s3DKDmYnoEXwqeMC9hH9q9MPKcp75LSBZmYbwfAwca3Gd6xL1H
KzsZgPeBDcGdN8uO3ksppRus4qwb3NhL8djau4d7r+0sBTTlR35rRPe7H/oYVF9J
FtoNiM7rqcsc3MpYNBGEpOmUYyWOJkBGss551DTUZ/uLvnWXuQj2wXb/yM49HMH2
Q03OiHauFw/cNh+Ox2xa45dfzMG62CCmpAccJrPKd0acb0KL72RTf/ULqWtbQDbK
bRpfV2XDH3B0fQNiMa2k8rguG6xT9+JWcdpdub/JWBhrdvVGkqTsHzxT5tstYES4
qsLg2/gNAgMBAAECggEANzXrw6y0cZt2a0lDhUmPb0ZbM1tEaRFA05780gZvzaff
VELYE/Lx/nsRL63qm4bx11JOdCJdOnO7FyQh38Q5p4+gT1Ohxnilu7PhrpLxj3XV
wB1QJxINrJZbAy1jnYg/EsxtY97Li0Rh04MKybUEwSBb6Xnizny1o1BMYGkUnrw+
rfDAGFmmPkWW9EsxRZxD+wXer3I8q2Z2La2aNopQMWg5JGV0J8DgTr782GpT/qSX
jr7JN+b/9mUBlwRerSnldZSYDjp8JoySPybvrys5zN5z1Rhg/cYY+Mtbxlzq+HAU
RnVOKRi13bjG4le1XGMDt4l5uGsa8dfg7ySHoN0X0QKBgQDJ/72KWRKcEW25IGOX
PkpIWUf4dq7NzMsysNj+CfWM/OcIVrPZohS2WMeUTl5PARI6Va5k3IRD+0RVL/1H
aFE3Pq6UhvtQMmvrIEU9H0lIUEtxi1niHzlagp56dTxXHOzMXKThfrLFPH+0Sbqb
x60snZM2cNL4gNe+ykmGx0DRswKBgQDGGdexeEg5yRWKSKY7MbDTM9w2aiAa6yyx
VQiMgPlKnmHbO7yo9UTH+QEez7RLQWW/hxRsVowCkpVe6P7E1+Ct/nSYAS3syZ+D
DXRzlrpGaTnSXnOeS8iEsR9qbUN4i6KXCBJfkCo/RIhcC89JTcn/YO+4L43xTlJB
/mv0J7WvPwKBgEN5BFPpCtlMzQzQb9O+P8vI3sx0wFEH/jvRbLn2k6njdDyJ0Yt5
o1eBcjDsuH3FStRneFhCfH/Et3+JBx5KDw7YBjKgn+Oa5AdnARm4kJ7yCzFDLePl
MCA2jz8yV9R1WfetXnnf+1D8s1+CXS3Z1dOYUusVZrMRPn+BTGwTtGgXAoGAbSj2
WxutqPHuRanst7eU+XydPvrRwCORGBKESHAVbpHB2H2dYvjsMsk6XdEUR1e9CoIT
tfMm6Y/+cTMwmCVg8F/DvbMArHcZx6xVXBBVitEXBJ35VePqlXvIlOuqfzVqnZDc
Fv6o2P4Zqab0TS9pPKkcz0CdFbgTybu5nut2yR8CgYEAm8zi9zzISz4lHUE6hbq+
VQNpENiZdcCy6AAt2pkSKELNIXz4Qtu4ntvBCjnWf5pYSN2NO2027G2RG3ViBPjB
lfiyDswCefMzBATDkqGztBmyv6hHDgwWyjm2xKPlkhwUFpKg2Vd3f5Z9sNKlppN3
x74KMqdBQGSiq9X8F74uGzA=
-----END PRIVATE KEY-----
+25
View File
@@ -0,0 +1,25 @@
<?php
// #########################################################
// # PHP Signing #
// #########################################################
// Sample key. Replace with one used for CSR generation
$KEY = 'key.pem';
$req = $_REQUEST['req'];
$privateKey = openssl_get_privatekey(file_get_contents($KEY));
$signature = null;
openssl_sign($req, $signature, $privateKey);
if ($signature) {
header("Content-type: text/plain");
echo base64_encode($signature);
exit(0);
}
echo '<h1>Error signing message</h1>';
exit(1);
?>
+54
View File
@@ -0,0 +1,54 @@
<!------------------------------------------------------------------
Module : /assets/templates/404.php
Desc. : HTML5 Page - Halaman Template Error 404
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 17th, 2020.
Last Modified : January 11th, 2023.
(c) 2020 - 2023, 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/logo200.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo200.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>
+98
View File
@@ -0,0 +1,98 @@
<!------------------------------------------------------------------
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 : April 29th, 2022.
(c) 2008 - 2022, 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/logo200.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo200.png" type="image/png" />
</head>
<body>
<div class="modal fade" id="sidebarMain" tabindex="-1" aria-labelledby="exampleModalLabel" 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 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>
<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-lock"></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"><a href="[_CREATOR_WEBSITE_]">&copy; [_CREATOR_YEAR_]; [_CREATOR_NAME_]</a></div>
</footer>
</div>
<div id="dataPrint" class="d-none d-print-block">&nbsp;</div>
<div id="preloader"><div id="loader"></div></div>
</body>
</html>
+68
View File
@@ -0,0 +1,68 @@
<!------------------------------------------------------------------
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 11th, 2023.
(c) 2009 - 2023, 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/logo200.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo200.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/logo300.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 class="text-center">&copy; [_CREATOR_YEAR_]; [_CREATOR_NAME_]</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>