2025-01-04 09:33:01 -08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
require '../../includes/csrf.php';
|
2025-01-25 02:47:46 -08:00
|
|
|
require_once '../../includes/session.php';
|
2025-01-04 09:33:01 -08:00
|
|
|
require_once '../../includes/config.php';
|
|
|
|
require_once '../../src/RaspAP/Auth/HTTPAuth.php';
|
|
|
|
require_once '../../includes/authenticate.php';
|
|
|
|
require_once '../../src/RaspAP/Plugins/PluginInstaller.php';
|
|
|
|
|
|
|
|
$pluginInstaller = \RaspAP\Plugins\PluginInstaller::getInstance();
|
|
|
|
$plugin_uri = $_POST['plugin_uri'] ?? null;
|
|
|
|
$plugin_version = $_POST['plugin_version'] ?? null;
|
|
|
|
|
|
|
|
if (isset($plugin_uri) && isset($plugin_version)) {
|
|
|
|
$archiveUrl = rtrim($plugin_uri, '/') . '/archive/refs/tags/' . $plugin_version .'.zip';
|
|
|
|
|
|
|
|
try {
|
|
|
|
$return = $pluginInstaller->installPlugin($archiveUrl);
|
|
|
|
echo json_encode($return);
|
|
|
|
} catch (Exception $e) {
|
2025-01-26 01:23:42 -08:00
|
|
|
http_response_code(422); // Unprocessable Content
|
2025-01-04 09:33:01 -08:00
|
|
|
echo json_encode(['error' => $e->getMessage()]);
|
|
|
|
}
|
|
|
|
} else {
|
2025-01-26 01:23:42 -08:00
|
|
|
http_response_code(400); // Bad Request
|
2025-01-04 09:33:01 -08:00
|
|
|
echo json_encode(['error' => 'Plugin URI and version are required']);
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
|