connessione con hardware in assets
This commit is contained in:
@@ -3,29 +3,48 @@
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* AJAX endpoint for testing UrBackup API
|
||||
* AJAX endpoint for testing UrBackup API.
|
||||
*
|
||||
* This endpoint updates the server monitoring fields (last_api_status,
|
||||
* last_api_message, last_api_check), so it requires UPDATE right and
|
||||
* only accepts POST requests (GET requests must not trigger state changes).
|
||||
*/
|
||||
|
||||
$AJAX_INCLUDE = 1;
|
||||
use GlpiPlugin\Urbackup\Profile;
|
||||
use GlpiPlugin\Urbackup\Server;
|
||||
use GlpiPlugin\Urbackup\UrbackupApiClient;
|
||||
|
||||
if (!defined('GLPI_ROOT')) {
|
||||
define('GLPI_ROOT', dirname(__DIR__, 4));
|
||||
}
|
||||
|
||||
include_once GLPI_ROOT . '/inc/includes.php';
|
||||
|
||||
header("Content-Type: application/json; charset=UTF-8");
|
||||
Html::header_nocache();
|
||||
|
||||
Session::checkLoginUser();
|
||||
|
||||
if (!Session::haveRight('plugin_urbackup', READ)) {
|
||||
if (($_SERVER['REQUEST_METHOD'] ?? '') !== 'POST') {
|
||||
http_response_code(405);
|
||||
echo json_encode(['success' => false, 'message' => __('Method not allowed', 'urbackup')]);
|
||||
exit;
|
||||
}
|
||||
|
||||
if (!Profile::canCurrentUser(UPDATE)) {
|
||||
http_response_code(403);
|
||||
echo json_encode(['success' => false, 'message' => __('No permission', 'urbackup')]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$server_id = (int) ($_POST['id'] ?? $_GET['id'] ?? 0);
|
||||
$server_id = (int) ($_POST['id'] ?? 0);
|
||||
|
||||
if ($server_id <= 0) {
|
||||
echo json_encode(['success' => false, 'message' => __('Invalid server ID', 'urbackup')]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$server = new GlpiPlugin\Urbackup\Server();
|
||||
$server = new Server();
|
||||
|
||||
if (!$server->getFromDB($server_id)) {
|
||||
echo json_encode(['success' => false, 'message' => __('Server not found', 'urbackup')]);
|
||||
@@ -33,7 +52,7 @@ if (!$server->getFromDB($server_id)) {
|
||||
}
|
||||
|
||||
try {
|
||||
$client = new GlpiPlugin\Urbackup\UrbackupApiClient($server);
|
||||
$client = new UrbackupApiClient($server);
|
||||
$result = $client->testConnection();
|
||||
|
||||
$server->update([
|
||||
@@ -46,4 +65,4 @@ try {
|
||||
echo json_encode($result);
|
||||
} catch (Throwable $e) {
|
||||
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user