first commit

This commit is contained in:
kicap
2023-07-11 17:28:33 +08:00
commit 8b945c8750
3343 changed files with 975054 additions and 0 deletions

View File

@ -0,0 +1,149 @@
<!DOCTYPE html>
<html lang="en">
<head>
<?php $this->load->view('tukang_parkir/header'); ?>
</head>
<body>
<?php $this->load->view('tukang_parkir/sidebar'); ?>
<div id="wrapper">
<div class="main-content">
<div class="row small-spacing">
<div class="col-xs-12">
<div class="box-content card white">
<h4 class="box-title">List Area Parkir</h4>
<div class="card-content">
<div style="overflow-x: auto;">
<table id="table_kritik" class="table table-striped table-bordered display" style="width:100%">
<thead>
<tr>
<th>Waktu</th>
<th>Nama</th>
<th>Aksi</th>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<?php $this->load->view('tukang_parkir/footer'); ?>
</div>
<!-- /.main-content -->
</div>
<div class="modal fade" id="boostrapModal-1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Kritik Dan Komen</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label for="alamat">Waktu</label>
<input type="text" name="waktu" id="waktu" class="form-control" disabled>
</div>
<div class="form-group">
<label for="alamat">Nama</label>
<input type="text" name="nama" id="nama" class="form-control" disabled>
</div>
<div class="form-group">
<label for="alamat">Kritik Dan Komen</label>
<textarea name="kritik" id="kritik" cols="30" rows="10" class="form-control" style="resize:none" disabled></textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm waves-effect waves-light" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary btn-sm waves-effect waves-light" onclick="send_kritik()">Send</button>
</div>
</div>
</div>
</div>
<?php $this->load->view('tukang_parkir/scripts'); ?>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD7B9RynI4hQM_Y4BG9GYxsTLWwYkGASRo&libraries=drawing,places,geometry"></script>
<script src="https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js"></script>
<!-- <script src="<?= base_url() ?>assets/cluster.js"></script> -->
<script>
function datatables() {
table = $('#table_kritik').DataTable({
// "searching": false,
"lengthMenu": [
[5, 10, 15, -1],
[5, 10, 15, "All"]
],
"pageLength": 10,
"ordering": true,
"processing": true,
"serverSide": true,
// "order": [[ 4, 'desc' ]],
"ajax": {
"url": "<?php echo base_url('tukang_parkir/kritik'); ?>",
"type": "POST",
data: {
proses: 'table_area_parkir'
},
},
"columnDefs": [{
"targets": [0],
"orderable": false,
}, ],
});
}
datatables()
function lihat_kritik(id_kritik){
console.log(id_kritik)
try {
$.ajax({
url: "<?php echo base_url('api/kritik') ?>?id_kritik="+id_kritik,
type: "GET",
dataType: "JSON",
beforeSend: function() {
$.blockUI({
message: 'Loading...',
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
}
});
},
success: function(data) {
console.log(data)
$.unblockUI();
// show modal
$('#boostrapModal-1').modal('show');
$('#waktu').val(data.data.created_at)
$('#nama').val(data.data.nama)
$('#kritik').val(data.data.kritik)
},
error: function(jqXHR, textStatus, errorThrown) {
$.unblockUI();
alert('Error Loading Data');
}
});
} catch (error) {
alert(error)
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,116 @@
<!DOCTYPE html>
<html lang="en">
<head>
<?php $this->load->view('tukang_parkir/header'); ?>
</head>
<body>
<?php $this->load->view('tukang_parkir/sidebar'); ?>
<div id="wrapper">
<div class="main-content">
<div class="row small-spacing">
<div class="col-xs-12">
<div class="box-content card white">
<h4 class="box-title">Ganti Password</h4>
<div class="card-content">
<form id="form_tambah">
<div class="form-group">
<label for="luas">Passowrd Lama</label>
<input type="password" id="password_lama" class="form-control" >
</div>
<div class="form-group">
<label for="luas">Password Baru</label>
<input type="password" id="password_baru" class="form-control" >
</div>
<div class="form-group">
<label for="luas">Konfirmasi Password Baru</label>
<input type="password" id="konfirmasi_password_baru" class="form-control" >
</div>
<center><button type="button" class="btn btn-primary btn-sm waves-effect waves-light text" onclick="ganti_password()">Ganti Password</button></center>
</form>
<br>
<div id="div_map" style="display: none;">
<div id="map" style="width: 100%; height: 500px;"></div>
</div>
</div>
</div>
</div>
</div>
<?php $this->load->view('tukang_parkir/footer'); ?>
</div>
<!-- /.main-content -->
</div>
<?php $this->load->view('tukang_parkir/scripts'); ?>
<script>
function ganti_password(){
var password_lama = $('#password_lama').val();
var password_baru = $('#password_baru').val();
var konfirmasi_password_baru = $('#konfirmasi_password_baru').val();
if(password_baru.length < 8){
alert('Password Baru Minimal 8 Karakter');
return false;
}
if(password_baru != konfirmasi_password_baru){
alert('Password Baru dan Konfirmasi Password Baru Tidak Sama');
}else{
$.ajax({
url: "<?php echo base_url('api/ganti_password') ?>",
type: "POST",
data: {
password_lama: password_lama,
password_baru: password_baru
},
dataType: "JSON",
beforeSend: function() {
$.blockUI({
message: 'Loading...',
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
}
});
},
success: function(data) {
$.unblockUI();
console.log(data);
if(data.status == true){
alert('Password Berhasil Diganti');
// clear all input
$('#password_lama').val('');
$('#password_baru').val('');
$('#konfirmasi_password_baru').val('');
}else{
alert('Password Lama Salah');
}
},
error: function(jqXHR, textStatus, errorThrown) {
$.unblockUI();
alert('Error');
}
});
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,8 @@
<footer class="footer">
<ul class="list-inline">
<li>2023 © Kicap Karan.</li>
<li><a href="#">Privacy</a></li>
<li><a href="#">Terms</a></li>
<li><a href="#">Help</a></li>
</ul>
</footer>

View File

@ -0,0 +1,30 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Sistem Parkir Parepare - <?=$header?></title>
<!-- Main Styles -->
<link rel="stylesheet" href="<?=base_url()?>assets/styles/style.min.css">
<!-- mCustomScrollbar -->
<link rel="stylesheet" href="<?=base_url()?>assets/plugin/mCustomScrollbar/jquery.mCustomScrollbar.min.css">
<!-- Waves Effect -->
<link rel="stylesheet" href="<?=base_url()?>assets/plugin/waves/waves.min.css">
<!-- Sweet Alert -->
<link rel="stylesheet" href="<?=base_url()?>assets/plugin/sweet-alert/sweetalert.css">
<!-- Color Picker -->
<link rel="stylesheet" href="<?=base_url()?>assets/color-switcher/color-switcher.min.css">
<link rel="stylesheet" href="<?=base_url()?>assets/fonts/material-design/css/materialdesignicons.css">
<link rel="stylesheet" href="<?=base_url()?>assets/fonts/material-design-iconic-font/css/material-design-iconic-font.min.css">
<!-- Data Tables -->
<link rel="stylesheet" href="<?=base_url()?>assets/plugin/datatables/media/css/dataTables.bootstrap.min.css">
<link rel="stylesheet" href="<?=base_url()?>assets/plugin/datatables/extensions/Responsive/css/responsive.bootstrap.min.css">

View File

@ -0,0 +1,287 @@
<!DOCTYPE html>
<html lang="en">
<head>
<?php $this->load->view('tukang_parkir/header'); ?>
</head>
<body>
<?php $this->load->view('tukang_parkir/sidebar'); ?>
<div id="wrapper">
<div class="main-content">
<div class="row small-spacing">
<div class="col-xs-12">
<div class="box-content card white">
<h4 class="box-title">Peta Lahan Parkir Parepare</h4>
<div class="card-content">
<div id="map" style="width: 100%; height: 500px;"></div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="box-content card white">
<h4 class="box-title">Infomasi Parkir</h4>
<div class="card-content">
<form id="form_tambah">
<div class="form-group">
<label for="luas">Nama Tukang Parkir</label>
<input type="text" id="nama" class="form-control" disabled>
</div>
<div class="form-group">
<label for="luas">NIK Tukang Parkir</label>
<input type="text" id="nik" class="form-control" disabled>
</div>
<div class="form-group">
<label for="kecamatan_select">Kecamatan</label>
<input type="text" id="kecamatan" class="form-control" disabled>
</div>
<div class="form-group">
<label for="kelurahan_select">Kelurahan</label>
<input type="text" id="kelurahan" class="form-control" disabled>
</div>
<div class="form-group">
<label for="luas">Luas Area</label>
<input type="text" id="luas_input" class="form-control" disabled>
</div>
<div class="form-group">
<label for="alamat">Alamat Tempat Parkir</label>
<textarea name="alamat" id="alamat" cols="30" rows="10" class="form-control"style="resize:none" disabled></textarea>
</div>
<div class="form-group">
<label for="luas">Biaya Parkir Per Motor</label>
<input type="text" id="biaya_motor" class="form-control" disabled>
</div>
<div class="form-group">
<label for="luas">Biaya Parkir Per Mobil</label>
<input type="text" id="biaya_mobil" class="form-control" disabled>
</div>
</form>
<br>
<div id="div_map" style="display: none;">
<div id="map" style="width: 100%; height: 500px;"></div>
</div>
</div>
</div>
</div>
</div>
<?php $this->load->view('tukang_parkir/footer'); ?>
</div>
<!-- /.main-content -->
</div>
<?php $this->load->view('tukang_parkir/scripts'); ?>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD7B9RynI4hQM_Y4BG9GYxsTLWwYkGASRo&libraries=drawing,places,geometry"></script>
<script src="https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js"></script>
<!-- <script src="<?= base_url() ?>assets/cluster.js"></script> -->
<script>
// import { MarkerClusterer } from "https://cdn.skypack.dev/@googlemaps/markerclusterer@2.0.3";
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: {
lat: -4.012433155366426,
lng: 119.62193318059713
},
});
var marker_parkir;
var markers = [];
var polygon_parkir;
var polygons = [];
var infowindow
function get_kabupaten() {
$.ajax({
url: "<?php echo base_url('api/kabupaten_maps') ?>",
type: "GET",
dataType: "JSON",
beforeSend: function() {
$.blockUI({
message: 'Loading...',
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
}
});
},
success: function(data) {
$.unblockUI();
// console.log(data.area_parkir.length)
let map_data = data.data;
// console.log(map_data[0])
var bound = new google.maps.LatLngBounds();
for (let i = 0; i < map_data.length; i++) {
let map_1 = map_data[i].kordinat;
let polygon = [];
for (let i = 0; i < map_1.length; i++) {
// map_1[i].lng value return like 119.62361145
// map_1[i].lat value return like -4.00000000
// push value to polygon array
polygon.push({
lat: parseFloat(map_1[i].lat),
lng: parseFloat(map_1[i].lng)
});
}
let show_polygon = new google.maps.Polygon({
paths: polygon,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 0.8,
// fillColor: '#FF0000',
fillOpacity: 0.1
});
show_polygon.setMap(map);
for (var j = 0; j < polygon.length; j++) {
bound.extend(polygon[j]);
}
}
map.fitBounds(bound);
},
error: function(jqXHR, textStatus, errorThrown) {
$.unblockUI();
alert('Error get data from ajax');
}
});
}
get_kabupaten();
async function get_data_tukang_parkir() {
try {
const data = await $.ajax({
url: "<?php echo base_url('api/data_tukang_parkir') ?>",
type: "GET",
dataType: "JSON",
async: false,
beforeSend: function() {
$.blockUI({
message: 'Loading...',
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
}
});
}
}).responseJSON;
// console.log(data);
$.unblockUI();
let detail = data.data;
// add data to detail
$('#nama').val(detail.nama);
$('#nik').val(detail.nik);
$('#kecamatan').val(data.kecamatan);
$('#kelurahan').val(data.kelurahan);
$('#luas_input').val(detail.luas + " m2");
$('#alamat').val(detail.alamat);
$('#biaya_motor').val("Rp. " + detail.biaya_motor);
$('#biaya_mobil').val("Rp. " + detail.biaya_mobil);
marker_parkir = JSON.parse(detail.center);
polygon_parkir = JSON.parse(detail.kordinat);
console.log(polygon_parkir);
console.log(marker_parkir);
marker = new google.maps.Marker({
position: marker_parkir,
map: map,
title: 'Lahan Parkir'
});
markers.push(marker);
infowindow = new google.maps.InfoWindow({
content: "Alamat : " + detail.alamat + "<br>Luas : " + detail.luas + " m2<br>Biaya Parkir Motor : " + detail.biaya_motor + "<br>Biaya Parkir Mobil : " + detail.biaya_mobil
});
marker.addListener("click", () => {
infowindow.open(map, marker);
});
marker.setMap(map);
} catch (error) {
alert("Gagal mengambil data tukang parkir");
}
}
get_data_tukang_parkir();
google.maps.event.addListener(map, 'zoom_changed', function() {
let zoomLevel = map.getZoom();
console.log(zoomLevel);
if(zoomLevel > 15){
// clear all marker on map
markers.forEach(function(marker) {
marker.setMap(null);
});
markers = [];
var polygon = new google.maps.Polygon({
paths: polygon_parkir,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
polygons.push(polygon);
polygon.addListener("click", () => {
infowindow.open(map, polygon);
});
polygon.setMap(map);
}else{
// clear all polygon on map
polygons.forEach(function(polygon) {
polygon.setMap(null);
});
polygons = [];
var marker = new google.maps.Marker({
position: marker_parkir,
map: map,
title: 'Lahan Parkir'
});
markers.push(marker);
marker.addListener("click", () => {
infowindow.open(map, marker);
});
}
});
</script>
</body>
</html>

View File

@ -0,0 +1,102 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Sistem Parkir Parepare - Halaman Login</title>
<link rel="stylesheet" href="<?=base_url()?>assets/styles/style.min.css">
<!-- Waves Effect -->
<link rel="stylesheet" href="<?=base_url()?>assets/plugin/waves/waves.min.css">
</head>
<body>
<div id="single-wrapper">
<form onsubmit="login(event)" class="frm-single">
<div class="inside">
<div class="title"><strong>Sistem Parkir </strong>Parepare</div>
<!-- /.title -->
<div class="frm-title">Form Login Tukang Parkir</div>
<!-- /.frm-title -->
<div class="frm-input"><input type="text" placeholder="Username" id="username" name="username" class="frm-inp" required><i class="fa fa-user frm-ico"></i></div>
<!-- /.frm-input -->
<div class="frm-input"><input type="password" placeholder="Password" class="frm-inp" id="password" name="password" required><i class="fa fa-lock frm-ico"></i></div>
<button type="submit" class="frm-submit">Login<i class="fa fa-arrow-circle-right"></i></button>
<a href="<?=base_url()?>user" class="a-link">Kembali Ke Halaman Utama</a>
<!-- <a href="page-register.html" class="a-link"><i class="fa fa-key"></i>New to NinjaAdmin? Register.</a> -->
<div class="frm-footer">Kicap Karan © 2023.</div>
<!-- /.footer -->
</div>
<!-- .inside -->
</form>
<!-- /.frm-single -->
</div><!--/#single-wrapper -->
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="assets/script/html5shiv.min.js"></script>
<script src="assets/script/respond.min.js"></script>
<![endif]-->
<!--
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="<?=base_url()?>assets/scripts/jquery.min.js"></script>
<script src="<?=base_url()?>assets/scripts/modernizr.min.js"></script>
<script src="<?=base_url()?>assets/plugin/bootstrap/js/bootstrap.min.js"></script>
<script src="<?=base_url()?>assets/plugin/nprogress/nprogress.js"></script>
<script src="<?=base_url()?>assets/plugin/waves/waves.min.js"></script>
<script src="<?=base_url()?>assets/block/jquery.blockUI.js"></script>
<script src="<?=base_url()?>assets/scripts/main.min.js"></script>
<script>
function login(e){
e.preventDefault();
var username = $('#username').val();
var password = $('#password').val();
// ajax
$.ajax({
url: '<?= base_url('api/login_tukang_parkir') ?>?username='+username+'&password='+password,
type: 'GET',
dataType: 'JSON',
beforeSend: function(){
// loading
$.blockUI({
message: 'Login',
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
}
});
},
success: function(data){
console.log(data);
$.unblockUI();
window.location.href = '<?= base_url('tukang_parkir') ?>';
},
error: function( XMLHttpRequest, textStatus, errorThrown ){
console.log( errorThrown );
console.log( textStatus );
console.log( XMLHttpRequest );
$.unblockUI();
alert('Username atau Password Salah');
}
});
}
</script>
</body>
</html>

View File

@ -0,0 +1,33 @@
<!--/#wrapper -->
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="<?=base_url()?>assets/script/html5shiv.min.js"></script>
<script src="<?=base_url()?>assets/script/respond.min.js"></script>
<![endif]-->
<!--
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="<?=base_url()?>assets/scripts/jquery.min.js"></script>
<script src="<?=base_url()?>assets/scripts/modernizr.min.js"></script>
<script src="<?=base_url()?>assets/plugin/bootstrap/js/bootstrap.min.js"></script>
<script src="<?=base_url()?>assets/plugin/mCustomScrollbar/jquery.mCustomScrollbar.concat.min.js"></script>
<script src="<?=base_url()?>assets/plugin/nprogress/nprogress.js"></script>
<script src="<?=base_url()?>assets/plugin/sweet-alert/sweetalert.min.js"></script>
<script src="<?=base_url()?>assets/plugin/waves/waves.min.js"></script>
<!-- Full Screen Plugin -->
<script src="<?=base_url()?>assets/plugin/fullscreen/jquery.fullscreen-min.js"></script>
<script src="<?=base_url()?>assets/block/jquery.blockUI.js"></script>
<script src="<?=base_url()?>assets/plugin/datatables/media/js/jquery.dataTables.min.js"></script>
<script src="<?=base_url()?>assets/plugin/datatables/media/js/dataTables.bootstrap.min.js"></script>
<script src="<?=base_url()?>assets/scripts/main.min.js"></script>
<script src="<?=base_url()?>assets/color-switcher/color-switcher.min.js"></script>
<script>
function logout(){
if(confirm("Apakah anda yakin ingin keluar?")){
window.location.href = "<?=base_url()?>home/logout";
}
// window.location.href = "<?=base_url()?>home/logout";
}
</script>

View File

@ -0,0 +1,64 @@
<div class="main-menu">
<header class="header">
<a href="index.html" class="logo">Parepare</a>
<button type="button" class="button-close fa fa-times js__menu_close"></button>
<div class="user">
<a href="#" class="avatar"><img src="<?=base_url()?>assets/images/admin.png" alt=""><span class="status online"></span></a>
<h5 class="name"><a href="profile.html"><?=$this->session->userdata('nama')?></a></h5>
<h5 class="position"><?=$this->session->userdata('nik')?></h5>
</div>
<!-- /.user -->
</header>
<!-- /.header -->
<div class="content">
<div class="navigation">
<h5 class="title">Navigasi</h5>
<!-- /.title -->
<ul class="menu js__accordion">
<li <?php if ($header == 'Area Parkir Parepare') {
echo 'class="current"';
} ?>>
<a class="waves-effect" href="<?= base_url('tukang_parkir') ?>"><i class="menu-icon fa fa-home"></i><span>Halaman Utama</span></a>
</li>
<li <?php if ($header == 'Kritik Dan Komen') {
echo 'class="current"';
} ?>>
<a class="waves-effect" href="<?= base_url('tukang_parkir/kritik') ?>"><i class="menu-icon fa fa-car"></i><span>Kritik Dan Komen</span></a>
</li>
<li <?php if ($header == 'Ganti Password') {
echo 'class="current"';
} ?>>
<a class="waves-effect" href="<?= base_url('tukang_parkir/password') ?>"><i class="menu-icon fa fa-car"></i><span>Ganti Password</span></a>
</li>
<li>
<a class="waves-effect"href="<?= base_url('tukang_parkir/logout') ?>"><i class="menu-icon mdi mdi-logout"></i><span>Logout</span></a>
</li>
</ul>
</div>
<!-- /.navigation -->
</div>
<!-- /.content -->
</div>
<!-- /.main-menu -->
<div class="fixed-navbar">
<div class="pull-left">
<button type="button" class="menu-mobile-button glyphicon glyphicon-menu-hamburger js__menu_mobile"></button>
<h1 class="page-title"><?= $header ?></h1>
<!-- /.page-title -->
</div>
<!-- /.pull-left -->
<div class="pull-right">
<a href="#" class="ico-item fa fa-power-off"></a>
</div>
<!-- /.pull-right -->
</div>