PluginProbe
Extendify / 3.2.1
Extendify v3.2.1
3.2.1 3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 All 127 releases
← All changes | app/Shared/Admin.php +27 -9 3.1.43.2.1 View file →
@@ -9,17 +9,21 @@
9 9 defined('ABSPATH') || die('No direct access.');
10 10
11 11 use Extendify\Config;
12 12 use Extendify\PartnerData;
13 +use Extendify\Notifications\Availability;
13 14 use Extendify\Shared\Controllers\UserSelectionController;
14 -use Extendify\Shared\DataProvider\PartnerNotificationData;
15 +use Extendify\Shared\DataProvider\NotificationData;
15 16 use Extendify\Shared\DataProvider\ResourceData;
16 17 use Extendify\Shared\Services\AdminMenuList;
17 18 use Extendify\Shared\Services\ApexDomain\ApexDomain;
18 19 use Extendify\Shared\Services\Escaper;
19 20 use Extendify\Shared\Services\PluginDependencies\SimplyBook;
21 +use Extendify\Shared\Services\PluginsActivation\Imagify as ImagifyActivation;
20 22 use Extendify\Shared\Services\PluginsActivation\Metricool as MetricoolActivation;
21 23 use Extendify\Shared\Services\PluginsActivation\SimplyBook as SimplyBookActivation;
24 +use Extendify\Shared\Services\PluginsActivation\TranslatePress as TranslatePressActivation;
25 +use Extendify\Shared\Services\SiteImages;
22 26 use Extendify\SiteSettings;
23 27 use Extendify\Shared\Controllers\ImageGenerationController;
24 28 use Extendify\Shared\DataProvider\ProductsData;
25 29
@@ -156,12 +160,24 @@
156 160 return in_array($plugin['slug'], $activePluginSlugs);
157 161 }
158 162 );
159 163
160 - $productActivationPlugins = array_map(function ($plugin) {
161 - foreach ([MetricoolActivation::class, SimplyBookActivation::class] as $activation) {
164 + $activations = [
165 + ImagifyActivation::class,
166 + MetricoolActivation::class,
167 + SimplyBookActivation::class,
168 + TranslatePressActivation::class,
169 + ];
170 +
171 + $productActivationPlugins = array_map(function ($plugin) use ($activations) {
172 + foreach ($activations as $activation) {
162 173 if ($plugin['slug'] === $activation::slug()) {
163 - return array_merge($plugin, ['scriptData' => $activation::scriptData()]);
174 + return array_merge($plugin, [
175 + 'scriptData' => $activation::scriptData(),
176 + 'eligible' => $activation::isEligible(),
177 + 'endpoint' => Config::$slug . '/' . Config::$apiVersion
178 + . $activation::createAccountRoute(),
179 + ]);
164 180 }
165 181 }
166 182
167 183 return $plugin;
@@ -206,9 +222,9 @@
206 222 'version' => \esc_attr(Config::$version),
207 223 'siteTitle' => \esc_attr(\get_bloginfo('name')),
208 224 'siteProfile' => \get_option('extendify_site_profile', []),
209 225 // Empty when the launch-time image fetch failed.
210 - 'siteImages' => \get_option('extendify_site_images', []),
226 + 'siteImages' => SiteImages::normalize(\get_option('extendify_site_images', [])),
211 227 'wpLanguage' => \esc_attr(\get_locale()),
212 228 'aiImageLabel' => $aiImageLabel,
213 229 'aiImageAltPattern' => $aiImageAltPattern,
214 230 'wpVersion' => \esc_attr(\get_bloginfo('version')),
@@ -222,14 +238,16 @@
222 238 'partnerId' => \esc_attr(PartnerData::$id),
223 239 'partnerName' => \esc_attr(PartnerData::$name),
224 240 'launchDataLegacy' => \wp_json_encode((UserSelectionController::get()->get_data() ?? [])),
225 241 'resourceData' => \wp_json_encode((new ResourceData())->getData()),
226 - 'partnerNotifications' => \wp_json_encode(PartnerNotificationData::get()),
227 - 'notifications' => \get_user_meta(
242 + 'notifications' => \wp_json_encode(
243 + Availability::available(NotificationData::get())
244 + ),
245 + 'notificationState' => \get_user_meta(
228 246 \get_current_user_id(),
229 - 'extendify_notifications',
247 + 'extendify_notification_state',
230 248 true
231 - ) ?: ['dismissed' => [], 'viewed' => []],
249 + ) ?: ['cards' => []],
232 250 'showAIConsent' => isset($partnerData['showAIConsent']) ? (bool) $partnerData['showAIConsent'] : false,
233 251 'showChat' => (bool) (PartnerData::setting('showChat') || constant('EXTENDIFY_DEVMODE')),
234 252 'useAgentOnboarding' => (bool) (
235 253 PartnerData::setting('useAgentOnboarding') ||