HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.34
System: Linux atalantini.com 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64
User: root (0)
PHP: 7.2.34
Disabled: NONE
Upload Files
File: //opt/plugins/defender-security/app/controller/debug.php
<?php
/**
 * Author: Hoang Ngo
 */

namespace WP_Defender\Controller;

use Hammer\Base\Container;
use Hammer\Helper\HTTP_Helper;
use WP_Defender\Controller;
use WP_Defender\Module\Hardener\Model\Settings;
use WP_Defender\Module\Scan\Component\Scan_Api;
use WP_Defender\Module\Scan\Component\Scanning;

class Debug extends Controller {
	protected $slug = 'wdf-debug';
	
	public function __construct() {
		if ( HTTP_Helper::retrieveGet( 'page' ) != 'wdf-debug' ) {
			return;
		}
		if ( $this->isInPage() ) {
			$this->addAction( 'defender_enqueue_assets', 'scripts', 11 );
		}
		if ( $this->isNetworkActivate( wp_defender()->plugin_slug ) ) {
			$this->addAction( 'network_admin_menu', 'adminMenu' );
		} else {
			$this->addAction( 'admin_menu', 'adminMenu' );
		}
		
		$this->addAction( 'wp_loaded', 'clearTweaksCache' );
	}
	
	public function clearTweaksCache() {
		if ( $_SERVER['REQUEST_METHOD'] != 'POST' ) {
			return;
		}
		
		if ( isset( $_POST['_defnonce'] ) && wp_verify_nonce( $_POST['_defnonce'], 'flush_tweaks_cache' ) ) {
			$model = Settings::instance();
			$model->setDValues( 'head_requests', null );
		}
	}
	
	public function scripts() {
		wp_enqueue_style( 'defender' );
		wp_enqueue_script( 'wpmudev-sui' );
	}
	
	/**
	 * Add submit admin page
	 */
	public function adminMenu() {
		$cap = is_multisite() ? 'manage_network_options' : 'manage_options';
		add_submenu_page( 'wp-defender', esc_html__( "Debug", "defender-security" ), esc_html__( "Debug", "defender-security" ), $cap, $this->slug, array(
			&$this,
			'actionIndex'
		) );
	}
	
	public function actionIndex() {
		$cache    = Container::instance()->get( 'cache' );
		$scanning = new Scanning();
		$this->render( 'debug', [
			'core'     => $cache->get( Scan_Api::CACHE_CORE, [] ),
			'content'  => $cache->get( Scan_Api::CACHE_CONTENT, [] ),
			'progress' => $scanning->getScanProgress()
		] );
	}
	
	/**
	 * @return array
	 */
	public function behaviors() {
		return array(
			'utils' => '\WP_Defender\Behavior\Utils'
		);
	}
}