mirror of
				https://github.com/billz/raspap-webgui.git
				synced 2025-03-01 10:31:47 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
		
			997 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			997 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| 
 | |
| require '../../includes/csrf.php';
 | |
| require_once '../../includes/session.php';
 | |
| 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) {
 | |
|         http_response_code(422); // Unprocessable Content
 | |
|         echo json_encode(['error' => $e->getMessage()]);
 | |
|     }
 | |
| } else {
 | |
|     http_response_code(400); // Bad Request
 | |
|     echo json_encode(['error' => 'Plugin URI and version are required']);
 | |
|     exit;
 | |
| }
 | |
| 
 |