Viewing File: /usr/local/cpanel/whostmgr/docroot/cgi/softaculous/lib/panels/hc/auth/index.php
<?php
session_start();
if (isset($_POST['baseApiUrl']) && !empty($_POST['baseApiUrl'])){
$baseurl = $_POST['baseApiUrl'];
$_SESSION["baseApiUrl"] = $baseurl;
}else{
if(isset($_SESSION["baseApiUrl"]) && !empty($_SESSION["baseApiUrl"])){
$baseurl = $_SESSION["baseApiUrl"];
}
else{
$baseurl = "http://localhost:8798/";
}
}
function getIp() {
// GET Client IP Address
$ip;
if (isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
} elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
return $ip;
}
function Connect($endpointurl , $usertoken, $method = 'GET', $data=array()){
global $baseurl;
$endpointurl = rtrim($baseurl,"/").$endpointurl;
$ip = getIp();
$headers = array(
'Accept: application/json',
'Content-Type: application/json',
'Authorization : token '. $usertoken,
'HTTP_HC_FORWARDED_IP : ' . $ip,
);
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $endpointurl);
curl_setopt($handle, CURLOPT_RETURNTRANSFER,1);
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
switch($method) {
case 'GET':
break;
case 'POST':
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
break;
case 'PUT':
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
break;
case 'DELETE':
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, 'DELETE');
break;
}
$response = curl_exec($handle);
$httpErrorCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
return array("code" => $httpErrorCode, "body" => $response);
}
if (isset($_POST['token'])){
$_SESSION["usertoken"] = $_POST['token'];
}else{
$token1 = 0;
}
if (isset($_POST['websiteId'])){
$_SESSION["websiteId"] = $_POST['websiteId'];
}
if (isset($_POST['userId'])){
$_SESSION["userId"] = $_POST['userId'];
}
if (isset($_POST['level'])){
$_SESSION["level"] = $_POST['level'];
}
if ( !isset( $_SESSION["origURL"] ) ){
$_SESSION["origURL"] = $_POST['basePanelUrl'];
}
// if still not set
if ( !isset( $_SESSION["origURL"] ) && empty( $_SESSION["origURL"] ) ){
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];
}
$userurl = '/panel-users/'.$_SESSION["userId"];
$httpresponse = Connect($userurl, $_SESSION["usertoken"]);
if($httpresponse["code"] != 200){
session_destroy();
die("User Detail not found");
return "Failed to retrieve database Details.".$this->HC_FormateErrorMsg($httpresponse);
}
$userdatacode = json_decode($httpresponse["body"]);
$userId = $userdatacode->UserId;
$role = $userdatacode->RoleName;
$ownerId = $userdatacode->OwnerId;
//TO refresh Softaculous Task List in sync with the ongoing process in Softaculous
session_write_close();
if($userId > 0 && is_int($ownerId) && $ownerId == 0 && $role == 'Global Admin' && (empty($_SESSION["websiteId"]) || $_SESSION["websiteId"] <= 0) && (!empty($_SESSION["level"]) && $_SESSION["level"] == 'admin') ){
include_once('../setup/index.php');
}else{
include_once('../setup/enduser/inc.php');
}
?>Back to Directory