mirror of
https://github.com/unraid/webgui.git
synced 2025-12-31 14:40:36 -06:00
51 lines
1.5 KiB
PHP
51 lines
1.5 KiB
PHP
<?php
|
|
/* Copyright 2024, Lime Technology
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License version 2,
|
|
* as published by the Free Software Foundation.
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*/
|
|
|
|
require_once("plugins/dynamix/include/OutgoingProxyLib.php");
|
|
|
|
function get_proxy_status($proxy_url, $proxy_active, $index) {
|
|
if (!$proxy_url) {
|
|
return "";
|
|
}
|
|
|
|
return proxy_online($proxy_url)
|
|
? ($proxy_active == $index ? "Active" : "")
|
|
: ($proxy_active == $index ? "Offline" : "Not Available");
|
|
}
|
|
|
|
$action = htmlspecialchars($_POST['action'] ?? '', ENT_QUOTES, 'UTF-8');
|
|
|
|
switch ($action) {
|
|
case 'proxy_status':
|
|
/* Sanitize inputs. */
|
|
$proxy_active = htmlspecialchars($_POST['proxy_active'] ?? '', ENT_QUOTES, 'UTF-8');
|
|
$proxy_urls = [
|
|
'1' => filter_var($_POST['proxy_1_url'] ?? '', FILTER_SANITIZE_URL),
|
|
'2' => filter_var($_POST['proxy_2_url'] ?? '', FILTER_SANITIZE_URL),
|
|
'3' => filter_var($_POST['proxy_3_url'] ?? '', FILTER_SANITIZE_URL),
|
|
];
|
|
|
|
/* Generate response. */
|
|
$response = [];
|
|
foreach ($proxy_urls as $key => $url) {
|
|
$response["proxy_status_{$key}"] = get_proxy_status($url, $proxy_active, $key);
|
|
}
|
|
|
|
/* Output response as JSON. */
|
|
echo json_encode($response);
|
|
break;
|
|
|
|
default:
|
|
outgoingproxy_log("Undefined POST action - " . htmlspecialchars($action, ENT_QUOTES, 'UTF-8') . ".");
|
|
break;
|
|
}
|
|
?>
|