array(
'condition' => '',
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Dashboard', 'alpus' ),
'menu_title' => esc_html__( 'Dashboard', 'alpus' ),
'capability' => 'administrator',
'menu_slug' => 'alpus',
'callback' => array( $this, 'panel_activate' ),
'position' => 1,
),
'theme-options' => array(
'condition' => '',
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Theme Options', 'alpus' ),
'menu_title' => esc_html__( 'Theme Options', 'alpus' ),
'capability' => 'administrator',
'menu_slug' => 'customize.php',
'callback' => '',
'position' => 2,
),
'setup-wizard' => array(
'condition' => class_exists( 'Alpus_Setup_Wizard' ),
'class' => 'Alpus_Setup_Wizard',
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Setup Wizard', 'alpus' ),
'menu_title' => esc_html__( 'Setup Wizard', 'alpus' ),
'capability' => 'manage_options',
'menu_slug' => 'alpus-setup-wizard',
'callback' => 'view_setup_wizard',
'position' => 3,
),
'optimize-wizard' => array(
'condition' => class_exists( 'Alpus_Optimize_Wizard' ),
'class' => 'Alpus_Optimize_Wizard',
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Optimize Wizard', 'alpus' ),
'menu_title' => esc_html__( 'Optimize Wizard', 'alpus' ),
'capability' => 'manage_options',
'menu_slug' => 'alpus-optimize-wizard',
'callback' => 'view_optimize_wizard',
'position' => 4,
),
'layout-builder' => array(
'condition' => class_exists( 'Alpus_Layout_Builder_Admin' ),
'class' => 'Alpus_Layout_Builder_Admin',
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Layout Builder', 'alpus' ),
'menu_title' => esc_html__( 'Layout Builder', 'alpus' ),
'capability' => 'manage_options',
'menu_slug' => 'alpus-layout-builder',
'callback' => 'view_layout_builder',
'position' => 5,
),
'templates' => array(
'condition' => class_exists( 'Alpus_Builders' ),
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Templates', 'alpus' ),
'menu_title' => esc_html__( 'Templates', 'alpus' ),
'capability' => 'administrator',
'menu_slug' => 'edit.php?post_type=' . ALPUS_NAME . '_template',
'callback' => '',
'position' => 8,
),
'sidebars' => array(
'condition' => class_exists( 'Alpus_Sidebar_Builder' ),
'class' => 'Alpus_Sidebar_Builder',
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Sidebars', 'alpus' ),
'menu_title' => esc_html__( 'Sidebars', 'alpus' ),
'capability' => 'administrator',
'menu_slug' => 'alpus-sidebar',
'callback' => 'sidebar_view',
'position' => 10,
),
'tools' => array(
'condition' => class_exists( 'Alpus_Tools' ),
'class' => 'Alpus_Tools',
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Tools', 'alpus' ),
'menu_title' => esc_html__( 'Tools', 'alpus' ),
'capability' => 'manage_options',
'menu_slug' => 'alpus-tools',
'callback' => 'view_tools',
'position' => 13,
),
'critical' => array(
'condition' => class_exists( 'Alpus_Critical' ) && alpus_get_option( 'resource_critical_css' ),
'class' => 'Alpus_Critical',
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Critical CSS', 'alpus' ),
'menu_title' => '' . esc_html__( 'Critical CSS', 'alpus' ) . '',
'capability' => 'manage_options',
'menu_slug' => 'alpus-critical',
'callback' => 'view_critical',
'position' => 14,
),
'patcher' => array(
'condition' => class_exists( 'Alpus_Patcher' ),
'class' => 'Alpus_Patcher',
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Patcher', 'alpus' ),
'menu_title' => '' . esc_html__( 'Patcher', 'alpus' ) . '',
'capability' => 'manage_options',
'menu_slug' => 'alpus-patcher',
'callback' => 'view_patcher',
'position' => 15,
),
'version' => array(
'condition' => class_exists( 'Alpus_Rollback' ),
'class' => 'Alpus_Rollback',
'parent_slug' => 'alpus',
'page_title' => esc_html__( 'Rollback', 'alpus' ),
'menu_title' => '' . esc_html__( 'Rollback', 'alpus' ) . '',
'capability' => 'manage_options',
'menu_slug' => 'alpus-rollback',
'callback' => 'view_tools',
'position' => 16,
),
)
);
foreach ( $admin_menus as $key => $args ) {
if ( '' === $args['condition'] || $args['condition'] ) {
if ( ! empty( $args['class'] ) ) {
$callback = array( $args['class']::get_instance(), $args['callback'] );
} else {
$callback = $args['callback'];
}
add_submenu_page( $args['parent_slug'], $args['page_title'], $args['menu_title'], $args['capability'], $args['menu_slug'], $callback, $args['position'] );
}
}
}
/**
* Load header template for admin panel.
*
* @since 1.0
*/
public function view_header( $active_page, $admin_config = array(), $title = array() ) {
require_once alpus_framework_path( ALPUS_FRAMEWORK_ADMIN . '/panel/views/header.php' );
}
/**
* Load footer template for admin panel.
*
* @since 1.0
*/
public function view_footer( $active_page = 'dashboard', $admin_config = array() ) {
require_once alpus_framework_path( ALPUS_FRAMEWORK_ADMIN . '/panel/views/footer.php' );
}
/**
* Load dashboard panel template.
*
* @since 1.0
*/
public function panel_activate() {
$admin_config = Alpus_Admin::get_instance()->admin_config;
$this->view_header( 'dashboard', $admin_config );
require_once alpus_framework_path( ALPUS_FRAMEWORK_ADMIN . '/panel/views/dashboard.php' );
$this->view_footer( 'dashboard', $admin_config );
}
}
}
Alpus_Admin_Panel::get_instance();