Files
spota-dev/dosen/act.auth.php
Power BI Dev efdb11db3f 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.
2026-05-02 10:08:52 +07:00

142 lines
4.7 KiB
PHP

<?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;*/
}
}