| 1 |
<?php |
| 2 |
|
| 3 |
if (!defined('ABSPATH')) { |
| 4 |
exit; |
| 5 |
} |
| 6 |
|
| 7 |
// Deterministic classmap, so the autoloader never has to glob() at runtime. |
| 8 |
// |
| 9 |
// Stored as "which classes live in which includes/ subdirectory" rather than |
| 10 |
// as one path per class, because that is what the data actually is: 481 of the |
| 11 |
// 488 entries are the same sentence repeated -- class ABJ_404_Solution_Foo |
| 12 |
// lives in includes/<dir>/Foo.php. Writing that convention once, and listing |
| 13 |
// only the handful of classes that break it, is what keeps this file |
| 14 |
// navigable (and under the project's file-size limit) as the plugin grows. |
| 15 |
// |
| 16 |
// Adding a class: put its short name (no ABJ_404_Solution_ prefix) in the list |
| 17 |
// for the directory that holds it. A class whose FILE is not named after it -- |
| 18 |
// several classes sharing one file, or a file renamed without its class -- |
| 19 |
// goes in $abj404ClassFileExceptions instead. |
| 20 |
// A standalone class omitted from this map must be require_once'd by every production file that loads or statically references it. |
| 21 |
// |
| 22 |
// Grepping: search the short name (`grep -rn "SpellChecker" includes/classmap.php`). |
| 23 |
// The fully prefixed class name appears here only for the exceptions. |
| 24 |
|
| 25 |
$base = dirname(__DIR__) . DIRECTORY_SEPARATOR; |
| 26 |
|
| 27 |
/** |
| 28 |
* Class short names by the includes/ subdirectory that holds them. |
| 29 |
* Each resolves to includes/<directory>/<ShortName>.php. |
| 30 |
* |
| 31 |
* @var array<string, array<int, string>> $abj404ClassesByDirectory |
| 32 |
*/ |
| 33 |
$abj404ClassesByDirectory = array( |
| 34 |
// Includes the admin action handlers (strategy/registry pattern for |
| 35 |
// handlePluginAction dispatch). |
| 36 |
'admin' => array( |
| 37 |
'AdminAssetEnqueuer', 'SetupWizardPresenter', 'RedirectsTableColumns', |
| 38 |
'RedirectDestinationWarningPolicy', 'RedirectDestinationWarningContext', |
| 39 |
'RedirectDestinationLinkResolver', 'RedirectRowActionsPresenter', 'RedirectRowPresenter', |
| 40 |
'RedirectAddModalPresenter', 'RedirectsTablePagePresenter', 'AdminActionsDependencies', |
| 41 |
'AdminThemeManager', 'AdminRuntimeErrorNotice', |
| 42 |
), |
| 43 |
'admin/actions' => array( |
| 44 |
'AdminActionHandlerInterface', 'AdminActionRegistry', 'UpdateOptionsHandler', |
| 45 |
'AddRedirectHandler', 'DeleteRedirectActionHandler', 'StatusLinkActionHandler', |
| 46 |
'TrashEmptier', 'LegacyImportActionHandler', 'EmptyRedirectTrashHandler', |
| 47 |
'EmptyCapturedTrashHandler', 'PurgeRedirectsHandler', 'RunMaintenanceHandler', |
| 48 |
'RebuildNgramCacheHandler', 'ClearSpellingCacheHandler', 'SaveGscSettingsHandler', |
| 49 |
'ImportFromPluginHandler', 'UndoRegexAutoPromoteHandler', 'BulkActionHandler', |
| 50 |
'TrashLinkActionHandler', 'EditRedirectHandler', 'RedirectFormResolver', |
| 51 |
), |
| 52 |
'ajax' => array( |
| 53 |
'AjaxSecurityGate', 'AjaxRequestContractEnforcementPolicy', |
| 54 |
'AjaxRequestContractSchemaRepository', 'AjaxRequestContractSchemaValidator', |
| 55 |
'AjaxRequestContractValidator', 'AjaxFailureLogger', 'AjaxFailureDetailsBuilder', |
| 56 |
'Ajax_CrossPluginImporter', 'Ajax_Php', 'Ajax_UpdateOptions', 'Ajax_RunLazyBackfill', |
| 57 |
'Ajax_LoadGscSection', 'Ajax_ViewLogs', 'Ajax_RedirectDestinationAutocomplete', |
| 58 |
'Ajax_TrendData', 'Ajax_SettingsModeToggle', 'Ajax_RestoreDefaults', 'Ajax_PrivacyExport', |
| 59 |
'Ajax_PrivacyDelete', 'Ajax_SupportRequest', 'Ajax_SupportRequestPreview', |
| 60 |
'Ajax_SuggestionCompute', 'Ajax_SuggestionPolling', 'Ajax_TrashLink', |
| 61 |
'Ajax_EngineProfiles', 'Ajax_UninstallPrefs', 'AjaxAdminEndpointRegistrar', |
| 62 |
'AjaxClientReportBeaconResponder', |
| 63 |
'AjaxAdminEndpointSupport', 'AjaxResponseEmitter', 'Ajax_GetPaginationLinks', |
| 64 |
'AdminTableResponseParts', |
| 65 |
'Ajax_RefreshStatsDashboard', 'Ajax_RefreshHealthBar', 'Ajax_RefreshAdminNonces', |
| 66 |
'Ajax_CanaryLadder', |
| 67 |
), |
| 68 |
'bootstrap' => array( |
| 69 |
'CoreServiceRegistration', 'DataServiceRegistration', 'DomainServiceRegistration', |
| 70 |
'MatchingEngineServiceRegistration', 'Abj404ServiceRegistrationContract', |
| 71 |
'RuntimeServiceRegistration', 'LegacyInstanceResolver', |
| 72 |
), |
| 73 |
'core' => array( |
| 74 |
'PluginLogicAdminActions', 'PluginLogicImportExport', 'PluginLogicLifecycle', |
| 75 |
'PluginLogicPageOrdering', 'PluginLogicSettingsUpdate', 'PluginLogicUrlNormalization', |
| 76 |
'PluginLogicDefaults', 'InternalLinkScanner', 'LockOwnerStore', |
| 77 |
'PluginLogicVersionUpgrader', 'PluginLogicOptionsResolver', 'ErrorHandler', |
| 78 |
'FileSystemService', 'Functions', 'RegexHelper', 'RegexHelperMb', 'RegexHelperPreg', |
| 79 |
'PermalinkResolver', 'UrlEncoder', 'Sanitizer', 'QueryStringHelper', 'PostRef', 'UserRef', |
| 80 |
'SiteRef', 'PluginLogic', 'PluginLogicInterface', 'Privacy', 'ServiceContainer', 'Clock', |
| 81 |
'SiteTimezone', 'PluginReleaseChannel', 'SetupWizard', 'SynchronizationUtils', 'Timer', |
| 82 |
'WordPressHookRegistrar', 'WordPress_Connector', 'WordPressConnectorDependencies', |
| 83 |
'ReviewFeedback', 'RebuildHealthState', |
| 84 |
), |
| 85 |
'database' => array( |
| 86 |
'DatabaseMetadataReader', 'DatabaseRuntimeState', 'DatabaseCoreInterface', 'DatabaseCore', |
| 87 |
'DatabaseConnectionManager', 'DatabaseErrorClassifier', 'DatabaseRepairPolicy', |
| 88 |
'DatabaseQueryRecoveryPolicy', 'DatabaseQueryTimeoutManager', 'DatabaseSqlErrorReporter', |
| 89 |
'DatabaseQueryInterface', 'DatabaseTableMetadataInterface', |
| 90 |
'DatabaseQueryBuilderInterface', 'DatabaseErrorRecoveryInterface', |
| 91 |
'DatabaseRuntimeStateInterface', 'DataAccessDependencies', 'DataAccess', |
| 92 |
'TrackingDatabaseCore', 'TableIndexDefinitions', 'TableReadinessGate', 'ShowIndexRowReader', |
| 93 |
'CreateTableIndexParser', 'IndexDefinitionComparator', |
| 94 |
), |
| 95 |
'database/upgrades' => array( |
| 96 |
'DatabaseUpgradeCoordinator', 'DatabaseUpgradeComponent', |
| 97 |
'DatabaseUpgradeComponentRegistry', 'DatabaseUpgradeRuntimeState', |
| 98 |
'DatabaseUpgradeIndexes', 'DatabaseUpgradeEngineNormalization', |
| 99 |
'DatabaseUpgradeCollationDrift', 'DatabaseUpgradeSelfHeal', |
| 100 |
'DatabaseUpgradeCanonicalUrlBackfill', 'DatabaseUpgradeRedirectsDenormBackfill', |
| 101 |
'DatabaseUpgradeRedirectsSortKeyBackfill', 'DatabaseUpgradeRedirectsDenormReconcile', |
| 102 |
'DatabaseUpgradeDailyMaintenance', 'DatabaseUpgradeNGram', |
| 103 |
'DatabaseUpgradeNGramCacheInitializer', 'DatabaseUpgradePluginUpdate', |
| 104 |
'DatabaseUpgradeTableRepair', 'DatabaseUpgradeDropStagedViewTables', |
| 105 |
'DatabaseUpgradeOrphanAdoption', 'DatabaseUpgradeMultiSite', 'DatabaseUpgradeSchemaDiff', |
| 106 |
'DatabaseUpgradeBootstrap', 'DatabaseTableLowercaseRenamer', 'DatabaseTableDdlExecutor', |
| 107 |
'DatabaseUpgradesDependencies', 'DatabaseUpgradesEtc', |
| 108 |
), |
| 109 |
'diagnostics' => array( |
| 110 |
'CrashBeacon', 'CrashBeaconStore', 'CrashBeaconReporter', 'AjaxRequestTrace', |
| 111 |
'AjaxTeardownRecorder', |
| 112 |
'AjaxCheckpointLogger', 'AjaxCheckpointBoundaryWriter', 'AjaxFrequentCheckpointWriter', |
| 113 |
'CheckpointRecordFactory', 'CheckpointIntentStore', 'CheckpointIntentCorrelation', |
| 114 |
'DurableOperationRecorder', |
| 115 |
'ActiveOperationBreadcrumbs', 'ActiveOperationBoundaryManifest', |
| 116 |
'CheckpointJournalWriter', |
| 117 |
'CheckpointJournalReader', 'RequiredCheckpointEvidence', 'RequiredCheckpointIdentityEvidence', |
| 118 |
'MalformedCheckpointEvidence', |
| 119 |
'DecisiveRecordManifest', |
| 120 |
'DecisiveRecordAuthorizationFamilies', |
| 121 |
'DecisiveRecordRenderFamilies', |
| 122 |
'DecisiveRecordRenderOptionIoFamilies', |
| 123 |
'DecisiveRecordStatusCountFamilies', |
| 124 |
'DecisiveRecordQueryFilterFamilies', |
| 125 |
'DecisiveRecordShutdownFamilies', |
| 126 |
'DecisiveRecordFailureFamilies', |
| 127 |
'AjaxRequestLedger', 'AjaxDiagnosticRequestPolicy', |
| 128 |
'AuthorizationLogTracer', 'PostAuthorizationFailureTracer', |
| 129 |
'TableRenderTranslationTracer', 'DiagnosticInternalHookObserver', |
| 130 |
'HookInstrumentationRegistration', 'HookInstrumentationRegistry', |
| 131 |
'DiagnosticAppendStream', |
| 132 |
'HookRegistryInspectionLedger', 'DiagnosticDirectoryResolver', |
| 133 |
'RenderOptionIoTracer', |
| 134 |
'RenderOptionIoOperationJournal', |
| 135 |
'DatabaseQueryPreflightTracer', |
| 136 |
'DatabaseQueryRecoveryTracer', |
| 137 |
'DatabaseQueryFilterTracer', |
| 138 |
'DetachAbResolutionTracer', |
| 139 |
'AjaxQueryTimeline', 'AjaxRowLoopProgress', 'CacheMetricsProbeTracer', |
| 140 |
'RateLimitOperationTracer', 'CacheOperationTraceSink', |
| 141 |
'HookCallbackIdentity', 'HookInstrumentationLifecycleTracer', 'HookCallbackInstrumenter', |
| 142 |
'OptionPersistenceTracer', 'RowRenderOperationTracer', |
| 143 |
'TableRendererPreludeTracer', 'TemplateFileReadTracer', 'RoutineLogTracer', |
| 144 |
'SortReadinessTracer', 'StatusCountOperationJournal', 'StatusCountsForegroundTracer', |
| 145 |
'ResponseControlFilterTracer', |
| 146 |
'ShutdownCallbackTracer', |
| 147 |
'InstrumentedObjectCache', |
| 148 |
'AjaxTraceJournal', 'AjaxStageDiagnostics', |
| 149 |
'ShutdownEnvironmentInventory', 'ShutdownTeardownBracket', 'DiagnosticJournalExcerpt', |
| 150 |
'DiagnosticJournalFileSelector', |
| 151 |
'DiagnosticClientVerdict', 'DiagnosticCollectionManifest', 'DiagnosticDirectoryProbe', |
| 152 |
'DiagnosticEvidencePriority', 'DiagnosticEvidenceBudget', 'DetachAbEvidence', 'CanaryReceiptEvidence', |
| 153 |
'FailingSessionEvidence', |
| 154 |
'DiagnosticRequestGroup', |
| 155 |
'HostFilesystemPressureProbe', 'HostPressureSampler', 'HostServerCounterProbe', |
| 156 |
'SameSiteRequestCensus', 'SameSiteCensusReading', 'SameSiteRequestRegistry', |
| 157 |
'StrandedRequestLedger', |
| 158 |
'RequestEnvironmentFingerprint', 'ClientBuildFingerprint', 'DiagnosticModuleManifest', |
| 159 |
'OpcacheGenerationProbe', 'BootWaypointRecorder', |
| 160 |
'ClientTransportReport', 'AjaxCanaryLadder', 'AjaxCanaryPayloadFactory', |
| 161 |
'AjaxCanaryReceiptParser', 'DebugLogFileStore', 'DebugLogReader', |
| 162 |
'DebugLogArchiveBuilder', 'DeveloperLogMailer', 'ToolsDiagnostics', |
| 163 |
), |
| 164 |
'engine' => array( |
| 165 |
'ArchiveFallbackEngine', 'CategoryTagMatchingEngine', 'ContentMatchingEngine', |
| 166 |
'SlugMatchingEngine', 'OldPermalinkStructureEngine', 'UrlFixEngine', |
| 167 |
'SpellingMatchingEngine', 'TitleMatchingEngine', |
| 168 |
), |
| 169 |
'feedback' => array( |
| 170 |
'FeedbackDatabaseIdentity', 'FeedbackDiagnosticsCollector', 'FeedbackEnvironmentExtras', |
| 171 |
'FeedbackPluginSettingsSnapshot', |
| 172 |
'MysqlServerStateProbe', 'PluginSchemaMetadataProbe', 'RollupFreshnessProbe', |
| 173 |
'FeedbackEnvironmentExtras_HostProbes', |
| 174 |
'FeedbackEnvironmentExtras_PlatformFingerprint', |
| 175 |
'FeedbackEnvironmentExtras_DebugLogSignatures', 'FeedbackSiteTokenStore', |
| 176 |
'SupportLogExcerpt', 'SupportEvidenceExcerpt', 'CanaryReceiptSupportSection', |
| 177 |
'FailingSessionSupportSection', 'StrandedRequestSupportSection', |
| 178 |
'DetachAbVerdictSupportSection', |
| 179 |
'FeedbackDsrClient', 'FeedbackReportUuid', |
| 180 |
'FeedbackRuntimeEnvironment', 'FeedbackWordPressInventory', 'SupportRequestButton', |
| 181 |
'FeedbackTransport', 'PayloadSchema', 'ReportPayloadJsonSchemaValidator', |
| 182 |
'ErrorEmailDedupeState', 'ErrorEmailBodyFormatter', 'PiiRedactor', 'OpaqueTokenClassifier', |
| 183 |
'RequestCredentialRedactor', 'SensitiveValueMask', |
| 184 |
), |
| 185 |
'frontend' => array( |
| 186 |
'FrontendRequestPipeline', 'FrontendPipelineDependencies', 'FrontendLegacyAdapters', |
| 187 |
'FrontendRuntimeOptions', 'FrontendHitRecorder', 'FrontendAsyncSuggestionTrigger', |
| 188 |
'FrontendPipelineTrace', 'FrontendDbVersionRecovery', 'FrontendPipelineTelemetry', |
| 189 |
'RequestContext', 'PostEditorIntegration', 'PublishedPostsProvider', 'ShortCode', |
| 190 |
'SlugChangeHandler', 'SystemPage', |
| 191 |
), |
| 192 |
'gsc' => array( |
| 193 |
'GscConfig', 'GscOAuthTokenStore', 'GscSearchAnalyticsClient', 'GscAdminSectionRenderer', |
| 194 |
'GoogleSearchConsole', 'GscOAuthHandler', |
| 195 |
), |
| 196 |
'import' => array( |
| 197 |
'CrossPluginImporter', 'ForeignRedirectSourceReader', 'ForeignSourceQueryGateway', |
| 198 |
'ExportService', 'ImportService', |
| 199 |
), |
| 200 |
'logs' => array( |
| 201 |
'LoggingCapabilityDiagnostics', 'LoggingFeedbackDispatcher', 'LoggingStateStore', |
| 202 |
'LoggingMessageWriter', 'RoutineLoggingBridge', 'LogTimestampFormatter', 'LogDebugModeResolver', |
| 203 |
'LogsMetricsReader', 'LogReadQueryInterface', 'LogPrivacyInterface', 'LogWriteInterface', |
| 204 |
'LogHitsRebuildInterface', 'LogHitsLifecycleInterface', 'LogsHitsRollupServiceInterface', |
| 205 |
'LogsHitsRollupService', 'LogsHitsTableRebuilder', 'LogsLookupRepository', |
| 206 |
'LogsPrivacyService', 'LogsReadQueries', 'LogsHitsDataPopulator', |
| 207 |
'LogsWriteRecoveryPolicy', 'LogsWriter', 'RedirectHitLogEntry', 'LogsRepositoryInterface', |
| 208 |
'LogsRepository', 'EmailDigest', 'Logging', 'TrackingLogsRepository', |
| 209 |
), |
| 210 |
'matching' => array( |
| 211 |
'EngineProfileSaveRequest', 'MatchingEngineOrchestrator', 'RedirectCandidateEvaluator', |
| 212 |
'WordPressGuessFallback', 'EngineProfileResolver', 'MatchingEngine', 'MatchRequest', |
| 213 |
'MatchResult', 'OldPermalinkStructureResolver', 'PermalinkStructureCompiler', |
| 214 |
'OldPermalinkCandidateStructureProvider', 'OldPermalinkPostResolver', |
| 215 |
), |
| 216 |
'ngram' => array( |
| 217 |
'NGramNetworkOptionStore', 'NGramCacheRebuildScheduler', 'NGramCacheRebuildBatchRunner', |
| 218 |
'NGramRebuildProgressState', 'NGramRescheduleFailureReport', 'NGramRebuildDrain', |
| 219 |
'NGramRebuildRetryPolicy', 'NGramRebuildRuntime', |
| 220 |
'NGramCacheSyncRebuilder', |
| 221 |
'NGramCacheReconciler', 'NGramTermCacheReconciler', 'NGramLastUpdatedEpochMigration', |
| 222 |
'NGramFilter', |
| 223 |
'NGramFilterCollaboratorResolver', 'TermNGramCoveragePolicy', 'TermCandidateSource', |
| 224 |
'NGramExtractor', 'NGramSimilarity', 'NGramCacheRepository', 'NGramCoveragePolicy', |
| 225 |
'NGramRebuilder', 'NGramRebuilderDependencies', 'NGramUsageTelemetry', |
| 226 |
), |
| 227 |
'php' => array( |
| 228 |
'FileSync', 'MbStringAdapter', 'MbStringAdapterMb', 'MbStringAdapterPreg', |
| 229 |
'FunctionsMBString', 'FunctionsPreg', |
| 230 |
), |
| 231 |
'php/objs' => array( |
| 232 |
'UserRequest', 'UserRequestParts', 'WPNotice', |
| 233 |
), |
| 234 |
'php/wordpress' => array( |
| 235 |
'WPNotices', 'WPUtils', |
| 236 |
), |
| 237 |
'policies' => array( |
| 238 |
'SettingsAdminExcludedPagesPolicy', 'SettingsBooleanModePolicy', |
| 239 |
'AdminStatusFallbackResolver', |
| 240 |
'SettingsNotificationPolicy', 'SetupWizardAnswerPolicy', 'SettingsRedirectPolicy', |
| 241 |
'SettingsRegexPatternPolicy', 'SettingsRetentionPolicy', 'SettingsSuggestionPolicy', |
| 242 |
'SettingsWordPressPolicy', 'PluginAdminAccessPolicy', 'ErrorTypeClassifier', |
| 243 |
), |
| 244 |
'redirects' => array( |
| 245 |
'RedirectsBulkReader', 'RedirectLookupService', 'RedirectSpec', |
| 246 |
'RedirectsDenormChunkResolver', 'RedirectsSortKeyChunkStore', 'RedirectsDenormColumnSql', |
| 247 |
'RedirectsDenormMaintenanceService', 'RedirectsDenormContentHooks', |
| 248 |
'RedirectsRetentionPolicy', 'RedirectsCleanupRepository', 'RedirectDeadDestinationChecker', |
| 249 |
'RedirectsRetentionService', 'RedirectRow', 'RedirectUpdate', 'RedirectCanonicalUrl', |
| 250 |
'RedirectScheduleTimezone', 'ExistingRedirectLookup', 'AutoRedirectHandler', |
| 251 |
'RedirectExclusionPolicy', 'RedirectDispatcher', 'RedirectConditionEvaluator', |
| 252 |
'RegexAutoPromote', 'RegexDestinationTemplateValidator', 'RegexSourcePatternValidator', |
| 253 |
'RedirectWriteAdmissionPolicy', |
| 254 |
), |
| 255 |
'repositories' => array( |
| 256 |
'ContentRepositoryInterface', 'PublishedContentLookupInterface', 'OldSlugLookupInterface', |
| 257 |
'TermUrlEnricher', 'InternalSourceEvidenceRepository', 'PublishedContentRepository', |
| 258 |
'PublishedTermsProvider', 'PermalinkCacheRepository', 'OldPermalinkStructureStore', |
| 259 |
'SpellingCacheRepository', 'OldSlugRepository', 'ContentRepository', |
| 260 |
'RedirectsRepositoryInterface', 'RedirectConditionsRepository', 'RedirectExportReader', |
| 261 |
'RedirectLookupRepository', 'RedirectRegexCacheStore', 'RedirectWriteService', |
| 262 |
'RedirectsRepository', 'ContentKeywordsRepository', 'PluginUpdateMetadataRepository', |
| 263 |
'PermalinkCache', 'ReviewStateRepository', 'NetworkSitesRepository', 'NextNetworkSite', |
| 264 |
), |
| 265 |
'rest' => array( |
| 266 |
'RestApiResponsePresenter', 'RestApiRedirectMutationService', 'RestApiReadService', |
| 267 |
'RestApiController', |
| 268 |
), |
| 269 |
'services' => array( |
| 270 |
'PerPageOptionUpdater', 'CronScheduler', 'RequestInputNormalizer', |
| 271 |
'RedirectDestinationSuggestionService', 'RedirectEngineLabeler', 'StatsRepositoryResolver', |
| 272 |
'RestApiRequestParser', 'FrontendSuggestionLocaleScope', 'ShortcodeRequestedUrlResolver', |
| 273 |
'ShortcodeUrlBarUpdater', 'SettingsModePreference', 'NotFoundResponseService', |
| 274 |
'NotFoundResponseDependencies', 'PreviousRequestCookieTracker', 'RequestIgnoreNormalizer', |
| 275 |
'RequestIgnoreNormalizerDependencies', 'ErrorDiagnosticsReporter', |
| 276 |
'AdminFatalErrorResponder', 'AjaxFatalErrorResponder', 'FatalErrorProcessor', |
| 277 |
'ImportCsvParser', 'ImportProgressStore', 'ImportRedirectRowProcessor', |
| 278 |
'ImportUploadValidator', 'OutputBufferDrain', |
| 279 |
), |
| 280 |
'settings' => array( |
| 281 |
'SettingsFieldValidator', 'StorageOptionContracts', 'SuggestionTransient', |
| 282 |
'SuggestionDisplayOptions', 'SetupWizardOptionStore', |
| 283 |
), |
| 284 |
// Includes the standalone classes SpellChecker delegates to (converted |
| 285 |
// from traits). |
| 286 |
'spelling' => array( |
| 287 |
'SpellURLMatcher', 'SpellPostListeners', 'SpellNGramPrefilter', |
| 288 |
'SpellCandidatePermalinkLookup', 'SpellSuggestionExclusionPolicy', 'SpellSuggestionScorer', |
| 289 |
'SpellLevenshteinEngine', 'SpellLevenshteinEngineDependencies', |
| 290 |
'SpellCandidateDistanceRanker', 'SpellCandidateFilter', 'SpellSuggestionShortcodeDetector', |
| 291 |
'StopWords', 'SpellChecker', 'SpellCheckerDependencies', |
| 292 |
), |
| 293 |
'stats' => array( |
| 294 |
'StatusCountBuckets', 'StatusCountsMutationSync', 'StatusCountsRepository', 'RedirectHitCountHistogramRepository', |
| 295 |
'RedirectRowCountRepository', 'UnavailableStatsRepository', 'StatsRepositoryInterface', |
| 296 |
'StatsRefreshLock', 'StatsReadRepository', 'StatsDashboardSnapshotCache', |
| 297 |
'StatsDigestDataProvider', 'StatsRepository', |
| 298 |
), |
| 299 |
'uninstall' => array( |
| 300 |
'UninstallModal', 'UninstallCollationSnapshotPresenter', 'UninstallDatabaseDefaultsReader', |
| 301 |
'UninstallDatabaseMetadataReader', 'UninstallDiagnostics', 'UninstallFeedbackEmail', |
| 302 |
'UninstallStatisticsReader', 'UninstallWordPressInventory', 'Uninstaller', |
| 303 |
), |
| 304 |
// Includes the view components converted from the former ViewTrait_* family. |
| 305 |
'view' => array( |
| 306 |
'TableViewOptionsResolver', 'ViewComponent', 'RedirectDestinationOptionsPresenter', |
| 307 |
'RedirectEditFormPresenter', 'RedirectDestinationResolver', 'View_Logs', 'View_Redirects', |
| 308 |
'View_RedirectsTable', 'View_CapturedURLsTable', 'CapturedTableHeaderRenderer', |
| 309 |
'CapturedPageChromeRenderer', 'CapturedRowActionButtonsRenderer', |
| 310 |
'CapturedSourceEvidenceRenderer', 'View_RedirectForms', 'EditRedirectFormContext', |
| 311 |
'View_ListTableChrome', 'View_RedirectTypeUI', 'View_RedirectConditions', |
| 312 |
'View_AdminChrome', 'OptionsSectionView', 'View_OptionsPresenter', 'View_Settings', |
| 313 |
'View_SettingsSections', 'View_Shared', 'View_SimpleSettings', 'View_Stats', 'View_Tools', |
| 314 |
'View_UI', 'ShortcodeSuggestionAdminDebugPresenter', 'ShortcodeSuggestionsPresenter', |
| 315 |
'View', 'View_Suggestions', |
| 316 |
), |
| 317 |
'view-build' => array( |
| 318 |
'ViewReadServiceInterface', 'ViewReadService', 'StatusCountsRefreshCoordinator', |
| 319 |
'ViewReadRuntimeState', 'ViewQueryPolicy', 'ViewQueryBuilder', 'RedirectsViewLiveResolver', |
| 320 |
'RedirectsDenormSchemaReadiness', 'RedirectsHitsRollupReader', 'ScoreThresholds', |
| 321 |
'ViewDiagnostics', 'ViewQueryExplainDiagnostics', 'ViewCacheInvalidator', |
| 322 |
'AdminViewReadCoordinator', 'ViewReadOutcome', 'HitsTableRebuildPolicy', |
| 323 |
'ViewQueryFailureException', |
| 324 |
), |
| 325 |
'wpcli' => array( |
| 326 |
'WPCLICommandPresenter', 'WPCLIImportExportCommandService', 'WPCLIRedirectCommandService', |
| 327 |
'WPCLICommands', |
| 328 |
), |
| 329 |
); |
| 330 |
|
| 331 |
/** |
| 332 |
* The classes whose file is not named after them: several classes declared in |
| 333 |
* one file, or a file whose name outlived a class rename. Paths are relative |
| 334 |
* to the plugin root. |
| 335 |
* |
| 336 |
* @var array<string, string> $abj404ClassFileExceptions |
| 337 |
*/ |
| 338 |
$abj404ClassFileExceptions = array( |
| 339 |
'ABJ_404_Solution_Ajax_ServiceResolver' => 'includes/ajax/AjaxServiceResolver.php', |
| 340 |
'ABJ_404_Solution_Ajax_SearchFeedback' => 'includes/ajax/AjaxSearchFeedback.php', |
| 341 |
'ABJ_404_Solution_SystemClock' => 'includes/core/Clock.php', |
| 342 |
'ABJ_404_Solution_FrozenClock' => 'includes/core/Clock.php', |
| 343 |
'ABJ_404_Solution_RedirectHitCountHistogramQueryException' => |
| 344 |
'includes/stats/RedirectHitCountHistogramRepository.php', |
| 345 |
'ABJ_404_Solution_TrackingLogsHitsRollupService' => 'includes/logs/TrackingLogsRepository.php', |
| 346 |
'ABJ_404_Solution_WPDBExtension_PHP5' => 'includes/php/wordpress/WPDBExtension.php', |
| 347 |
'ABJ_404_Solution_WPDBExtension_PHP7' => 'includes/php/wordpress/WPDBExtension.php', |
| 348 |
); |
| 349 |
|
| 350 |
$abj404Classmap = array(); |
| 351 |
foreach ($abj404ClassesByDirectory as $abj404Directory => $abj404ShortNames) { |
| 352 |
$abj404Prefix = $base . 'includes/' . $abj404Directory . '/'; |
| 353 |
foreach ($abj404ShortNames as $abj404ShortName) { |
| 354 |
$abj404Classmap['ABJ_404_Solution_' . $abj404ShortName] = |
| 355 |
$abj404Prefix . $abj404ShortName . '.php'; |
| 356 |
} |
| 357 |
} |
| 358 |
foreach ($abj404ClassFileExceptions as $abj404Class => $abj404RelativePath) { |
| 359 |
$abj404Classmap[$abj404Class] = $base . $abj404RelativePath; |
| 360 |
} |
| 361 |
|
| 362 |
return $abj404Classmap; |
| 363 |
|