Selaa lähdekoodia

Update ModelPhyreServerCreatedListener.php

Bozhidar Slaveykov 1 vuosi sitten
vanhempi
commit
805a414c5d
1 muutettua tiedostoa jossa 19 lisäystä ja 3 poistoa
  1. 19 3
      web/app/Listeners/ModelPhyreServerCreatedListener.php

+ 19 - 3
web/app/Listeners/ModelPhyreServerCreatedListener.php

@@ -4,6 +4,7 @@ namespace App\Listeners;
 
 
 
 
 use App\Events\ModelPhyreServerCreated;
 use App\Events\ModelPhyreServerCreated;
+use App\Models\PhyreServer;
 use Illuminate\Remote\Connection;
 use Illuminate\Remote\Connection;
 use phpseclib3\Net\SSH2;
 use phpseclib3\Net\SSH2;
 use Spatie\Ssh\Ssh;
 use Spatie\Ssh\Ssh;
@@ -23,15 +24,30 @@ class ModelPhyreServerCreatedListener
      */
      */
     public function handle(ModelPhyreServerCreated $event): void
     public function handle(ModelPhyreServerCreated $event): void
     {
     {
-
+        $findPhyreServer =  PhyreServer::where('id', $event->model->id)->first();
+        if (!$findPhyreServer) {
+            return;
+        }
+        if ($findPhyreServer->status == 'installing') {
+            return;
+        }
         $username = $event->model->username;
         $username = $event->model->username;
         $password = $event->model->password;
         $password = $event->model->password;
         $ip = $event->model->ip;
         $ip = $event->model->ip;
 
 
         $ssh = new SSH2($ip);
         $ssh = new SSH2($ip);
         if ($ssh->login($username, $password)) {
         if ($ssh->login($username, $password)) {
-            $ssh->exec('wget https://raw.githubusercontent.com/CloudVisionApps/PhyrePanel/main/installers/install.sh && chmod +x install.sh && ./install.sh  >phyre-install.log 2>&1 </dev/null &');
-        }
 
 
+            $ssh->exec('wget https://raw.githubusercontent.com/CloudVisionApps/PhyrePanel/main/installers/install.sh');
+            $ssh->exec('chmod +x install.sh');
+            $ssh->exec('./install.sh  >phyre-install.log 2>&1 </dev/null &');
+
+            $findPhyreServer->status = 'installing';
+            $findPhyreServer->save();
+
+        } else {
+            $findPhyreServer->status = 'can\'t connect to server';
+            $findPhyreServer->save();
+        }
     }
     }
 }
 }