Viewing File: /home/maglabs/ultex/wp-content/plugins/extendify/app/HelpCenter/Admin.php
<?php
/**
* Help Center Script loader.
*/
namespace Extendify\HelpCenter;
use Extendify\Config;
use Extendify\PartnerData;
use Extendify\HelpCenter\DataProvider\ResourceData;
use Extendify\HelpCenter\Controllers\TourController;
use Extendify\HelpCenter\Controllers\RouterController;
use Extendify\HelpCenter\Controllers\SupportArticlesController;
/**
* This class handles any file loading for the admin area.
*/
class Admin
{
/**
* The instance
*
* @var $instance
*/
public static $instance = null;
/**
* Adds various actions to set up the page
*
* @return self|void
*/
public function __construct()
{
if (self::$instance) {
return self::$instance;
}
self::$instance = $this;
if (PartnerData::$id === 'no-partner' && Config::$environment === 'PRODUCTION') {
return;
}
\add_action('admin_enqueue_scripts', [$this, 'loadGlobalScripts']);
}
/**
* Adds scripts to every page.
*
* @return void
*/
public function loadGlobalScripts()
{
if (!current_user_can(Config::$requiredCapability)) {
return;
}
// Don't load on Launch.
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
if (isset($_GET['page']) && $_GET['page'] === 'extendify-launch') {
return;
}
$version = Config::$environment === 'PRODUCTION' ? Config::$version : uniqid();
$scriptAssetPath = EXTENDIFY_PATH . 'public/build/' . Config::$assetManifest['extendify-help-center.php'];
$fallback = [
'dependencies' => [],
'version' => $version,
];
$scriptAsset = file_exists($scriptAssetPath) ? require $scriptAssetPath : $fallback;
foreach ($scriptAsset['dependencies'] as $style) {
\wp_enqueue_style($style);
}
\wp_enqueue_script(
Config::$slug . '-help-center-scripts',
EXTENDIFY_BASE_URL . 'public/build/' . Config::$assetManifest['extendify-help-center.js'],
$scriptAsset['dependencies'],
$scriptAsset['version'],
true
);
$partnerData = PartnerData::getPartnerData();
\wp_add_inline_script(
Config::$slug . '-help-center-scripts',
'window.extHelpCenterData = ' . \wp_json_encode([
'showChat' => ($partnerData['showChat'] ?? false),
'supportUrl' => ($partnerData['supportUrl'] ?? ''),
'userData' => [
'tourData' => TourController::get(),
'supportArticlesData' => SupportArticlesController::get(),
'routerData' => RouterController::get(),
],
'resourceData' => (new ResourceData())->getData(),
]),
'before'
);
\wp_set_script_translations(
Config::$slug . '-help-center-scripts',
'extendify-local',
EXTENDIFY_PATH . 'languages/js'
);
\wp_enqueue_style(
Config::$slug . '-help-center-styles',
EXTENDIFY_BASE_URL . 'public/build/' . Config::$assetManifest['extendify-help-center.css'],
[],
Config::$version,
'all'
);
}
}
Back to Directory
File Manager