mirror of
https://github.com/flarum/core.git
synced 2025-08-08 01:16:52 +02:00
Get rid of event subscribers that resolve services too early
Refs flarum/core#1578.
This commit is contained in:
@@ -10,8 +10,14 @@
|
||||
*/
|
||||
|
||||
use Flarum\Akismet\Listener;
|
||||
use Flarum\Approval\Event\PostWasApproved;
|
||||
use Flarum\Extend;
|
||||
use Flarum\Post\Event\Hidden;
|
||||
use Flarum\Post\Event\Saving;
|
||||
use Flarum\Settings\SettingsRepositoryInterface;
|
||||
use Illuminate\Contracts\Container\Container;
|
||||
use Illuminate\Contracts\Events\Dispatcher;
|
||||
use TijsVerkoyen\Akismet\Akismet;
|
||||
|
||||
return [
|
||||
(new Extend\Frontend('forum'))
|
||||
@@ -20,7 +26,18 @@ return [
|
||||
(new Extend\Frontend('admin'))
|
||||
->js(__DIR__.'/js/dist/admin.js'),
|
||||
|
||||
function (Dispatcher $events) {
|
||||
$events->subscribe(Listener\FilterNewPosts::class);
|
||||
function (Dispatcher $events, Container $container) {
|
||||
$container->bind(Akismet::class, function ($app) {
|
||||
$settings = $app->make(SettingsRepositoryInterface::class);
|
||||
|
||||
return new Akismet(
|
||||
$settings->get('flarum-akismet.api_key'),
|
||||
$app->url()
|
||||
);
|
||||
});
|
||||
|
||||
$events->listen(Saving::class, Listener\ValidatePost::class);
|
||||
$events->listen(PostWasApproved::class, Listener\SubmitHam::class);
|
||||
$events->listen(Hidden::class, Listener\SubmitSpam::class);
|
||||
},
|
||||
];
|
||||
|
Reference in New Issue
Block a user