From c807a8524c22f53731d0c45ebcfde88041663c4e Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 27 Aug 2026 00:18:07 +0930 Subject: [PATCH] refactor: replace short facade aliases with fully-qualified imports Convert all 273 short facade alias imports (e.g. 'use Cache;') to their fully-qualified class names (e.g. 'use Illuminate\Support\Facades\Cache;') across 193 files. This resolves 643 PHPStan 'class.notFound' errors caused by the static analyzer being unable to resolve global aliases, and aligns with modern Laravel conventions. It also unblocks removing the aliases array from config/app.php in a future change. All 107 tests pass. --- .../Commands/AvatarDefaultMigration.php | 4 +-- app/Console/Commands/AvatarStorage.php | 4 +-- .../Commands/AvatarStorageDeepClean.php | 4 +-- app/Console/Commands/FixDuplicateProfiles.php | 6 ++-- .../Commands/FixMissingUserProfile.php | 2 +- app/Console/Commands/FixUsernames.php | 2 +- .../Commands/GenerateInstanceActor.php | 2 +- .../Commands/HashtagCachedCountUpdate.php | 2 +- app/Console/Commands/ImportCities.php | 5 +-- .../Commands/ImportUploadCleanStorage.php | 2 +- .../InstanceUpdateTotalLocalPosts.php | 6 ++-- app/Console/Commands/MediaCloudUrlRewrite.php | 2 +- app/Console/Commands/RegenerateThumbnails.php | 5 +-- app/Console/Commands/SendUpdateActor.php | 2 +- .../Commands/SoftwareUpdateRefresh.php | 2 +- app/Console/Commands/StatusDedupe.php | 2 +- app/Console/Commands/TransformImports.php | 2 +- app/DirectMessage.php | 2 +- app/Http/Controllers/AccountController.php | 6 ++-- .../Admin/AdminAutospamController.php | 7 ++-- .../Admin/AdminDirectoryController.php | 2 +- .../Admin/AdminGroupsController.php | 2 +- .../Admin/AdminInstanceController.php | 2 +- .../Admin/AdminReportController.php | 34 +++++++++--------- .../Admin/AdminSettingsController.php | 6 ++-- .../Controllers/Admin/AdminUserController.php | 2 +- app/Http/Controllers/AdminController.php | 8 ++--- .../Controllers/Api/AdminApiController.php | 14 ++++---- app/Http/Controllers/Api/ApiV1Controller.php | 6 ++-- .../Controllers/Api/ApiV1Dot1Controller.php | 6 ++-- .../Controllers/Api/BaseApiController.php | 4 +-- app/Http/Controllers/AvatarController.php | 4 +-- app/Http/Controllers/CircleController.php | 2 +- app/Http/Controllers/CollectionController.php | 6 ++-- app/Http/Controllers/CommentController.php | 9 ++--- app/Http/Controllers/ComposeController.php | 14 ++++---- app/Http/Controllers/ContactController.php | 2 +- app/Http/Controllers/DiscoverController.php | 6 ++-- app/Http/Controllers/FederationController.php | 2 +- app/Http/Controllers/GroupController.php | 2 +- .../Controllers/HashtagFollowController.php | 2 +- app/Http/Controllers/Import/Instagram.php | 4 +-- .../Controllers/InstanceActorController.php | 2 +- .../Controllers/InternalApiController.php | 25 ++++++------- app/Http/Controllers/LikeController.php | 4 +-- app/Http/Controllers/MicroController.php | 14 +++++--- app/Http/Controllers/MobileController.php | 4 +-- app/Http/Controllers/NewsroomController.php | 2 +- app/Http/Controllers/PageController.php | 4 +-- .../PixelfedDirectoryController.php | 4 +-- app/Http/Controllers/PortfolioController.php | 4 +-- .../Controllers/ProfileAliasController.php | 2 +- app/Http/Controllers/ProfileController.php | 8 ++--- .../ProfileMigrationController.php | 2 +- .../Controllers/ProfileSponsorController.php | 16 ++++----- app/Http/Controllers/PublicApiController.php | 4 +-- app/Http/Controllers/ReportController.php | 14 ++++---- app/Http/Controllers/SearchController.php | 2 +- app/Http/Controllers/SeasonalController.php | 5 +-- .../Controllers/Settings/ExportSettings.php | 6 ++-- .../Controllers/Settings/HomeSettings.php | 12 ++++--- .../Controllers/Settings/LabsSettings.php | 2 +- .../Controllers/Settings/PrivacySettings.php | 10 +++--- .../Settings/RelationshipSettings.php | 2 +- .../Controllers/Settings/SecuritySettings.php | 2 +- app/Http/Controllers/SettingsController.php | 10 +++--- app/Http/Controllers/SiteController.php | 6 ++-- app/Http/Controllers/SpaController.php | 2 +- app/Http/Controllers/StatusController.php | 6 ++-- .../Controllers/StoryComposeController.php | 2 +- app/Http/Controllers/StoryController.php | 4 +-- app/Http/Controllers/TimelineController.php | 7 ++-- app/Http/Controllers/UserInviteController.php | 2 +- app/Http/Middleware/AccountInterstitial.php | 5 +-- app/Http/Middleware/Admin.php | 5 +-- app/Http/Middleware/Api/Admin.php | 5 +-- app/Http/Middleware/DangerZone.php | 5 +-- app/Http/Middleware/Localization.php | 5 +-- app/Http/Middleware/TwoFactorAuth.php | 5 +-- .../AutospamUpdateCachedDataPipeline.php | 2 +- app/Jobs/AvatarPipeline/AvatarOptimize.php | 4 +-- .../RemoteAvatarFetchFromUrl.php | 2 +- app/Jobs/CommentPipeline/CommentPipeline.php | 11 +++--- app/Jobs/ContactPipeline/ContactPipeline.php | 2 +- .../DeletePipeline/DeleteAccountPipeline.php | 6 ++-- .../DeletePipeline/FanoutDeletePipeline.php | 2 +- app/Jobs/FollowPipeline/FollowPipeline.php | 7 ++-- .../FollowPipeline/FollowServiceWarmCache.php | 6 ++-- ...lowServiceWarmCacheLargeIngestPipeline.php | 2 +- app/Jobs/FollowPipeline/UnfollowPipeline.php | 4 +-- .../GroupPipeline/GroupCommentPipeline.php | 4 +-- app/Jobs/GroupPipeline/GroupMediaPipeline.php | 2 +- app/Jobs/GroupPipeline/NewStatusPipeline.php | 2 +- .../GroupsPipeline/DeleteCommentPipeline.php | 17 +++------ .../GroupsPipeline/ImageResizePipeline.php | 4 +-- .../GroupsPipeline/ImageS3DeletePipeline.php | 2 +- .../GroupsPipeline/ImageS3UploadPipeline.php | 2 +- .../GroupsPipeline/NewCommentPipeline.php | 6 ++-- app/Jobs/GroupsPipeline/NewPostPipeline.php | 2 +- .../ImageOptimizePipeline/ImageOptimize.php | 2 +- .../ImageOptimizePipeline/ImageResize.php | 4 +-- .../ImageOptimizePipeline/ImageThumbnail.php | 4 +-- .../ImageOptimizePipeline/ImageUpdate.php | 4 +-- app/Jobs/ImportPipeline/ImportInstagram.php | 2 +- app/Jobs/InboxPipeline/DeleteWorker.php | 2 +- app/Jobs/InboxPipeline/InboxValidator.php | 8 ++--- app/Jobs/InboxPipeline/InboxWorker.php | 6 ++-- .../NotificationEpochUpdatePipeline.php | 2 +- .../MediaSyncLicensePipeline.php | 2 +- .../ModPipeline/HandleSpammerPipeline.php | 2 +- .../MoveMigrateFollowersPipeline.php | 4 +-- .../UnfollowLegacyAccountMovePipeline.php | 2 +- .../ProfilePipeline/HandleUpdateActivity.php | 2 +- .../ProfilePurgeFollowersByDomain.php | 2 +- .../ProfilePurgeNotificationsByDomain.php | 2 +- .../RemoteFollowImportRecent.php | 4 +-- .../StatusActivityPubDeliver.php | 2 +- app/Jobs/StatusPipeline/StatusDelete.php | 14 ++++---- app/Jobs/StatusPipeline/StatusEntityLexer.php | 4 +-- ...sLocalUpdateActivityPubDeliverPipeline.php | 2 +- .../StatusPipeline/StatusReplyPipeline.php | 8 ++--- app/Jobs/StoryPipeline/StoryDelete.php | 2 +- app/Jobs/StoryPipeline/StoryExpire.php | 2 +- app/Jobs/StoryPipeline/StoryFetch.php | 4 +-- app/Jobs/VideoPipeline/VideoHlsPipeline.php | 2 +- app/Jobs/VideoPipeline/VideoOptimize.php | 2 +- app/Jobs/VideoPipeline/VideoThumbnail.php | 4 +-- .../VideoThumbnailToCloudPipeline.php | 4 +-- app/Listeners/AuthLogin.php | 2 +- app/Media.php | 2 +- app/Models/GroupMedia.php | 2 +- app/Models/LiveStream.php | 2 +- app/Observers/FollowerObserver.php | 2 +- app/Observers/ModLogObserver.php | 2 +- app/Observers/StatusHashtagObserver.php | 2 +- app/Observers/StatusObserver.php | 2 +- app/Observers/UserObserver.php | 2 +- app/Profile.php | 25 ++++++------- app/Providers/AppServiceProvider.php | 12 +++---- app/Providers/AuthServiceProvider.php | 2 +- app/Services/AccountService.php | 2 +- app/Services/ActivityPubFetchService.php | 17 +++++---- app/Services/AdminShadowFilterService.php | 7 ++-- app/Services/AdminStatsService.php | 7 ++-- app/Services/AutolinkService.php | 2 +- app/Services/AvatarService.php | 4 +-- app/Services/ConfigCacheService.php | 2 +- app/Services/FollowerService.php | 4 +-- app/Services/GroupPostService.php | 2 +- app/Services/GroupService.php | 2 +- app/Services/Groups/GroupAccountService.php | 2 +- app/Services/Groups/GroupCommentService.php | 2 +- app/Services/Groups/GroupMediaService.php | 2 +- app/Services/Groups/GroupPostService.php | 2 +- app/Services/HashtagRelatedService.php | 2 +- app/Services/ImportService.php | 7 ++-- app/Services/MarkerService.php | 2 +- app/Services/Media/MediaHlsService.php | 2 +- app/Services/MediaService.php | 2 +- app/Services/MediaTagService.php | 4 +-- .../NotificationAppGatewayService.php | 2 +- app/Services/NotificationService.php | 2 +- app/Services/PlaceService.php | 2 +- app/Services/ProfileStatusService.php | 2 +- app/Services/PronounService.php | 2 +- app/Services/ResilientMediaStorageService.php | 2 +- app/Services/SearchApiV2Service.php | 2 +- app/Services/SnowflakeService.php | 2 +- app/Status.php | 20 ++++++----- app/Story.php | 13 +++---- app/StoryItem.php | 9 ++--- .../ActivityPub/Verb/StoryVerb.php | 2 +- app/Transformer/Api/AccountTransformer.php | 2 +- app/Transformer/Api/MediaTransformer.php | 2 +- .../Api/RelationshipTransformer.php | 2 +- app/Util/ActivityPub/Helpers.php | 4 +-- app/Util/ActivityPub/HttpSignature.php | 2 +- app/Util/ActivityPub/Inbox.php | 4 +-- app/Util/ActivityPub/Validator/Accept.php | 2 +- app/Util/ActivityPub/Validator/Add.php | 2 +- app/Util/ActivityPub/Validator/Announce.php | 2 +- app/Util/ActivityPub/Validator/Follow.php | 2 +- app/Util/ActivityPub/Validator/Like.php | 2 +- .../ActivityPub/Validator/MoveValidator.php | 2 +- .../ActivityPub/Validator/RejectValidator.php | 2 +- .../ActivityPub/Validator/StoryValidator.php | 2 +- app/Util/ActivityPub/Validator/UndoFollow.php | 2 +- .../Validator/UpdatePersonValidator.php | 2 +- app/Util/Localization/Localization.php | 2 +- app/Util/Media/Image.php | 14 ++++---- app/Util/Sentiment/Bouncer.php | 8 ++--- app/Util/Site/Config.php | 2 +- tests/Feature/RemoteOidcTest.php | 2 +- tests/database.sqlite | Bin 0 -> 2568192 bytes 194 files changed, 449 insertions(+), 428 deletions(-) diff --git a/app/Console/Commands/AvatarDefaultMigration.php b/app/Console/Commands/AvatarDefaultMigration.php index d56ad25df..db18a96e9 100644 --- a/app/Console/Commands/AvatarDefaultMigration.php +++ b/app/Console/Commands/AvatarDefaultMigration.php @@ -3,9 +3,9 @@ namespace App\Console\Commands; use App\Avatar; -use Cache; -use DB; use Illuminate\Console\Command; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; class AvatarDefaultMigration extends Command diff --git a/app/Console/Commands/AvatarStorage.php b/app/Console/Commands/AvatarStorage.php index ac15af85d..8abbd43b7 100644 --- a/app/Console/Commands/AvatarStorage.php +++ b/app/Console/Commands/AvatarStorage.php @@ -7,10 +7,10 @@ use App\Jobs\AvatarPipeline\RemoteAvatarFetch; use App\Profile; use App\Services\AccountService; use App\Util\Lexer\PrettyNumber; -use Cache; use Illuminate\Console\Command; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; -use Storage; class AvatarStorage extends Command { diff --git a/app/Console/Commands/AvatarStorageDeepClean.php b/app/Console/Commands/AvatarStorageDeepClean.php index 4e6e40e1c..ed493c983 100644 --- a/app/Console/Commands/AvatarStorageDeepClean.php +++ b/app/Console/Commands/AvatarStorageDeepClean.php @@ -4,9 +4,9 @@ namespace App\Console\Commands; use App\Avatar; use App\Jobs\AvatarPipeline\AvatarStorageCleanup; -use Cache; use Illuminate\Console\Command; -use Storage; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Storage; class AvatarStorageDeepClean extends Command { diff --git a/app/Console/Commands/FixDuplicateProfiles.php b/app/Console/Commands/FixDuplicateProfiles.php index 9b5fdfaa4..452434989 100644 --- a/app/Console/Commands/FixDuplicateProfiles.php +++ b/app/Console/Commands/FixDuplicateProfiles.php @@ -28,9 +28,9 @@ use App\Story; use App\StoryView; use App\User; use App\UserFilter; -use Cache; -use DB; use Illuminate\Console\Command; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; class FixDuplicateProfiles extends Command { @@ -239,7 +239,7 @@ class FixDuplicateProfiles extends Command protected function checkUserFilter($id, $oid) { UserFilter::whereUserId($oid)->update(['user_id' => $id]); - UserFilter::whereFilterableType(\App\Profile::class)->whereFilterableId($oid)->update(['filterable_id' => $id]); + UserFilter::whereFilterableType(Profile::class)->whereFilterableId($oid)->update(['filterable_id' => $id]); } protected function checkUserPronoun($id, $oid) diff --git a/app/Console/Commands/FixMissingUserProfile.php b/app/Console/Commands/FixMissingUserProfile.php index 11647e3c0..35c9c78b3 100644 --- a/app/Console/Commands/FixMissingUserProfile.php +++ b/app/Console/Commands/FixMissingUserProfile.php @@ -10,8 +10,8 @@ use App\Models\UserDomainBlock; use App\Profile; use App\User; use App\UserSetting; -use DB; use Illuminate\Console\Command; +use Illuminate\Support\Facades\DB; use function Laravel\Prompts\search; diff --git a/app/Console/Commands/FixUsernames.php b/app/Console/Commands/FixUsernames.php index 4c355dd14..4d3eff00e 100644 --- a/app/Console/Commands/FixUsernames.php +++ b/app/Console/Commands/FixUsernames.php @@ -5,8 +5,8 @@ namespace App\Console\Commands; use App\Profile; use App\User; use App\Util\Lexer\RestrictedNames; -use DB; use Illuminate\Console\Command; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; class FixUsernames extends Command diff --git a/app/Console/Commands/GenerateInstanceActor.php b/app/Console/Commands/GenerateInstanceActor.php index 82c3d560a..1bad66d91 100644 --- a/app/Console/Commands/GenerateInstanceActor.php +++ b/app/Console/Commands/GenerateInstanceActor.php @@ -3,8 +3,8 @@ namespace App\Console\Commands; use App\Models\InstanceActor; -use Cache; use Illuminate\Console\Command; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Schema; class GenerateInstanceActor extends Command diff --git a/app/Console/Commands/HashtagCachedCountUpdate.php b/app/Console/Commands/HashtagCachedCountUpdate.php index d0ff36a60..a1929584e 100644 --- a/app/Console/Commands/HashtagCachedCountUpdate.php +++ b/app/Console/Commands/HashtagCachedCountUpdate.php @@ -3,8 +3,8 @@ namespace App\Console\Commands; use App\Hashtag; -use DB; use Illuminate\Console\Command; +use Illuminate\Support\Facades\DB; class HashtagCachedCountUpdate extends Command { diff --git a/app/Console/Commands/ImportCities.php b/app/Console/Commands/ImportCities.php index e4ce7839c..9a9ddc01c 100644 --- a/app/Console/Commands/ImportCities.php +++ b/app/Console/Commands/ImportCities.php @@ -3,9 +3,10 @@ namespace App\Console\Commands; use App\Place; -use DB; use Illuminate\Console\Command; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; +use League\ISO3166\ISO3166; class ImportCities extends Command { @@ -153,7 +154,7 @@ class ImportCities extends Command return $countries[$code]; } - $country = (new \League\ISO3166\ISO3166)->alpha2($code); + $country = (new ISO3166)->alpha2($code); $this->countries[$code] = $country['name']; return $this->countries[$code]; diff --git a/app/Console/Commands/ImportUploadCleanStorage.php b/app/Console/Commands/ImportUploadCleanStorage.php index f80fda999..268d6e524 100644 --- a/app/Console/Commands/ImportUploadCleanStorage.php +++ b/app/Console/Commands/ImportUploadCleanStorage.php @@ -4,7 +4,7 @@ namespace App\Console\Commands; use App\User; use Illuminate\Console\Command; -use Storage; +use Illuminate\Support\Facades\Storage; class ImportUploadCleanStorage extends Command { diff --git a/app/Console/Commands/InstanceUpdateTotalLocalPosts.php b/app/Console/Commands/InstanceUpdateTotalLocalPosts.php index ae3db5eff..92ffe87b0 100644 --- a/app/Console/Commands/InstanceUpdateTotalLocalPosts.php +++ b/app/Console/Commands/InstanceUpdateTotalLocalPosts.php @@ -3,10 +3,10 @@ namespace App\Console\Commands; use App\Services\ConfigCacheService; -use Cache; -use DB; use Illuminate\Console\Command; -use Storage; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Storage; class InstanceUpdateTotalLocalPosts extends Command { diff --git a/app/Console/Commands/MediaCloudUrlRewrite.php b/app/Console/Commands/MediaCloudUrlRewrite.php index 016fdb5af..a15644b0c 100644 --- a/app/Console/Commands/MediaCloudUrlRewrite.php +++ b/app/Console/Commands/MediaCloudUrlRewrite.php @@ -6,7 +6,7 @@ use App\Avatar; use App\Media; use Illuminate\Console\Command; use Illuminate\Contracts\Console\PromptsForMissingInput; -use Storage; +use Illuminate\Support\Facades\Storage; use function Laravel\Prompts\select; diff --git a/app/Console/Commands/RegenerateThumbnails.php b/app/Console/Commands/RegenerateThumbnails.php index 8403bb475..40ae42f8e 100644 --- a/app/Console/Commands/RegenerateThumbnails.php +++ b/app/Console/Commands/RegenerateThumbnails.php @@ -2,9 +2,10 @@ namespace App\Console\Commands; +use App\Jobs\ImageOptimizePipeline\ImageThumbnail; use App\Media; -use DB; use Illuminate\Console\Command; +use Illuminate\Support\Facades\DB; class RegenerateThumbnails extends Command { @@ -43,7 +44,7 @@ class RegenerateThumbnails extends Command Media::whereIn('mime', ['image/jpeg', 'image/png', 'image/jpg']) ->chunk(50, function ($medias) { foreach ($medias as $media) { - \App\Jobs\ImageOptimizePipeline\ImageThumbnail::dispatch($media); + ImageThumbnail::dispatch($media); } }); }); diff --git a/app/Console/Commands/SendUpdateActor.php b/app/Console/Commands/SendUpdateActor.php index ac05fd493..cecb60774 100644 --- a/app/Console/Commands/SendUpdateActor.php +++ b/app/Console/Commands/SendUpdateActor.php @@ -7,7 +7,7 @@ use App\Profile; use App\User; use App\Util\ActivityPub\Helpers; use Illuminate\Console\Command; -use Storage; +use Illuminate\Support\Facades\Storage; use Symfony\Component\HttpKernel\Exception\HttpException; class SendUpdateActor extends Command diff --git a/app/Console/Commands/SoftwareUpdateRefresh.php b/app/Console/Commands/SoftwareUpdateRefresh.php index e6735001b..cdb9ee241 100644 --- a/app/Console/Commands/SoftwareUpdateRefresh.php +++ b/app/Console/Commands/SoftwareUpdateRefresh.php @@ -3,8 +3,8 @@ namespace App\Console\Commands; use App\Services\Internal\SoftwareUpdateService; -use Cache; use Illuminate\Console\Command; +use Illuminate\Support\Facades\Cache; class SoftwareUpdateRefresh extends Command { diff --git a/app/Console/Commands/StatusDedupe.php b/app/Console/Commands/StatusDedupe.php index 12a3c5ce5..a56a5cfc1 100644 --- a/app/Console/Commands/StatusDedupe.php +++ b/app/Console/Commands/StatusDedupe.php @@ -4,8 +4,8 @@ namespace App\Console\Commands; use App\Jobs\StatusPipeline\StatusDelete; use App\Status; -use DB; use Illuminate\Console\Command; +use Illuminate\Support\Facades\DB; class StatusDedupe extends Command { diff --git a/app/Console/Commands/TransformImports.php b/app/Console/Commands/TransformImports.php index b22303563..fdc92628b 100644 --- a/app/Console/Commands/TransformImports.php +++ b/app/Console/Commands/TransformImports.php @@ -12,8 +12,8 @@ use App\Status; use Illuminate\Console\Command; use Illuminate\Database\QueryException; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; -use Storage; class TransformImports extends Command { diff --git a/app/DirectMessage.php b/app/DirectMessage.php index 963699d20..899efaf19 100644 --- a/app/DirectMessage.php +++ b/app/DirectMessage.php @@ -2,8 +2,8 @@ namespace App; -use Auth; use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\Auth; class DirectMessage extends Model { diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index 1c05e1828..f4ed34bcd 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -19,15 +19,15 @@ use App\Services\UserFilterService; use App\Transformer\Api\Mastodon\v1\AccountTransformer; use App\User; use App\UserFilter; -use Auth; -use Cache; use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Arr; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Mail; use Illuminate\Support\Str; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; -use Mail; use PragmaRX\Google2FA\Google2FA; class AccountController extends Controller diff --git a/app/Http/Controllers/Admin/AdminAutospamController.php b/app/Http/Controllers/Admin/AdminAutospamController.php index bffb396e6..18988ed37 100644 --- a/app/Http/Controllers/Admin/AdminAutospamController.php +++ b/app/Http/Controllers/Admin/AdminAutospamController.php @@ -12,9 +12,10 @@ use App\Profile; use App\Services\AccountService; use App\Services\AutospamService; use App\Services\ConfigCacheService; -use Cache; -use DB; +use App\Status; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Storage; trait AdminAutospamController @@ -114,7 +115,7 @@ trait AdminAutospamController public function postAutospamTrainSpamApi(Request $request) { - $aiCount = AccountInterstitial::whereItemType(\App\Status::class) + $aiCount = AccountInterstitial::whereItemType(Status::class) ->whereIsSpam(true) ->count(); abort_if($aiCount < 100, 422, 'You don\'t have enough data to pre-train against.'); diff --git a/app/Http/Controllers/Admin/AdminDirectoryController.php b/app/Http/Controllers/Admin/AdminDirectoryController.php index f53917a5d..fc2dc8182 100644 --- a/app/Http/Controllers/Admin/AdminDirectoryController.php +++ b/app/Http/Controllers/Admin/AdminDirectoryController.php @@ -9,8 +9,8 @@ use App\Services\ConfigCacheService; use App\Services\StatusService; use App\Status; use App\User; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; diff --git a/app/Http/Controllers/Admin/AdminGroupsController.php b/app/Http/Controllers/Admin/AdminGroupsController.php index 45a4fd266..76d994713 100644 --- a/app/Http/Controllers/Admin/AdminGroupsController.php +++ b/app/Http/Controllers/Admin/AdminGroupsController.php @@ -8,8 +8,8 @@ use App\Models\GroupInteraction; use App\Models\GroupMember; use App\Models\GroupPost; use App\Models\GroupReport; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; trait AdminGroupsController { diff --git a/app/Http/Controllers/Admin/AdminInstanceController.php b/app/Http/Controllers/Admin/AdminInstanceController.php index 52c2c0307..10e75f3c2 100644 --- a/app/Http/Controllers/Admin/AdminInstanceController.php +++ b/app/Http/Controllers/Admin/AdminInstanceController.php @@ -7,8 +7,8 @@ use App\Http\Resources\AdminProfile; use App\Instance; use App\Profile; use App\Services\InstanceService; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; use Illuminate\Validation\Rule; trait AdminInstanceController diff --git a/app/Http/Controllers/Admin/AdminReportController.php b/app/Http/Controllers/Admin/AdminReportController.php index fe894401e..07b9fdfc3 100644 --- a/app/Http/Controllers/Admin/AdminReportController.php +++ b/app/Http/Controllers/Admin/AdminReportController.php @@ -27,12 +27,12 @@ use App\Status; use App\Story; use App\User; use App\Util\ActivityPub\Helpers; -use Cache; use Carbon\Carbon; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Redis; -use Storage; +use Illuminate\Support\Facades\Storage; trait AdminReportController { @@ -230,7 +230,7 @@ trait AdminReportController AccountInterstitial::chunk(500, function ($reports) { foreach ($reports as $report) { - if ($report->item_type != \App\Status::class) { + if ($report->item_type != Status::class) { continue; } @@ -326,7 +326,7 @@ trait AdminReportController if ($action == 'dismiss-all') { AccountInterstitial::whereType('post.autospam') - ->whereItemType(\App\Status::class) + ->whereItemType(Status::class) ->whereNull('appeal_handled_at') ->whereUserId($appeal->user_id) ->update(['appeal_handled_at' => $now, 'is_spam' => true]); @@ -339,7 +339,7 @@ trait AdminReportController if ($action == 'approve-all') { AccountInterstitial::whereType('post.autospam') - ->whereItemType(\App\Status::class) + ->whereItemType(Status::class) ->whereNull('appeal_handled_at') ->whereUserId($appeal->user_id) ->get() @@ -365,7 +365,7 @@ trait AdminReportController if ($action == 'mark-spammer') { AccountInterstitial::whereType('post.autospam') - ->whereItemType(\App\Status::class) + ->whereItemType(Status::class) ->whereNull('appeal_handled_at') ->whereUserId($appeal->user_id) ->update(['appeal_handled_at' => $now, 'is_spam' => true]); @@ -777,7 +777,7 @@ trait AdminReportController ->save(); Report::where('reported_profile_id', $profile->id) - ->whereObjectType(\App\Story::class) + ->whereObjectType(Story::class) ->whereNull('admin_seen') ->update([ 'admin_seen' => now(), @@ -803,9 +803,9 @@ trait AdminReportController return [200]; case 'nsfw': - if ($report->object_type === \App\Profile::class) { + if ($report->object_type === Profile::class) { $profile = Profile::find($report->object_id); - } elseif ($report->object_type === \App\Status::class) { + } elseif ($report->object_type === Status::class) { $status = Status::find($report->object_id); if (! $status) { return [200]; @@ -862,9 +862,9 @@ trait AdminReportController return [200]; case 'unlist': - if ($report->object_type === \App\Profile::class) { + if ($report->object_type === Profile::class) { $profile = Profile::find($report->object_id); - } elseif ($report->object_type === \App\Status::class) { + } elseif ($report->object_type === Status::class) { $status = Status::find($report->object_id); if (! $status) { return [200]; @@ -921,9 +921,9 @@ trait AdminReportController return [200]; case 'private': - if ($report->object_type === \App\Profile::class) { + if ($report->object_type === Profile::class) { $profile = Profile::find($report->object_id); - } elseif ($report->object_type === \App\Status::class) { + } elseif ($report->object_type === Status::class) { $status = Status::find($report->object_id); if (! $status) { return [200]; @@ -984,9 +984,9 @@ trait AdminReportController abort(404); } - if ($report->object_type === \App\Profile::class) { + if ($report->object_type === Profile::class) { $profile = Profile::find($report->object_id); - } elseif ($report->object_type === \App\Status::class) { + } elseif ($report->object_type === Status::class) { $status = Status::find($report->object_id); if (! $status) { return [200]; @@ -1297,7 +1297,7 @@ trait AdminReportController if ($action == 'mark-all-read') { AccountInterstitial::whereType('post.autospam') - ->whereItemType(\App\Status::class) + ->whereItemType(Status::class) ->whereNull('appeal_handled_at') ->whereUserId($appeal->user_id) ->update([ @@ -1308,7 +1308,7 @@ trait AdminReportController if ($action == 'mark-all-not-spam') { AccountInterstitial::whereType('post.autospam') - ->whereItemType(\App\Status::class) + ->whereItemType(Status::class) ->whereUserId($appeal->user_id) ->get() ->each(function ($report) use ($meta) { diff --git a/app/Http/Controllers/Admin/AdminSettingsController.php b/app/Http/Controllers/Admin/AdminSettingsController.php index 8a4b04025..aa974cbbc 100644 --- a/app/Http/Controllers/Admin/AdminSettingsController.php +++ b/app/Http/Controllers/Admin/AdminSettingsController.php @@ -12,10 +12,10 @@ use App\Services\ConfigCacheService; use App\Services\FilesystemService; use App\User; use App\Util\Site\Config; -use Artisan; -use Cache; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Artisan; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; trait AdminSettingsController { diff --git a/app/Http/Controllers/Admin/AdminUserController.php b/app/Http/Controllers/Admin/AdminUserController.php index 9bb264c6d..8733ab79c 100644 --- a/app/Http/Controllers/Admin/AdminUserController.php +++ b/app/Http/Controllers/Admin/AdminUserController.php @@ -9,8 +9,8 @@ use App\Profile; use App\Services\AccountService; use App\Services\ModLogService; use App\User; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Mail; trait AdminUserController diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 6b2ae0221..8f1c71121 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -27,13 +27,13 @@ use App\Services\StoryService; use App\Status; use App\Story; use App\User; -use Cache; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Mail; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use Illuminate\Validation\Rule; -use Mail; -use Storage; class AdminController extends Controller { diff --git a/app/Http/Controllers/Api/AdminApiController.php b/app/Http/Controllers/Api/AdminApiController.php index 0c61dbd26..7c2cfa357 100644 --- a/app/Http/Controllers/Api/AdminApiController.php +++ b/app/Http/Controllers/Api/AdminApiController.php @@ -27,9 +27,9 @@ use App\Services\SnowflakeService; use App\Services\StatusService; use App\Status; use App\User; -use Cache; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; class AdminApiController extends Controller { @@ -77,7 +77,7 @@ class AdminApiController extends Controller 'item_type' => $report->item_type, 'created_at' => $report->created_at, ]; - if ($report->item_type === \App\Status::class) { + if ($report->item_type === Status::class) { $status = StatusService::get($report->item_id, false); if (! $status) { return; @@ -172,7 +172,7 @@ class AdminApiController extends Controller if ($action == 'dismiss-all') { AccountInterstitial::whereType('post.autospam') - ->whereItemType(\App\Status::class) + ->whereItemType(Status::class) ->whereNull('appeal_handled_at') ->whereUserId($appeal->user_id) ->update(['appeal_handled_at' => $now, 'is_spam' => true]); @@ -213,7 +213,7 @@ class AdminApiController extends Controller if ($action == 'approve-all') { AccountInterstitial::whereType('post.autospam') - ->whereItemType(\App\Status::class) + ->whereItemType(Status::class) ->whereNull('appeal_handled_at') ->whereUserId($appeal->user_id) ->get() @@ -272,7 +272,7 @@ class AdminApiController extends Controller $r['reported_by_account'] = AccountService::get($report->profile_id, true); } - if ($report->object_type === \App\Status::class) { + if ($report->object_type === Status::class) { $status = StatusService::get($report->object_id, false); if (! $status) { return; @@ -285,7 +285,7 @@ class AdminApiController extends Controller } } - if ($report->object_type === \App\Profile::class) { + if ($report->object_type === Profile::class) { $acct = AccountService::get($report->object_id, true); if ($acct) { $r['account'] = $acct; diff --git a/app/Http/Controllers/Api/ApiV1Controller.php b/app/Http/Controllers/Api/ApiV1Controller.php index 76c635e69..5da3376b5 100644 --- a/app/Http/Controllers/Api/ApiV1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Controller.php @@ -80,16 +80,16 @@ use App\Util\Lexer\PrettyNumber; use App\Util\Localization\Localization; use App\Util\Media\Filter; use App\Util\Media\License; -use Cache; use Carbon\Carbon; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\RateLimiter; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use Laravel\Passport\Client; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; -use Storage; class ApiV1Controller extends Controller { diff --git a/app/Http/Controllers/Api/ApiV1Dot1Controller.php b/app/Http/Controllers/Api/ApiV1Dot1Controller.php index 67cb96a1e..febd1e055 100644 --- a/app/Http/Controllers/Api/ApiV1Dot1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Dot1Controller.php @@ -44,15 +44,15 @@ use App\Transformer\Api\AccountTransformer; use App\User; use App\UserSetting; use App\Util\Lexer\RestrictedNames; -use Cache; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; +use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\RateLimiter; use Illuminate\Support\Str; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; -use Mail; class ApiV1Dot1Controller extends Controller { diff --git a/app/Http/Controllers/Api/BaseApiController.php b/app/Http/Controllers/Api/BaseApiController.php index 45848d423..80f2e0f4e 100644 --- a/app/Http/Controllers/Api/BaseApiController.php +++ b/app/Http/Controllers/Api/BaseApiController.php @@ -13,9 +13,9 @@ use App\Services\StatusService; use App\Status; use App\StatusArchived; use App\Transformer\Api\StatusStatelessTransformer; -use Auth; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; diff --git a/app/Http/Controllers/AvatarController.php b/app/Http/Controllers/AvatarController.php index 40f2f08b1..66335bb44 100644 --- a/app/Http/Controllers/AvatarController.php +++ b/app/Http/Controllers/AvatarController.php @@ -4,9 +4,9 @@ namespace App\Http\Controllers; use App\Avatar; use App\Jobs\AvatarPipeline\AvatarOptimize; -use Auth; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Str; class AvatarController extends Controller diff --git a/app/Http/Controllers/CircleController.php b/app/Http/Controllers/CircleController.php index 3955dbcaa..8e20ac17f 100644 --- a/app/Http/Controllers/CircleController.php +++ b/app/Http/Controllers/CircleController.php @@ -3,8 +3,8 @@ namespace App\Http\Controllers; use App\Circle; -use Auth; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; use Illuminate\Validation\Rule; class CircleController extends Controller diff --git a/app/Http/Controllers/CollectionController.php b/app/Http/Controllers/CollectionController.php index 7dbba4716..240e0880f 100644 --- a/app/Http/Controllers/CollectionController.php +++ b/app/Http/Controllers/CollectionController.php @@ -9,8 +9,8 @@ use App\Services\CollectionService; use App\Services\FollowerService; use App\Services\StatusService; use App\Status; -use Auth; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class CollectionController extends Controller { @@ -155,7 +155,7 @@ class CollectionController extends Controller $item = CollectionItem::firstOrCreate([ 'collection_id' => $collection->id, - 'object_type' => \App\Status::class, + 'object_type' => Status::class, 'object_id' => $status->id, ], [ 'order' => $count, @@ -294,7 +294,7 @@ class CollectionController extends Controller ->findOrFail($postId); $item = CollectionItem::whereCollectionId($collection->id) - ->whereObjectType(\App\Status::class) + ->whereObjectType(Status::class) ->whereObjectId($status->id) ->firstOrFail(); diff --git a/app/Http/Controllers/CommentController.php b/app/Http/Controllers/CommentController.php index 42fefa989..9efe36296 100644 --- a/app/Http/Controllers/CommentController.php +++ b/app/Http/Controllers/CommentController.php @@ -4,13 +4,14 @@ namespace App\Http\Controllers; use App\Jobs\CommentPipeline\CommentPipeline; use App\Jobs\StatusPipeline\NewStatusPipeline; +use App\Profile; use App\Services\StatusService; use App\Status; use App\Transformer\Api\StatusTransformer; use App\UserFilter; -use Auth; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\DB; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; use Purify; @@ -29,7 +30,7 @@ class CommentController extends Controller } $this->validate($request, [ 'item' => 'required|integer|min:1', - 'comment' => 'required|string|max:' . config_cache('pixelfed.max_caption_length'), + 'comment' => 'required|string|max:'.config_cache('pixelfed.max_caption_length'), 'sensitive' => 'nullable|boolean', ]); $comment = $request->input('comment'); @@ -48,7 +49,7 @@ class CommentController extends Controller } $filtered = UserFilter::whereUserId($status->profile_id) - ->whereFilterableType(\App\Profile::class) + ->whereFilterableType(Profile::class) ->whereIn('filter_type', ['block']) ->whereFilterableId($profile->id) ->exists(); diff --git a/app/Http/Controllers/ComposeController.php b/app/Http/Controllers/ComposeController.php index 394cc0b0f..43dd00b08 100644 --- a/app/Http/Controllers/ComposeController.php +++ b/app/Http/Controllers/ComposeController.php @@ -28,10 +28,10 @@ use App\Transformer\Api\MediaTransformer; use App\UserFilter; use App\Util\Media\Filter; use App\Util\Media\License; -use Auth; -use Cache; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; @@ -260,7 +260,7 @@ class ComposeController extends Controller abort_if($user->has_roles && ! UserRoleService::can('can-post', $user->id), 403, 'Invalid permissions for this action'); - $blocked = UserFilter::whereFilterableType(\App\Profile::class) + $blocked = UserFilter::whereFilterableType(Profile::class) ->whereFilterType('block') ->whereFilterableId($request->user()->profile_id) ->pluck('user_id'); @@ -326,7 +326,7 @@ class ComposeController extends Controller if (! $tag) { return []; } - Notification::whereItemType(\App\MediaTag::class) + Notification::whereItemType(MediaTag::class) ->whereItemId($tag->id) ->whereProfileId($profile_id) ->whereAction('tagged') @@ -440,7 +440,7 @@ class ComposeController extends Controller return []; } - $blocked = UserFilter::whereFilterableType(\App\Profile::class) + $blocked = UserFilter::whereFilterableType(Profile::class) ->whereFilterType('block') ->whereFilterableId($request->user()->profile_id) ->pluck('user_id') @@ -662,7 +662,7 @@ class ComposeController extends Controller $count = $collection->items()->count(); CollectionItem::firstOrCreate([ 'collection_id' => $collection->id, - 'object_type' => \App\Status::class, + 'object_type' => Status::class, 'object_id' => $status->id, ], [ 'order' => $count, diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php index e62fc483d..948efabca 100644 --- a/app/Http/Controllers/ContactController.php +++ b/app/Http/Controllers/ContactController.php @@ -5,8 +5,8 @@ namespace App\Http\Controllers; use App\Contact; use App\Jobs\ContactPipeline\ContactPipeline; use App\Rules\MaxMultiLine; -use Auth; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class ContactController extends Controller { diff --git a/app/Http/Controllers/DiscoverController.php b/app/Http/Controllers/DiscoverController.php index 5a00dc930..51f427078 100644 --- a/app/Http/Controllers/DiscoverController.php +++ b/app/Http/Controllers/DiscoverController.php @@ -20,10 +20,10 @@ use App\Services\StatusService; use App\Services\TrendingHashtagService; use App\Services\UserFilterService; use App\Status; -use Auth; -use Cache; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; class DiscoverController extends Controller { diff --git a/app/Http/Controllers/FederationController.php b/app/Http/Controllers/FederationController.php index a964cbeea..62c803821 100644 --- a/app/Http/Controllers/FederationController.php +++ b/app/Http/Controllers/FederationController.php @@ -12,8 +12,8 @@ use App\Status; use App\Util\Lexer\Nickname; use App\Util\Site\Nodeinfo; use App\Util\Webfinger\Webfinger; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; class FederationController extends Controller { diff --git a/app/Http/Controllers/GroupController.php b/app/Http/Controllers/GroupController.php index d560e3245..2a19c765c 100644 --- a/app/Http/Controllers/GroupController.php +++ b/app/Http/Controllers/GroupController.php @@ -20,8 +20,8 @@ use App\Services\StatusService; use App\Status; use App\User; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; -use Storage; class GroupController extends GroupFederationController { diff --git a/app/Http/Controllers/HashtagFollowController.php b/app/Http/Controllers/HashtagFollowController.php index 4fa91eebb..9fbc46b91 100644 --- a/app/Http/Controllers/HashtagFollowController.php +++ b/app/Http/Controllers/HashtagFollowController.php @@ -5,8 +5,8 @@ namespace App\Http\Controllers; use App\Hashtag; use App\HashtagFollow; use App\Services\HashtagService; -use Auth; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class HashtagFollowController extends Controller { diff --git a/app/Http/Controllers/Import/Instagram.php b/app/Http/Controllers/Import/Instagram.php index 153375890..1cbfa9c31 100644 --- a/app/Http/Controllers/Import/Instagram.php +++ b/app/Http/Controllers/Import/Instagram.php @@ -5,9 +5,9 @@ namespace App\Http\Controllers\Import; use App\ImportData; use App\ImportJob; use App\Jobs\ImportPipeline\ImportInstagram; -use Auth; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; trait Instagram diff --git a/app/Http/Controllers/InstanceActorController.php b/app/Http/Controllers/InstanceActorController.php index 730837b01..728e6f783 100644 --- a/app/Http/Controllers/InstanceActorController.php +++ b/app/Http/Controllers/InstanceActorController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers; use App\Models\InstanceActor; -use Cache; +use Illuminate\Support\Facades\Cache; class InstanceActorController extends Controller { diff --git a/app/Http/Controllers/InternalApiController.php b/app/Http/Controllers/InternalApiController.php index 905de7c6e..d423634a0 100644 --- a/app/Http/Controllers/InternalApiController.php +++ b/app/Http/Controllers/InternalApiController.php @@ -19,9 +19,9 @@ use App\Services\UserFilterService; use App\Status; // StatusMediaContainerTransformer, use App\Transformer\Api\StatusTransformer; use App\User; -use Auth; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Redis; use Illuminate\Validation\Rule; use League\Fractal; @@ -107,6 +107,7 @@ class InternalApiController extends Controller return $user && ($s->profile_id === $user->profile_id || FollowerService::follows($user->profile_id, $s->profile_id)); } + return false; })->take($limit); $resource = new Fractal\Resource\Collection($children, new StatusTransformer); @@ -184,7 +185,7 @@ class InternalApiController extends Controller $ai->user_id = $status->profile->user_id; $ai->type = 'post.cw'; $ai->view = 'account.moderation.post.cw'; - $ai->item_type = \App\Status::class; + $ai->item_type = Status::class; $ai->item_id = $status->id; $ai->has_media = (bool) $media->count(); $ai->blurhash = $media->count() ? $media->first()->blurhash : null; @@ -226,7 +227,7 @@ class InternalApiController extends Controller $ai = AccountInterstitial::whereUserId($status->profile->user_id) ->whereType('post.cw') ->whereItemId($status->id) - ->whereItemType(\App\Status::class) + ->whereItemType(Status::class) ->first(); $ai->delete(); } @@ -255,7 +256,7 @@ class InternalApiController extends Controller $ai->user_id = $status->profile->user_id; $ai->type = 'post.unlist'; $ai->view = 'account.moderation.post.unlist'; - $ai->item_type = \App\Status::class; + $ai->item_type = Status::class; $ai->item_id = $status->id; $ai->has_media = (bool) $media->count(); $ai->blurhash = $media->count() ? $media->first()->blurhash : null; @@ -338,9 +339,9 @@ class InternalApiController extends Controller 'only_media' => 'nullable', 'pinned' => 'nullable', 'exclude_replies' => 'nullable', - 'max_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX, - 'since_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX, - 'min_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX, + 'max_id' => 'nullable|integer|min:0|max:'.PHP_INT_MAX, + 'since_id' => 'nullable|integer|min:0|max:'.PHP_INT_MAX, + 'min_id' => 'nullable|integer|min:0|max:'.PHP_INT_MAX, 'limit' => 'nullable|integer|min:1|max:24', ]); @@ -358,7 +359,7 @@ class InternalApiController extends Controller return response()->json([]); } $pid = Auth::user()->profile->id; - $following = Cache::remember('profile:following:' . $pid, now()->addMinutes(1440), function () use ($pid) { + $following = Cache::remember('profile:following:'.$pid, now()->addMinutes(1440), function () use ($pid) { $following = Follower::whereProfileId($pid)->pluck('following_id'); return $following->push($pid)->toArray(); @@ -367,7 +368,7 @@ class InternalApiController extends Controller } else { if (Auth::check()) { $pid = Auth::user()->profile->id; - $following = Cache::remember('profile:following:' . $pid, now()->addMinutes(1440), function () use ($pid) { + $following = Cache::remember('profile:following:'.$pid, now()->addMinutes(1440), function () use ($pid) { $following = Follower::whereProfileId($pid)->pluck('following_id'); return $following->push($pid)->toArray(); @@ -411,12 +412,12 @@ class InternalApiController extends Controller public function remoteProfile(Request $request, $id) { - return redirect('/i/web/profile/' . $id); + return redirect('/i/web/profile/'.$id); } public function remoteStatus(Request $request, $profileId, $statusId) { - return redirect('/i/web/post/' . $statusId); + return redirect('/i/web/post/'.$statusId); } public function requestEmailVerification(Request $request) diff --git a/app/Http/Controllers/LikeController.php b/app/Http/Controllers/LikeController.php index 6aca393e3..cb929d968 100644 --- a/app/Http/Controllers/LikeController.php +++ b/app/Http/Controllers/LikeController.php @@ -7,9 +7,9 @@ use App\Jobs\LikePipeline\UnlikePipeline; use App\Like; use App\Services\StatusService; use App\Status; -use Auth; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; class LikeController extends Controller { diff --git a/app/Http/Controllers/MicroController.php b/app/Http/Controllers/MicroController.php index 62e0ae969..9094f6ba7 100644 --- a/app/Http/Controllers/MicroController.php +++ b/app/Http/Controllers/MicroController.php @@ -3,10 +3,14 @@ namespace App\Http\Controllers; use App\Status; -use Auth; -use DB; +use App\Transformer\Api\StatusTransformer; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\DB; use Illuminate\Validation\Rule; +use League\Fractal\Manager; +use League\Fractal\Resource\Item; +use League\Fractal\Serializer\ArraySerializer; class MicroController extends Controller { @@ -57,9 +61,9 @@ class MicroController extends Controller return $status; }); - $fractal = new \League\Fractal\Manager; - $fractal->setSerializer(new \League\Fractal\Serializer\ArraySerializer); - $s = new \League\Fractal\Resource\Item($status, new \App\Transformer\Api\StatusTransformer); + $fractal = new Manager; + $fractal->setSerializer(new ArraySerializer); + $s = new Item($status, new StatusTransformer); return $fractal->createData($s)->toArray(); } diff --git a/app/Http/Controllers/MobileController.php b/app/Http/Controllers/MobileController.php index 3b345fb17..8bb265d40 100644 --- a/app/Http/Controllers/MobileController.php +++ b/app/Http/Controllers/MobileController.php @@ -3,9 +3,9 @@ namespace App\Http\Controllers; use App\Page; -use Cache; use Illuminate\Http\Request; -use View; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\View; class MobileController extends Controller { diff --git a/app/Http/Controllers/NewsroomController.php b/app/Http/Controllers/NewsroomController.php index 3820033fd..9e6e0e4f7 100644 --- a/app/Http/Controllers/NewsroomController.php +++ b/app/Http/Controllers/NewsroomController.php @@ -3,8 +3,8 @@ namespace App\Http\Controllers; use App\Newsroom; -use Auth; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Redis; use Illuminate\Support\Str; diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php index c4901fdc3..efee41244 100644 --- a/app/Http/Controllers/PageController.php +++ b/app/Http/Controllers/PageController.php @@ -4,9 +4,9 @@ namespace App\Http\Controllers; use App\Page; use App\Services\ConfigCacheService; -use Auth; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; class PageController extends Controller { diff --git a/app/Http/Controllers/PixelfedDirectoryController.php b/app/Http/Controllers/PixelfedDirectoryController.php index d6a014d07..6d9fc7937 100644 --- a/app/Http/Controllers/PixelfedDirectoryController.php +++ b/app/Http/Controllers/PixelfedDirectoryController.php @@ -7,10 +7,10 @@ use App\Services\AccountService; use App\Services\InstanceService; use App\Services\StatusService; use App\User; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; -use Storage; class PixelfedDirectoryController extends Controller { diff --git a/app/Http/Controllers/PortfolioController.php b/app/Http/Controllers/PortfolioController.php index 5ab02acf6..f15d9644d 100644 --- a/app/Http/Controllers/PortfolioController.php +++ b/app/Http/Controllers/PortfolioController.php @@ -7,9 +7,9 @@ use App\Services\AccountService; use App\Services\StatusService; use App\Status; use App\User; -use Cache; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; class PortfolioController extends Controller { diff --git a/app/Http/Controllers/ProfileAliasController.php b/app/Http/Controllers/ProfileAliasController.php index c022d4724..db5d918ba 100644 --- a/app/Http/Controllers/ProfileAliasController.php +++ b/app/Http/Controllers/ProfileAliasController.php @@ -7,8 +7,8 @@ use App\Models\ProfileMigration; use App\Services\AccountService; use App\Services\WebfingerService; use App\Util\Lexer\Nickname; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; class ProfileAliasController extends Controller { diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index ebf8b2643..ebcf59572 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -15,11 +15,11 @@ use App\Transformer\ActivityPub\ProfileTransformer; use App\User; use App\UserFilter; use App\UserSetting; -use Auth; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\View; use League\Fractal; -use View; class ProfileController extends Controller { @@ -224,7 +224,7 @@ class ProfileController extends Controller $pid = Auth::user()->profile->id; $blocks = UserFilter::whereUserId($profile->id) ->whereFilterType('block') - ->whereFilterableType(\App\Profile::class) + ->whereFilterableType(Profile::class) ->pluck('filterable_id') ->toArray(); if (in_array($pid, $blocks)) { diff --git a/app/Http/Controllers/ProfileMigrationController.php b/app/Http/Controllers/ProfileMigrationController.php index b1526d1c6..ffcefa3d7 100644 --- a/app/Http/Controllers/ProfileMigrationController.php +++ b/app/Http/Controllers/ProfileMigrationController.php @@ -10,9 +10,9 @@ use App\Models\ProfileMigration; use App\Services\AccountService; use App\Services\WebfingerService; use App\Util\ActivityPub\Helpers; -use Cache; use Illuminate\Http\Request; use Illuminate\Support\Facades\Bus; +use Illuminate\Support\Facades\Cache; class ProfileMigrationController extends Controller { diff --git a/app/Http/Controllers/ProfileSponsorController.php b/app/Http/Controllers/ProfileSponsorController.php index 99e228d53..66928c0d3 100644 --- a/app/Http/Controllers/ProfileSponsorController.php +++ b/app/Http/Controllers/ProfileSponsorController.php @@ -2,16 +2,16 @@ namespace App\Http\Controllers; -use Illuminate\Http\Request; use App\ProfileSponsor; -use Auth; +use Illuminate\Http\Request; class ProfileSponsorController extends Controller { - public function get(Request $request, $id) - { - $profile = ProfileSponsor::whereProfileId($id)->first(); - $res = $profile ? $profile->sponsors : []; - return response()->json($res); - } + public function get(Request $request, $id) + { + $profile = ProfileSponsor::whereProfileId($id)->first(); + $res = $profile ? $profile->sponsors : []; + + return response()->json($res); + } } diff --git a/app/Http/Controllers/PublicApiController.php b/app/Http/Controllers/PublicApiController.php index 932a0280c..402dfd567 100644 --- a/app/Http/Controllers/PublicApiController.php +++ b/app/Http/Controllers/PublicApiController.php @@ -18,9 +18,9 @@ use App\Services\StatusService; use App\Services\UserFilterService; use App\Status; use App\Transformer\Api\StatusStatelessTransformer; -use Auth; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; use League\Fractal; use League\Fractal\Pagination\IlluminatePaginatorAdapter; use League\Fractal\Serializer\ArraySerializer; diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index e510bb0c1..b4401a73f 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -7,8 +7,8 @@ use App\Models\Group; use App\Profile; use App\Report; use App\Status; -use Auth; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class ReportController extends Controller { @@ -150,10 +150,10 @@ class ReportController extends Controller case 'post': case 'comment': $object = Status::findOrFail($object_id); - $object_type = \App\Status::class; + $object_type = Status::class; $exists = Report::whereUserId(Auth::id()) ->whereObjectId($object->id) - ->whereObjectType(\App\Status::class) + ->whereObjectType(Status::class) ->count(); $rpid = $object->profile_id; @@ -161,20 +161,20 @@ class ReportController extends Controller case 'user': $object = Profile::findOrFail($object_id); - $object_type = \App\Profile::class; + $object_type = Profile::class; $exists = Report::whereUserId(Auth::id()) ->whereObjectId($object->id) - ->whereObjectType(\App\Profile::class) + ->whereObjectType(Profile::class) ->count(); $rpid = $object->id; break; case 'group': $object = Group::findOrFail($object_id); - $object_type = \App\Models\Group::class; + $object_type = Group::class; $exists = Report::whereUserId(Auth::id()) ->whereObjectId($object->id) - ->whereObjectType(\App\Models\Group::class) + ->whereObjectType(Group::class) ->count(); $rpid = $object->profile_id; break; diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php index 8e4296e5b..604cf5974 100644 --- a/app/Http/Controllers/SearchController.php +++ b/app/Http/Controllers/SearchController.php @@ -9,8 +9,8 @@ use App\Services\WebfingerService; use App\Status; use App\Util\ActivityPub\Helpers; use App\Util\Lexer\Autolink; -use Auth; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Str; diff --git a/app/Http/Controllers/SeasonalController.php b/app/Http/Controllers/SeasonalController.php index 5aba049a2..e54b99328 100644 --- a/app/Http/Controllers/SeasonalController.php +++ b/app/Http/Controllers/SeasonalController.php @@ -7,8 +7,9 @@ use App\Follower; use App\Like; use App\Status; use App\StatusHashtag; -use Auth; +use App\User; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Cache; class SeasonalController extends Controller @@ -225,7 +226,7 @@ class SeasonalController extends Controller $log = AccountLog::firstOrCreate([ [ - 'item_type' => \App\User::class, + 'item_type' => User::class, 'item_id' => $user->id, 'user_id' => $user->id, 'action' => 'seasonal.my2020.view', diff --git a/app/Http/Controllers/Settings/ExportSettings.php b/app/Http/Controllers/Settings/ExportSettings.php index bbbc2e7f2..6e0d8e50d 100644 --- a/app/Http/Controllers/Settings/ExportSettings.php +++ b/app/Http/Controllers/Settings/ExportSettings.php @@ -6,12 +6,12 @@ use App\Status; use App\Transformer\ActivityPub\ProfileTransformer; use App\Transformer\Api\StatusTransformer as StatusApiTransformer; use App\UserFilter; -use Auth; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Storage; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; -use Storage; trait ExportSettings { diff --git a/app/Http/Controllers/Settings/HomeSettings.php b/app/Http/Controllers/Settings/HomeSettings.php index 057bc9fed..cb9969e5e 100644 --- a/app/Http/Controllers/Settings/HomeSettings.php +++ b/app/Http/Controllers/Settings/HomeSettings.php @@ -8,11 +8,13 @@ use App\Mail\PasswordChange; use App\Media; use App\Services\AccountService; use App\Services\PronounService; +use App\User; use App\Util\Lexer\Autolink; use App\Util\Lexer\PrettyNumber; -use Cache; +use App\Util\Localization\Localization; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Mail; use Purify; @@ -78,7 +80,7 @@ trait HomeSettings } if ($user->language != $language && - in_array($language, \App\Util\Localization\Localization::languages()) + in_array($language, Localization::languages()) ) { $changes = true; $user->language = $language; @@ -128,7 +130,7 @@ trait HomeSettings $user = $request->user(); - if (!password_verify($current, $user->password)) { + if (! password_verify($current, $user->password)) { return redirect()->back()->with('error', 'There was an error with your request! Please try again.'); } @@ -138,7 +140,7 @@ trait HomeSettings $log = new AccountLog; $log->user_id = $user->id; $log->item_id = $user->id; - $log->item_type = \App\User::class; + $log->item_type = User::class; $log->action = 'account.edit.password'; $log->message = $revokeSessions ? 'Password changed and all sessions revoked' @@ -193,7 +195,7 @@ trait HomeSettings $log = new AccountLog; $log->user_id = $user->id; $log->item_id = $user->id; - $log->item_type = \App\User::class; + $log->item_type = User::class; $log->action = 'account.edit.email'; $log->message = 'Email changed'; $log->link = null; diff --git a/app/Http/Controllers/Settings/LabsSettings.php b/app/Http/Controllers/Settings/LabsSettings.php index d3910a0be..c1e3faf45 100644 --- a/app/Http/Controllers/Settings/LabsSettings.php +++ b/app/Http/Controllers/Settings/LabsSettings.php @@ -3,8 +3,8 @@ namespace App\Http\Controllers\Settings; use App\Services\SuggestionService; -use Cookie; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cookie; trait LabsSettings { diff --git a/app/Http/Controllers/Settings/PrivacySettings.php b/app/Http/Controllers/Settings/PrivacySettings.php index 6934a6eb5..604abc69d 100644 --- a/app/Http/Controllers/Settings/PrivacySettings.php +++ b/app/Http/Controllers/Settings/PrivacySettings.php @@ -7,10 +7,10 @@ use App\Profile; use App\Services\AccountService; use App\Services\RelationshipService; use App\UserFilter; -use Auth; -use Cache; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; trait PrivacySettings { @@ -133,7 +133,7 @@ trait PrivacySettings DB::transaction(function () use ($fid, $pid) { $filter = UserFilter::whereUserId($pid) ->whereFilterableId($fid) - ->whereFilterableType(\App\Profile::class) + ->whereFilterableType(Profile::class) ->whereFilterType('mute') ->firstOrFail(); $filter->delete(); @@ -162,7 +162,7 @@ trait PrivacySettings DB::transaction(function () use ($fid, $pid) { $filter = UserFilter::whereUserId($pid) ->whereFilterableId($fid) - ->whereFilterableType(\App\Profile::class) + ->whereFilterableType(Profile::class) ->whereFilterType('block') ->firstOrFail(); $filter->delete(); diff --git a/app/Http/Controllers/Settings/RelationshipSettings.php b/app/Http/Controllers/Settings/RelationshipSettings.php index 9325a79ea..435349738 100644 --- a/app/Http/Controllers/Settings/RelationshipSettings.php +++ b/app/Http/Controllers/Settings/RelationshipSettings.php @@ -2,8 +2,8 @@ namespace App\Http\Controllers\Settings; -use Auth; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; trait RelationshipSettings { diff --git a/app/Http/Controllers/Settings/SecuritySettings.php b/app/Http/Controllers/Settings/SecuritySettings.php index 7b1fe9a70..285b16f5c 100644 --- a/app/Http/Controllers/Settings/SecuritySettings.php +++ b/app/Http/Controllers/Settings/SecuritySettings.php @@ -4,13 +4,13 @@ namespace App\Http\Controllers\Settings; use App\AccountLog; use App\UserDevice; -use Auth; use BaconQrCode\Renderer\Image\SvgImageBackEnd; use BaconQrCode\Renderer\ImageRenderer; use BaconQrCode\Renderer\RendererStyle\RendererStyle; use BaconQrCode\Writer; use Carbon\Carbon; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Str; use PragmaRX\Google2FA\Google2FA; diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 30cf37cac..33e84797f 100644 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -13,11 +13,11 @@ use App\Jobs\MediaPipeline\MediaSyncLicensePipeline; use App\ProfileSponsor; use App\Services\AccountService; use App\UserSetting; -use Auth; -use Cache; use Carbon\Carbon; -use Cookie; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Cookie; use Illuminate\Support\Facades\Redis; use Illuminate\Support\Str; @@ -133,11 +133,11 @@ class SettingsController extends Controller $user = Auth::user(); abort_if(! config('pixelfed.account_deletion'), 403); abort_if($user->is_admin, 403); - + $this->validate($request, [ 'confirm' => 'required|accepted', ]); - + $profile = $user->profile; $ts = Carbon::now()->addMonth(); $user->email = $user->id; diff --git a/app/Http/Controllers/SiteController.php b/app/Http/Controllers/SiteController.php index 6837f7a94..8f9f2089d 100644 --- a/app/Http/Controllers/SiteController.php +++ b/app/Http/Controllers/SiteController.php @@ -9,11 +9,11 @@ use App\Services\StatusService; use App\User; use App\Util\ActivityPub\Helpers; use App\Util\Localization\Localization; -use Auth; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\View; use Illuminate\Support\Str; -use View; class SiteController extends Controller { diff --git a/app/Http/Controllers/SpaController.php b/app/Http/Controllers/SpaController.php index 18a6c5020..0697f0ff6 100644 --- a/app/Http/Controllers/SpaController.php +++ b/app/Http/Controllers/SpaController.php @@ -5,8 +5,8 @@ namespace App\Http\Controllers; use App\Services\AccountService; use App\Services\StatusService; use App\Util\Localization\Localization; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; use League\CommonMark\CommonMarkConverter; class SpaController extends Controller diff --git a/app/Http/Controllers/StatusController.php b/app/Http/Controllers/StatusController.php index 29dc6f103..6d1175126 100644 --- a/app/Http/Controllers/StatusController.php +++ b/app/Http/Controllers/StatusController.php @@ -17,10 +17,10 @@ use App\StatusView; use App\Transformer\ActivityPub\Verb\Note; use App\Transformer\ActivityPub\Verb\Question; use App\Util\Media\License; -use Auth; -use Cache; -use DB; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; use League\Fractal; class StatusController extends Controller diff --git a/app/Http/Controllers/StoryComposeController.php b/app/Http/Controllers/StoryComposeController.php index 8473596c4..df093b37e 100644 --- a/app/Http/Controllers/StoryComposeController.php +++ b/app/Http/Controllers/StoryComposeController.php @@ -22,10 +22,10 @@ use App\Story; use App\Util\Media\ImageDriverManager; use FFMpeg; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use Intervention\Image\Encoders\JpegEncoder; use Intervention\Image\Encoders\PngEncoder; -use Storage; class StoryComposeController extends Controller { diff --git a/app/Http/Controllers/StoryController.php b/app/Http/Controllers/StoryController.php index ad24e27e4..d51714970 100644 --- a/app/Http/Controllers/StoryController.php +++ b/app/Http/Controllers/StoryController.php @@ -13,12 +13,12 @@ use App\Services\UserRoleService; use App\Story; use App\StoryView; use App\Transformer\ActivityPub\Verb\StoryVerb; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Storage; use League\Fractal\Manager; use League\Fractal\Resource\Item; use League\Fractal\Serializer\ArraySerializer; -use Storage; class StoryController extends StoryComposeController { diff --git a/app/Http/Controllers/TimelineController.php b/app/Http/Controllers/TimelineController.php index b1692034e..c4b219f3b 100644 --- a/app/Http/Controllers/TimelineController.php +++ b/app/Http/Controllers/TimelineController.php @@ -2,12 +2,13 @@ namespace App\Http\Controllers; +use App\Profile; use App\Status; use App\Transformer\Api\StatusTimelineTransformer; use App\UserFilter; -use Auth; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Cache; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; @@ -72,7 +73,7 @@ class TimelineController extends Controller }); $filtered = UserFilter::whereUserId($user->profile_id) - ->whereFilterableType(\App\Profile::class) + ->whereFilterableType(Profile::class) ->whereIn('filter_type', ['mute', 'block']) ->pluck('filterable_id')->toArray(); diff --git a/app/Http/Controllers/UserInviteController.php b/app/Http/Controllers/UserInviteController.php index a639ed488..b0b1efc66 100644 --- a/app/Http/Controllers/UserInviteController.php +++ b/app/Http/Controllers/UserInviteController.php @@ -6,8 +6,8 @@ use App\Mail\UserInviteMail; use App\Services\EmailService; use App\User; use App\UserInvite; -use Auth; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Str; diff --git a/app/Http/Middleware/AccountInterstitial.php b/app/Http/Middleware/AccountInterstitial.php index ade6acbe6..0e77f0109 100644 --- a/app/Http/Middleware/AccountInterstitial.php +++ b/app/Http/Middleware/AccountInterstitial.php @@ -2,15 +2,16 @@ namespace App\Http\Middleware; -use Auth; use Closure; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class AccountInterstitial { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request + * @param Request $request * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Middleware/Admin.php b/app/Http/Middleware/Admin.php index 963068ac6..135e5a9fa 100644 --- a/app/Http/Middleware/Admin.php +++ b/app/Http/Middleware/Admin.php @@ -2,15 +2,16 @@ namespace App\Http\Middleware; -use Auth; use Closure; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class Admin { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request + * @param Request $request * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Middleware/Api/Admin.php b/app/Http/Middleware/Api/Admin.php index b6cb70052..3b7f0e9e8 100644 --- a/app/Http/Middleware/Api/Admin.php +++ b/app/Http/Middleware/Api/Admin.php @@ -2,15 +2,16 @@ namespace App\Http\Middleware\Api; -use Auth; use Closure; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class Admin { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request + * @param Request $request * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Middleware/DangerZone.php b/app/Http/Middleware/DangerZone.php index 3264f158a..53b825c65 100644 --- a/app/Http/Middleware/DangerZone.php +++ b/app/Http/Middleware/DangerZone.php @@ -2,16 +2,17 @@ namespace App\Http\Middleware; -use Auth; use Carbon\Carbon; use Closure; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class DangerZone { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request + * @param Request $request * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Middleware/Localization.php b/app/Http/Middleware/Localization.php index 37a78d5a6..93f8d738c 100644 --- a/app/Http/Middleware/Localization.php +++ b/app/Http/Middleware/Localization.php @@ -3,14 +3,15 @@ namespace App\Http\Middleware; use Closure; -use Session; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Session; class Localization { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request + * @param Request $request * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Middleware/TwoFactorAuth.php b/app/Http/Middleware/TwoFactorAuth.php index f300fb251..224ad57c8 100644 --- a/app/Http/Middleware/TwoFactorAuth.php +++ b/app/Http/Middleware/TwoFactorAuth.php @@ -2,15 +2,16 @@ namespace App\Http\Middleware; -use Auth; use Closure; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class TwoFactorAuth { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request + * @param Request $request * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Jobs/AutospamPipeline/AutospamUpdateCachedDataPipeline.php b/app/Jobs/AutospamPipeline/AutospamUpdateCachedDataPipeline.php index 5964213dc..a353276dc 100644 --- a/app/Jobs/AutospamPipeline/AutospamUpdateCachedDataPipeline.php +++ b/app/Jobs/AutospamPipeline/AutospamUpdateCachedDataPipeline.php @@ -4,12 +4,12 @@ namespace App\Jobs\AutospamPipeline; use App\Models\AutospamCustomTokens; use App\Services\AutospamService; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Storage; class AutospamUpdateCachedDataPipeline implements ShouldQueue diff --git a/app/Jobs/AvatarPipeline/AvatarOptimize.php b/app/Jobs/AvatarPipeline/AvatarOptimize.php index 2b63efcff..b3f2edf4d 100644 --- a/app/Jobs/AvatarPipeline/AvatarOptimize.php +++ b/app/Jobs/AvatarPipeline/AvatarOptimize.php @@ -5,19 +5,19 @@ namespace App\Jobs\AvatarPipeline; use App\Avatar; use App\Profile; use App\Util\Media\ImageDriverManager; -use Cache; use Carbon\Carbon; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use Intervention\Image\Encoders\AvifEncoder; use Intervention\Image\Encoders\JpegEncoder; use Intervention\Image\Encoders\PngEncoder; use Intervention\Image\Encoders\WebpEncoder; -use Storage; class AvatarOptimize implements ShouldQueue { diff --git a/app/Jobs/AvatarPipeline/RemoteAvatarFetchFromUrl.php b/app/Jobs/AvatarPipeline/RemoteAvatarFetchFromUrl.php index f8a63c5bd..fffc16e52 100644 --- a/app/Jobs/AvatarPipeline/RemoteAvatarFetchFromUrl.php +++ b/app/Jobs/AvatarPipeline/RemoteAvatarFetchFromUrl.php @@ -6,12 +6,12 @@ use App\Avatar; use App\Profile; use App\Services\AccountService; use App\Services\MediaStorageService; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; class RemoteAvatarFetchFromUrl implements ShouldQueue { diff --git a/app/Jobs/CommentPipeline/CommentPipeline.php b/app/Jobs/CommentPipeline/CommentPipeline.php index 5d50083a3..314e05191 100644 --- a/app/Jobs/CommentPipeline/CommentPipeline.php +++ b/app/Jobs/CommentPipeline/CommentPipeline.php @@ -3,18 +3,19 @@ namespace App\Jobs\CommentPipeline; use App\Notification; +use App\Profile; use App\Services\NotificationService; use App\Services\StatusService; use App\Status; use App\UserFilter; -use Cache; -use DB; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use Log; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Log; class CommentPipeline implements ShouldQueue { @@ -106,7 +107,7 @@ class CommentPipeline implements ShouldQueue } $filtered = UserFilter::whereUserId($target->id) - ->whereFilterableType(\App\Profile::class) + ->whereFilterableType(Profile::class) ->whereIn('filter_type', ['mute', 'block']) ->whereFilterableId($actor->id) ->exists(); @@ -122,7 +123,7 @@ class CommentPipeline implements ShouldQueue $notification->actor_id = $actor->id; $notification->action = 'comment'; $notification->item_id = $comment->id; - $notification->item_type = \App\Status::class; + $notification->item_type = Status::class; $notification->save(); NotificationService::setNotification($notification); diff --git a/app/Jobs/ContactPipeline/ContactPipeline.php b/app/Jobs/ContactPipeline/ContactPipeline.php index 985729e8c..57ea332a2 100644 --- a/app/Jobs/ContactPipeline/ContactPipeline.php +++ b/app/Jobs/ContactPipeline/ContactPipeline.php @@ -10,7 +10,7 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Facades\Log; -use Mail; +use Illuminate\Support\Facades\Mail; class ContactPipeline implements ShouldQueue { diff --git a/app/Jobs/DeletePipeline/DeleteAccountPipeline.php b/app/Jobs/DeletePipeline/DeleteAccountPipeline.php index e7f7a9600..bf2817bd0 100644 --- a/app/Jobs/DeletePipeline/DeleteAccountPipeline.php +++ b/app/Jobs/DeletePipeline/DeleteAccountPipeline.php @@ -45,14 +45,14 @@ use App\User; use App\UserDevice; use App\UserFilter; use App\UserSetting; -use DB; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; -use Storage; +use Illuminate\Support\Facades\Storage; class DeleteAccountPipeline implements ShouldQueue { @@ -138,7 +138,7 @@ class DeleteAccountPipeline implements ShouldQueue RemoteAuth::whereUserId($user->id)->delete(); - AccountLog::whereItemType(\App\User::class)->whereItemId($user->id)->forceDelete(); + AccountLog::whereItemType(User::class)->whereItemId($user->id)->forceDelete(); AccountInterstitial::whereUserId($user->id)->delete(); diff --git a/app/Jobs/DeletePipeline/FanoutDeletePipeline.php b/app/Jobs/DeletePipeline/FanoutDeletePipeline.php index 01947ff26..3ea2734d9 100644 --- a/app/Jobs/DeletePipeline/FanoutDeletePipeline.php +++ b/app/Jobs/DeletePipeline/FanoutDeletePipeline.php @@ -4,7 +4,6 @@ namespace App\Jobs\DeletePipeline; use App\Profile; use App\Util\ActivityPub\HttpSignature; -use Cache; use GuzzleHttp\Client; use GuzzleHttp\Pool; use Illuminate\Bus\Queueable; @@ -12,6 +11,7 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Log; class FanoutDeletePipeline implements ShouldQueue diff --git a/app/Jobs/FollowPipeline/FollowPipeline.php b/app/Jobs/FollowPipeline/FollowPipeline.php index 2b3bbea59..9badc799a 100644 --- a/app/Jobs/FollowPipeline/FollowPipeline.php +++ b/app/Jobs/FollowPipeline/FollowPipeline.php @@ -5,18 +5,19 @@ namespace App\Jobs\FollowPipeline; use App\Follower; use App\Jobs\PushNotificationPipeline\FollowPushNotifyPipeline; use App\Notification; +use App\Profile; use App\Services\AccountService; use App\Services\FollowerService; use App\Services\NotificationAppGatewayService; use App\Services\PushNotificationService; use App\User; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use Log; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Log; class FollowPipeline implements ShouldQueue { @@ -82,7 +83,7 @@ class FollowPipeline implements ShouldQueue $notification->actor_id = $actor->id; $notification->action = 'follow'; $notification->item_id = $target->id; - $notification->item_type = \App\Profile::class; + $notification->item_type = Profile::class; $notification->save(); } catch (\Exception $e) { Log::error($e); diff --git a/app/Jobs/FollowPipeline/FollowServiceWarmCache.php b/app/Jobs/FollowPipeline/FollowServiceWarmCache.php index a83135b98..b96f068d2 100644 --- a/app/Jobs/FollowPipeline/FollowServiceWarmCache.php +++ b/app/Jobs/FollowPipeline/FollowServiceWarmCache.php @@ -6,15 +6,15 @@ use App\Follower; use App\Profile; use App\Services\AccountService; use App\Services\FollowerService; -use Cache; -use DB; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\Middleware\WithoutOverlapping; use Illuminate\Queue\SerializesModels; -use Storage; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Storage; class FollowServiceWarmCache implements ShouldQueue { diff --git a/app/Jobs/FollowPipeline/FollowServiceWarmCacheLargeIngestPipeline.php b/app/Jobs/FollowPipeline/FollowServiceWarmCacheLargeIngestPipeline.php index 6f8c88d97..0ab8ee161 100644 --- a/app/Jobs/FollowPipeline/FollowServiceWarmCacheLargeIngestPipeline.php +++ b/app/Jobs/FollowPipeline/FollowServiceWarmCacheLargeIngestPipeline.php @@ -8,7 +8,7 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use Storage; +use Illuminate\Support\Facades\Storage; class FollowServiceWarmCacheLargeIngestPipeline implements ShouldQueue { diff --git a/app/Jobs/FollowPipeline/UnfollowPipeline.php b/app/Jobs/FollowPipeline/UnfollowPipeline.php index 73c29659d..146719247 100644 --- a/app/Jobs/FollowPipeline/UnfollowPipeline.php +++ b/app/Jobs/FollowPipeline/UnfollowPipeline.php @@ -10,12 +10,12 @@ use App\Profile; use App\Services\AccountService; use App\Services\FollowerService; use App\Services\NotificationService; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; class UnfollowPipeline implements ShouldQueue { @@ -95,7 +95,7 @@ class UnfollowPipeline implements ShouldQueue ->whereAction('follow') ->whereActorId($actor) ->whereItemId($target) - ->whereItemType(\App\Profile::class) + ->whereItemType(Profile::class) ->get() ->each(function ($n) { NotificationService::del($n->profile_id, $n->id); diff --git a/app/Jobs/GroupPipeline/GroupCommentPipeline.php b/app/Jobs/GroupPipeline/GroupCommentPipeline.php index 47af26711..928b08aac 100644 --- a/app/Jobs/GroupPipeline/GroupCommentPipeline.php +++ b/app/Jobs/GroupPipeline/GroupCommentPipeline.php @@ -7,12 +7,12 @@ use App\Notification; use App\Services\NotificationService; use App\Services\StatusService; use App\Status; -use DB; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\DB; class GroupCommentPipeline implements ShouldQueue { @@ -87,7 +87,7 @@ class GroupCommentPipeline implements ShouldQueue $notification->actor_id = $actor->id; $notification->action = 'group:comment'; $notification->item_id = $comment->id; - $notification->item_type = \App\Status::class; + $notification->item_type = Status::class; $notification->save(); return $notification; diff --git a/app/Jobs/GroupPipeline/GroupMediaPipeline.php b/app/Jobs/GroupPipeline/GroupMediaPipeline.php index ab5350409..fa396fad1 100644 --- a/app/Jobs/GroupPipeline/GroupMediaPipeline.php +++ b/app/Jobs/GroupPipeline/GroupMediaPipeline.php @@ -4,13 +4,13 @@ namespace App\Jobs\GroupPipeline; use App\Media; use App\Services\MediaStorageService; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Http\File; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Storage; class GroupMediaPipeline implements ShouldQueue diff --git a/app/Jobs/GroupPipeline/NewStatusPipeline.php b/app/Jobs/GroupPipeline/NewStatusPipeline.php index 5743a13e4..fed62896c 100644 --- a/app/Jobs/GroupPipeline/NewStatusPipeline.php +++ b/app/Jobs/GroupPipeline/NewStatusPipeline.php @@ -12,12 +12,12 @@ use App\Services\StatusService; use App\Status; use App\Util\Lexer\Autolink; use App\Util\Lexer\Extractor; -use DB; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; class NewStatusPipeline implements ShouldQueue diff --git a/app/Jobs/GroupsPipeline/DeleteCommentPipeline.php b/app/Jobs/GroupsPipeline/DeleteCommentPipeline.php index c46ab9a60..545dae62c 100644 --- a/app/Jobs/GroupsPipeline/DeleteCommentPipeline.php +++ b/app/Jobs/GroupsPipeline/DeleteCommentPipeline.php @@ -2,28 +2,21 @@ namespace App\Jobs\GroupsPipeline; -use App\Util\Media\Image; +use App\Models\GroupComment; +use App\Services\GroupFeedService; +use App\Services\GroupPostService; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use App\Models\Group; -use App\Models\GroupComment; -use App\Models\GroupPost; -use App\Models\GroupHashtag; -use App\Models\GroupPostHashtag; -use App\Services\GroupFeedService; -use App\Services\GroupPostService; -use App\Util\Lexer\Autolink; -use App\Util\Lexer\Extractor; -use DB; class DeleteCommentPipeline implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; protected $parent; + protected $status; /** @@ -54,6 +47,6 @@ class DeleteCommentPipeline implements ShouldQueue GroupPostService::del($groupId, $postId); GroupFeedService::del($groupId, $postId); GroupPostService::del($groupId, $parent->id); - return; + } } diff --git a/app/Jobs/GroupsPipeline/ImageResizePipeline.php b/app/Jobs/GroupsPipeline/ImageResizePipeline.php index 34274888c..875bfbc7e 100644 --- a/app/Jobs/GroupsPipeline/ImageResizePipeline.php +++ b/app/Jobs/GroupsPipeline/ImageResizePipeline.php @@ -10,10 +10,10 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Storage; use Intervention\Image\Encoders\JpegEncoder; use Intervention\Image\Encoders\PngEncoder; -use Log; -use Storage; class ImageResizePipeline implements ShouldQueue { diff --git a/app/Jobs/GroupsPipeline/ImageS3DeletePipeline.php b/app/Jobs/GroupsPipeline/ImageS3DeletePipeline.php index 458bf692d..7591d4cee 100644 --- a/app/Jobs/GroupsPipeline/ImageS3DeletePipeline.php +++ b/app/Jobs/GroupsPipeline/ImageS3DeletePipeline.php @@ -8,7 +8,7 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use Storage; +use Illuminate\Support\Facades\Storage; class ImageS3DeletePipeline implements ShouldQueue { diff --git a/app/Jobs/GroupsPipeline/ImageS3UploadPipeline.php b/app/Jobs/GroupsPipeline/ImageS3UploadPipeline.php index f709ce527..c60878804 100644 --- a/app/Jobs/GroupsPipeline/ImageS3UploadPipeline.php +++ b/app/Jobs/GroupsPipeline/ImageS3UploadPipeline.php @@ -14,8 +14,8 @@ use Illuminate\Http\File; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Storage; use League\Flysystem\UnableToWriteFile; -use Storage; class ImageS3UploadPipeline implements ShouldQueue { diff --git a/app/Jobs/GroupsPipeline/NewCommentPipeline.php b/app/Jobs/GroupsPipeline/NewCommentPipeline.php index bc87a18cb..69c7fc160 100644 --- a/app/Jobs/GroupsPipeline/NewCommentPipeline.php +++ b/app/Jobs/GroupsPipeline/NewCommentPipeline.php @@ -10,12 +10,12 @@ use App\Services\GroupFeedService; use App\Services\GroupPostService; use App\Util\Lexer\Autolink; use App\Util\Lexer\Extractor; -use DB; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\DB; class NewCommentPipeline implements ShouldQueue { @@ -61,12 +61,12 @@ class NewCommentPipeline implements ShouldQueue $groupId = $status->group_id; $postId = $status->id; - if ($parentClass === \App\Models\GroupPost::class) { + if ($parentClass === GroupPost::class) { $parent->reply_count = GroupPostService::getCommentCount($parent->id, false); $parent->save(); GroupPostService::del($groupId, $postId); GroupFeedService::del($groupId, $postId); - } elseif ($parentClass === \App\Models\GroupComment::class) { + } elseif ($parentClass === GroupComment::class) { $gp = GroupPost::whereId($parent->status_id)->firstOrFail(); if ($gp->group_id !== $status->group_id) { return; diff --git a/app/Jobs/GroupsPipeline/NewPostPipeline.php b/app/Jobs/GroupsPipeline/NewPostPipeline.php index d782d401c..c3a61dd4f 100644 --- a/app/Jobs/GroupsPipeline/NewPostPipeline.php +++ b/app/Jobs/GroupsPipeline/NewPostPipeline.php @@ -7,12 +7,12 @@ use App\Models\GroupPost; use App\Models\GroupPostHashtag; use App\Util\Lexer\Autolink; use App\Util\Lexer\Extractor; -use DB; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; class NewPostPipeline implements ShouldQueue diff --git a/app/Jobs/ImageOptimizePipeline/ImageOptimize.php b/app/Jobs/ImageOptimizePipeline/ImageOptimize.php index 6d1b65d33..15b98cb60 100644 --- a/app/Jobs/ImageOptimizePipeline/ImageOptimize.php +++ b/app/Jobs/ImageOptimizePipeline/ImageOptimize.php @@ -9,7 +9,7 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Facades\Log; -use Storage; +use Illuminate\Support\Facades\Storage; class ImageOptimize implements ShouldQueue { diff --git a/app/Jobs/ImageOptimizePipeline/ImageResize.php b/app/Jobs/ImageOptimizePipeline/ImageResize.php index ad0b11a56..28f3a0b29 100644 --- a/app/Jobs/ImageOptimizePipeline/ImageResize.php +++ b/app/Jobs/ImageOptimizePipeline/ImageResize.php @@ -9,8 +9,8 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use Log; -use Storage; +use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Storage; class ImageResize implements ShouldQueue { diff --git a/app/Jobs/ImageOptimizePipeline/ImageThumbnail.php b/app/Jobs/ImageOptimizePipeline/ImageThumbnail.php index ead13df14..fbf38a258 100644 --- a/app/Jobs/ImageOptimizePipeline/ImageThumbnail.php +++ b/app/Jobs/ImageOptimizePipeline/ImageThumbnail.php @@ -10,8 +10,8 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use Log; -use Storage; +use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Storage; class ImageThumbnail implements ShouldQueue { diff --git a/app/Jobs/ImageOptimizePipeline/ImageUpdate.php b/app/Jobs/ImageOptimizePipeline/ImageUpdate.php index 62569bae5..50d81f063 100644 --- a/app/Jobs/ImageOptimizePipeline/ImageUpdate.php +++ b/app/Jobs/ImageOptimizePipeline/ImageUpdate.php @@ -9,10 +9,10 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use ImageOptimizer; -use Log; -use Storage; class ImageUpdate implements ShouldQueue { diff --git a/app/Jobs/ImportPipeline/ImportInstagram.php b/app/Jobs/ImportPipeline/ImportInstagram.php index d80560a64..c3dcf81ac 100644 --- a/app/Jobs/ImportPipeline/ImportInstagram.php +++ b/app/Jobs/ImportPipeline/ImportInstagram.php @@ -9,13 +9,13 @@ use App\Media; use App\Profile; use App\Status; use Carbon\Carbon; -use DB; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Filesystem\Filesystem; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\DB; class ImportInstagram implements ShouldQueue { diff --git a/app/Jobs/InboxPipeline/DeleteWorker.php b/app/Jobs/InboxPipeline/DeleteWorker.php index 1057c4ff4..0cf04b531 100644 --- a/app/Jobs/InboxPipeline/DeleteWorker.php +++ b/app/Jobs/InboxPipeline/DeleteWorker.php @@ -6,13 +6,13 @@ use App\Jobs\DeletePipeline\DeleteRemoteProfilePipeline; use App\Profile; use App\Util\ActivityPub\Helpers; use App\Util\ActivityPub\HttpSignature; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Http\Client\ConnectionException; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; diff --git a/app/Jobs/InboxPipeline/InboxValidator.php b/app/Jobs/InboxPipeline/InboxValidator.php index 9974c4033..02983a80a 100644 --- a/app/Jobs/InboxPipeline/InboxValidator.php +++ b/app/Jobs/InboxPipeline/InboxValidator.php @@ -5,13 +5,13 @@ namespace App\Jobs\InboxPipeline; use App\Profile; use App\Util\ActivityPub\Helpers; use App\Util\ActivityPub\HttpSignature; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Http\Client\ConnectionException; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Http; use Illuminate\Support\Lottery; @@ -71,7 +71,7 @@ class InboxValidator implements ShouldQueue if ($this->verifySignature($headers, $profile, $payload) == true) { if (isset($payload['id'])) { - $lockKey = 'pf:ap:user-inbox:activity:' . hash('sha256', $payload['id']); + $lockKey = 'pf:ap:user-inbox:activity:'.hash('sha256', $payload['id']); if (! Cache::add($lockKey, 1, 3600)) { // Already processed after valid signature check return 1; @@ -81,7 +81,7 @@ class InboxValidator implements ShouldQueue if (isset($payload['type']) && in_array($payload['type'], ['Follow', 'Accept'])) { ActivityHandler::dispatch($headers, $profile, $payload)->onQueue('follow'); } else { - $onQueue = Lottery::odds(1, 12)->winner(fn() => 'high')->loser(fn() => 'inbox')->choose(); + $onQueue = Lottery::odds(1, 12)->winner(fn () => 'high')->loser(fn () => 'inbox')->choose(); ActivityHandler::dispatch($headers, $profile, $payload)->onQueue($onQueue); } @@ -141,7 +141,7 @@ class InboxValidator implements ShouldQueue } } if ( - !$keyDomain || !$idDomain || !$actorDomain + ! $keyDomain || ! $idDomain || ! $actorDomain || $keyDomain !== $idDomain || $keyDomain !== $actorDomain ) { return false; diff --git a/app/Jobs/InboxPipeline/InboxWorker.php b/app/Jobs/InboxPipeline/InboxWorker.php index 0ca18ff07..a700420b8 100644 --- a/app/Jobs/InboxPipeline/InboxWorker.php +++ b/app/Jobs/InboxPipeline/InboxWorker.php @@ -5,13 +5,13 @@ namespace App\Jobs\InboxPipeline; use App\Profile; use App\Util\ActivityPub\Helpers; use App\Util\ActivityPub\HttpSignature; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Http\Client\ConnectionException; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Http; class InboxWorker implements ShouldQueue @@ -57,7 +57,7 @@ class InboxWorker implements ShouldQueue if ($this->verifySignature($headers, $payload) == true) { if (isset($payload['id'])) { - $lockKey = 'pf:ap:user-inbox:activity:' . hash('sha256', $payload['id']); + $lockKey = 'pf:ap:user-inbox:activity:'.hash('sha256', $payload['id']); if (! Cache::add($lockKey, 1, 3600)) { // Already processed after valid signature check return 1; @@ -122,7 +122,7 @@ class InboxWorker implements ShouldQueue } } if ( - !$keyDomain || !$idDomain || !$actorDomain + ! $keyDomain || ! $idDomain || ! $actorDomain || $keyDomain !== $idDomain || $keyDomain !== $actorDomain ) { return false; diff --git a/app/Jobs/InternalPipeline/NotificationEpochUpdatePipeline.php b/app/Jobs/InternalPipeline/NotificationEpochUpdatePipeline.php index 86690940f..9c8ad5e2c 100644 --- a/app/Jobs/InternalPipeline/NotificationEpochUpdatePipeline.php +++ b/app/Jobs/InternalPipeline/NotificationEpochUpdatePipeline.php @@ -4,7 +4,6 @@ namespace App\Jobs\InternalPipeline; use App\Notification; use App\Services\NotificationService; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldBeUniqueUntilProcessing; use Illuminate\Contracts\Queue\ShouldQueue; @@ -12,6 +11,7 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\Middleware\WithoutOverlapping; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; class NotificationEpochUpdatePipeline implements ShouldBeUniqueUntilProcessing, ShouldQueue { diff --git a/app/Jobs/MediaPipeline/MediaSyncLicensePipeline.php b/app/Jobs/MediaPipeline/MediaSyncLicensePipeline.php index bccde8ec1..10e823f48 100644 --- a/app/Jobs/MediaPipeline/MediaSyncLicensePipeline.php +++ b/app/Jobs/MediaPipeline/MediaSyncLicensePipeline.php @@ -4,12 +4,12 @@ namespace App\Jobs\MediaPipeline; use App\Media; use App\Services\StatusService; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Log; class MediaSyncLicensePipeline implements ShouldQueue diff --git a/app/Jobs/ModPipeline/HandleSpammerPipeline.php b/app/Jobs/ModPipeline/HandleSpammerPipeline.php index 994892417..eae85114c 100644 --- a/app/Jobs/ModPipeline/HandleSpammerPipeline.php +++ b/app/Jobs/ModPipeline/HandleSpammerPipeline.php @@ -5,12 +5,12 @@ namespace App\Jobs\ModPipeline; use App\Profile; use App\Services\StatusService; use App\Status; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; class HandleSpammerPipeline implements ShouldQueue { diff --git a/app/Jobs/MovePipeline/MoveMigrateFollowersPipeline.php b/app/Jobs/MovePipeline/MoveMigrateFollowersPipeline.php index 408886df1..3796d705f 100644 --- a/app/Jobs/MovePipeline/MoveMigrateFollowersPipeline.php +++ b/app/Jobs/MovePipeline/MoveMigrateFollowersPipeline.php @@ -7,12 +7,12 @@ use App\Http\Controllers\FollowerController; use App\Profile; use App\Util\ActivityPub\Helpers; use DateTime; -use DB; use Exception; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Queue\Queueable; use Illuminate\Queue\Middleware\ThrottlesExceptionsWithRedis; use Illuminate\Queue\Middleware\WithoutOverlapping; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; class MoveMigrateFollowersPipeline implements ShouldQueue @@ -101,7 +101,7 @@ class MoveMigrateFollowersPipeline implements ShouldQueue try { $targetAccount = Helpers::profileFetch($target); $actorAccount = Helpers::profileFetch($actor); - } catch (\Exception $e) { + } catch (Exception $e) { Log::warning('MoveMigrateFollowersPipeline: Failed to fetch profiles: '.$e->getMessage()); throw $e; } diff --git a/app/Jobs/MovePipeline/UnfollowLegacyAccountMovePipeline.php b/app/Jobs/MovePipeline/UnfollowLegacyAccountMovePipeline.php index 6f30b797e..f33664129 100644 --- a/app/Jobs/MovePipeline/UnfollowLegacyAccountMovePipeline.php +++ b/app/Jobs/MovePipeline/UnfollowLegacyAccountMovePipeline.php @@ -4,12 +4,12 @@ namespace App\Jobs\MovePipeline; use App\Util\ActivityPub\Helpers; use DateTime; -use DB; use Exception; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Queue\Queueable; use Illuminate\Queue\Middleware\ThrottlesExceptions; use Illuminate\Queue\Middleware\WithoutOverlapping; +use Illuminate\Support\Facades\DB; class UnfollowLegacyAccountMovePipeline implements ShouldQueue { diff --git a/app/Jobs/ProfilePipeline/HandleUpdateActivity.php b/app/Jobs/ProfilePipeline/HandleUpdateActivity.php index 3c870f794..9eba32503 100644 --- a/app/Jobs/ProfilePipeline/HandleUpdateActivity.php +++ b/app/Jobs/ProfilePipeline/HandleUpdateActivity.php @@ -6,12 +6,12 @@ use App\Jobs\AvatarPipeline\RemoteAvatarFetchFromUrl; use App\Profile; use App\Services\SanitizeService; use App\Util\Lexer\Autolink; -use Cache; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Log; use Purify; diff --git a/app/Jobs/ProfilePipeline/ProfilePurgeFollowersByDomain.php b/app/Jobs/ProfilePipeline/ProfilePurgeFollowersByDomain.php index 5553f5d04..6f665014a 100644 --- a/app/Jobs/ProfilePipeline/ProfilePurgeFollowersByDomain.php +++ b/app/Jobs/ProfilePipeline/ProfilePurgeFollowersByDomain.php @@ -6,7 +6,6 @@ use App\Follower; use App\Profile; use App\Services\AccountService; use App\Services\FollowerService; -use DB; use Illuminate\Bus\Batchable; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldBeUniqueUntilProcessing; @@ -15,6 +14,7 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\Middleware\WithoutOverlapping; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\DB; class ProfilePurgeFollowersByDomain implements ShouldBeUniqueUntilProcessing, ShouldQueue { diff --git a/app/Jobs/ProfilePipeline/ProfilePurgeNotificationsByDomain.php b/app/Jobs/ProfilePipeline/ProfilePurgeNotificationsByDomain.php index 12fee69c4..0d6f718e1 100644 --- a/app/Jobs/ProfilePipeline/ProfilePurgeNotificationsByDomain.php +++ b/app/Jobs/ProfilePipeline/ProfilePurgeNotificationsByDomain.php @@ -4,7 +4,6 @@ namespace App\Jobs\ProfilePipeline; use App\Notification; use App\Services\NotificationService; -use DB; use Illuminate\Bus\Batchable; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldBeUniqueUntilProcessing; @@ -13,6 +12,7 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\Middleware\WithoutOverlapping; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\DB; class ProfilePurgeNotificationsByDomain implements ShouldBeUniqueUntilProcessing, ShouldQueue { diff --git a/app/Jobs/RemoteFollowPipeline/RemoteFollowImportRecent.php b/app/Jobs/RemoteFollowPipeline/RemoteFollowImportRecent.php index 5765f475a..4603bb08b 100644 --- a/app/Jobs/RemoteFollowPipeline/RemoteFollowImportRecent.php +++ b/app/Jobs/RemoteFollowPipeline/RemoteFollowImportRecent.php @@ -16,9 +16,9 @@ use Illuminate\Http\File; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Facades\Http; +use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; -use Log; -use Storage; class RemoteFollowImportRecent implements ShouldQueue { diff --git a/app/Jobs/StatusPipeline/StatusActivityPubDeliver.php b/app/Jobs/StatusPipeline/StatusActivityPubDeliver.php index 4d666e76d..cf939e357 100644 --- a/app/Jobs/StatusPipeline/StatusActivityPubDeliver.php +++ b/app/Jobs/StatusPipeline/StatusActivityPubDeliver.php @@ -14,9 +14,9 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Log; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; -use Log; class StatusActivityPubDeliver implements ShouldQueue { diff --git a/app/Jobs/StatusPipeline/StatusDelete.php b/app/Jobs/StatusPipeline/StatusDelete.php index 19bbeb006..ed25b1a30 100644 --- a/app/Jobs/StatusPipeline/StatusDelete.php +++ b/app/Jobs/StatusPipeline/StatusDelete.php @@ -22,7 +22,6 @@ use App\StatusHashtag; use App\StatusView; use App\Transformer\ActivityPub\Verb\DeleteNote; use App\Util\ActivityPub\HttpSignature; -use Cache; use GuzzleHttp\Client; use GuzzleHttp\Pool; use Illuminate\Bus\Queueable; @@ -30,6 +29,7 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Log; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; @@ -120,7 +120,7 @@ class StatusDelete implements ShouldQueue Bookmark::whereStatusId($status->id)->delete(); - CollectionItem::whereObjectType(\App\Status::class) + CollectionItem::whereObjectType(Status::class) ->whereObjectId($status->id) ->get() ->each(function ($col) { @@ -130,7 +130,7 @@ class StatusDelete implements ShouldQueue $dms = DirectMessage::whereStatusId($status->id)->get(); foreach ($dms as $dm) { - $not = Notification::whereItemType(\App\DirectMessage::class) + $not = Notification::whereItemType(DirectMessage::class) ->whereItemId($dm->id) ->first(); if ($not) { @@ -143,7 +143,7 @@ class StatusDelete implements ShouldQueue $mediaTags = MediaTag::where('status_id', $status->id)->get(); foreach ($mediaTags as $mtag) { - $not = Notification::whereItemType(\App\MediaTag::class) + $not = Notification::whereItemType(MediaTag::class) ->whereItemId($mtag->id) ->first(); if ($not) { @@ -154,11 +154,11 @@ class StatusDelete implements ShouldQueue } Mention::whereStatusId($status->id)->forceDelete(); - Notification::whereItemType(\App\Status::class) + Notification::whereItemType(Status::class) ->whereItemId($status->id) ->forceDelete(); - Report::whereObjectType(\App\Status::class) + Report::whereObjectType(Status::class) ->whereObjectId($status->id) ->delete(); @@ -167,7 +167,7 @@ class StatusDelete implements ShouldQueue StatusView::whereStatusId($status->id)->delete(); Status::whereInReplyToId($status->id)->update(['in_reply_to_id' => null]); - AccountInterstitial::where('item_type', \App\Status::class) + AccountInterstitial::where('item_type', Status::class) ->where('item_id', $status->id) ->delete(); diff --git a/app/Jobs/StatusPipeline/StatusEntityLexer.php b/app/Jobs/StatusPipeline/StatusEntityLexer.php index 4d22627b6..723366c7a 100644 --- a/app/Jobs/StatusPipeline/StatusEntityLexer.php +++ b/app/Jobs/StatusPipeline/StatusEntityLexer.php @@ -16,13 +16,13 @@ use App\StatusHashtag; use App\Util\Lexer\Autolink; use App\Util\Lexer\Extractor; use App\Util\Sentiment\Bouncer; -use Cache; -use DB; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use Illuminate\Support\Str; diff --git a/app/Jobs/StatusPipeline/StatusLocalUpdateActivityPubDeliverPipeline.php b/app/Jobs/StatusPipeline/StatusLocalUpdateActivityPubDeliverPipeline.php index a408d6161..0bfab7c02 100644 --- a/app/Jobs/StatusPipeline/StatusLocalUpdateActivityPubDeliverPipeline.php +++ b/app/Jobs/StatusPipeline/StatusLocalUpdateActivityPubDeliverPipeline.php @@ -12,9 +12,9 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Log; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; -use Log; class StatusLocalUpdateActivityPubDeliverPipeline implements ShouldQueue { diff --git a/app/Jobs/StatusPipeline/StatusReplyPipeline.php b/app/Jobs/StatusPipeline/StatusReplyPipeline.php index 2e77f0968..3d9ff59e1 100644 --- a/app/Jobs/StatusPipeline/StatusReplyPipeline.php +++ b/app/Jobs/StatusPipeline/StatusReplyPipeline.php @@ -6,13 +6,13 @@ use App\Notification; use App\Services\NotificationService; use App\Services\StatusService; use App\Status; -use Cache; -use DB; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; class StatusReplyPipeline implements ShouldQueue @@ -90,7 +90,7 @@ class StatusReplyPipeline implements ShouldQueue ->whereActorId($actor->id) ->whereIn('action', ['mention', 'comment']) ->whereItemId($status->id) - ->whereItemType(\App\Status::class) + ->whereItemType(Status::class) ->count(); if ($actor->id === $target || $exists !== 0) { @@ -122,7 +122,7 @@ class StatusReplyPipeline implements ShouldQueue $notification->actor_id = $actor->id; $notification->action = 'comment'; $notification->item_id = $status->id; - $notification->item_type = \App\Status::class; + $notification->item_type = Status::class; $notification->save(); NotificationService::setNotification($notification); diff --git a/app/Jobs/StoryPipeline/StoryDelete.php b/app/Jobs/StoryPipeline/StoryDelete.php index 69ba5f982..91783b065 100644 --- a/app/Jobs/StoryPipeline/StoryDelete.php +++ b/app/Jobs/StoryPipeline/StoryDelete.php @@ -13,7 +13,7 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use Storage; +use Illuminate\Support\Facades\Storage; class StoryDelete implements ShouldQueue { diff --git a/app/Jobs/StoryPipeline/StoryExpire.php b/app/Jobs/StoryPipeline/StoryExpire.php index 39cc4d1f8..ddb70f5c1 100644 --- a/app/Jobs/StoryPipeline/StoryExpire.php +++ b/app/Jobs/StoryPipeline/StoryExpire.php @@ -15,9 +15,9 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Storage; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; -use Storage; class StoryExpire implements ShouldQueue { diff --git a/app/Jobs/StoryPipeline/StoryFetch.php b/app/Jobs/StoryPipeline/StoryFetch.php index acf65d578..371bc0ddd 100644 --- a/app/Jobs/StoryPipeline/StoryFetch.php +++ b/app/Jobs/StoryPipeline/StoryFetch.php @@ -9,7 +9,6 @@ use App\Story; use App\Util\ActivityPub\Helpers; use App\Util\ActivityPub\Validator\StoryValidator; use App\Util\Lexer\Bearcap; -use Cache; use Exception; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; @@ -19,12 +18,13 @@ use Illuminate\Http\Client\RequestException; use Illuminate\Http\File; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Http; +use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Str; -use Log; class StoryFetch implements ShouldQueue { diff --git a/app/Jobs/VideoPipeline/VideoHlsPipeline.php b/app/Jobs/VideoPipeline/VideoHlsPipeline.php index 38db3c611..c2c3580fa 100644 --- a/app/Jobs/VideoPipeline/VideoHlsPipeline.php +++ b/app/Jobs/VideoPipeline/VideoHlsPipeline.php @@ -4,7 +4,6 @@ namespace App\Jobs\VideoPipeline; use App\Services\MediaService; use App\Services\StatusService; -use Cache; use FFMpeg; use FFMpeg\Format\Video\X264; use Illuminate\Bus\Queueable; @@ -14,6 +13,7 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\Middleware\WithoutOverlapping; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; class VideoHlsPipeline implements ShouldBeUniqueUntilProcessing, ShouldQueue { diff --git a/app/Jobs/VideoPipeline/VideoOptimize.php b/app/Jobs/VideoPipeline/VideoOptimize.php index 9036b428d..83326ba27 100644 --- a/app/Jobs/VideoPipeline/VideoOptimize.php +++ b/app/Jobs/VideoPipeline/VideoOptimize.php @@ -10,7 +10,7 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use Storage; +use Illuminate\Support\Facades\Storage; class VideoOptimize implements ShouldQueue { diff --git a/app/Jobs/VideoPipeline/VideoThumbnail.php b/app/Jobs/VideoPipeline/VideoThumbnail.php index 25d603633..fcc4a3e44 100644 --- a/app/Jobs/VideoPipeline/VideoThumbnail.php +++ b/app/Jobs/VideoPipeline/VideoThumbnail.php @@ -7,9 +7,7 @@ use App\Media; use App\Services\MediaService; use App\Services\StatusService; use App\Util\Media\Blurhash; -use Cache; use FFMpeg; -use Log; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldBeUniqueUntilProcessing; use Illuminate\Contracts\Queue\ShouldQueue; @@ -17,6 +15,8 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\Middleware\WithoutOverlapping; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Log; class VideoThumbnail implements ShouldBeUniqueUntilProcessing, ShouldQueue { diff --git a/app/Jobs/VideoPipeline/VideoThumbnailToCloudPipeline.php b/app/Jobs/VideoPipeline/VideoThumbnailToCloudPipeline.php index 80cef8808..eb5f9b435 100644 --- a/app/Jobs/VideoPipeline/VideoThumbnailToCloudPipeline.php +++ b/app/Jobs/VideoPipeline/VideoThumbnailToCloudPipeline.php @@ -7,7 +7,6 @@ use App\Services\MediaService; use App\Services\ResilientMediaStorageService; use App\Services\StatusService; use App\Util\Media\Blurhash; -use Cache; use FFMpeg; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldBeUniqueUntilProcessing; @@ -16,7 +15,8 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\Middleware\WithoutOverlapping; use Illuminate\Queue\SerializesModels; -use Storage; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Storage; class VideoThumbnailToCloudPipeline implements ShouldBeUniqueUntilProcessing, ShouldQueue { diff --git a/app/Listeners/AuthLogin.php b/app/Listeners/AuthLogin.php index fb356e3fe..4540cc411 100644 --- a/app/Listeners/AuthLogin.php +++ b/app/Listeners/AuthLogin.php @@ -6,7 +6,7 @@ use App\Jobs\AvatarPipeline\CreateAvatar; use App\Profile; use App\UserDevice; use App\UserSetting; -use DB; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; class AuthLogin diff --git a/app/Media.php b/app/Media.php index 939a74f6d..d798f8e34 100644 --- a/app/Media.php +++ b/app/Media.php @@ -5,8 +5,8 @@ namespace App; use App\Util\Media\License; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; -use Storage; class Media extends Model { diff --git a/app/Models/GroupMedia.php b/app/Models/GroupMedia.php index 821f25fea..3c3ae5b44 100644 --- a/app/Models/GroupMedia.php +++ b/app/Models/GroupMedia.php @@ -4,7 +4,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Storage; +use Illuminate\Support\Facades\Storage; class GroupMedia extends Model { diff --git a/app/Models/LiveStream.php b/app/Models/LiveStream.php index e1959c14e..cba933af8 100644 --- a/app/Models/LiveStream.php +++ b/app/Models/LiveStream.php @@ -4,7 +4,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Storage; +use Illuminate\Support\Facades\Storage; class LiveStream extends Model { diff --git a/app/Observers/FollowerObserver.php b/app/Observers/FollowerObserver.php index b12421ecd..87f69d3d1 100644 --- a/app/Observers/FollowerObserver.php +++ b/app/Observers/FollowerObserver.php @@ -5,7 +5,7 @@ namespace App\Observers; use App\Follower; use App\Jobs\HomeFeedPipeline\FeedFollowPipeline; use App\Services\FollowerService; -use Cache; +use Illuminate\Support\Facades\Cache; class FollowerObserver { diff --git a/app/Observers/ModLogObserver.php b/app/Observers/ModLogObserver.php index 35fc2f439..7b65c3528 100644 --- a/app/Observers/ModLogObserver.php +++ b/app/Observers/ModLogObserver.php @@ -4,7 +4,7 @@ namespace App\Observers; use App\ModLog; use App\Services\ModLogService; -use Log; +use Illuminate\Support\Facades\Log; class ModLogObserver { diff --git a/app/Observers/StatusHashtagObserver.php b/app/Observers/StatusHashtagObserver.php index dd5ba6898..fdc7d0349 100644 --- a/app/Observers/StatusHashtagObserver.php +++ b/app/Observers/StatusHashtagObserver.php @@ -6,8 +6,8 @@ use App\Jobs\HomeFeedPipeline\HashtagInsertFanoutPipeline; use App\Jobs\HomeFeedPipeline\HashtagRemoveFanoutPipeline; use App\Services\StatusHashtagService; use App\StatusHashtag; -use DB; use Illuminate\Contracts\Events\ShouldHandleEventsAfterCommit; +use Illuminate\Support\Facades\DB; class StatusHashtagObserver implements ShouldHandleEventsAfterCommit { diff --git a/app/Observers/StatusObserver.php b/app/Observers/StatusObserver.php index 43f5ed289..bd411f705 100644 --- a/app/Observers/StatusObserver.php +++ b/app/Observers/StatusObserver.php @@ -8,7 +8,7 @@ use App\Models\ImportPost; use App\Services\ImportService; use App\Services\ProfileStatusService; use App\Status; -use Cache; +use Illuminate\Support\Facades\Cache; class StatusObserver { diff --git a/app/Observers/UserObserver.php b/app/Observers/UserObserver.php index bd1120585..959ae1ab6 100644 --- a/app/Observers/UserObserver.php +++ b/app/Observers/UserObserver.php @@ -11,7 +11,7 @@ use App\Profile; use App\Services\FollowerService; use App\User; use App\UserSetting; -use DB; +use Illuminate\Support\Facades\DB; class UserObserver { diff --git a/app/Profile.php b/app/Profile.php index 718e1a80f..81120f917 100644 --- a/app/Profile.php +++ b/app/Profile.php @@ -5,11 +5,12 @@ namespace App; use App\Models\ProfileAlias; use App\Services\FollowerService; use App\Util\Lexer\PrettyNumber; -use Cache; -use DB; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Storage; +use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Storage; /** * @property int $id @@ -22,13 +23,13 @@ use Storage; * @property int $status_count * @property int $following_count * @property int $followers_count - * @property \Illuminate\Support\Carbon|null $last_fetched_at - * @property \Illuminate\Support\Carbon|null $last_status_at - * @property \Illuminate\Support\Carbon|null $created_at - * @property \Illuminate\Support\Carbon|null $updated_at - * @property \Illuminate\Support\Carbon|null $deleted_at - * @property-read \App\User|null $user - * @property-read \App\Avatar $avatar + * @property Carbon|null $last_fetched_at + * @property Carbon|null $last_status_at + * @property Carbon|null $created_at + * @property Carbon|null $updated_at + * @property Carbon|null $deleted_at + * @property-read User|null $user + * @property-read Avatar $avatar */ class Profile extends Model { @@ -254,7 +255,7 @@ class Profile extends Model public function mutedIds() { return UserFilter::whereUserId($this->id) - ->whereFilterableType(\App\Profile::class) + ->whereFilterableType(Profile::class) ->whereFilterType('mute') ->pluck('filterable_id'); } @@ -262,7 +263,7 @@ class Profile extends Model public function blockedIds() { return UserFilter::whereUserId($this->id) - ->whereFilterableType(\App\Profile::class) + ->whereFilterableType(Profile::class) ->whereFilterType('block') ->pluck('filterable_id'); } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index c1c58e24d..0738526d9 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -27,18 +27,18 @@ use App\Status; use App\StatusHashtag; use App\User; use App\UserFilter; -use Auth; -use Horizon; use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; use Illuminate\Pagination\Paginator; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\RateLimiter; use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\URL; use Illuminate\Support\Facades\Validator; use Illuminate\Support\ServiceProvider; +use Laravel\Horizon\Horizon; use Laravel\Passport\Passport; use Laravel\Pulse\Facades\Pulse; @@ -108,8 +108,8 @@ class AppServiceProvider extends ServiceProvider : 'missing'; return [ - Limit::perHour(20)->by('app-code-verify:ip:' . $request->ip()), - Limit::perHour(10)->by('app-code-verify:email:' . $emailKey), + Limit::perHour(20)->by('app-code-verify:ip:'.$request->ip()), + Limit::perHour(10)->by('app-code-verify:email:'.$emailKey), ]; }); @@ -125,8 +125,8 @@ class AppServiceProvider extends ServiceProvider $user = $request->user('web'); $actor = $user - ? 'u:' . $user->getAuthIdentifier() - : 'ip:' . $request->ip(); + ? 'u:'.$user->getAuthIdentifier() + : 'ip:'.$request->ip(); $tooMany = function (Request $request, array $headers) { return response()->json([ diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index e0e35c1c0..f022a2bc7 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -4,8 +4,8 @@ namespace App\Providers; use App\Models\CustomFilter; use App\Policies\CustomFilterPolicy; -use Gate; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; +use Illuminate\Support\Facades\Gate; class AuthServiceProvider extends ServiceProvider { diff --git a/app/Services/AccountService.php b/app/Services/AccountService.php index 9b9f71345..e8c79d37d 100644 --- a/app/Services/AccountService.php +++ b/app/Services/AccountService.php @@ -8,7 +8,7 @@ use App\Status; use App\Transformer\Api\AccountTransformer; use App\User; use App\UserSetting; -use Cache; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; use League\Fractal; diff --git a/app/Services/ActivityPubFetchService.php b/app/Services/ActivityPubFetchService.php index fa5816869..0a4a7b98f 100644 --- a/app/Services/ActivityPubFetchService.php +++ b/app/Services/ActivityPubFetchService.php @@ -4,11 +4,11 @@ namespace App\Services; use App\Util\ActivityPub\Helpers; use App\Util\ActivityPub\HttpSignature; -use Cache; use GuzzleHttp\Psr7\Uri as GuzzleUri; use GuzzleHttp\Psr7\UriResolver; use Illuminate\Http\Client\ConnectionException; use Illuminate\Http\Client\RequestException; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Http; use Psr\Http\Message\ResponseInterface; @@ -36,7 +36,7 @@ class ActivityPubFetchService $domainKey = base64_encode(strtolower($host)); $urlKey = hash('sha256', $url); - $key = self::CACHE_KEY . $domainKey . ':' . $urlKey; + $key = self::CACHE_KEY.$domainKey.':'.$urlKey; return Cache::remember($key, 450, function () use ($url) { return self::fetchRequest($url); @@ -173,7 +173,6 @@ class ActivityPubFetchService } } - return; } private static function signedHeaders(string $url): array @@ -192,10 +191,10 @@ class ActivityPubFetchService $headers['Accept'] = 'application/activity+json'; $headers['User-Agent'] = - 'PixelFedBot/1.0.0 (Pixelfed/' . - config('pixelfed.version') . - '; +' . - config('app.url') . + 'PixelFedBot/1.0.0 (Pixelfed/'. + config('pixelfed.version'). + '; +'. + config('app.url'). ')'; return $headers; @@ -208,11 +207,11 @@ class ActivityPubFetchService ): string { $addresses = array_map(function ($ip) { return str_contains($ip, ':') - ? '[' . $ip . ']' + ? '['.$ip.']' : $ip; }, $ips); - return $host . ':' . $port . ':' . implode(',', $addresses); + return $host.':'.$port.':'.implode(',', $addresses); } private static function resolveRedirect( diff --git a/app/Services/AdminShadowFilterService.php b/app/Services/AdminShadowFilterService.php index 820263abf..7c8029e2c 100644 --- a/app/Services/AdminShadowFilterService.php +++ b/app/Services/AdminShadowFilterService.php @@ -3,7 +3,8 @@ namespace App\Services; use App\Models\AdminShadowFilter; -use Cache; +use App\Profile; +use Illuminate\Support\Facades\Cache; class AdminShadowFilterService { @@ -11,7 +12,7 @@ class AdminShadowFilterService public static function queryFilter($name = 'hide_from_public_feeds') { - return AdminShadowFilter::whereItemType(\App\Profile::class) + return AdminShadowFilter::whereItemType(Profile::class) ->whereActive(1) ->where('hide_from_public_feeds', true) ->pluck('item_id') @@ -26,7 +27,7 @@ class AdminShadowFilterService } return Cache::remember($key, 86400, function () { - return AdminShadowFilter::whereItemType(\App\Profile::class) + return AdminShadowFilter::whereItemType(Profile::class) ->whereActive(1) ->where('hide_from_public_feeds', true) ->pluck('item_id') diff --git a/app/Services/AdminStatsService.php b/app/Services/AdminStatsService.php index 6b0c7de75..1ea5b8a56 100644 --- a/app/Services/AdminStatsService.php +++ b/app/Services/AdminStatsService.php @@ -12,10 +12,11 @@ use App\Report; use App\Status; use App\User; use App\Util\Lexer\PrettyNumber; -use Cache; +use Carbon\Carbon; use DateInterval; use DatePeriod; -use DB; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; class AdminStatsService { @@ -94,7 +95,7 @@ class AdminStatsService return Cache::remember('admin:dashboard:home:data:v0:24hr', $ttl, function () { return [ - 'failedjobs' => PrettyNumber::convert(FailedJob::where('failed_at', '>=', \Carbon\Carbon::now()->subDay())->count()), + 'failedjobs' => PrettyNumber::convert(FailedJob::where('failed_at', '>=', Carbon::now()->subDay())->count()), 'statuses' => PrettyNumber::convert(intval(StatusService::totalLocalStatuses())), 'statuses_monthly' => PrettyNumber::convert(Status::where('created_at', '>', now()->subMonth())->count()), 'profiles' => PrettyNumber::convert(Profile::count()), diff --git a/app/Services/AutolinkService.php b/app/Services/AutolinkService.php index c494ab151..0c1c110b4 100644 --- a/app/Services/AutolinkService.php +++ b/app/Services/AutolinkService.php @@ -3,7 +3,7 @@ namespace App\Services; use App\Profile; -use Cache; +use Illuminate\Support\Facades\Cache; use Purify; class AutolinkService diff --git a/app/Services/AvatarService.php b/app/Services/AvatarService.php index c55e9319c..ba905495c 100644 --- a/app/Services/AvatarService.php +++ b/app/Services/AvatarService.php @@ -5,12 +5,12 @@ namespace App\Services; use App\Avatar; use App\Jobs\AvatarPipeline\AvatarStorageLargePurge; use App\Profile; -use Cache; use Exception; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use League\Flysystem\UnableToCheckDirectoryExistence; use League\Flysystem\UnableToRetrieveMetadata; -use Storage; class AvatarService { diff --git a/app/Services/ConfigCacheService.php b/app/Services/ConfigCacheService.php index 85185cff5..69eaaf614 100644 --- a/app/Services/ConfigCacheService.php +++ b/app/Services/ConfigCacheService.php @@ -3,9 +3,9 @@ namespace App\Services; use App\Models\ConfigCache as ConfigCacheModel; -use Cache; use Exception; use Illuminate\Database\QueryException; +use Illuminate\Support\Facades\Cache; class ConfigCacheService { diff --git a/app/Services/FollowerService.php b/app/Services/FollowerService.php index dab25e75c..d247e423d 100644 --- a/app/Services/FollowerService.php +++ b/app/Services/FollowerService.php @@ -5,8 +5,8 @@ namespace App\Services; use App\Follower; use App\Jobs\FollowPipeline\FollowServiceWarmCache; use App\Profile; -use Cache; -use DB; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Redis; class FollowerService diff --git a/app/Services/GroupPostService.php b/app/Services/GroupPostService.php index f468937e9..4a78c0da7 100644 --- a/app/Services/GroupPostService.php +++ b/app/Services/GroupPostService.php @@ -5,7 +5,7 @@ namespace App\Services; use App\Models\GroupComment; use App\Models\GroupPost; use App\Transformer\Api\GroupPostTransformer; -use Cache; +use Illuminate\Support\Facades\Cache; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; diff --git a/app/Services/GroupService.php b/app/Services/GroupService.php index c5cd9d31f..c73636dc3 100644 --- a/app/Services/GroupService.php +++ b/app/Services/GroupService.php @@ -10,7 +10,7 @@ use App\Models\GroupMember; use App\Models\GroupPost; use App\Profile; use App\Util\ActivityPub\Helpers; -use Cache; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Str; use Purify; diff --git a/app/Services/Groups/GroupAccountService.php b/app/Services/Groups/GroupAccountService.php index 87a934790..63d97db7e 100644 --- a/app/Services/Groups/GroupAccountService.php +++ b/app/Services/Groups/GroupAccountService.php @@ -5,7 +5,7 @@ namespace App\Services\Groups; use App\Models\GroupMember; use App\Services\AccountService; use App\Services\GroupService; -use Cache; +use Illuminate\Support\Facades\Cache; class GroupAccountService { diff --git a/app/Services/Groups/GroupCommentService.php b/app/Services/Groups/GroupCommentService.php index 16c1f911c..f16bd5b76 100644 --- a/app/Services/Groups/GroupCommentService.php +++ b/app/Services/Groups/GroupCommentService.php @@ -4,7 +4,7 @@ namespace App\Services\Groups; use App\Models\GroupComment; use App\Transformer\Api\GroupPostTransformer; -use Cache; +use Illuminate\Support\Facades\Cache; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; diff --git a/app/Services/Groups/GroupMediaService.php b/app/Services/Groups/GroupMediaService.php index 6947d941d..f4d7519e5 100644 --- a/app/Services/Groups/GroupMediaService.php +++ b/app/Services/Groups/GroupMediaService.php @@ -4,7 +4,7 @@ namespace App\Services\Groups; use App\Models\GroupMedia; use App\Services\HashidService; -use Cache; +use Illuminate\Support\Facades\Cache; class GroupMediaService { diff --git a/app/Services/Groups/GroupPostService.php b/app/Services/Groups/GroupPostService.php index 69e6aaf13..644dd4a14 100644 --- a/app/Services/Groups/GroupPostService.php +++ b/app/Services/Groups/GroupPostService.php @@ -5,8 +5,8 @@ namespace App\Services\Groups; use App\Models\Group; use App\Models\GroupPost; use App\Transformer\Api\GroupPostTransformer; -use Cache; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; diff --git a/app/Services/HashtagRelatedService.php b/app/Services/HashtagRelatedService.php index 9dc81f132..13df0f310 100644 --- a/app/Services/HashtagRelatedService.php +++ b/app/Services/HashtagRelatedService.php @@ -4,7 +4,7 @@ namespace App\Services; use App\Models\HashtagRelated; use App\StatusHashtag; -use DB; +use Illuminate\Support\Facades\DB; class HashtagRelatedService { diff --git a/app/Services/ImportService.php b/app/Services/ImportService.php index facbf6651..c5f3ec141 100644 --- a/app/Services/ImportService.php +++ b/app/Services/ImportService.php @@ -3,9 +3,10 @@ namespace App\Services; use App\Models\ImportPost; -use Cache; -use DB; +use Carbon\Carbon; use Illuminate\Database\QueryException; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\DB; class ImportService { @@ -303,7 +304,7 @@ class ImportService { try { $fullYear = $year < 50 ? 2000 + $year : 1900 + $year; - $date = \Carbon\Carbon::createFromDate($fullYear, $month, $day); + $date = Carbon::createFromDate($fullYear, $month, $day); $nextDay = $date->addDay(); $nextYear2Digit = (int) $nextDay->format('y'); diff --git a/app/Services/MarkerService.php b/app/Services/MarkerService.php index e4805415c..9b6aacd40 100644 --- a/app/Services/MarkerService.php +++ b/app/Services/MarkerService.php @@ -2,7 +2,7 @@ namespace App\Services; -use Cache; +use Illuminate\Support\Facades\Cache; class MarkerService { diff --git a/app/Services/Media/MediaHlsService.php b/app/Services/Media/MediaHlsService.php index 29dd8628d..cb0a654fc 100644 --- a/app/Services/Media/MediaHlsService.php +++ b/app/Services/Media/MediaHlsService.php @@ -2,7 +2,7 @@ namespace App\Services\Media; -use Storage; +use Illuminate\Support\Facades\Storage; class MediaHlsService { diff --git a/app/Services/MediaService.php b/app/Services/MediaService.php index e0c27bc48..82b71172d 100644 --- a/app/Services/MediaService.php +++ b/app/Services/MediaService.php @@ -4,8 +4,8 @@ namespace App\Services; use App\Media; use App\Transformer\Api\MediaTransformer; -use Cache; use Illuminate\Support\Arr; +use Illuminate\Support\Facades\Cache; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; diff --git a/app/Services/MediaTagService.php b/app/Services/MediaTagService.php index d33ee61b0..b5d5ae532 100644 --- a/app/Services/MediaTagService.php +++ b/app/Services/MediaTagService.php @@ -4,7 +4,7 @@ namespace App\Services; use App\MediaTag; use App\Notification; -use Cache; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Redis; class MediaTagService @@ -78,7 +78,7 @@ class MediaTagService $n->profile_id = $tag->profile_id; $n->actor_id = $p->id; $n->item_id = $tag->id; - $n->item_type = \App\MediaTag::class; + $n->item_type = MediaTag::class; $n->action = 'tagged'; $n->save(); diff --git a/app/Services/NotificationAppGatewayService.php b/app/Services/NotificationAppGatewayService.php index e8b2e9624..f59649ef7 100644 --- a/app/Services/NotificationAppGatewayService.php +++ b/app/Services/NotificationAppGatewayService.php @@ -2,9 +2,9 @@ namespace App\Services; -use Cache; use Exception; use Illuminate\Http\Client\RequestException; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Http; class NotificationAppGatewayService diff --git a/app/Services/NotificationService.php b/app/Services/NotificationService.php index 7cda178c6..8a8a01a35 100644 --- a/app/Services/NotificationService.php +++ b/app/Services/NotificationService.php @@ -5,7 +5,7 @@ namespace App\Services; use App\Jobs\InternalPipeline\NotificationEpochUpdatePipeline; use App\Notification; use App\Transformer\Api\NotificationTransformer; -use Cache; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Redis; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; diff --git a/app/Services/PlaceService.php b/app/Services/PlaceService.php index e4e6f8e1c..4ee486eec 100644 --- a/app/Services/PlaceService.php +++ b/app/Services/PlaceService.php @@ -3,7 +3,7 @@ namespace App\Services; use App\Status; -use Cache; +use Illuminate\Support\Facades\Cache; class PlaceService { diff --git a/app/Services/ProfileStatusService.php b/app/Services/ProfileStatusService.php index e3f36aa82..f828234a7 100644 --- a/app/Services/ProfileStatusService.php +++ b/app/Services/ProfileStatusService.php @@ -2,7 +2,7 @@ namespace App\Services; -use DB; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Redis; class ProfileStatusService diff --git a/app/Services/PronounService.php b/app/Services/PronounService.php index 5a105c0d3..6fbe0d7f9 100644 --- a/app/Services/PronounService.php +++ b/app/Services/PronounService.php @@ -3,7 +3,7 @@ namespace App\Services; use App\Models\UserPronoun; -use Cache; +use Illuminate\Support\Facades\Cache; class PronounService { diff --git a/app/Services/ResilientMediaStorageService.php b/app/Services/ResilientMediaStorageService.php index 5b5044bdc..e3463695c 100644 --- a/app/Services/ResilientMediaStorageService.php +++ b/app/Services/ResilientMediaStorageService.php @@ -8,8 +8,8 @@ use GuzzleHttp\Exception\ClientException; use GuzzleHttp\Exception\ConnectException; use Illuminate\Http\File; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Storage; use League\Flysystem\UnableToWriteFile; -use Storage; class ResilientMediaStorageService { diff --git a/app/Services/SearchApiV2Service.php b/app/Services/SearchApiV2Service.php index 8103518af..21f257d30 100644 --- a/app/Services/SearchApiV2Service.php +++ b/app/Services/SearchApiV2Service.php @@ -7,7 +7,7 @@ use App\Profile; use App\Status; use App\Transformer\Api\AccountTransformer; use App\Util\ActivityPub\Helpers; -use DB; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; use League\Fractal; use League\Fractal\Serializer\ArraySerializer; diff --git a/app/Services/SnowflakeService.php b/app/Services/SnowflakeService.php index fdf9a4f88..725da4b72 100644 --- a/app/Services/SnowflakeService.php +++ b/app/Services/SnowflakeService.php @@ -2,8 +2,8 @@ namespace App\Services; -use Cache; use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Cache; class SnowflakeService { diff --git a/app/Status.php b/app/Status.php index f262af905..ba29db7c2 100644 --- a/app/Status.php +++ b/app/Status.php @@ -8,11 +8,13 @@ use App\Models\Poll; use App\Models\StatusEdit; use App\Services\AccountService; use App\Services\StatusService; -use Auth; +use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; -use Storage; /** * @property int $id @@ -32,13 +34,13 @@ use Storage; * @property int $reply_count * @property bool $local * @property string|null $place - * @property \Illuminate\Support\Carbon|null $created_at - * @property \Illuminate\Support\Carbon|null $updated_at - * @property \Illuminate\Support\Carbon|null $deleted_at - * @property \Illuminate\Support\Carbon|null $edited_at - * @property-read \App\Profile $profile - * @property-read \Illuminate\Database\Eloquent\Collection $media - * @property-read \Illuminate\Database\Eloquent\Collection $mentions + * @property Carbon|null $created_at + * @property Carbon|null $updated_at + * @property Carbon|null $deleted_at + * @property Carbon|null $edited_at + * @property-read Profile $profile + * @property-read Collection $media + * @property-read Collection $mentions */ class Status extends Model { diff --git a/app/Story.php b/app/Story.php index 075be623f..5788654a7 100644 --- a/app/Story.php +++ b/app/Story.php @@ -3,9 +3,10 @@ namespace App; use App\Util\Lexer\Bearcap; -use Auth; use Illuminate\Database\Eloquent\Model; -use Storage; +use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Storage; /** * @property int $id @@ -14,10 +15,10 @@ use Storage; * @property string|null $bearcap_token * @property array|null $story * @property int $view_count - * @property \Illuminate\Support\Carbon|null $expires_at - * @property \Illuminate\Support\Carbon|null $created_at - * @property \Illuminate\Support\Carbon|null $updated_at - * @property-read \App\Profile $profile + * @property Carbon|null $expires_at + * @property Carbon|null $created_at + * @property Carbon|null $updated_at + * @property-read Profile $profile */ class Story extends Model { diff --git a/app/StoryItem.php b/app/StoryItem.php index a442587bd..f7402c08d 100644 --- a/app/StoryItem.php +++ b/app/StoryItem.php @@ -3,16 +3,17 @@ namespace App; use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Storage; use Pixelfed\Snowflake\HasSnowflakePrimary; -use Storage; /** * @property int $id * @property int $story_id * @property string|null $media_path - * @property \Illuminate\Support\Carbon|null $expires_at - * @property \Illuminate\Support\Carbon|null $created_at - * @property \Illuminate\Support\Carbon|null $updated_at + * @property Carbon|null $expires_at + * @property Carbon|null $created_at + * @property Carbon|null $updated_at */ class StoryItem extends Model { diff --git a/app/Transformer/ActivityPub/Verb/StoryVerb.php b/app/Transformer/ActivityPub/Verb/StoryVerb.php index 386f95a79..ddf42470b 100644 --- a/app/Transformer/ActivityPub/Verb/StoryVerb.php +++ b/app/Transformer/ActivityPub/Verb/StoryVerb.php @@ -3,8 +3,8 @@ namespace App\Transformer\ActivityPub\Verb; use App\Story; +use Illuminate\Support\Facades\Storage; use League\Fractal; -use Storage; class StoryVerb extends Fractal\TransformerAbstract { diff --git a/app/Transformer/Api/AccountTransformer.php b/app/Transformer/Api/AccountTransformer.php index 43fdfa064..dc732051e 100644 --- a/app/Transformer/Api/AccountTransformer.php +++ b/app/Transformer/Api/AccountTransformer.php @@ -7,7 +7,7 @@ use App\Services\AccountService; use App\Services\PronounService; use App\User; use App\UserSetting; -use Cache; +use Illuminate\Support\Facades\Cache; use League\Fractal; class AccountTransformer extends Fractal\TransformerAbstract diff --git a/app/Transformer/Api/MediaTransformer.php b/app/Transformer/Api/MediaTransformer.php index 0d52006a4..21906d36e 100644 --- a/app/Transformer/Api/MediaTransformer.php +++ b/app/Transformer/Api/MediaTransformer.php @@ -3,8 +3,8 @@ namespace App\Transformer\Api; use App\Media; +use Illuminate\Support\Facades\Storage; use League\Fractal; -use Storage; class MediaTransformer extends Fractal\TransformerAbstract { diff --git a/app/Transformer/Api/RelationshipTransformer.php b/app/Transformer/Api/RelationshipTransformer.php index 4bbe1cb6c..a198ec100 100644 --- a/app/Transformer/Api/RelationshipTransformer.php +++ b/app/Transformer/Api/RelationshipTransformer.php @@ -5,7 +5,7 @@ namespace App\Transformer\Api; use App\FollowRequest; use App\Models\UserDomainBlock; use App\Profile; -use Auth; +use Illuminate\Support\Facades\Auth; use League\Fractal; class RelationshipTransformer extends Fractal\TransformerAbstract diff --git a/app/Util/ActivityPub/Helpers.php b/app/Util/ActivityPub/Helpers.php index ac77fdcda..1bdda05bb 100644 --- a/app/Util/ActivityPub/Helpers.php +++ b/app/Util/ActivityPub/Helpers.php @@ -24,12 +24,12 @@ use App\Services\SanitizeService; use App\Services\UserFilterService; use App\Status; use App\Util\Media\License; -use Cache; use Carbon\Carbon; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; use League\Uri\Uri; use Purify; -use Validator; class Helpers { diff --git a/app/Util/ActivityPub/HttpSignature.php b/app/Util/ActivityPub/HttpSignature.php index 160aaefcb..25a61d840 100644 --- a/app/Util/ActivityPub/HttpSignature.php +++ b/app/Util/ActivityPub/HttpSignature.php @@ -4,8 +4,8 @@ namespace App\Util\ActivityPub; use App\Models\InstanceActor; use App\Profile; -use Artisan; use DateTime; +use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Cache; class HttpSignature diff --git a/app/Util/ActivityPub/Inbox.php b/app/Util/ActivityPub/Inbox.php index 73f930895..66569993d 100644 --- a/app/Util/ActivityPub/Inbox.php +++ b/app/Util/ActivityPub/Inbox.php @@ -49,12 +49,12 @@ use App\Util\ActivityPub\Validator\Like as LikeValidator; use App\Util\ActivityPub\Validator\MoveValidator; use App\Util\ActivityPub\Validator\RejectValidator; use App\Util\ActivityPub\Validator\UpdatePersonValidator; -use Cache; use Illuminate\Support\Arr; use Illuminate\Support\Facades\Bus; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; -use Storage; use Throwable; class Inbox diff --git a/app/Util/ActivityPub/Validator/Accept.php b/app/Util/ActivityPub/Validator/Accept.php index 897eb5c11..5395f9059 100644 --- a/app/Util/ActivityPub/Validator/Accept.php +++ b/app/Util/ActivityPub/Validator/Accept.php @@ -2,8 +2,8 @@ namespace App\Util\ActivityPub\Validator; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; -use Validator; class Accept { diff --git a/app/Util/ActivityPub/Validator/Add.php b/app/Util/ActivityPub/Validator/Add.php index 7d374d10d..46b2da234 100644 --- a/app/Util/ActivityPub/Validator/Add.php +++ b/app/Util/ActivityPub/Validator/Add.php @@ -2,8 +2,8 @@ namespace App\Util\ActivityPub\Validator; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; -use Validator; class Add { diff --git a/app/Util/ActivityPub/Validator/Announce.php b/app/Util/ActivityPub/Validator/Announce.php index 1a8a40fad..bc767a826 100644 --- a/app/Util/ActivityPub/Validator/Announce.php +++ b/app/Util/ActivityPub/Validator/Announce.php @@ -2,8 +2,8 @@ namespace App\Util\ActivityPub\Validator; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; -use Validator; class Announce { diff --git a/app/Util/ActivityPub/Validator/Follow.php b/app/Util/ActivityPub/Validator/Follow.php index 4f2778d74..da2ae55c4 100644 --- a/app/Util/ActivityPub/Validator/Follow.php +++ b/app/Util/ActivityPub/Validator/Follow.php @@ -2,8 +2,8 @@ namespace App\Util\ActivityPub\Validator; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; -use Validator; class Follow { diff --git a/app/Util/ActivityPub/Validator/Like.php b/app/Util/ActivityPub/Validator/Like.php index 14fb08176..5a0fa423b 100644 --- a/app/Util/ActivityPub/Validator/Like.php +++ b/app/Util/ActivityPub/Validator/Like.php @@ -2,8 +2,8 @@ namespace App\Util\ActivityPub\Validator; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; -use Validator; class Like { diff --git a/app/Util/ActivityPub/Validator/MoveValidator.php b/app/Util/ActivityPub/Validator/MoveValidator.php index a7ca43297..090e92590 100644 --- a/app/Util/ActivityPub/Validator/MoveValidator.php +++ b/app/Util/ActivityPub/Validator/MoveValidator.php @@ -2,8 +2,8 @@ namespace App\Util\ActivityPub\Validator; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; -use Validator; class MoveValidator { diff --git a/app/Util/ActivityPub/Validator/RejectValidator.php b/app/Util/ActivityPub/Validator/RejectValidator.php index a95dcd12a..13ebdf82a 100644 --- a/app/Util/ActivityPub/Validator/RejectValidator.php +++ b/app/Util/ActivityPub/Validator/RejectValidator.php @@ -2,8 +2,8 @@ namespace App\Util\ActivityPub\Validator; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; -use Validator; class RejectValidator { diff --git a/app/Util/ActivityPub/Validator/StoryValidator.php b/app/Util/ActivityPub/Validator/StoryValidator.php index 0745e6898..26352a746 100644 --- a/app/Util/ActivityPub/Validator/StoryValidator.php +++ b/app/Util/ActivityPub/Validator/StoryValidator.php @@ -2,8 +2,8 @@ namespace App\Util\ActivityPub\Validator; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; -use Validator; class StoryValidator { diff --git a/app/Util/ActivityPub/Validator/UndoFollow.php b/app/Util/ActivityPub/Validator/UndoFollow.php index 9c0bb2f29..92131d85c 100644 --- a/app/Util/ActivityPub/Validator/UndoFollow.php +++ b/app/Util/ActivityPub/Validator/UndoFollow.php @@ -2,8 +2,8 @@ namespace App\Util\ActivityPub\Validator; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; -use Validator; class UndoFollow { diff --git a/app/Util/ActivityPub/Validator/UpdatePersonValidator.php b/app/Util/ActivityPub/Validator/UpdatePersonValidator.php index 113454eea..7559ae897 100644 --- a/app/Util/ActivityPub/Validator/UpdatePersonValidator.php +++ b/app/Util/ActivityPub/Validator/UpdatePersonValidator.php @@ -3,8 +3,8 @@ namespace App\Util\ActivityPub\Validator; use Closure; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; -use Validator; class UpdatePersonValidator { diff --git a/app/Util/Localization/Localization.php b/app/Util/Localization/Localization.php index 433e815a1..d2b362f6b 100644 --- a/app/Util/Localization/Localization.php +++ b/app/Util/Localization/Localization.php @@ -2,8 +2,8 @@ namespace App\Util\Localization; -use Cache; use Illuminate\Support\Arr; +use Illuminate\Support\Facades\Cache; class Localization { diff --git a/app/Util/Media/Image.php b/app/Util/Media/Image.php index f0b0d39d3..695a83549 100644 --- a/app/Util/Media/Image.php +++ b/app/Util/Media/Image.php @@ -4,12 +4,12 @@ namespace App\Util\Media; use App\Media; use App\Services\StatusService; -use Cache; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Storage; use Intervention\Image\Encoders\JpegEncoder; use Intervention\Image\Encoders\PngEncoder; use Intervention\Image\Encoders\WebpEncoder; -use Log; -use Storage; class Image { @@ -302,11 +302,11 @@ class Image public function setBaseName($basePath, $thumbnail, $extension) { $pathInfo = pathinfo($basePath); - $dir = isset($pathInfo['dirname']) && $pathInfo['dirname'] !== '.' ? $pathInfo['dirname'] . '/' : ''; + $dir = isset($pathInfo['dirname']) && $pathInfo['dirname'] !== '.' ? $pathInfo['dirname'].'/' : ''; $filename = $pathInfo['filename']; - $name = ($thumbnail == true) ? $filename . '_thumb' : $filename; - $basePath = $dir . $name . '.' . $extension; - + $name = ($thumbnail == true) ? $filename.'_thumb' : $filename; + $basePath = $dir.$name.'.'.$extension; + return ['path' => $basePath, 'png' => false]; } diff --git a/app/Util/Sentiment/Bouncer.php b/app/Util/Sentiment/Bouncer.php index 20915134e..0a7e30587 100644 --- a/app/Util/Sentiment/Bouncer.php +++ b/app/Util/Sentiment/Bouncer.php @@ -8,7 +8,7 @@ use App\Notification; use App\Services\AutospamService; use App\Services\StatusService; use App\Status; -use Cache; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Str; class Bouncer @@ -36,7 +36,7 @@ class Bouncer $uid = $status->profile->user_id; $ids = AccountInterstitial::whereUserId($uid) ->whereType('post.autospam') - ->whereItemType(\App\Status::class) + ->whereItemType(Status::class) ->whereNotNull('appeal_handled_at') ->latest() ->take(5) @@ -117,7 +117,7 @@ class Bouncer $ai->user_id = $status->profile->user_id; $ai->type = 'post.autospam'; $ai->view = 'account.moderation.post.autospam'; - $ai->item_type = \App\Status::class; + $ai->item_type = Status::class; $ai->item_id = $status->id; $ai->has_media = (bool) $media->count(); $ai->blurhash = $media->count() ? $media->first()->blurhash : null; @@ -152,7 +152,7 @@ class Bouncer $notification->actor_id = $status->profile_id; $notification->action = 'autospam.warning'; $notification->item_id = $status->id; - $notification->item_type = \App\Status::class; + $notification->item_type = Status::class; $notification->save(); StatusService::del($status->id); diff --git a/app/Util/Site/Config.php b/app/Util/Site/Config.php index c2a915db0..42e6945f4 100644 --- a/app/Util/Site/Config.php +++ b/app/Util/Site/Config.php @@ -2,7 +2,7 @@ namespace App\Util\Site; -use Cache; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Str; class Config diff --git a/tests/Feature/RemoteOidcTest.php b/tests/Feature/RemoteOidcTest.php index a4f13ce12..b2ebbc4c7 100644 --- a/tests/Feature/RemoteOidcTest.php +++ b/tests/Feature/RemoteOidcTest.php @@ -5,7 +5,7 @@ namespace Tests\Feature; use App\Models\UserOidcMapping; use App\Services\UserOidcService; use App\User; -use Auth; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Str; use League\OAuth2\Client\Provider\GenericResourceOwner; use League\OAuth2\Client\Token\AccessToken; diff --git a/tests/database.sqlite b/tests/database.sqlite index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..e09e67b8ba7ae5012ed433d45737a461926ef561 100644 GIT binary patch literal 2568192 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 W0tg_000IagfB*srAn@@J`2PWpg1J2a literal 0 HcmV?d00001