mirror of
https://github.com/flarum/core.git
synced 2025-08-01 06:00:24 +02:00
@@ -13,12 +13,28 @@ namespace Flarum\Suspend\Listener;
|
||||
use Carbon\Carbon;
|
||||
use Flarum\Core\Access\AssertPermissionTrait;
|
||||
use Flarum\Event\UserWillBeSaved;
|
||||
use Flarum\Suspend\SuspendValidator;
|
||||
use Illuminate\Contracts\Events\Dispatcher;
|
||||
|
||||
class SaveSuspensionToDatabase
|
||||
{
|
||||
use AssertPermissionTrait;
|
||||
|
||||
/**
|
||||
* Validator for limited suspension.
|
||||
*
|
||||
* @var SuspendValidator
|
||||
*/
|
||||
protected $validator;
|
||||
|
||||
/**
|
||||
* @param SuspendValidator $validator
|
||||
*/
|
||||
public function __construct(SuspendValidator $validator)
|
||||
{
|
||||
$this->validator = $validator;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Dispatcher $events
|
||||
*/
|
||||
@@ -35,6 +51,8 @@ class SaveSuspensionToDatabase
|
||||
$attributes = array_get($event->data, 'attributes', []);
|
||||
|
||||
if (array_key_exists('suspendUntil', $attributes)) {
|
||||
$this->validator->assertValid($attributes);
|
||||
|
||||
$suspendUntil = $attributes['suspendUntil'];
|
||||
$user = $event->user;
|
||||
$actor = $event->actor;
|
||||
|
23
extensions/suspend/src/SuspendValidator.php
Normal file
23
extensions/suspend/src/SuspendValidator.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of Flarum.
|
||||
*
|
||||
* (c) Toby Zerner <toby.zerner@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Flarum\Suspend;
|
||||
|
||||
use Flarum\Core\Validator\AbstractValidator;
|
||||
|
||||
class SuspendValidator extends AbstractValidator
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected $rules = [
|
||||
'suspendUntil' => ['min:1', 'integer'],
|
||||
];
|
||||
}
|
Reference in New Issue
Block a user