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