Selasa, 17 Oktober 2023

Kamis, 26 Januari 2023

Ajax

var protocol = "http";
var host = "localhost";
var directory = "sca";

var isi_token_pengguna = getCookie("isi_token_pengguna");
var lama_sesi_login = 1; //1 hari

var isi_value_combobox = "-1";
var isi_html_combobox = "-- PILIH COMBOBOX --";

$(function () {
	$(".tanggal").datepicker({ dateFormat: "yy-mm-dd", maxDate: new Date });
});

function addZero(i) {
	if (i < 10) {
		i = "0" + i;
	}
	return i;
}

var sekarang = new Date();
var dd = addZero(sekarang.getDate());
var mm = addZero(sekarang.getMonth() + 1); //January is 0!
var yyyy = addZero(sekarang.getFullYear());
var h = addZero(sekarang.getHours());
var m = addZero(sekarang.getMinutes());
var s = addZero(sekarang.getSeconds());

var sekarang_date = yyyy + '-' + mm + '-' + dd;
var sekarang_datetime = yyyy + '-' + mm + '-' + dd + ' ' + h + ':' + m + ':' + s;

var tampungan_cc_pelanggan_lokal = [];

function cc_pelanggan_lokal() {
	var data = {
		token_pengguna: isi_token_pengguna
	};
	$.ajax({
		url: protocol + "://" + host + "/" + directory + "/actions/cc_pelanggan_lokal.php?nc=" + (new Date()).getTime(),
		type: "POST",
		dataType: "json",
		data: data,
		success: function (pesan) {
			tampungan_cc_pelanggan_lokal = pesan;
			$('#id_pelanggan').typeahead('destroy');
			$('#id_pelanggan').typeahead({
				source: tampungan_cc_pelanggan_lokal,
				items: 10
			});
		},
		error: function (pesan) {
			//console.log(pesan);
			alert("ERROR: cc_pelanggan_lokal");
		}
	});
}

function cetak_faktur_penjualan(a) {
	var r = confirm("Apakah Anda yakin Mengunci, MELUNASI (Jika Tunai) & Mencetak Faktur Penjualan ID#" + a + "?");
	if (r == true) {
		//var newwindow = window.open(protocol + "://" + host + "/" + directory + "/actions/cetak_surat_jalan3.php?id=" + a + "&token_pengguna=" + isi_token_pengguna + "&nc=" + (new Date()).getTime(), 'name', 'height=560,width=812,top=70,left=550,menubar=no,location=no,directories=no,resizable=no,scrollbars=yes,toolbar=no,status=no');
		var newwindow = window.open(protocol + "://" + host + "/" + directory + "/actions/cetak_faktur_penjualan.php?id=" + a + "&token_pengguna=" + isi_token_pengguna + "&nc=" + (new Date()).getTime(), 'name', 'height=550,width=580,top=70,left=550,menubar=no,location=no,directories=no,resizable=no,scrollbars=yes,toolbar=no,status=no');
		if (window.focus) { newwindow.focus() }
	}
}

function setCookie(cname, cvalue, exdays) {
	var d = new Date();
	d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
	var expires = "expires=" + d.toUTCString();
	document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
	var name = cname + "=";
	var ca = document.cookie.split(';');
	for (var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') {
			c = c.substring(1);
		}
		if (c.indexOf(name) == 0) {
			return c.substring(name.length, c.length);
		}
	}
	return "";
}

function deleteCookie(name) {
	(function () {
		var cookies = document.cookie.split("; ");
		for (var c = 0; c < cookies.length; c++) {
			var d = window.location.hostname.split(".");
			while (d.length > 0) {
				var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + "=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=" + d.join(".") + " ;path=";
				var p = location.pathname.split("/");
				document.cookie = cookieBase + "/";
				while (p.length > 0) {
					document.cookie = cookieBase + p.join("/");
					p.pop();
				};
				d.shift();
			}
		}
	});
	document.cookie = name + "=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;";
}

if ($('#ingatkan_aku').is(':checked')) {
	var lama_sesi_login = 30; //30 Hari, masa aktif token
}

if ($('#status_penjualan_detail:checked').prop('checked') == true) {
	status_penjualan_detail = "1";
} else {
	status_penjualan_detail = "0";
}

