Current Path : /proc/self/root/home/sudancam/public_html3/games/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-wordads/src/dashboard/ |
Current File : //proc/self/root/home/sudancam/public_html3/games/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-wordads/src/dashboard/class-dashboard.php |
<?php /** * A class that adds a wordads dashboard to wp-admin. * * @package automattic/jetpack */ namespace Automattic\Jetpack\WordAds; use Automattic\Jetpack\Admin_UI\Admin_Menu; use Automattic\Jetpack\Assets; use Automattic\Jetpack\Connection\Manager as Connection_Manager; use Automattic\Jetpack\Status; use Automattic\Jetpack\Tracking; /** * Responsible for adding a WordAds dashboard to wp-admin. * * @package Automattic\Jetpack\WordAds */ class Dashboard { /** * Connection manager instance * * @var Automattic\Jetpack\Connection\Manager */ protected $connection_manager; /** * Contructor * * @param Automattic\Jetpack\Connection\Manager $connection_manager - Connection Manager instance. */ public function __construct( $connection_manager = null ) { $this->connection_manager = $connection_manager ? $connection_manager : new Connection_Manager( Package::SLUG ); } /** * Initialise hooks */ public function init_hooks() { add_action( 'admin_menu', array( $this, 'add_wp_admin_submenu' ), 999 ); } /** * The page to be added to submenu */ public function add_wp_admin_submenu() { if ( ! $this->should_add_wordads_submenu() ) { return; } $page_suffix = Admin_Menu::add_menu( __( 'WordAds Settings', 'jetpack-wordads' ), _x( 'WordAds', 'product name shown in menu', 'jetpack-wordads' ), 'manage_options', 'jetpack-wordads', array( $this, 'render' ), 100 ); add_action( 'load-' . $page_suffix, array( $this, 'admin_init' ) ); } /** * Override render funtion */ public function render() { ?> <div id="jp-wordads-dashboard" class="jp-wordads-dashboard"> <div class="hide-if-js"><?php esc_html_e( 'Your WordAds dashboard requires JavaScript to function properly.', 'jetpack-wordads' ); ?></div> </div> <?php } /** * Test whether we should show Search menu. * * @return {boolean} Show search sub menu or not. */ protected function should_add_wordads_submenu() { /** * The filter allows to ommit adding a submenu item for WordAds. * * @since 0.1.0 * * @param boolean $should_add_wordads_submenu Default value is true. */ return apply_filters( 'jetpack_wordads_should_add_wordads_submenu', current_user_can( 'manage_options' ) ); } /** * Initialize the admin resources. */ public function admin_init() { add_action( 'admin_enqueue_scripts', array( $this, 'load_admin_scripts' ) ); } /** * Enqueue admin scripts. */ public function load_admin_scripts() { if ( ! ( new Status() )->is_offline_mode() && $this->connection_manager->is_connected() ) { // Required for Analytics. Tracking::register_tracks_functions_scripts( true ); } Assets::register_script( 'jp-wordads-dashboard', '../../build/dashboard/jp-wordads-dashboard.js', __FILE__, array( 'in_footer' => true, 'textdomain' => 'jetpack-wordads', ) ); Assets::enqueue_script( 'jp-wordads-dashboard' ); // Add objects to be passed to the initial state of the app. // Use wp_add_inline_script instead of wp_localize_script, see https://core.trac.wordpress.org/ticket/25280. wp_add_inline_script( 'jp-wordads-dashboard', ( new Initial_State() )->render(), 'before' ); } }