| @@ -3,8 +3,9 @@ | ||
| 3 | 3 | namespace Extendify\Notifications; |
| 4 | 4 | |
| 5 | 5 | defined('ABSPATH') || die('No direct access.'); |
| 6 | 6 | |
| 7 | +use Extendify\Config; | |
| 7 | 8 | use Extendify\PartnerData; |
| 8 | 9 | use Extendify\SiteVisibility; |
| 9 | 10 | use Extendify\SiteSettings; |
| 10 | 11 | |
| @@ -18,8 +19,9 @@ | ||
| 18 | 19 | const PREDICATES = [ |
| 19 | 20 | 'trial-domain' => 'onTrialDomain', |
| 20 | 21 | 'unpublished' => 'siteUnpublished', |
| 21 | 22 | 'trial-block' => 'onExpiredTrialDomain', |
| 23 | + 'search-engine-block' => 'searchEnginesBlocked', | |
| 22 | 24 | ]; |
| 23 | 25 | |
| 24 | 26 | // phpcs:ignore PSR12.Properties.ConstantVisibility.NotFound -- 7.0 floor: no const visibility |
| 25 | 27 | const TRIAL_WINDOW_DAYS = 16; |
| @@ -39,8 +41,15 @@ | ||
| 39 | 41 | |
| 40 | 42 | private static function siteUnpublished() |
| 41 | 43 | { |
| 42 | 44 | return !SiteVisibility::isPublished(); |
| 45 | + } | |
| 46 | + | |
| 47 | + private static function searchEnginesBlocked() | |
| 48 | + { | |
| 49 | + return PartnerData::setting('useSearchEngineBlock') | |
| 50 | + && SiteVisibility::searchEnginesBlocked() | |
| 51 | + && (PartnerData::setting('showAIAgents') || Config::preview('ai-agent')); | |
| 43 | 52 | } |
| 44 | 53 | |
| 45 | 54 | // Substring match, mirroring the domain-suggestion matcher in src/Assist/lib/domains.js. |
| 46 | 55 | private static function onTrialDomain() |