$("#id_jenis_pembayaran").change(function () {
	if ($("#id_jenis_pembayaran").val() == "2") {
		$("#form_tempo_hari_penjualan").removeClass("sr-only");
	} else {
		$("#form_tempo_hari_penjualan").addClass("sr-only");
		$("#tempo_hari_penjualan").val(0);
	}
});

$("#tanggal_penjualan").prop("disabled", true);
$("#id_dari_combobox").append(new Option(isi_html_combobox, isi_value_combobox));
$("#id_dari_combobox").val(isi_value_combobox);
if(alfabet == 1) {
	$("#id_dari_checkbox").prop("checked", true);
} else {
	$("#id_dari_checkbox").prop("checked", false);
}

$('#tombol_buat').remove();
$('#id_pelanggan').focus();
$('#id_pelanggan').select();

$("#tombol_masuk").click(function () {
	if ($(window).width() < 768) { //KETIKA LAYAR HP/ANDROID
		var keterangan_masuk = 1;
	} else { //KETIKA LAYAR KOMPUTER
		var keterangan_masuk = 3;
	}

	var data = {
		username_pengguna: $("#username").val(),
		password_pengguna: $("#password").val(),
		lama_sesi_login: lama_sesi_login,
		keterangan_masuk: keterangan_masuk
	};
	$.ajax({
		url: protocol + "://" + host + "/" + directory + "/actions/core/masuk.php?nc=" + (new Date()).getTime(),
		dataType: "json",
		type: "POST",
		data: data,
		success: function (pesan) {
			$.each(pesan, function (i, n) {
				pesan_a = n["id_pengguna"];
				pesan_g = n["token_pengguna"];
			});
			if (pesan_a == 0) {
				alert("GAGAL LOGIN");
			} else {
				alert("SUKSES LOGIN");
				setCookie("id_pengguna", pesan_a, lama_sesi_login);
				setCookie("isi_token_pengguna", pesan_g, lama_sesi_login);
				localStorage.clear();
				localStorage.setItem("menu_pengguna", pesan_h);
				setTimeout(function () {
					location.reload();
				}, 2000);
			}
		},
		error: function (pesan) {
			alert("Terjadi Kesalahan Pada Saat Menghubungkan Dengan Server, Silahkan Coba Kembali"); //GAGAL
		}
	});
	return false;
});

function tambah_data() {
	var validasi_form = true;
	var hasil = 0;
	var pesan_hasil = "Terjadi Kesalahan Pada Saat Menghubungkan Dengan Server, Silahkan Coba Kembali";
	if ($("#id_barang").val().slice(-14).substr(0, 4) == "BRG-") { //BRG-BBGDL0009607 <<< Ambil 14 character paling belakang
		//validasi_form = true;
	} else if (validasi_form == true) {
		validasi_form = false;
		pesan_hasil = "ADA KESALAHAN PADA KODE BARANG";
	}
	if ($("#id_barang").val().slice(-16).substring(0, 2).replace(/^0+/, '') > 0) { //BRG-BBGDL0009607 <<< Ambil 2 character paling belakang
		//validasi_form = true;
	} else if (validasi_form == true) {
		validasi_form = false;
		pesan_hasil = "ADA KESALAHAN PADA SATUAN BARANG";
	}
	var r = confirm("Apakah Anda yakin input data ini?");
	if (validasi_form == true) {
		if (r == true) {
			var data = {
				id_pengguna: $("#id_pengguna").val(),
				id_pelanggan: $("#id_pelanggan").val().substr(0, 15),
				id_barang: $("#id_barang").val().substr(0, 14),
				id_satuan_barang: $("#id_barang").val().substr(14, 2),
				token_pengguna: isi_token_pengguna
			};
			$.ajax({
				url: protocol + "://" + host + "/" + directory + "/actions/pengguna_tambah.php?nc=" + (new Date()).getTime(),
				type: "POST",
				data: data,
				success: function (pesan) {
					$.each(pesan, function (i, n) {
						hasil = n["hasil"];
						pesan_hasil = n["pesan_hasil"];
					});
					if (!isNaN(hasil) && hasil > 0) {
						alert("SUKSES: " + pesan_hasil);
						setTimeout(function () {
							$.ajax({
								url: protocol + "://" + host + "/" + directory + "/actions/aa_update_ppn_permintaan_penjualan.php?id_permintaan_penjualan=" + id_permintaan_penjualan + "&nc=" + (new Date()).getTime(),
								type: "GET",
								success: function (pesan) {
									alert("JALANKAN AFTER SUKSES FUNCTION");
								},
								error: function (pesan) {
									refresh();
								}
							});
						}, 500);
					} else {
						alert("GAGAL: " + pesan_hasil);
					}
				},
				error: function (pesan) {
					if (typeof pesan !== 'undefined') {
						$.each(pesan, function (i, n) {
							hasil = n["hasil"];
							pesan_hasil = n["pesan_hasil"];
						});
					}
					alert(pesan_hasil); //GAGAL
				}
			});
		}
	} else {
		alert(pesan_hasil); //GAGAL
	}
}

