PluginProbe
Extendify / trunk
Extendify vtrunk
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.4 → trunk 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') ||