mirror of
https://github.com/glowingblue/flarum-ext-redis-setup.git
synced 2026-03-22 06:57:45 +01:00
Added the ability to configure horizon
This commit is contained in:
45
src/Extend/ConfigureHorizon.php
Normal file
45
src/Extend/ConfigureHorizon.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of glowingblue/redis-setup.
|
||||
*
|
||||
* Copyright (c) 2022 Glowing Blue AG.
|
||||
* Authors: Rafael Horvat.
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE.md
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace GlowingBlue\RedisSetup\Extend;
|
||||
|
||||
use Blomstra\Horizon\Extend\Horizon;
|
||||
use Flarum\Extend\ExtenderInterface;
|
||||
use Flarum\Extension\Extension;
|
||||
use Flarum\Extension\ExtensionManager;
|
||||
use Flarum\Settings\SettingsRepositoryInterface;
|
||||
use Illuminate\Contracts\Container\Container;
|
||||
|
||||
class ConfigureHorizon implements ExtenderInterface
|
||||
{
|
||||
public function extend(Container $container, Extension $extension = null)
|
||||
{
|
||||
$extensions = resolve(ExtensionManager::class);
|
||||
|
||||
if (!$extensions->isEnabled('blomstra-horizon') || !class_exists(Horizon::class)) {
|
||||
return;
|
||||
}
|
||||
|
||||
/** @var SettingsRepositoryInterface */
|
||||
$settings = resolve(SettingsRepositoryInterface::class);
|
||||
|
||||
$config = json_decode($settings->get('glowingblue-redis.horizonConfig', '[]'), true);
|
||||
|
||||
if (!is_array($config) || empty($config)) {
|
||||
return;
|
||||
}
|
||||
|
||||
(new Horizon())
|
||||
->config($config)
|
||||
->extend($container, $extension);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user