diff --git a/app/Helpers/ConfigHelper.php b/app/Helpers/ConfigHelper.php index cab4eb1..2ae648c 100644 --- a/app/Helpers/ConfigHelper.php +++ b/app/Helpers/ConfigHelper.php @@ -128,6 +128,7 @@ class ConfigHelper 'rabbitmq_port' => 5672, 'rabbitmq_queue' => 'blue_twilight', 'rabbitmq_username' => 'guest', + 'rabbitmq_vhost' => '/', 'recaptcha_enabled_registration' => false, 'recaptcha_secret_key' => '', 'recaptcha_site_key' => '', @@ -210,7 +211,8 @@ class ConfigHelper !empty($this->get('rabbitmq_port')) && !empty($this->get('rabbitmq_username')) && !empty($this->get('rabbitmq_password')) && - !empty($this->get('rabbitmq_queue')); + !empty($this->get('rabbitmq_queue')) && + !empty($this->get('rabbitmq_vhost')); } public function isSocialMediaLoginEnabled() diff --git a/app/Http/Controllers/Admin/DefaultController.php b/app/Http/Controllers/Admin/DefaultController.php index ce80e5b..83932f8 100644 --- a/app/Http/Controllers/Admin/DefaultController.php +++ b/app/Http/Controllers/Admin/DefaultController.php @@ -3,12 +3,10 @@ namespace App\Http\Controllers\Admin; use App\Album; -use App\Configuration; use App\Facade\Theme; use App\Facade\UserConfig; use App\Group; use App\Helpers\AnalysisQueueHelper; -use App\Helpers\ConfigHelper; use App\Helpers\DbHelper; use App\Helpers\MiscHelper; use App\Helpers\PermissionsHelper; @@ -19,12 +17,10 @@ use App\Mail\TestMailConfig; use App\Photo; use App\PhotoComment; use App\Services\GiteaService; -use App\Services\GithubService; use App\Services\PhotoService; use App\Storage; use App\User; use Illuminate\Http\Request; -use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Mail; @@ -275,6 +271,7 @@ class DefaultController extends Controller 'rabbitmq_username', 'rabbitmq_password', 'rabbitmq_queue', + 'rabbitmq_vhost', 'sender_address', 'sender_name', 'smtp_server', diff --git a/app/Services/RabbitMQService.php b/app/Services/RabbitMQService.php index aa33a37..d014b4e 100644 --- a/app/Services/RabbitMQService.php +++ b/app/Services/RabbitMQService.php @@ -19,6 +19,8 @@ class RabbitMQService protected $server; protected $username; + + protected $vhost; /** * @var AMQPChannel @@ -37,6 +39,9 @@ class RabbitMQService $this->username = UserConfig::get('rabbitmq_username'); $this->password = decrypt(UserConfig::get('rabbitmq_password')); $this->queue = UserConfig::get('rabbitmq_queue'); + + $vhost = UserConfig::get('rabbitmq_vhost'); + $this->vhost = empty($vhost) ? '/' : $vhost; } public function queueItem(QueueItem $queueItem) @@ -78,7 +83,7 @@ class RabbitMQService private function connectAndInit() { - $this->connection = new AMQPStreamConnection($this->server, $this->port, $this->username, $this->password); + $this->connection = new AMQPStreamConnection($this->server, $this->port, $this->username, $this->password, $this->vhost); $this->channel = $this->connection->channel(); $this->channel->queue_declare($this->queue, false, true, false, false); diff --git a/resources/views/themes/base/admin/settings.blade.php b/resources/views/themes/base/admin/settings.blade.php index 4cab825..c638cfb 100644 --- a/resources/views/themes/base/admin/settings.blade.php +++ b/resources/views/themes/base/admin/settings.blade.php @@ -182,6 +182,17 @@ @endif +
+ + + + @if ($errors->has('rabbitmq_vhost')) +
+ {{ $errors->first('rabbitmq_vhost') }} +
+ @endif +
+