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

View File

@@ -0,0 +1,126 @@
<?php
session_start();
if ($_POST) {
include '../../../inc/helper.php';
include '../../../inc/konfigurasi.php';
include '../../../inc/db.pdo.class.php';
$db = new dB($dbsetting);
switch ($_POST['act']) {
case 'updatemyprofile':
$id = $_POST['mhs'];
if($_POST['noHP'] == $_POST['noHPOrtu']){
echo json_encode(['result' => false, 'msg' => 'Nomor HP Mahasiswa tidak boleh sama dengan orang tua']);
exit;
}
$noHP = $_POST['noHP'];
$noHPOrtu = $_POST['noHPOrtu'];
$e = "SELECT * FROM tbmhs WHERE idmhs != '$id' AND (noHP = '$noHP' OR noHPOrtu = '$noHP' OR noHP = '$noHPOrtu' OR noHPOrtu = '$noHPOrtu')";
$db->runQuery($e);
if ($db->dbRows() > 0) {
echo json_encode(['result' => false, 'msg' => 'Nomor HP Mahasiswa atau Orang Tua Telah digunakan oleh orang lain']);
exit;
}
if (ctype_digit($id)) {
if (!isset($_FILES['foto']) || !is_uploaded_file($_FILES['foto']['tmp_name'])) {
if ($_POST['password'] != '') {
$pass = "password='".md5(trim($_POST['password']))."', ";
} else {
$pass = '';
}
$msg = 'Profil telah disimpan.';
$queryupdate = "UPDATE tbmhs
SET
nmLengkap='".$_POST['nmLengkap']."',
noHP='".$_POST['noHP']."',
noHPOrtu='".$_POST['noHPOrtu']."',
$pass
email='".$_POST['email']."'
WHERE idmhs='$id'
";
} else {
$ThumbSquareSize = 200; //Thumbnail will be 150x150
$BigImageMaxSize = 200; //Image Maximum height or width
$ThumbPrefix = 'thumb_'; //Normal thumb Prefix
$DestinationDirectory = DIR_GAMBAR; //Upload Directory ends with / (slash)
$Quality = 90;
$RandomNumber = rand(0, 9999999999);
$ImageName = str_replace(' ', '-', strtolower($_FILES['foto']['name']));
$ImageSize = $_FILES['foto']['size']; // Obtain original image size
$TempSrc = $_FILES['foto']['tmp_name']; // Tmp name of image file stored in PHP tmp folder
$ImageType = $_FILES['foto']['type']; //Obtain file type, returns "image/png", image/jpeg, text/plain etc.
switch (strtolower($ImageType)) {
case 'image/png':
$CreatedImage = imagecreatefrompng($_FILES['foto']['tmp_name']);
break;
case 'image/gif':
$CreatedImage = imagecreatefromgif($_FILES['foto']['tmp_name']);
break;
case 'image/jpeg':
case 'image/pjpeg':
$CreatedImage = imagecreatefromjpeg($_FILES['foto']['tmp_name']);
break;
default:
echo json_encode(['result' => false, 'msg' => 'File gambar yang didukung hanya *.jpg,*.png,*.gif']);
exit;
break;
}
list($CurWidth, $CurHeight) = getimagesize($TempSrc);
$ImageExt = substr($ImageName, strrpos($ImageName, '.'));
$ImageExt = str_replace('.', '', $ImageExt);
$ImageName = 'mhs';
$NewImageName = $ImageName.'_'.$RandomNumber.'.'.$ImageExt;
$thumb_DestRandImageName = $DestinationDirectory.$NewImageName; //Thumb name
if (!resizeImage($CurWidth, $CurHeight, $BigImageMaxSize, $thumb_DestRandImageName, $CreatedImage, $Quality, $ImageType)) {
echo json_encode(['result' => false, 'msg' => 'Upload Gambar gagal']);
exit;
} else {
$msg = 'Profil telah disimpan.';
if ($_POST['password'] != '') {
$pass = "password='".md5(trim($_POST['password']))."', ";
} else {
$pass = '';
}
$queryupdate = "UPDATE tbmhs
SET
nmLengkap='".$_POST['nmLengkap']."',
$pass
email='".$_POST['email']."',
noHP='".$_POST['noHP']."',
noHPOrtu='".$_POST['noHPOrtu']."',
foto='".$NewImageName."'
WHERE idmhs='$id'
";
@unlink(DIR_GAMBAR.$_POST['img']);
}
}
if ($db->runQuery($queryupdate)) {
echo json_encode(['result' => true, 'msg' => $msg]);
$_SESSION['login-mhs']['nama_lengkap'] = $_POST['nmLengkap'];
} else {
//if($_POST['slider']=="Y"){
@unlink($DestRandImageName);
@unlink($thumb_DestRandImageName);
//}
echo json_encode(['result' => false, 'msg' => 'Aksi Gagal DbError']);
exit;
}
}
break;
}
}