Files
robinson/apps/php/disp/config.php
T
2026-01-22 11:06:19 +07:00

161 lines
8.5 KiB
PHP

<?php
/*******************************************************************
Module : /apps/php/disp/config.php
Desc. : PHP - Konfigurasi Display POS
Created By : Siau Pheng ([email protected]).
Created Date : August 4th, 2013.
Last Modified : December 7th, 2025.
(c) 2013 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.iss.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_reg = Param::Get("REG_ID", $_SESSION['__WEB_APP']['REG_ID']);
if ( $data == "form-display" ) {
if ( $mode == "save" ) {
$sql = new SQL($db);
$sql->set_table("disp_config");
$sql->add_param("MON_ENABLE");
$sql->add_param("Text_Run");
$sql->add_param("Warna");
$sql->add_param("Font");
$sql->add_param("Promo_Idle");
$sql->add_param("Promo_Durasi");
$sql->add_param("POLE_ENABLE");
$sql->add_param("POLE_PORT");
$sql->add_param("POLE_START1");
$sql->add_param("POLE_START2");
$sql->add_param("POLE_END1");
$sql->add_param("POLE_END2");
$sql->add_where("REG_ID");
$sql->UpdateDB();
$ajson['sukses'] = true;
$mode = "view";
}
$para = [];
if ($id_reg > 0) {
$db->Query("SELECT * FROM disp_config WHERE REG_ID='".$id_reg."' LIMIT 1");
if ($db->Next()) $para = $db->AllRow();
$db->Query("SELECT CABANGID FROM inv_config WHERE REG_ID='".$para['REG_ID']."' LIMIT 1");
if ($db->Next()) $para = array_merge($para, $db->AllRow());
$db->Query("SELECT Nama_Cab FROM para_cabang WHERE CabID='".$para['CABANGID']."' LIMIT 1");
if ($db->Next()) $para = array_merge($para, $db->AllRow());
}
$benable = ($mode=="edit") ? true : false;
$form = new Form($db);
$tmon_ena = $form->switch("_", "MON_ENABLE", $para['MON_ENABLE'], $benable, false, [1,0]);
$ttext_run = $form->textarea("_", "Text_Run", $para['Text_Run'], $benable, false, 2, "tulisan banner");
$twarna = $form->color("_", "Warna", $para['Warna'], $benable, false);
$tfont = $form->textbox("_", "Font", $para['Font'], $benable, false, "number");
$tpro_idle = $form->textbox("_", "Promo_Idle", $para['Promo_Idle'], $benable, false, "number");
$tpro_dur = $form->textbox("_", "Promo_Durasi", $para['Promo_Durasi'], $benable, false, "number");
$tpole_ena = $form->switch("_", "POLE_ENABLE", $para['POLE_ENABLE'], $benable, false, [1,0]);
$tpole_port = $form->option("_", "POLE_PORT", $para['POLE_PORT'], $benable, false, [$para['POLE_PORT']=>$para['POLE_PORT']]);
$tpole_end1 = $form->textbox("_", "POLE_END1", $para['POLE_END1'], $benable, false, "text", "baris 1 farewell", 20);
$tpole_end2 = $form->textbox("_", "POLE_END2", $para['POLE_END2'], $benable, false, "text", "baris 2 farewell", 20);
$tpole_start1 = $form->textbox("_", "POLE_START1", $para['POLE_START1'], $benable, false, "text", "baris 1 welcome", 20);
$tpole_start2 = $form->textbox("_", "POLE_START2", $para['POLE_START2'], $benable, false, "text", "baris 2 welcome", 20);
$ajson['html'] = '
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="monitor-tab" data-bs-toggle="tab" data-bs-target="#monitor" type="button" role="tab" aria-controls="monitor" aria-selected="true">Monitor Display</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="pole-tab" data-bs-toggle="tab" data-bs-target="#pole" type="button" role="tab" aria-controls="pole" aria-selected="false">Pole Display</button>
</li>
</ul>
<div class="tab-content border border-top-0 p-3">
<div class="tab-pane fade active show" id="monitor" role="tabpanel" aria-labelledby="monitor-tab">
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="MON_ENABLE">Status Display Monitor</label>
<div class="col col-form-label">'.$tmon_ena.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Text_Run">Tulisan Banner</label>
<div class="col">'.$ttext_run.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Warna">Warna Tulisan</label>
<div class="col-sm-4 col-lg-5"><div class="input-group">'.$twarna.Form_Info("Warna tulisan banner.").'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Font">Ukuran Font</label>
<div class="col-sm-4 col-lg-5"><div class="input-group">'.$tfont.Form_Info("Ukuran font tampilan banner.").'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Promo_Idle">Waktu Jedah Promo</label>
<div class="col-sm-4 col-lg-5"><div class="input-group">'.$tpro_idle.Form_Info("Waktu tunggu tampil promo setelah transaksi POS terakhir.").'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Promo_Durasi">Waktu Durasi Promo</label>
<div class="col-sm-4 col-lg-5"><div class="input-group">'.$tpro_dur.Form_Info("Waktu durasi penggantian tulisan promo (bagian bawah)").'</div></div>
</div>
</div>
<div class="tab-pane fade" id="pole" role="tabpanel" aria-labelledby="pole-tab">
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="POLE_ENABLE">Status Pole Display</label>
<div class="col col-form-label">'.$tpole_ena.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="POLE_PORT">Port Pole Display</label>
<div class="col-sm-4 col-lg-5">'.$tpole_port.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="POLE_START1">Baris 1 Welcome</label>
<div class="col"><div class="input-group">'.$tpole_start1.Form_Info("Maximum 20 huruf.").'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="POLE_START2">Baris 2 Welcome</label>
<div class="col"><div class="input-group">'.$tpole_start2.Form_Info("Maximum 20 huruf.").'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="POLE_END1">Baris 1 Farewell</label>
<div class="col"><div class="input-group">'.$tpole_end1.Form_Info("Maximum 20 huruf.").'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="POLE_END2">Baris 2 Farewell</label>
<div class="col"><div class="input-group">'.$tpole_end2.Form_Info("Maximum 20 huruf.").'</div></div>
</div>
</div>
</div>
<input type="hidden" id="mode" value="'.$mode.'" >';
$ajson['Nama_Cabang'] = $para['Nama_Cab'];
} else if ( $data == "brow-cabang" ) {
$obj = new Table($db);
$obj->set_query("SELECT C.*,G.REG_ID FROM (SELECT * FROM para_cabang WHERE Aktif=1) C LEFT JOIN inv_config G ON (G.CABANGID=C.CabID)");
$obj->add_field("REG_ID", "ID", "hid");
$obj->add_field("Kode_Cab", "Kode", "c");
$obj->add_field("Nama_Cab", "Nama Cabang", "awr");
$obj->set_field_order("Kode_Cab", "A");
$obj->add_row_btn("save", "Pilih", "DISPConfigJS.cab_select");
$obj->set_func_navi("DISPConfigJS.data_query('brow-cabang')");
$ajson[] = $obj->json_table("divBrowCab");
} else if ( $data == "default") {
echo '<div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Nama_Cabang" type="text" disabled readonly><button id="butBrow" class="btn btn-info" type="button" onclick="DISPConfigJS.cabang_brow();"><i class="bi-search"></i></button></div></div></div><div class="card"><div class="card-body"><div id="divDisplay">&nbsp;</div><input type="hidden" id="REG_ID" value="'.$id_reg.'"></div></div>';
}
send_json($ajson);
?>