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/tutorial.php
<?php

namespace WP_Defender\Controller;

use Hammer\Helper\HTTP_Helper;
use WP_Defender\Behavior\Utils;
use WP_Defender\Behavior\WPMUDEV;
use WP_Defender\Controller;

class Tutorial extends Controller {
	public $slug = 'wdf-tutorial';

	public function __construct() {
		if ( $this->isNetworkActivate( wp_defender()->plugin_slug ) ) {
			$this->addAction( 'network_admin_menu', 'admin_menu' );
		} else {
			$this->addAction( 'admin_menu', 'admin_menu' );
		}

		if ( $this->isInPage() ) {
			$this->addAction( 'defender_enqueue_assets', 'scripts', 11 );
		}
	}

	public function admin_menu() {
		$cap    = is_multisite() ? 'manage_network_options' : 'manage_options';
		$action = 'actionIndex';
		add_submenu_page( 'wp-defender', esc_html__( 'Tutorials', "defender-security" ),
			esc_html__( 'Tutorials', "defender-security" ), $cap, $this->slug, array(
				&$this,
				$action
			) );
	}

	public function actionIndex() {
		$this->render( 'main' );
	}

	public function scripts() {
		wp_enqueue_style( 'wpmudev-sui' );
		wp_enqueue_style( 'defender' );
		wp_enqueue_media();
		wp_register_script( 'defender-tutorial', wp_defender()->getPluginUrl() . 'assets/app/tutorial.js', array(
			'def-vue',
			'defender',
			'wp-i18n'
		), wp_defender()->version, true );
		wp_localize_script( 'defender-tutorial', 'tutorial', $this->_scriptsData() );
		Utils::instance()->createTranslationJson( 'defender-tutorial' );
		wp_set_script_translations( 'defender-tutorial', 'wpdef', wp_defender()->getPluginPath() . 'languages' );
		wp_enqueue_script( 'defender-tutorial' );
		wp_enqueue_script( 'wpmudev-sui' );
	}

	public function _scriptsData() {
		return array(
			'time_read'       => __( 'min read', "defender-security" ),
			'title_read_link' => __( 'Read article', "defender-security" ),
		);
	}
}