File: /home/elrashedytravel/public_html/wp-content/themes/tutorstarter/inc/Traits/Header_Components.php
<?php
/**
* Handles registering header components
*
* @package Tutor_Starter
*/
namespace Tutor_Starter\Traits;
defined( 'ABSPATH' ) || exit;
/**
* Header components trait
*/
trait Header_Components {
/**
* Navbar toggler
*/
public static function navbar_toggler() {
$toggler_html = '<li class="nav-close"><button class="btn-nav-close"><span class="close-btn">+</span></button></li>';
return $toggler_html;
}
/**
* Tutor multi-column dropdown menu
*/
public static function tutor_multi_column_dropdown() {
if ( ! class_exists( '\TUTOR\Utils' ) ) {
return; // @todo: cross check
}
// $default_menus = apply_filters( 'tutor_dashboard/nav_items', self::default_menus() );
$default_menus = self::default_menus();
$current_user = wp_get_current_user();
?>
<div class="tutor-header-profile-photo">
<?php
$profile_pic = tutor_utils()->get_tutor_avatar( get_current_user_id() );
?>
</div><!-- .tutor-header-profile-photo -->
<div class="tutor-header-profile-content">
<div class="tutor-header-profile-submenu">
<?php echo $profile_pic; ?>
<span role="button" class="d-flex align-items-center gap-1 fs-5 py-3 text-black-80" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
<?php echo esc_html( ucfirst( $current_user->display_name ) ); ?>
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.11285 6.29697L8.17285 9.3503L11.2329 6.29697L12.1729 7.23697L8.17285 11.237L4.17285 7.23697L5.11285 6.29697Z" fill="currentColor"></path>
</svg>
</span>
<!-- <div class="tutor-header-profile-name">
</div> -->
<!-- <div class="tutor-header-submenu-icon tutor-icon-icon-light-down-line tutor-font-size-20 tutor-text-400">
</div> -->
</div>
</div>
<div class="tutor-header-submenu">
<?php if ( is_user_logged_in() ) : ?>
<div class="tutor-submenu-links">
<ul>
<div class="profile-name">
<?php echo esc_html( ucfirst( $current_user->display_name ) ); ?>
</div>
<?php
foreach ( $default_menus as $menu_key => $menu_item ) {
$menu_title = $menu_item;
$menu_link = tutor_utils()->get_tutor_dashboard_page_permalink( $menu_key );
if ( is_array( $menu_item ) ) {
$menu_title = tutor_utils()->array_get( 'title', $menu_item );
if ( isset( $menu_item['url'] ) ) {
$menu_link = $menu_item['url'];
}
}
if ( 'index' === $menu_key ) {
$menu_key = '';
}
ob_start();?>
<li>
<a href="<?php echo esc_url( $menu_link ) ?>">
<span class="tutor-dashboard-menu-item-icon <?php echo $menu_item['icon']; ?>"></span>
<?php echo esc_html( $menu_title ); ?>
</a>
</li>
<?php
$menu_list_item = ob_get_clean();
echo $menu_list_item;
}
?>
</ul>
</div>
<?php else : ?>
<?php endif; ?>
</div>
<?php
}
/**
* Filtered nav items based on capabilities
*
* @return array
*/
public static function filtered_nav() {
if ( ! class_exists( '\TUTOR\Utils' ) ) {
return;
}
$instructor_menu = apply_filters( 'tutor_dashboard/instructor_nav_items', tutor_utils()->instructor_menus() );
$common_navs = array(
'dashboard-page' => array(
'title' => __( 'Dashboard', 'tutorstarter' ),
'icon' => 'tutor-icon-settings',
),
'settings' => array(
'title' => __( 'Account Settings', 'tutorstarter' ),
'icon' => 'tutor-icon-settings',
),
'logout' => array(
'title' => __( 'Logout', 'tutorstarter' ),
'icon' => 'tutor-icon-signout',
),
);
$all_nav_items = array_merge( $instructor_menu, $common_navs );
foreach ( $all_nav_items as $nav_key => $nav_item ) {
if ( is_array( $nav_item ) ) {
if ( isset( $nav_item['show_ui'] ) && ! tutor_utils()->array_get( 'show_ui', $nav_item ) ) {
unset( $all_nav_items[ $nav_key ] );
}
if ( isset( $nav_item['auth_cap'] ) && ! current_user_can( $nav_item['auth_cap'] ) ) {
unset( $all_nav_items[ $nav_key ] );
}
}
}
return $all_nav_items;
}
/**
* Check role
*
* @return bool
*/
public static function is_user_priviledged() {
$user_is_priviledged = false;
$current_user = wp_get_current_user();
$predefined_roles = apply_filters(
'tutor_user_is_priviledged',
array(
'administrator',
'tutor_instructor',
)
);
if ( array_intersect( $current_user->roles, $predefined_roles ) ) {
$user_is_priviledged = true;
} else {
$user_is_priviledged = false;
}
return $user_is_priviledged;
}
/**
* Default Menus
*/
public static function default_menus() {
return array(
'' => array(
'title' => __( 'Dashboard', 'tutorstarter' ),
'icon' => 'tutor-icon-dashboard',
),
'my-profile' => array(
'title' => __( 'My profile', 'tutorstarter' ),
'icon' => 'tutor-icon-user-bold',
),
'settings' => array(
'title' => __( 'Account Settings', 'tutorstarter' ),
'icon' => 'tutor-icon-gear',
),
'logout' => array(
'title' => __( 'Logout', 'tutorstarter' ),
'icon' => 'tutor-icon-signout',
),
);
}
}