File "Default_Configurator.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/the-events-calendar/src/Tribe/Admin/Bar/Default_Configurator.php
File size: 3.76 KB
MIME-type: text/x-php
Charset: utf-8
<?php
use Tribe\Events\Admin\Settings;
class Tribe__Events__Admin__Bar__Default_Configurator implements Tribe__Events__Admin__Bar__Configurator_Interface {
/**
* Configures an admin bar object adding menus, groups and nodes to it.
*
* @param WP_Admin_Bar $wp_admin_bar
*
* @return array An array of menus to add to the admin bar.
*/
public function configure( WP_Admin_Bar $wp_admin_bar ) {
$main = Tribe__Events__Main::instance();
$icon = '<div id="tec-events-ab-icon" class="ab-item tec-events-logo svg"></div>';
$wp_admin_bar->add_menu( [
'id' => 'tribe-events',
'title' => $icon . sprintf( __( '%s', 'the-events-calendar' ), $main->plural_event_label ),
'href' => $main->getLink( 'home' ),
] );
$wp_admin_bar->add_group( [
'id' => 'tribe-events-group',
'parent' => 'tribe-events',
] );
$wp_admin_bar->add_group( [
'id' => 'tribe-events-add-ons-group',
'parent' => 'tribe-events',
] );
$wp_admin_bar->add_group( [
'id' => 'tribe-events-settings-group',
'parent' => 'tribe-events',
] );
if ( current_user_can( 'edit_tribe_events' ) ) {
$wp_admin_bar->add_group( [
'id' => 'tribe-events-import-group',
'parent' => 'tribe-events-add-ons-group',
] );
}
$wp_admin_bar->add_menu( [
'id' => 'tribe-events-view-calendar',
'title' => esc_html__( 'View Calendar', 'the-events-calendar' ),
'href' => $main->getLink( 'home' ),
'parent' => 'tribe-events-group',
] );
if ( current_user_can( 'edit_tribe_events' ) ) {
$wp_admin_bar->add_menu( [
'id' => 'tribe-events-add-event',
'title' => sprintf( esc_html__( 'Add %s', 'the-events-calendar' ), $main->singular_event_label ),
'href' => trailingslashit( get_admin_url() ) . 'post-new.php?post_type=' . Tribe__Events__Main::POSTTYPE,
'parent' => 'tribe-events-group',
] );
}
if ( current_user_can( 'edit_tribe_events' ) ) {
$wp_admin_bar->add_menu( [
'id' => 'tribe-events-edit-events',
'title' => sprintf( esc_html__( 'Edit %s', 'the-events-calendar' ), $main->plural_event_label ),
'href' => trailingslashit( get_admin_url() ) . 'edit.php?post_type=' . Tribe__Events__Main::POSTTYPE,
'parent' => 'tribe-events-group',
] );
}
if ( current_user_can( 'publish_tribe_events' ) ) {
$import_node = $wp_admin_bar->get_node( 'tribe-events-import' );
if ( ! is_object( $import_node ) ) {
$wp_admin_bar->add_node( [
'id' => 'tribe-events-import',
'title' => esc_html__( 'Import', 'the-events-calendar' ),
'parent' => 'tribe-events-import-group',
'href' => esc_url( add_query_arg( [
'post_type' => Tribe__Events__Main::POSTTYPE,
'page' => 'aggregator',
], admin_url( 'edit.php' ) ) ),
] );
}
}
if ( current_user_can( 'manage_options' ) ) {
$hide_all_settings = Tribe__Settings_Manager::get_network_option( 'allSettingsTabsHidden', '0' );
if ( $hide_all_settings == '0' ) {
$wp_admin_bar->add_menu( [
'id' => 'tribe-events-settings',
'title' => esc_html__( 'Settings', 'the-events-calendar' ),
'href' => tribe( Settings::class )->get_url(),
'parent' => 'tribe-events-settings-group',
] );
}
// Only show help link if it's not blocked in network admin.
$hidden_settings_tabs = Tribe__Settings_Manager::get_network_option( 'hideSettingsTabs', [] );
if ( ! in_array( 'help', $hidden_settings_tabs ) ) {
$href = esc_url( add_query_arg( [
'post_type' => Tribe__Events__Main::POSTTYPE,
'page' => 'tec-events-help-hub',
], admin_url( 'edit.php' ) ) );
$wp_admin_bar->add_menu( [
'id' => 'tribe-events-help',
'title' => esc_html__( 'Help', 'the-events-calendar' ),
'href' => $href,
'parent' => 'tribe-events-settings-group',
] );
}
}
}
}