From: Vincent Vanwaelscappel Date: Fri, 27 Jan 2023 18:05:07 +0000 (+0100) Subject: wip #5700 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=f9a9f0aecb03d554bb74d8f72fc88d40c851be5b;p=cubist_cms-back.git wip #5700 @1 --- diff --git a/src/app/Magic/Models/ExternalServer.php b/src/app/Magic/Models/ExternalServer.php index 8f58a7f..d123bfe 100644 --- a/src/app/Magic/Models/ExternalServer.php +++ b/src/app/Magic/Models/ExternalServer.php @@ -34,21 +34,29 @@ class ExternalServer extends CubistMagicAbstractModel implements IServer $this->addField('username', Text::class, __('Nom d\'utilisateur'), ['when' => ['protocol' => $this->getUsernameProtocols()]]); $this->addField('password', Password::class, __('Mot de passe'), ['when' => ['protocol' => $this->getPasswordProtocols()]]); $this->addField('base_path', Text::class, __('Chemin de base'), ['default' => '/']); - $this->addField('base_url', URL::class, __('URL de base'), ['default' => 'https://']); + $this->addField('base_url', URL::class, __('URL de base'), ['default' => 'https://', 'column' => true]); } public static function getAllServers() { - if (null === static::$_servers) { static::$_servers = []; foreach (static::where('created_ok', '1')->get() as $server) { - static::$_servers[$server->id] = ['name' => $server->name, 'base_url' => $server->base_url]; + static::$_servers[$server->id] = static::_getOneServer($server); } } return static::$_servers; } + /** + * @param $server static + * @return void + */ + protected static function _getOneServer($server) + { + return ['name' => $server->name, 'base_url' => $server->base_url ?: $server->base_path]; + } + protected function getProtocols() { return ['FTP' => __('FTP non sécurisé'), 'FTPS' => __('FTP sécurisé explicite sur TLS'), 'FTPES' => __('FTP sécurisé implicite sur TLS'), 'SFTP' => 'SFTP']; @@ -81,10 +89,9 @@ class ExternalServer extends CubistMagicAbstractModel implements IServer /** - * @param $protocol * @return Driver */ - public function getTransferDriver($protocol) + public function getTransferDriver() { if (in_array($this->getProtocol(), $this->getFTPProtocols())) { return new FTP($this); diff --git a/src/resources/views/fields/external_path.blade.php b/src/resources/views/fields/external_path.blade.php index c9f6afa..99aa3f7 100644 --- a/src/resources/views/fields/external_path.blade.php +++ b/src/resources/views/fields/external_path.blade.php @@ -43,8 +43,8 @@ $servers = $serversClass::getAllServers();
-
@@ -104,10 +104,23 @@ $servers = $serversClass::getAllServers(); @push('crud_fields_scripts')