Files
2026-01-22 15:30:17 +07:00

81 lines
3.2 KiB
PHP

<?php
/*******************************************************************
Module : /auth.php
Desc. : PHP Page - Halaman Identifikasi Akses
Created By : Siau Pheng ([email protected]).
Created Date : November 20th, 2016.
Last Modified : March 26th, 2023.
(c) 2016 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../vendor/autoload.php");
if (!isset($_SESSION['__WEB_APP'])) {
require_once(__DIR__."/apps/cfg/app.php");
}
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Auth;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Menu;
$db = (is_resource($db)) ? $db : new MySQL();
$auth = new Auth($db);
$ajson = [];
$mode = Param::Get("mode", "");
if ($mode == "auth") {
$data = Param::Get("data", "");
$ajson = ['status' => 0, 'pesan' => ""];
if ($data == "super-check") {
$bsuper = (Param::Get("SUPER","true") == "true") ? true : false;
$buover = (Param::Get("UOVER","false") == "true") ? true : false;
if (!$auth->user_check_level(Param::Get("UID"), $_SESSION['__WEB_APP']['AUTH_LEVEL']) && $bsuper == true) {
$ajson['status'] = 0;
$ajson['pesan'] = "Silakan hubungi Supervisor / Administrator Anda!";
} else {
if (!$auth->user_check(Param::Get("UID"), Param::Get("PWD"))) {
$ajson['status'] = 0;
$ajson['pesan'] = "User ID atau Password Anda Salah!<br>Anda tidak diijinkan melanjutkan proses!";
} else {
$ajson['status'] = 1;
if ($buover == true && $bsuper == false && Param::Get("UID") <> $_SESSION['__WEB_USER']['Username']) {
$new_sess = $auth->user_data(Param::Get("UID"));
foreach ($new_sess as $_key => $_val) {
if ($_SESSION['__WEB_USER'][$_key]) $_SESSION['__WEB_USER'][$_key] = $_val;
}
}
}
}
} elseif ($data == "super-request") {
$db->Query("DELETE FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."' AND Auth=0");
$db->Query("INSERT INTO app_auth SET UserID='".user_id()."',Kode='".Param::Get("KODE")."',SID='".Param::Get("REQ_SID")."',REQ='".Param::Get("REQ")."',Catatan='".Param::Get("MSG")."',Tanggal=NOW()");
} elseif ($data == "super-cancel") {
$db->Query("DELETE FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."'");
} elseif ($data == "request-check") {
$db->Query("SELECT Auth FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."'");
if ($db->Next() && $db->Row("Auth",0) == 1) $ajson['status'] = 1;
}
} else {
$page = Param::Get("p", "");
$query = Param::Get("q", "");
$ajson['login'] = false;
if (user_logged() && $page<>"") {
$ajson = Menu::MenuJSON($db, $page, $query);
}
$auth->token_update();
}
send_json($ajson);
?>