From d6766dbf7e3750e2f0399b5e292b0e0b25b53113 Mon Sep 17 00:00:00 2001 From: Daniel Klabbers Date: Fri, 22 Jan 2016 22:14:08 +0100 Subject: [PATCH 1/2] added validator --- .../src/Listener/SaveSuspensionToDatabase.php | 18 +++++++++++++++ extensions/suspend/src/SuspendValidator.php | 23 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 extensions/suspend/src/SuspendValidator.php diff --git a/extensions/suspend/src/Listener/SaveSuspensionToDatabase.php b/extensions/suspend/src/Listener/SaveSuspensionToDatabase.php index cb5e04c3d..d2ab839c5 100755 --- a/extensions/suspend/src/Listener/SaveSuspensionToDatabase.php +++ b/extensions/suspend/src/Listener/SaveSuspensionToDatabase.php @@ -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; + /** + * @var SuspendValidator + */ + protected $validator; + + /** + * SaveSuspensionToDatabase constructor. + * + * @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; diff --git a/extensions/suspend/src/SuspendValidator.php b/extensions/suspend/src/SuspendValidator.php new file mode 100644 index 000000000..7ec3a4e40 --- /dev/null +++ b/extensions/suspend/src/SuspendValidator.php @@ -0,0 +1,23 @@ + + * + * 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'], + ]; +} From 56e0eeebb187ae80e60190ca6e5318db2fbc451a Mon Sep 17 00:00:00 2001 From: Daniel Klabbers Date: Sat, 23 Jan 2016 09:49:23 +0100 Subject: [PATCH 2/2] removed "useless" phpdoc, added description for validator --- extensions/suspend/src/Listener/SaveSuspensionToDatabase.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/suspend/src/Listener/SaveSuspensionToDatabase.php b/extensions/suspend/src/Listener/SaveSuspensionToDatabase.php index d2ab839c5..88e1f12e5 100755 --- a/extensions/suspend/src/Listener/SaveSuspensionToDatabase.php +++ b/extensions/suspend/src/Listener/SaveSuspensionToDatabase.php @@ -21,13 +21,13 @@ class SaveSuspensionToDatabase use AssertPermissionTrait; /** + * Validator for limited suspension. + * * @var SuspendValidator */ protected $validator; /** - * SaveSuspensionToDatabase constructor. - * * @param SuspendValidator $validator */ public function __construct(SuspendValidator $validator)