Răsfoiți Sursa

Add "keep settings" clean logic

DSR! 3 ani în urmă
părinte
comite
1db18f3223
2 a modificat fișierele cu 11 adăugiri și 1 ștergeri
  1. 0 1
      src/pineapple/api/Modules.php
  2. 11 0
      src/pineapple/api/Setup.php

+ 0 - 1
src/pineapple/api/Modules.php

@@ -35,7 +35,6 @@ class Modules extends APIModule
                 continue;
             }
 
-
             $jsonModulePath = "/modules/${moduleFolder}";
             $module = [
                 "name"     => $moduleFolder,

+ 11 - 0
src/pineapple/api/Setup.php

@@ -2,6 +2,17 @@
 
 class Setup extends APIModule
 {
+    public function __construct($request)
+    {
+        Parent::__construct($request);
+
+        # Disable setup in "keep settings" scenario
+        $count = explode("\n", exec('ls "/etc/pineapple" | wc -l'))[0];
+        if (intval($count) > 13) {
+            exec('/bin/rm -rf /pineapple/modules/Setup /pineapple/api/Setup.php /etc/pineapple/setupRequired');
+        }
+    }
+
     private function changePassword()
     {
         if ($this->request->rootPassword !== $this->request->confirmRootPassword) {