first commit
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
<?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"> </div><input type="hidden" id="REG_ID" value="'.$id_reg.'"></div></div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,167 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/disp/iklan.php
|
||||
Desc. : PHP - Konfigurasi Display Iklan POS
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : January 15th, 2015.
|
||||
Last Modified : December 8th, 2025.
|
||||
|
||||
(c) 2015 - 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_detail = Param::Get("mode_detail");
|
||||
$id_promo = Param::Get("PromoID", 0);
|
||||
|
||||
if ( $data == "promo-detail" ) {
|
||||
$atabel = ['PromoID'=>0,'CabID'=>0,'Tanggal'=>tgl_ymd(),'Aktif'=>1];
|
||||
if ($id_promo > 0) {
|
||||
$db->Query("SELECT * FROM disp_promo WHERE PromoID='".$id_promo."' LIMIT 1");
|
||||
if ($db->Next()) $atabel = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$tcab = $form->option_db("_", "CabID", $atabel['CabID'], true, false, "para_cabang", ["CabID","Nama_Cab"], "Aktif=1 ORDER BY CabID", [0,"SEMUA CABANG"]);
|
||||
$ttanggal = $form->datebox("_", "Tanggal", $atabel['Tanggal'], true, false);
|
||||
$tinfo = $form->textarea("_", "Info", $atabel['Info'], true, false, 3, "keterangan iklan");
|
||||
$taktif = $form->radio("_", "Aktif", $atabel['Aktif'], true, false, [1=>"Aktif",0=>"Tidak"]);
|
||||
$ajson['html'] = '
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-lg-8">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Tanggal">Tanggal</label>
|
||||
<div class="col-sm-6 col-lg-5">'.$ttanggal.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="CabID">Nama Cabang</label>
|
||||
<div class="col-sm-6 col-lg-5">'.$tcab.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Info">Keterangan</label>
|
||||
<div class="col">'.$tinfo.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
|
||||
<div class="col col-form-label">'.$taktif.'</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-4 text-center">
|
||||
<img class="img-fluid img-thumbnail mx-auto mb-2 d-block" id="imgPhoto" src="">
|
||||
<label class="input-group-btn"><span class="btn rounded-pill btn-info me-2"><i class="bi-cloud-upload me-1"></i>Gambar<input type="file" name="FileGambar" id="FileGambar" style="display:none;"></span></label><br><small class="text-muted">Ukuran file max <strong>20MB</strong> ( <i>png / jpg / gif</i> )</small>
|
||||
|
||||
</div>
|
||||
<input type="hidden" id="PromoID" value="'.$atabel['PromoID'].'" >
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
|
||||
|
||||
} else if ( $data == "detail" ) {
|
||||
if (in_array($mode_detail, ["insert","update","delete"])) {
|
||||
$sql = new SQL($db);
|
||||
$sql->set_table("disp_promo");
|
||||
$sql->add_param("CabID");
|
||||
$sql->add_param_date("Tanggal");
|
||||
$sql->add_param("Info");
|
||||
$sql->add_param("Aktif");
|
||||
$sql->add_param_userid();
|
||||
$sql->add_where("PromoID");
|
||||
|
||||
if ($mode_detail=="insert") {
|
||||
$sql->add_param("PromoID");
|
||||
$sql->add_param("Tipe", 2);
|
||||
$sql->InsertDB();
|
||||
} else if ($mode_detail=="update") {
|
||||
$sql->UpdateDB();
|
||||
} else if ($mode_detail=="delete") {
|
||||
$sql->DeleteDB();
|
||||
}
|
||||
}
|
||||
|
||||
$tcari = trim(Param::Get("Cari_Iklan"));
|
||||
$tsql = ($tcari=="") ? "" : " AND CONCAT(DATE_FORMAT(Tanggal,'%d-%m-%Y'),Info) LIKE '%".$tcari."%'";
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT I.*,IF(ISNULL(C.Nama_Cab),'SEMUA CABANG',C.Nama_Cab) Nama_Cab FROM (SELECT * FROM disp_promo WHERE Tipe=2".$tsql.") I LEFT JOIN para_cabang C ON (C.CabID=I.CabID)");
|
||||
$obj->add_field("PromoID", "ID", "hid");
|
||||
$obj->add_field("Tanggal", "Tanggal", "c", "sqltgl", null, "val-tgl");
|
||||
$obj->add_field("Nama_Cab", "Cabang", "l");
|
||||
$obj->add_field("Info", "Keterangan", "awr");
|
||||
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
|
||||
$obj->set_field_order("Tanggal", "A");
|
||||
$obj->add_row_btn("clipboard", "Ubah", "DISPIklanJS.detail_ubah");
|
||||
$obj->add_row_btn("trash", "Hapus", "DISPIklanJS.detail_hapus");
|
||||
$obj->set_func_navi("DISPIklanJS.data_query('detail')");
|
||||
$obj->set_func_btn("DISPIklanJS.detail_tambah", "+ Iklan");
|
||||
$ajson[] = $obj->json_table("divDetail");
|
||||
|
||||
} else if ( $data == "upload-gambar" ) {
|
||||
$ajson['result'] = 0;
|
||||
|
||||
if (isset($_FILES['Gambar1'])) {
|
||||
$file_ok = false;
|
||||
$file_name = $_FILES['Gambar1']['name'];
|
||||
$file_size = $_FILES['Gambar1']['size'];
|
||||
if ($file_size < 20480000) {
|
||||
$file_ext = strtolower(pathinfo("gambar/".$file_name, PATHINFO_EXTENSION));
|
||||
if (in_array($file_ext, ["png","jpg","jpeg","gif"])) {
|
||||
$file_ok = true;
|
||||
} else {
|
||||
$ajson['message'] = "File tidak dapat diterima !";
|
||||
}
|
||||
} else {
|
||||
$ajson['message'] = "Ukuran file diatas 20MB !";
|
||||
}
|
||||
if ($file_ok) {
|
||||
$file_name = $_FILES['Gambar1']['tmp_name'];
|
||||
$finfo = new finfo(FILEINFO_MIME);
|
||||
$type = $finfo->file($file_name);
|
||||
$mime = substr($type, 0, strpos($type, ';'));
|
||||
|
||||
if ($id_promo > 0) {
|
||||
$db->Query("UPDATE disp_promo SET Image=\"".addslashes(file_get_contents($file_name))."\",Mime='".$mime."' WHERE PromoID='".$id_promo."'");
|
||||
} else {
|
||||
$db->Query("INSERT INTO disp_promo (Image,Mime) VALUES(\"".addslashes(file_get_contents($file_name))."\",'".$mime."')");
|
||||
$id_promo = $db->LastInsertID();
|
||||
}
|
||||
$ajson['result'] = 1;
|
||||
$ajson['PromoID'] = $id_promo;
|
||||
}
|
||||
} else {
|
||||
$ajson = ['result' => 0, 'message' => 'File tidak ditemukan atau masalah internal !'];
|
||||
}
|
||||
|
||||
} else if ( $data == "image") {
|
||||
$gambar = base64_decode("/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAABAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKAP/2Q==");
|
||||
$mime = "image/jpg";
|
||||
|
||||
$db->Query("SELECT Image,Mime FROM disp_promo WHERE PromoID='".$id_promo."' AND Image IS NOT NULL");
|
||||
if ($db->Next()) {
|
||||
$gambar = $db->Row("Image");
|
||||
$mime = $db->Row("Mime");
|
||||
}
|
||||
|
||||
header("Content-type: ".$mime);
|
||||
echo $gambar;
|
||||
die();
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Konfigurasi Display Iklan POS</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Iklan" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail"> </div></div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,174 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/disp/promo.php
|
||||
Desc. : PHP - Konfigurasi Display Promo POS
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : January 15th, 2015.
|
||||
Last Modified : December 8th, 2025.
|
||||
|
||||
(c) 2015 - 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_detail = Param::Get("mode_detail");
|
||||
$id_promo = Param::Get("PromoID", 0);
|
||||
|
||||
if ( $data == "promo-detail" ) {
|
||||
$atabel = ['PromoID'=>0,'Tanggal'=>tgl_ymd(),'Warna'=>"#FFFFFF",'Font'=>40,'Aktif'=>1];
|
||||
if ($id_promo > 0) {
|
||||
$db->Query("SELECT * FROM disp_promo WHERE PromoID='".$id_promo."' LIMIT 1");
|
||||
if ($db->Next()) $atabel = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$ttanggal = $form->datebox("_", "Tanggal", $atabel['Tanggal'], true, false);
|
||||
$tinfo = $form->textarea("_", "Info", $atabel['Info'], true, false, 2, "info promo");
|
||||
$twarna = $form->color("_", "Warna", $atabel['Warna'], true, false);
|
||||
$tfont = $form->textbox("_", "Font", $atabel['Font'], true, false, "number");
|
||||
$taktif = $form->radio("_", "Aktif", $atabel['Aktif'], true, false, [1=>"Aktif",0=>"Tidak"]);
|
||||
$ajson['html'] = '
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-lg-8">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Tanggal">Tanggal</label>
|
||||
<div class="col-sm-6 col-lg-5">'.$ttanggal.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Info">Isi Informasi</label>
|
||||
<div class="col">'.$tinfo.'<small class="text-muted">[br] = Ganti Baris, [i]..[/i] = Italic, [b]..[/b] = Bold</small></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-6 col-lg-5"><div class="input-group">'.$twarna.Form_Info("Warna tulisan promo.").'</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-6 col-lg-5"><div class="input-group">'.$tfont.Form_Info("Ukuran font promo.").'</div></div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
|
||||
<div class="col col-form-label">'.$taktif.'</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-4 text-center">
|
||||
<img class="img-fluid img-thumbnail mx-auto mb-2 d-block" id="imgPhoto" src="">
|
||||
<label class="input-group-btn"><span class="btn rounded-pill btn-info me-2"><i class="bi-cloud-upload me-1"></i>Gambar<input type="file" name="FileGambar" id="FileGambar" style="display:none;"></span></label><br><small class="text-muted">Ukuran file max <strong>20MB</strong> ( <i>png / jpg / gif</i> )</small>
|
||||
|
||||
</div>
|
||||
<input type="hidden" id="PromoID" value="'.$atabel['PromoID'].'" >
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
|
||||
|
||||
} else if ( $data == "detail" ) {
|
||||
if (in_array($mode_detail, ["insert","update","delete"])) {
|
||||
$sql = new SQL($db);
|
||||
$sql->set_table("disp_promo");
|
||||
$sql->add_param_date("Tanggal");
|
||||
$sql->add_param("Info");
|
||||
$sql->add_param("Warna");
|
||||
$sql->add_param("Font");
|
||||
$sql->add_param("Aktif");
|
||||
$sql->add_param_userid();
|
||||
$sql->add_where("PromoID");
|
||||
|
||||
if ($mode_detail=="insert") {
|
||||
$sql->add_param("PromoID");
|
||||
$sql->add_param("Tipe", 1);
|
||||
$sql->InsertDB();
|
||||
} else if ($mode_detail=="update") {
|
||||
$sql->UpdateDB();
|
||||
} else if ($mode_detail=="delete") {
|
||||
$sql->DeleteDB();
|
||||
}
|
||||
}
|
||||
|
||||
$tcari = trim(Param::Get("Cari_Promo"));
|
||||
$tsql = ($tcari=="") ? "" : " AND CONCAT(DATE_FORMAT(Tanggal,'%d-%m-%Y'),Info) LIKE '%".$tcari."%'";
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT * FROM disp_promo WHERE Tipe=1".$tsql);
|
||||
$obj->add_field("PromoID", "ID", "hid");
|
||||
$obj->add_field("Tanggal", "Tanggal", "c", "sqltgl", null, "val-tgl");
|
||||
$obj->add_field("Info", "Isi Informasi / Promo", "awr");
|
||||
$obj->add_field("Warna", "Warna", "c");
|
||||
$obj->add_field("Font", "Font", "c");
|
||||
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
|
||||
$obj->set_field_order("Tanggal", "A");
|
||||
$obj->add_row_btn("clipboard", "Ubah", "DISPPromoJS.detail_ubah");
|
||||
$obj->add_row_btn("trash", "Hapus", "DISPPromoJS.detail_hapus");
|
||||
$obj->set_func_navi("DISPPromoJS.data_query('detail')");
|
||||
$obj->set_func_btn("DISPPromoJS.detail_tambah", "+ Promo");
|
||||
$ajson[] = $obj->json_table("divDetail");
|
||||
|
||||
} else if ( $data == "upload-gambar" ) {
|
||||
$ajson['result'] = 0;
|
||||
|
||||
if (isset($_FILES['Gambar1'])) {
|
||||
$file_ok = false;
|
||||
$file_name = $_FILES['Gambar1']['name'];
|
||||
$file_size = $_FILES['Gambar1']['size'];
|
||||
if ($file_size < 20480000) {
|
||||
$file_ext = strtolower(pathinfo("gambar/".$file_name, PATHINFO_EXTENSION));
|
||||
if (in_array($file_ext, ["png","jpg","jpeg","gif"])) {
|
||||
$file_ok = true;
|
||||
} else {
|
||||
$ajson['message'] = "File tidak dapat diterima !";
|
||||
}
|
||||
} else {
|
||||
$ajson['message'] = "Ukuran file diatas 20MB !";
|
||||
}
|
||||
if ($file_ok) {
|
||||
$file_name = $_FILES['Gambar1']['tmp_name'];
|
||||
$finfo = new finfo(FILEINFO_MIME);
|
||||
$type = $finfo->file($file_name);
|
||||
$mime = substr($type, 0, strpos($type, ';'));
|
||||
|
||||
if ($id_promo > 0) {
|
||||
$db->Query("UPDATE disp_promo SET Image=\"".addslashes(file_get_contents($file_name))."\",Mime='".$mime."' WHERE PromoID='".$id_promo."'");
|
||||
} else {
|
||||
$db->Query("INSERT INTO disp_promo (Image,Mime) VALUES(\"".addslashes(file_get_contents($file_name))."\",'".$mime."')");
|
||||
$id_promo = $db->LastInsertID();
|
||||
}
|
||||
$ajson['result'] = 1;
|
||||
$ajson['PromoID'] = $id_promo;
|
||||
}
|
||||
} else {
|
||||
$ajson = ['result' => 0, 'message' => 'File tidak ditemukan atau masalah internal !'];
|
||||
}
|
||||
|
||||
} else if ( $data == "image") {
|
||||
$gambar = base64_decode("/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAABAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKAP/2Q==");
|
||||
$mime = "image/jpg";
|
||||
|
||||
$db->Query("SELECT Image,Mime FROM disp_promo WHERE PromoID='".$id_promo."' AND Image IS NOT NULL");
|
||||
if ($db->Next()) {
|
||||
$gambar = $db->Row("Image");
|
||||
$mime = $db->Row("Mime");
|
||||
}
|
||||
|
||||
header("Content-type: ".$mime);
|
||||
echo $gambar;
|
||||
die();
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Konfigurasi Display Promo POS</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Promo" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail"> </div></div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
Reference in New Issue
Block a user