first commit
This commit is contained in:
105
routes/admin_route.js
Executable file
105
routes/admin_route.js
Executable file
@ -0,0 +1,105 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const dotenv = require('dotenv');
|
||||
const conn = require('../conn');
|
||||
const connection = conn.connection;
|
||||
const md5 = require('md5');
|
||||
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error('Error connecting to MySQL database: ' + err.stack);
|
||||
return;
|
||||
}
|
||||
console.log('Connected to MySQL database as id ' + connection.threadId);
|
||||
})
|
||||
|
||||
dotenv.config();
|
||||
|
||||
router.get('/', async (req, res) => {
|
||||
res.sendFile(__dirname + '/ui/admin/index.html');
|
||||
})
|
||||
|
||||
|
||||
// begin kelas
|
||||
router.get('/kelas', async (req, res) => {
|
||||
res.sendFile(__dirname + '/ui/admin/kelas.html');
|
||||
})
|
||||
|
||||
router.get('/kelas/get', async (req, res) => {
|
||||
const query = 'SELECT * FROM tb_kelas';
|
||||
connection.query(query, (error, results) => {
|
||||
if (error) {
|
||||
console.log('error get kelas', error);
|
||||
return res.status(500).json({ message: 'Internal server error', status: false });
|
||||
}
|
||||
return res.status(200).json({ success: true, data: results, status: true });
|
||||
})
|
||||
})
|
||||
|
||||
router.post('/kelas', async (req, res) => {
|
||||
const { kelas } = req.body;
|
||||
const query = 'INSERT INTO tb_kelas (nama_kelas) VALUES (?)';
|
||||
connection.query(query, [ kelas], (error, results) => {
|
||||
if (error) {
|
||||
console.log('error insert kelas', error);
|
||||
return res.status(500).json({ message: 'Internal server error', status: false });
|
||||
}
|
||||
return res.status(200).json({ success: true, data: results, status: true });
|
||||
})
|
||||
})
|
||||
|
||||
router.put('/kelas', async (req, res) => {
|
||||
const { id, kelas } = req.body;
|
||||
const query = 'UPDATE tb_kelas SET nama_kelas = ? WHERE id_kelas = ?';
|
||||
connection.query(query, [ kelas, id], (error, results) => {
|
||||
if (error) {
|
||||
console.log('error update kelas', error);
|
||||
return res.status(500).json({ message: 'Internal server error', status: false });
|
||||
}
|
||||
return res.status(200).json({ success: true, data: results, status: true });
|
||||
})
|
||||
})
|
||||
|
||||
router.delete('/kelas/:id', async (req, res) => {
|
||||
const { id } = req.params;
|
||||
const query = 'DELETE FROM tb_kelas WHERE id_kelas = ?';
|
||||
connection.query(query, [ id], (error, results) => {
|
||||
if (error) {
|
||||
console.log('error delete kelas', error);
|
||||
return res.status(500).json({ message: 'Internal server error', status: false });
|
||||
}
|
||||
return res.status(200).json({ success: true, data: results, status: true });
|
||||
})
|
||||
})
|
||||
// end kelas
|
||||
|
||||
// begin siswa
|
||||
router.get('/siswa', async (req, res) => {
|
||||
res.sendFile(__dirname + '/ui/admin/siswa.html');
|
||||
})
|
||||
|
||||
|
||||
router.post('/siswa', async (req, res) => {
|
||||
const { nis, nama, kelas , nama_kelas, angkatan , nik , tempat_lahir , tanggal_lahir , jenis_kelamin , agama , orang_tua1 , orang_tua2 , no_hp_orang_tua , alamat } = req.body;
|
||||
const { gambar } = req.files;
|
||||
console.log(gambar)
|
||||
console.log("nama", nama)
|
||||
console.log("nis", nis)
|
||||
console.log("kelas", kelas)
|
||||
console.log("nama_kelas", nama_kelas)
|
||||
console.log("angkatan", angkatan)
|
||||
console.log("nik", nik)
|
||||
console.log("tempat_lahir", tempat_lahir)
|
||||
console.log("tanggal_lahir", tanggal_lahir)
|
||||
console.log("enis_kelamin", jenis_kelamin)
|
||||
console.log("agama", agama)
|
||||
console.log("orang_tua1", orang_tua1)
|
||||
console.log("orang_tua2", orang_tua2)
|
||||
console.log("no_hp_orang_tua", no_hp_orang_tua)
|
||||
console.log("alamat", alamat)
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = router
|
20
routes/before_login_route.js
Executable file
20
routes/before_login_route.js
Executable file
@ -0,0 +1,20 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const dotenv = require('dotenv');
|
||||
const mysql = require('mysql');
|
||||
const md5 = require('md5');
|
||||
|
||||
dotenv.config();
|
||||
|
||||
router.get('/', async (req, res) => {
|
||||
// run the login file in parent folder /ui
|
||||
res.sendFile(__dirname + '/ui/login.html');
|
||||
})
|
||||
|
||||
|
||||
router.get('/kelas', async (req, res) => {
|
||||
// run the login file in parent folder /ui
|
||||
res.sendFile(__dirname + '/ui/login.html');
|
||||
})
|
||||
|
||||
module.exports = router
|
119
routes/ui/admin/index.html
Executable file
119
routes/ui/admin/index.html
Executable file
@ -0,0 +1,119 @@
|
||||
<!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>Halaman Utama</title>
|
||||
|
||||
<!-- Main Styles -->
|
||||
<link rel="stylesheet" href="/styles/style.min.css">
|
||||
|
||||
<!-- mCustomScrollbar -->
|
||||
<link rel="stylesheet" href="/plugin/mCustomScrollbar/jquery.mCustomScrollbar.min.css">
|
||||
|
||||
<!-- Waves Effect -->
|
||||
<link rel="stylesheet" href="/plugin/waves/waves.min.css">
|
||||
|
||||
<!-- Sweet Alert -->
|
||||
<link rel="stylesheet" href="/plugin/sweet-alert/sweetalert.css">
|
||||
|
||||
<link rel="stylesheet" href="/fonts/fontello/fontello.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="main-menu">
|
||||
<header class="header">
|
||||
<a href="/admin" class="logo">Sekolah</a>
|
||||
<button type="button" class="button-close fa fa-times js__menu_close"></button>
|
||||
<div class="user">
|
||||
<a href="#" class="avatar"><img src="http://placehold.it/80x80" alt=""><span class="status online"></span></a>
|
||||
<h5 class="name"><a href="profile.html">Admin</a></h5>
|
||||
<h5 class="position">Admin</h5>
|
||||
|
||||
</div>
|
||||
<!-- /.user -->
|
||||
</header>
|
||||
<!-- /.header -->
|
||||
<div class="content">
|
||||
|
||||
<div class="navigation">
|
||||
<h5 class="title">Navigasi</h5>
|
||||
<!-- /.title -->
|
||||
<ul class="menu js__accordion">
|
||||
<li class="current active">
|
||||
<a class="waves-effect" href="/admin"><i class="menu-icon fa fa-home"></i><span>Halaman Utama</span></a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="waves-effect" href="/admin/kelas"><i class="menu-icon fa fa-users"></i><span>Pengaturan Kelas</span></a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="waves-effect" href="#" onclick="logout()"><i class="menu-icon ico icon-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">Halaman Utama</h1>
|
||||
<!-- /.page-title -->
|
||||
</div>
|
||||
<!-- /.pull-left -->
|
||||
<div class="pull-right">
|
||||
|
||||
|
||||
<a href="#" class="ico-item ico icon-logout" onclick="logout()"></a>
|
||||
</div>
|
||||
<!-- /.pull-right -->
|
||||
</div>
|
||||
<!-- /.fixed-navbar -->
|
||||
|
||||
<div id="wrapper">
|
||||
<div class="main-content">
|
||||
|
||||
<footer class="footer">
|
||||
<ul class="list-inline">
|
||||
<li>2024 © Sekolah.</li>
|
||||
<!-- <li><a href="#">Privacy</a></li>
|
||||
<li><a href="#">Terms</a></li>
|
||||
<li><a href="#">Help</a></li> -->
|
||||
</ul>
|
||||
</footer>
|
||||
</div>
|
||||
<!-- /.main-content -->
|
||||
</div><!--/#wrapper -->
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/script/html5shiv.min.js"></script>
|
||||
<script src="/script/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!--
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="/scripts/jquery.min.js"></script>
|
||||
<script src="/scripts/modernizr.min.js"></script>
|
||||
<script src="/plugin/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="/plugin/mCustomScrollbar/jquery.mCustomScrollbar.concat.min.js"></script>
|
||||
<script src="/plugin/nprogress/nprogress.js"></script>
|
||||
<script src="/plugin/sweet-alert/sweetalert.min.js"></script>
|
||||
<script src="/plugin/waves/waves.min.js"></script>
|
||||
<!-- Full Screen Plugin -->
|
||||
<script src="/plugin/fullscreen/jquery.fullscreen-min.js"></script>
|
||||
|
||||
<script src="/scripts/main.min.js"></script>
|
||||
<script src="/my-js.js"></script>
|
||||
]
|
||||
</body>
|
||||
</html>
|
437
routes/ui/admin/kelas.html
Executable file
437
routes/ui/admin/kelas.html
Executable file
@ -0,0 +1,437 @@
|
||||
<!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>Halaman Kelas</title>
|
||||
|
||||
<!-- Main Styles -->
|
||||
<link rel="stylesheet" href="/styles/style.min.css">
|
||||
|
||||
<!-- mCustomScrollbar -->
|
||||
<link rel="stylesheet" href="/plugin/mCustomScrollbar/jquery.mCustomScrollbar.min.css">
|
||||
|
||||
<!-- Waves Effect -->
|
||||
<link rel="stylesheet" href="/plugin/waves/waves.min.css">
|
||||
|
||||
<!-- Sweet Alert -->
|
||||
<link rel="stylesheet" href="/plugin/sweet-alert/sweetalert.css">
|
||||
|
||||
<link rel="stylesheet" href="/fonts/fontello/fontello.css">
|
||||
|
||||
<!-- <link rel="stylesheet" href="/plugin/datatables/media/css/dataTables.bootstrap.min.css"> -->
|
||||
<link rel="stylesheet" href="/fonts/material-design-iconic-font/css/material-design-iconic-font.min.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="main-menu">
|
||||
<header class="header">
|
||||
<a href="/admin" class="logo">Sekolah</a>
|
||||
<button type="button" class="button-close fa fa-times js__menu_close"></button>
|
||||
<div class="user">
|
||||
<a href="#" class="avatar"><img src="http://placehold.it/80x80" alt=""><span
|
||||
class="status online"></span></a>
|
||||
<h5 class="name"><a href="profile.html">Admin</a></h5>
|
||||
<h5 class="position">Admin</h5>
|
||||
|
||||
</div>
|
||||
<!-- /.user -->
|
||||
</header>
|
||||
<!-- /.header -->
|
||||
<div class="content">
|
||||
|
||||
<div class="navigation">
|
||||
<h5 class="title">Navigasi</h5>
|
||||
<!-- /.title -->
|
||||
<ul class="menu js__accordion">
|
||||
<li>
|
||||
<a class="waves-effect" href="/admin"><i class="menu-icon fa fa-home"></i><span>Halaman
|
||||
Utama</span></a>
|
||||
</li>
|
||||
|
||||
<li class="current active">
|
||||
<a class="waves-effect" href="/admin/kelas"><i
|
||||
class="menu-icon zmdi zmdi-collection-text"></i><span>Pengaturan Kelas</span></a>
|
||||
</li>
|
||||
|
||||
<li >
|
||||
<a class="waves-effect" href="/admin/siswa"><i
|
||||
class="menu-icon fa fa-users"></i><span>Siswa</span></a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="waves-effect" href="#" onclick="logout()"><i
|
||||
class="menu-icon ico icon-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">Halaman Kelas</h1>
|
||||
<!-- /.page-title -->
|
||||
</div>
|
||||
<!-- /.pull-left -->
|
||||
<div class="pull-right">
|
||||
|
||||
|
||||
<a href="#" class="ico-item ico icon-logout" onclick="logout()"></a>
|
||||
</div>
|
||||
<!-- /.pull-right -->
|
||||
</div>
|
||||
<!-- /.fixed-navbar -->
|
||||
|
||||
<div id="wrapper">
|
||||
<div class="main-content">
|
||||
<div class="row small-spacing">
|
||||
<div class="col-xs-12">
|
||||
<div class="box-content">
|
||||
<h4 class="box-title"><button type="button"
|
||||
class="btn btn-info btn-rounded waves-effect waves-light" onclick="addKelasOpenModal()">Tambah Kelas</button></h4>
|
||||
<!-- /.box-title -->
|
||||
|
||||
<table id="example" class="table table-striped table-bordered display" style="width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nama Kelas</th>
|
||||
<th>Aksi</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="tbody">
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- /.box-content -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer class="footer">
|
||||
<ul class="list-inline">
|
||||
<li>2024 © Sekolah.</li>
|
||||
<!-- <li><a href="#">Privacy</a></li>
|
||||
<li><a href="#">Terms</a></li>
|
||||
<li><a href="#">Help</a></li> -->
|
||||
</ul>
|
||||
</footer>
|
||||
</div>
|
||||
<!-- /.main-content -->
|
||||
</div><!--/#wrapper -->
|
||||
|
||||
<div class="modal fade" id="boostrapModal-3" tabindex="-1" role="dialog" aria-labelledby="myModalLabel-2">
|
||||
<div class="modal-dialog modal-sm" 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">×</span></button>
|
||||
<h4 class="modal-title" id="myModalLabel-2">Form Tambah Kelas</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label class="control-label">Nama Kelas</label>
|
||||
<input type="text" class="form-control" placeholder="Masukkan Nama Kelas" id="nama-kelas">
|
||||
<input type="hidden" id="id-kelas">
|
||||
</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" id="btn-tambah-kelas"
|
||||
onclick="tambahKelas()">Tambah kelas</button>
|
||||
<button type="button" class="btn btn-primary btn-sm waves-effect waves-light" id="btn-update-kelas" onclick="updateKelas()">Update kelas</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/script/html5shiv.min.js"></script>
|
||||
<script src="/script/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!--
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="/scripts/jquery.min.js"></script>
|
||||
<script src="/scripts/modernizr.min.js"></script>
|
||||
<script src="/plugin/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="/plugin/mCustomScrollbar/jquery.mCustomScrollbar.concat.min.js"></script>
|
||||
<script src="/plugin/nprogress/nprogress.js"></script>
|
||||
<script src="/plugin/sweet-alert/sweetalert.min.js"></script>
|
||||
<script src="/plugin/waves/waves.min.js"></script>
|
||||
<!-- Full Screen Plugin -->
|
||||
<script src="/plugin/fullscreen/jquery.fullscreen-min.js"></script>
|
||||
<!-- <script src="/plugin/datatables/media/js/jquery.dataTables.min.js"></script>
|
||||
<script src="/plugin/datatables/media/js/dataTables.bootstrap.min.js"></script>
|
||||
<script src="/plugin/datatables/extensions/Responsive/js/dataTables.responsive.min.js"></script> -->
|
||||
|
||||
<script src="/block/jquery.blockUI.js"></script>
|
||||
<script src="/scripts/main.min.js"></script>
|
||||
<script src="/my-js.js"></script>
|
||||
<script>
|
||||
|
||||
function addKelasOpenModal() {
|
||||
$('#boostrapModal-3').modal('show');
|
||||
$('#nama-kelas').val('')
|
||||
$('#myModalLabel-2').html('Form Tambah Kelas')
|
||||
$('#id-kelas').val('')
|
||||
$('#btn-update-kelas').hide()
|
||||
$('#btn-tambah-kelas').show()
|
||||
}
|
||||
function tambahKelas() {
|
||||
let kelas = $('#nama-kelas').val();
|
||||
|
||||
if (kelas == '') {
|
||||
swal({
|
||||
type: "warning",
|
||||
title: "Kelas harus diisi",
|
||||
// text: "Kelas harus diisi"
|
||||
})
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
swal({
|
||||
type: "info",
|
||||
title: "Yakin?",
|
||||
text: "Kelas akan ditambahkan",
|
||||
showCancelButton: !0,
|
||||
// confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Ya",
|
||||
cancelButtonText: "Tidak",
|
||||
|
||||
}, function (y) {
|
||||
if (y) {
|
||||
$.ajax({
|
||||
url: '/admin/kelas',
|
||||
type: 'POST',
|
||||
data: {
|
||||
kelas: kelas
|
||||
},
|
||||
beforeSend: function () {
|
||||
// close modal
|
||||
$('#boostrapModal-3').modal('hide')
|
||||
blockUI('Loading')
|
||||
},
|
||||
success: function (data) {
|
||||
console.log(data)
|
||||
$.unblockUI();
|
||||
swal({
|
||||
type: "success",
|
||||
title: "Sukses",
|
||||
text: "Kelas ditambahkan",
|
||||
timer: 2000,
|
||||
showConfirmButton: !1
|
||||
})
|
||||
getKelas()
|
||||
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
$.unblockUI();
|
||||
swal({
|
||||
type: "error",
|
||||
title: "Error",
|
||||
text: errorThrown,
|
||||
timer: 2000,
|
||||
showConfirmButton: !1
|
||||
// close after 2 seconds
|
||||
|
||||
}, function () {
|
||||
// open modal
|
||||
$('#boostrapModal-3').modal('show')
|
||||
$('#nama-kelas').val(kelas)
|
||||
// close swal
|
||||
swal.close()
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
function edit_kelas_open_modal(id, kelas) {
|
||||
$('#boostrapModal-3').modal('show');
|
||||
$('#nama-kelas').val(kelas)
|
||||
$('#id-kelas').val(id)
|
||||
$('#myModalLabel-2').html('Form Edit Kelas')
|
||||
$('#btn-update-kelas').show()
|
||||
$('#btn-tambah-kelas').hide()
|
||||
}
|
||||
|
||||
|
||||
function updateKelas() {
|
||||
let id = $('#id-kelas').val();
|
||||
let kelas = $('#nama-kelas').val();
|
||||
|
||||
if (kelas == '') {
|
||||
swal({
|
||||
type: "warning",
|
||||
title: "Kelas harus diisi",
|
||||
// text: "Kelas harus diisi"
|
||||
})
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
swal({
|
||||
type: "info",
|
||||
title: "Yakin?",
|
||||
text: "Kelas akan diupdate",
|
||||
showCancelButton: !0,
|
||||
// confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Ya",
|
||||
cancelButtonText: "Tidak",
|
||||
} , function (y) {
|
||||
if (y) {
|
||||
$.ajax({
|
||||
url: '/admin/kelas',
|
||||
type: 'PUT',
|
||||
data: {
|
||||
id: id,
|
||||
kelas: kelas
|
||||
},
|
||||
beforeSend: function () {
|
||||
// close modal
|
||||
$('#boostrapModal-3').modal('hide')
|
||||
blockUI('Loading')
|
||||
},
|
||||
success: function (data) {
|
||||
console.log(data)
|
||||
$.unblockUI();
|
||||
swal({
|
||||
type: "success",
|
||||
title: "Sukses",
|
||||
text: "Kelas diupdate",
|
||||
timer: 2000,
|
||||
showConfirmButton: !1
|
||||
})
|
||||
getKelas()
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
$.unblockUI();
|
||||
swal({
|
||||
type: "error",
|
||||
title: "Error",
|
||||
text: errorThrown,
|
||||
timer: 2000,
|
||||
showConfirmButton: !1
|
||||
})
|
||||
|
||||
$('#boostrapModal-3').modal('show')
|
||||
$('#nama-kelas').val(kelas)
|
||||
// close swal
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function deleteKelas(id) {
|
||||
swal({
|
||||
type: "warning",
|
||||
title: "Yakin?",
|
||||
text: "Kelas akan dihapus",
|
||||
showCancelButton: !0,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Ya",
|
||||
cancelButtonText: "Tidak",
|
||||
confirmButtonColor: "#f60e0e"
|
||||
} , function (y) {
|
||||
if (y) {
|
||||
$.ajax({
|
||||
url: '/admin/kelas/' + id,
|
||||
type: 'DELETE',
|
||||
|
||||
beforeSend: function () {
|
||||
blockUI('Loading')
|
||||
},
|
||||
success: function (data) {
|
||||
console.log(data)
|
||||
$.unblockUI();
|
||||
swal({
|
||||
type: "success",
|
||||
title: "Sukses",
|
||||
text: "Kelas dihapus",
|
||||
timer: 2000,
|
||||
showConfirmButton: !1
|
||||
})
|
||||
getKelas()
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
$.unblockUI();
|
||||
swal({
|
||||
type: "error",
|
||||
title: "Error",
|
||||
text: errorThrown,
|
||||
timer: 2000,
|
||||
showConfirmButton: !1
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function getKelas() {
|
||||
$.ajax({
|
||||
url: '/admin/kelas/get',
|
||||
type: 'GET',
|
||||
beforeSend: function () {
|
||||
//
|
||||
$('#tbody').html('<tr><td colspan="3"><center>Loading...</center></td></tr>')
|
||||
},
|
||||
success: function (json) {
|
||||
// console.log(data)
|
||||
const data = json.data
|
||||
if (data.length == 0) {
|
||||
let html = 'Belum ada kelas yang ditambahkan'
|
||||
$('#tbody').html('<tr><td colspan="3"><center>' + html + '</center></td></tr>')
|
||||
return;
|
||||
}
|
||||
|
||||
let html = ''
|
||||
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
html += '<tr>' +
|
||||
// '<td>' + (i + 1) + '</td>' +
|
||||
'<td>' + data[i].nama_kelas + '</td>' +
|
||||
'<td>' +
|
||||
`<button type='button' onclick='edit_kelas_open_modal(${data[i].id_kelas}, "${data[i].nama_kelas}")' title='Edit Kelas' class='btn btn-info btn-circle btn-sm waves-effect waves-light'><i class='ico zmdi zmdi-info'></i></button> ` +
|
||||
`<button type='button' onclick='deleteKelas(${data[i].id_kelas})' title='Hapus Kelas' class='btn btn-danger btn-circle btn-sm waves-effect waves-light'><i class='ico zmdi zmdi-delete'></i></button>` +
|
||||
'</td>' +
|
||||
'</tr>'
|
||||
}
|
||||
|
||||
$('#tbody').html(html)
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
// $.unblockUI();
|
||||
$('#tbody').html('<tr><td colspan="3"><center>Error loading data</center></td></tr>')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
getKelas()
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
428
routes/ui/admin/siswa.html
Executable file
428
routes/ui/admin/siswa.html
Executable file
@ -0,0 +1,428 @@
|
||||
<!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>Halaman Kelas</title>
|
||||
|
||||
<!-- Main Styles -->
|
||||
<link rel="stylesheet" href="/styles/style.min.css">
|
||||
|
||||
<!-- mCustomScrollbar -->
|
||||
<link rel="stylesheet" href="/plugin/mCustomScrollbar/jquery.mCustomScrollbar.min.css">
|
||||
|
||||
<!-- Waves Effect -->
|
||||
<link rel="stylesheet" href="/plugin/waves/waves.min.css">
|
||||
|
||||
<!-- Sweet Alert -->
|
||||
<link rel="stylesheet" href="/plugin/sweet-alert/sweetalert.css">
|
||||
|
||||
<link rel="stylesheet" href="/fonts/fontello/fontello.css">
|
||||
|
||||
<link rel="stylesheet" href="/plugin/datatables/media/css/dataTables.bootstrap.min.css">
|
||||
<link rel="stylesheet" href="/fonts/material-design-iconic-font/css/material-design-iconic-font.min.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="main-menu">
|
||||
<header class="header">
|
||||
<a href="/admin" class="logo">Sekolah</a>
|
||||
<button type="button" class="button-close fa fa-times js__menu_close"></button>
|
||||
<div class="user">
|
||||
<a href="#" class="avatar"><img src="http://placehold.it/80x80" alt=""><span
|
||||
class="status online"></span></a>
|
||||
<h5 class="name"><a href="profile.html">Admin</a></h5>
|
||||
<h5 class="position">Admin</h5>
|
||||
|
||||
</div>
|
||||
<!-- /.user -->
|
||||
</header>
|
||||
<!-- /.header -->
|
||||
<div class="content">
|
||||
|
||||
<div class="navigation">
|
||||
<h5 class="title">Navigasi</h5>
|
||||
<!-- /.title -->
|
||||
<ul class="menu js__accordion">
|
||||
<li>
|
||||
<a class="waves-effect" href="/admin"><i class="menu-icon fa fa-home"></i><span>Halaman
|
||||
Utama</span></a>
|
||||
</li>
|
||||
|
||||
<li class="current active">
|
||||
<a class="waves-effect" href="/admin/kelas"><i
|
||||
class="menu-icon zmdi zmdi-collection-text"></i><span>Pengaturan Kelas</span></a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="waves-effect" href="/admin/siswa"><i
|
||||
class="menu-icon fa fa-users"></i><span>Siswa</span></a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="waves-effect" href="#" onclick="logout()"><i
|
||||
class="menu-icon ico icon-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">Halaman Siswa</h1>
|
||||
<!-- /.page-title -->
|
||||
</div>
|
||||
<!-- /.pull-left -->
|
||||
<div class="pull-right">
|
||||
|
||||
|
||||
<a href="#" class="ico-item ico icon-logout" onclick="logout()"></a>
|
||||
</div>
|
||||
<!-- /.pull-right -->
|
||||
</div>
|
||||
<!-- /.fixed-navbar -->
|
||||
|
||||
<div id="wrapper">
|
||||
<div class="main-content">
|
||||
<div class="row small-spacing">
|
||||
<div class="col-xs-12">
|
||||
<div class="box-content card">
|
||||
<h4 class="box-title">Form Siswa</h4>
|
||||
<!-- /.box-title -->
|
||||
<div class="card-content">
|
||||
<div class="form-group">
|
||||
<button type="button" class="btn btn-info btn-rounded waves-effect waves-light"
|
||||
onclick="addSiswaOpenModal()">Tambah Siswa</button>
|
||||
</div>
|
||||
<table id="siswa" class="table table-striped table-bordered display" style="width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>NIS</th>
|
||||
<th>Nama</th>
|
||||
<th>Kelas</th>
|
||||
<th>Angkatan</th>
|
||||
<th>Aksi</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="tbody">
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-content -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer class="footer">
|
||||
<ul class="list-inline">
|
||||
<li>2024 © Sekolah.</li>
|
||||
<!-- <li><a href="#">Privacy</a></li>
|
||||
<li><a href="#">Terms</a></li>
|
||||
<li><a href="#">Help</a></li> -->
|
||||
</ul>
|
||||
</footer>
|
||||
</div>
|
||||
<!-- /.main-content -->
|
||||
</div><!--/#wrapper -->
|
||||
|
||||
<div class="modal fade" id="modal-tambah-siswa" 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">×</span></button>
|
||||
<h4 class="modal-title" id="modal-tambah-siswa-title">Modal title</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<!-- show the upload -->
|
||||
<div id="show-upload" style="display: none">
|
||||
<center>
|
||||
<div id="preview" style="height: 200px; width: 150px"></div>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<!-- create upload -->
|
||||
<label for="modal-tambah-siswa-nama">Gambar</label>
|
||||
<input type="file" class="form-control" id="gambar" accept="image/*"
|
||||
onchange="showUpload(this)">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">NIS</label>
|
||||
<input type="text" class="form-control" id="nis" oninput="numberOnly(this)" maxlength="10"
|
||||
placeholder="Masukkan NIS">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Nama</label>
|
||||
<input type="text" class="form-control" id="nama" placeholder="Masukkan Nama">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Kelas</label>
|
||||
<select class="form-control" id="kelas">
|
||||
<option value="" disabled selected>-Pilih Kelas</option>
|
||||
<option value="10">7</option>
|
||||
<option value="11">8</option>
|
||||
<option value="12">9</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Nama Kelas</label>
|
||||
<select class="form-control" id="nama-kelas">
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Angkatan</label>
|
||||
<select class="form-control" id="angkatan">
|
||||
</select>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">NIK</label>
|
||||
<input type="text" class="form-control" id="nik" oninput="numberOnly(this)" maxlength="16"
|
||||
placeholder="Masukkan NIK">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Tempat Lahir</label>
|
||||
<input type="text" class="form-control" id="tempat-lahir" placeholder="Masukkan Tempat Lahir">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Tanggal Lahir</label>
|
||||
<input type="date" class="form-control" id="tanggal-lahir">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Jenis Kelamin</label>
|
||||
<select class="form-control" id="jenis-kelamin">
|
||||
<option value="" disabled selected>-Pilih Jenis Kelamin</option>
|
||||
<option value="Laki-laki">Laki-laki</option>
|
||||
<option value="Perempuan">Perempuan</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Agama</label>
|
||||
<select class="form-control" id="agama">
|
||||
<option value="" disabled selected>-Pilih Agama</option>
|
||||
<option value="Islam">Islam</option>
|
||||
<option value="Kristen">Kristen</option>
|
||||
<option value="Katolik">Katolik</option>
|
||||
<option value="Hindu">Hindu</option>
|
||||
<option value="Budha">Budha</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Nama Orang Tua</label>
|
||||
<input type="text" class="form-control" id="orang-tua1" placeholder="Masukkan Orang Tua">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Nama Orang Tua</label>
|
||||
<input type="text" class="form-control" id="orang-tua2" placeholder="Masukkan Orang Tua">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">No HP Orang Tua</label>
|
||||
<input type="text" class="form-control" id="no-hp-orang-tua"
|
||||
placeholder="Masukkan No HP Orang Tua">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="modal-tambah-siswa-nama">Alamat</label>
|
||||
<textarea class="form-control" id="alamat" placeholder="Masukkan Alamat"
|
||||
style="resize: none"></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"
|
||||
id="btn-tambah-mahasiswa" onclick="tambahSiswa()">Tambah Mahasiswa</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/script/html5shiv.min.js"></script>
|
||||
<script src="/script/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!--
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="/scripts/jquery.min.js"></script>
|
||||
<script src="/scripts/modernizr.min.js"></script>
|
||||
<script src="/plugin/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="/plugin/mCustomScrollbar/jquery.mCustomScrollbar.concat.min.js"></script>
|
||||
<script src="/plugin/nprogress/nprogress.js"></script>
|
||||
<script src="/plugin/sweet-alert/sweetalert.min.js"></script>
|
||||
<script src="/plugin/waves/waves.min.js"></script>
|
||||
<!-- Full Screen Plugin -->
|
||||
<script src="/plugin/fullscreen/jquery.fullscreen-min.js"></script>
|
||||
<script src="/plugin/datatables/media/js/jquery.dataTables.min.js"></script>
|
||||
<script src="/plugin/datatables/media/js/dataTables.bootstrap.min.js"></script>
|
||||
<script src="/plugin/datatables/extensions/Responsive/js/dataTables.responsive.min.js"></script>
|
||||
|
||||
<script src="/block/jquery.blockUI.js"></script>
|
||||
<script src="/scripts/main.min.js"></script>
|
||||
<script src="/my-js.js"></script>
|
||||
|
||||
<script>
|
||||
$('#siswa').DataTable({
|
||||
|
||||
})
|
||||
|
||||
function fistLoad() {
|
||||
// get today year
|
||||
var today = new Date();
|
||||
const year = today.getFullYear();
|
||||
var html_angkatan = "<option value='' disabled selected>-Pilih Angkatan-</option>"
|
||||
|
||||
// loop the year to 2015
|
||||
for (let i = year; i >= 2015; i--) {
|
||||
html_angkatan += `<option value="${i}">${i}</option>`
|
||||
}
|
||||
|
||||
$('#angkatan').html(html_angkatan)
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: '/admin/kelas/get',
|
||||
dataType: 'json',
|
||||
beforeSend: function () {
|
||||
|
||||
},
|
||||
success: function (json) {
|
||||
const data = json.data
|
||||
var html = "<option value='' disabled selected>-Pilih Nama Kelas-</option>"
|
||||
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
html += `<option value="${data[i].id_kelas}">${data[i].nama_kelas}</option>`
|
||||
}
|
||||
|
||||
$('#nama-kelas').html(html)
|
||||
},
|
||||
})
|
||||
}
|
||||
fistLoad()
|
||||
|
||||
|
||||
function addSiswaOpenModal() {
|
||||
$('#modal-tambah-siswa-title').text('Form Tambah Siswa');
|
||||
$('#modal-tambah-siswa-nis').val('');
|
||||
$("#show-upload").hide();
|
||||
$('#gambar').val('');
|
||||
$('#modal-tambah-siswa').modal('show');
|
||||
}
|
||||
|
||||
function numberOnly(element) { //only number and remove comma
|
||||
element.value = element.value.replace(/[^0-9]/g, '');
|
||||
element.value = element.value.replace(/,/g, '');
|
||||
}
|
||||
|
||||
function showUpload(element) {
|
||||
var file = element.files[0];
|
||||
|
||||
if (file) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = function (event) {
|
||||
var imageUrl = event.target.result;
|
||||
|
||||
// Create an image element
|
||||
var img = document.createElement('img');
|
||||
img.src = imageUrl;
|
||||
img.style.maxWidth = '100%'; // Make the image fit the width of the div
|
||||
img.style.maxHeight = '100%'; // Make the image fit the height of the div
|
||||
|
||||
// Get the preview div
|
||||
var previewDiv = document.getElementById('preview');
|
||||
$('#show-upload').show();
|
||||
|
||||
// Clear any existing content in the preview div
|
||||
previewDiv.innerHTML = '';
|
||||
|
||||
// Append the image to the preview div
|
||||
previewDiv.appendChild(img);
|
||||
}
|
||||
reader.readAsDataURL(file);
|
||||
}
|
||||
}
|
||||
|
||||
function tambahSiswa() {
|
||||
if ($("gambar").val() == '') return alert('Upload Gambar');
|
||||
if ($('#nis').val() == '') return alert('Masukkan NIS');
|
||||
if ($('#nama').val() == '') return alert('Masukkan Nama');
|
||||
if ($("#kelas").val() == '') return alert('Pilih Kelas');
|
||||
if ($("#nama-kelas").val() == '') return alert('Pilih Nama Kelas');
|
||||
if ($('#angkatan').val() == '') return alert('Pilih Angkatan');
|
||||
if ($('#nik').val() == '') return alert('Masukkan NIK');
|
||||
if ($('#nik').val() < 16) return alert('NIK Minimal 16 Digit');
|
||||
if ($('#tempat-lahir').val() == '') return alert('Masukkan Tempat Lahir');
|
||||
if ($('#tanggal-lahir').val() == '') return alert('Masukkan Tanggal Lahir');
|
||||
if ($('#jenis-kelamin').val() == '') return alert('Pilih Jenis Kelamin');
|
||||
if ($('#agama').val() == '') return alert('Pilih Agama');
|
||||
if ($('#orang-tua1').val() == '') return alert('Masukkan Orang Tua 1');
|
||||
if ($('#orang-tua2').val() == '') return alert('Masukkan Orang Tua 2');
|
||||
if ($('#no-hp-orang-tua').val() == '') return alert('Masukkan No HP Orang Tua');
|
||||
if ($('#no-hp-orang-tua').val() < 11) return alert('No HP Orang Tua Minimal 11 Digit');
|
||||
if ($('#alamat').val() == '') return alert('Masukkan Alamat');
|
||||
|
||||
// create a FormData and using ajax to upload file
|
||||
var formData = new FormData();
|
||||
formData.append('gambar', $("#gambar")[0].files[0]); // Assuming "gambar" is the file input id
|
||||
formData.append('nis', $('#nis').val());
|
||||
formData.append('nama', $('#nama').val());
|
||||
formData.append('kelas', $("#kelas").val());
|
||||
formData.append('nama_kelas', $("#nama-kelas").val());
|
||||
formData.append('angkatan', $('#angkatan').val());
|
||||
formData.append('nik', $('#nik').val());
|
||||
formData.append('tempat_lahir', $('#tempat-lahir').val());
|
||||
formData.append('tanggal_lahir', $('#tanggal-lahir').val());
|
||||
formData.append('jenis_kelamin', $('#jenis-kelamin').val());
|
||||
formData.append('agama', $('#agama').val());
|
||||
formData.append('orang_tua1', $('#orang-tua1').val());
|
||||
formData.append('orang_tua2', $('#orang-tua2').val());
|
||||
formData.append('no_hp_orang_tua', $('#no-hp-orang-tua').val());
|
||||
formData.append('alamat', $('#alamat').val());
|
||||
// Performing AJAX upload
|
||||
$.ajax({
|
||||
url: '/admin/siswa',
|
||||
type: 'POST',
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
beforeSend: function () {
|
||||
$('#boostrapModal-3').modal('hide')
|
||||
blockUI('Loading')
|
||||
},
|
||||
success: function (response) {
|
||||
// Handle success response
|
||||
console.log(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
// Handle error
|
||||
console.error(xhr.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
61
routes/ui/login.html
Executable file
61
routes/ui/login.html
Executable file
@ -0,0 +1,61 @@
|
||||
<!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>Home</title>
|
||||
<link rel="stylesheet" href="/styles/style.min.css">
|
||||
|
||||
<!-- Waves Effect -->
|
||||
<link rel="stylesheet" href="/plugin/waves/waves.min.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="single-wrapper">
|
||||
<form action="#" class="frm-single">
|
||||
<div class="inside">
|
||||
<div class="title"><strong>Sekolah</strong></div>
|
||||
<!-- /.title -->
|
||||
<div class="frm-title">Login</div>
|
||||
<!-- /.frm-title -->
|
||||
<div class="frm-input"><input type="text" placeholder="Username" class="frm-inp"><i class="fa fa-user frm-ico"></i></div>
|
||||
<!-- /.frm-input -->
|
||||
<div class="frm-input"><input type="password" placeholder="Password" class="frm-inp"><i class="fa fa-lock frm-ico"></i></div>
|
||||
<!-- /.frm-input -->
|
||||
|
||||
<!-- /.clearfix -->
|
||||
<a href="/admin" class="a-link"><button type="button" class="frm-submit">Login<i class="fa fa-arrow-circle-right"></i></button></a>
|
||||
|
||||
<!-- /.row -->
|
||||
<a href="/" class="a-link"><i class="fa fa-arrow-circle-left"></i>Kembali ke Halaman Utama.</a>
|
||||
<div class="frm-footer">Sekolah © 2024.</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="/script/html5shiv.min.js"></script>
|
||||
<script src="/script/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!--
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="/scripts/jquery.min.js"></script>
|
||||
<script src="/scripts/modernizr.min.js"></script>
|
||||
<script src="/plugin/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="/plugin/nprogress/nprogress.js"></script>
|
||||
<script src="/plugin/waves/waves.min.js"></script>
|
||||
|
||||
<script src="/scripts/main.min.js"></script>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user