Files
manjapro_v6/pages/user_tambah.php
T
2025-10-07 21:01:15 +07:00

290 lines
13 KiB
PHP

<!-- Main content -->
<section class="content">
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header bg-primary">
<div class="row">
<div class="col-sm-6">
<h5>Tambah Pelanggan</h5>
</div>
<div class="col-sm-6">
</div>
</div>
</div>
<form method="post" enctype="multipart/form-data">
<div class="card-body">
<div class="row">
<div class="col-md-6">
<center><label>INFORMASI LAYANAN</label></center>
<div class="form-group m-1">
<label>Pilih Server</label>
<select id="dropdown0" class="form-control" required="required" name="ids">
<option value="">Pilih</option>
<?php
$List->set_list("data_server", $SqlDataWH);
foreach ($List->get_list() as $key => $value): ?>
<option value="<?php echo htmlspecialchars($value['id']); ?>"><?php echo htmlspecialchars($value['nama_server']); ?></option>
<?php endforeach ?>
</select>
</div>
<div class="form-group m-1">
<label>Jenis Layanan</label>
<select id="dropdown1" class="form-control" name="jenis" required>
<option value="">Pilih</option>
<option value="PPPOE">PPPOE</option>
<option value="Hotspot">Hotspot</option>
</select>
</div>
<div class="form-group m-1" id="group-dropdown5">
<label>Mikrotik</label>
<select id="dropdown5" class="form-control select2bs4" name="ism">
</select>
</div>
<div class="form-group m-1" id="group-dropdown2">
<label>Paket Berlangganan</label>
<select id="dropdown2" class="form-control select2bs4" required name="idp">
</select>
</div>
<div class="form-group m-1" id="group-dropdown3">
<label>Marketing Area / Penagih</label>
<select id="dropdown3" class="form-control select2bs4" required name="idm">
</select>
</div>
<hr><center><label>INFORMASI PRIBADI</label></center>
<div class="form-group m-1">
<label>NIK</label>
<input type="text" class="form-control" name="nik">
</div>
<div class="form-group m-1">
<label>Nama</label>
<input type="text" class="form-control" name="nama">
</div>
<div class="form-group m-1">
<label>Email</label>
<input type="email" class="form-control" required="required" name="email" id="emailInput">
<small id="emailError"></small>
</div>
<!--<div class="form-group m-1">-->
<!-- <label>Email</label>-->
<!-- <input type="email" class="form-control" name="email">-->
<!--</div>-->
<div class="form-group m-1">
<label>Nomor WhatsApp</label>
<input type="text" class="form-control" name="nowa">
</div>
<div class="form-group m-1">
<label>Alamat</label>
<input type="text" class="form-control" name="alamat">
</div>
<div class="form-group m-1" id="group-dropdown4">
<label>Desa</label>
<select id="dropdown4" class="form-control select2bs4" required="required" name="desa" data-id="">
<option value="">Pilih</option>
</select>
</div>
<hr><center><label>INFORMASI TOPOLOGI</label></center>
<div class="form-group m-1">
<label for="firstDropdown">Topologi ODP</label>
<select class="select2bs4" name="odp" style="width: 100%" id="firstDropdown" required="required" onchange="updateSecondDropdown()">
<option value="">Pilih</option>
<?php
$List = new Listdata();
$List->set_list("master_topologi", $SqlDataWHId);
foreach ($List->get_list() as $key => $value): ?>
<option value="<?php echo $value['id']; ?>"><?php echo $value['nama']; ?></option>
<?php endforeach ?>
</select>
</div>
<div class="form-group m-1">
<label for="secondDropdown">Port ODP</label>
<select id="secondDropdown" name="port" class="form-control" required="required" data-id="">
</select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group m-1">
<label>Pilih Lokasi Maps / Isi Koordinat</label>
<input class="form-control" type="text" id="latlong" required name="koordinat">
<i class="text-danger"><small>Anda bisa pilih salah satu untuk mengisi bagian ini</small></i>
<!-- Input hidden untuk latitude dan longitude -->
<input type="hidden" id="latitude" data-maps="latitude" name="latitude" required="required">
<input type="hidden" id="longitude" data-maps="longitude" name="longitude" required="required">
<div id="map" style="height:250px;margin-top: 10px;"></div>
</div>
<div class="row">
<div class="col-sm-6">
<center>
<label>Upload Foto Port ODP</label>
<div class="uploadImage" data-id="odp">
<span>Click to upload image</span>
<img src="#" alt="Image preview">
<div class="progressContainer">
<div class="progressBar"></div>
</div>
</div>
<label>Upload Foto Rumah</label>
<div class="uploadImage" data-id="rmh">
<span>Click to upload image</span>
<img src="#" alt="Image preview">
<div class="progressContainer">
<div class="progressBar"></div>
</div>
</div>
</center>
</div>
<div class="col-sm-6">
<center>
<label>Upload Foto ONU terinstalasi</label>
<div class="uploadImage" data-id="onu">
<span>Click to upload image</span>
<img src="#" alt="Image preview">
<div class="progressContainer">
<div class="progressBar"></div>
</div>
</div>
<label>Upload SpeedTest</label>
<div class="uploadImage" data-id="tes">
<span>Click to upload image</span>
<img src="#" alt="Image preview">
<div class="progressContainer">
<div class="progressBar"></div>
</div>
</div>
</center>
</div>
</div>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary btn-sm" name="tambah">Tambah Pelanggan</button>
</div>
</form>
</div>
</div>
</div>
</div>
</section>
<?php
if (isset($_POST['tambah'])) {
$akun = date('YmdHis');
$fotoodp1 = $_SESSION['uploaded_files']['odp'];
$fotorumah1 = $_SESSION['uploaded_files']['rmh'];
$fotoonu1 = $_SESSION['uploaded_files']['onu'];
$fototes1 = $_SESSION['uploaded_files']['tes'];
$nowa = preg_replace("/[^0-9]/", "", $_POST['nowa']);
try {
$cekExist = $pdo->prepare("SELECT id FROM pelanggan WHERE email = :email OR nik = :nik");
$cekExist->execute([
':email' => $_POST['email'],
':nik' => $_POST['nik']
]);
if ($cekExist->rowCount() === 0) {
// Siapkan pernyataan SQL
$stmt = $pdo->prepare("INSERT INTO pelanggan (id_data_server, id_setting_mikrotik, id_profile_paket, id_master_topologi, id_marketing, id_master_desa, port_odp, jenis_layanan, nama, nik, alamat, latitude, longitude, nomor_whatsapp, email, foto_odp, foto_rumah, foto_onu, foto_test, akun, status) VALUES
(:id_data_server, :id_setting_mikrotik, :id_profile_paket, :id_master_topologi, :id_marketing, :id_master_desa, :port_odp, :jenis_layanan, :nama, :nik, :alamat, :latitude, :longitude, :nomor_whatsapp, :email, :foto_odp, :foto_rumah, :foto_onu, :foto_test, :akun, 'register')");
// Ikat parameter
$stmt->bindParam(':id_data_server', $_POST['ids']);
$stmt->bindParam(':id_setting_mikrotik', $_POST['ism']);
$stmt->bindParam(':id_profile_paket', $_POST['idp']);
$stmt->bindParam(':id_master_topologi', $_POST['odp']);
$stmt->bindParam(':id_marketing', $_POST['idm']);
$stmt->bindParam(':id_master_desa', $_POST['desa']);
$stmt->bindParam(':port_odp', $_POST['port']);
$stmt->bindParam(':jenis_layanan', $_POST['jenis']);
$stmt->bindParam(':nama', $_POST['nama']);
$stmt->bindParam(':nik', $_POST['nik']);
$stmt->bindParam(':alamat', $_POST['alamat']);
$stmt->bindParam(':latitude', $_POST['latitude']);
$stmt->bindParam(':longitude', $_POST['longitude']);
$stmt->bindParam(':nomor_whatsapp', $nowa);
$stmt->bindParam(':email', $_POST['email']);
$stmt->bindParam(':foto_odp', $fotoodp1);
$stmt->bindParam(':foto_rumah', $fotorumah1);
$stmt->bindParam(':foto_onu', $fotoonu1);
$stmt->bindParam(':foto_test', $fototes1);
$stmt->bindParam(':akun', $akun);
// Eksekusi pernyataan
$stmt->execute();
$last_id = $pdo->lastInsertId();
$watsap = $pdo->prepare("SELECT nomor_whatsapp FROM data_server WHERE id = :iddata");
$watsap->execute([':iddata' => $_POST['ids']]);
$watsapp = $watsap->fetch(PDO::FETCH_ASSOC);
// Kirim Pesan WhatsApp
$nomor = explode(',', $nowa.','.$watsapp['nomor_whatsapp']);
$APIwa = new PesanWA();
$APIwa->Create_Pesan($_POST['ids'], $last_id, 'Pesan Registrasi');
$Pesan = $APIwa->Get_Pesan();
$APIwa->Send_Pesan($_POST['ids'], ['sendMessage','Pesan Registrasi'], $nomor, $Pesan);
$_SESSION['uploaded_files'] = '';
$_SESSION['uploaded_files'] = '';
$_SESSION['uploaded_files'] = '';
$_SESSION['uploaded_files'] = '';
sweetAlert("Data pelanggan telah di tambahkan", "success", "?".encrypt_url('user_register'));
} else {
$existRow = $cekExist->fetch(PDO::FETCH_ASSOC);
if ($existRow['email'] === $_POST['email']) {
sweetAlert("Registrasi GAGAL..! EMAIL sudah terdaftar", "error");
} elseif ($existRow['nik'] === $_POST['nik']) {
sweetAlert("Registrasi GAGAL..! NIK sudah terdaftar", "error");
} else {
sweetAlert("Registrasi GAGAL..! Data sudah terdaftar", "error");
}
}
// print_r($nomor);
} catch (PDOException $e) {
// Tangani kesalahan
sweetAlert("Error: " . $e->getMessage(), "error");
}
}
?>
<script>
document.addEventListener("DOMContentLoaded", function() {
const emailInput = document.getElementById("emailInput");
const emailError = document.getElementById("emailError");
const gmailRegex = /^[a-z0-9._%+-]+@gmail\.com$/;
// Saat ngetik
emailInput.addEventListener("input", function() {
this.value = this.value.toLowerCase();
if (gmailRegex.test(this.value)) {
emailError.textContent = "✅ Email valid";
emailError.style.color = "green";
} else {
emailError.textContent = "❌ Email tidak valid (harus @gmail.com & huruf kecil)";
emailError.style.color = "red";
}
});
// Saat submit
emailInput.form.addEventListener("submit", function(e) {
if (!gmailRegex.test(emailInput.value)) {
e.preventDefault(); // stop submit
emailError.textContent = "❌ Email tidak valid (harus @gmail.com & huruf kecil)";
emailError.style.color = "red";
emailInput.focus();
}
});
});
</script>
<script type="text/javascript" src="dist/js/mapsFormCustom.js"></script>