PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.0
Tutor LMS – eLearning and online course solution v4.0.0
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 23 hours ago ecommerce 23 hours ago email 23 hours ago global 1 week ago instructor 3 years ago learning-area 23 hours ago loop 23 hours ago modal 2 months ago profile 3 years ago shared 23 hours ago shortcode 2 months ago single 23 hours ago template-part 23 hours ago widget 3 years ago account-header.php 23 hours ago account.php 23 hours 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 23 hours ago dashboard.php 23 hours ago feature_disabled.php 3 years ago login-form-legacy.php 23 hours ago login-form.php 23 hours ago login.php 23 hours ago permission-denied.php 23 hours ago public-profile.php 23 hours ago single-assignment.php 3 years ago single-content-loader.php 2 months ago single-course.php 23 hours 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 23 hours 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