mirror of
https://github.com/flarum/framework.git
synced 2025-03-31 12:47:49 +08:00
Use proper Event and Service Provider extenders
This commit is contained in:
parent
6ce50a1c52
commit
d747946e49
@ -8,15 +8,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
use Flarum\Akismet\Listener;
|
use Flarum\Akismet\Listener;
|
||||||
|
use Flarum\Akismet\Provider\AkismetProvider;
|
||||||
use Flarum\Approval\Event\PostWasApproved;
|
use Flarum\Approval\Event\PostWasApproved;
|
||||||
use Flarum\Extend;
|
use Flarum\Extend;
|
||||||
use Flarum\Http\UrlGenerator;
|
|
||||||
use Flarum\Post\Event\Hidden;
|
use Flarum\Post\Event\Hidden;
|
||||||
use Flarum\Post\Event\Saving;
|
use Flarum\Post\Event\Saving;
|
||||||
use Flarum\Settings\SettingsRepositoryInterface;
|
|
||||||
use Illuminate\Contracts\Container\Container;
|
|
||||||
use Illuminate\Contracts\Events\Dispatcher;
|
|
||||||
use TijsVerkoyen\Akismet\Akismet;
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
(new Extend\Frontend('forum'))
|
(new Extend\Frontend('forum'))
|
||||||
@ -27,21 +23,11 @@ return [
|
|||||||
|
|
||||||
new Extend\Locales(__DIR__.'/locale'),
|
new Extend\Locales(__DIR__.'/locale'),
|
||||||
|
|
||||||
function (Dispatcher $events, Container $container) {
|
(new Extend\Event())
|
||||||
$container->bind(Akismet::class, function ($app) {
|
->listen(Hidden::class, Listener\SubmitSpam::class)
|
||||||
/** @var SettingsRepositoryInterface $settings */
|
->listen(PostWasApproved::class, Listener\SubmitHam::class)
|
||||||
$settings = $app->make(SettingsRepositoryInterface::class);
|
->listen(Saving::class, Listener\ValidatePost::class),
|
||||||
/** @var UrlGenerator $url */
|
|
||||||
$url = $app->make(UrlGenerator::class);
|
|
||||||
|
|
||||||
return new Akismet(
|
(new Extend\ServiceProvider())
|
||||||
$settings->get('flarum-akismet.api_key'),
|
->register(AkismetProvider::class),
|
||||||
$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);
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
26
extensions/akismet/src/Provider/AkismetProvider.php
Normal file
26
extensions/akismet/src/Provider/AkismetProvider.php
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Flarum\Akismet\Provider;
|
||||||
|
|
||||||
|
use Flarum\Foundation\AbstractServiceProvider;
|
||||||
|
use Flarum\Http\UrlGenerator;
|
||||||
|
use Flarum\Settings\SettingsRepositoryInterface;
|
||||||
|
use TijsVerkoyen\Akismet\Akismet;
|
||||||
|
|
||||||
|
class AkismetProvider extends AbstractServiceProvider
|
||||||
|
{
|
||||||
|
public function register()
|
||||||
|
{
|
||||||
|
$this->app->bind(Akismet::class, function () {
|
||||||
|
/** @var SettingsRepositoryInterface $settings */
|
||||||
|
$settings = $this->app->make(SettingsRepositoryInterface::class);
|
||||||
|
/** @var UrlGenerator $url */
|
||||||
|
$url = $this->app->make(UrlGenerator::class);
|
||||||
|
|
||||||
|
return new Akismet(
|
||||||
|
$settings->get('flarum-akismet.api_key'),
|
||||||
|
$url->to('forum')->base()
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user