Эх сурвалжийг харах

Fix ModuleManager install

DSR! 3 жил өмнө
parent
commit
4814c22055

+ 11 - 9
src/pineapple/modules/ModuleManager/api/module.php

@@ -48,7 +48,6 @@ class ModuleManager extends SystemModule
     private function getAvailableModules()
     {
         $moduleData = @file_get_contents(self::REMOTE_URL . "/modules/build/modules.json");
-
         if ($moduleData !== false) {
             $moduleData = json_decode($moduleData);
             if (json_last_error() === JSON_ERROR_NONE) {
@@ -68,9 +67,9 @@ class ModuleManager extends SystemModule
                 continue;
             }
 
-            if (file_exists("/pineapple/modules/{$moduleDirectory}/module.info")) {
-                $moduleData = json_decode(file_get_contents("/pineapple/modules/{$moduleDirectory}/module.info"));
-                
+            $path = "/pineapple/modules/{$moduleDirectory}/module.info";
+            if (file_exists($path)) {
+                $moduleData = json_decode(file_get_contents($path));
                 if (json_last_error() !== JSON_ERROR_NONE) {
                     continue;
                 }
@@ -107,7 +106,8 @@ class ModuleManager extends SystemModule
             $dest = '/tmp/';
         }
 
-        $this->execBackground("wget '" . self::REMOTE_URL . "/modules/{$this->request->moduleName}.tar.gz' -O {$dest}{$this->request->moduleName}.tar.gz && touch /tmp/moduleDownloaded");
+        $module = "{$this->request->moduleName}.tar.gz";
+        $this->execBackground("wget '" . self::REMOTE_URL . "/modules/build/{$module}' -O {$dest}{$module} && touch /tmp/moduleDownloaded");
         $this->response = array('success' => true);
     }
 
@@ -143,7 +143,8 @@ class ModuleManager extends SystemModule
             $installDest = '/pineapple/modules/';
         }
 
-        $this->execBackground("tar -xzvC {$installDest} -f {$dest}{$this->request->moduleName}.tar.gz && rm {$dest}{$this->request->moduleName}.tar.gz && touch /tmp/moduleInstalled");
+        $module = "{$this->request->moduleName}.tar.gz";
+        $this->execBackground("tar -xzvC {$installDest} -f {$dest}{$module} && rm {$dest}{$module} && touch /tmp/moduleInstalled");
         $this->response = array('success' => true);
     }
 
@@ -169,11 +170,12 @@ class ModuleManager extends SystemModule
 
     private function removeModule()
     {
-        if (is_link("/pineapple/modules/{$this->request->moduleName}")) {
-            @unlink("/pineapple/modules/{$this->request->moduleName}");
+        $path = "/pineapple/modules/{$this->request->moduleName}";
+        if (is_link($path)) {
+            @unlink($path);
             exec("rm -rf /sd/modules/{$this->request->moduleName}");
         } else {
-            exec("rm -rf /pineapple/modules/{$this->request->moduleName}");
+            exec("rm -rf {$path}");
         }
 
         $this->response = array('success' => true);