Version Description
Download this release
Release Info
Developer | nsinelnikov |
Plugin | Ultimate Member – User Profile & Membership Plugin |
Version | 2.0.28 |
Comparing to | |
See all releases |
Code changes from version 2.0.26 to 2.0.28
- includes/core/class-fields.php +7 -0
- includes/core/class-files.php +29 -12
- includes/core/class-user.php +6 -4
- includes/core/um-actions-login.php +23 -18
- includes/core/um-actions-profile.php +4 -4
- includes/core/um-actions-register.php +3 -3
- includes/core/um-filters-fields.php +47 -1
- includes/um-short-functions.php +92 -23
- languages/ultimate-member-en_US.mo +0 -0
- languages/ultimate-member-en_US.po +27 -35
- readme.txt +16 -1
- ultimate-member.php +1 -1
includes/core/class-fields.php
CHANGED
@@ -2313,6 +2313,13 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
|
|
2313 |
} else {
|
2314 |
$file_url = UM()->files()->get_download_link( $this->set_id, $key, um_user( 'ID' ) );
|
2315 |
$file_dir = UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $this->field_value( $key, $default, $data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2316 |
}
|
2317 |
|
2318 |
if ( file_exists( $file_dir ) ) {
|
2313 |
} else {
|
2314 |
$file_url = UM()->files()->get_download_link( $this->set_id, $key, um_user( 'ID' ) );
|
2315 |
$file_dir = UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $this->field_value( $key, $default, $data );
|
2316 |
+
|
2317 |
+
if ( ! file_exists( $file_dir ) ) {
|
2318 |
+
if ( is_multisite() ) {
|
2319 |
+
//multisite fix for old customers
|
2320 |
+
$file_dir = str_replace( DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . get_current_blog_id() . DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, $file_dir );
|
2321 |
+
}
|
2322 |
+
}
|
2323 |
}
|
2324 |
|
2325 |
if ( file_exists( $file_dir ) ) {
|
includes/core/class-files.php
CHANGED
@@ -100,18 +100,19 @@ if ( ! class_exists( 'um\core\Files' ) ) {
|
|
100 |
return false;
|
101 |
}
|
102 |
|
103 |
-
|
|
|
104 |
return false;
|
105 |
}
|
106 |
|
107 |
$form_id = get_query_var( 'um_form' );
|
108 |
-
|
109 |
-
if ( empty(
|
110 |
return false;
|
111 |
}
|
112 |
$field_key = urldecode( get_query_var( 'um_field' ) );
|
113 |
-
|
114 |
-
if ( empty(
|
115 |
return false;
|
116 |
}
|
117 |
|
@@ -121,9 +122,9 @@ if ( ! class_exists( 'um\core\Files' ) ) {
|
|
121 |
if ( empty( $user ) || is_wp_error( $user ) ) {
|
122 |
return false;
|
123 |
}
|
124 |
-
|
125 |
-
if ( empty(
|
126 |
-
! wp_verify_nonce(
|
127 |
return false;
|
128 |
}
|
129 |
|
@@ -160,11 +161,19 @@ if ( ! class_exists( 'um\core\Files' ) ) {
|
|
160 |
*/
|
161 |
function image_download( $user_id, $field_key, $field_value ) {
|
162 |
$file_path = UM()->uploader()->get_upload_base_dir() . $user_id . DIRECTORY_SEPARATOR . $field_value;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
$file_info = get_user_meta( $user_id, $field_key . "_metadata", true );
|
164 |
|
|
|
165 |
$size = filesize( $file_path );
|
166 |
-
$originalname = $file_info['original_name'];
|
167 |
-
$type = $file_info['type'];
|
168 |
|
169 |
header('Content-Description: File Transfer');
|
170 |
header('Content-Type: ' . $type );
|
@@ -186,11 +195,19 @@ if ( ! class_exists( 'um\core\Files' ) ) {
|
|
186 |
*/
|
187 |
function file_download( $user_id, $field_key, $field_value ) {
|
188 |
$file_path = UM()->uploader()->get_upload_base_dir() . $user_id . DIRECTORY_SEPARATOR . $field_value;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
$file_info = get_user_meta( $user_id, $field_key . "_metadata", true );
|
190 |
|
|
|
191 |
$size = filesize( $file_path );
|
192 |
-
$originalname = $file_info['original_name'];
|
193 |
-
$type = $file_info['type'];
|
194 |
|
195 |
header('Content-Description: File Transfer');
|
196 |
header('Content-Type: ' . $type );
|
100 |
return false;
|
101 |
}
|
102 |
|
103 |
+
$query_form = get_query_var( 'um_form' );
|
104 |
+
if ( empty( $query_form ) ) {
|
105 |
return false;
|
106 |
}
|
107 |
|
108 |
$form_id = get_query_var( 'um_form' );
|
109 |
+
$query_field = get_query_var( 'um_field' );
|
110 |
+
if ( empty( $query_field ) ) {
|
111 |
return false;
|
112 |
}
|
113 |
$field_key = urldecode( get_query_var( 'um_field' ) );
|
114 |
+
$query_user = get_query_var( 'um_user' );
|
115 |
+
if ( empty( $query_user ) ) {
|
116 |
return false;
|
117 |
}
|
118 |
|
122 |
if ( empty( $user ) || is_wp_error( $user ) ) {
|
123 |
return false;
|
124 |
}
|
125 |
+
$query_verify = get_query_var( 'um_verify' );
|
126 |
+
if ( empty( $query_verify ) ||
|
127 |
+
! wp_verify_nonce( $query_verify, $user_id . $form_id . 'um-download-nonce' ) ) {
|
128 |
return false;
|
129 |
}
|
130 |
|
161 |
*/
|
162 |
function image_download( $user_id, $field_key, $field_value ) {
|
163 |
$file_path = UM()->uploader()->get_upload_base_dir() . $user_id . DIRECTORY_SEPARATOR . $field_value;
|
164 |
+
if ( ! file_exists( $file_path ) ) {
|
165 |
+
if ( is_multisite() ) {
|
166 |
+
//multisite fix for old customers
|
167 |
+
$file_path = str_replace( DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . get_current_blog_id() . DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, $file_path );
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
$file_info = get_user_meta( $user_id, $field_key . "_metadata", true );
|
172 |
|
173 |
+
$pathinfo = pathinfo( $file_path );
|
174 |
$size = filesize( $file_path );
|
175 |
+
$originalname = ! empty( $file_info['original_name'] ) ? $file_info['original_name'] : $pathinfo['basename'];
|
176 |
+
$type = ! empty( $file_info['type'] ) ? $file_info['type'] : $pathinfo['extension'];
|
177 |
|
178 |
header('Content-Description: File Transfer');
|
179 |
header('Content-Type: ' . $type );
|
195 |
*/
|
196 |
function file_download( $user_id, $field_key, $field_value ) {
|
197 |
$file_path = UM()->uploader()->get_upload_base_dir() . $user_id . DIRECTORY_SEPARATOR . $field_value;
|
198 |
+
if ( ! file_exists( $file_path ) ) {
|
199 |
+
if ( is_multisite() ) {
|
200 |
+
//multisite fix for old customers
|
201 |
+
$file_path = str_replace( DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . get_current_blog_id() . DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, $file_path );
|
202 |
+
}
|
203 |
+
}
|
204 |
+
|
205 |
$file_info = get_user_meta( $user_id, $field_key . "_metadata", true );
|
206 |
|
207 |
+
$pathinfo = pathinfo( $file_path );
|
208 |
$size = filesize( $file_path );
|
209 |
+
$originalname = ! empty( $file_info['original_name'] ) ? $file_info['original_name'] : $pathinfo['basename'];
|
210 |
+
$type = ! empty( $file_info['type'] ) ? $file_info['type'] : $pathinfo['extension'];
|
211 |
|
212 |
header('Content-Description: File Transfer');
|
213 |
header('Content-Type: ' . $type );
|
includes/core/class-user.php
CHANGED
@@ -1214,12 +1214,14 @@ if ( ! class_exists( 'um\core\User' ) ) {
|
|
1214 |
?>
|
1215 |
*
|
1216 |
*/
|
1217 |
-
function approve() {
|
1218 |
$user_id = um_user('ID');
|
1219 |
|
1220 |
-
|
1221 |
-
|
1222 |
-
|
|
|
|
|
1223 |
}
|
1224 |
|
1225 |
delete_option( "um_cache_userdata_{$user_id}" );
|
1214 |
?>
|
1215 |
*
|
1216 |
*/
|
1217 |
+
function approve( $repeat = true ) {
|
1218 |
$user_id = um_user('ID');
|
1219 |
|
1220 |
+
if ( ! $repeat ) {
|
1221 |
+
$status = get_user_meta( $user_id, 'account_status', true );
|
1222 |
+
if ( 'approved' === $status ) {
|
1223 |
+
return;
|
1224 |
+
}
|
1225 |
}
|
1226 |
|
1227 |
delete_option( "um_cache_userdata_{$user_id}" );
|
includes/core/um-actions-login.php
CHANGED
@@ -47,16 +47,18 @@ function um_submit_form_errors_hook_login( $args ) {
|
|
47 |
$user_name = $args['user_login'];
|
48 |
}
|
49 |
|
50 |
-
if ( !username_exists( $user_name ) ) {
|
51 |
if ( $is_email ) {
|
52 |
UM()->form()->add_error( $field, __(' Sorry, we can\'t find an account with that email address','ultimate-member') );
|
53 |
} else {
|
54 |
UM()->form()->add_error( $field, __(' Sorry, we can\'t find an account with that username','ultimate-member') );
|
55 |
}
|
56 |
} else {
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
60 |
}
|
61 |
|
62 |
$user = get_user_by( 'login', $user_name );
|
@@ -100,26 +102,29 @@ add_action( 'um_submit_form_errors_hook_login', 'um_submit_form_errors_hook_logi
|
|
100 |
*/
|
101 |
function um_display_login_errors( $args ) {
|
102 |
$error = '';
|
103 |
-
|
104 |
-
if( UM()->form()->count_errors() > 0 ) {
|
105 |
$errors = UM()->form()->errors;
|
106 |
// hook for other plugins to display error
|
107 |
$error_keys = array_keys( $errors );
|
108 |
-
|
109 |
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
|
|
119 |
}
|
|
|
120 |
}
|
121 |
}
|
122 |
}
|
|
|
123 |
add_action( 'um_before_login_fields', 'um_display_login_errors' );
|
124 |
|
125 |
|
@@ -421,12 +426,12 @@ function um_add_submit_button_to_login( $args ) {
|
|
421 |
|
422 |
<?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
|
423 |
|
424 |
-
<div class="um-left um-half"><input type="submit" value="<?php
|
425 |
-
<div class="um-right um-half"><a href="<?php echo $secondary_btn_url; ?>" class="um-button um-alt"><?php
|
426 |
|
427 |
<?php } else { ?>
|
428 |
|
429 |
-
<div class="um-center"><input type="submit" value="<?php
|
430 |
|
431 |
<?php } ?>
|
432 |
|
47 |
$user_name = $args['user_login'];
|
48 |
}
|
49 |
|
50 |
+
/*if ( !username_exists( $user_name ) ) {
|
51 |
if ( $is_email ) {
|
52 |
UM()->form()->add_error( $field, __(' Sorry, we can\'t find an account with that email address','ultimate-member') );
|
53 |
} else {
|
54 |
UM()->form()->add_error( $field, __(' Sorry, we can\'t find an account with that username','ultimate-member') );
|
55 |
}
|
56 |
} else {
|
57 |
+
|
58 |
+
}*/
|
59 |
+
|
60 |
+
if ( $args['user_password'] == '' ) {
|
61 |
+
UM()->form()->add_error( 'user_password', __('Please enter your password','ultimate-member') );
|
62 |
}
|
63 |
|
64 |
$user = get_user_by( 'login', $user_name );
|
102 |
*/
|
103 |
function um_display_login_errors( $args ) {
|
104 |
$error = '';
|
105 |
+
|
106 |
+
if ( UM()->form()->count_errors() > 0 ) {
|
107 |
$errors = UM()->form()->errors;
|
108 |
// hook for other plugins to display error
|
109 |
$error_keys = array_keys( $errors );
|
110 |
+
}
|
111 |
|
112 |
+
if ( isset( $args['custom_fields'] ) ) {
|
113 |
+
$custom_fields = $args['custom_fields'];
|
114 |
+
}
|
115 |
|
116 |
+
if ( ! empty( $error_keys ) && ! empty( $custom_fields ) ) {
|
117 |
+
foreach ( $error_keys as $error ) {
|
118 |
+
if ( trim( $error ) && ! isset( $custom_fields[ $error ] ) && ! empty( $errors[ $error ] ) ) {
|
119 |
+
$error_message = apply_filters( 'login_errors', $errors[ $error ], $error );
|
120 |
+
if ( empty( $error_message ) ) {
|
121 |
+
return;
|
122 |
}
|
123 |
+
echo '<p class="um-notice err um-error-code-' . esc_attr( $error ) . '"><i class="um-icon-ios-close-empty" onclick="jQuery(this).parent().fadeOut();"></i>' . $error_message . '</p>';
|
124 |
}
|
125 |
}
|
126 |
}
|
127 |
+
}
|
128 |
add_action( 'um_before_login_fields', 'um_display_login_errors' );
|
129 |
|
130 |
|
426 |
|
427 |
<?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
|
428 |
|
429 |
+
<div class="um-left um-half"><input type="submit" value="<?php esc_attr_e( $primary_btn_word, 'ultimate-member' ); ?>" class="um-button" id="um-submit-btn" /></div>
|
430 |
+
<div class="um-right um-half"><a href="<?php echo esc_attr( $secondary_btn_url ); ?>" class="um-button um-alt"><?php esc_attr_e( $secondary_btn_word,'ultimate-member'); ?></a></div>
|
431 |
|
432 |
<?php } else { ?>
|
433 |
|
434 |
+
<div class="um-center"><input type="submit" value="<?php esc_attr_e( $args['primary_btn_word'],'ultimate-member' ); ?>" class="um-button" id="um-submit-btn" /></div>
|
435 |
|
436 |
<?php } ?>
|
437 |
|
includes/core/um-actions-profile.php
CHANGED
@@ -1195,15 +1195,15 @@ function um_add_submit_button_to_profile( $args ) {
|
|
1195 |
|
1196 |
<?php if (isset( $args['secondary_btn'] ) && $args['secondary_btn'] != 0) { ?>
|
1197 |
|
1198 |
-
<div class="um-left um-half"><input type="submit" value="<?php
|
1199 |
class="um-button"/></div>
|
1200 |
-
<div class="um-right um-half"><a href="<?php echo um_edit_my_profile_cancel_uri(); ?>"
|
1201 |
-
class="um-button um-alt"><?php
|
1202 |
</div>
|
1203 |
|
1204 |
<?php } else { ?>
|
1205 |
|
1206 |
-
<div class="um-center"><input type="submit" value="<?php
|
1207 |
class="um-button"/></div>
|
1208 |
|
1209 |
<?php } ?>
|
1195 |
|
1196 |
<?php if (isset( $args['secondary_btn'] ) && $args['secondary_btn'] != 0) { ?>
|
1197 |
|
1198 |
+
<div class="um-left um-half"><input type="submit" value="<?php esc_attr_e( $args['primary_btn_word'], 'ultimate-member' ); ?>"
|
1199 |
class="um-button"/></div>
|
1200 |
+
<div class="um-right um-half"><a href="<?php echo esc_attr( um_edit_my_profile_cancel_uri() ); ?>"
|
1201 |
+
class="um-button um-alt"><?php esc_attr_e( $args['secondary_btn_word'], 'ultimate-member' ); ?></a>
|
1202 |
</div>
|
1203 |
|
1204 |
<?php } else { ?>
|
1205 |
|
1206 |
+
<div class="um-center"><input type="submit" value="<?php esc_attr_e( $args['primary_btn_word'], 'ultimate-member' ); ?>"
|
1207 |
class="um-button"/></div>
|
1208 |
|
1209 |
<?php } ?>
|
includes/core/um-actions-register.php
CHANGED
@@ -585,12 +585,12 @@ function um_add_submit_button_to_register( $args ) {
|
|
585 |
|
586 |
<?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
|
587 |
|
588 |
-
<div class="um-left um-half"><input type="submit" value="<?php
|
589 |
-
<div class="um-right um-half"><a href="<?php echo $secondary_btn_url; ?>" class="um-button um-alt"><?php
|
590 |
|
591 |
<?php } else { ?>
|
592 |
|
593 |
-
<div class="um-center"><input type="submit" value="<?php
|
594 |
|
595 |
<?php } ?>
|
596 |
|
585 |
|
586 |
<?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
|
587 |
|
588 |
+
<div class="um-left um-half"><input type="submit" value="<?php esc_attr_e( $primary_btn_word,'ultimate-member' ) ?>" class="um-button" id="um-submit-btn" /></div>
|
589 |
+
<div class="um-right um-half"><a href="<?php echo esc_attr( $secondary_btn_url ); ?>" class="um-button um-alt"><?php esc_attr_e( $secondary_btn_word,'ultimate-member'); ?></a></div>
|
590 |
|
591 |
<?php } else { ?>
|
592 |
|
593 |
+
<div class="um-center"><input type="submit" value="<?php esc_attr_e( $primary_btn_word,'ultimate-member' ) ?>" class="um-button" id="um-submit-btn" /></div>
|
594 |
|
595 |
<?php } ?>
|
596 |
|
includes/core/um-filters-fields.php
CHANGED
@@ -226,7 +226,20 @@ function um_profile_field_filter_hook__file( $value, $data ) {
|
|
226 |
$file_type = wp_check_filetype( $value );
|
227 |
$uri = UM()->files()->get_download_link( UM()->fields()->set_id, $data['metakey'], um_user( 'ID' ) );
|
228 |
|
|
|
229 |
if ( ! file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $value ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
230 |
$value = __( 'This file has been removed.', 'ultimate-member' );
|
231 |
} else {
|
232 |
$file_info = um_user( $data['metakey'] . "_metadata" );
|
@@ -260,11 +273,24 @@ function um_profile_field_filter_hook__image( $value, $data ) {
|
|
260 |
$uri = UM()->files()->get_download_link( UM()->fields()->set_id, $data['metakey'], um_user( 'ID' ) );
|
261 |
$title = ( isset( $data['title'] ) ) ? $data['title'] : __( 'Untitled photo', 'ultimate-member' );
|
262 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
// if value is an image tag
|
264 |
if( preg_match( '/\<img.*src=\"([^"]+).*/', $value, $matches ) ) {
|
265 |
$uri = $matches[1];
|
266 |
$value = '<div class="um-photo"><a href="#" class="um-photo-modal" data-src="' . esc_attr( $uri ) . '"><img src="' . esc_attr( $uri ) . '" alt="' . esc_attr( $title ) . '" title="' . esc_attr( $title ) . '" class="" /></a></div>';
|
267 |
-
} else if (
|
268 |
$value = '<div class="um-photo"><a href="#" class="um-photo-modal" data-src="' . esc_attr( $uri ) . '"><img src="' . esc_attr( $uri ) . '" alt="' . esc_attr( $title ) . '" title="' . esc_attr( $title ) . '" class="" /></a></div>';
|
269 |
} else {
|
270 |
$value = '';
|
@@ -637,6 +663,26 @@ function um_profile_field_filter_xss_validation( $value, $data, $type = '' ) {
|
|
637 |
add_filter( 'um_profile_field_filter_hook__','um_profile_field_filter_xss_validation', 10, 3 );
|
638 |
|
639 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
640 |
/**
|
641 |
* add role_select and role_radio to the $post_form
|
642 |
* It is necessary for that if on these fields the conditional logic
|
226 |
$file_type = wp_check_filetype( $value );
|
227 |
$uri = UM()->files()->get_download_link( UM()->fields()->set_id, $data['metakey'], um_user( 'ID' ) );
|
228 |
|
229 |
+
$removed = false;
|
230 |
if ( ! file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $value ) ) {
|
231 |
+
if ( is_multisite() ) {
|
232 |
+
//multisite fix for old customers
|
233 |
+
$file_path = str_replace( DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . get_current_blog_id() . DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $value );
|
234 |
+
if ( ! file_exists( $file_path ) ) {
|
235 |
+
$removed = true;
|
236 |
+
}
|
237 |
+
} else {
|
238 |
+
$removed = true;
|
239 |
+
}
|
240 |
+
}
|
241 |
+
|
242 |
+
if ( $removed ) {
|
243 |
$value = __( 'This file has been removed.', 'ultimate-member' );
|
244 |
} else {
|
245 |
$file_info = um_user( $data['metakey'] . "_metadata" );
|
273 |
$uri = UM()->files()->get_download_link( UM()->fields()->set_id, $data['metakey'], um_user( 'ID' ) );
|
274 |
$title = ( isset( $data['title'] ) ) ? $data['title'] : __( 'Untitled photo', 'ultimate-member' );
|
275 |
|
276 |
+
$removed = false;
|
277 |
+
if ( ! file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $value ) ) {
|
278 |
+
if ( is_multisite() ) {
|
279 |
+
//multisite fix for old customers
|
280 |
+
$file_path = str_replace( DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . get_current_blog_id() . DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $value );
|
281 |
+
if ( ! file_exists( $file_path ) ) {
|
282 |
+
$removed = true;
|
283 |
+
}
|
284 |
+
} else {
|
285 |
+
$removed = true;
|
286 |
+
}
|
287 |
+
}
|
288 |
+
|
289 |
// if value is an image tag
|
290 |
if( preg_match( '/\<img.*src=\"([^"]+).*/', $value, $matches ) ) {
|
291 |
$uri = $matches[1];
|
292 |
$value = '<div class="um-photo"><a href="#" class="um-photo-modal" data-src="' . esc_attr( $uri ) . '"><img src="' . esc_attr( $uri ) . '" alt="' . esc_attr( $title ) . '" title="' . esc_attr( $title ) . '" class="" /></a></div>';
|
293 |
+
} else if ( ! $removed ) {
|
294 |
$value = '<div class="um-photo"><a href="#" class="um-photo-modal" data-src="' . esc_attr( $uri ) . '"><img src="' . esc_attr( $uri ) . '" alt="' . esc_attr( $title ) . '" title="' . esc_attr( $title ) . '" class="" /></a></div>';
|
295 |
} else {
|
296 |
$value = '';
|
663 |
add_filter( 'um_profile_field_filter_hook__','um_profile_field_filter_xss_validation', 10, 3 );
|
664 |
|
665 |
|
666 |
+
/**
|
667 |
+
* Trim All form POST submitted data
|
668 |
+
*
|
669 |
+
* @param $post_form
|
670 |
+
* @param $mode
|
671 |
+
*
|
672 |
+
* @return mixed
|
673 |
+
*/
|
674 |
+
function um_submit_form_data_trim_fields( $post_form, $mode ) {
|
675 |
+
foreach ( $post_form as $key => $field ) {
|
676 |
+
if ( is_string( $field ) ) {
|
677 |
+
$post_form[ $key ] = trim( $field );
|
678 |
+
}
|
679 |
+
}
|
680 |
+
|
681 |
+
return $post_form;
|
682 |
+
}
|
683 |
+
add_filter( 'um_submit_form_data', 'um_submit_form_data_trim_fields', 9, 2 );
|
684 |
+
|
685 |
+
|
686 |
/**
|
687 |
* add role_select and role_radio to the $post_form
|
688 |
* It is necessary for that if on these fields the conditional logic
|
includes/um-short-functions.php
CHANGED
@@ -556,10 +556,19 @@ function um_user_submitted_registration( $style = false ) {
|
|
556 |
if ( UM()->fields()->get_field_type( $k ) == 'image' || UM()->fields()->get_field_type( $k ) == 'file' ) {
|
557 |
$file = basename( $v );
|
558 |
$filedata = get_user_meta( um_user( 'ID' ), $k . "_metadata", true );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
559 |
if ( ! empty( $filedata['original_name'] ) ) {
|
560 |
-
$v = '<a href="' . esc_attr(
|
561 |
} else {
|
562 |
-
$v =
|
563 |
}
|
564 |
}
|
565 |
|
@@ -1659,8 +1668,27 @@ function um_closest_num( $array, $number ) {
|
|
1659 |
*/
|
1660 |
function um_get_cover_uri( $image, $attrs ) {
|
1661 |
$uri = false;
|
|
|
1662 |
$ext = '.' . pathinfo( $image, PATHINFO_EXTENSION );
|
1663 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1664 |
if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo{$ext}" ) ) {
|
1665 |
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo{$ext}?" . current_time( 'timestamp' );
|
1666 |
}
|
@@ -1670,6 +1698,11 @@ function um_get_cover_uri( $image, $attrs ) {
|
|
1670 |
} elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
|
1671 |
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
|
1672 |
}
|
|
|
|
|
|
|
|
|
|
|
1673 |
return $uri;
|
1674 |
}
|
1675 |
|
@@ -1699,8 +1732,64 @@ function um_get_avatar_url( $get_avatar ) {
|
|
1699 |
*/
|
1700 |
function um_get_avatar_uri( $image, $attrs ) {
|
1701 |
$uri = false;
|
|
|
1702 |
$find = false;
|
1703 |
$ext = '.' . pathinfo( $image, PATHINFO_EXTENSION );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1704 |
/**
|
1705 |
* UM hook
|
1706 |
*
|
@@ -1723,30 +1812,10 @@ function um_get_avatar_uri( $image, $attrs ) {
|
|
1723 |
* ?>
|
1724 |
*/
|
1725 |
$cache_time = apply_filters( 'um_filter_avatar_cache_time', current_time( 'timestamp' ), um_user( 'ID' ) );
|
1726 |
-
if ( $attrs == 'original' && file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo{$ext}" ) ) {
|
1727 |
-
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo{$ext}";
|
1728 |
-
} elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$attrs}x{$attrs}{$ext}" ) ) {
|
1729 |
-
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$attrs}x{$attrs}{$ext}";
|
1730 |
-
} elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$attrs}{$ext}" ) ) {
|
1731 |
-
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$attrs}{$ext}";
|
1732 |
-
} else {
|
1733 |
-
$sizes = UM()->options()->get( 'photo_thumb_sizes' );
|
1734 |
-
if ( is_array( $sizes ) ) {
|
1735 |
-
$find = um_closest_num( $sizes, $attrs );
|
1736 |
-
}
|
1737 |
-
|
1738 |
-
if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$find}x{$find}{$ext}" ) ) {
|
1739 |
-
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$find}x{$find}{$ext}";
|
1740 |
-
} elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$find}{$ext}" ) ) {
|
1741 |
-
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$find}{$ext}";
|
1742 |
-
} elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo{$ext}" ) ) {
|
1743 |
-
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo{$ext}";
|
1744 |
-
}
|
1745 |
-
}
|
1746 |
-
|
1747 |
if ( ! empty( $cache_time ) ) {
|
1748 |
$uri .= "?{$cache_time}";
|
1749 |
}
|
|
|
1750 |
return $uri;
|
1751 |
}
|
1752 |
|
556 |
if ( UM()->fields()->get_field_type( $k ) == 'image' || UM()->fields()->get_field_type( $k ) == 'file' ) {
|
557 |
$file = basename( $v );
|
558 |
$filedata = get_user_meta( um_user( 'ID' ), $k . "_metadata", true );
|
559 |
+
|
560 |
+
$baseurl = UM()->uploader()->get_upload_base_url();
|
561 |
+
if ( ! file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $file ) ) {
|
562 |
+
if ( is_multisite() ) {
|
563 |
+
//multisite fix for old customers
|
564 |
+
$baseurl = str_replace( '/sites/' . get_current_blog_id() . '/', '/', $baseurl );
|
565 |
+
}
|
566 |
+
}
|
567 |
+
|
568 |
if ( ! empty( $filedata['original_name'] ) ) {
|
569 |
+
$v = '<a href="' . esc_attr( $baseurl . um_user( 'ID' ) . '/' . $file ) . '">' . $filedata['original_name'] . '</a>';
|
570 |
} else {
|
571 |
+
$v = $baseurl . um_user( 'ID' ) . '/' . $file;
|
572 |
}
|
573 |
}
|
574 |
|
1668 |
*/
|
1669 |
function um_get_cover_uri( $image, $attrs ) {
|
1670 |
$uri = false;
|
1671 |
+
$uri_common = false;
|
1672 |
$ext = '.' . pathinfo( $image, PATHINFO_EXTENSION );
|
1673 |
|
1674 |
+
if ( is_multisite() ) {
|
1675 |
+
//multisite fix for old customers
|
1676 |
+
$multisite_fix_dir = UM()->uploader()->get_upload_base_dir();
|
1677 |
+
$multisite_fix_url = UM()->uploader()->get_upload_base_url();
|
1678 |
+
$multisite_fix_dir = str_replace( DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . get_current_blog_id() . DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, $multisite_fix_dir );
|
1679 |
+
$multisite_fix_url = str_replace( '/sites/' . get_current_blog_id() . '/', '/', $multisite_fix_url );
|
1680 |
+
|
1681 |
+
if ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo{$ext}" ) ) {
|
1682 |
+
$uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo{$ext}?" . current_time( 'timestamp' );
|
1683 |
+
}
|
1684 |
+
|
1685 |
+
if ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}x{$attrs}{$ext}" ) ) {
|
1686 |
+
$uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo-{$attrs}x{$attrs}{$ext}?". current_time( 'timestamp' );
|
1687 |
+
} elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
|
1688 |
+
$uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
|
1689 |
+
}
|
1690 |
+
}
|
1691 |
+
|
1692 |
if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo{$ext}" ) ) {
|
1693 |
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo{$ext}?" . current_time( 'timestamp' );
|
1694 |
}
|
1698 |
} elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
|
1699 |
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
|
1700 |
}
|
1701 |
+
|
1702 |
+
if ( ! empty( $uri_common ) && empty( $uri ) ) {
|
1703 |
+
$uri = $uri_common;
|
1704 |
+
}
|
1705 |
+
|
1706 |
return $uri;
|
1707 |
}
|
1708 |
|
1732 |
*/
|
1733 |
function um_get_avatar_uri( $image, $attrs ) {
|
1734 |
$uri = false;
|
1735 |
+
$uri_common = false;
|
1736 |
$find = false;
|
1737 |
$ext = '.' . pathinfo( $image, PATHINFO_EXTENSION );
|
1738 |
+
|
1739 |
+
if ( is_multisite() ) {
|
1740 |
+
//multisite fix for old customers
|
1741 |
+
$multisite_fix_dir = UM()->uploader()->get_upload_base_dir();
|
1742 |
+
$multisite_fix_url = UM()->uploader()->get_upload_base_url();
|
1743 |
+
$multisite_fix_dir = str_replace( DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . get_current_blog_id() . DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, $multisite_fix_dir );
|
1744 |
+
$multisite_fix_url = str_replace( '/sites/' . get_current_blog_id() . '/', '/', $multisite_fix_url );
|
1745 |
+
|
1746 |
+
if ( $attrs == 'original' && file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo{$ext}" ) ) {
|
1747 |
+
$uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo{$ext}";
|
1748 |
+
} elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$attrs}x{$attrs}{$ext}" ) ) {
|
1749 |
+
$uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo-{$attrs}x{$attrs}{$ext}";
|
1750 |
+
} elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$attrs}{$ext}" ) ) {
|
1751 |
+
$uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo-{$attrs}{$ext}";
|
1752 |
+
} else {
|
1753 |
+
$sizes = UM()->options()->get( 'photo_thumb_sizes' );
|
1754 |
+
if ( is_array( $sizes ) ) {
|
1755 |
+
$find = um_closest_num( $sizes, $attrs );
|
1756 |
+
}
|
1757 |
+
|
1758 |
+
if ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$find}x{$find}{$ext}" ) ) {
|
1759 |
+
$uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo-{$find}x{$find}{$ext}";
|
1760 |
+
} elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$find}{$ext}" ) ) {
|
1761 |
+
$uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo-{$find}{$ext}";
|
1762 |
+
} elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo{$ext}" ) ) {
|
1763 |
+
$uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo{$ext}";
|
1764 |
+
}
|
1765 |
+
}
|
1766 |
+
}
|
1767 |
+
|
1768 |
+
if ( $attrs == 'original' && file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo{$ext}" ) ) {
|
1769 |
+
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo{$ext}";
|
1770 |
+
} elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$attrs}x{$attrs}{$ext}" ) ) {
|
1771 |
+
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$attrs}x{$attrs}{$ext}";
|
1772 |
+
} elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$attrs}{$ext}" ) ) {
|
1773 |
+
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$attrs}{$ext}";
|
1774 |
+
} else {
|
1775 |
+
$sizes = UM()->options()->get( 'photo_thumb_sizes' );
|
1776 |
+
if ( is_array( $sizes ) ) {
|
1777 |
+
$find = um_closest_num( $sizes, $attrs );
|
1778 |
+
}
|
1779 |
+
|
1780 |
+
if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$find}x{$find}{$ext}" ) ) {
|
1781 |
+
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$find}x{$find}{$ext}";
|
1782 |
+
} elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$find}{$ext}" ) ) {
|
1783 |
+
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$find}{$ext}";
|
1784 |
+
} elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo{$ext}" ) ) {
|
1785 |
+
$uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo{$ext}";
|
1786 |
+
}
|
1787 |
+
}
|
1788 |
+
|
1789 |
+
if ( ! empty( $uri_common ) && empty( $uri ) ) {
|
1790 |
+
$uri = $uri_common;
|
1791 |
+
}
|
1792 |
+
|
1793 |
/**
|
1794 |
* UM hook
|
1795 |
*
|
1812 |
* ?>
|
1813 |
*/
|
1814 |
$cache_time = apply_filters( 'um_filter_avatar_cache_time', current_time( 'timestamp' ), um_user( 'ID' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1815 |
if ( ! empty( $cache_time ) ) {
|
1816 |
$uri .= "?{$cache_time}";
|
1817 |
}
|
1818 |
+
|
1819 |
return $uri;
|
1820 |
}
|
1821 |
|
languages/ultimate-member-en_US.mo
CHANGED
Binary file
|
languages/ultimate-member-en_US.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Ultimate Member\n"
|
4 |
-
"POT-Creation-Date: 2018-10-
|
5 |
-
"PO-Revision-Date: 2018-10-
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: en_US\n"
|
@@ -115,7 +115,7 @@ msgstr ""
|
|
115 |
|
116 |
#: includes/admin/core/class-admin-builder.php:609
|
117 |
#: includes/admin/core/class-admin-builder.php:763
|
118 |
-
#: includes/core/class-fields.php:
|
119 |
msgid "Please login as administrator"
|
120 |
msgstr ""
|
121 |
|
@@ -3526,7 +3526,7 @@ msgstr ""
|
|
3526 |
#: includes/admin/templates/modal/dynamic_new_group.php:14
|
3527 |
#: includes/admin/templates/modal/fonticons.php:11
|
3528 |
#: includes/admin/templates/role/publish.php:24
|
3529 |
-
#: includes/core/class-fields.php:2272 includes/core/class-fields.php:
|
3530 |
#: includes/core/um-actions-profile.php:554
|
3531 |
#: includes/core/um-actions-profile.php:693
|
3532 |
#: includes/core/um-actions-profile.php:726
|
@@ -4165,7 +4165,7 @@ msgstr ""
|
|
4165 |
msgid "You must add a shortcode to the content area"
|
4166 |
msgstr ""
|
4167 |
|
4168 |
-
#: includes/core/class-builtin.php:663 includes/core/class-user.php:
|
4169 |
msgid "Only me"
|
4170 |
msgstr ""
|
4171 |
|
@@ -6294,7 +6294,7 @@ msgstr ""
|
|
6294 |
msgid "Change photo"
|
6295 |
msgstr ""
|
6296 |
|
6297 |
-
#: includes/core/class-fields.php:2271 includes/core/class-fields.php:
|
6298 |
msgid "Processing..."
|
6299 |
msgstr ""
|
6300 |
|
@@ -6302,58 +6302,58 @@ msgstr ""
|
|
6302 |
msgid "Upload File"
|
6303 |
msgstr ""
|
6304 |
|
6305 |
-
#: includes/core/class-fields.php:
|
6306 |
msgid "This file has been removed."
|
6307 |
msgstr ""
|
6308 |
|
6309 |
-
#: includes/core/class-fields.php:
|
6310 |
msgid "Change file"
|
6311 |
msgstr ""
|
6312 |
|
6313 |
-
#: includes/core/class-fields.php:
|
6314 |
msgid "Save"
|
6315 |
msgstr ""
|
6316 |
|
6317 |
-
#: includes/core/class-fields.php:
|
6318 |
#, php-format
|
6319 |
msgid ""
|
6320 |
"Your profile is looking a little empty. Why not <a href=\"%s\">add</a> some "
|
6321 |
"information!"
|
6322 |
msgstr ""
|
6323 |
|
6324 |
-
#: includes/core/class-fields.php:
|
6325 |
msgid "This user has not added any information to their profile yet."
|
6326 |
msgstr ""
|
6327 |
|
6328 |
-
#: includes/core/class-files.php:
|
6329 |
msgid "Invalid parameters"
|
6330 |
msgstr ""
|
6331 |
|
6332 |
-
#: includes/core/class-files.php:
|
6333 |
msgid "Invalid coordinates"
|
6334 |
msgstr ""
|
6335 |
|
6336 |
-
#: includes/core/class-files.php:
|
6337 |
msgid "Invalid file ownership"
|
6338 |
msgstr ""
|
6339 |
|
6340 |
-
#: includes/core/class-files.php:
|
6341 |
msgid "Invalid nonce"
|
6342 |
msgstr ""
|
6343 |
|
6344 |
-
#: includes/core/class-files.php:
|
6345 |
msgid "A theme or plugin compatibility issue"
|
6346 |
msgstr ""
|
6347 |
|
6348 |
-
#: includes/core/class-files.php:
|
6349 |
msgid "Ultimate Member: Not a valid temp file"
|
6350 |
msgstr ""
|
6351 |
|
6352 |
-
#: includes/core/class-files.php:
|
6353 |
msgid "Invalid user ID: "
|
6354 |
msgstr ""
|
6355 |
|
6356 |
-
#: includes/core/class-files.php:
|
6357 |
msgid "Unauthorized to do this attempt."
|
6358 |
msgstr ""
|
6359 |
|
@@ -6778,31 +6778,23 @@ msgstr ""
|
|
6778 |
msgid "Please enter your email"
|
6779 |
msgstr ""
|
6780 |
|
6781 |
-
#: includes/core/um-actions-login.php:
|
6782 |
-
msgid " Sorry, we can't find an account with that email address"
|
6783 |
-
msgstr ""
|
6784 |
-
|
6785 |
-
#: includes/core/um-actions-login.php:54
|
6786 |
-
msgid " Sorry, we can't find an account with that username"
|
6787 |
-
msgstr ""
|
6788 |
-
|
6789 |
-
#: includes/core/um-actions-login.php:58
|
6790 |
msgid "Please enter your password"
|
6791 |
msgstr ""
|
6792 |
|
6793 |
-
#: includes/core/um-actions-login.php:
|
6794 |
msgid "Password is incorrect. Please try again."
|
6795 |
msgstr ""
|
6796 |
|
6797 |
-
#: includes/core/um-actions-login.php:
|
6798 |
msgid "This action has been prevented for security measures."
|
6799 |
msgstr ""
|
6800 |
|
6801 |
-
#: includes/core/um-actions-login.php:
|
6802 |
msgid "Keep me signed in"
|
6803 |
msgstr ""
|
6804 |
|
6805 |
-
#: includes/core/um-actions-login.php:
|
6806 |
msgid "Forgot your password?"
|
6807 |
msgstr ""
|
6808 |
|
@@ -6952,7 +6944,7 @@ msgstr ""
|
|
6952 |
msgid "Last login: %s"
|
6953 |
msgstr ""
|
6954 |
|
6955 |
-
#: includes/core/um-filters-fields.php:
|
6956 |
msgid "Untitled photo"
|
6957 |
msgstr ""
|
6958 |
|
@@ -6977,11 +6969,11 @@ msgstr ""
|
|
6977 |
msgid "Login as this user"
|
6978 |
msgstr ""
|
6979 |
|
6980 |
-
#: includes/um-short-functions.php:
|
6981 |
msgid "date submitted"
|
6982 |
msgstr ""
|
6983 |
|
6984 |
-
#: includes/um-short-functions.php:
|
6985 |
msgid "(empty)"
|
6986 |
msgstr ""
|
6987 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Ultimate Member\n"
|
4 |
+
"POT-Creation-Date: 2018-10-05 10:16+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-10-05 10:16+0300\n"
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: en_US\n"
|
115 |
|
116 |
#: includes/admin/core/class-admin-builder.php:609
|
117 |
#: includes/admin/core/class-admin-builder.php:763
|
118 |
+
#: includes/core/class-fields.php:4033
|
119 |
msgid "Please login as administrator"
|
120 |
msgstr ""
|
121 |
|
3526 |
#: includes/admin/templates/modal/dynamic_new_group.php:14
|
3527 |
#: includes/admin/templates/modal/fonticons.php:11
|
3528 |
#: includes/admin/templates/role/publish.php:24
|
3529 |
+
#: includes/core/class-fields.php:2272 includes/core/class-fields.php:2369
|
3530 |
#: includes/core/um-actions-profile.php:554
|
3531 |
#: includes/core/um-actions-profile.php:693
|
3532 |
#: includes/core/um-actions-profile.php:726
|
4165 |
msgid "You must add a shortcode to the content area"
|
4166 |
msgstr ""
|
4167 |
|
4168 |
+
#: includes/core/class-builtin.php:663 includes/core/class-user.php:1538
|
4169 |
msgid "Only me"
|
4170 |
msgstr ""
|
4171 |
|
6294 |
msgid "Change photo"
|
6295 |
msgstr ""
|
6296 |
|
6297 |
+
#: includes/core/class-fields.php:2271 includes/core/class-fields.php:2368
|
6298 |
msgid "Processing..."
|
6299 |
msgstr ""
|
6300 |
|
6302 |
msgid "Upload File"
|
6303 |
msgstr ""
|
6304 |
|
6305 |
+
#: includes/core/class-fields.php:2335 includes/core/um-filters-fields.php:243
|
6306 |
msgid "This file has been removed."
|
6307 |
msgstr ""
|
6308 |
|
6309 |
+
#: includes/core/class-fields.php:2338 includes/core/class-fields.php:2368
|
6310 |
msgid "Change file"
|
6311 |
msgstr ""
|
6312 |
|
6313 |
+
#: includes/core/class-fields.php:2368
|
6314 |
msgid "Save"
|
6315 |
msgstr ""
|
6316 |
|
6317 |
+
#: includes/core/class-fields.php:3791
|
6318 |
#, php-format
|
6319 |
msgid ""
|
6320 |
"Your profile is looking a little empty. Why not <a href=\"%s\">add</a> some "
|
6321 |
"information!"
|
6322 |
msgstr ""
|
6323 |
|
6324 |
+
#: includes/core/class-fields.php:3793
|
6325 |
msgid "This user has not added any information to their profile yet."
|
6326 |
msgstr ""
|
6327 |
|
6328 |
+
#: includes/core/class-files.php:256
|
6329 |
msgid "Invalid parameters"
|
6330 |
msgstr ""
|
6331 |
|
6332 |
+
#: includes/core/class-files.php:261
|
6333 |
msgid "Invalid coordinates"
|
6334 |
msgstr ""
|
6335 |
|
6336 |
+
#: includes/core/class-files.php:266
|
6337 |
msgid "Invalid file ownership"
|
6338 |
msgstr ""
|
6339 |
|
6340 |
+
#: includes/core/class-files.php:319
|
6341 |
msgid "Invalid nonce"
|
6342 |
msgstr ""
|
6343 |
|
6344 |
+
#: includes/core/class-files.php:339 includes/core/class-files.php:424
|
6345 |
msgid "A theme or plugin compatibility issue"
|
6346 |
msgstr ""
|
6347 |
|
6348 |
+
#: includes/core/class-files.php:967
|
6349 |
msgid "Ultimate Member: Not a valid temp file"
|
6350 |
msgstr ""
|
6351 |
|
6352 |
+
#: includes/core/class-files.php:1095
|
6353 |
msgid "Invalid user ID: "
|
6354 |
msgstr ""
|
6355 |
|
6356 |
+
#: includes/core/class-files.php:1104 includes/core/class-files.php:1132
|
6357 |
msgid "Unauthorized to do this attempt."
|
6358 |
msgstr ""
|
6359 |
|
6778 |
msgid "Please enter your email"
|
6779 |
msgstr ""
|
6780 |
|
6781 |
+
#: includes/core/um-actions-login.php:61
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6782 |
msgid "Please enter your password"
|
6783 |
msgstr ""
|
6784 |
|
6785 |
+
#: includes/core/um-actions-login.php:68
|
6786 |
msgid "Password is incorrect. Please try again."
|
6787 |
msgstr ""
|
6788 |
|
6789 |
+
#: includes/core/um-actions-login.php:199
|
6790 |
msgid "This action has been prevented for security measures."
|
6791 |
msgstr ""
|
6792 |
|
6793 |
+
#: includes/core/um-actions-login.php:423
|
6794 |
msgid "Keep me signed in"
|
6795 |
msgstr ""
|
6796 |
|
6797 |
+
#: includes/core/um-actions-login.php:458
|
6798 |
msgid "Forgot your password?"
|
6799 |
msgstr ""
|
6800 |
|
6944 |
msgid "Last login: %s"
|
6945 |
msgstr ""
|
6946 |
|
6947 |
+
#: includes/core/um-filters-fields.php:274
|
6948 |
msgid "Untitled photo"
|
6949 |
msgstr ""
|
6950 |
|
6969 |
msgid "Login as this user"
|
6970 |
msgstr ""
|
6971 |
|
6972 |
+
#: includes/um-short-functions.php:580
|
6973 |
msgid "date submitted"
|
6974 |
msgstr ""
|
6975 |
|
6976 |
+
#: includes/um-short-functions.php:586
|
6977 |
msgid "(empty)"
|
6978 |
msgstr ""
|
6979 |
|
readme.txt
CHANGED
@@ -6,7 +6,7 @@ Donate link:
|
|
6 |
Tags: community, member, membership, user-profile, user-registration
|
7 |
Requires at least: 4.7
|
8 |
Tested up to: 4.9
|
9 |
-
Stable tag: 2.0.
|
10 |
License: GNU Version 2 or Any Later Version
|
11 |
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
|
12 |
|
@@ -133,6 +133,21 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
|
|
133 |
|
134 |
= Important: UM2.0+ is a significant update to the code base from 1.3.88. Please make sure you take a full-site backup with restore point before updating the plugin =
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
= 2.0.26: October 2, 2018 =
|
137 |
|
138 |
* Enhancements:
|
6 |
Tags: community, member, membership, user-profile, user-registration
|
7 |
Requires at least: 4.7
|
8 |
Tested up to: 4.9
|
9 |
+
Stable tag: 2.0.28
|
10 |
License: GNU Version 2 or Any Later Version
|
11 |
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
|
12 |
|
133 |
|
134 |
= Important: UM2.0+ is a significant update to the code base from 1.3.88. Please make sure you take a full-site backup with restore point before updating the plugin =
|
135 |
|
136 |
+
= 2.0.28: October 5, 2018 =
|
137 |
+
|
138 |
+
* Bugfixes:
|
139 |
+
- Fixed Email notifications
|
140 |
+
- Fixed Download files/images for multisites
|
141 |
+
- Fixed Profile/Cover image for multisites
|
142 |
+
- Fixed XSS vulnerabilities (detected by @Serhack)
|
143 |
+
- Fixed trim fields on submit forms
|
144 |
+
- Fixed submitted info
|
145 |
+
|
146 |
+
= 2.0.27: October 2, 2018 =
|
147 |
+
|
148 |
+
* Bugfixes:
|
149 |
+
- Fixed files class
|
150 |
+
|
151 |
= 2.0.26: October 2, 2018 =
|
152 |
|
153 |
* Enhancements:
|
ultimate-member.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Ultimate Member
|
4 |
Plugin URI: http://ultimatemember.com/
|
5 |
Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
|
6 |
-
Version: 2.0.
|
7 |
Author: Ultimate Member
|
8 |
Author URI: http://ultimatemember.com/
|
9 |
Text Domain: ultimate-member
|
3 |
Plugin Name: Ultimate Member
|
4 |
Plugin URI: http://ultimatemember.com/
|
5 |
Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
|
6 |
+
Version: 2.0.28
|
7 |
Author: Ultimate Member
|
8 |
Author URI: http://ultimatemember.com/
|
9 |
Text Domain: ultimate-member
|