/home/arranoyd/empl/wp-content/plugins/keydesign-addon/includes/admin/admin-init.php
<?php
/**
* KeyDesign Theme Admin Panel
* Initiate the theme admin pages
*/
if( !defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
class KeyDesign_Admin {
protected $tgmpa_instance;
protected $tgmpa_menu_slug = 'install-required-plugins';
protected $tgmpa_url = 'admin.php?page=install-required-plugins';
public function __construct() {
add_action( 'init', __CLASS__ . '::init_admin_settings', 7 );
add_action( 'admin_bar_menu', __CLASS__ . '::keydesign_admin_bar', 99 );
add_action( 'redux/loaded', __CLASS__ . '::keydesign_remove_redux_demo' );
add_action( 'do_meta_boxes', __CLASS__ . '::keydesign_remove_revslider_metabox' );
if ( class_exists( 'TGM_Plugin_Activation' ) && isset( $GLOBALS['tgmpa'] ) ) {
add_action( 'init', __CLASS__ . '::set_tgmpa_url', 10 );
}
$types = get_post_types( [], 'objects' );
foreach ( $types as $type => $values ) {
if ( isset( $type ) ) {
$type_name = 'theme_' . $type . '_templates';
add_filter( $type_name, __CLASS__ . '::keydesign_remove_templates', 11 );
}
}
}
public static function keydesign_remove_revslider_metabox() {
$post_types = array('post','page');
remove_meta_box( 'slider_revolution_metabox', $post_types, 'side' );
}
public static function keydesign_remove_templates( $page_templates ) {
if ( class_exists( 'Redux' ) ) {
unset( $page_templates['redux-templates_contained'] );
unset( $page_templates['redux-templates_full_width'] );
unset( $page_templates['redux-templates_canvas'] );
}
if ( class_exists( 'RevSlider' ) ) {
unset( $page_templates['../public/views/revslider-page-template.php'] );
}
return $page_templates;
}
public static function init_admin_settings() {
if ( !current_user_can( 'edit_theme_options' ) ) {
return;
}
add_action( 'admin_menu', __CLASS__ . '::keydesign_add_admin_menu', 9 );
if ( class_exists( 'Redux' ) ) {
add_action( 'admin_menu', __CLASS__ . '::keydesign_remove_redux_menu', 11 );
}
}
public function set_tgmpa_url() {
if ( !current_user_can( 'manage_options' ) ) {
return;
}
$this->$tgmpa_instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
$this->tgmpa_menu_slug = ( property_exists( $this->tgmpa_instance, 'menu' ) ) ? $this->tgmpa_instance->menu : $this->tgmpa_menu_slug;
$this->tgmpa_menu_slug = apply_filters( 'sway_tgmpa_menu_slug', 'install-required-plugins' );
$this->tgmpa_url = apply_filters( 'sway_tgmpa_url', 'admin.php?page=' . $this->tgmpa_menu_slug );
}
public static function keydesign_add_admin_menu() {
$page_menu_func = __CLASS__ . '::menu_callback';
add_menu_page( esc_html__('Sway Dashboard', 'keydesign'), esc_html__('Sway', 'keydesign'), 'manage_options', 'sway-dashboard', '', 'dashicons-welcome-widgets-menus', 2 );
add_submenu_page( 'sway-dashboard', 'Sway Dashboard', 'Dashboard', 'manage_options', 'sway-dashboard', $page_menu_func, 0 );
}
public static function keydesign_remove_redux_menu() {
remove_submenu_page( 'tools.php', 'redux-framework' );
}
public static function menu_callback() {
include_once( plugin_dir_path( __FILE__ ).'views/keydesign-dashboard.php' );
}
public static function keydesign_admin_bar( $wp_admin_bar ) {
if ( !current_user_can( 'edit_theme_options' ) ) {
return;
}
//Add parent shortcut link
$args = array(
'id' => 'sway-dashboard',
'title' => 'Sway',
'href' => admin_url( 'admin.php?page=sway-dashboard' ),
'meta' => array(
'class' => 'sway-toolbar-page',
'title' => 'sway Options',
)
);
$wp_admin_bar->add_node( $args );
//Add dashboard shortcut link
$args = array(
'id' => 'sway-admin',
'title' => 'Dashboard',
'href' => admin_url( 'admin.php?page=sway-dashboard' ),
'parent' => 'sway-dashboard',
'meta' => array(
'class' => 'sway-dashboard',
'title' => 'sway Dashboard',
),
);
$wp_admin_bar->add_node( $args );
//Add import-demos shortcut link
$args = array(
'id' => 'import-demos',
'title' => 'Import Demos',
'href' => admin_url( 'admin.php?page=import-demos' ),
'parent' => 'sway-dashboard',
'meta' => array(
'class' => 'import-demos',
'title' => 'Import Demos',
),
);
$wp_admin_bar->add_node( $args );
//Add theme-options shortcut link
if( class_exists( 'Redux' ) ) {
$args = array(
'id' => 'sway-theme-options',
'title' => 'Theme Options',
'href' => admin_url( 'admin.php?page=theme-options' ),
'parent' => 'sway-dashboard',
'meta' => array(
'class' => 'sway-theme-options',
'title' => 'Theme Options',
),
);
$wp_admin_bar->add_node( $args );
}
//Add install-required-plugins shortcut link
$args = array(
'id' => 'install-required-plugins',
'title' => 'Install Plugins',
'href' => admin_url( 'admin.php?page=install-required-plugins' ),
'parent' => 'sway-dashboard',
'meta' => array(
'class' => 'install-required-plugins',
'title' => 'Install Plugins',
),
);
$wp_admin_bar->add_node( $args );
//Add envato-market shortcut link
if( class_exists( 'Envato_Market' ) ) {
$args = array(
'id' => 'sway-envato-market',
'title' => 'Envato Market',
'href' => admin_url( 'admin.php?page=envato-market' ),
'parent' => 'sway-dashboard',
'meta' => array(
'class' => 'sway-envato-market',
'title' => 'Envato Market',
),
);
$wp_admin_bar->add_node( $args );
}
}
public static function keydesign_remove_redux_demo() {
if ( class_exists( 'Redux' ) ) {
remove_filter( 'plugin_row_meta', array( ReduxFrameworkPlugin::instance(), 'plugin_metalinks' ), null, 2);
remove_action( 'admin_notices', array( ReduxFrameworkPlugin::instance(), 'admin_notices' ) );
}
}
}
new KeyDesign_Admin;