| @@ -11,10 +11,14 @@ | ||
| 11 | 11 | use Forge12\DoubleOptIn\Container\BootableProviderInterface; |
| 12 | 12 | use Forge12\DoubleOptIn\Container\Container; |
| 13 | 13 | use Forge12\DoubleOptIn\Health\DatabaseTableHealthCheck; |
| 14 | 14 | use Forge12\DoubleOptIn\Health\HealthCheckRegistry; |
| 15 | +use Forge12\DoubleOptIn\Health\HealthRepairController; | |
| 16 | +use Forge12\DoubleOptIn\Health\LegacyMonolithCheck; | |
| 15 | 17 | use Forge12\DoubleOptIn\Health\SiteHealthIntegration; |
| 16 | 18 | use Forge12\DoubleOptIn\Health\StaleConsentFieldCheck; |
| 19 | +use Forge12\DoubleOptIn\Health\StaleProMarkersCheck; | |
| 20 | +use Forge12\DoubleOptIn\Health\AddonCompatibilityCheck; | |
| 17 | 21 | |
| 18 | 22 | if ( ! defined( 'ABSPATH' ) ) { |
| 19 | 23 | exit; |
| 20 | 24 | } |
| @@ -93,8 +97,20 @@ | ||
| 93 | 97 | // settings still match the forms. A stale acceptance field does |
| 94 | 98 | // not break anything visibly — it quietly turns every opt-in of |
| 95 | 99 | // that form into consent evidence nobody ever confirmed. |
| 96 | 100 | $registry->register( new StaleConsentFieldCheck() ); |
| 101 | + | |
| 102 | + // The two checks around the Pro 3.x -> 4.x upgrade. They live in | |
| 103 | + // free Core on purpose: both describe a site where Pro is broken | |
| 104 | + // or absent, so a check shipped inside bundle-pro would be the one | |
| 105 | + // thing not loaded when it is needed. | |
| 106 | + $registry->register( new LegacyMonolithCheck() ); | |
| 107 | + $registry->register( new StaleProMarkersCheck() ); | |
| 108 | + | |
| 109 | + // Add-ons that predate the 5.8 move of editing code out of Core. | |
| 110 | + $registry->register( new AddonCompatibilityCheck() ); | |
| 111 | + | |
| 112 | + ( new HealthRepairController() )->register(); | |
| 97 | 113 | |
| 98 | 114 | ( new SiteHealthIntegration( $registry ) )->register(); |
| 99 | 115 | } |
| 100 | 116 | } |