PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.7.3
Tutor LMS – eLearning and online course solution v2.7.3
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 / dashboard / settings / profile.php
tutor / templates / dashboard / settings Last commit date
nav-bar.php 3 years ago profile.php 2 years ago reset-password.php 2 years ago social-profile.php 2 years ago withdraw-settings.php 2 years ago
profile.php
208 lines
1 <?php
2 /**
3 * Profile
4 *
5 * @package Tutor\Templates
6 * @subpackage Dashboard\Settings
7 * @author Themeum <support@themeum.com>
8 * @link https://themeum.com
9 * @since 1.6.2
10 */
11
12 $user = wp_get_current_user();
13
14 // Prepare profile pic.
15 $profile_placeholder = apply_filters( 'tutor_login_default_avatar', tutor()->url . 'assets/images/profile-photo.png' );
16 $profile_photo_src = $profile_placeholder;
17 $profile_photo_id = get_user_meta( $user->ID, '_tutor_profile_photo', true );
18 if ( $profile_photo_id ) {
19 $url = wp_get_attachment_image_url( $profile_photo_id, 'full' );
20 ! empty( $url ) ? $profile_photo_src = $url : 0;
21 }
22
23 // Prepare cover photo.
24 $cover_placeholder = tutor()->url . 'assets/images/cover-photo.jpg';
25 $cover_photo_src = $cover_placeholder;
26 $cover_photo_id = get_user_meta( $user->ID, '_tutor_cover_photo', true );
27 if ( $cover_photo_id ) {
28 $url = wp_get_attachment_image_url( $cover_photo_id, 'full' );
29 ! empty( $url ) ? $cover_photo_src = $url : 0;
30 }
31
32 // Prepare display name.
33 $public_display = array();
34 $public_display['display_nickname'] = $user->nickname;
35 $public_display['display_username'] = $user->user_login;
36
37 if ( ! empty( $user->first_name ) ) {
38 $public_display['display_firstname'] = $user->first_name;
39 }
40
41 if ( ! empty( $user->last_name ) ) {
42 $public_display['display_lastname'] = $user->last_name;
43 }
44
45 if ( ! empty( $user->first_name ) && ! empty( $user->last_name ) ) {
46 $public_display['display_firstlast'] = $user->first_name . ' ' . $user->last_name;
47 $public_display['display_lastfirst'] = $user->last_name . ' ' . $user->first_name;
48 }
49
50 if ( ! in_array( $user->display_name, $public_display ) ) { // Only add this if it isn't duplicated elsewhere.
51 $public_display = array( 'display_displayname' => $user->display_name ) + $public_display;
52 }
53
54 $public_display = array_map( 'trim', $public_display );
55 $public_display = array_unique( $public_display );
56 $max_filesize = floatval( ini_get( 'upload_max_filesize' ) ) * ( 1024 * 1024 );
57 ?>
58
59 <div class="tutor-dashboard-setting-profile tutor-dashboard-content-inner">
60
61 <?php do_action( 'tutor_profile_edit_form_before' ); ?>
62
63 <div id="tutor_profile_cover_photo_editor">
64
65 <input id="tutor_photo_dialogue_box" type="file" accept=".png,.jpg,.jpeg"/>
66 <input type="hidden" class="upload_max_filesize" value="<?php echo esc_attr( $max_filesize ); ?>">
67 <div id="tutor_cover_area" data-fallback="<?php echo esc_attr( $cover_placeholder ); ?>" style="background-image:url(<?php echo esc_url( $cover_photo_src ); ?>)">
68 <span class="tutor_cover_deleter">
69 <span class="dashboard-profile-delete tutor-icon-trash-can-bold"></span>
70 </span>
71 <div class="tutor_overlay">
72 <button class="tutor_cover_uploader tutor-btn tutor-btn-primary">
73 <i class="tutor-icon-camera tutor-mr-12" area-hidden="true"></i>
74 <span><?php echo $profile_photo_id ? esc_html__( 'Update Cover Photo', 'tutor' ) : esc_html__( 'Upload Cover Photo', 'tutor' ); ?></span>
75 </button>
76 </div>
77 </div>
78 <div id="tutor_photo_meta_area">
79 <img src="<?php echo esc_url( tutor()->url . '/assets/images/' ); ?>info-icon.svg" />
80 <span><?php esc_html_e( 'Profile Photo Size', 'tutor' ); ?>: <span><?php esc_html_e( '200x200', 'tutor' ); ?></span> <?php esc_html_e( 'pixels', 'tutor' ); ?></span>
81 <span>&nbsp;&nbsp;&nbsp;&nbsp;<?php esc_html_e( 'Cover Photo Size', 'tutor' ); ?>: <span><?php esc_html_e( '700x430', 'tutor' ); ?></span> <?php esc_html_e( 'pixels', 'tutor' ); ?> </span>
82 <span class="loader-area"><?php esc_html_e( 'Saving...', 'tutor' ); ?></span>
83 </div>
84 <div id="tutor_profile_area" data-fallback="<?php echo esc_attr( $profile_placeholder ); ?>" style="background-image:url(<?php echo esc_url( $profile_photo_src ); ?>)">
85 <div class="tutor_overlay">
86 <i class="tutor-icon-camera"></i>
87 </div>
88 </div>
89 <div id="tutor_pp_option">
90 <div class="up-arrow">
91 <i></i>
92 </div>
93
94 <span class="tutor_pp_uploader profile-uploader">
95 <i class="profile-upload-icon tutor-icon-image-landscape tutor-mr-4"></i> <?php esc_html_e( 'Upload Photo', 'tutor' ); ?>
96 </span>
97 <span class="tutor_pp_deleter profile-uploader">
98 <i class="profile-upload-icon tutor-icon-trash-can-bold tutor-mr-4"></i> <?php esc_html_e( 'Delete', 'tutor' ); ?>
99 </span>
100
101 <div></div>
102 </div>
103 </div>
104
105 <form action="" method="post" enctype="multipart/form-data">
106 <?php
107 $error_list = apply_filters( 'tutor_profile_edit_validation_errors', array() );
108 if ( is_array( $error_list ) && count( $error_list ) ) {
109 echo '<div class="tutor-alert-warning tutor-mb-12"><ul class="tutor-required-fields">';
110 foreach ( $error_list as $error_key => $error_value ) {
111 echo '<li>' . esc_html( $error_value ) . '</li>';
112 }
113 echo '</ul></div>';
114 }
115 ?>
116
117 <?php do_action( 'tutor_profile_edit_input_before' ); ?>
118
119 <div class="tutor-row">
120 <div class="tutor-col-12 tutor-col-sm-6 tutor-col-md-12 tutor-col-lg-6 tutor-mb-32">
121 <label class="tutor-form-label tutor-color-secondary">
122 <?php esc_html_e( 'First Name', 'tutor' ); ?>
123 </label>
124 <input class="tutor-form-control" type="text" name="first_name" value="<?php echo esc_attr( $user->first_name ); ?>" placeholder="<?php esc_attr_e( 'First Name', 'tutor' ); ?>">
125 </div>
126
127 <div class="tutor-col-12 tutor-col-sm-6 tutor-col-md-12 tutor-col-lg-6 tutor-mb-32">
128 <label class="tutor-form-label tutor-color-secondary">
129 <?php esc_html_e( 'Last Name', 'tutor' ); ?>
130 </label>
131 <input class="tutor-form-control" type="text" name="last_name" value="<?php echo esc_attr( $user->last_name ); ?>" placeholder="<?php esc_attr_e( 'Last Name', 'tutor' ); ?>">
132 </div>
133 </div>
134
135 <div class="tutor-row">
136 <div class="tutor-col-12 tutor-col-sm-6 tutor-col-md-12 tutor-col-lg-6 tutor-mb-32">
137 <label class="tutor-form-label tutor-color-secondary">
138 <?php esc_html_e( 'User Name', 'tutor' ); ?>
139 </label>
140 <input class="tutor-form-control" type="text" disabled="disabled" value="<?php echo esc_attr( $user->user_login ); ?>">
141 </div>
142
143 <div class="tutor-col-12 tutor-col-sm-6 tutor-col-md-12 tutor-col-lg-6 tutor-mb-32">
144 <label class="tutor-form-label tutor-color-secondary">
145 <?php esc_html_e( 'Phone Number', 'tutor' ); ?>
146 </label>
147 <input class="tutor-form-control" type="tel" pattern="[0-9]{3}-[0-9]{2}-[0-9]{3}" name="phone_number" value="<?php echo esc_html( filter_var( get_user_meta( $user->ID, 'phone_number', true ), FILTER_SANITIZE_NUMBER_INT ) ); ?>" placeholder="<?php esc_attr_e( 'Phone Number', 'tutor' ); ?>">
148 </div>
149 </div>
150
151 <div class="tutor-row">
152 <div class="tutor-col-12 tutor-mb-32">
153 <label class="tutor-form-label tutor-color-secondary">
154 <?php esc_html_e( 'Skill/Occupation', 'tutor' ); ?>
155 </label>
156 <input class="tutor-form-control" type="text" name="tutor_profile_job_title" value="<?php echo esc_attr( get_user_meta( $user->ID, '_tutor_profile_job_title', true ) ); ?>" placeholder="<?php esc_attr_e( 'UX Designer', 'tutor' ); ?>">
157 </div>
158 </div>
159
160 <div class="tutor-row">
161 <div class="tutor-col-12 tutor-mb-32">
162 <label class="tutor-form-label tutor-color-secondary">
163 <?php esc_html_e( 'Bio', 'tutor' ); ?>
164 </label>
165 <?php
166 $profile_bio = get_user_meta( $user->ID, '_tutor_profile_bio', true );
167 wp_editor( $profile_bio, 'tutor_profile_bio', tutor_utils()->get_profile_bio_editor_config() );
168 ?>
169 </div>
170 </div>
171
172 <div class="tutor-row">
173 <div class="tutor-col-12 tutor-col-sm-6 tutor-col-md-12 tutor-col-lg-6 tutor-mb-32">
174 <label class="tutor-form-label tutor-color-secondary">
175 <?php esc_html_e( 'Display name publicly as', 'tutor' ); ?>
176
177 </label>
178 <select class="tutor-form-select" name="display_name">
179 <?php
180 foreach ( $public_display as $_id => $item ) {
181 ?>
182 <option <?php selected( $user->display_name, $item ); ?>><?php echo esc_html( $item ); ?></option>
183 <?php
184 }
185 ?>
186 </select>
187 <div class="tutor-fs-7 tutor-color-secondary tutor-mt-12">
188 <?php esc_html_e( 'The display name is shown in all public fields, such as the author name, instructor name, student name, and name that will be printed on the certificate.', 'tutor' ); ?>
189 </div>
190 </div>
191 </div>
192 <?php do_action( 'tutor_profile_edit_input_after', $user ); ?>
193
194 <div class="tutor-row">
195 <div class="tutor-col-12">
196 <button type="submit" class="tutor-btn tutor-btn-primary tutor-profile-settings-save">
197 <?php esc_html_e( 'Update Profile', 'tutor' ); ?>
198 </button>
199 </div>
200 </div>
201 </form>
202
203 <?php do_action( 'tutor_profile_edit_form_after' ); ?>
204 </div>
205 <style>
206 .tutor-form-control.invalid{border-color: red;}
207 </style>
208