check if connection error

This commit is contained in:
Ibnu Maksum 2023-09-13 10:07:58 +07:00
parent ee2e67f490
commit 4bbb98fb98
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
2 changed files with 24 additions and 10 deletions

View File

@ -12,7 +12,7 @@ class Http
{ {
public static function getData($url, $headers = []) public static function getData($url, $headers = [])
{ {
global $http_proxy,$http_proxyauth; global $http_proxy, $http_proxyauth, $admin;
$ch = curl_init(); $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_POST, 0);
@ -20,9 +20,9 @@ class Http
curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if(!empty($http_proxy)){ if (!empty($http_proxy)) {
curl_setopt($ch, CURLOPT_PROXY, $http_proxy); curl_setopt($ch, CURLOPT_PROXY, $http_proxy);
if(!empty($http_proxyauth)){ if (!empty($http_proxyauth)) {
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $http_proxyauth); curl_setopt($ch, CURLOPT_PROXYUSERPWD, $http_proxyauth);
} }
} }
@ -31,12 +31,15 @@ class Http
$error_msg = curl_error($ch); $error_msg = curl_error($ch);
} }
curl_close($ch); curl_close($ch);
if($admin && $error_msg){
r2(U . 'dashboard', 'd', $error_msg);
}
return ($server_output) ? $server_output : $error_msg; return ($server_output) ? $server_output : $error_msg;
} }
public static function postJsonData($url, $array_post, $headers = [], $basic = null) public static function postJsonData($url, $array_post, $headers = [], $basic = null)
{ {
global $http_proxy,$http_proxyauth; global $http_proxy, $http_proxyauth, $admin;
$headers[] = 'Content-Type: application/json'; $headers[] = 'Content-Type: application/json';
$ch = curl_init(); $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
@ -45,9 +48,9 @@ class Http
curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_VERBOSE, false); curl_setopt($ch, CURLOPT_VERBOSE, false);
curl_setopt($ch, CURLINFO_HEADER_OUT, false); curl_setopt($ch, CURLINFO_HEADER_OUT, false);
if(!empty($http_proxy)){ if (!empty($http_proxy)) {
curl_setopt($ch, CURLOPT_PROXY, $http_proxy); curl_setopt($ch, CURLOPT_PROXY, $http_proxy);
if(!empty($http_proxyauth)){ if (!empty($http_proxyauth)) {
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $http_proxyauth); curl_setopt($ch, CURLOPT_PROXYUSERPWD, $http_proxyauth);
} }
} }
@ -62,13 +65,16 @@ class Http
$error_msg = curl_error($ch); $error_msg = curl_error($ch);
} }
curl_close($ch); curl_close($ch);
if($admin && $error_msg){
r2(U . 'dashboard', 'd', $error_msg);
}
return ($server_output) ? $server_output : $error_msg; return ($server_output) ? $server_output : $error_msg;
} }
public static function postData($url, $array_post, $headers = [], $basic = null) public static function postData($url, $array_post, $headers = [], $basic = null)
{ {
global $http_proxy,$http_proxyauth; global $http_proxy, $http_proxyauth, $admin;
$headers[] = 'Content-Type: application/x-www-form-urlencoded'; $headers[] = 'Content-Type: application/x-www-form-urlencoded';
$ch = curl_init(); $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
@ -77,9 +83,9 @@ class Http
curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_VERBOSE, false); curl_setopt($ch, CURLOPT_VERBOSE, false);
curl_setopt($ch, CURLINFO_HEADER_OUT, false); curl_setopt($ch, CURLINFO_HEADER_OUT, false);
if(!empty($http_proxy)){ if (!empty($http_proxy)) {
curl_setopt($ch, CURLOPT_PROXY, $http_proxy); curl_setopt($ch, CURLOPT_PROXY, $http_proxy);
if(!empty($http_proxyauth)){ if (!empty($http_proxyauth)) {
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $http_proxyauth); curl_setopt($ch, CURLOPT_PROXYUSERPWD, $http_proxyauth);
} }
} }
@ -94,6 +100,9 @@ class Http
$error_msg = curl_error($ch); $error_msg = curl_error($ch);
} }
curl_close($ch); curl_close($ch);
if($admin && $error_msg){
r2(U . 'dashboard', 'd', $error_msg);
}
return ($server_output) ? $server_output : $error_msg; return ($server_output) ? $server_output : $error_msg;
} }
} }

View File

@ -21,7 +21,12 @@ if ($admin['user_type'] != 'Admin') {
$cache = File::pathFixer('system/cache/plugin_repository.json'); $cache = File::pathFixer('system/cache/plugin_repository.json');
if (file_exists($cache) && time() - filemtime($cache) < (24 * 60 * 60)) { if (file_exists($cache) && time() - filemtime($cache) < (24 * 60 * 60)) {
$json = json_decode(file_get_contents($cache), true); $txt = file_get_contents($cache);
$json = json_decode($txt, true);
if(empty($json['plugins']) && empty($json['payment_gateway'])){
unlink($cache);
r2(U . 'dashboard', 'd', $txt);
}
} else { } else {
$data = Http::getData($plugin_repository); $data = Http::getData($plugin_repository);
file_put_contents($cache, $data); file_put_contents($cache, $data);