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,110 @@
<?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['dosen'];
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 tbdosen
SET
nmLengkap='".$_POST['nmLengkap']."',
nohp='".$_POST['nohp']."',
$pass
email='".$_POST['email']."'
WHERE iddosen='$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(array('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 = 'dosen';
$NewImageName = $ImageName.'_'.$RandomNumber.'.'.$ImageExt;
$thumb_DestRandImageName = $DestinationDirectory.$NewImageName; //Thumb name
if (!resizeImage($CurWidth, $CurHeight, $BigImageMaxSize, $thumb_DestRandImageName, $CreatedImage, $Quality, $ImageType)) {
echo json_encode(array('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 tbdosen
SET
nmLengkap='".$_POST['nmLengkap']."',
nohp='".$_POST['nohp']."',
$pass
email='".$_POST['email']."',
foto='".$NewImageName."'
WHERE iddosen='$id'
";
@unlink(DIR_GAMBAR.$_POST['img']);
}
}
if ($db->runQuery($queryupdate)) {
echo json_encode(array('result' => true, 'msg' => $msg));
$_SESSION['login-dosen']['nama_lengkap'] = $_POST['nmLengkap'];
} else {
//if($_POST['slider']=="Y"){
@unlink($DestRandImageName);
@unlink($thumb_DestRandImageName);
//}
echo json_encode(array('result' => false, 'msg' => 'Aksi Gagal DbError'));
exit;
}
}
echo "<script>window.location.href = '../../dashboard.php?page=user&menu=my-profile';</script>";
break;
}
}

View File

@@ -0,0 +1,94 @@
<?php $db=new dB($dbsetting);
$id=$_SESSION['login-dosen']['id'];
$e="SELECT * FROM tbdosen WHERE iddosen='$id' LIMIT 1";
$db->runQuery($e);
if($db->dbRows()>0){
$edit=$db->dbFetch();
}else{
exit;
}
?>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php ECHO DOSEN_PAGE;?>">
Home
</a>
</li>
<li class="active">
Profil Saya
</li>
</ol>
<div class="page-header">
<h1>Profil Dosen <small><strong><?php echo $edit['nmLengkap'];?> </strong></small></h1>
</div>
</div>
</div>
<form id="updateprofil" method="POST" enctype="multipart/form-data" action="page/user/act.user.php">
<input type="hidden" name="act" value="updatemyprofile" />
<input type="hidden" name="dosen" value="<?php echo $id;?>" />
<input type="hidden" name="img" value="<?php echo $edit['foto'];?>" />
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label">
NIP *
</label>
<input type="text" readonly class="form-control" id="nip" value="<?php echo $edit['nip'];?>" name="nim"/>
</div>
<div class="form-group">
<label class="control-label">
Nama Lengkap *
</label>
<input type="text" class="form-control" id="nmLengkap" value="<?php echo $edit['nmLengkap'];?>" name="nmLengkap" />
</div>
<div class="form-group">
<label class="control-label">
Alamat Email
</label>
<input type="email" class="form-control" value="<?php echo $edit['email'];?>" id="email" name="email" />
</div>
<div class="form-group">
<label class="control-label">
Password * <sup>Abaikan Jika tidak mengganti password</sup>
</label>
<input type="password" class="form-control" name="password" id="password" />
</div>
<div class="form-group">
<label class="control-label">
Konfirmasi Password
</label>
<input type="password" class="form-control" id="password_again" name="password_again" />
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label">
No Telp/HP
</label>
<input type="text" class="form-control" value="<?php echo $edit['nohp'];?>" id="nohp" name="nohp" />
</div>
<div class="form-group">
<label class="control-label">
Foto <sup>*Abaikan jika tidak mengganti foto</sup>
</label>
<div class="fileupload-new thumbnail" style="width: 150px; height: 150px;">
<img src="../img/<?php echo $edit['foto'];?>" alt="">
</div><br/>
<input type="file" class="form-control" id="foto" name="foto" />
</div>
</div>
</div>
<div class="row">
<div class="col-md-2">
<button class="btn btn-teal btn-block" type="submit">
Simpan Data
</button>
</div>
</div>
</form>

11
dosen/page/user/user.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
switch ($_GET['menu']) {
case 'my-profile':
include "my-profile.php";
break;
default:
echo "<script>location.href='".DOSEN_PAGE."dashboard.php?page=user&menu=my-profile'</script>";
break;
}
?>