PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.1.7
Tutor LMS – eLearning and online course solution v2.1.7
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 3 years ago reset-password.php 3 years ago social-profile.php 3 years ago withdraw-settings.php 3 years ago
profile.php
205 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 $errors = apply_filters( 'tutor_profile_edit_validation_errors', array() );
108 if ( is_array( $errors ) && count( $errors ) ) {
109 echo '<div class="tutor-alert-warning tutor-mb-12"><ul class="tutor-required-fields">';
110 foreach ( $errors 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 <textarea class="tutor-form-control" name="tutor_profile_bio"><?php echo esc_html( strip_tags( get_user_meta( $user->ID, '_tutor_profile_bio', true ) ) ); ?></textarea>
166 </div>
167 </div>
168
169 <div class="tutor-row">
170 <div class="tutor-col-12 tutor-col-sm-6 tutor-col-md-12 tutor-col-lg-6 tutor-mb-32">
171 <label class="tutor-form-label tutor-color-secondary">
172 <?php esc_html_e( 'Display name publicly as', 'tutor' ); ?>
173
174 </label>
175 <select class="tutor-form-select" name="display_name">
176 <?php
177 foreach ( $public_display as $id => $item ) {
178 ?>
179 <option <?php selected( $user->display_name, $item ); ?>><?php echo esc_html( $item ); ?></option>
180 <?php
181 }
182 ?>
183 </select>
184 <div class="tutor-fs-7 tutor-color-secondary tutor-mt-12">
185 <?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' ); ?>
186 </div>
187 </div>
188 </div>
189 <?php do_action( 'tutor_profile_edit_input_after', $user ); ?>
190
191 <div class="tutor-row">
192 <div class="tutor-col-12">
193 <button type="submit" class="tutor-btn tutor-btn-primary tutor-profile-settings-save">
194 <?php esc_html_e( 'Update Profile', 'tutor' ); ?>
195 </button>
196 </div>
197 </div>
198 </form>
199
200 <?php do_action( 'tutor_profile_edit_form_after' ); ?>
201 </div>
202 <style>
203 .tutor-form-control.invalid{border-color: red;}
204 </style>
205