Files
ultimatemember/admin/um-admin-init.php
T

136 lines
4.6 KiB
PHP
Raw Normal View History

2014-12-15 22:38:07 +02:00
<?php
class UM_Admin_API {
function __construct() {
$this->slug = 'ultimatemember';
2015-01-21 22:11:51 +02:00
$this->about_tabs['about'] = 'About';
$this->about_tabs['start'] = 'Getting Started';
add_action('admin_init', array(&$this, 'admin_init'), 0);
add_action('admin_menu', array(&$this, 'admin_menu'), 0 );
add_action('admin_menu', array(&$this, 'secondary_menu_items'), 1000 );
2014-12-15 22:38:07 +02:00
2014-12-20 18:02:41 +02:00
if ( !class_exists( 'ReduxFramework' ) && file_exists( um_path . 'admin/core/lib/ReduxFramework/ReduxCore/framework.php' ) ) {
require_once( um_path . 'admin/core/lib/ReduxFramework/ReduxCore/framework.php' );
}
if ( file_exists ( um_path . 'admin/core/um-admin-redux.php' ) ) {
require_once( um_path . 'admin/core/um-admin-redux.php' );
}
2014-12-15 22:38:07 +02:00
}
2015-01-21 22:11:51 +02:00
/***
*** @Creates menu
***/
function admin_menu() {
add_menu_page( __('Ultimate Member', $this->slug), __('Ultimate Member', $this->slug), 'manage_options', $this->slug, array(&$this, 'admin_page'), 'dashicons-admin-users', '66.78578');
add_submenu_page( $this->slug, __('Dashboard', $this->slug), __('Dashboard', $this->slug), 'manage_options', $this->slug, array(&$this, 'admin_page') );
foreach( $this->about_tabs as $k => $tab ) {
add_submenu_page( '_'. $k . '_um', sprintf(__('%s | Ultimate Member', $this->slug), $tab), sprintf(__('%s | Ultimate Member', $this->slug), $tab), 'manage_options', $this->slug . '-' . $k, array(&$this, 'admin_page') );
}
}
/***
*** @After "settings" menu
***/
function secondary_menu_items() {
add_submenu_page( $this->slug, __('Forms', $this->slug), __('Forms', $this->slug), 'manage_options', 'edit.php?post_type=um_form', '', '' );
add_submenu_page( $this->slug, __('User Roles', $this->slug), __('User Roles', $this->slug), 'manage_options', 'edit.php?post_type=um_role', '', '' );
if ( um_get_option('members_page' ) || !get_option('um_options') ){
add_submenu_page( $this->slug, __('Member Directories', $this->slug), __('Member Directories', $this->slug), 'manage_options', 'edit.php?post_type=um_directory', '', '' );
}
}
/***
*** @Admin page function
***/
function admin_page() {
$page = $_REQUEST['page'];
if ( $page == 'ultimatemember' ) {
include_once um_path . 'admin/templates/dashboard.php';
}
if ( strstr( $page, 'ultimatemember-' ) ) {
$template = str_replace('ultimatemember-','',$page);
$file = um_path . 'admin/templates/'. $template . '.php';
if ( file_exists( $file ) ){
include_once um_path . 'admin/templates/'. $template . '.php';
} else {
echo '<h4>' . __('Please create a team.php template in admin templates.','ultimatemember') . '</h4>';
}
}
}
2014-12-15 22:38:07 +02:00
/***
*** @Init
***/
function admin_init(){
global $ultimatemember;
require_once um_path . 'admin/core/um-admin-columns.php';
require_once um_path . 'admin/core/um-admin-notices.php';
require_once um_path . 'admin/core/um-admin-enqueue.php';
require_once um_path . 'admin/core/um-admin-metabox.php';
require_once um_path . 'admin/core/um-admin-access.php';
require_once um_path . 'admin/core/um-admin-functions.php';
require_once um_path . 'admin/core/um-admin-users.php';
require_once um_path . 'admin/core/um-admin-roles.php';
require_once um_path . 'admin/core/um-admin-builder.php';
require_once um_path . 'admin/core/um-admin-dragdrop.php';
2015-01-03 23:18:27 +02:00
require_once um_path . 'admin/core/um-admin-tracking.php';
2014-12-15 22:38:07 +02:00
require_once um_path . 'admin/core/um-admin-actions-user.php';
require_once um_path . 'admin/core/um-admin-actions-modal.php';
require_once um_path . 'admin/core/um-admin-actions-fields.php';
require_once um_path . 'admin/core/um-admin-actions-ajax.php';
2014-12-31 20:04:10 +02:00
require_once um_path . 'admin/core/um-admin-actions.php';
2014-12-15 22:38:07 +02:00
require_once um_path . 'admin/core/um-admin-filters-fields.php';
2015-01-21 22:11:51 +02:00
2014-12-15 22:38:07 +02:00
/* initialize UM administration */
$this->columns = new UM_Admin_Columns();
$this->styles = new UM_Admin_Enqueue();
$this->functions = new UM_Admin_Functions();
$this->metabox = new UM_Admin_Metabox();
$this->notices = new UM_Admin_Notices();
$this->users = new UM_Admin_Users();
$this->roles = new UM_Admin_Roles();
$this->access = new UM_Admin_Access();
$this->builder = new UM_Admin_Builder();
$this->dragdrop = new UM_Admin_DragDrop();
2015-01-03 23:18:27 +02:00
$this->tracking = new UM_Admin_Tracking();
2014-12-15 22:38:07 +02:00
if ( is_admin() &&
current_user_can('manage_options') &&
2014-12-31 20:04:10 +02:00
isset($_REQUEST['um_adm_action']) &&
$_REQUEST['um_adm_action'] != ''
)
2014-12-15 22:38:07 +02:00
{
2014-12-31 20:04:10 +02:00
do_action("um_admin_do_action__", $_REQUEST['um_adm_action'] );
do_action("um_admin_do_action__{$_REQUEST['um_adm_action']}", $_REQUEST['um_adm_action'] );
2014-12-15 22:38:07 +02:00
}
}
}
$um_admin = new UM_Admin_API();