mirror of
https://github.com/flarum/core.git
synced 2025-08-02 14:37:49 +02:00
@@ -13,12 +13,28 @@ namespace Flarum\Suspend\Listener;
|
|||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Flarum\Core\Access\AssertPermissionTrait;
|
use Flarum\Core\Access\AssertPermissionTrait;
|
||||||
use Flarum\Event\UserWillBeSaved;
|
use Flarum\Event\UserWillBeSaved;
|
||||||
|
use Flarum\Suspend\SuspendValidator;
|
||||||
use Illuminate\Contracts\Events\Dispatcher;
|
use Illuminate\Contracts\Events\Dispatcher;
|
||||||
|
|
||||||
class SaveSuspensionToDatabase
|
class SaveSuspensionToDatabase
|
||||||
{
|
{
|
||||||
use AssertPermissionTrait;
|
use AssertPermissionTrait;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Validator for limited suspension.
|
||||||
|
*
|
||||||
|
* @var SuspendValidator
|
||||||
|
*/
|
||||||
|
protected $validator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param SuspendValidator $validator
|
||||||
|
*/
|
||||||
|
public function __construct(SuspendValidator $validator)
|
||||||
|
{
|
||||||
|
$this->validator = $validator;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Dispatcher $events
|
* @param Dispatcher $events
|
||||||
*/
|
*/
|
||||||
@@ -35,6 +51,8 @@ class SaveSuspensionToDatabase
|
|||||||
$attributes = array_get($event->data, 'attributes', []);
|
$attributes = array_get($event->data, 'attributes', []);
|
||||||
|
|
||||||
if (array_key_exists('suspendUntil', $attributes)) {
|
if (array_key_exists('suspendUntil', $attributes)) {
|
||||||
|
$this->validator->assertValid($attributes);
|
||||||
|
|
||||||
$suspendUntil = $attributes['suspendUntil'];
|
$suspendUntil = $attributes['suspendUntil'];
|
||||||
$user = $event->user;
|
$user = $event->user;
|
||||||
$actor = $event->actor;
|
$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