Version Description
- 14/11/2022
- Fix - Security issue in profile picture upload.
- Tweak - Parse user extra information according to form fields order.
Download this release
Release Info
Developer | wpeverestdev |
Plugin | User Registration – Custom Registration Form, Login Form And User Profile For WordPress |
Version | 2.2.4.1 |
Comparing to | |
See all releases |
Code changes from version 2.2.4 to 2.2.4.1
- assets/js/frontend/my-account.js +0 -4
- assets/js/frontend/my-account.min.js +1 -1
- includes/class-ur-ajax.php +6 -1
- includes/class-ur-form-handler.php +45 -25
- includes/functions-ur-core.php +11 -8
- languages/user-registration.pot +90 -89
- readme.txt +4 -1
- user-registration.php +2 -2
assets/js/frontend/my-account.js
CHANGED
@@ -22,10 +22,6 @@ jQuery(function ($) {
|
|
22 |
var formData = new FormData();
|
23 |
var $this = $node;
|
24 |
formData.append("file", $this[0].files[0]);
|
25 |
-
formData.append(
|
26 |
-
"valid_extension",
|
27 |
-
$('input[name="profile-pic"]').attr("accept")
|
28 |
-
);
|
29 |
|
30 |
var upload_node = $this
|
31 |
.closest(".button-group")
|
22 |
var formData = new FormData();
|
23 |
var $this = $node;
|
24 |
formData.append("file", $this[0].files[0]);
|
|
|
|
|
|
|
|
|
25 |
|
26 |
var upload_node = $this
|
27 |
.closest(".button-group")
|
assets/js/frontend/my-account.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(function(e){var r={init:function(){this.init_event()},profile_picture_upload:function(r){var t=user_registration_params.ajax_url+"?action=user_registration_profile_pic_upload&security="+user_registration_params.user_registration_profile_picture_upload_nonce,i=new FormData,
|
1 |
+
jQuery(function(e){var r={init:function(){this.init_event()},profile_picture_upload:function(r){var t=user_registration_params.ajax_url+"?action=user_registration_profile_pic_upload&security="+user_registration_params.user_registration_profile_picture_upload_nonce,i=new FormData,o=r;i.append("file",o[0].files[0]);var a=o.closest(".button-group").find(".user_registration_profile_picture_upload"),n=a.text();e.ajax({url:t,data:i,type:"POST",processData:!1,contentType:!1,beforeSend:function(){a.text(user_registration_params.user_registration_profile_picture_uploading)},complete:function(e){var r="",t="",i="";o.val("");var s=JSON.parse(e.responseText);r=s.data.message,s.success||(r='<p class="uraf-profile-picture-error user-registration-error">'+r+"</p>"),s.success&&(r="",t=s.data.url,i=s.data.attachment_id,o.closest(".button-group").find("#profile_pic_url").val(i),o.closest(".user-registration-profile-header").find(".profile-preview").attr("src",t)),o.closest(".button-group").find(".profile-pic-remove").data("attachment-id",s.data.attachment_id),o.closest(".button-group").find(".profile-pic-remove").prop("style",!1),o.closest(".button-group").find(".user_registration_profile_picture_upload").attr("style","display:none"),o.closest(".user-registration-profile-header").find(".user-registration-profile-picture-error").remove(),o.closest(".button-group").after('<span class="user-registration-profile-picture-error">'+r+"</span>"),a.text(n)}})},init_event:function(){e(".user_registration_profile_picture_upload").on("click",function(){e(this).closest(".button-group").find('input[type="file"]').trigger("click")}),e(document).on("change",'.button-group input[type="file"]',function(){r.profile_picture_upload(e('.button-group input[type="file"]'))})},remove_avatar:function(r){var t=user_registration_params.ajax_url+"?action=user_registration_profile_pic_remove&security="+user_registration_params.user_registration_profile_picture_remove_nonce;e.ajax({url:t,type:"POST",data:{attachment_id:r.data("attachment-id")},success:function(e){if(e.success){var t=r.closest("form").find('input[name="profile-pic"]');input_hidden=r.closest("form").find('input[name="profile-pic-url"]'),profile_default_input_hidden=r.closest("form").find('input[name="profile-default-image"]'),preview=r.closest("form").find("img.profile-preview"),input_hidden.val(""),preview.attr("src",profile_default_input_hidden.val()),r.hide(),"yes"===user_registration_params.ajax_submission_on_edit_profile?(r.closest(".button-group").find(".user_registration_profile_picture_upload").show(),r.closest(".user-registration-profile-header").find(".user-registration-profile-picture-error").remove()):t.val("").show()}}})}};e(".profile-pic-remove").on("click",function(t){t.preventDefault(),r.remove_avatar(e(this))}),e(".ur-frontend-form").find(".user-registration-profile-header").find(".uraf-profile-picture-upload").length||(e(".ur-frontend-form").find("form.edit-profile").hasClass("user-registration-EditProfileForm")&&"yes"===user_registration_params.ajax_submission_on_edit_profile?r.init():e(".edit-profile").on("submit",function(r){var t=e(".ur-smart-phone-field");if("true"===t.attr("aria-invalid")){r.preventDefault();var i=t.closest("p.form-row");i.find("#"+t.data("id")+"-error").remove();var o='<label id="'+t.data("id")+'-error" class="user-registration-error" for="'+t.data("id")+'">'+user_registration_params.message_validate_phone_number+"</label>";return i.append(o),i.find("#"+t.data("id")).attr("aria-invalid",!0),!0}})),e("input.flatpickr-input").each(function(){e(this).val(e(this).attr("value"))})});
|
includes/class-ur-ajax.php
CHANGED
@@ -398,7 +398,12 @@ class UR_AJAX {
|
|
398 |
$upload = isset( $_FILES['file'] ) ? $_FILES['file'] : array(); // phpcs:ignore
|
399 |
|
400 |
// valid extension for image.
|
401 |
-
$valid_extensions =
|
|
|
|
|
|
|
|
|
|
|
402 |
$valid_extension_type = explode( ',', $valid_extensions );
|
403 |
$valid_ext = array();
|
404 |
|
398 |
$upload = isset( $_FILES['file'] ) ? $_FILES['file'] : array(); // phpcs:ignore
|
399 |
|
400 |
// valid extension for image.
|
401 |
+
$valid_extensions = 'image/jpeg,image/jpg,image/gif,image/png';
|
402 |
+
|
403 |
+
$form_id = ur_get_form_id_by_userid( $user_id );
|
404 |
+
$field_data = ur_get_field_data_by_field_name( $form_id, 'profile_pic_url' );
|
405 |
+
|
406 |
+
$valid_extensions = isset( $field_data['advance_setting']->valid_file_type ) ? implode( ', ', $field_data['advance_setting']->valid_file_type ) : $valid_extensions;
|
407 |
$valid_extension_type = explode( ',', $valid_extensions );
|
408 |
$valid_ext = array();
|
409 |
|
includes/class-ur-form-handler.php
CHANGED
@@ -107,39 +107,59 @@ class UR_Form_Handler {
|
|
107 |
$file_name = wp_unique_filename( $upload_path, $upload['name'] );
|
108 |
|
109 |
$file_path = $upload_path . sanitize_file_name( $file_name );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
|
111 |
-
|
|
|
112 |
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
'post_content' => '',
|
119 |
-
'post_status' => 'inherit',
|
120 |
-
),
|
121 |
-
$file_path
|
122 |
-
);
|
123 |
-
|
124 |
-
if ( is_wp_error( $attachment_id ) ) {
|
125 |
-
|
126 |
-
wp_send_json_error(
|
127 |
-
array(
|
128 |
|
129 |
-
|
130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
);
|
132 |
-
}
|
133 |
|
134 |
-
|
135 |
|
136 |
-
|
137 |
-
|
138 |
|
139 |
-
|
|
|
|
|
|
|
140 |
|
141 |
-
|
142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
}
|
144 |
} elseif ( isset( $_FILES['profile-pic']['error'] ) && UPLOAD_ERR_NO_FILE !== $_FILES['profile-pic']['error'] ) {
|
145 |
|
107 |
$file_name = wp_unique_filename( $upload_path, $upload['name'] );
|
108 |
|
109 |
$file_path = $upload_path . sanitize_file_name( $file_name );
|
110 |
+
// valid extension for image.
|
111 |
+
$valid_extensions = 'image/jpeg,image/jpg,image/gif,image/png';
|
112 |
+
$form_id = ur_get_form_id_by_userid( $user_id );
|
113 |
+
$field_data = ur_get_field_data_by_field_name( $form_id, 'profile_pic_url' );
|
114 |
+
$valid_extensions = isset( $field_data['advance_setting']->valid_file_type ) ? implode( ', ', $field_data['advance_setting']->valid_file_type ) : $valid_extensions;
|
115 |
+
$valid_extension_type = explode( ',', $valid_extensions );
|
116 |
+
$valid_ext = array();
|
117 |
+
|
118 |
+
foreach ( $valid_extension_type as $key => $value ) {
|
119 |
+
$image_extension = explode( '/', $value );
|
120 |
+
$valid_ext[ $key ] = $image_extension[1];
|
121 |
+
}
|
122 |
|
123 |
+
$src_file_name = isset( $upload['name'] ) ? $upload['name'] : '';
|
124 |
+
$file_extension = strtolower( pathinfo( $src_file_name, PATHINFO_EXTENSION ) );
|
125 |
|
126 |
+
// Validates if the uploaded file has the acceptable extension.
|
127 |
+
if ( ! in_array( $file_extension, $valid_ext ) ) {
|
128 |
+
ur_add_notice( __( 'Invalid file type, please contact with site administrator.', 'user-registration' ), 'error' );
|
129 |
+
} else {
|
130 |
+
if ( move_uploaded_file( $upload['tmp_name'], $file_path ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
|
132 |
+
$attachment_id = wp_insert_attachment(
|
133 |
+
array(
|
134 |
+
'guid' => $file_path,
|
135 |
+
'post_mime_type' => $file_ext,
|
136 |
+
'post_title' => preg_replace( '/\.[^.]+$/', '', sanitize_file_name( $file_name ) ),
|
137 |
+
'post_content' => '',
|
138 |
+
'post_status' => 'inherit',
|
139 |
+
),
|
140 |
+
$file_path
|
141 |
);
|
|
|
142 |
|
143 |
+
if ( is_wp_error( $attachment_id ) ) {
|
144 |
|
145 |
+
wp_send_json_error(
|
146 |
+
array(
|
147 |
|
148 |
+
'message' => $attachment_id->get_error_message(),
|
149 |
+
)
|
150 |
+
);
|
151 |
+
}
|
152 |
|
153 |
+
include_once ABSPATH . 'wp-admin/includes/image.php';
|
154 |
+
|
155 |
+
// Generate and save the attachment metas into the database.
|
156 |
+
wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $file_path ) );
|
157 |
+
|
158 |
+
update_user_meta( $user_id, 'user_registration_profile_pic_url', $attachment_id );
|
159 |
+
|
160 |
+
} else {
|
161 |
+
ur_add_notice( 'File cannot be uploaded.', 'error' );
|
162 |
+
}
|
163 |
}
|
164 |
} elseif ( isset( $_FILES['profile-pic']['error'] ) && UPLOAD_ERR_NO_FILE !== $_FILES['profile-pic']['error'] ) {
|
165 |
|
includes/functions-ur-core.php
CHANGED
@@ -1607,22 +1607,23 @@ function ur_get_meta_key_label( $form_id ) {
|
|
1607 |
* @return array
|
1608 |
*/
|
1609 |
function ur_get_user_extra_fields( $user_id ) {
|
1610 |
-
|
1611 |
-
global $wpdb;
|
1612 |
$name_value = array();
|
1613 |
-
$user_extra_fields = $wpdb->get_results( "SELECT * FROM $wpdb->usermeta WHERE meta_key LIKE 'user_registration\_%' AND user_id = " . $user_id . ' ;' ); // phpcs:ignore
|
1614 |
|
1615 |
-
|
|
|
|
|
1616 |
|
1617 |
-
|
1618 |
-
$
|
1619 |
-
$
|
1620 |
|
1621 |
if ( is_serialized( $value ) ) {
|
1622 |
$value = unserialize( $value );
|
1623 |
$value = implode( ',', $value );
|
1624 |
}
|
1625 |
-
|
|
|
|
|
1626 |
}
|
1627 |
|
1628 |
return apply_filters( 'user_registration_user_extra_fields', $name_value, $user_id );
|
@@ -2191,6 +2192,8 @@ function ur_get_field_data_by_field_name( $form_id, $field_name ) {
|
|
2191 |
if ( isset( $field->field_key ) && isset( $field->general_setting->field_name ) && $field->general_setting->field_name === $field_name ) {
|
2192 |
$field_data = array(
|
2193 |
'field_key' => $field->field_key,
|
|
|
|
|
2194 |
);
|
2195 |
}
|
2196 |
}
|
1607 |
* @return array
|
1608 |
*/
|
1609 |
function ur_get_user_extra_fields( $user_id ) {
|
|
|
|
|
1610 |
$name_value = array();
|
|
|
1611 |
|
1612 |
+
$admin_profile = new UR_Admin_Profile();
|
1613 |
+
$extra_data = $admin_profile->get_user_meta_by_form_fields( $user_id );
|
1614 |
+
$form_fields = array_column( $extra_data, 'fields' )[0];
|
1615 |
|
1616 |
+
foreach( $form_fields as $field_key => $field_data ) {
|
1617 |
+
$value = get_user_meta( $user_id, $field_key, true );
|
1618 |
+
$field_key = str_replace( 'user_registration_', '', $field_key );
|
1619 |
|
1620 |
if ( is_serialized( $value ) ) {
|
1621 |
$value = unserialize( $value );
|
1622 |
$value = implode( ',', $value );
|
1623 |
}
|
1624 |
+
|
1625 |
+
$name_value[ $field_key ] = $value;
|
1626 |
+
|
1627 |
}
|
1628 |
|
1629 |
return apply_filters( 'user_registration_user_extra_fields', $name_value, $user_id );
|
2192 |
if ( isset( $field->field_key ) && isset( $field->general_setting->field_name ) && $field->general_setting->field_name === $field_name ) {
|
2193 |
$field_data = array(
|
2194 |
'field_key' => $field->field_key,
|
2195 |
+
'general_setting' => $field->general_setting,
|
2196 |
+
'advance_setting' => $field->advance_setting,
|
2197 |
);
|
2198 |
}
|
2199 |
}
|
languages/user-registration.pot
CHANGED
@@ -2,14 +2,14 @@
|
|
2 |
# This file is distributed under the same license as the User Registration plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: User Registration 2.2.4\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/user-registration\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"POT-Creation-Date: 2022-11-
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.7.1\n"
|
15 |
"X-Domain: user-registration\n"
|
@@ -1338,8 +1338,8 @@ msgstr ""
|
|
1338 |
|
1339 |
#: includes/admin/settings/class-ur-settings-general.php:337
|
1340 |
#: includes/class-ur-ajax.php:151
|
1341 |
-
#: includes/class-ur-ajax.php:
|
1342 |
-
#: includes/class-ur-form-handler.php:
|
1343 |
#: includes/class-ur-frontend-scripts.php:380
|
1344 |
msgid "Captcha code error, please try again."
|
1345 |
msgstr ""
|
@@ -1541,7 +1541,7 @@ msgstr ""
|
|
1541 |
#. translators: %s - Username
|
1542 |
#. translators: %s - Lost password URL
|
1543 |
#: includes/admin/settings/class-ur-settings-general.php:537
|
1544 |
-
#: includes/class-ur-ajax.php:
|
1545 |
#: includes/functions-ur-account.php:55
|
1546 |
#: includes/functions-ur-account.php:58
|
1547 |
msgid "Lost Your Password?"
|
@@ -2473,20 +2473,20 @@ msgstr ""
|
|
2473 |
#: includes/class-ur-ajax.php:160
|
2474 |
#: includes/class-ur-ajax.php:217
|
2475 |
#: includes/class-ur-ajax.php:382
|
2476 |
-
#: includes/class-ur-ajax.php:
|
2477 |
-
#: includes/class-ur-ajax.php:
|
2478 |
msgid "Nonce error, please reload."
|
2479 |
msgstr ""
|
2480 |
|
2481 |
#: includes/class-ur-ajax.php:122
|
2482 |
-
#: includes/class-ur-ajax.php:
|
2483 |
-
#: includes/class-ur-form-handler.php:
|
2484 |
msgid "Error on hCaptcha. Contact your site administrator."
|
2485 |
msgstr ""
|
2486 |
|
2487 |
#: includes/class-ur-ajax.php:143
|
2488 |
-
#: includes/class-ur-ajax.php:
|
2489 |
-
#: includes/class-ur-form-handler.php:
|
2490 |
msgid "Error on google reCaptcha. Contact your site administrator."
|
2491 |
msgstr ""
|
2492 |
|
@@ -2523,55 +2523,56 @@ msgid "Email already exists."
|
|
2523 |
msgstr ""
|
2524 |
|
2525 |
#: includes/class-ur-ajax.php:353
|
2526 |
-
#: includes/class-ur-form-handler.php:
|
2527 |
msgid "User profile updated successfully."
|
2528 |
msgstr ""
|
2529 |
|
2530 |
-
#: includes/class-ur-ajax.php:
|
|
|
2531 |
msgid "Invalid file type, please contact with site administrator."
|
2532 |
msgstr ""
|
2533 |
|
2534 |
-
#: includes/class-ur-ajax.php:
|
2535 |
msgid "Upload path permission deny."
|
2536 |
msgstr ""
|
2537 |
|
2538 |
-
#: includes/class-ur-ajax.php:
|
2539 |
msgid "File cannot be uploaded."
|
2540 |
msgstr ""
|
2541 |
|
2542 |
-
#: includes/class-ur-ajax.php:
|
2543 |
-
#: includes/class-ur-form-handler.php:
|
2544 |
msgid "File size exceed, please check your file size."
|
2545 |
msgstr ""
|
2546 |
|
2547 |
-
#: includes/class-ur-ajax.php:
|
2548 |
-
#: includes/class-ur-form-handler.php:
|
2549 |
msgid "Something went wrong while uploading, please contact your site administrator."
|
2550 |
msgstr ""
|
2551 |
|
2552 |
-
#: includes/class-ur-ajax.php:
|
2553 |
-
#: includes/class-ur-form-handler.php:
|
2554 |
msgid "Username is required."
|
2555 |
msgstr ""
|
2556 |
|
2557 |
-
#: includes/class-ur-ajax.php:
|
2558 |
-
#: includes/class-ur-form-handler.php:
|
2559 |
msgid "A user could not be found with this email address."
|
2560 |
msgstr ""
|
2561 |
|
2562 |
-
#: includes/class-ur-ajax.php:
|
2563 |
-
#: includes/class-ur-ajax.php:
|
2564 |
-
#: includes/class-ur-ajax.php:
|
2565 |
-
#: includes/class-ur-ajax.php:
|
2566 |
-
#: includes/class-ur-ajax.php:
|
2567 |
-
#: includes/class-ur-form-handler.php:
|
2568 |
-
#: includes/class-ur-form-handler.php:
|
2569 |
-
#: includes/class-ur-form-handler.php:
|
2570 |
-
#: includes/class-ur-form-handler.php:
|
2571 |
msgid "ERROR"
|
2572 |
msgstr ""
|
2573 |
|
2574 |
-
#: includes/class-ur-ajax.php:
|
2575 |
msgid "Unknown email address. Check again or try your username."
|
2576 |
msgstr ""
|
2577 |
|
@@ -2582,14 +2583,14 @@ msgstr ""
|
|
2582 |
#. translators: %s - Redirect URL.
|
2583 |
#. translators: %s - Username
|
2584 |
#. translators: %s - Lost password URL
|
2585 |
-
#: includes/class-ur-ajax.php:
|
2586 |
#: includes/class-ur-email-confirmation.php:376
|
2587 |
-
#: includes/class-ur-form-handler.php:450
|
2588 |
-
#: includes/class-ur-form-handler.php:466
|
2589 |
#: includes/class-ur-form-handler.php:470
|
2590 |
-
#: includes/class-ur-form-handler.php:
|
2591 |
-
#: includes/class-ur-form-handler.php:
|
2592 |
-
#: includes/class-ur-form-handler.php:
|
|
|
|
|
2593 |
#: includes/class-ur-user-approval.php:197
|
2594 |
#: includes/class-ur-user-approval.php:202
|
2595 |
#: includes/class-ur-user-approval.php:218
|
@@ -2604,76 +2605,76 @@ msgstr ""
|
|
2604 |
|
2605 |
#. translators: 1 User login, 2: lost password url
|
2606 |
#. translators: %s - Username
|
2607 |
-
#: includes/class-ur-ajax.php:
|
2608 |
#: includes/functions-ur-account.php:55
|
2609 |
msgid "The password you entered for username %1$1s is incorrect. %2$2s"
|
2610 |
msgstr ""
|
2611 |
|
2612 |
#. translators: %s - WP mail from name
|
2613 |
-
#: includes/class-ur-ajax.php:
|
2614 |
msgid "Test email from %s"
|
2615 |
msgstr ""
|
2616 |
|
2617 |
-
#: includes/class-ur-ajax.php:
|
2618 |
msgid "Test email was sent successfully! Please check your inbox to make sure it is delivered."
|
2619 |
msgstr ""
|
2620 |
|
2621 |
-
#: includes/class-ur-ajax.php:
|
2622 |
msgid "Test email was unsuccessful! Something went wrong."
|
2623 |
msgstr ""
|
2624 |
|
2625 |
-
#: includes/class-ur-ajax.php:
|
2626 |
-
#: includes/class-ur-ajax.php:
|
2627 |
msgid "post data not set"
|
2628 |
msgstr ""
|
2629 |
|
2630 |
-
#: includes/class-ur-ajax.php:
|
2631 |
msgid "Could not save form. Invalid field name. Please check all field name"
|
2632 |
msgstr ""
|
2633 |
|
2634 |
-
#: includes/class-ur-ajax.php:
|
2635 |
msgid "Could not save form, "
|
2636 |
msgstr ""
|
2637 |
|
2638 |
-
#: includes/class-ur-ajax.php:
|
2639 |
msgid "File cannot be removed"
|
2640 |
msgstr ""
|
2641 |
|
2642 |
-
#: includes/class-ur-ajax.php:
|
2643 |
msgid "User profile picture removed successfully"
|
2644 |
msgstr ""
|
2645 |
|
2646 |
-
#: includes/class-ur-ajax.php:
|
2647 |
msgid "No Plan specified."
|
2648 |
msgstr ""
|
2649 |
|
2650 |
-
#: includes/class-ur-ajax.php:
|
2651 |
msgid "This form template requires the following addons."
|
2652 |
msgstr ""
|
2653 |
|
2654 |
-
#: includes/class-ur-ajax.php:
|
2655 |
msgid "Required Addons"
|
2656 |
msgstr ""
|
2657 |
|
2658 |
-
#: includes/class-ur-ajax.php:
|
2659 |
msgid "No plugin specified."
|
2660 |
msgstr ""
|
2661 |
|
2662 |
-
#: includes/class-ur-ajax.php:
|
2663 |
-
#: includes/functions-ur-core.php:
|
2664 |
msgid "Sorry, you are not allowed to install plugins on this site."
|
2665 |
msgstr ""
|
2666 |
|
2667 |
-
#: includes/class-ur-ajax.php:
|
2668 |
-
#: includes/functions-ur-core.php:
|
2669 |
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
2670 |
msgstr ""
|
2671 |
|
2672 |
-
#: includes/class-ur-ajax.php:
|
2673 |
msgid "Blank Form"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
-
#: includes/class-ur-ajax.php:
|
2677 |
msgid "Something went wrong, please try again later"
|
2678 |
msgstr ""
|
2679 |
|
@@ -2740,7 +2741,7 @@ msgid "Email not verified! Verify your email by clicking on the link sent to you
|
|
2740 |
msgstr ""
|
2741 |
|
2742 |
#: includes/class-ur-emailer.php:643
|
2743 |
-
#: includes/functions-ur-core.php:
|
2744 |
msgid "Chosen Password"
|
2745 |
msgstr ""
|
2746 |
|
@@ -2758,73 +2759,73 @@ msgstr ""
|
|
2758 |
|
2759 |
#. translators: %s - Field Label
|
2760 |
#. translators: %s - Field Label
|
2761 |
-
#: includes/class-ur-form-handler.php:
|
2762 |
#: includes/frontend/class-ur-frontend-form-handler.php:479
|
2763 |
msgid "%s is a required field."
|
2764 |
msgstr ""
|
2765 |
|
2766 |
-
#: includes/class-ur-form-handler.php:
|
2767 |
msgid "Email already exists"
|
2768 |
msgstr ""
|
2769 |
|
2770 |
#. translators: %s - Field Label
|
2771 |
-
#: includes/class-ur-form-handler.php:
|
2772 |
msgid "%s is not a valid email address."
|
2773 |
msgstr ""
|
2774 |
|
2775 |
-
#: includes/class-ur-form-handler.php:
|
2776 |
msgid "Please fill out all password fields."
|
2777 |
msgstr ""
|
2778 |
|
2779 |
-
#: includes/class-ur-form-handler.php:
|
2780 |
msgid "Please enter your current password."
|
2781 |
msgstr ""
|
2782 |
|
2783 |
-
#: includes/class-ur-form-handler.php:
|
2784 |
msgid "Please enter your new password."
|
2785 |
msgstr ""
|
2786 |
|
2787 |
-
#: includes/class-ur-form-handler.php:
|
2788 |
msgid "Please re-enter your password."
|
2789 |
msgstr ""
|
2790 |
|
2791 |
-
#: includes/class-ur-form-handler.php:
|
2792 |
msgid "New passwords do not match."
|
2793 |
msgstr ""
|
2794 |
|
2795 |
-
#: includes/class-ur-form-handler.php:
|
2796 |
msgid "Your current password is incorrect."
|
2797 |
msgstr ""
|
2798 |
|
2799 |
-
#: includes/class-ur-form-handler.php:
|
2800 |
msgid "New password must not be same as old password"
|
2801 |
msgstr ""
|
2802 |
|
2803 |
-
#: includes/class-ur-form-handler.php:
|
2804 |
msgid "Password changed successfully."
|
2805 |
msgstr ""
|
2806 |
|
2807 |
-
#: includes/class-ur-form-handler.php:
|
2808 |
msgid "Please enter your password."
|
2809 |
msgstr ""
|
2810 |
|
2811 |
-
#: includes/class-ur-form-handler.php:
|
2812 |
msgid "Passwords do not match."
|
2813 |
msgstr ""
|
2814 |
|
2815 |
-
#: includes/class-ur-form-handler.php:
|
2816 |
msgid "New password must not be same as old password."
|
2817 |
msgstr ""
|
2818 |
|
2819 |
-
#: includes/class-ur-form-handler.php:
|
2820 |
msgid "Invalid Key"
|
2821 |
msgstr ""
|
2822 |
|
2823 |
-
#: includes/class-ur-form-handler.php:
|
2824 |
msgid "Thanks for confirming your export request."
|
2825 |
msgstr ""
|
2826 |
|
2827 |
-
#: includes/class-ur-form-handler.php:
|
2828 |
msgid "Thanks for confirming your erasure request."
|
2829 |
msgstr ""
|
2830 |
|
@@ -3009,13 +3010,13 @@ msgstr ""
|
|
3009 |
#. translators: %1$s: Activation error message
|
3010 |
#. translators: %1$s: Activation error message
|
3011 |
#: includes/class-ur-plugin-updater.php:366
|
3012 |
-
#: includes/functions-ur-core.php:
|
3013 |
-
#: includes/functions-ur-core.php:
|
3014 |
-
#: includes/functions-ur-core.php:
|
3015 |
-
#: includes/functions-ur-core.php:
|
3016 |
-
#: includes/functions-ur-core.php:
|
3017 |
-
#: includes/functions-ur-core.php:
|
3018 |
-
#: includes/functions-ur-core.php:
|
3019 |
msgid "<strong>Activation error:</strong> %1$s"
|
3020 |
msgstr ""
|
3021 |
|
@@ -5011,23 +5012,23 @@ msgstr ""
|
|
5011 |
msgid "The class <code>%s</code> provided by user_registration_logging_class filter must implement <code>UR_Logger_Interface</code>."
|
5012 |
msgstr ""
|
5013 |
|
5014 |
-
#: includes/functions-ur-core.php:
|
5015 |
msgid "Conditional Logic"
|
5016 |
msgstr ""
|
5017 |
|
5018 |
-
#: includes/functions-ur-core.php:
|
5019 |
msgid "Use conditional logic"
|
5020 |
msgstr ""
|
5021 |
|
5022 |
-
#: includes/functions-ur-core.php:
|
5023 |
msgid "Conditional Rules"
|
5024 |
msgstr ""
|
5025 |
|
5026 |
-
#: includes/functions-ur-core.php:
|
5027 |
msgid "Send data only if the following matches."
|
5028 |
msgstr ""
|
5029 |
|
5030 |
-
#: includes/functions-ur-core.php:
|
5031 |
msgid "Checked"
|
5032 |
msgstr ""
|
5033 |
|
2 |
# This file is distributed under the same license as the User Registration plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: User Registration 2.2.4.1\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/user-registration\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"POT-Creation-Date: 2022-11-14T08:44:58+00:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.7.1\n"
|
15 |
"X-Domain: user-registration\n"
|
1338 |
|
1339 |
#: includes/admin/settings/class-ur-settings-general.php:337
|
1340 |
#: includes/class-ur-ajax.php:151
|
1341 |
+
#: includes/class-ur-ajax.php:612
|
1342 |
+
#: includes/class-ur-form-handler.php:490
|
1343 |
#: includes/class-ur-frontend-scripts.php:380
|
1344 |
msgid "Captcha code error, please try again."
|
1345 |
msgstr ""
|
1541 |
#. translators: %s - Username
|
1542 |
#. translators: %s - Lost password URL
|
1543 |
#: includes/admin/settings/class-ur-settings-general.php:537
|
1544 |
+
#: includes/class-ur-ajax.php:655
|
1545 |
#: includes/functions-ur-account.php:55
|
1546 |
#: includes/functions-ur-account.php:58
|
1547 |
msgid "Lost Your Password?"
|
2473 |
#: includes/class-ur-ajax.php:160
|
2474 |
#: includes/class-ur-ajax.php:217
|
2475 |
#: includes/class-ur-ajax.php:382
|
2476 |
+
#: includes/class-ur-ajax.php:559
|
2477 |
+
#: includes/class-ur-ajax.php:1098
|
2478 |
msgid "Nonce error, please reload."
|
2479 |
msgstr ""
|
2480 |
|
2481 |
#: includes/class-ur-ajax.php:122
|
2482 |
+
#: includes/class-ur-ajax.php:583
|
2483 |
+
#: includes/class-ur-form-handler.php:470
|
2484 |
msgid "Error on hCaptcha. Contact your site administrator."
|
2485 |
msgstr ""
|
2486 |
|
2487 |
#: includes/class-ur-ajax.php:143
|
2488 |
+
#: includes/class-ur-ajax.php:604
|
2489 |
+
#: includes/class-ur-form-handler.php:486
|
2490 |
msgid "Error on google reCaptcha. Contact your site administrator."
|
2491 |
msgstr ""
|
2492 |
|
2523 |
msgstr ""
|
2524 |
|
2525 |
#: includes/class-ur-ajax.php:353
|
2526 |
+
#: includes/class-ur-form-handler.php:326
|
2527 |
msgid "User profile updated successfully."
|
2528 |
msgstr ""
|
2529 |
|
2530 |
+
#: includes/class-ur-ajax.php:422
|
2531 |
+
#: includes/class-ur-form-handler.php:128
|
2532 |
msgid "Invalid file type, please contact with site administrator."
|
2533 |
msgstr ""
|
2534 |
|
2535 |
+
#: includes/class-ur-ajax.php:439
|
2536 |
msgid "Upload path permission deny."
|
2537 |
msgstr ""
|
2538 |
|
2539 |
+
#: includes/class-ur-ajax.php:495
|
2540 |
msgid "File cannot be uploaded."
|
2541 |
msgstr ""
|
2542 |
|
2543 |
+
#: includes/class-ur-ajax.php:505
|
2544 |
+
#: includes/class-ur-form-handler.php:168
|
2545 |
msgid "File size exceed, please check your file size."
|
2546 |
msgstr ""
|
2547 |
|
2548 |
+
#: includes/class-ur-ajax.php:512
|
2549 |
+
#: includes/class-ur-form-handler.php:171
|
2550 |
msgid "Something went wrong while uploading, please contact your site administrator."
|
2551 |
msgstr ""
|
2552 |
|
2553 |
+
#: includes/class-ur-ajax.php:541
|
2554 |
+
#: includes/class-ur-form-handler.php:434
|
2555 |
msgid "Username is required."
|
2556 |
msgstr ""
|
2557 |
|
2558 |
+
#: includes/class-ur-ajax.php:544
|
2559 |
+
#: includes/class-ur-form-handler.php:437
|
2560 |
msgid "A user could not be found with this email address."
|
2561 |
msgstr ""
|
2562 |
|
2563 |
+
#: includes/class-ur-ajax.php:636
|
2564 |
+
#: includes/class-ur-ajax.php:639
|
2565 |
+
#: includes/class-ur-ajax.php:645
|
2566 |
+
#: includes/class-ur-ajax.php:648
|
2567 |
+
#: includes/class-ur-ajax.php:651
|
2568 |
+
#: includes/class-ur-form-handler.php:540
|
2569 |
+
#: includes/class-ur-form-handler.php:543
|
2570 |
+
#: includes/class-ur-form-handler.php:549
|
2571 |
+
#: includes/class-ur-form-handler.php:552
|
2572 |
msgid "ERROR"
|
2573 |
msgstr ""
|
2574 |
|
2575 |
+
#: includes/class-ur-ajax.php:651
|
2576 |
msgid "Unknown email address. Check again or try your username."
|
2577 |
msgstr ""
|
2578 |
|
2583 |
#. translators: %s - Redirect URL.
|
2584 |
#. translators: %s - Username
|
2585 |
#. translators: %s - Lost password URL
|
2586 |
+
#: includes/class-ur-ajax.php:655
|
2587 |
#: includes/class-ur-email-confirmation.php:376
|
|
|
|
|
2588 |
#: includes/class-ur-form-handler.php:470
|
2589 |
+
#: includes/class-ur-form-handler.php:486
|
2590 |
+
#: includes/class-ur-form-handler.php:490
|
2591 |
+
#: includes/class-ur-form-handler.php:495
|
2592 |
+
#: includes/class-ur-form-handler.php:499
|
2593 |
+
#: includes/class-ur-form-handler.php:508
|
2594 |
#: includes/class-ur-user-approval.php:197
|
2595 |
#: includes/class-ur-user-approval.php:202
|
2596 |
#: includes/class-ur-user-approval.php:218
|
2605 |
|
2606 |
#. translators: 1 User login, 2: lost password url
|
2607 |
#. translators: %s - Username
|
2608 |
+
#: includes/class-ur-ajax.php:655
|
2609 |
#: includes/functions-ur-account.php:55
|
2610 |
msgid "The password you entered for username %1$1s is incorrect. %2$2s"
|
2611 |
msgstr ""
|
2612 |
|
2613 |
#. translators: %s - WP mail from name
|
2614 |
+
#: includes/class-ur-ajax.php:686
|
2615 |
msgid "Test email from %s"
|
2616 |
msgstr ""
|
2617 |
|
2618 |
+
#: includes/class-ur-ajax.php:700
|
2619 |
msgid "Test email was sent successfully! Please check your inbox to make sure it is delivered."
|
2620 |
msgstr ""
|
2621 |
|
2622 |
+
#: includes/class-ur-ajax.php:702
|
2623 |
msgid "Test email was unsuccessful! Something went wrong."
|
2624 |
msgstr ""
|
2625 |
|
2626 |
+
#: includes/class-ur-ajax.php:775
|
2627 |
+
#: includes/class-ur-ajax.php:781
|
2628 |
msgid "post data not set"
|
2629 |
msgstr ""
|
2630 |
|
2631 |
+
#: includes/class-ur-ajax.php:798
|
2632 |
msgid "Could not save form. Invalid field name. Please check all field name"
|
2633 |
msgstr ""
|
2634 |
|
2635 |
+
#: includes/class-ur-ajax.php:809
|
2636 |
msgid "Could not save form, "
|
2637 |
msgstr ""
|
2638 |
|
2639 |
+
#: includes/class-ur-ajax.php:1108
|
2640 |
msgid "File cannot be removed"
|
2641 |
msgstr ""
|
2642 |
|
2643 |
+
#: includes/class-ur-ajax.php:1121
|
2644 |
msgid "User profile picture removed successfully"
|
2645 |
msgstr ""
|
2646 |
|
2647 |
+
#: includes/class-ur-ajax.php:1140
|
2648 |
msgid "No Plan specified."
|
2649 |
msgstr ""
|
2650 |
|
2651 |
+
#: includes/class-ur-ajax.php:1158
|
2652 |
msgid "This form template requires the following addons."
|
2653 |
msgstr ""
|
2654 |
|
2655 |
+
#: includes/class-ur-ajax.php:1160
|
2656 |
msgid "Required Addons"
|
2657 |
msgstr ""
|
2658 |
|
2659 |
+
#: includes/class-ur-ajax.php:1214
|
2660 |
msgid "No plugin specified."
|
2661 |
msgstr ""
|
2662 |
|
2663 |
+
#: includes/class-ur-ajax.php:1228
|
2664 |
+
#: includes/functions-ur-core.php:2441
|
2665 |
msgid "Sorry, you are not allowed to install plugins on this site."
|
2666 |
msgstr ""
|
2667 |
|
2668 |
+
#: includes/class-ur-ajax.php:1292
|
2669 |
+
#: includes/functions-ur-core.php:2521
|
2670 |
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
2671 |
msgstr ""
|
2672 |
|
2673 |
+
#: includes/class-ur-ajax.php:1334
|
2674 |
msgid "Blank Form"
|
2675 |
msgstr ""
|
2676 |
|
2677 |
+
#: includes/class-ur-ajax.php:1356
|
2678 |
msgid "Something went wrong, please try again later"
|
2679 |
msgstr ""
|
2680 |
|
2741 |
msgstr ""
|
2742 |
|
2743 |
#: includes/class-ur-emailer.php:643
|
2744 |
+
#: includes/functions-ur-core.php:2155
|
2745 |
msgid "Chosen Password"
|
2746 |
msgstr ""
|
2747 |
|
2759 |
|
2760 |
#. translators: %s - Field Label
|
2761 |
#. translators: %s - Field Label
|
2762 |
+
#: includes/class-ur-form-handler.php:255
|
2763 |
#: includes/frontend/class-ur-frontend-form-handler.php:479
|
2764 |
msgid "%s is a required field."
|
2765 |
msgstr ""
|
2766 |
|
2767 |
+
#: includes/class-ur-form-handler.php:263
|
2768 |
msgid "Email already exists"
|
2769 |
msgstr ""
|
2770 |
|
2771 |
#. translators: %s - Field Label
|
2772 |
+
#: includes/class-ur-form-handler.php:278
|
2773 |
msgid "%s is not a valid email address."
|
2774 |
msgstr ""
|
2775 |
|
2776 |
+
#: includes/class-ur-form-handler.php:377
|
2777 |
msgid "Please fill out all password fields."
|
2778 |
msgstr ""
|
2779 |
|
2780 |
+
#: includes/class-ur-form-handler.php:380
|
2781 |
msgid "Please enter your current password."
|
2782 |
msgstr ""
|
2783 |
|
2784 |
+
#: includes/class-ur-form-handler.php:383
|
2785 |
msgid "Please enter your new password."
|
2786 |
msgstr ""
|
2787 |
|
2788 |
+
#: includes/class-ur-form-handler.php:386
|
2789 |
msgid "Please re-enter your password."
|
2790 |
msgstr ""
|
2791 |
|
2792 |
+
#: includes/class-ur-form-handler.php:389
|
2793 |
msgid "New passwords do not match."
|
2794 |
msgstr ""
|
2795 |
|
2796 |
+
#: includes/class-ur-form-handler.php:392
|
2797 |
msgid "Your current password is incorrect."
|
2798 |
msgstr ""
|
2799 |
|
2800 |
+
#: includes/class-ur-form-handler.php:395
|
2801 |
msgid "New password must not be same as old password"
|
2802 |
msgstr ""
|
2803 |
|
2804 |
+
#: includes/class-ur-form-handler.php:416
|
2805 |
msgid "Password changed successfully."
|
2806 |
msgstr ""
|
2807 |
|
2808 |
+
#: includes/class-ur-form-handler.php:636
|
2809 |
msgid "Please enter your password."
|
2810 |
msgstr ""
|
2811 |
|
2812 |
+
#: includes/class-ur-form-handler.php:640
|
2813 |
msgid "Passwords do not match."
|
2814 |
msgstr ""
|
2815 |
|
2816 |
+
#: includes/class-ur-form-handler.php:644
|
2817 |
msgid "New password must not be same as old password."
|
2818 |
msgstr ""
|
2819 |
|
2820 |
+
#: includes/class-ur-form-handler.php:685
|
2821 |
msgid "Invalid Key"
|
2822 |
msgstr ""
|
2823 |
|
2824 |
+
#: includes/class-ur-form-handler.php:700
|
2825 |
msgid "Thanks for confirming your export request."
|
2826 |
msgstr ""
|
2827 |
|
2828 |
+
#: includes/class-ur-form-handler.php:702
|
2829 |
msgid "Thanks for confirming your erasure request."
|
2830 |
msgstr ""
|
2831 |
|
3010 |
#. translators: %1$s: Activation error message
|
3011 |
#. translators: %1$s: Activation error message
|
3012 |
#: includes/class-ur-plugin-updater.php:366
|
3013 |
+
#: includes/functions-ur-core.php:2444
|
3014 |
+
#: includes/functions-ur-core.php:2463
|
3015 |
+
#: includes/functions-ur-core.php:2486
|
3016 |
+
#: includes/functions-ur-core.php:2505
|
3017 |
+
#: includes/functions-ur-core.php:2511
|
3018 |
+
#: includes/functions-ur-core.php:2516
|
3019 |
+
#: includes/functions-ur-core.php:2529
|
3020 |
msgid "<strong>Activation error:</strong> %1$s"
|
3021 |
msgstr ""
|
3022 |
|
5012 |
msgid "The class <code>%s</code> provided by user_registration_logging_class filter must implement <code>UR_Logger_Interface</code>."
|
5013 |
msgstr ""
|
5014 |
|
5015 |
+
#: includes/functions-ur-core.php:2270
|
5016 |
msgid "Conditional Logic"
|
5017 |
msgstr ""
|
5018 |
|
5019 |
+
#: includes/functions-ur-core.php:2279
|
5020 |
msgid "Use conditional logic"
|
5021 |
msgstr ""
|
5022 |
|
5023 |
+
#: includes/functions-ur-core.php:2283
|
5024 |
msgid "Conditional Rules"
|
5025 |
msgstr ""
|
5026 |
|
5027 |
+
#: includes/functions-ur-core.php:2284
|
5028 |
msgid "Send data only if the following matches."
|
5029 |
msgstr ""
|
5030 |
|
5031 |
+
#: includes/functions-ur-core.php:2322
|
5032 |
msgid "Checked"
|
5033 |
msgstr ""
|
5034 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: user registration, registration, user profile, registration form, login fo
|
|
4 |
Requires at least: 4.0
|
5 |
Requires PHP: 5.3
|
6 |
Tested up to: 6.1
|
7 |
-
Stable tag: 2.2.4
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -276,6 +276,9 @@ Yes, the plugin has a shortcode for the login form.
|
|
276 |
16. User Account Page - Vertical Layout
|
277 |
|
278 |
== Changelog ==
|
|
|
|
|
|
|
279 |
|
280 |
= 2.2.4 - 10/11/2022
|
281 |
* Feature - Form Templates.
|
4 |
Requires at least: 4.0
|
5 |
Requires PHP: 5.3
|
6 |
Tested up to: 6.1
|
7 |
+
Stable tag: 2.2.4.1
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
276 |
16. User Account Page - Vertical Layout
|
277 |
|
278 |
== Changelog ==
|
279 |
+
= 2.2.4.1 - 14/11/2022
|
280 |
+
* Fix - Security issue in profile picture upload.
|
281 |
+
* Tweak - Parse user extra information according to form fields order.
|
282 |
|
283 |
= 2.2.4 - 10/11/2022
|
284 |
* Feature - Form Templates.
|
user-registration.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: User Registration
|
4 |
* Plugin URI: https://wpeverest.com/plugins/user-registration
|
5 |
* Description: Drag and Drop user registration form and login form builder.
|
6 |
-
* Version: 2.2.4
|
7 |
* Author: WPEverest
|
8 |
* Author URI: https://wpeverest.com
|
9 |
* Text Domain: user-registration
|
@@ -31,7 +31,7 @@ if ( ! class_exists( 'UserRegistration' ) ) :
|
|
31 |
*
|
32 |
* @var string
|
33 |
*/
|
34 |
-
public $version = '2.2.4';
|
35 |
|
36 |
/**
|
37 |
* Session instance.
|
3 |
* Plugin Name: User Registration
|
4 |
* Plugin URI: https://wpeverest.com/plugins/user-registration
|
5 |
* Description: Drag and Drop user registration form and login form builder.
|
6 |
+
* Version: 2.2.4.1
|
7 |
* Author: WPEverest
|
8 |
* Author URI: https://wpeverest.com
|
9 |
* Text Domain: user-registration
|
31 |
*
|
32 |
* @var string
|
33 |
*/
|
34 |
+
public $version = '2.2.4.1';
|
35 |
|
36 |
/**
|
37 |
* Session instance.
|