update 2023-02-13

This commit is contained in:
2023-02-13 16:55:11 +07:00
parent 36a32e0165
commit 7f00f39f1f
34 changed files with 372 additions and 19305 deletions
-2
View File
@@ -10874,5 +10874,3 @@ textarea.form-control-lg {
display: none !important;
}
}
/*# sourceMappingURL=bootstrap.css.map */
File diff suppressed because it is too large Load Diff
+259 -73
View File
@@ -10,33 +10,99 @@
*******************************************************************/
:root {/* ok */
--cui-body-font-size: .95rem;
--cui-card-color: #000;
/*--cui-body-font-weight: 400;
--cui-body-line-height: 1.5;
--cui-body-color: rgba(44, 56, 74, 0.95);
--cui-body-bg: #fff;*/
:root {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #8a93a2;
--bs-gray-dark: #636f83;
--bs-gray-100: #ebedef;
--bs-gray-200: #d8dbe0;
--bs-gray-300: #c4c9d0;
--bs-gray-400: #b1b7c1;
--bs-gray-500: #9da5b1;
--bs-gray-600: #8a93a2;
--bs-gray-700: #768192;
--bs-gray-800: #636f83;
--bs-gray-900: #4f5d73;
--bs-primary: #321fdb;
--bs-secondary: #9da5b1;
--bs-success: #2eb85c;
--bs-info: #39f;
--bs-warning: #f9b115;
--bs-danger: #e55353;
--bs-light: #ebedef;
--bs-dark: #4f5d73;
--bs-primary-rgb: 50, 31, 219;
--bs-secondary-rgb: 157, 165, 177;
--bs-success-rgb: 46, 184, 92;
--bs-info-rgb: 51, 153, 255;
--bs-warning-rgb: 249, 177, 21;
--bs-danger-rgb: 229, 83, 83;
--bs-light-rgb: 235, 237, 239;
--bs-dark-rgb: 79, 93, 115;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 21;
--bs-body-color-rgb: 44, 56, 74;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: .95rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: rgba(44, 56, 74, 0.95);
--bs-body-bg: #fff;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem;
--bs-border-radius-pill: 50rem;
--bs-link-color: #0d6efd;
--bs-link-hover-color: #0a58ca;
--bs-code-color: #d63384;
--bs-highlight-bg: #fff3cd;
--bs-card-color: #000;
}
.toast {/* ok */
width: unset !important;
font-size: .95rem !important;
.dropdown-menu {
-webkit-box-shadow: 0px 20px 30px rgba(83, 88, 93, 0.1), 0px 0px 30px rgba(83, 88, 93, 0.2);
box-shadow: 0px 20px 30px rgba(83, 88, 93, 0.1), 0px 0px 30px rgba(83, 88, 93, 0.2);
}
table.dataTable.table-bordered th, table.dataTable.table-bordered td {/* ok */
.toast {
width: unset !important;
font-size: .95rem !important;
}
table.dataTable.table-bordered th, table.dataTable.table-bordered td {
border-width: 0 1px !important;
}
table.dataTable.table-bordered th {/* ok */
table.dataTable.table-bordered th {
font-size: 105%;
background-color: var(--cui-gray-100, #ACACAC) !important;
background-color: var(--bs-gray-100, #ACACAC) !important;
border-top-width: 1px !important;
border-bottom-width: 1px !important;
}
table.dataTable.table-bordered tr:last-child td {/* ok */
table.dataTable.table-bordered tr:last-child td {
border-bottom-width: 1px !important;
}
table.dataTable a.fon-tabel-dt i {/* ok */
table.dataTable a.fon-tabel-dt i {
padding-top: 2px;
width: 1.5rem !important;
height: 1.5rem !important;
@@ -45,14 +111,14 @@ table.dataTable a.fon-tabel-dt i {/* ok */
box-shadow: 0 0 0.2em #444;
background-color: #31b131;
}
table.dataTable tr.dt-hasChild a.fon-tabel-dt i {/* ok */
table.dataTable tr.dt-hasChild a.fon-tabel-dt i {
background-color: #d33333;
}
table.dataTable a.fon-tabel-dt:hover i, table.dataTable tr.dt-hasChild a.fon-tabel-dt:hover i {/* ok */
table.dataTable a.fon-tabel-dt:hover i, table.dataTable tr.dt-hasChild a.fon-tabel-dt:hover i {
color: unset;
}
.card-header.custom-style {/* ok */
.card-header.custom-style {
padding: .5rem 1.25rem;
background-color: #ced2d8 !important;
text-align: center !important;
@@ -60,69 +126,76 @@ table.dataTable a.fon-tabel-dt:hover i, table.dataTable tr.dt-hasChild a.fon-tab
font-weight: 600;
font-size: 1rem;
}
.table-hover tbody tr:hover, .table-hover tbody tr:active { background-color: var(--cui-yellow, #ff9); }/* ok */
.table-hover tbody tr:hover, .table-hover tbody tr:active { background-color: var(--bs-yellow, #ff9); }
.table-select tbody tr { cursor: pointer }
textarea { overflow-x: hidden }
input[type="checkbox"][readonly] {
pointer-events: none;
}
div.body {/* ok */
div.body {
background-color: #ebedef;
}
a.nav-link, a.slink, a.mlink , a.table-icon{ cursor: pointer; }
a.table-icon {/* ok */
a.nav-link, a.slink, a.mlink, a.table-icon{ cursor: pointer; }
a.table-icon {
text-decoration: none;
padding: 0 6px;
}
a.table-icon:hover i {/* ok */
a.table-icon:hover i {
color: red;
}
button.tbl-rowbtn {/* */
padding: .1rem .5rem;
}
button.tbl-rowbtn:hover {/* ok */
button.tbl-rowbtn:hover {
color: #fff;
background-color: var(--cui-primary, #39f);
background-color: var(--bs-primary, #39f);
}
button.tbl-rowbtn.normal {/* */
background-color: var(--cui-cyan, #93E3FF);
background-color: var(--bs-cyan, #93E3FF);
}
.input-group-text {/* ok */
.input-group-text {
box-shadow: none !important;
padding-top: 0;
padding-bottom: 0;
}
.icon-tooltip { color: var(--warning); }
/* navi menu */
/** navibar menu **/
.header-nav .nav-link {/* ok */
.navbar-custom {
min-height: 4rem;
background: #fff;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1029;
box-shadow: 0 2px 2px 0 rgba(60, 75, 100, .14), 0 3px 1px -2px rgba(60, 75, 100, .12), 0 1px 5px 0 rgba(60, 75, 100, .20);
}
.navbar-nav .nav-link {
padding-left: 1.25rem !important;
}
.header-nav .dropdown-menu.multi-level {/* ok */
margin-top: .15rem !important;
}
.header-nav .dropdown-toggle:after {/* ok */
.navbar-nav .dropdown-toggle:after {
border-width: .4em .4em 0 .4em;
margin-left: .5rem !important;
border-top-color: rgba(44, 56, 74, 0.681);
}
.header-nav .dropdown-submenu {/* ok */
position: relative;
.navbar-nav .dropdown-menu {
width: 250px !important;
}
.header-nav .dropdown-submenu>.dropdown-menu {/* ok */
top: 0;
.navbar-nav .dropdown-submenu>.dropdown-menu {
position: absolute;
top: auto;
left: 100%;
margin-top: -6px;
margin-top: -2.55em;
margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px;
-moz-border-radius: 0 6px 6px;
border-radius: 0 6px 6px 6px;
}
.header-nav .dropdown-submenu:hover>.dropdown-menu {/* ok */
.navbar-nav .dropdown-submenu:hover>.dropdown-menu {
display: block;
}
.header-nav .dropdown-submenu>a:after {/* ok */
.navbar-nav .dropdown-submenu>a:after {
float: right;
border-color: transparent;
border-style: solid;
@@ -130,18 +203,117 @@ button.tbl-rowbtn.normal {/* */
border-left-color: rgba(44, 56, 74, 0.681);
margin-top: 5px;
}
.header-nav .dropdown-submenu:hover {/* ok */
.navbar-nav .dropdown-submenu:hover {
background-color: #ebedef;
}
.header-nav .dropdown-toggle.slink:after {/* ok */
.navbar-nav .dropdown-toggle.slink:after {
margin-left: auto;
}
.header-nav .dropdown-menu {/* ok */
.navbar-nav .dropdown-menu {
max-height: 90vh !important;
/*overflow-y: auto;*/
}
.modal-dialog.modal-fs {/* ok */
/** sidebar **/
#sidebarMain .modal-dialog{
margin: 0;
width: 430px;
}
#sidebarMain .modal-content{
border-radius: 0;
height: 100vh;
overflow-y: scroll;
background-color: #102447;
}
#sidebarMain .modal-header{
display: flex;
justify-content: space-between;
align-items: center;
width: 88%;
margin: 0 auto;
padding-bottom: 10px;
padding-left: 0;
border-bottom: 1px solid #fefefe;
}
#sidebarMain .modal-header img{
height: 60px;
}
#sidebarMain .modal-header .btn-close{
background: transparent;
opacity: 1;
}
#sidebarMain .modal-header i{
color: #fefefe;
font-size: 2em;
}
#sidebarMain .modal-body{
width: 100%;
margin: 0 auto;
flex: unset;
}
.sidebar li .submenu{
list-style: none;
margin: 0;
padding: 0;
padding-left: 1rem;
padding-right: 1rem;
}
.sidebar .nav-link {
font-weight: 500;
color: var(--bs-dark);
}
.sidebar .nav-link:hover {
color: var(--bs-primary);
}
@media(max-width: 450px){
#sidebarMain .modal-dialog{
width: 82%;
}
}
.badge-profile {
width: 8px;
height: 8px;
background: var(--bs-success);
border-radius: 50%;
position: absolute;
top: 0;
right: -3px;
z-index: 1;
}
.icon {
display: inline-block;
color: inherit;
text-align: center;
vertical-align: -0.125rem;
fill: currentColor;
}
.icon-md, .icon-lg {
height: 2.5rem;
width: 2.5rem;
font-size: 0.9em;
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-o-object-fit: cover;
object-fit: cover;
}
.icon-lg {
height: 5rem;
width: 5rem;
font-size: 1.2em;
}
.modal-dialog.modal-fs {
width: 90vw;
max-width: unset;
}
@@ -167,15 +339,15 @@ button.tbl-rowbtn.normal {/* */
.modal-500 { max-width: 500px; }
}
@media (max-width: 991.98px) {/* ok */
.header-nav .dropdown-menu { width: 200px !important; }
@media (max-width: 991.98px) {
.dropdown-menu.dropdown-profile { width: 200px !important; }
button.tbl-rowbtn {
margin-bottom: .25rem;
}
}
@media (min-width: 992px) {/* ok */
.header-nav .dropdown-menu { width: 250px !important; }
@media (min-width: 992px) {
.dropdown-menu.dropdown-profile { width: 250px !important; }
.wrapper {
padding-left: 0 !important;
}
@@ -185,32 +357,22 @@ button.tbl-rowbtn.normal {/* */
}
}
div.dataTables_wrapper div.toolbar {/* ok */
div.dataTables_wrapper div.toolbar {
padding-top: 0 !important;
margin: 2px 0;
}
div.dataTables_length select.form-select {/* ok */
div.dataTables_length select.form-select {
margin: 2px 0;
}
table>tbody tr.rsuccess td:not(:last-child) { background-color: var(--cui-success); }
table>tbody tr.rred td:not(:last-child) { background-color: var(--cui-red); }
table>tbody tr.rgreen td:not(:last-child) { background-color: var(--cui-green); }
table>tbody tr.ryellow td:not(:last-child) { background-color: var(--cui-yellow); }
table>tbody tr.rblue td:not(:last-child) { background-color: var(--cui-blue); }
table>tbody tr.rpurple td:not(:last-child) { background-color: var(--cui-purple); }
table>tbody tr.rsuccess td:not(:last-child) { background-color: var(--bs-success); }
table>tbody tr.rred td:not(:last-child) { background-color: var(--bs-red); }
table>tbody tr.rgreen td:not(:last-child) { background-color: var(--bs-green); }
table>tbody tr.ryellow td:not(:last-child) { background-color: var(--bs-yellow); }
table>tbody tr.rblue td:not(:last-child) { background-color: var(--bs-blue); }
table>tbody tr.rpurple td:not(:last-child) { background-color: var(--bs-purple); }
table>tbody tr.rcoret td:not(:last-child) { background-color:#F9B5B7; text-decoration: line-through; }
/* compatible, delete next !
table * .bold { font-weight: bold !important; }
table * .left { text-align: left !important; }
table * .right { text-align: right !important; }
table * .center { text-align: center !important; }
table * .wrap { white-space: normal !important; }
table * .nowrap { white-space: nowrap !important; }
table * .autowrap { white-space: nowrap !important; max-width: 300px; overflow: hidden; text-overflow: ellipsis; }
table * .hidden { visibility: hidden !important; display: none !important; }*/
table * .b { font-weight: bold !important; }
table * .l { text-align: left !important; }
table * .r { text-align: right !important; }
@@ -233,22 +395,22 @@ ul.dtr-details li.hidden { visibility: hidden !important; display: none !importa
.bs-fonac .dropdown-item {
padding: .5rem .8rem;
font-size: .9rem;
color: var(--cui-dropdown-link-color, #000000);
color: var(--bs-dropdown-link-color, #000000);
}
.bs-fonac .dropdown-item:hover, .bs-fonac .dropdown-item:focus {
color: var(--cui-white, #ffffff);
background-color: var(--cui-blue, #ebedef);
color: var(--bs-white, #ffffff);
background-color: var(--bs-blue, #ebedef);
}
.bs-fonac .dropdown-item.active, .bs-fonac .dropdown-item:active {
color: var(--cui-white, #ffffff);
color: var(--bs-white, #ffffff);
text-decoration: none;
background-color: var(--cui-blue, #321fdb);
background-color: var(--bs-blue, #321fdb);
}
.bs-fonac .dropdown-item.disabled, .bs-fonac .dropdown-item:disabled {
color: var(--cui-dropdown-link-disabled-color, #8a93a2);
color: var(--bs-dropdown-link-disabled-color, #8a93a2);
pointer-events: none;
background-color: transparent;
}
@@ -332,3 +494,27 @@ input.double, input.integer, input.number {
transform: rotate(360deg);
}
}
/** footer **/
.footer {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
min-height: 3rem;
padding: 0.5rem 1rem;
color: var(--bs-footer-color, rgba(44, 56, 74, 0.95));
background: var(--bs-footer-bg, #ebedef);
border-top: var(--bs-footer-border-width, 1px) solid var(--bs-footer-border-color, #d8dbe0);
}
.footer a {
text-decoration: none;
--bs-text-opacity: 1;
color: inherit !important;
}
.form-control:disabled, .form-control[readonly] {
background-color: #d8dbe0;
opacity: 1;
}
File diff suppressed because one or more lines are too long
-1
View File
@@ -7072,4 +7072,3 @@
return index_umd;
}));
//# sourceMappingURL=bootstrap.bundle.js.map
File diff suppressed because it is too large Load Diff
@@ -54,8 +54,8 @@ var modal;
// Need to wait for the document to be ready for Boostrap 5 to be able to initialise to modal
$(function () {
modal = new coreui.Modal(_modal[0]);
//modal = new bootstrap.Modal(_modal[0]);
//modal = new coreui.Modal(_modal[0]);
modal = new bootstrap.Modal(_modal[0]);
});
_display.modal = function ( options ) {
+30 -31
View File
@@ -1,7 +1,7 @@
/*******************************************************************
Module : /assets/js/fonia4.js
Desc. : JS - Fonia Custom Class v4
Module : /assets/js/fonia3.js
Desc. : JS - Fonia Custom Class v3
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : June 19th, 2009.
Last Modified : May 3rd, 2022.
@@ -13,7 +13,7 @@
'use strict';
var FoniaJS = {
version: "4.0.0",
version: "3.0.0",
APP_ID: 0,
APP_SID: "",
WEB_HOST: "",
@@ -83,7 +83,7 @@ var FoniaJS = {
callMenu: function(p, q) {//oke
var apar = ["p=" + p];
if (q != null) apar.push("q=" + q);
this.closeAllWindows();
//this.closeAllWindows();
new Request.JSON({
url: this.WEB_PATH + "auth.php",
sendParam: apar,
@@ -127,14 +127,14 @@ var FoniaJS = {
},
loadMenu: function() {//oke
$(".mlink").click(function(e) {
var sbar = $(this).closest('#sidebar');
$(".mlink").click(function(e){
var sbar = $(this).closest('#sidebarMain');
var linkid = $(this).attr('id').replace("Link", "");
FoniaJS.callMenu(linkid);
if (sbar.length > 0) { (coreui.Sidebar.getInstance(sbar)).hide(); }
if (sbar.length > 0) { sbar.modal('toggle'); }
});
if ($("#HomeLink").length) {
$("#HomeLink").click(function() {
if ($("#HomeLink").length){
$("#HomeLink").click(function(){
this.closeAllWindows();
if (IndexJS.loading) IndexJS.loading();
}.bind(this));
@@ -157,18 +157,18 @@ var FoniaJS = {
}
},
showInfo: function(message, wtime) {//oke
var _tmpto = $('<div class="toast align-items-center text-white bg-info border-0" role="alert" aria-live="assertive" aria-atomic="true" data-coreui-delay="'+(wtime?wtime:3000)+'"><div class="d-flex"><div class="toast-body me-2">'+message+'</div><button type="button" class="btn-close me-2 m-auto" data-coreui-dismiss="toast" aria-label="Close"></button></div></div>').appendTo('#div-toast');
_tmpto.on('hidden.coreui.toast', function(e){
var _tmpto = $('<div class="toast align-items-center text-white bg-info border-0" role="alert" aria-live="assertive" aria-atomic="true" data-bs-delay="'+(wtime?wtime:3000)+'"><div class="d-flex"><div class="toast-body me-2">'+message+'</div><button type="button" class="btn-close me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button></div></div>').appendTo('#div-toast');
_tmpto.on('hidden.bs.toast', function(e){
$(this).remove();
});
(new coreui.Toast(_tmpto)).show();
(new bootstrap.Toast(_tmpto)).show();
},
showError: function(message, wtime) {//oke
var _tmpto = $('<div class="toast align-items-center text-white bg-danger border-0" role="alert" aria-live="assertive" aria-atomic="true" data-coreui-delay="'+(wtime?wtime:3000)+'"><div class="d-flex"><div class="toast-body me-2">'+message+'</div><button type="button" class="btn-close me-2 m-auto" data-coreui-dismiss="toast" aria-label="Close"></button></div></div>').appendTo('#div-toast');
_tmpto.on('hidden.coreui.toast', function(e){
var _tmpto = $('<div class="toast align-items-center text-white bg-danger border-0" role="alert" aria-live="assertive" aria-atomic="true" data-bs-delay="'+(wtime?wtime:3000)+'"><div class="d-flex"><div class="toast-body me-2">'+message+'</div><button type="button" class="btn-close me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button></div></div>').appendTo('#div-toast');
_tmpto.on('hidden.bs.toast', function(e){
$(this).remove();
});
(new coreui.Toast(_tmpto)).show();
(new bootstrap.Toast(_tmpto)).show();
},
showInfoLocale: function(tobj, wtime) {
this.showInfo(this.locale(tobj), wtime);
@@ -182,7 +182,7 @@ var FoniaJS = {
var _buover = (buserover == null) ? false : buserover;
var _tsid = parseInt(Math.random() * 99999999);
var _ceksuper = null;
var _isi = new String('<div class="row mb-1" id="Auth_SP1"><div class="col-sm-6 col-lg-5">Username</div><div class="col-sm-6 col-lg-7"><input type="text" class="form-control" id="UID" name="UID" value="'+((_bsuper==false)?this.User.ID:'')+'" required="true"></div></div><div class="row mb-1" id="Auth_SP2"><div class="col-sm-6 col-lg-5">Password</div><div class="col-sm-6 col-lg-7"><input type="password" class="form-control" id="PWD" name="PWD" value="" required="true"></div></div><div class="row mb-1 d-none" id="Auth_SP3"><div class="col-12 text-center"><p>'+this.locale("Fonia.auth_wait_msg")+'</p></div></div><hr class="my-2"><div class="row mt-1"><div class="col-4"><button type="button" class="btn btn-outline-primary shadow-none" id="butSReq">Request</button></div><div class="col-8 text-end"><button type="button" class="btn btn-danger me-2" id="butSBatal" data-coreui-dismiss="modal">Batal</button><button type="button" class="btn btn-success" id="butSOK">OK</button></div></div>');
var _isi = new String('<div class="row mb-1" id="Auth_SP1"><div class="col-sm-6 col-lg-5">Username</div><div class="col-sm-6 col-lg-7"><input type="text" class="form-control" id="UID" name="UID" value="'+((_bsuper==false)?this.User.ID:'')+'" required="true"></div></div><div class="row mb-1" id="Auth_SP2"><div class="col-sm-6 col-lg-5">Password</div><div class="col-sm-6 col-lg-7"><input type="password" class="form-control" id="PWD" name="PWD" value="" required="true"></div></div><div class="row mb-1 d-none" id="Auth_SP3"><div class="col-12 text-center"><p>'+this.locale("Fonia.auth_wait_msg")+'</p></div></div><hr class="my-2"><div class="row mt-1"><div class="col-4"><button type="button" class="btn btn-outline-primary shadow-none" id="butSReq">Request</button></div><div class="col-8 text-end"><button type="button" class="btn btn-danger me-2" id="butSBatal" data-bs-dismiss="modal">Batal</button><button type="button" class="btn btn-success" id="butSOK">OK</button></div></div>');
this.winSAuth = this.showWindow('SAuth', ((this.AUTH_LEVEL < 9 && _bsuper == true) ? this.locale("Fonia.auth_super") : this.locale("Fonia.auth_user")), _isi, 200, '', function(){
$('#butSOK').click(function() {
$('#butSOK').prop('disabled', true);
@@ -274,7 +274,7 @@ var FoniaJS = {
} else {
if (atom.i == 'butTutup') { atom.v='Tutup', atom.c='danger', atom.d='' };
if (atom.i == 'butBatal') { atom.v='Batal', atom.c='danger', atom.d='' };
var _xt = (typeof atom?.d !== 'undefined') ? ' data-coreui-dismiss="modal"' : '';
var _xt = (typeof atom?.d !== 'undefined') ? ' data-bs-dismiss="modal"' : '';
smenu += '<button type="button" class="btn btn-'+(atom?.c ?? 'info')+' mb-2 mb-sm-0'+ma+' col-10 col-sm-auto" id="'+atom.i+'"'+_xt+'>' + atom.v + '</button>';
}
});
@@ -293,7 +293,7 @@ var FoniaJS = {
} else {
$.each(amenu, function(i, subm) {
if (vtom == subm[0]) {
var _xt = (-1!==$.inArray(vtom, ['C','WC','WK','WC2','WK2'])) ? ' data-coreui-dismiss="modal"' : '';
var _xt = (-1!==$.inArray(vtom, ['C','WC','WK','WC2','WK2'])) ? ' data-bs-dismiss="modal"' : '';
smenu += '<button type="button" class="btn btn-'+subm[3]+' '+ma+'" id="'+subm[1]+'"'+_xt+'>' + subm[2] + '</button>';
}
});
@@ -314,7 +314,7 @@ var FoniaJS = {
} else {
if (atom.i == 'butTutup') { atom.v='Tutup', atom.c='danger', atom.d='' };
if (atom.i == 'butBatal') { atom.v='Batal', atom.c='danger', atom.d='' };
var _xt = "";//(typeof atom?.d !== 'undefined') ? ' data-coreui-dismiss="modal"' : '';
var _xt = "";//(typeof atom?.d !== 'undefined') ? ' data-bs-dismiss="modal"' : '';
smenu += '<button type="button" class="btn btn-'+(atom?.c ?? 'info')+' mb-2 mb-sm-0'+ma+' col-10 col-sm-3" id="'+atom.i+'"'+_xt+'>' + atom.v + '</button>';
}
});
@@ -546,15 +546,15 @@ var FoniaJS = {
var _ctipe = (conf_tipe == null) ? 'modal-warning' : 'modal-'+conf_tipe;
var _btipe = (conf_tipe == null) ? 'btn-warning' : 'btn-'+conf_tipe;
var _wtxt =
'<div class="modal fade" id="winAPPConf" tabindex="-1" role="dialog" data-coreui-keyboard="false" data-coreui-show="false" data-coreui-backdrop="false" aria-labelledby="winAPPConfLabel" aria-hidden="true">'+
'<div class="modal fade" id="winAPPConf" tabindex="-1" role="dialog" data-bs-keyboard="false" data-bs-show="false" data-bs-backdrop="false" aria-labelledby="winAPPConfLabel" aria-hidden="true">'+
'<div class="modal-dialog modal-dialog-centered '+_ctipe+' modal-400" role="document">'+
'<div class="modal-content">'+
'<div class="modal-header"><h5 class="modal-title" id="winAPPConfLabel">'+str_judul+'</h5><button class="btn-close" type="button" data-coreui-dismiss="modal" aria-label="Close"></button></div>'+
'<div class="modal-header"><h5 class="modal-title" id="winAPPConfLabel">'+str_judul+'</h5><button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button></div>'+
'<div class="modal-body text-center mh-100">'+str_isi+'</div>'+
'<div class="modal-footer"><button type="button" class="btn btn-secondary" data-coreui-dismiss="modal">Tidak</button><button type="button" class="btn '+_btipe+' ms-2" id="winConfirmY">Ya</button></div>'+
'<div class="modal-footer"><button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Tidak</button><button type="button" class="btn '+_btipe+' ms-2" id="winConfirmY">Ya</button></div>'+
'</div></div></div>';
if ($('#winAPPConf').length) $('#winAPPConf').modal('dispose').remove();
$(_wtxt).on('shown.coreui.modal', function(e){
$(_wtxt).on('shown.bs.modal', function(e){
$('#winConfirmY').focus();
$('#winConfirmY').click(function(e){
_cfunc();
@@ -580,17 +580,17 @@ var FoniaJS = {
t_toolb += '</div>';
}
var _wtxt =
'<div class="modal fade" id="win'+id_wind+'" tabindex="-1" data-coreui-keyboard="false"'+(s_block==''?'':' data-coreui-backdrop="'+s_block+'"')+' aria-labelledby="win'+id_wind+'Label" aria-hidden="true">'+
'<div class="modal fade" id="win'+id_wind+'" tabindex="-1" data-bs-keyboard="false"'+(s_block==''?'':' data-bs-backdrop="'+s_block+'"')+' aria-labelledby="win'+id_wind+'Label" aria-hidden="true">'+
'<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable '+t_width+'">'+
'<div class="modal-content">'+
'<div class="modal-header"><h5 class="modal-title" id="win'+id_wind+'Label">'+s_judul+'</h5><button class="btn-close" type="button" data-coreui-dismiss="modal" aria-label="Close"></button></div>'+
'<div class="modal-header"><h5 class="modal-title" id="win'+id_wind+'Label">'+s_judul+'</h5><button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button></div>'+
'<div class="modal-body">'+s_isi+'</div>'+ t_toolb +
'</div></div></div>';
if ($('#win'+id_wind).length) $('#win'+id_wind).modal('dispose').remove();
$(_wtxt).on('shown.coreui.modal', function(e){
$(_wtxt).on('shown.bs.modal', function(e){
f_oncall();
FoniaJS.FormDecorated();
}).on('hidden.coreui.modal', function(e){
}).on('hidden.bs.modal', function(e){
$(this).remove();
}).modal('show');
return '#win'+id_wind;
@@ -600,8 +600,8 @@ var FoniaJS = {
},
closeAllWindows: function() {//oke
$(".modal").each(function() {
if ($(this).hasClass('show')) $(this).modal('hide');
$(this).modal('dispose').remove();
if ($(this).hasClass('show')) $(this).modal('toggle');
if ($(this).get('id')!=='sidebarMain') $(this).modal('dispose').remove();
});
$(".fon-autotext", ".fon-autopos").each(function() {
$(this).remove();
@@ -820,8 +820,7 @@ Request.JSONF = function(options){//oke
$.each(ini.header, function(key, val){
if (val.o == ini.config.sort_col) iCol = key;
strHead += '<th data-class-name="'+val.f+'">'+val.c+'</th>';
if (val.s) { aSortCol.push({ "orderDataType": val.s }); }
else { aSortCol.push(null); }
aSortCol.push((val.s ? { "orderDataType": val.s } : null));
});
if (ini.option.length > 0) {
var strAksi = 'Aksi';
+4 -4
View File
@@ -49,16 +49,16 @@ var cPDF = function(url, options){
var _proto = window.location.protocol + '//';
var _src = _proto + FoniaJS.WEB_HOST + vars.url + '?' + (FoniaJS.RequestParam(vars.param)).join('&') + '#zoom='+vars.zoom+',0,0&page=1';
var _wtxt =
'<div class="modal fade" id="winAPPPDF" tabindex="-1" role="dialog" data-coreui-keyboard="false" data-coreui-show="false" data-coreui-backdrop="static" aria-labelledby="winAPPPDFLabel" aria-hidden="true">'+
'<div class="modal fade" id="winAPPPDF" tabindex="-1" role="dialog" data-bs-keyboard="false" data-bs-show="false" data-bs-backdrop="static" aria-labelledby="winAPPPDFLabel" aria-hidden="true">'+
'<div class="modal-dialog modal-dialog-centered modal-fs" role="document">'+
'<div class="modal-content">'+
'<div class="modal-header"><h5 class="modal-title" id="winAPPPDFLabel">Preview PDF</h5><button class="btn-close" type="button" data-coreui-dismiss="modal" aria-label="Close"></button></div>'+
'<div class="modal-header"><h5 class="modal-title" id="winAPPPDFLabel">Preview PDF</h5><button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button></div>'+
'<div class="modal-body mb-0 p-0"><div class="ratio ratio-21x9"><object type="application/pdf" data="'+_src+'"><p>Tidak Mendukung Preview PDF</p></object></div></div>'+
'</div></div></div>';
if ($('#winAPPPDF')) $('#winAPPPDF').modal('dispose').remove();
$(_wtxt).on('shown.coreui.modal', function(e){
$(_wtxt).on('shown.bs.modal', function(e){
FoniaJS.FormDecorated();
}).on('hidden.coreui.modal', function(e){
}).on('hidden.bs.modal', function(e){
$(this).remove();
}).modal('show');
};
+4 -4
View File
@@ -65,14 +65,14 @@ var cPRINTER = function(url, options){
return false;
}
var _wtxt =
'<div class="modal fade" id="winAPPPrint" tabindex="-1" role="dialog" data-coreui-keyboard="false" data-coreui-show="false" data-coreui-backdrop="static" aria-labelledby="winAPPPrintLabel" aria-hidden="true">'+
'<div class="modal fade" id="winAPPPrint" tabindex="-1" role="dialog" data-bs-keyboard="false" data-bs-show="false" data-bs-backdrop="static" aria-labelledby="winAPPPrintLabel" aria-hidden="true">'+
'<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable modal-fs" role="document">'+
'<div class="modal-content">'+
'<div class="modal-header"><h5 class="modal-title" id="winAPPPrintLabel">Preview Laporan</h5><div class="ml-auto"><button class="btn btn-cetak" id="tombCetak" type="button" aria-label="Cetak"><i class="cui-print"></i><span aria-hidden="true">&nbsp;Cetak</span></button><button class="btn btn-cetak" type="button" data-coreui-dismiss="modal" aria-label="Tutup"><i class="cui-x"></i><span aria-hidden="true">&nbsp;Tutup</span></button></div></div>'+
'<div class="modal-header"><h5 class="modal-title" id="winAPPPrintLabel">Preview Laporan</h5><div class="ml-auto"><button class="btn btn-cetak" id="tombCetak" type="button" aria-label="Cetak"><i class="cui-print"></i><span aria-hidden="true">&nbsp;Cetak</span></button><button class="btn btn-cetak" type="button" data-bs-dismiss="modal" aria-label="Tutup"><i class="cui-x"></i><span aria-hidden="true">&nbsp;Tutup</span></button></div></div>'+
'<div class="modal-body print-body" id="divPrintP">'+txt+'</div>'+
'</div></div></div>';
if ($('#winAPPPrint')) $('#winAPPPrint').modal('dispose').remove();
$(_wtxt).on('shown.coreui.modal', function(e){
$(_wtxt).on('shown.bs.modal', function(e){
$('#winAPPPrint').find('#tombCetak').click(function(){
var $printData = $('#dataPrint');
if (!$printData.length) {
@@ -82,7 +82,7 @@ var cPRINTER = function(url, options){
FoniaJS.closeWindow($('#winAPPPrint'));
window.print();
});
}).on('hidden.coreui.modal', function(e){
}).on('hidden.bs.modal', function(e){
$(this).remove();
}).modal('show');
},
+4 -4
View File
@@ -43,14 +43,14 @@ var cSIMULATOR = function(url, options){
_divd += '<div class="sim-code px-2 py-2 mb-1 border border-info">' + data[no] + '</div>';
}
var _wtxt =
'<div class="modal fade" id="winAPPSim" tabindex="-1" role="dialog" data-coreui-keyboard="false" data-coreui-show="false" data-coreui-backdrop="static" aria-labelledby="winAPPSimLabel" aria-hidden="true">'+
'<div class="modal fade" id="winAPPSim" tabindex="-1" role="dialog" data-bs-keyboard="false" data-bs-show="false" data-bs-backdrop="static" aria-labelledby="winAPPSimLabel" aria-hidden="true">'+
'<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable modal-fs" role="document">'+
'<div class="modal-content">'+
'<div class="modal-header"><h5 class="modal-title" id="winAPPSimLabel">Code Simulator</h5><div class="ml-auto"><button class="btn btn-cetak" id="tombSalin" type="button" aria-label="Salin Semua"><i class="icon cui-copy"></i><span aria-hidden="true">&nbsp;Salin Semua</span></button><button class="btn btn-cetak" type="button" data-coreui-dismiss="modal" aria-label="Tutup"><i class="icon cui-x"></i><span aria-hidden="true">&nbsp;Tutup</span></button></div></div>'+
'<div class="modal-header"><h5 class="modal-title" id="winAPPSimLabel">Code Simulator</h5><div class="ml-auto"><button class="btn btn-cetak" id="tombSalin" type="button" aria-label="Salin Semua"><i class="icon cui-copy"></i><span aria-hidden="true">&nbsp;Salin Semua</span></button><button class="btn btn-cetak" type="button" data-bs-dismiss="modal" aria-label="Tutup"><i class="icon cui-x"></i><span aria-hidden="true">&nbsp;Tutup</span></button></div></div>'+
'<div class="modal-body">'+_divd+'</div>'+
'</div></div></div>';
if ($('#winAPPSim')) $('#winAPPSim').modal('dispose').remove();
$(_wtxt).on('shown.coreui.modal', function(e){
$(_wtxt).on('shown.bs.modal', function(e){
$('#winAPPSim').find('#tombSalin').click(function(){
window.getSelection().removeAllRanges();
$('.sim-code').each(function(i, ele) {
@@ -72,7 +72,7 @@ var cSIMULATOR = function(url, options){
//$(this).addClass('bg-success');
$(this).addClass('d-none');
});
}).on('hidden.coreui.modal', function(e){
}).on('hidden.bs.modal', function(e){
$(this).remove();
}).modal('show');
},
+9 -9
View File
@@ -3,7 +3,7 @@
/*******************************************************************
Module : /App.php
Desc. : v4 - HTML5 Page Generator (jQuery & CoreUI)
Desc. : v3 - HTML5 Page Generator (jQuery & Bootstrap)
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 10th, 2008.
Last Modified : October 17th, 2022.
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4;
namespace siaupheng\fonia3;
final class App {
public $version = "4.0.0";
@@ -28,8 +28,8 @@ final class App {
public function __construct($db = null){
if (is_resource($db)) { $this->__db = $db; }
else { $this->__db = new \siaupheng\fonia4\DB\MySQL(); }
$this->__form = new \siaupheng\fonia4\Web\Form($this->__db);
else { $this->__db = new \siaupheng\fonia3\DB\MySQL(); }
$this->__form = new \siaupheng\fonia3\Web\Form($this->__db);
$this->apps = $_SESSION['__WEB_APP'];
$this->apps['TEMPLATE'] = "index.php";
@@ -37,13 +37,13 @@ final class App {
$this->auser = $_SESSION['__WEB_USER'];
$this->auser['user_info'] = tgl_sql2str($this->auser['Last_Date'], true) ." // ". $this->auser['Last_IP'].'<input type="hidden" id="Desktop_User_ID" value="'.intval($this->auser['UserID']).'"><input type="hidden" id="Desktop_User_Level" value="'.intval($this->auser['Level']).'"><input type="hidden" id="Desktop_User_UID" value="'.$this->auser['Username'].'">';
$this->auser['user_img'] = "profile.webp";
if (file_exists($this->apps['REAL_PATH']."assets/images/profiles/".$this->auser['ID'].".webp")) {
$this->auser['user_img'] = $this->auser['ID'].".webp";
if (file_exists($this->apps['REAL_PATH']."assets/images/profiles/".$this->auser['UserID'].".webp")) {
$this->auser['user_img'] = $this->auser['UserID'].".webp";
}
}
$this->reg = new \siaupheng\fonia4\Web\Register($this->__db);
$this->cache = new \siaupheng\fonia4\Data\Cache($this->__db);
$this->menu = new \siaupheng\fonia4\Web\Menu($this->__db);
$this->reg = new \siaupheng\fonia3\Web\Register($this->__db);
$this->cache = new \siaupheng\fonia3\Data\Cache($this->__db);
$this->menu = new \siaupheng\fonia3\Web\Menu($this->__db);
}
public function TampilApp($aoption = array()) {
+3 -3
View File
@@ -3,7 +3,7 @@
/*******************************************************************
Module : /DB/CheckSQL.php
Desc. : v4 - Class Check SQL / Repair Database
Desc. : v3 - Class Check SQL / Repair Database
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 11th, 2011.
Last Modified : May 8th, 2021.
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\DB;
namespace siaupheng\fonia3\DB;
final class CheckSQL {
private $__atabel = array();
@@ -23,7 +23,7 @@ final class CheckSQL {
public function __construct($db = null){
if (is_resource($db)) { $this->__db = $db; }
else { $this->__db = new \siaupheng\fonia4\DB\MySQL(); }
else { $this->__db = new \siaupheng\fonia3\DB\MySQL(); }
$this->__db->Query("SELECT TABLE_NAME,ENGINE,TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='".$this->__db->getDBName()."' AND TABLE_TYPE='BASE TABLE'");
while ($this->__db->Next()) {
+2 -2
View File
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\DB;
namespace siaupheng\fonia3\DB;
final class DumpSQL {
private $__adata = array();
@@ -23,7 +23,7 @@ final class DumpSQL {
public function __construct($db = null){
if (is_resource($db)) { $this->__db = $db; }
else { $this->__db = new \siaupheng\fonia4\DB\MySQL(); }
else { $this->__db = new \siaupheng\fonia3\DB\MySQL(); }
$this->__adata = $this->__db->getConfig();
}
+1 -1
View File
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\DB;
namespace siaupheng\fonia3\DB;
final class MySQL {
private $cnn;
+2 -2
View File
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\DB;
namespace siaupheng\fonia3\DB;
final class SQL {
private $__ttable = "";
@@ -26,7 +26,7 @@ final class SQL {
public function __construct($db = null){
if (is_resource($db)) { $this->__db = $db; }
else { $this->__db = new \siaupheng\fonia4\DB\MySQL(); }
else { $this->__db = new \siaupheng\fonia3\DB\MySQL(); }
}
public function SafeSQL($ttext = "") {
+2 -2
View File
@@ -3,7 +3,7 @@
/*******************************************************************
Module : /Data/CSV.php
Desc. : v4 - Class pembuatan file CSV
Desc. : v3 - Class pembuatan file CSV
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : April 2rd, 2011.
Last Modified : May 6th, 2021.
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Data;
namespace siaupheng\fonia3\Data;
define( DELI_CSV, ";" );
define( CRLF_CSV, "\r\n" );
+4 -4
View File
@@ -3,7 +3,7 @@
/*******************************************************************
Module : /Data/Cache.php
Desc. : v4 - Class cache aplikasi
Desc. : v3 - Class cache aplikasi
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : March 16th, 2008.
Last Modified : May 8th, 2021.
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Data;
namespace siaupheng\fonia3\Data;
use MatthiasMullie\Minify;
@@ -31,7 +31,7 @@ final class Cache {
public function __construct($db = null){
if (is_resource($db)) { $this->__db = $db; }
else $this->__db = new \siaupheng\fonia4\DB\MySQL();
else $this->__db = new \siaupheng\fonia3\DB\MySQL();
$rootdir = $_SESSION['__WEB_APP']['REAL_PATH'];
$this->__cachedir = $rootdir . 'cache/';
@@ -162,7 +162,7 @@ final class Cache {
}
public function Main($type="css") {
$mode = (isset($_SESSION['__WEB_USER']) && is_array($_SESSION['__WEB_USER']) && $_SESSION['__WEB_USER']['UserID']>0) ? "index" : "login";
$mode = (($_SESSION['__WEB_USER']['UserID'] ?? 0) > 0) ? "index" : "login";
$afile = $this->gen_file($type, $mode);
$lastmod = $this->check_file($afile);
if ($lastmod <> intval($this->__ini[$type][$mode.'_stamp']) || !file_exists($this->__cachedir . $this->__ini[$type][$mode.'_file'])) {
+2 -2
View File
@@ -3,7 +3,7 @@
/*******************************************************************
Module : /Data/PDF.php
Desc. : v4 - Class pembuatan file PDF
Desc. : v3 - Class pembuatan file PDF
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : April 18th, 2015.
Last Modified : May 8th, 2021.
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Data;
namespace siaupheng\fonia3\Data;
use Mpdf;
+2 -2
View File
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
final class Auth {
private $__id_reg = 0;
@@ -22,7 +22,7 @@ final class Auth {
public function __construct($db = null){
if (is_resource($db)) { $this->__db = $db; }
else { $this->__db = new \siaupheng\fonia4\DB\MySQL(); }
else { $this->__db = new \siaupheng\fonia3\DB\MySQL(); }
$this->__id_reg = $_SESSION['__WEB_APP']['REG_ID'];
}
+3 -3
View File
@@ -3,7 +3,7 @@
/*******************************************************************
Module : /Web/Button.php
Desc. : v4 - Button Generator (jQuery & CoreUI)
Desc. : v3 - Button Generator (jQuery & Bootstrap)
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 27th, 2008.
Last Modified : April 4th, 2022.
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
class Button {
private $__abutton = array();
@@ -58,7 +58,7 @@ class Button {
if ("separator" == $item['type']) {
if (0 < $sepa_size) $_out .= '<div class="d-none d-lg-block col-lg-'.$sepa_size.'">&nbsp;</div>';
} else {
$_out .= '<div class="col-md-'.floor($size*2).' col-lg-'.$size.' mb-sm-0"><button type="button" class="btn btn-block btn-'.$item['type'].' shadow-none" id="'.$item['id'].'"'.(true==$item['bmiss']?' data-coreui-dismiss="modal"':'').'>'.$item['label'].'</button></div>';
$_out .= '<div class="col-md-'.floor($size*2).' col-lg-'.$size.' mb-sm-0"><button type="button" class="btn btn-block btn-'.$item['type'].' shadow-none" id="'.$item['id'].'"'.(true==$item['bmiss']?' data-bs-dismiss="modal"':'').'>'.$item['label'].'</button></div>';
}
}
$_out .= '</div>';
+3 -3
View File
@@ -3,7 +3,7 @@
/*******************************************************************
Module : /Web/Form.php
Desc. : v4 - Form Generator (jQuery & CoreUI)
Desc. : v4 - Form Generator (jQuery & Bootstrap)
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 27th, 2008.
Last Modified : April 17th, 2022.
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
final class Form {
private $__aform = array();
@@ -25,7 +25,7 @@ final class Form {
public function __construct($db = null){
if (is_resource($db)) { $this->__db = $db; }
else { $this->__db = new \siaupheng\fonia4\DB\MySQL(); }
else { $this->__db = new \siaupheng\fonia3\DB\MySQL(); }
$this->__button = new Button();
}
+1 -1
View File
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
final class HTMLPrint {
private $__avalue = array();
+20 -21
View File
@@ -3,24 +3,24 @@
/*******************************************************************
Module : /Web/Menu.php
Desc. : v4 - Class menu
Desc. : v3 - Class menu
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 16th, 2008.
Last Modified : May 1st, 2022.
Last Modified : January 13th, 2023.
(c) 2008 - 2022, 3FONIA Software; WWW.3FONIA.COM.
(c) 2008 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
final class Menu {
protected $__db = null;
public function __construct($db = null){
$this->__db = $db ?? new \siaupheng\fonia4\DB\MySQL();
$this->__db = $db ?? new \siaupheng\fonia3\DB\MySQL();
}
private function Menu_Query($qry = "", $order = "Kode") {
@@ -53,18 +53,18 @@ final class Menu {
$amodul = $this->Menu_Query("Aktif=1".$tsql, "Kode");
$thasil = '';
$last_level = 0; $last_divider = false;
$last_level = 0;
for ($i=0; $i<count($amodul); $i++) {
if (($i>0) and ($amodul[$i]['Level']<$amodul[$i-1]['Level'])) {
$thasil .= str_repeat("</ul></li>", $amodul[$i-1]['Level']-$amodul[$i]['Level']);
}
$ticon = ($amodul[$i]['Icon']) ? '<i class="me-2 '.$amodul[$i]['Icon'].'"></i>' : "";
if (($amodul[$i]['Level']>=0) && (isset($amodul[$i+1]) && ($amodul[$i+1]['Level']>$amodul[$i]['Level']))) {
$ticon = ($amodul[$i]['Icon']) ? $amodul[$i]['Icon'] : "cui-puzzle";
$thasil .= '<li class="nav-group '.($i==0?'show':'').'"><a class="nav-link nav-group-toggle" title="'.$amodul[$i]['Judul'].'"><i class="nav-icon '.$ticon.'"></i> '.$amodul[$i]['Menu'].'</a><ul class="nav-group-items">';
$thasil .= '<li class="nav-item has-submenu"><a class="nav-link" title="'.$amodul[$i]['Judul'].'">'.$ticon.$amodul[$i]['Menu'].'<i class="icon cui-caret-bottom float-end"></i></a><ul class="submenu collapse">';
} else if (trim($amodul[$i]['Menu'])=="-") {
$thasil .= '<li class="nav-divider"></li>';
} else {
$thasil .= '<li class="nav-item"><a class="nav-link mlink" id="'.$amodul[$i]['Kode'].'Link" title="'.$amodul[$i]['Judul'].'"><span class="nav-icon"></span> '.$amodul[$i]['Menu'].'</a></li>';
$thasil .= '<li class="nav-item"><a class="nav-link mlink" id="'.$amodul[$i]['Kode'].'Link" title="'.$amodul[$i]['Judul'].'">'.$ticon.$amodul[$i]['Menu'].'</a></li>';
}
$last_level = $amodul[$i]['Level'];
}
@@ -99,20 +99,19 @@ final class Menu {
if (($i>0) and ($amodul[$i]['Level']<$amodul[$i-1]['Level'])) {
$thasil .= str_repeat("</ul></li>", $amodul[$i-1]['Level']-$amodul[$i]['Level']);
}
if (isset($amodul[$i+1]) && ($amodul[$i+1]['Level']>$amodul[$i]['Level'])) {
$ticon = ($amodul[$i]['Icon']) ? '<i class="me-2 '.$amodul[$i]['Icon'].'"></i>' : "";
if (isset($amodul[$i+1]) && ($amodul[$i+1]['Level']>$amodul[$i]['Level'])) {//have submenu
if ($amodul[$i]['Level']==$mulai_level) {
$ticon = ($amodul[$i]['Icon']) ? " me-1 ".$amodul[$i]['Icon'] : "";
$thasil .= '<li class="nav-item pe-3"><a class="nav-link dropdown-toggle" data-coreui-toggle="dropdown" aria-expanded="false" title="'.$amodul[$i]['Judul'].'"><i class="nav-icon'.$ticon.'"></i> '.$amodul[$i]['Menu'].'</a><ul class="dropdown-menu multi-level">';
$thasil .= '<li class="nav-item pe-3 dropdown"><a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="'.$amodul[$i]['Judul'].'">'.$ticon.$amodul[$i]['Menu'].'</a><ul class="dropdown-menu" data-bs-popper="none">';
} else {
$thasil .= '<li class="nav-item dropdown-submenu"><a class="nav-link dropdown-toggle slink" data-coreui-toggle="dropdown" aria-expanded="false" title="'.$amodul[$i]['Judul'].'"><i class="nav-icon"></i> '.$amodul[$i]['Menu'].'</i></a><ul class="dropdown-menu">';
$thasil .= '<li class="dropdown-submenu"><a class="dropdown-item dropdown-toggle slink" data-bs-toggle="dropdown" aria-expanded="false" title="'.$amodul[$i]['Judul'].'">'.$ticon.$amodul[$i]['Menu'].'</a><ul class="dropdown-menu" data-bs-popper="none">';
}
} else if (trim($amodul[$i]['Menu'])=="-" && $amodul[$i]['Level']>$mulai_level) {
} else if (trim($amodul[$i]['Menu'])=="-" && $amodul[$i]['Level']>$mulai_level) {//divider
$thasil .= '<li class="dropdown-divider"></li>';
} else if ($amodul[$i]['Level']==$mulai_level) {
$ticon = ($amodul[$i]['Icon']) ? " mr-1 ".$amodul[$i]['Icon'] : "";
$thasil .= '<li class="nav-item pe-3"><a class="nav-link mlink" id="'.$amodul[$i]['Kode'].'Link" title="'.$amodul[$i]['Judul'].'"><span class="nav-icon'.$ticon.'"></span> '.$amodul[$i]['Menu'].'</a></li>';
} else {
$thasil .= '<li class="nav-item"><a class="nav-link dropdown-item mlink" id="'.$amodul[$i]['Kode'].'Link" title="'.$amodul[$i]['Judul'].'">'.$amodul[$i]['Menu'].'</a></li>';
} else if ($amodul[$i]['Level']==$mulai_level) {//level = 1 + no submenu
$thasil .= '<li class="nav-item pe-3"><a class="nav-link mlink" id="'.$amodul[$i]['Kode'].'Link" title="'.$amodul[$i]['Judul'].'">'.$ticon.$amodul[$i]['Menu'].'</a></li>';
} else {// level > 1 + no submenu
$thasil .= '<li><a class="dropdown-item mlink" id="'.$amodul[$i]['Kode'].'Link" title="'.$amodul[$i]['Judul'].'">'.$ticon.$amodul[$i]['Menu'].'</a></li>';
}
$last_level = $amodul[$i]['Level'];
}
@@ -120,8 +119,8 @@ final class Menu {
return $thasil;
}
static function MenuJSON($db = null, $page = "", $tquery = "") {
$_mdb = $db ?? new \siaupheng\fonia4\DB\MySQL();
static function MenuJSON($db = null, $page = "", $tquery = "") {//oke
$_mdb = $db ?? new \siaupheng\fonia3\DB\MySQL();
$_query = ($tquery=="") ? "" : ",'".$tquery."'";
$ajson = array('login' => true);
$apage = array('Link' => "");
+1 -1
View File
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
/* VERSI BARU DENGAN MULTI SHEET */
class POSPrint {//up: 20180108
+1 -1
View File
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
final class Param {
private static $__ahasil = array();
+1 -1
View File
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
class RAWPrint {
private $_header = array();
+2 -2
View File
@@ -14,14 +14,14 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
final class Register {
protected $__db = null;
public function __construct($db = null){
if (is_resource($db)) { $this->__db = $db; }
else { $this->__db = new \siaupheng\fonia4\DB\MySQL(); }
else { $this->__db = new \siaupheng\fonia3\DB\MySQL(); }
}
static public function reg_id() {
+4 -4
View File
@@ -3,7 +3,7 @@
/*******************************************************************
Module : /Web/Table.php
Desc. : v4 - HTML Table (jQuery & CoreUI)
Desc. : v4 - HTML Table (jQuery & Bootstrap)
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 16th, 2008.
Last Modified : May 3rd, 2022.
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
final class Table {
private $__tquery = "";
@@ -45,7 +45,7 @@ final class Table {
public function __construct($db = null){
if (is_resource($db)) { $this->__cdb = $db; }
else { $this->__cdb = new \siaupheng\fonia4\DB\MySQL(); }
else { $this->__cdb = new \siaupheng\fonia3\DB\MySQL(); }
}
public function set_query($tquery = "") {
@@ -219,7 +219,7 @@ final class Table {
/*public function json_table_db($nama_tabel = "tabel_", $baris_tabel = 10) {//new
$adata = array();
$dbpage = \siaupheng\fonia4\Web\Param::Get($nama_tabel.'_pg', 0);
$dbpage = \siaupheng\fonia3\Web\Param::Get($nama_tabel.'_pg', 0);
// adding header
for ($i=0; $i<count($this->__afield); $i++) {
+1 -1
View File
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
final class Terbilang {
private $numb = array("","Satu","Dua","Tiga","Empat","Lima","Enam","Tujuh","Delapan","Sembilan");
+2 -2
View File
@@ -14,7 +14,7 @@
declare(strict_types=1);
namespace siaupheng\fonia4\Web;
namespace siaupheng\fonia3\Web;
final class Update {
private $__amysql = array();
@@ -22,7 +22,7 @@ final class Update {
public function __construct($db = null){
if (is_resource($db)) { $this->__linkdb = $db; }
else { $this->__linkdb = new \siaupheng\fonia4\DB\MySQL(); }
else { $this->__linkdb = new \siaupheng\fonia3\DB\MySQL(); }
$this->__amysql = $this->__linkdb->getConfig();
}