X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/d16e35f5edf92883bbd14eb8cbac3547e634fff3..cd26522ba6ff68c18e1504b022ca92f4d01827be:/Classes/class-plugin-git.php diff --git a/Classes/class-plugin-git.php b/Classes/class-plugin-git.php index e0610ac..4bf9dab 100644 --- a/Classes/class-plugin-git.php +++ b/Classes/class-plugin-git.php @@ -1,84 +1,150 @@ err = curl_error($curl); - else - $this->data = json_decode($response, false); - } - public function ifInstalledLabel($name) +class PluginRepo +{ + public $plugins ; + public $data; + public $err; + function __construct($url = DEFAULT_PLUGINS_DIR) + { + global $config; + if (!isset($config['third-party-plugins'])) + { + $config['third-party-plugins'] = []; + } + if (empty($config['third-party-plugins'])) + { + $config['third-party-plugins']['data'] = NULL; + $config['third-party-plugins']['timestamp'] = 0; + } + if (time() - $config['third-party-plugins']['timestamp'] > 200) // Cache for 3.333 minutes lol { - if (Plugins::plugin_exists($name)) + // come simba it is taem + $curl = curl_init($url); + + // Set the options + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // Return the response instead of printing it + curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); // Set the content type to JSON + curl_setopt($curl, CURLOPT_USERAGENT, "UnrealIRCd Admin Panel"); // This is Secret Agent UnrealIRCd Admin Panel reporting for doody + // Execute the request + $response = curl_exec($curl); + + // Check for errors + if ($response === false) + $this->err = curl_error($curl); + else { - ?> -
description ?>
-vversion ?>
description ?>