framework/extensions/akismet/extend.php

48 lines
1.4 KiB
PHP
Raw Normal View History

2015-09-04 11:14:02 +08:00
<?php
/*
* This file is part of Flarum.
*
2019-11-30 07:01:27 +08:00
* For detailed copyright and license information, please view the
* LICENSE file that was distributed with this source code.
2015-09-04 11:14:02 +08:00
*/
2015-10-11 20:47:51 +08:00
use Flarum\Akismet\Listener;
use Flarum\Approval\Event\PostWasApproved;
2018-01-22 05:20:58 +08:00
use Flarum\Extend;
use Flarum\Http\UrlGenerator;
use Flarum\Post\Event\Hidden;
use Flarum\Post\Event\Saving;
use Flarum\Settings\SettingsRepositoryInterface;
use Illuminate\Contracts\Container\Container;
2015-10-11 20:47:51 +08:00
use Illuminate\Contracts\Events\Dispatcher;
use TijsVerkoyen\Akismet\Akismet;
2015-09-04 11:14:02 +08:00
return [
(new Extend\Frontend('forum'))
->js(__DIR__.'/js/dist/forum.js'),
(new Extend\Frontend('admin'))
->js(__DIR__.'/js/dist/admin.js'),
new Extend\Locales(__DIR__.'/locale'),
function (Dispatcher $events, Container $container) {
$container->bind(Akismet::class, function ($app) {
/** @var SettingsRepositoryInterface $settings */
$settings = $app->make(SettingsRepositoryInterface::class);
/** @var UrlGenerator $url */
$url = $app->make(UrlGenerator::class);
return new Akismet(
$settings->get('flarum-akismet.api_key'),
$url->to('forum')->base()
);
});
$events->listen(Saving::class, Listener\ValidatePost::class);
$events->listen(PostWasApproved::class, Listener\SubmitHam::class);
$events->listen(Hidden::class, Listener\SubmitSpam::class);
2018-01-22 05:20:58 +08:00
},
];