mirror of
https://github.com/flarum/core.git
synced 2025-08-11 02:44:04 +02:00
chore: update codebase to php8.1 (#3827)
* chore: set minimum php version to 8.1 Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * chore: update codebase to php8.1 Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * Apply fixes from StyleCI * chore: update workflow php version Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: caught errors Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: more caught errors Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: phpstan caught errors Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * Apply fixes from StyleCI * fix: test-caught errors Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: test-caught errors Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: test-caught errors Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: introduce `Flarum\Locale\TranslatorInterface` Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * Apply fixes from StyleCI * chore: remove mixin Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: test-caught errors Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: one last error Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> --------- Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> Co-authored-by: StyleCI Bot <bot@styleci.io>
This commit is contained in:
@@ -34,7 +34,7 @@ return [
|
||||
->type(DiscussionStickiedPost::class),
|
||||
|
||||
(new Extend\ApiSerializer(DiscussionSerializer::class))
|
||||
->attribute('isSticky', function (DiscussionSerializer $serializer, $discussion) {
|
||||
->attribute('isSticky', function (DiscussionSerializer $serializer, Discussion $discussion) {
|
||||
return (bool) $discussion->is_sticky;
|
||||
})
|
||||
->attribute('canSticky', function (DiscussionSerializer $serializer, $discussion) {
|
||||
|
@@ -14,23 +14,9 @@ use Flarum\User\User;
|
||||
|
||||
class DiscussionWasStickied
|
||||
{
|
||||
/**
|
||||
* @var Discussion
|
||||
*/
|
||||
public $discussion;
|
||||
|
||||
/**
|
||||
* @var User
|
||||
*/
|
||||
public $user;
|
||||
|
||||
/**
|
||||
* @param Discussion $discussion
|
||||
* @param User $user
|
||||
*/
|
||||
public function __construct(Discussion $discussion, User $user)
|
||||
{
|
||||
$this->discussion = $discussion;
|
||||
$this->user = $user;
|
||||
public function __construct(
|
||||
public Discussion $discussion,
|
||||
public User $user
|
||||
) {
|
||||
}
|
||||
}
|
||||
|
@@ -14,23 +14,9 @@ use Flarum\User\User;
|
||||
|
||||
class DiscussionWasUnstickied
|
||||
{
|
||||
/**
|
||||
* @var Discussion
|
||||
*/
|
||||
public $discussion;
|
||||
|
||||
/**
|
||||
* @var User
|
||||
*/
|
||||
public $user;
|
||||
|
||||
/**
|
||||
* @param Discussion $discussion
|
||||
* @param User $user
|
||||
*/
|
||||
public function __construct(Discussion $discussion, User $user)
|
||||
{
|
||||
$this->discussion = $discussion;
|
||||
$this->user = $user;
|
||||
public function __construct(
|
||||
public Discussion $discussion,
|
||||
public User $user
|
||||
) {
|
||||
}
|
||||
}
|
||||
|
@@ -17,28 +17,17 @@ use Flarum\User\User;
|
||||
|
||||
class CreatePostWhenDiscussionIsStickied
|
||||
{
|
||||
/**
|
||||
* @param DiscussionWasStickied $event
|
||||
*/
|
||||
public static function whenDiscussionWasStickied(DiscussionWasStickied $event)
|
||||
public static function whenDiscussionWasStickied(DiscussionWasStickied $event): void
|
||||
{
|
||||
static::stickyChanged($event->discussion, $event->user, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param DiscussionWasUnstickied $event
|
||||
*/
|
||||
public static function whenDiscussionWasUnstickied(DiscussionWasUnstickied $event)
|
||||
public static function whenDiscussionWasUnstickied(DiscussionWasUnstickied $event): void
|
||||
{
|
||||
static::stickyChanged($event->discussion, $event->user, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Discussion $discussion
|
||||
* @param User $user
|
||||
* @param bool $isSticky
|
||||
*/
|
||||
protected static function stickyChanged(Discussion $discussion, User $user, $isSticky)
|
||||
protected static function stickyChanged(Discussion $discussion, User $user, bool $isSticky): void
|
||||
{
|
||||
$post = DiscussionStickiedPost::reply(
|
||||
$discussion->id,
|
||||
|
@@ -15,10 +15,7 @@ use Flarum\Sticky\Event\DiscussionWasUnstickied;
|
||||
|
||||
class SaveStickyToDatabase
|
||||
{
|
||||
/**
|
||||
* @param Saving $event
|
||||
*/
|
||||
public function handle(Saving $event)
|
||||
public function handle(Saving $event): void
|
||||
{
|
||||
if (isset($event->data['attributes']['isSticky'])) {
|
||||
$isSticky = (bool) $event->data['attributes']['isSticky'];
|
||||
|
@@ -15,7 +15,7 @@ use Flarum\Tags\Query\TagFilterGambit;
|
||||
|
||||
class PinStickiedDiscussionsToTop
|
||||
{
|
||||
public function __invoke(FilterState $filterState, QueryCriteria $criteria)
|
||||
public function __invoke(FilterState $filterState, QueryCriteria $criteria): void
|
||||
{
|
||||
if ($criteria->sortIsDefault) {
|
||||
$query = $filterState->getQuery();
|
||||
|
@@ -16,15 +16,9 @@ use Flarum\Post\Post;
|
||||
|
||||
class DiscussionStickiedPost extends AbstractEventPost implements MergeableInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public static $type = 'discussionStickied';
|
||||
public static string $type = 'discussionStickied';
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function saveAfter(Post $previous = null)
|
||||
public function saveAfter(Post $previous = null): static
|
||||
{
|
||||
// If the previous post is another 'discussion stickied' post, and it's
|
||||
// by the same user, then we can merge this post into it. If we find
|
||||
@@ -47,15 +41,7 @@ class DiscussionStickiedPost extends AbstractEventPost implements MergeableInter
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new instance in reply to a discussion.
|
||||
*
|
||||
* @param int $discussionId
|
||||
* @param int $userId
|
||||
* @param bool $isSticky
|
||||
* @return static
|
||||
*/
|
||||
public static function reply($discussionId, $userId, $isSticky)
|
||||
public static function reply(int $discussionId, int $userId, bool $isSticky): static
|
||||
{
|
||||
$post = new static;
|
||||
|
||||
@@ -67,14 +53,8 @@ class DiscussionStickiedPost extends AbstractEventPost implements MergeableInter
|
||||
return $post;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the content attribute.
|
||||
*
|
||||
* @param bool $isSticky Whether or not the discussion is stickied.
|
||||
* @return array
|
||||
*/
|
||||
public static function buildContent($isSticky)
|
||||
public static function buildContent(bool $isSticky): array
|
||||
{
|
||||
return ['sticky' => (bool) $isSticky];
|
||||
return ['sticky' => $isSticky];
|
||||
}
|
||||
}
|
||||
|
@@ -17,12 +17,12 @@ use Illuminate\Database\Query\Builder;
|
||||
|
||||
class StickyFilterGambit extends AbstractRegexGambit implements FilterInterface
|
||||
{
|
||||
protected function getGambitPattern()
|
||||
protected function getGambitPattern(): string
|
||||
{
|
||||
return 'is:sticky';
|
||||
}
|
||||
|
||||
protected function conditions(SearchState $search, array $matches, $negate)
|
||||
protected function conditions(SearchState $search, array $matches, bool $negate): void
|
||||
{
|
||||
$this->constrain($search->getQuery(), $negate);
|
||||
}
|
||||
@@ -32,12 +32,12 @@ class StickyFilterGambit extends AbstractRegexGambit implements FilterInterface
|
||||
return 'sticky';
|
||||
}
|
||||
|
||||
public function filter(FilterState $filterState, $filterValue, $negate)
|
||||
public function filter(FilterState $filterState, string|array $filterValue, bool $negate): void
|
||||
{
|
||||
$this->constrain($filterState->getQuery(), $negate);
|
||||
}
|
||||
|
||||
protected function constrain(Builder $query, bool $negate)
|
||||
protected function constrain(Builder $query, bool $negate): void
|
||||
{
|
||||
$query->where('is_sticky', ! $negate);
|
||||
}
|
||||
|
Reference in New Issue
Block a user