mirror of
https://github.com/flarum/core.git
synced 2025-08-06 08:27:42 +02:00
@@ -21,4 +21,5 @@ return function (Dispatcher $events) {
|
|||||||
$events->subscribe(Listener\SaveLockedToDatabase::class);
|
$events->subscribe(Listener\SaveLockedToDatabase::class);
|
||||||
|
|
||||||
$events->subscribe(Access\DiscussionPolicy::class);
|
$events->subscribe(Access\DiscussionPolicy::class);
|
||||||
|
$events->subscribe(Access\PostPolicy::class);
|
||||||
};
|
};
|
||||||
|
37
extensions/lock/src/Access/PostPolicy.php
Executable file
37
extensions/lock/src/Access/PostPolicy.php
Executable file
@@ -0,0 +1,37 @@
|
|||||||
|
<?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\Lock\Access;
|
||||||
|
|
||||||
|
use Flarum\Core\Access\AbstractPolicy;
|
||||||
|
use Flarum\Core\User;
|
||||||
|
use Flarum\Core\Post;
|
||||||
|
|
||||||
|
class PostPolicy extends AbstractPolicy
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected $model = Post::class;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param User $actor
|
||||||
|
* @param Post $post
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function edit(User $actor, Post $post)
|
||||||
|
{
|
||||||
|
$discussion = $post->discussion;
|
||||||
|
if ($discussion->is_locked && $actor->cannot('lock', $discussion)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user