PluginProbe
Extendify / 3.2.2
Extendify v3.2.2
3.2.2 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 All 128 releases
extendify / app / HelpCenter / Admin.php

Admin.php in Extendify 3.2.2, at app/HelpCenter/Admin.php

94 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Help Center Script loader.
5 */
6
7 namespace Extendify\HelpCenter;
8
9 defined('ABSPATH') || die('No direct access.');
10
11 use Extendify\Config;
12 use Extendify\HelpCenter\Controllers\RouterController;
13 use Extendify\Mcp\Profile as McpProfile;
14 use Extendify\HelpCenter\Controllers\SupportArticlesController;
15 use Extendify\HelpCenter\Controllers\TourController;
16 use Extendify\PartnerData;
17
18 /**
19 * This class handles any file loading for the admin area.
20 */
21
22 class Admin
23 {
24 /**
25 * Adds various actions to set up the page
26 *
27 * @return self|void
28 */
29 public function __construct()
30 {
31 \add_action('admin_enqueue_scripts', [$this, 'loadGlobalScripts']);
32 }
33
34 /**
35 * Adds scripts to every page.
36 *
37 * @return void
38 */
39 public function loadGlobalScripts()
40 {
41 if (McpProfile::isOwnScreen()) {
42 return;
43 }
44
45 $version = Config::$environment === 'PRODUCTION' ? Config::$version : uniqid();
46 $scriptAssetPath = EXTENDIFY_PATH . 'public/build/' . Config::$assetManifest['extendify-help-center.php'];
47 $fallback = [
48 'dependencies' => [],
49 'version' => $version,
50 ];
51 $scriptAsset = file_exists($scriptAssetPath) ? require $scriptAssetPath : $fallback;
52
53 foreach ($scriptAsset['dependencies'] as $style) {
54 \wp_enqueue_style($style);
55 }
56
57 \wp_enqueue_script(
58 Config::$slug . '-help-center-scripts',
59 EXTENDIFY_BASE_URL . 'public/build/' . Config::$assetManifest['extendify-help-center.js'],
60 array_merge([Config::$slug . '-shared-scripts'], $scriptAsset['dependencies']),
61 $scriptAsset['version'],
62 true
63 );
64
65 $partnerData = PartnerData::getPartnerData();
66
67 \wp_add_inline_script(
68 Config::$slug . '-help-center-scripts',
69 'window.extHelpCenterData = ' . \wp_json_encode([
70 'userData' => [
71 'tourData' => \wp_json_encode(TourController::get()->get_data()),
72 'supportArticlesData' => \wp_json_encode(SupportArticlesController::get()->get_data()),
73 'routerData' => \wp_json_encode(RouterController::get()->get_data()),
74 ],
75 ]),
76 'before'
77 );
78
79 \wp_set_script_translations(
80 Config::$slug . '-help-center-scripts',
81 'extendify-local',
82 EXTENDIFY_PATH . 'languages/js'
83 );
84
85 \wp_enqueue_style(
86 Config::$slug . '-help-center-styles',
87 EXTENDIFY_BASE_URL . 'public/build/' . Config::$assetManifest['extendify-help-center.css'],
88 [],
89 Config::$version,
90 'all'
91 );
92 }
93 }
94