$(document).ready(function () {
	$('body').off();
	$('body').on('keydown', 'input, select', function (e) {
		if (e.key === "Enter") {
			if ($(this).attr('id') == "nama_permintaan_penjualan" && $("#nama_permintaan_penjualan").val() != "") {
				var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
				focusable = form.find('input,a,select,button,textarea').filter(':visible');
				next = focusable.eq(focusable.index(this) + 1);
				if (next.length) {
					next.focus();
					next.select();
				} else {
					form.submit();
				}
				return false;
			} else if ($(this).attr('id') == "tempo_hari_permintaan_penjualan" && $("#tempo_hari_permintaan_penjualan").val() != "" && !isNaN($("#tempo_hari_permintaan_penjualan").val())) {
				var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
				focusable = form.find('input,a,select,button,textarea').filter(':visible');
				next = focusable.eq(focusable.index(this) + 1);
				if (next.length) {
					next.focus();
					next.select();
				} else {
					form.submit();
				}
				return false;
			} else if ($(this).attr('id') == "id_pelanggan" && $("#id_pelanggan").val() != "" && $("#id_pelanggan").val().includes(" == ")) {
				var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
				focusable = form.find('input,a,select,button,textarea').filter(':visible');
				next = focusable.eq(focusable.index(this) + 1);
				if (next.length) {
					next.focus();
					next.select();
				} else {
					form.submit();
				}
				return false;
			} else if ($(this).attr('id') == "jumlah_permintaan_penjualan_detail" && $("#jumlah_permintaan_penjualan_detail").val() > 0) {
				var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
				focusable = form.find('input,a,select,button,textarea').filter(':visible');
				next = focusable.eq(focusable.index(this) + 1);
				if (next.length) {
					next.focus();
					next.select();
				} else {
					form.submit();
				}
				return false;
			} else {
				var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
				focusable = form.find('input,a,select,button,textarea').filter(':visible');
				next = focusable.eq(focusable.index(this) + 1);
				if (next.length) {
					next.focus();
					next.select();
				} else {
					form.submit();
				}
				return false;
			}
		} else if (e.key === "Escape") {
			location.reload();
		}
	});
});

Minggu, 13 Februari 2022

PHP Create Array Value With Key

<?php
    $array = array();
    $array['{name}'] = "Agustian Romy Ariansyah";
    $array['{detail.country}'] = "Indonesia";
    $array['{detail.age}'] = "32";
    print_r($array);
    /*
    Array
    (
        [{name}] => Agustian Romy Ariansyah
        [{detail.country}] => Indonesia
        [{detail.age}] => 32
    )
    */
    echo $array['{name}']; //Agustian Romy Ariansyah
    echo count($array); //3
    echo implode(array_keys($array)); //{name}{detail.country}{detail.age}
?>

PHP String Replace All From Array

<?php
    $string = "My name is {name}. I live in {detail.country} and age is {detail.age}";
    
    $array = array(
        '{name}' => 'Agustian Romy Ariansyah',
        '{detail.country}' => 'Indonesia',
        '{detail.age}' => '32'
    );
    
    $result = str_replace(array_keys($array), array_values($array), $string);
    
    echo $string; //My name is Agustian Romy Ariansyah. I live in Indonesia and age is 32
?>


<?php
    $string = "My name is {name}. I live in {detail.country} and age is {detail.age}";
    
    $array = array(
        'name' => 'Agustian Romy Ariansyah',
        'detail' => array(
            'country' => 'Indonesia',
            'age' => '32'
        )
    );

    foreach($array as $key => $value) {
        if(is_array($value)) {
            foreach($value as $key2 => $value2) {
                $string = str_replace("{".$key.".".$key2."}", $value2, $string);
            }
        } else {
            $string = str_replace("{".$key."}", $value, $string);
        }
    }
    
    echo $string; //My name is Agustian Romy Ariansyah. I live in Indonesia and age is 32
?>