PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.1
Tutor LMS – eLearning and online course solution v4.0.1
4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / templates / user-profile.php
tutor / templates Last commit date
course-filter 2 months ago dashboard 4 days ago ecommerce 4 days ago email 4 days ago global 1 week ago instructor 3 years ago learning-area 4 days ago loop 4 days ago modal 2 months ago profile 3 years ago shared 1 day ago shortcode 2 months ago single 4 days ago template-part 4 days ago widget 3 years ago account-header.php 4 days ago account.php 4 days ago archive-course-init.php 9 months ago archive-course.php 3 years ago course-embed.php 2 months ago course-none.php 3 years ago dashboard-isolated.php 4 days ago dashboard.php 4 days ago feature_disabled.php 3 years ago login-form-legacy.php 4 days ago login-form.php 4 days ago login.php 4 days ago permission-denied.php 4 days ago public-profile.php 4 days ago single-assignment.php 3 years ago single-content-loader.php 2 months ago single-course.php 4 days ago single-lesson.php 3 years ago single-preview-lesson.php 3 years ago single-quiz.php 1 year ago template.php 3 years ago user-profile.php 4 days ago
user-profile.php
149 lines
1 <?php
2 /**
3 * Tutor dashboard profile.
4 *
5 * @package Tutor\Templates
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 4.0.0
9 */
10
11 defined( 'ABSPATH' ) || exit;
12
13 use Tutor\Components\Avatar;
14 use Tutor\Components\Constants\Size;
15 use TUTOR\Dashboard;
16 use TUTOR\Icon;
17 use Tutor\Components\SvgIcon;
18 use Tutor\Helpers\UrlHelper;
19 use TUTOR\Input;
20
21 $user_id = Input::get( 'student_id', get_current_user_id(), Input::TYPE_INT );
22 $student_details = get_userdata( $user_id );
23 $student_meta = get_user_meta( $user_id );
24 $cover_photo_url = tutor_utils()->get_cover_photo_url( $user_id );
25 $edit_profile_url = Dashboard::get_account_page_url( 'settings' ) . '?tab=account';
26 $phone_number = $student_meta['phone_number'][0] ?? '';
27
28 $social_fields = tutor_utils()->tutor_user_social_icons();
29 $social_links = array();
30
31 foreach ( $social_fields as $meta_key => $field ) {
32 $url = $student_meta[ $meta_key ][0] ?? '';
33 $social_links[ $meta_key ] = array(
34 'url' => $url,
35 'icon' => $field['svg_icon'] ?? Icon::GLOBE,
36 'label' => $field['label'],
37 );
38 }
39 ?>
40
41 <div class="tutor-profile-card">
42 <div class="tutor-profile-card-header" style="background-image: url(<?php echo esc_attr( $cover_photo_url ); ?>);">
43 <?php Avatar::make()->user( $user_id )->size( Size::SIZE_104 )->render(); ?>
44 <?php if ( tutor_utils()->is_dashboard_page( 'account/profile' ) ) : ?>
45 <a href="<?php echo esc_url( UrlHelper::add_query_params( $edit_profile_url, array( 'back_url' => UrlHelper::current() ) ) ); ?>" class="tutor-edit-profile-btn">
46 <?php SvgIcon::make()->name( Icon::EDIT_2 )->render(); ?>
47 <span><?php esc_html_e( 'Edit Profile', 'tutor' ); ?></span>
48 </a>
49 <?php endif; ?>
50 </div>
51 <div class="tutor-profile-card-body">
52 <div class="tutor-profile-card-body-left">
53 <div>
54 <h3 class="tutor-user-profile-title">
55 <?php echo esc_html( $student_details->display_name ); ?>
56 </h3>
57 <div class="tutor-user-profile-designation">
58 <?php echo esc_html( $student_meta['_tutor_profile_job_title'][0] ?? '' ); ?>
59 </div>
60
61 <?php
62 $has_social = array_filter( array_column( $social_links, 'url' ) );
63 if ( $has_social ) :
64 ?>
65 <div class="tutor-user-profile-social">
66 <?php foreach ( $social_links as $social_link ) : ?>
67 <?php if ( ! empty( $social_link['url'] ) ) : ?>
68 <a
69 href="<?php echo esc_url( $social_link['url'] ); ?>"
70 class="tutor-social-link"
71 target="_blank"
72 rel="noopener noreferrer"
73 aria-label="<?php echo esc_attr( $social_link['label'] ); ?>"
74 >
75 <?php SvgIcon::make()->name( $social_link['icon'] )->render(); ?>
76 </a>
77 <?php endif; ?>
78 <?php endforeach; ?>
79 </div>
80 <?php endif; ?>
81 </div>
82 </div>
83 <div class="tutor-profile-card-body-right">
84 <?php
85 $bio_text = $student_meta['_tutor_profile_bio'][0] ?? '';
86 if ( ! empty( $bio_text ) ) :
87 ?>
88 <div
89 class="tutor-bio-wrapper"
90 x-data="tutorReadMore({ lines: 4 })"
91 >
92 <div
93 class="tutor-user-profile-bio"
94 x-ref="content"
95 style="display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden;"
96 >
97 <?php echo wp_kses_post( $bio_text ); ?>
98 </div>
99
100 <button
101 type="button"
102 class="tutor-bio-toggle"
103 x-ref="readMore"
104 x-cloak
105 x-show="hasOverflow && ! expanded"
106 @click="toggle()"
107 :aria-expanded="expanded.toString()"
108 >
109 <?php esc_html_e( '… Read more', 'tutor' ); ?>
110 </button>
111
112 <button
113 type="button"
114 class="tutor-bio-toggle-less"
115 x-cloak
116 x-show="expanded"
117 @click="toggle()"
118 :aria-expanded="expanded.toString()"
119 >
120 <?php esc_html_e( 'Read less', 'tutor' ); ?>
121 </button>
122 </div>
123 <?php endif; ?>
124
125 <ul class="tutor-user-profile-details">
126 <li class="tutor-badge tutor-badge-disabled">
127 <?php esc_html_e( 'Username', 'tutor' ); ?> :
128 <span><?php echo esc_html( $student_details->user_login ); ?></span>
129 </li>
130 <li class="tutor-badge tutor-badge-disabled">
131 <?php esc_html_e( 'Email', 'tutor' ); ?> :
132 <span><?php echo esc_html( $student_details->user_email ); ?></span>
133 </li>
134 <?php if ( ! empty( $phone_number ) ) : ?>
135 <li class="tutor-badge tutor-badge-disabled">
136 <?php esc_html_e( 'Phone', 'tutor' ); ?> :
137 <span><?php echo esc_html( $phone_number ); ?></span>
138 </li>
139 <?php endif; ?>
140 </ul>
141 </div>
142 <div class="tutor-profile-member-since">
143 <?php SvgIcon::make()->name( Icon::MEMBER )->render(); ?>
144 <?php esc_html_e( 'Member since', 'tutor' ); ?>
145 <?php echo esc_html( tutor_i18n_get_formated_date( $student_details->user_registered, 'F j, Y' ) ); ?>
146 </div>
147 </div>
148 </div>
149