Fix API Structure

This commit is contained in:
Ibnu Maksum 2024-03-30 12:04:30 +07:00
parent 3a2e7c9192
commit 4bf6f9c0ac
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
2 changed files with 48 additions and 54 deletions

View File

@ -198,17 +198,13 @@ function _log($description, $type = '', $userid = '0')
if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) //to check ip is pass from cloudflare tunnel if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) //to check ip is pass from cloudflare tunnel
{ {
$d->ip = $_SERVER['HTTP_CF_CONNECTING_IP']; $d->ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
} } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{ {
$d->ip = $_SERVER['HTTP_X_FORWARDED_FOR']; $d->ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} } elseif (!empty($_SERVER['HTTP_CLIENT_IP'])) //to check ip from share internet
elseif (!empty($_SERVER['HTTP_CLIENT_IP'])) //to check ip from share internet
{ {
$d->ip = $_SERVER['HTTP_CLIENT_IP']; $d->ip = $_SERVER['HTTP_CLIENT_IP'];
} } else {
else
{
$d->ip = $_SERVER["REMOTE_ADDR"]; $d->ip = $_SERVER["REMOTE_ADDR"];
} }
$d->save(); $d->save();
@ -224,6 +220,11 @@ function alphanumeric($str, $tambahan = "")
return preg_replace("/[^a-zA-Z0-9" . $tambahan . "]+/", "", $str); return preg_replace("/[^a-zA-Z0-9" . $tambahan . "]+/", "", $str);
} }
function showResult($success, $message = '', $result = [], $meta = [])
{
header("Content-Type: Application/json; charset=utf-8");
die(json_encode(array('success' => $success, 'message' => $message, 'result' => $result, 'meta' => $meta)));
}
function sendTelegram($txt) function sendTelegram($txt)
{ {
@ -257,7 +258,7 @@ function _alert($text, $type = 'success', $url = "home", $time = 3)
global $ui, $isApi; global $ui, $isApi;
if ($isApi) { if ($isApi) {
showResult( showResult(
($type=='success')? true : false, ($type == 'success') ? true : false,
$text $text
); );
} }

View File

@ -31,9 +31,9 @@ $ui = new class($key)
$this->assign[$key] = $value; $this->assign[$key] = $value;
} }
function get($key, ) function get($key,)
{ {
if(isset($this->assign[$key])){ if (isset($this->assign[$key])) {
return $this->assign[$key]; return $this->assign[$key];
} }
return ''; return '';
@ -47,19 +47,17 @@ $token = _get('token');
$routes = explode('/', $req); $routes = explode('/', $req);
$handler = $routes[0]; $handler = $routes[0];
if(empty($token)){ if (!empty($token)) {
showResult(false, Lang::T("Token is invalid"));
}
if($token == $config['api_key']){ if ($token == $config['api_key']) {
$admin = ORM::for_table('tbl_users')->where('user_type','SuperAdmin')->find_one($id); $admin = ORM::for_table('tbl_users')->where('user_type', 'SuperAdmin')->find_one($id);
if(empty($admin)){ if (empty($admin)) {
$admin = ORM::for_table('tbl_users')->where('user_type','Admin')->find_one($id); $admin = ORM::for_table('tbl_users')->where('user_type', 'Admin')->find_one($id);
if(empty($admin)){ if (empty($admin)) {
showResult(false, Lang::T("Token is invalid")); showResult(false, Lang::T("Token is invalid"));
} }
} }
}else{ } else {
# validate token # validate token
list($tipe, $uid, $time, $md5) = explode('.', $token); list($tipe, $uid, $time, $md5) = explode('.', $token);
if ($md5 != md5($uid . '.' . $time . '.' . $api_secret)) { if ($md5 != md5($uid . '.' . $time . '.' . $api_secret)) {
@ -71,35 +69,30 @@ if($token == $config['api_key']){
showResult(false, Lang::T("Token Expired"), [], ['login' => true]); showResult(false, Lang::T("Token Expired"), [], ['login' => true]);
} }
if($tipe=='a'){ if ($tipe == 'a') {
$_SESSION['aid'] = $uid; $_SESSION['aid'] = $uid;
}else if($tipe=='c'){ } else if ($tipe == 'c') {
$_SESSION['uid'] = $uid; $_SESSION['uid'] = $uid;
}else{ } else {
showResult(false, Lang::T("Unknown Token"), [], ['login' => true]); showResult(false, Lang::T("Unknown Token"), [], ['login' => true]);
} }
}
if (!isset($handler) || empty($handler)) {
showResult(true, Lang::T("Token is valid"));
}
if ($handler == 'isValid') {
showResult(true, Lang::T("Token is valid"));
}
} }
if(!isset($handler) || empty($handler)){
showResult(true, Lang::T("Token is valid"));
}
if($handler == 'isValid'){
showResult(true, Lang::T("Token is valid"));
}
function showResult($success, $message = '', $result = [], $meta = [])
{
header("Content-Type: Application/json; charset=utf-8");
die(json_encode(array('success' => $success, 'message' => $message, 'result' => $result, 'meta' => $meta)));
}
try { try {
$sys_render = File::pathFixer($root_path.'system/controllers/' . $handler . '.php'); $sys_render = File::pathFixer($root_path . 'system/controllers/' . $handler . '.php');
if (file_exists($sys_render)) { if (file_exists($sys_render)) {
include($sys_render); include($sys_render);
}else{ } else {
showResult(false, Lang::T('Command not found')); showResult(false, Lang::T('Command not found'));
} }
} catch (Exception $e) { } catch (Exception $e) {