header.php
1 day ago
profile-completion.php
1 day ago
quiz-attempt-row.php
1 day ago
sidebar-nav-mobile.php
1 day ago
sidebar.php
1 day ago
sidebar.php
122 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Tutor dashboard sidebar. |
| 4 | * |
| 5 | * @package Tutor\Templates |
| 6 | * @author Themeum <support@themeum.com> |
| 7 | * @link https://www.themeum.com/ |
| 8 | * @since 4.0.0 |
| 9 | */ |
| 10 | |
| 11 | defined( 'ABSPATH' ) || exit; |
| 12 | |
| 13 | use Tutor\Components\Button; |
| 14 | use Tutor\Components\Constants\Size; |
| 15 | use Tutor\Components\Constants\Variant; |
| 16 | use Tutor\Components\SvgIcon; |
| 17 | use TUTOR\Dashboard; |
| 18 | use TUTOR\Icon; |
| 19 | use TUTOR\User; |
| 20 | |
| 21 | global $wp_query; |
| 22 | |
| 23 | $dashboard_page_slug = ''; |
| 24 | $dashboard_page_name = ''; |
| 25 | if ( isset( $wp_query->query_vars['tutor_dashboard_page'] ) && $wp_query->query_vars['tutor_dashboard_page'] ) { |
| 26 | $dashboard_page_slug = $wp_query->query_vars['tutor_dashboard_page']; |
| 27 | $dashboard_page_name = $wp_query->query_vars['tutor_dashboard_page']; |
| 28 | } |
| 29 | /** |
| 30 | * Getting dashboard sub pages |
| 31 | */ |
| 32 | if ( isset( $wp_query->query_vars['tutor_dashboard_sub_page'] ) && $wp_query->query_vars['tutor_dashboard_sub_page'] ) { |
| 33 | $dashboard_page_name = $wp_query->query_vars['tutor_dashboard_sub_page']; |
| 34 | if ( $dashboard_page_slug ) { |
| 35 | $dashboard_page_name = $dashboard_page_slug . '/' . $dashboard_page_name; |
| 36 | } |
| 37 | } |
| 38 | $dashboard_page_name = apply_filters( 'tutor_dashboard_sub_page_template', $dashboard_page_name ); |
| 39 | $dashboard_pages = tutor_utils()->tutor_dashboard_nav_ui_items(); |
| 40 | |
| 41 | ?> |
| 42 | <div class="tutor-dashboard-sidebar"> |
| 43 | <a href="<?php echo esc_url( home_url( '/' ) ); ?>" class="tutor-dashboard-sidebar-logo"> |
| 44 | <?php |
| 45 | $custom_logo_id = get_theme_mod( 'custom_logo' ); |
| 46 | $logo_url = $custom_logo_id ? wp_get_attachment_image_url( $custom_logo_id, 'full' ) : false; |
| 47 | |
| 48 | if ( $logo_url ) : |
| 49 | ?> |
| 50 | <img src="<?php echo esc_url( $logo_url ); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>"> |
| 51 | <?php else : ?> |
| 52 | <span class="site-title"><?php echo esc_html( get_bloginfo( 'name' ) ); ?></span> |
| 53 | <?php endif; ?> |
| 54 | </a> |
| 55 | <div class="tutor-dashboard-sidebar-nav" role="navigation"> |
| 56 | <ul> |
| 57 | <?php |
| 58 | foreach ( $dashboard_pages as $dashboard_key => $dashboard_page ) { |
| 59 | $menu_title = $dashboard_page; |
| 60 | $menu_link = tutor_utils()->get_tutor_dashboard_page_permalink( $dashboard_key ); |
| 61 | |
| 62 | if ( is_array( $dashboard_page ) ) { |
| 63 | $menu_title = tutor_utils()->array_get( 'title', $dashboard_page ); |
| 64 | $menu_icon_name = tutor_utils()->array_get( 'icon', $dashboard_page, ( isset( $dashboard_page['icon'] ) ? $dashboard_page['icon'] : '' ) ); |
| 65 | $active_icon_name = tutor_utils()->array_get( 'active_icon', $dashboard_page, ( isset( $dashboard_page['active_icon'] ) ? $dashboard_page['active_icon'] : $menu_icon_name ) ); |
| 66 | |
| 67 | // Add new menu item property "url" for custom link. |
| 68 | if ( isset( $dashboard_page['url'] ) ) { |
| 69 | $menu_link = $dashboard_page['url']; |
| 70 | } |
| 71 | } |
| 72 | |
| 73 | $li_class = "tutor-dashboard-menu-{$dashboard_key}"; |
| 74 | if ( 'index' === $dashboard_key ) { |
| 75 | $dashboard_key = ''; |
| 76 | } |
| 77 | $is_active_menu = $dashboard_key === $dashboard_page_slug; |
| 78 | $active_class = $is_active_menu ? 'active' : ''; |
| 79 | $data_no_instant = 'logout' === $dashboard_key ? 'data-no-instant' : ''; |
| 80 | $menu_link = apply_filters( 'tutor_dashboard_menu_link', $menu_link, $menu_title ); |
| 81 | ?> |
| 82 | <li class="<?php echo esc_attr( $li_class ); ?>"> |
| 83 | <a <?php echo esc_html( $data_no_instant ); ?> href="<?php echo esc_url( $menu_link ); ?>" class='<?php echo esc_attr( $active_class ); ?>'> |
| 84 | <?php |
| 85 | SvgIcon::make() |
| 86 | ->name( ( $is_active_menu && ! tutor_utils()->is_kids_mode() ) ? $active_icon_name : $menu_icon_name ) |
| 87 | ->size( tutor_utils()->is_kids_mode() ? Size::SIZE_24 : Size::SIZE_20 ) |
| 88 | ->render(); |
| 89 | ?> |
| 90 | <span> |
| 91 | <?php echo esc_html( $menu_title ); ?> |
| 92 | </span> |
| 93 | </a> |
| 94 | </li> |
| 95 | <?php |
| 96 | } |
| 97 | ?> |
| 98 | </ul> |
| 99 | </div> |
| 100 | <?php if ( User::is_student_view() ) : ?> |
| 101 | <a href="<?php echo esc_url( tutor_utils()->course_archive_page_url() ); ?>" target="_blank" class="tutor-see-all-courses"> |
| 102 | <?php esc_html_e( 'Explore Courses', 'tutor' ); ?> |
| 103 | <?php |
| 104 | SvgIcon::make() |
| 105 | ->name( Icon::RIGHT_ARROW_UP ) |
| 106 | ->size( tutor_utils()->is_kids_mode() ? Size::SIZE_24 : Size::SIZE_20 ) |
| 107 | ->flip_rtl() |
| 108 | ->render(); |
| 109 | ?> |
| 110 | </a> |
| 111 | <?php endif; ?> |
| 112 | </div> |
| 113 | <?php |
| 114 | tutor_load_template( |
| 115 | 'dashboard.components.sidebar-nav-mobile', |
| 116 | array( |
| 117 | 'dashboard_pages' => $dashboard_pages, |
| 118 | 'dashboard_page_slug' => $dashboard_page_slug, |
| 119 | ) |
| 120 | ); |
| 121 | ?> |
| 122 |