diff --git a/framework/core/src/Api/ApiKey.php b/framework/core/src/Api/ApiKey.php index 1adfb9b83..7ccec1984 100644 --- a/framework/core/src/Api/ApiKey.php +++ b/framework/core/src/Api/ApiKey.php @@ -14,6 +14,7 @@ namespace Flarum\Api; use Carbon\Carbon; use Flarum\Database\AbstractModel; use Flarum\User\User; +use Illuminate\Support\Str; /** * @property int $id @@ -38,7 +39,7 @@ class ApiKey extends AbstractModel { $key = new static; - $key->key = str_random(40); + $key->key = Str::random(40); return $key; } diff --git a/framework/core/src/Api/Controller/CreateDiscussionController.php b/framework/core/src/Api/Controller/CreateDiscussionController.php index 32caf0463..f4a2dc66f 100644 --- a/framework/core/src/Api/Controller/CreateDiscussionController.php +++ b/framework/core/src/Api/Controller/CreateDiscussionController.php @@ -16,6 +16,7 @@ use Flarum\Discussion\Command\ReadDiscussion; use Flarum\Discussion\Command\StartDiscussion; use Flarum\Post\Floodgate; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -63,14 +64,14 @@ class CreateDiscussionController extends AbstractCreateController protected function data(ServerRequestInterface $request, Document $document) { $actor = $request->getAttribute('actor'); - $ipAddress = array_get($request->getServerParams(), 'REMOTE_ADDR', '127.0.0.1'); + $ipAddress = Arr::get($request->getServerParams(), 'REMOTE_ADDR', '127.0.0.1'); if (! $request->getAttribute('bypassFloodgate')) { $this->floodgate->assertNotFlooding($actor); } $discussion = $this->bus->dispatch( - new StartDiscussion($actor, array_get($request->getParsedBody(), 'data', []), $ipAddress) + new StartDiscussion($actor, Arr::get($request->getParsedBody(), 'data', []), $ipAddress) ); // After creating the discussion, we assume that the user has seen all diff --git a/framework/core/src/Api/Controller/CreateGroupController.php b/framework/core/src/Api/Controller/CreateGroupController.php index 623815924..46bddd3b9 100644 --- a/framework/core/src/Api/Controller/CreateGroupController.php +++ b/framework/core/src/Api/Controller/CreateGroupController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\Api\Serializer\GroupSerializer; use Flarum\Group\Command\CreateGroup; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -43,7 +44,7 @@ class CreateGroupController extends AbstractCreateController protected function data(ServerRequestInterface $request, Document $document) { return $this->bus->dispatch( - new CreateGroup($request->getAttribute('actor'), array_get($request->getParsedBody(), 'data', [])) + new CreateGroup($request->getAttribute('actor'), Arr::get($request->getParsedBody(), 'data', [])) ); } } diff --git a/framework/core/src/Api/Controller/CreatePostController.php b/framework/core/src/Api/Controller/CreatePostController.php index 03da2c4be..297d6dcdf 100644 --- a/framework/core/src/Api/Controller/CreatePostController.php +++ b/framework/core/src/Api/Controller/CreatePostController.php @@ -16,6 +16,7 @@ use Flarum\Discussion\Command\ReadDiscussion; use Flarum\Post\Command\PostReply; use Flarum\Post\Floodgate; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -62,9 +63,9 @@ class CreatePostController extends AbstractCreateController protected function data(ServerRequestInterface $request, Document $document) { $actor = $request->getAttribute('actor'); - $data = array_get($request->getParsedBody(), 'data', []); - $discussionId = array_get($data, 'relationships.discussion.data.id'); - $ipAddress = array_get($request->getServerParams(), 'REMOTE_ADDR', '127.0.0.1'); + $data = Arr::get($request->getParsedBody(), 'data', []); + $discussionId = Arr::get($data, 'relationships.discussion.data.id'); + $ipAddress = Arr::get($request->getServerParams(), 'REMOTE_ADDR', '127.0.0.1'); if (! $request->getAttribute('bypassFloodgate')) { $this->floodgate->assertNotFlooding($actor); diff --git a/framework/core/src/Api/Controller/CreateTokenController.php b/framework/core/src/Api/Controller/CreateTokenController.php index 5be69724d..2a5ae2c39 100644 --- a/framework/core/src/Api/Controller/CreateTokenController.php +++ b/framework/core/src/Api/Controller/CreateTokenController.php @@ -16,6 +16,7 @@ use Flarum\User\Exception\PermissionDeniedException; use Flarum\User\UserRepository; use Illuminate\Contracts\Bus\Dispatcher as BusDispatcher; use Illuminate\Contracts\Events\Dispatcher as EventDispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; @@ -57,9 +58,9 @@ class CreateTokenController implements RequestHandlerInterface { $body = $request->getParsedBody(); - $identification = array_get($body, 'identification'); - $password = array_get($body, 'password'); - $lifetime = array_get($body, 'lifetime', 3600); + $identification = Arr::get($body, 'identification'); + $password = Arr::get($body, 'password'); + $lifetime = Arr::get($body, 'lifetime', 3600); $user = $this->users->findByIdentification($identification); diff --git a/framework/core/src/Api/Controller/CreateUserController.php b/framework/core/src/Api/Controller/CreateUserController.php index 20bcda015..22b507297 100644 --- a/framework/core/src/Api/Controller/CreateUserController.php +++ b/framework/core/src/Api/Controller/CreateUserController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\Api\Serializer\CurrentUserSerializer; use Flarum\User\Command\RegisterUser; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -43,7 +44,7 @@ class CreateUserController extends AbstractCreateController protected function data(ServerRequestInterface $request, Document $document) { return $this->bus->dispatch( - new RegisterUser($request->getAttribute('actor'), array_get($request->getParsedBody(), 'data', [])) + new RegisterUser($request->getAttribute('actor'), Arr::get($request->getParsedBody(), 'data', [])) ); } } diff --git a/framework/core/src/Api/Controller/DeleteAvatarController.php b/framework/core/src/Api/Controller/DeleteAvatarController.php index c22d9a798..bdbbb527f 100644 --- a/framework/core/src/Api/Controller/DeleteAvatarController.php +++ b/framework/core/src/Api/Controller/DeleteAvatarController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\Api\Serializer\UserSerializer; use Flarum\User\Command\DeleteAvatar; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -43,7 +44,7 @@ class DeleteAvatarController extends AbstractShowController protected function data(ServerRequestInterface $request, Document $document) { return $this->bus->dispatch( - new DeleteAvatar(array_get($request->getQueryParams(), 'id'), $request->getAttribute('actor')) + new DeleteAvatar(Arr::get($request->getQueryParams(), 'id'), $request->getAttribute('actor')) ); } } diff --git a/framework/core/src/Api/Controller/DeleteDiscussionController.php b/framework/core/src/Api/Controller/DeleteDiscussionController.php index 17c0206d6..16e423eab 100644 --- a/framework/core/src/Api/Controller/DeleteDiscussionController.php +++ b/framework/core/src/Api/Controller/DeleteDiscussionController.php @@ -13,6 +13,7 @@ namespace Flarum\Api\Controller; use Flarum\Discussion\Command\DeleteDiscussion; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; class DeleteDiscussionController extends AbstractDeleteController @@ -35,7 +36,7 @@ class DeleteDiscussionController extends AbstractDeleteController */ protected function delete(ServerRequestInterface $request) { - $id = array_get($request->getQueryParams(), 'id'); + $id = Arr::get($request->getQueryParams(), 'id'); $actor = $request->getAttribute('actor'); $input = $request->getParsedBody(); diff --git a/framework/core/src/Api/Controller/DeleteGroupController.php b/framework/core/src/Api/Controller/DeleteGroupController.php index e4f1adb61..c7966f7e7 100644 --- a/framework/core/src/Api/Controller/DeleteGroupController.php +++ b/framework/core/src/Api/Controller/DeleteGroupController.php @@ -13,6 +13,7 @@ namespace Flarum\Api\Controller; use Flarum\Group\Command\DeleteGroup; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; class DeleteGroupController extends AbstractDeleteController @@ -36,7 +37,7 @@ class DeleteGroupController extends AbstractDeleteController protected function delete(ServerRequestInterface $request) { $this->bus->dispatch( - new DeleteGroup(array_get($request->getQueryParams(), 'id'), $request->getAttribute('actor')) + new DeleteGroup(Arr::get($request->getQueryParams(), 'id'), $request->getAttribute('actor')) ); } } diff --git a/framework/core/src/Api/Controller/DeletePostController.php b/framework/core/src/Api/Controller/DeletePostController.php index eb1bd812c..ae501ac7c 100644 --- a/framework/core/src/Api/Controller/DeletePostController.php +++ b/framework/core/src/Api/Controller/DeletePostController.php @@ -13,6 +13,7 @@ namespace Flarum\Api\Controller; use Flarum\Post\Command\DeletePost; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; class DeletePostController extends AbstractDeleteController @@ -36,7 +37,7 @@ class DeletePostController extends AbstractDeleteController protected function delete(ServerRequestInterface $request) { $this->bus->dispatch( - new DeletePost(array_get($request->getQueryParams(), 'id'), $request->getAttribute('actor')) + new DeletePost(Arr::get($request->getQueryParams(), 'id'), $request->getAttribute('actor')) ); } } diff --git a/framework/core/src/Api/Controller/DeleteUserController.php b/framework/core/src/Api/Controller/DeleteUserController.php index 2d00d8897..516ea461c 100644 --- a/framework/core/src/Api/Controller/DeleteUserController.php +++ b/framework/core/src/Api/Controller/DeleteUserController.php @@ -13,6 +13,7 @@ namespace Flarum\Api\Controller; use Flarum\User\Command\DeleteUser; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; class DeleteUserController extends AbstractDeleteController @@ -36,7 +37,7 @@ class DeleteUserController extends AbstractDeleteController protected function delete(ServerRequestInterface $request) { $this->bus->dispatch( - new DeleteUser(array_get($request->getQueryParams(), 'id'), $request->getAttribute('actor')) + new DeleteUser(Arr::get($request->getQueryParams(), 'id'), $request->getAttribute('actor')) ); } } diff --git a/framework/core/src/Api/Controller/ForgotPasswordController.php b/framework/core/src/Api/Controller/ForgotPasswordController.php index ca2aa5b4e..1c7de6bdd 100644 --- a/framework/core/src/Api/Controller/ForgotPasswordController.php +++ b/framework/core/src/Api/Controller/ForgotPasswordController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\User\Command\RequestPasswordReset; use Flarum\User\UserRepository; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; @@ -46,7 +47,7 @@ class ForgotPasswordController implements RequestHandlerInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { - $email = array_get($request->getParsedBody(), 'email'); + $email = Arr::get($request->getParsedBody(), 'email'); $this->bus->dispatch( new RequestPasswordReset($email) diff --git a/framework/core/src/Api/Controller/ListDiscussionsController.php b/framework/core/src/Api/Controller/ListDiscussionsController.php index c7022547f..aeb748127 100644 --- a/framework/core/src/Api/Controller/ListDiscussionsController.php +++ b/framework/core/src/Api/Controller/ListDiscussionsController.php @@ -16,6 +16,7 @@ use Flarum\Discussion\Discussion; use Flarum\Discussion\Search\DiscussionSearcher; use Flarum\Http\UrlGenerator; use Flarum\Search\SearchCriteria; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -75,7 +76,7 @@ class ListDiscussionsController extends AbstractListController protected function data(ServerRequestInterface $request, Document $document) { $actor = $request->getAttribute('actor'); - $query = array_get($this->extractFilter($request), 'q'); + $query = Arr::get($this->extractFilter($request), 'q'); $sort = $this->extractSort($request); $criteria = new SearchCriteria($actor, $query, $sort); diff --git a/framework/core/src/Api/Controller/ListPostsController.php b/framework/core/src/Api/Controller/ListPostsController.php index f2740778d..3907f697f 100644 --- a/framework/core/src/Api/Controller/ListPostsController.php +++ b/framework/core/src/Api/Controller/ListPostsController.php @@ -15,6 +15,8 @@ use Flarum\Api\Serializer\PostSerializer; use Flarum\Event\ConfigurePostsQuery; use Flarum\Post\PostRepository; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Support\Arr; +use Illuminate\Support\Str; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; use Tobscure\JsonApi\Exception\InvalidParameterException; @@ -64,7 +66,7 @@ class ListPostsController extends AbstractListController $filter = $this->extractFilter($request); $include = $this->extractInclude($request); - if ($postIds = array_get($filter, 'id')) { + if ($postIds = Arr::get($filter, 'id')) { $postIds = explode(',', $postIds); } else { $postIds = $this->getPostIds($request); @@ -86,7 +88,7 @@ class ListPostsController extends AbstractListController $limit = $this->extractLimit($request); $filter = $this->extractFilter($request); - if (($near = array_get($queryParams, 'page.near')) > 1) { + if (($near = Arr::get($queryParams, 'page.near')) > 1) { if (count($filter) > 1 || ! isset($filter['discussion']) || $sort) { throw new InvalidParameterException( 'You can only use page[near] with filter[discussion] and the default sort order' @@ -120,7 +122,7 @@ class ListPostsController extends AbstractListController $query->skip($offset)->take($limit); foreach ((array) $sort as $field => $order) { - $query->orderBy(snake_case($field), $order); + $query->orderBy(Str::snake($field), $order); } return $query->pluck('id')->all(); @@ -132,19 +134,19 @@ class ListPostsController extends AbstractListController */ private function applyFilters(Builder $query, array $filter) { - if ($discussionId = array_get($filter, 'discussion')) { + if ($discussionId = Arr::get($filter, 'discussion')) { $query->where('discussion_id', $discussionId); } - if ($number = array_get($filter, 'number')) { + if ($number = Arr::get($filter, 'number')) { $query->where('number', $number); } - if ($userId = array_get($filter, 'user')) { + if ($userId = Arr::get($filter, 'user')) { $query->where('user_id', $userId); } - if ($type = array_get($filter, 'type')) { + if ($type = Arr::get($filter, 'type')) { $query->where('type', $type); } diff --git a/framework/core/src/Api/Controller/ListUsersController.php b/framework/core/src/Api/Controller/ListUsersController.php index d37e191f9..18d36ceab 100644 --- a/framework/core/src/Api/Controller/ListUsersController.php +++ b/framework/core/src/Api/Controller/ListUsersController.php @@ -16,6 +16,7 @@ use Flarum\Http\UrlGenerator; use Flarum\Search\SearchCriteria; use Flarum\User\Exception\PermissionDeniedException; use Flarum\User\Search\UserSearcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -73,7 +74,7 @@ class ListUsersController extends AbstractListController throw new PermissionDeniedException; } - $query = array_get($this->extractFilter($request), 'q'); + $query = Arr::get($this->extractFilter($request), 'q'); $sort = $this->extractSort($request); $criteria = new SearchCriteria($actor, $query, $sort); diff --git a/framework/core/src/Api/Controller/SendConfirmationEmailController.php b/framework/core/src/Api/Controller/SendConfirmationEmailController.php index 91244dd01..42a542ee7 100644 --- a/framework/core/src/Api/Controller/SendConfirmationEmailController.php +++ b/framework/core/src/Api/Controller/SendConfirmationEmailController.php @@ -18,6 +18,7 @@ use Flarum\User\EmailToken; use Flarum\User\Exception\PermissionDeniedException; use Illuminate\Contracts\Mail\Mailer; use Illuminate\Mail\Message; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; @@ -67,7 +68,7 @@ class SendConfirmationEmailController implements RequestHandlerInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { - $id = array_get($request->getQueryParams(), 'id'); + $id = Arr::get($request->getQueryParams(), 'id'); $actor = $request->getAttribute('actor'); $this->assertRegistered($actor); diff --git a/framework/core/src/Api/Controller/SetPermissionController.php b/framework/core/src/Api/Controller/SetPermissionController.php index 65ce73fc2..45eedf3a5 100644 --- a/framework/core/src/Api/Controller/SetPermissionController.php +++ b/framework/core/src/Api/Controller/SetPermissionController.php @@ -13,6 +13,7 @@ namespace Flarum\Api\Controller; use Flarum\Group\Permission; use Flarum\User\AssertPermissionTrait; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; @@ -30,8 +31,8 @@ class SetPermissionController implements RequestHandlerInterface $this->assertAdmin($request->getAttribute('actor')); $body = $request->getParsedBody(); - $permission = array_get($body, 'permission'); - $groupIds = array_get($body, 'groupIds'); + $permission = Arr::get($body, 'permission'); + $groupIds = Arr::get($body, 'groupIds'); Permission::where('permission', $permission)->delete(); diff --git a/framework/core/src/Api/Controller/ShowDiscussionController.php b/framework/core/src/Api/Controller/ShowDiscussionController.php index ae30f47fc..c1e774e2a 100644 --- a/framework/core/src/Api/Controller/ShowDiscussionController.php +++ b/framework/core/src/Api/Controller/ShowDiscussionController.php @@ -16,6 +16,8 @@ use Flarum\Discussion\Discussion; use Flarum\Discussion\DiscussionRepository; use Flarum\Post\PostRepository; use Flarum\User\User; +use Illuminate\Support\Arr; +use Illuminate\Support\Str; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -73,7 +75,7 @@ class ShowDiscussionController extends AbstractShowController */ protected function data(ServerRequestInterface $request, Document $document) { - $discussionId = array_get($request->getQueryParams(), 'id'); + $discussionId = Arr::get($request->getQueryParams(), 'id'); $actor = $request->getAttribute('actor'); $include = $this->extractInclude($request); @@ -86,7 +88,7 @@ class ShowDiscussionController extends AbstractShowController } $discussion->load(array_filter($include, function ($relationship) { - return ! starts_with($relationship, 'posts'); + return ! Str::startsWith($relationship, 'posts'); })); return $discussion; @@ -150,7 +152,7 @@ class ShowDiscussionController extends AbstractShowController $queryParams = $request->getQueryParams(); $actor = $request->getAttribute('actor'); - if (($near = array_get($queryParams, 'page.near')) > 1) { + if (($near = Arr::get($queryParams, 'page.near')) > 1) { $offset = $this->posts->getIndexForNumber($discussion->id, $near, $actor); $offset = max(0, $offset - $limit / 2); } else { diff --git a/framework/core/src/Api/Controller/ShowPostController.php b/framework/core/src/Api/Controller/ShowPostController.php index dcec04ba9..8b1820141 100644 --- a/framework/core/src/Api/Controller/ShowPostController.php +++ b/framework/core/src/Api/Controller/ShowPostController.php @@ -13,6 +13,7 @@ namespace Flarum\Api\Controller; use Flarum\Api\Serializer\PostSerializer; use Flarum\Post\PostRepository; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -52,6 +53,6 @@ class ShowPostController extends AbstractShowController */ protected function data(ServerRequestInterface $request, Document $document) { - return $this->posts->findOrFail(array_get($request->getQueryParams(), 'id'), $request->getAttribute('actor')); + return $this->posts->findOrFail(Arr::get($request->getQueryParams(), 'id'), $request->getAttribute('actor')); } } diff --git a/framework/core/src/Api/Controller/ShowUserController.php b/framework/core/src/Api/Controller/ShowUserController.php index 673e8920f..5ffe581f1 100644 --- a/framework/core/src/Api/Controller/ShowUserController.php +++ b/framework/core/src/Api/Controller/ShowUserController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\Api\Serializer\CurrentUserSerializer; use Flarum\Api\Serializer\UserSerializer; use Flarum\User\UserRepository; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -47,7 +48,7 @@ class ShowUserController extends AbstractShowController */ protected function data(ServerRequestInterface $request, Document $document) { - $id = array_get($request->getQueryParams(), 'id'); + $id = Arr::get($request->getQueryParams(), 'id'); if (! is_numeric($id)) { $id = $this->users->getIdForUsername($id); diff --git a/framework/core/src/Api/Controller/UninstallExtensionController.php b/framework/core/src/Api/Controller/UninstallExtensionController.php index b6e890681..e4f8ae11d 100644 --- a/framework/core/src/Api/Controller/UninstallExtensionController.php +++ b/framework/core/src/Api/Controller/UninstallExtensionController.php @@ -13,6 +13,7 @@ namespace Flarum\Api\Controller; use Flarum\Extension\ExtensionManager; use Flarum\User\AssertPermissionTrait; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; class UninstallExtensionController extends AbstractDeleteController @@ -36,7 +37,7 @@ class UninstallExtensionController extends AbstractDeleteController { $this->assertAdmin($request->getAttribute('actor')); - $name = array_get($request->getQueryParams(), 'name'); + $name = Arr::get($request->getQueryParams(), 'name'); if ($this->extensions->getExtension($name) == null) { return; diff --git a/framework/core/src/Api/Controller/UpdateDiscussionController.php b/framework/core/src/Api/Controller/UpdateDiscussionController.php index 5cf67a5d5..ee69ca1b8 100644 --- a/framework/core/src/Api/Controller/UpdateDiscussionController.php +++ b/framework/core/src/Api/Controller/UpdateDiscussionController.php @@ -16,6 +16,7 @@ use Flarum\Discussion\Command\EditDiscussion; use Flarum\Discussion\Command\ReadDiscussion; use Illuminate\Contracts\Bus\Dispatcher; use Illuminate\Database\Eloquent\Collection; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -45,8 +46,8 @@ class UpdateDiscussionController extends AbstractShowController protected function data(ServerRequestInterface $request, Document $document) { $actor = $request->getAttribute('actor'); - $discussionId = array_get($request->getQueryParams(), 'id'); - $data = array_get($request->getParsedBody(), 'data', []); + $discussionId = Arr::get($request->getQueryParams(), 'id'); + $data = Arr::get($request->getParsedBody(), 'data', []); $discussion = $this->bus->dispatch( new EditDiscussion($discussionId, $actor, $data) @@ -54,7 +55,7 @@ class UpdateDiscussionController extends AbstractShowController // TODO: Refactor the ReadDiscussion (state) command into EditDiscussion? // That's what extensions will do anyway. - if ($readNumber = array_get($data, 'attributes.lastReadPostNumber')) { + if ($readNumber = Arr::get($data, 'attributes.lastReadPostNumber')) { $state = $this->bus->dispatch( new ReadDiscussion($discussionId, $actor, $readNumber) ); diff --git a/framework/core/src/Api/Controller/UpdateExtensionController.php b/framework/core/src/Api/Controller/UpdateExtensionController.php index 404f13e3f..0afaf35ff 100644 --- a/framework/core/src/Api/Controller/UpdateExtensionController.php +++ b/framework/core/src/Api/Controller/UpdateExtensionController.php @@ -13,6 +13,7 @@ namespace Flarum\Api\Controller; use Flarum\Extension\ExtensionManager; use Flarum\User\AssertPermissionTrait; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; @@ -42,8 +43,8 @@ class UpdateExtensionController implements RequestHandlerInterface { $this->assertAdmin($request->getAttribute('actor')); - $enabled = array_get($request->getParsedBody(), 'enabled'); - $name = array_get($request->getQueryParams(), 'name'); + $enabled = Arr::get($request->getParsedBody(), 'enabled'); + $name = Arr::get($request->getQueryParams(), 'name'); if ($enabled === true) { $this->extensions->enable($name); diff --git a/framework/core/src/Api/Controller/UpdateGroupController.php b/framework/core/src/Api/Controller/UpdateGroupController.php index 919ebcf53..112492540 100644 --- a/framework/core/src/Api/Controller/UpdateGroupController.php +++ b/framework/core/src/Api/Controller/UpdateGroupController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\Api\Serializer\GroupSerializer; use Flarum\Group\Command\EditGroup; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -42,9 +43,9 @@ class UpdateGroupController extends AbstractShowController */ protected function data(ServerRequestInterface $request, Document $document) { - $id = array_get($request->getQueryParams(), 'id'); + $id = Arr::get($request->getQueryParams(), 'id'); $actor = $request->getAttribute('actor'); - $data = array_get($request->getParsedBody(), 'data', []); + $data = Arr::get($request->getParsedBody(), 'data', []); return $this->bus->dispatch( new EditGroup($id, $actor, $data) diff --git a/framework/core/src/Api/Controller/UpdateNotificationController.php b/framework/core/src/Api/Controller/UpdateNotificationController.php index fe9564838..79c617965 100644 --- a/framework/core/src/Api/Controller/UpdateNotificationController.php +++ b/framework/core/src/Api/Controller/UpdateNotificationController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\Api\Serializer\NotificationSerializer; use Flarum\Notification\Command\ReadNotification; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -42,7 +43,7 @@ class UpdateNotificationController extends AbstractShowController */ protected function data(ServerRequestInterface $request, Document $document) { - $id = array_get($request->getQueryParams(), 'id'); + $id = Arr::get($request->getQueryParams(), 'id'); $actor = $request->getAttribute('actor'); return $this->bus->dispatch( diff --git a/framework/core/src/Api/Controller/UpdatePostController.php b/framework/core/src/Api/Controller/UpdatePostController.php index 7ec36e8e5..fe3fb1e31 100644 --- a/framework/core/src/Api/Controller/UpdatePostController.php +++ b/framework/core/src/Api/Controller/UpdatePostController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\Api\Serializer\PostSerializer; use Flarum\Post\Command\EditPost; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -50,9 +51,9 @@ class UpdatePostController extends AbstractShowController */ protected function data(ServerRequestInterface $request, Document $document) { - $id = array_get($request->getQueryParams(), 'id'); + $id = Arr::get($request->getQueryParams(), 'id'); $actor = $request->getAttribute('actor'); - $data = array_get($request->getParsedBody(), 'data', []); + $data = Arr::get($request->getParsedBody(), 'data', []); return $this->bus->dispatch( new EditPost($id, $actor, $data) diff --git a/framework/core/src/Api/Controller/UpdateUserController.php b/framework/core/src/Api/Controller/UpdateUserController.php index eb6aa80d8..35f7cba33 100644 --- a/framework/core/src/Api/Controller/UpdateUserController.php +++ b/framework/core/src/Api/Controller/UpdateUserController.php @@ -16,6 +16,7 @@ use Flarum\Api\Serializer\UserSerializer; use Flarum\User\Command\EditUser; use Flarum\User\Exception\PermissionDeniedException; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -49,9 +50,9 @@ class UpdateUserController extends AbstractShowController */ protected function data(ServerRequestInterface $request, Document $document) { - $id = array_get($request->getQueryParams(), 'id'); + $id = Arr::get($request->getQueryParams(), 'id'); $actor = $request->getAttribute('actor'); - $data = array_get($request->getParsedBody(), 'data', []); + $data = Arr::get($request->getParsedBody(), 'data', []); if ($actor->id == $id) { $this->serializer = CurrentUserSerializer::class; @@ -60,7 +61,7 @@ class UpdateUserController extends AbstractShowController // Require the user's current password if they are attempting to change // their own email address. if (isset($data['attributes']['email']) && $actor->id == $id) { - $password = array_get($request->getParsedBody(), 'meta.password'); + $password = Arr::get($request->getParsedBody(), 'meta.password'); if (! $actor->checkPassword($password)) { throw new PermissionDeniedException; diff --git a/framework/core/src/Api/Controller/UploadAvatarController.php b/framework/core/src/Api/Controller/UploadAvatarController.php index 5ac1e1fdc..1395b6d62 100644 --- a/framework/core/src/Api/Controller/UploadAvatarController.php +++ b/framework/core/src/Api/Controller/UploadAvatarController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\Api\Serializer\UserSerializer; use Flarum\User\Command\UploadAvatar; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface; use Tobscure\JsonApi\Document; @@ -42,9 +43,9 @@ class UploadAvatarController extends AbstractShowController */ protected function data(ServerRequestInterface $request, Document $document) { - $id = array_get($request->getQueryParams(), 'id'); + $id = Arr::get($request->getQueryParams(), 'id'); $actor = $request->getAttribute('actor'); - $file = array_get($request->getUploadedFiles(), 'avatar'); + $file = Arr::get($request->getUploadedFiles(), 'avatar'); return $this->bus->dispatch( new UploadAvatar($id, $file, $actor) diff --git a/framework/core/src/Api/Controller/UploadFaviconController.php b/framework/core/src/Api/Controller/UploadFaviconController.php index 769838108..0e2cf4b8e 100644 --- a/framework/core/src/Api/Controller/UploadFaviconController.php +++ b/framework/core/src/Api/Controller/UploadFaviconController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\Foundation\Application; use Flarum\Settings\SettingsRepositoryInterface; use Flarum\User\AssertPermissionTrait; +use Illuminate\Support\Arr; use Illuminate\Support\Str; use Intervention\Image\ImageManager; use League\Flysystem\Adapter\Local; @@ -52,7 +53,7 @@ class UploadFaviconController extends ShowForumController { $this->assertAdmin($request->getAttribute('actor')); - $file = array_get($request->getUploadedFiles(), 'favicon'); + $file = Arr::get($request->getUploadedFiles(), 'favicon'); $tmpFile = tempnam($this->app->storagePath().'/tmp', 'favicon'); $file->moveTo($tmpFile); diff --git a/framework/core/src/Api/Controller/UploadLogoController.php b/framework/core/src/Api/Controller/UploadLogoController.php index e2d5d23f7..d2dc8cd9c 100644 --- a/framework/core/src/Api/Controller/UploadLogoController.php +++ b/framework/core/src/Api/Controller/UploadLogoController.php @@ -14,6 +14,7 @@ namespace Flarum\Api\Controller; use Flarum\Foundation\Application; use Flarum\Settings\SettingsRepositoryInterface; use Flarum\User\AssertPermissionTrait; +use Illuminate\Support\Arr; use Illuminate\Support\Str; use Intervention\Image\ImageManager; use League\Flysystem\Adapter\Local; @@ -52,7 +53,7 @@ class UploadLogoController extends ShowForumController { $this->assertAdmin($request->getAttribute('actor')); - $file = array_get($request->getUploadedFiles(), 'logo'); + $file = Arr::get($request->getUploadedFiles(), 'logo'); $tmpFile = tempnam($this->app->storagePath().'/tmp', 'logo'); $file->moveTo($tmpFile); diff --git a/framework/core/src/Api/Event/WillGetData.php b/framework/core/src/Api/Event/WillGetData.php index 790c546b0..491e00e02 100644 --- a/framework/core/src/Api/Event/WillGetData.php +++ b/framework/core/src/Api/Event/WillGetData.php @@ -12,6 +12,7 @@ namespace Flarum\Api\Event; use Flarum\Api\Controller\AbstractSerializeController; +use Illuminate\Support\Arr; class WillGetData { @@ -64,7 +65,7 @@ class WillGetData */ public function removeInclude($name) { - array_forget($this->controller->include, $name); + Arr::forget($this->controller->include, $name); } /** @@ -84,7 +85,7 @@ class WillGetData */ public function removeOptionalInclude($name) { - array_forget($this->controller->optionalInclude, $name); + Arr::forget($this->controller->optionalInclude, $name); } /** @@ -124,7 +125,7 @@ class WillGetData */ public function removeSortField($field) { - array_forget($this->controller->sortFields, $field); + Arr::forget($this->controller->sortFields, $field); } /** diff --git a/framework/core/src/Discussion/Command/EditDiscussionHandler.php b/framework/core/src/Discussion/Command/EditDiscussionHandler.php index 87bd0284f..720654e93 100644 --- a/framework/core/src/Discussion/Command/EditDiscussionHandler.php +++ b/framework/core/src/Discussion/Command/EditDiscussionHandler.php @@ -17,6 +17,7 @@ use Flarum\Discussion\Event\Saving; use Flarum\Foundation\DispatchEventsTrait; use Flarum\User\AssertPermissionTrait; use Illuminate\Contracts\Events\Dispatcher; +use Illuminate\Support\Arr; class EditDiscussionHandler { @@ -54,7 +55,7 @@ class EditDiscussionHandler { $actor = $command->actor; $data = $command->data; - $attributes = array_get($data, 'attributes', []); + $attributes = Arr::get($data, 'attributes', []); $discussion = $this->discussions->findOrFail($command->discussionId, $actor); diff --git a/framework/core/src/Discussion/Command/StartDiscussionHandler.php b/framework/core/src/Discussion/Command/StartDiscussionHandler.php index cbc7f9559..df89e5701 100644 --- a/framework/core/src/Discussion/Command/StartDiscussionHandler.php +++ b/framework/core/src/Discussion/Command/StartDiscussionHandler.php @@ -20,6 +20,7 @@ use Flarum\Post\Command\PostReply; use Flarum\User\AssertPermissionTrait; use Illuminate\Contracts\Bus\Dispatcher as BusDispatcher; use Illuminate\Contracts\Events\Dispatcher as EventDispatcher; +use Illuminate\Support\Arr; class StartDiscussionHandler { @@ -66,7 +67,7 @@ class StartDiscussionHandler // an opportunity to alter the discussion entity based on data in the // command they may have passed through in the controller. $discussion = Discussion::start( - array_get($data, 'attributes.title'), + Arr::get($data, 'attributes.title'), $actor ); diff --git a/framework/core/src/Event/ConfigureLocales.php b/framework/core/src/Event/ConfigureLocales.php index 1fb373155..65af2a1a4 100644 --- a/framework/core/src/Event/ConfigureLocales.php +++ b/framework/core/src/Event/ConfigureLocales.php @@ -13,6 +13,7 @@ namespace Flarum\Event; use DirectoryIterator; use Flarum\Locale\LocaleManager; +use Illuminate\Support\Arr; use RuntimeException; /** @@ -49,8 +50,8 @@ class ConfigureLocales throw new RuntimeException("Error parsing composer.json in $name: ".json_last_error_msg()); } - $locale = array_get($json, 'extra.flarum-locale.code'); - $title = array_get($json, 'extra.flarum-locale.title', $title); + $locale = Arr::get($json, 'extra.flarum-locale.code'); + $title = Arr::get($json, 'extra.flarum-locale.title', $title); } if (! isset($locale)) { diff --git a/framework/core/src/Extension/DefaultLanguagePackGuard.php b/framework/core/src/Extension/DefaultLanguagePackGuard.php index b40dbd55b..48de5c9e4 100644 --- a/framework/core/src/Extension/DefaultLanguagePackGuard.php +++ b/framework/core/src/Extension/DefaultLanguagePackGuard.php @@ -14,6 +14,7 @@ namespace Flarum\Extension; use Flarum\Extension\Event\Disabling; use Flarum\Http\Exception\ForbiddenException; use Flarum\Settings\SettingsRepositoryInterface; +use Illuminate\Support\Arr; class DefaultLanguagePackGuard { @@ -34,7 +35,7 @@ class DefaultLanguagePackGuard } $defaultLocale = $this->settings->get('default_locale'); - $locale = array_get($event->extension->extra, 'flarum-locale.code'); + $locale = Arr::get($event->extension->extra, 'flarum-locale.code'); if ($locale === $defaultLocale) { throw new ForbiddenException('You cannot disable the default language pack!'); diff --git a/framework/core/src/Forum/Auth/ResponseFactory.php b/framework/core/src/Forum/Auth/ResponseFactory.php index 6bcc581fd..f367a23d0 100644 --- a/framework/core/src/Forum/Auth/ResponseFactory.php +++ b/framework/core/src/Forum/Auth/ResponseFactory.php @@ -15,6 +15,7 @@ use Flarum\Http\Rememberer; use Flarum\User\LoginProvider; use Flarum\User\RegistrationToken; use Flarum\User\User; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface; use Zend\Diactoros\Response\HtmlResponse; @@ -43,7 +44,7 @@ class ResponseFactory $provided = $registration->getProvided(); - if (! empty($provided['email']) && $user = User::where(array_only($provided, 'email'))->first()) { + if (! empty($provided['email']) && $user = User::where(Arr::only($provided, 'email'))->first()) { $user->loginProviders()->create(compact('provider', 'identifier')); return $this->makeLoggedInResponse($user); diff --git a/framework/core/src/Forum/Content/Discussion.php b/framework/core/src/Forum/Content/Discussion.php index 27d70ecea..2c93f74b2 100644 --- a/framework/core/src/Forum/Content/Discussion.php +++ b/framework/core/src/Forum/Content/Discussion.php @@ -17,6 +17,7 @@ use Flarum\Http\Exception\RouteNotFoundException; use Flarum\Http\UrlGenerator; use Flarum\User\User; use Illuminate\Contracts\View\Factory; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface as Request; class Discussion @@ -51,12 +52,12 @@ class Discussion public function __invoke(Document $document, Request $request) { $queryParams = $request->getQueryParams(); - $page = max(1, array_get($queryParams, 'page')); + $page = max(1, Arr::get($queryParams, 'page')); $params = [ - 'id' => (int) array_get($queryParams, 'id'), + 'id' => (int) Arr::get($queryParams, 'id'), 'page' => [ - 'near' => array_get($queryParams, 'near'), + 'near' => Arr::get($queryParams, 'near'), 'offset' => ($page - 1) * 20, 'limit' => 20 ] @@ -65,7 +66,7 @@ class Discussion $apiDocument = $this->getApiDocument($request->getAttribute('actor'), $params); $getResource = function ($link) use ($apiDocument) { - return array_first($apiDocument->included, function ($value) use ($link) { + return Arr::first($apiDocument->included, function ($value) use ($link) { return $value->type === $link->type && $value->id === $link->id; }); }; diff --git a/framework/core/src/Forum/Content/Index.php b/framework/core/src/Forum/Content/Index.php index 8818265c9..f141133d3 100644 --- a/framework/core/src/Forum/Content/Index.php +++ b/framework/core/src/Forum/Content/Index.php @@ -16,6 +16,7 @@ use Flarum\Api\Controller\ListDiscussionsController; use Flarum\Frontend\Document; use Flarum\User\User; use Illuminate\Contracts\View\Factory; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface as Request; class Index @@ -44,9 +45,9 @@ class Index { $queryParams = $request->getQueryParams(); - $sort = array_pull($queryParams, 'sort'); - $q = array_pull($queryParams, 'q'); - $page = array_pull($queryParams, 'page', 1); + $sort = Arr::pull($queryParams, 'sort'); + $q = Arr::pull($queryParams, 'q'); + $page = Arr::pull($queryParams, 'page', 1); $sortMap = $this->getSortMap(); diff --git a/framework/core/src/Forum/Controller/ConfirmEmailController.php b/framework/core/src/Forum/Controller/ConfirmEmailController.php index e6e094ef3..9766ed953 100644 --- a/framework/core/src/Forum/Controller/ConfirmEmailController.php +++ b/framework/core/src/Forum/Controller/ConfirmEmailController.php @@ -16,6 +16,7 @@ use Flarum\Http\SessionAuthenticator; use Flarum\User\Command\ConfirmEmail; use Flarum\User\Exception\InvalidConfirmationTokenException; use Illuminate\Contracts\Bus\Dispatcher; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\RequestHandlerInterface; @@ -58,7 +59,7 @@ class ConfirmEmailController implements RequestHandlerInterface public function handle(Request $request): ResponseInterface { try { - $token = array_get($request->getQueryParams(), 'token'); + $token = Arr::get($request->getQueryParams(), 'token'); $user = $this->bus->dispatch( new ConfirmEmail($token) diff --git a/framework/core/src/Forum/Controller/LogInController.php b/framework/core/src/Forum/Controller/LogInController.php index 7e91168fd..7b3c45bc3 100644 --- a/framework/core/src/Forum/Controller/LogInController.php +++ b/framework/core/src/Forum/Controller/LogInController.php @@ -18,6 +18,7 @@ use Flarum\Http\Rememberer; use Flarum\Http\SessionAuthenticator; use Flarum\User\Event\LoggedIn; use Flarum\User\UserRepository; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\RequestHandlerInterface; @@ -65,7 +66,7 @@ class LogInController implements RequestHandlerInterface { $actor = $request->getAttribute('actor'); $body = $request->getParsedBody(); - $params = array_only($body, ['identification', 'password']); + $params = Arr::only($body, ['identification', 'password']); $response = $this->apiClient->send(CreateTokenController::class, $actor, [], $params); @@ -79,7 +80,7 @@ class LogInController implements RequestHandlerInterface event(new LoggedIn($this->users->findOrFail($data->userId), $token)); - if (array_get($body, 'remember')) { + if (Arr::get($body, 'remember')) { $response = $this->rememberer->remember($response, $token); } } diff --git a/framework/core/src/Forum/Controller/LogOutController.php b/framework/core/src/Forum/Controller/LogOutController.php index 616598c6d..6632e2bf1 100644 --- a/framework/core/src/Forum/Controller/LogOutController.php +++ b/framework/core/src/Forum/Controller/LogOutController.php @@ -20,6 +20,7 @@ use Flarum\User\AssertPermissionTrait; use Flarum\User\Event\LoggedOut; use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Contracts\View\Factory; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\RequestHandlerInterface; @@ -94,7 +95,7 @@ class LogOutController implements RequestHandlerInterface $session = $request->getAttribute('session'); $actor = $request->getAttribute('actor'); - $url = array_get($request->getQueryParams(), 'return', $this->app->url()); + $url = Arr::get($request->getQueryParams(), 'return', $this->app->url()); // If there is no user logged in, return to the index. if ($actor->isGuest()) { @@ -105,8 +106,8 @@ class LogOutController implements RequestHandlerInterface // allow the user to press a button to complete the log out process. $csrfToken = $session->token(); - if (array_get($request->getQueryParams(), 'token') !== $csrfToken) { - $return = array_get($request->getQueryParams(), 'return'); + if (Arr::get($request->getQueryParams(), 'token') !== $csrfToken) { + $return = Arr::get($request->getQueryParams(), 'return'); $view = $this->view->make('flarum.forum::log-out') ->with('url', $this->url->to('forum')->route('logout').'?token='.$csrfToken.($return ? '&return='.urlencode($return) : '')); diff --git a/framework/core/src/Forum/Controller/ResetPasswordController.php b/framework/core/src/Forum/Controller/ResetPasswordController.php index 5b9811657..86573e258 100644 --- a/framework/core/src/Forum/Controller/ResetPasswordController.php +++ b/framework/core/src/Forum/Controller/ResetPasswordController.php @@ -16,6 +16,7 @@ use Flarum\Http\Controller\AbstractHtmlController; use Flarum\User\Exception\InvalidConfirmationTokenException; use Flarum\User\PasswordToken; use Illuminate\Contracts\View\Factory; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface as Request; class ResetPasswordController extends AbstractHtmlController @@ -40,7 +41,7 @@ class ResetPasswordController extends AbstractHtmlController */ public function render(Request $request) { - $token = array_get($request->getQueryParams(), 'token'); + $token = Arr::get($request->getQueryParams(), 'token'); $token = PasswordToken::findOrFail($token); diff --git a/framework/core/src/Forum/Controller/SavePasswordController.php b/framework/core/src/Forum/Controller/SavePasswordController.php index b6c3d63db..a30017478 100644 --- a/framework/core/src/Forum/Controller/SavePasswordController.php +++ b/framework/core/src/Forum/Controller/SavePasswordController.php @@ -18,6 +18,7 @@ use Flarum\User\PasswordToken; use Flarum\User\UserValidator; use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Contracts\Validation\Factory; +use Illuminate\Support\Arr; use Illuminate\Support\MessageBag; use Illuminate\Validation\ValidationException; use Psr\Http\Message\ResponseInterface; @@ -72,9 +73,9 @@ class SavePasswordController implements RequestHandlerInterface { $input = $request->getParsedBody(); - $token = PasswordToken::findOrFail(array_get($input, 'passwordToken')); + $token = PasswordToken::findOrFail(Arr::get($input, 'passwordToken')); - $password = array_get($input, 'password'); + $password = Arr::get($input, 'password'); try { // todo: probably shouldn't use the user validator for this, diff --git a/framework/core/src/Foundation/AbstractValidator.php b/framework/core/src/Foundation/AbstractValidator.php index 13079c1c8..25fe3a3e3 100644 --- a/framework/core/src/Foundation/AbstractValidator.php +++ b/framework/core/src/Foundation/AbstractValidator.php @@ -13,6 +13,7 @@ namespace Flarum\Foundation; use Flarum\Foundation\Event\Validating; use Illuminate\Contracts\Events\Dispatcher; +use Illuminate\Support\Arr; use Illuminate\Validation\Factory; use Illuminate\Validation\ValidationException; use Symfony\Component\Translation\TranslatorInterface; @@ -89,7 +90,7 @@ abstract class AbstractValidator */ protected function makeValidator(array $attributes) { - $rules = array_only($this->getRules(), array_keys($attributes)); + $rules = Arr::only($this->getRules(), array_keys($attributes)); $validator = $this->validator->make($attributes, $rules, $this->getMessages()); diff --git a/framework/core/src/Foundation/Application.php b/framework/core/src/Foundation/Application.php index 70b8f98f1..ebeeede67 100644 --- a/framework/core/src/Foundation/Application.php +++ b/framework/core/src/Foundation/Application.php @@ -127,7 +127,7 @@ class Application extends Container implements ApplicationContract */ public function config($key, $default = null) { - return array_get($this->make('flarum.config'), $key, $default); + return Arr::get($this->make('flarum.config'), $key, $default); } /** @@ -149,7 +149,7 @@ class Application extends Container implements ApplicationContract public function url($path = null) { $config = $this->make('flarum.config'); - $url = array_get($config, 'url', array_get($_SERVER, 'REQUEST_URI')); + $url = Arr::get($config, 'url', Arr::get($_SERVER, 'REQUEST_URI')); if (is_array($url)) { if (isset($url[$path])) { @@ -160,7 +160,7 @@ class Application extends Container implements ApplicationContract } if ($path) { - $url .= '/'.array_get($config, "paths.$path", $path); + $url .= '/'.Arr::get($config, "paths.$path", $path); } return $url; diff --git a/framework/core/src/Foundation/MaintenanceModeHandler.php b/framework/core/src/Foundation/MaintenanceModeHandler.php index 554ac002a..c2f782af0 100644 --- a/framework/core/src/Foundation/MaintenanceModeHandler.php +++ b/framework/core/src/Foundation/MaintenanceModeHandler.php @@ -11,6 +11,7 @@ namespace Flarum\Foundation; +use Illuminate\Support\Str; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; @@ -38,7 +39,7 @@ class MaintenanceModeHandler implements RequestHandlerInterface private function isApiRequest(ServerRequestInterface $request): bool { - return str_contains( + return Str::contains( $request->getHeaderLine('Accept'), 'application/vnd.api+json' ); diff --git a/framework/core/src/Frontend/AddTranslations.php b/framework/core/src/Frontend/AddTranslations.php index be6eaf474..1a4f0570a 100644 --- a/framework/core/src/Frontend/AddTranslations.php +++ b/framework/core/src/Frontend/AddTranslations.php @@ -13,6 +13,7 @@ namespace Flarum\Frontend; use Flarum\Frontend\Compiler\Source\SourceCollector; use Flarum\Locale\LocaleManager; +use Illuminate\Support\Arr; class AddTranslations { @@ -56,7 +57,7 @@ class AddTranslations { $translations = $this->locales->getTranslator()->getCatalogue($locale)->all('messages'); - return array_only( + return Arr::only( $translations, array_filter(array_keys($translations), $this->filter) ); diff --git a/framework/core/src/Frontend/Compiler/RevisionCompiler.php b/framework/core/src/Frontend/Compiler/RevisionCompiler.php index 92037995b..55334e7ce 100644 --- a/framework/core/src/Frontend/Compiler/RevisionCompiler.php +++ b/framework/core/src/Frontend/Compiler/RevisionCompiler.php @@ -14,6 +14,7 @@ namespace Flarum\Frontend\Compiler; use Flarum\Frontend\Compiler\Source\SourceCollector; use Flarum\Frontend\Compiler\Source\SourceInterface; use Illuminate\Contracts\Filesystem\Filesystem; +use Illuminate\Support\Arr; class RevisionCompiler implements CompilerInterface { @@ -202,7 +203,7 @@ class RevisionCompiler implements CompilerInterface if ($this->assetsDir->has(static::REV_MANIFEST)) { $manifest = json_decode($this->assetsDir->read(static::REV_MANIFEST), true); - return array_get($manifest, $this->filename); + return Arr::get($manifest, $this->filename); } return null; diff --git a/framework/core/src/Frontend/Content/Meta.php b/framework/core/src/Frontend/Content/Meta.php index 58c237684..4f307a15f 100644 --- a/framework/core/src/Frontend/Content/Meta.php +++ b/framework/core/src/Frontend/Content/Meta.php @@ -12,6 +12,7 @@ namespace Flarum\Frontend\Content; use Flarum\Frontend\Document; +use Illuminate\Support\Arr; use Psr\Http\Message\ServerRequestInterface as Request; class Meta @@ -28,8 +29,8 @@ class Meta $meta = [ 'viewport' => 'width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1', - 'description' => array_get($forumApiDocument, 'data.attributes.description'), - 'theme-color' => array_get($forumApiDocument, 'data.attributes.themePrimaryColor') + 'description' => Arr::get($forumApiDocument, 'data.attributes.description'), + 'theme-color' => Arr::get($forumApiDocument, 'data.attributes.themePrimaryColor') ]; return $meta; @@ -39,7 +40,7 @@ class Meta { $head = []; - if ($faviconUrl = array_get($document->getForumApiDocument(), 'data.attributes.faviconUrl')) { + if ($faviconUrl = Arr::get($document->getForumApiDocument(), 'data.attributes.faviconUrl')) { $head['favicon'] = ''; } diff --git a/framework/core/src/Frontend/Document.php b/framework/core/src/Frontend/Document.php index 02463d11e..7dc2bc45c 100644 --- a/framework/core/src/Frontend/Document.php +++ b/framework/core/src/Frontend/Document.php @@ -14,6 +14,7 @@ namespace Flarum\Frontend; use Illuminate\Contracts\Support\Renderable; use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\View; +use Illuminate\Support\Arr; /** * A view which renders a HTML skeleton for Flarum's frontend app. @@ -147,7 +148,7 @@ class Document implements Renderable */ public function render(): string { - $this->view->share('forum', array_get($this->forumApiDocument, 'data.attributes')); + $this->view->share('forum', Arr::get($this->forumApiDocument, 'data.attributes')); return $this->makeView()->render(); } @@ -174,7 +175,7 @@ class Document implements Renderable */ protected function makeTitle(): string { - return ($this->title ? $this->title.' - ' : '').array_get($this->forumApiDocument, 'data.attributes.title'); + return ($this->title ? $this->title.' - ' : '').Arr::get($this->forumApiDocument, 'data.attributes.title'); } /** diff --git a/framework/core/src/Group/Command/CreateGroupHandler.php b/framework/core/src/Group/Command/CreateGroupHandler.php index 112840a9b..036443213 100644 --- a/framework/core/src/Group/Command/CreateGroupHandler.php +++ b/framework/core/src/Group/Command/CreateGroupHandler.php @@ -17,6 +17,7 @@ use Flarum\Group\Group; use Flarum\Group\GroupValidator; use Flarum\User\AssertPermissionTrait; use Illuminate\Contracts\Events\Dispatcher; +use Illuminate\Support\Arr; class CreateGroupHandler { @@ -51,10 +52,10 @@ class CreateGroupHandler $this->assertCan($actor, 'createGroup'); $group = Group::build( - array_get($data, 'attributes.nameSingular'), - array_get($data, 'attributes.namePlural'), - array_get($data, 'attributes.color'), - array_get($data, 'attributes.icon') + Arr::get($data, 'attributes.nameSingular'), + Arr::get($data, 'attributes.namePlural'), + Arr::get($data, 'attributes.color'), + Arr::get($data, 'attributes.icon') ); $this->events->dispatch( diff --git a/framework/core/src/Group/Command/EditGroupHandler.php b/framework/core/src/Group/Command/EditGroupHandler.php index dd5f8b556..b05ff7e4f 100644 --- a/framework/core/src/Group/Command/EditGroupHandler.php +++ b/framework/core/src/Group/Command/EditGroupHandler.php @@ -19,6 +19,7 @@ use Flarum\Group\GroupValidator; use Flarum\User\AssertPermissionTrait; use Flarum\User\Exception\PermissionDeniedException; use Illuminate\Contracts\Events\Dispatcher; +use Illuminate\Support\Arr; class EditGroupHandler { @@ -61,7 +62,7 @@ class EditGroupHandler $this->assertCan($actor, 'edit', $group); - $attributes = array_get($data, 'attributes', []); + $attributes = Arr::get($data, 'attributes', []); if (isset($attributes['nameSingular']) && isset($attributes['namePlural'])) { $group->rename($attributes['nameSingular'], $attributes['namePlural']); diff --git a/framework/core/src/Http/AccessToken.php b/framework/core/src/Http/AccessToken.php index e9a013283..76d1f054f 100644 --- a/framework/core/src/Http/AccessToken.php +++ b/framework/core/src/Http/AccessToken.php @@ -14,6 +14,7 @@ namespace Flarum\Http; use Carbon\Carbon; use Flarum\Database\AbstractModel; use Flarum\User\User; +use Illuminate\Support\Str; /** * @property string $token @@ -47,7 +48,7 @@ class AccessToken extends AbstractModel { $token = new static; - $token->token = str_random(40); + $token->token = Str::random(40); $token->user_id = $userId; $token->created_at = Carbon::now(); $token->last_activity_at = Carbon::now(); diff --git a/framework/core/src/Http/CookieFactory.php b/framework/core/src/Http/CookieFactory.php index 0ddb3de4c..b6c5594af 100644 --- a/framework/core/src/Http/CookieFactory.php +++ b/framework/core/src/Http/CookieFactory.php @@ -13,6 +13,7 @@ namespace Flarum\Http; use Dflydev\FigCookies\SetCookie; use Flarum\Foundation\Application; +use Illuminate\Support\Arr; class CookieFactory { @@ -54,9 +55,9 @@ class CookieFactory // Get the cookie settings from the config or use the default values $this->prefix = $app->config('cookie.name', 'flarum'); - $this->path = $app->config('cookie.path', array_get($url, 'path') ?: '/'); + $this->path = $app->config('cookie.path', Arr::get($url, 'path') ?: '/'); $this->domain = $app->config('cookie.domain'); - $this->secure = $app->config('cookie.secure', array_get($url, 'scheme') === 'https'); + $this->secure = $app->config('cookie.secure', Arr::get($url, 'scheme') === 'https'); } /** diff --git a/framework/core/src/Http/Middleware/AuthenticateWithHeader.php b/framework/core/src/Http/Middleware/AuthenticateWithHeader.php index 512f90101..fa4564a95 100644 --- a/framework/core/src/Http/Middleware/AuthenticateWithHeader.php +++ b/framework/core/src/Http/Middleware/AuthenticateWithHeader.php @@ -14,6 +14,7 @@ namespace Flarum\Http\Middleware; use Flarum\Api\ApiKey; use Flarum\Http\AccessToken; use Flarum\User\User; +use Illuminate\Support\Str; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\MiddlewareInterface as Middleware; @@ -29,7 +30,7 @@ class AuthenticateWithHeader implements Middleware $parts = explode(';', $headerLine); - if (isset($parts[0]) && starts_with($parts[0], self::TOKEN_PREFIX)) { + if (isset($parts[0]) && Str::startsWith($parts[0], self::TOKEN_PREFIX)) { $id = substr($parts[0], strlen(self::TOKEN_PREFIX)); if ($key = ApiKey::where('key', $id)->first()) { diff --git a/framework/core/src/Http/Middleware/ParseJsonBody.php b/framework/core/src/Http/Middleware/ParseJsonBody.php index 8137eb0cc..597954d12 100644 --- a/framework/core/src/Http/Middleware/ParseJsonBody.php +++ b/framework/core/src/Http/Middleware/ParseJsonBody.php @@ -11,6 +11,7 @@ namespace Flarum\Http\Middleware; +use Illuminate\Support\Str; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\MiddlewareInterface as Middleware; @@ -20,7 +21,7 @@ class ParseJsonBody implements Middleware { public function process(Request $request, Handler $handler): Response { - if (str_contains($request->getHeaderLine('content-type'), 'json')) { + if (Str::contains($request->getHeaderLine('content-type'), 'json')) { $input = json_decode($request->getBody(), true); $request = $request->withParsedBody($input ?: []); diff --git a/framework/core/src/Http/Middleware/RememberFromCookie.php b/framework/core/src/Http/Middleware/RememberFromCookie.php index bf5e75424..f9825f393 100644 --- a/framework/core/src/Http/Middleware/RememberFromCookie.php +++ b/framework/core/src/Http/Middleware/RememberFromCookie.php @@ -13,6 +13,7 @@ namespace Flarum\Http\Middleware; use Flarum\Http\AccessToken; use Flarum\Http\CookieFactory; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\MiddlewareInterface as Middleware; @@ -35,7 +36,7 @@ class RememberFromCookie implements Middleware public function process(Request $request, Handler $handler): Response { - $id = array_get($request->getCookieParams(), $this->cookie->getName('remember')); + $id = Arr::get($request->getCookieParams(), $this->cookie->getName('remember')); if ($id) { $token = AccessToken::find($id); diff --git a/framework/core/src/Http/Middleware/SetLocale.php b/framework/core/src/Http/Middleware/SetLocale.php index 6e07797a8..e116dd522 100644 --- a/framework/core/src/Http/Middleware/SetLocale.php +++ b/framework/core/src/Http/Middleware/SetLocale.php @@ -12,6 +12,7 @@ namespace Flarum\Http\Middleware; use Flarum\Locale\LocaleManager; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\MiddlewareInterface as Middleware; @@ -39,7 +40,7 @@ class SetLocale implements Middleware if ($actor->exists) { $locale = $actor->getPreference('locale'); } else { - $locale = array_get($request->getCookieParams(), 'locale'); + $locale = Arr::get($request->getCookieParams(), 'locale'); } if ($locale && $this->locales->hasLocale($locale)) { diff --git a/framework/core/src/Http/Middleware/StartSession.php b/framework/core/src/Http/Middleware/StartSession.php index 4b4678b11..3d53dab8e 100644 --- a/framework/core/src/Http/Middleware/StartSession.php +++ b/framework/core/src/Http/Middleware/StartSession.php @@ -16,6 +16,7 @@ use Flarum\Http\CookieFactory; use Illuminate\Contracts\Config\Repository as ConfigRepository; use Illuminate\Contracts\Session\Session; use Illuminate\Session\Store; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\MiddlewareInterface as Middleware; @@ -72,7 +73,7 @@ class StartSession implements Middleware return new Store( $this->config['cookie'], $this->handler, - array_get($request->getCookieParams(), $this->cookie->getName($this->config['cookie'])) + Arr::get($request->getCookieParams(), $this->cookie->getName($this->config['cookie'])) ); } diff --git a/framework/core/src/Install/Console/UserDataProvider.php b/framework/core/src/Install/Console/UserDataProvider.php index d1c4caa20..ae674c957 100644 --- a/framework/core/src/Install/Console/UserDataProvider.php +++ b/framework/core/src/Install/Console/UserDataProvider.php @@ -14,6 +14,7 @@ namespace Flarum\Install\Console; use Flarum\Install\AdminUser; use Flarum\Install\DatabaseConfig; use Flarum\Install\Installation; +use Illuminate\Support\Str; use Symfony\Component\Console\Helper\QuestionHelper; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -51,7 +52,7 @@ class UserDataProvider implements DataProviderInterface $host = $this->ask('Database host:'); $port = 3306; - if (str_contains($host, ':')) { + if (Str::contains($host, ':')) { list($host, $port) = explode(':', $host, 2); } diff --git a/framework/core/src/Install/Controller/InstallController.php b/framework/core/src/Install/Controller/InstallController.php index cbefc3849..060fe9a9c 100644 --- a/framework/core/src/Install/Controller/InstallController.php +++ b/framework/core/src/Install/Controller/InstallController.php @@ -17,6 +17,8 @@ use Flarum\Install\DatabaseConfig; use Flarum\Install\Installation; use Flarum\Install\StepFailed; use Flarum\Install\ValidationFailed; +use Illuminate\Support\Arr; +use Illuminate\Support\Str; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\RequestHandlerInterface; @@ -60,9 +62,9 @@ class InstallController implements RequestHandlerInterface ->databaseConfig($this->makeDatabaseConfig($input)) ->adminUser($this->makeAdminUser($input)) ->settings([ - 'forum_title' => array_get($input, 'forumTitle'), + 'forum_title' => Arr::get($input, 'forumTitle'), 'mail_from' => 'noreply@'.preg_replace('/^www\./i', '', parse_url($baseUrl, PHP_URL_HOST)), - 'welcome_title' => 'Welcome to '.array_get($input, 'forumTitle'), + 'welcome_title' => 'Welcome to '.Arr::get($input, 'forumTitle'), ]) ->build(); } catch (ValidationFailed $e) { @@ -83,10 +85,10 @@ class InstallController implements RequestHandlerInterface private function makeDatabaseConfig(array $input): DatabaseConfig { - $host = array_get($input, 'mysqlHost'); + $host = Arr::get($input, 'mysqlHost'); $port = 3306; - if (str_contains($host, ':')) { + if (Str::contains($host, ':')) { list($host, $port) = explode(':', $host, 2); } @@ -94,10 +96,10 @@ class InstallController implements RequestHandlerInterface 'mysql', $host, intval($port), - array_get($input, 'mysqlDatabase'), - array_get($input, 'mysqlUsername'), - array_get($input, 'mysqlPassword'), - array_get($input, 'tablePrefix') + Arr::get($input, 'mysqlDatabase'), + Arr::get($input, 'mysqlUsername'), + Arr::get($input, 'mysqlPassword'), + Arr::get($input, 'tablePrefix') ); } @@ -109,16 +111,16 @@ class InstallController implements RequestHandlerInterface private function makeAdminUser(array $input): AdminUser { return new AdminUser( - array_get($input, 'adminUsername'), + Arr::get($input, 'adminUsername'), $this->getConfirmedAdminPassword($input), - array_get($input, 'adminEmail') + Arr::get($input, 'adminEmail') ); } private function getConfirmedAdminPassword(array $input): string { - $password = array_get($input, 'adminPassword'); - $confirmation = array_get($input, 'adminPasswordConfirmation'); + $password = Arr::get($input, 'adminPassword'); + $confirmation = Arr::get($input, 'adminPasswordConfirmation'); if ($password !== $confirmation) { throw new ValidationFailed('The admin password did not match its confirmation.'); diff --git a/framework/core/src/Install/Steps/ConnectToDatabase.php b/framework/core/src/Install/Steps/ConnectToDatabase.php index 51696731f..0a6dbabab 100644 --- a/framework/core/src/Install/Steps/ConnectToDatabase.php +++ b/framework/core/src/Install/Steps/ConnectToDatabase.php @@ -15,6 +15,7 @@ use Flarum\Install\DatabaseConfig; use Flarum\Install\Step; use Illuminate\Database\Connectors\MySqlConnector; use Illuminate\Database\MySqlConnection; +use Illuminate\Support\Str; use RangeException; class ConnectToDatabase implements Step @@ -40,7 +41,7 @@ class ConnectToDatabase implements Step $version = $pdo->query('SELECT VERSION()')->fetchColumn(); - if (str_contains($version, 'MariaDB')) { + if (Str::contains($version, 'MariaDB')) { if (version_compare($version, '10.0.5', '<')) { throw new RangeException('MariaDB version too low. You need at least MariaDB 10.0.5'); } diff --git a/framework/core/src/Locale/LocaleManager.php b/framework/core/src/Locale/LocaleManager.php index d07b51f73..351772c67 100644 --- a/framework/core/src/Locale/LocaleManager.php +++ b/framework/core/src/Locale/LocaleManager.php @@ -11,6 +11,8 @@ namespace Flarum\Locale; +use Illuminate\Support\Arr; + class LocaleManager { /** @@ -74,12 +76,12 @@ class LocaleManager public function getJsFiles(string $locale): array { - $files = array_get($this->js, $locale, []); + $files = Arr::get($this->js, $locale, []); $parts = explode('-', $locale); if (count($parts) > 1) { - $files = array_merge(array_get($this->js, $parts[0], []), $files); + $files = array_merge(Arr::get($this->js, $parts[0], []), $files); } return $files; @@ -92,12 +94,12 @@ class LocaleManager public function getCssFiles(string $locale): array { - $files = array_get($this->css, $locale, []); + $files = Arr::get($this->css, $locale, []); $parts = explode('-', $locale); if (count($parts) > 1) { - $files = array_merge(array_get($this->css, $parts[0], []), $files); + $files = array_merge(Arr::get($this->css, $parts[0], []), $files); } return $files; diff --git a/framework/core/src/Notification/Notification.php b/framework/core/src/Notification/Notification.php index d8551842e..66c92384b 100644 --- a/framework/core/src/Notification/Notification.php +++ b/framework/core/src/Notification/Notification.php @@ -16,6 +16,7 @@ use Flarum\Database\AbstractModel; use Flarum\Event\ScopeModelVisibility; use Flarum\User\User; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Support\Arr; /** * Models a notification record in the database. @@ -104,7 +105,7 @@ class Notification extends AbstractModel */ public function getSubjectModelAttribute() { - return $this->type ? array_get(static::$subjectModels, $this->type) : null; + return $this->type ? Arr::get(static::$subjectModels, $this->type) : null; } /** diff --git a/framework/core/src/Post/Command/EditPostHandler.php b/framework/core/src/Post/Command/EditPostHandler.php index 3458141ad..573973564 100644 --- a/framework/core/src/Post/Command/EditPostHandler.php +++ b/framework/core/src/Post/Command/EditPostHandler.php @@ -18,6 +18,7 @@ use Flarum\Post\PostRepository; use Flarum\Post\PostValidator; use Flarum\User\AssertPermissionTrait; use Illuminate\Contracts\Events\Dispatcher; +use Illuminate\Support\Arr; class EditPostHandler { @@ -59,7 +60,7 @@ class EditPostHandler $post = $this->posts->findOrFail($command->postId, $actor); if ($post instanceof CommentPost) { - $attributes = array_get($data, 'attributes', []); + $attributes = Arr::get($data, 'attributes', []); if (isset($attributes['content'])) { $this->assertCan($actor, 'edit', $post); diff --git a/framework/core/src/Post/Command/PostReplyHandler.php b/framework/core/src/Post/Command/PostReplyHandler.php index 5817bbfcf..595073785 100644 --- a/framework/core/src/Post/Command/PostReplyHandler.php +++ b/framework/core/src/Post/Command/PostReplyHandler.php @@ -20,6 +20,7 @@ use Flarum\Post\Event\Saving; use Flarum\Post\PostValidator; use Flarum\User\AssertPermissionTrait; use Illuminate\Contracts\Events\Dispatcher; +use Illuminate\Support\Arr; class PostReplyHandler { @@ -86,12 +87,12 @@ class PostReplyHandler // opportunity to alter the post entity based on data in the command. $post = CommentPost::reply( $discussion->id, - array_get($command->data, 'attributes.content'), + Arr::get($command->data, 'attributes.content'), $actor->id, $command->ipAddress ); - if ($actor->isAdmin() && ($time = array_get($command->data, 'attributes.createdAt'))) { + if ($actor->isAdmin() && ($time = Arr::get($command->data, 'attributes.createdAt'))) { $post->created_at = new Carbon($time); } diff --git a/framework/core/src/Search/ApplySearchParametersTrait.php b/framework/core/src/Search/ApplySearchParametersTrait.php index 058c1b5db..5a79693bc 100644 --- a/framework/core/src/Search/ApplySearchParametersTrait.php +++ b/framework/core/src/Search/ApplySearchParametersTrait.php @@ -11,6 +11,8 @@ namespace Flarum\Search; +use Illuminate\Support\Str; + trait ApplySearchParametersTrait { /** @@ -29,10 +31,10 @@ trait ApplySearchParametersTrait foreach ($sort as $field => $order) { if (is_array($order)) { foreach ($order as $value) { - $search->getQuery()->orderByRaw(snake_case($field).' != ?', [$value]); + $search->getQuery()->orderByRaw(Str::snake($field).' != ?', [$value]); } } else { - $search->getQuery()->orderBy(snake_case($field), $order); + $search->getQuery()->orderBy(Str::snake($field), $order); } } } diff --git a/framework/core/src/Settings/MemoryCacheSettingsRepository.php b/framework/core/src/Settings/MemoryCacheSettingsRepository.php index 60ca133f5..fda2cf2f0 100644 --- a/framework/core/src/Settings/MemoryCacheSettingsRepository.php +++ b/framework/core/src/Settings/MemoryCacheSettingsRepository.php @@ -11,6 +11,8 @@ namespace Flarum\Settings; +use Illuminate\Support\Arr; + class MemoryCacheSettingsRepository implements SettingsRepositoryInterface { protected $inner; @@ -39,7 +41,7 @@ class MemoryCacheSettingsRepository implements SettingsRepositoryInterface if (array_key_exists($key, $this->cache)) { return $this->cache[$key]; } elseif (! $this->isCached) { - return array_get($this->all(), $key, $default); + return Arr::get($this->all(), $key, $default); } return $default; diff --git a/framework/core/src/Settings/OverrideSettingsRepository.php b/framework/core/src/Settings/OverrideSettingsRepository.php index 436935180..aecba54a1 100644 --- a/framework/core/src/Settings/OverrideSettingsRepository.php +++ b/framework/core/src/Settings/OverrideSettingsRepository.php @@ -11,6 +11,8 @@ namespace Flarum\Settings; +use Illuminate\Support\Arr; + /** * A settings repository decorator that allows overriding certain values. * @@ -46,7 +48,7 @@ class OverrideSettingsRepository implements SettingsRepositoryInterface return $this->overrides[$key]; } - return array_get($this->all(), $key, $default); + return Arr::get($this->all(), $key, $default); } public function set($key, $value) diff --git a/framework/core/src/Update/Controller/UpdateController.php b/framework/core/src/Update/Controller/UpdateController.php index fc6c929ba..8e2bf6daf 100644 --- a/framework/core/src/Update/Controller/UpdateController.php +++ b/framework/core/src/Update/Controller/UpdateController.php @@ -14,6 +14,7 @@ namespace Flarum\Update\Controller; use Exception; use Flarum\Database\Console\MigrateCommand; use Flarum\Foundation\Application; +use Illuminate\Support\Arr; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\RequestHandlerInterface; @@ -49,7 +50,7 @@ class UpdateController implements RequestHandlerInterface { $input = $request->getParsedBody(); - if (array_get($input, 'databasePassword') !== $this->app->config('database.password')) { + if (Arr::get($input, 'databasePassword') !== $this->app->config('database.password')) { return new HtmlResponse('Incorrect database password.', 500); } diff --git a/framework/core/src/User/Command/EditUserHandler.php b/framework/core/src/User/Command/EditUserHandler.php index 33261ca60..64e539d47 100644 --- a/framework/core/src/User/Command/EditUserHandler.php +++ b/framework/core/src/User/Command/EditUserHandler.php @@ -19,6 +19,7 @@ use Flarum\User\User; use Flarum\User\UserRepository; use Flarum\User\UserValidator; use Illuminate\Contracts\Events\Dispatcher; +use Illuminate\Support\Arr; use Illuminate\Validation\ValidationException; class EditUserHandler @@ -64,8 +65,8 @@ class EditUserHandler $canEdit = $actor->can('edit', $user); $isSelf = $actor->id === $user->id; - $attributes = array_get($data, 'attributes', []); - $relationships = array_get($data, 'relationships', []); + $attributes = Arr::get($data, 'attributes', []); + $relationships = Arr::get($data, 'relationships', []); $validate = []; if (isset($attributes['username'])) { @@ -115,7 +116,7 @@ class EditUserHandler $newGroupIds = []; foreach ($relationships['groups']['data'] as $group) { - if ($id = array_get($group, 'id')) { + if ($id = Arr::get($group, 'id')) { $newGroupIds[] = $id; } } diff --git a/framework/core/src/User/Command/RegisterUserHandler.php b/framework/core/src/User/Command/RegisterUserHandler.php index a8899a55d..e839e1c2b 100644 --- a/framework/core/src/User/Command/RegisterUserHandler.php +++ b/framework/core/src/User/Command/RegisterUserHandler.php @@ -22,6 +22,8 @@ use Flarum\User\RegistrationToken; use Flarum\User\User; use Flarum\User\UserValidator; use Illuminate\Contracts\Events\Dispatcher; +use Illuminate\Support\Arr; +use Illuminate\Support\Str; use Illuminate\Validation\ValidationException; use Intervention\Image\ImageManager; @@ -75,19 +77,19 @@ class RegisterUserHandler $this->assertAdmin($actor); } - $password = array_get($data, 'attributes.password'); + $password = Arr::get($data, 'attributes.password'); // If a valid authentication token was provided as an attribute, // then we won't require the user to choose a password. if (isset($data['attributes']['token'])) { $token = RegistrationToken::validOrFail($data['attributes']['token']); - $password = $password ?: str_random(20); + $password = $password ?: Str::random(20); } $user = User::register( - array_get($data, 'attributes.username'), - array_get($data, 'attributes.email'), + Arr::get($data, 'attributes.username'), + Arr::get($data, 'attributes.email'), $password ); @@ -95,7 +97,7 @@ class RegisterUserHandler $this->applyToken($user, $token); } - if ($actor->isAdmin() && array_get($data, 'attributes.isEmailConfirmed')) { + if ($actor->isAdmin() && Arr::get($data, 'attributes.isEmailConfirmed')) { $user->activate(); } diff --git a/framework/core/src/User/EmailToken.php b/framework/core/src/User/EmailToken.php index 085efb101..e6abe8d75 100644 --- a/framework/core/src/User/EmailToken.php +++ b/framework/core/src/User/EmailToken.php @@ -14,6 +14,7 @@ namespace Flarum\User; use Carbon\Carbon; use Flarum\Database\AbstractModel; use Flarum\User\Exception\InvalidConfirmationTokenException; +use Illuminate\Support\Str; /** * @property string $token @@ -54,7 +55,7 @@ class EmailToken extends AbstractModel { $token = new static; - $token->token = str_random(40); + $token->token = Str::random(40); $token->user_id = $userId; $token->email = $email; $token->created_at = Carbon::now(); diff --git a/framework/core/src/User/Gate.php b/framework/core/src/User/Gate.php index 73cbfe97d..cfef83ef1 100644 --- a/framework/core/src/User/Gate.php +++ b/framework/core/src/User/Gate.php @@ -13,6 +13,7 @@ namespace Flarum\User; use Illuminate\Contracts\Auth\Access\Gate as GateContract; use Illuminate\Contracts\Container\Container; +use Illuminate\Support\Str; use InvalidArgumentException; /** @@ -98,7 +99,7 @@ class Gate implements GateContract { if (is_callable($callback)) { $this->abilities[$ability] = $callback; - } elseif (is_string($callback) && str_contains($callback, '@')) { + } elseif (is_string($callback) && Str::contains($callback, '@')) { $this->abilities[$ability] = $this->buildAbilityCallback($callback); } else { throw new InvalidArgumentException("Callback must be a callable or a 'Class@method' string."); diff --git a/framework/core/src/User/PasswordToken.php b/framework/core/src/User/PasswordToken.php index 54c9694b0..90aa45f5d 100644 --- a/framework/core/src/User/PasswordToken.php +++ b/framework/core/src/User/PasswordToken.php @@ -13,6 +13,7 @@ namespace Flarum\User; use Carbon\Carbon; use Flarum\Database\AbstractModel; +use Illuminate\Support\Str; /** * @property string $token @@ -50,7 +51,7 @@ class PasswordToken extends AbstractModel { $token = new static; - $token->token = str_random(40); + $token->token = Str::random(40); $token->user_id = $userId; $token->created_at = Carbon::now(); diff --git a/framework/core/src/User/RegistrationToken.php b/framework/core/src/User/RegistrationToken.php index 61c6a5144..e51d688f7 100644 --- a/framework/core/src/User/RegistrationToken.php +++ b/framework/core/src/User/RegistrationToken.php @@ -14,6 +14,7 @@ namespace Flarum\User; use Carbon\Carbon; use Flarum\Database\AbstractModel; use Flarum\User\Exception\InvalidConfirmationTokenException; +use Illuminate\Support\Str; /** * @property string $token @@ -62,7 +63,7 @@ class RegistrationToken extends AbstractModel { $token = new static; - $token->token = str_random(40); + $token->token = Str::random(40); $token->provider = $provider; $token->identifier = $identifier; $token->user_attributes = $attributes; diff --git a/framework/core/src/User/SelfDemotionGuard.php b/framework/core/src/User/SelfDemotionGuard.php index 7dff1969e..f6523799e 100644 --- a/framework/core/src/User/SelfDemotionGuard.php +++ b/framework/core/src/User/SelfDemotionGuard.php @@ -14,6 +14,7 @@ namespace Flarum\User; use Flarum\Group\Group; use Flarum\User\Event\Saving; use Flarum\User\Exception\PermissionDeniedException; +use Illuminate\Support\Arr; class SelfDemotionGuard { @@ -35,7 +36,7 @@ class SelfDemotionGuard return; } - $groups = array_get($event->data, 'relationships.groups.data'); + $groups = Arr::get($event->data, 'relationships.groups.data'); // If there is no group data (not even an empty array), this means // groups were not changed (and thus not removed) - we're fine! diff --git a/framework/core/src/User/User.php b/framework/core/src/User/User.php index 5f60bcbc4..47a5b9a0e 100644 --- a/framework/core/src/User/User.php +++ b/framework/core/src/User/User.php @@ -37,6 +37,7 @@ use Flarum\User\Event\Registered; use Flarum\User\Event\Renamed; use Illuminate\Contracts\Hashing\Hasher; use Illuminate\Contracts\Session\Session; +use Illuminate\Support\Arr; /** * @property int $id @@ -460,7 +461,7 @@ class User extends AbstractModel return $value['default']; }, static::$preferences); - $user = array_only((array) json_decode($value, true), array_keys(static::$preferences)); + $user = Arr::only((array) json_decode($value, true), array_keys(static::$preferences)); return array_merge($defaults, $user); } @@ -508,7 +509,7 @@ class User extends AbstractModel */ public function getPreference($key, $default = null) { - return array_get($this->preferences, $key, $default); + return Arr::get($this->preferences, $key, $default); } /**