update 2023-02-13
This commit is contained in:
Vendored
-2
@@ -10874,5 +10874,3 @@ textarea.form-control-lg {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=bootstrap.css.map */
|
||||
Vendored
File diff suppressed because it is too large
Load Diff
+256
-70
@@ -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 */
|
||||
.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);
|
||||
}
|
||||
|
||||
.toast {
|
||||
width: unset !important;
|
||||
font-size: .95rem !important;
|
||||
}
|
||||
|
||||
table.dataTable.table-bordered th, table.dataTable.table-bordered td {/* ok */
|
||||
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.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;
|
||||
}
|
||||
+2
-1
File diff suppressed because one or more lines are too long
Vendored
-1
@@ -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 ) {
|
||||
|
||||
@@ -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,
|
||||
@@ -128,10 +128,10 @@ var FoniaJS = {
|
||||
|
||||
loadMenu: function() {//oke
|
||||
$(".mlink").click(function(e){
|
||||
var sbar = $(this).closest('#sidebar');
|
||||
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(){
|
||||
@@ -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
@@ -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
@@ -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"> 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"> 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"> 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"> 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');
|
||||
},
|
||||
|
||||
@@ -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"> 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"> 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"> 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"> 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
@@ -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
@@ -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
@@ -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
@@ -14,7 +14,7 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace siaupheng\fonia4\DB;
|
||||
namespace siaupheng\fonia3\DB;
|
||||
|
||||
final class MySQL {
|
||||
private $cnn;
|
||||
|
||||
+2
-2
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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.'"> </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
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace siaupheng\fonia4\Web;
|
||||
namespace siaupheng\fonia3\Web;
|
||||
|
||||
final class HTMLPrint {
|
||||
private $__avalue = array();
|
||||
|
||||
+20
-21
@@ -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' => "");
|
||||
|
||||
@@ -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
@@ -14,7 +14,7 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace siaupheng\fonia4\Web;
|
||||
namespace siaupheng\fonia3\Web;
|
||||
|
||||
final class Param {
|
||||
private static $__ahasil = array();
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace siaupheng\fonia4\Web;
|
||||
namespace siaupheng\fonia3\Web;
|
||||
|
||||
class RAWPrint {
|
||||
private $_header = array();
|
||||
|
||||
@@ -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
@@ -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++) {
|
||||
|
||||
@@ -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
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user