SILENT KILLERPanel

Current Path: > home > codekrsu > > ameliagraphics.com > wp-content > plugins > extendify > > > app


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/codekrsu//ameliagraphics.com/wp-content/plugins/extendify///app

NameTypeSizeLast ModifiedActions
Assist Directory - -
Draft Directory - -
HelpCenter Directory - -
Launch Directory - -
Library Directory - -
PageCreator Directory - -
Recommendations Directory - -
Shared Directory - -
AdminPageRouter.php File 10367 bytes July 16 2025 19:39:24.
Affiliate.php File 2513 bytes May 22 2025 22:26:12.
ApiRouter.php File 2342 bytes June 09 2025 17:02:32.
Config.php File 4960 bytes August 04 2025 19:41:52.
Insights.php File 6572 bytes July 16 2025 19:39:24.
PartnerData.php File 11019 bytes July 16 2025 19:39:24.
SiteSettings.php File 1341 bytes May 22 2025 22:26:12.

Reading File: /home/codekrsu//ameliagraphics.com/wp-content/plugins/extendify///app/Config.php

<?php

/**
 * The App details file
 */

namespace Extendify;

defined('ABSPATH') || die('No direct access.');

use Extendify\Shared\Services\Sanitizer;

/**
 * Controller for handling various app data
 */

class Config
{
    /**
     * Plugin slug
     *
     * @var string
     */
    public static $slug = 'extendify';

    /**
     * The JS/CSS asset manifest (with hashes)
     *
     * @var array
     */
    public static $assetManifest = [];

    /**
     * Plugin version
     *
     * @var string
     */
    public static $version = '';

    /**
     * Plugin API REST version
     *
     * @var string
     */
    public static $apiVersion = 'v1';

    /**
     * Partner Id
     *
     * @var string|null
     */
    public static $partnerId = null;

    /**
     * Whether to load Launch
     *
     * @var boolean
     */
    public static $showLaunch = false;

    /**
     * Plugin environment
     *
     * @var string
     */
    public static $environment = '';

    /**
     * Host plugin
     *
     * @var string
     */
    public static $requiredCapability = EXTENDIFY_REQUIRED_CAPABILITY;

    /**
     * Plugin config
     *
     * @var array
     */
    public static $config = [];

    /**
     * Whether Launch was finished
     *
     * @var boolean
     */
    public static $launchCompleted = false;

    /**
     * Enabled preview features.
     *
     * @var array
     */
    public static $previewFeatures = [];

    public static $enablePreviewFeatures = false;

    /**
     * Process the readme file to get version and name
     *
     * @return void
     */
    public function __construct()
    {
        self::$partnerId = defined('EXTENDIFY_PARTNER_ID') ? constant('EXTENDIFY_PARTNER_ID') : null;
        $partnerData = PartnerData::getPartnerData();

        // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
        $readme = file_get_contents(EXTENDIFY_PATH . 'readme.txt');

        preg_match('/Stable tag: ([0-9.:]+)/', $readme, $matches);
        self::$version = $matches[1];

        self::$assetManifest = wp_json_file_decode(
            EXTENDIFY_PATH . 'public/build/manifest.json',
            ['associative' => true]
        );

        if (!get_option('extendify_first_installed_version')) {
            update_option('extendify_first_installed_version', Sanitizer::sanitizeText(self::$version));
        }

        // Set up the Preview features
        // phpcs:ignore WordPress.Security.NonceVerification
        self::previewFeatures($_GET);

        // An easy way to check if we are in dev mode is to look for a dev specific file.
        $isDev = is_readable(EXTENDIFY_PATH . '.devbuild');

        self::$environment = $isDev ? 'DEVELOPMENT' : 'PRODUCTION';
        self::$launchCompleted = (bool) get_option('extendify_onboarding_completed', false);
        self::$showLaunch = $isDev ? true : ((bool) ($partnerData['showLaunch'] ?? false));
    }

    /**
     * Retrieves the value of a preview setting.
     *
     * This method first checks if the preview setting exists as a static property of the class.
     * If it does, it returns the value of that property. Otherwise, it looks for the
     * preview setting in the saved setting and returns its value if found.
     *
     * @param string $previewKey The key of the preview setting to retrieve.
     *
     * @return boolean The value of the setting if found or false if not found.
     */
    public static function preview(string $previewKey)
    {
        if (property_exists(self::class, $previewKey)) {
            return self::$previewFeatures[$previewKey];
        }

        $previewFeatures = get_option('extendify_enable_preview_features_v1', []);

        return (bool) ($previewFeatures[$previewKey] ?? false);
    }


    /**
     * Processes preview features from URL parameters and enables them.
     *
     * This method checks for 'extendify-preview' parameters in the GET request
     * and enables the specified preview features. It supports both single feature
     * format (extendify-preview=feature1) and array format (extendify-preview[]=feature1).
     * All specified features are enabled and saved to the database.
     *
     * @param array $getParams The GET parameters that may contain 'extendify-preview' settings.
     *
     * @return void
     */
    protected static function previewFeatures(array $getParams = [])
    {
        if (!isset($getParams['extendify-preview'])) {
            return;
        }

        $previewParam = $getParams['extendify-preview'];
        $features = is_array($previewParam) ? $previewParam : [$previewParam];
        self::$previewFeatures = get_option('extendify_enable_preview_features_v1', []);

        foreach ($features as $feature) {
            self::$previewFeatures[$feature] = true;
        }

        update_option('extendify_enable_preview_features_v1', Sanitizer::sanitizeArray(self::$previewFeatures));
    }
}

SILENT KILLER Tool