Add SPOTA core PHP application

Add the main admin, dosen, mahasiswa, API, and service code needed to run the core legacy application with configurable upload storage.
This commit is contained in:
Power BI Dev
2026-05-02 10:08:52 +07:00
parent 874dbbe8e8
commit efdb11db3f
221 changed files with 43273 additions and 0 deletions

141
dosen/act.auth.php Normal file
View File

@@ -0,0 +1,141 @@
<?php
session_start();
include '../inc/helper.php';
include '../inc/konfigurasi.php';
include '../inc/db.pdo.class.php';
$db = new dB($dbsetting);
if ($_POST) {
switch ($_POST['act']) {
case 'login':
$username = $_POST['username'];
$password = $_POST['password'];
if ($username == '0000' || $username == '123456') {
echo json_encode([
'result' => false,
'msg' => 'Gagal Login, Tidak dapat login menggunakan akun dummy.',
]);
exit();
}
$qprodi = '';
$prodi = $_POST['prodi'];
if ($prodi != '') {
$qprodi = " AND td.idProdi='".$prodi."' ";
}
$check = "SELECT
td.iddosen,
td.nip,
td.password,
td.nmLengkap,
td.jabatan,
td.email,
td.idProdi,
td.kelompokKeahlian,
td.jenis,
tp.nmProdi
FROM tbdosen td
LEFT JOIN tbprodi tp ON (td.idProdi=tp.idProdi)
WHERE td.nip='$username'
AND td.status='A' $qprodi LIMIT 1";
$db->runQuery($check);
if ($db->dbRows() > 0) {
$log = $db->dbFetch();
if ($log['password'] == md5($password)) {
$sesilogin = [
'nip' => $log['nip'],
'prodi' => $log['idProdi'],
'nmprodi' => $log['nmProdi'],
'nama_lengkap' => $log['nmLengkap'],
'id' => $log['iddosen'],
'jenisdosen' => $log['jenis'],
'kelompokKeahlian' => $log['kelompokKeahlian'],
];
$_SESSION['login-dosen'] = $sesilogin;
echo json_encode(
[
'result' => true,
'msg' => 'Login Sukses.',
]);
} else {
//password salah
echo json_encode(
[
'result' => false,
'msg' => 'Gagal Login, Password anda tidak sesuai/salah.',
]);
}
} else {
//username tidak terdaftar
echo json_encode([
'result' => false,
'msg' => 'Gagal Login, Anda tidak terdaftar.',
]);
}
break;
case 'logout':
unset($_SESSION['login-dosen']);
echo json_encode(['result' => true]);
break;
case 'recoverpass': // coming soon
$email = $_POST['email'];
$query = "SELECT * FROM tbdosen WHERE email='$email' limit 1";
$db->runQuery($query);
if ($db->dbRows() > 0) {
$r = $db->dbFetch();
$iddosen = $r['iddosen'];
$username = $r['nip'];
$password = $r['password'];
$date = date('Y-m-d H:i:s');
$recoverkey = md5($password.$username.$date);
$recover = "INSERT INTO temp_resetpass SET tglrecover='$date', iduser='$iddosen', jenis='D', rkey='$recoverkey'";
//echo $recover;
$db->runQuery($recover);
//$linkreset="/~project/spota/request.php?key=$recoverkey";
//koding kirim email
echo json_encode([
'result' => true,
'msg' => "Terima Kasih, \nSilakan Cek Email Anda untuk reset password",
]);
} else {
echo json_encode([
'result' => false,
'msg' => 'Email tidak terdaftar.',
]);
}
break;
case 'chpr':
echo '<option value="2">Informatika</option>';
exit;
$nip = $_POST['nip'];
$q = "SELECT d.idProdi,d.nip,p.nmProdi FROM tbdosen d LEFT JOIN tbprodi p ON(p.idProdi=d.idProdi) WHERE d.nip='".$nip."'";
//echo $q;
$db->runQuery($q);
$count = $db->dbRows();
//echo $count;
if ($count > 0) {
echo '<option value="">Pilih Prodi</option>';
while ($r = $db->dbFetch()) {
if ($count == 1) {
echo '<option selected value="'.$r['idProdi'].'">'.$r['nmProdi'].'</option>';
} else {
echo '<option value="'.$r['idProdi'].'">'.$r['nmProdi'].'</option>';
}
}
}
break;
/*default:
break;*/
}
}