From 1929765680b6d7ea894e02418f7f675bdaf2b1e8 Mon Sep 17 00:00:00 2001 From: denisbaranov Date: Tue, 6 Jun 2017 16:51:44 +0300 Subject: [PATCH 01/28] fix issue #13856 - add filter "um_upload_file_name" --- core/lib/upload/um-file-upload.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/lib/upload/um-file-upload.php b/core/lib/upload/um-file-upload.php index ebfa9cba..e51a792f 100644 --- a/core/lib/upload/um-file-upload.php +++ b/core/lib/upload/um-file-upload.php @@ -38,7 +38,7 @@ if(isset($_FILES[$id]['name'])) { if(!is_array($_FILES[$id]['name'])) { $temp = $_FILES[$id]["tmp_name"]; - $file = $id."-".$_FILES[$id]["name"]; + $file = apply_filters('um_upload_file_name',$id."-".$_FILES[$id]["name"],$id,$_FILES[$id]["name"]); $file = sanitize_file_name($file); $extension = strtolower( pathinfo($file, PATHINFO_EXTENSION) ); From 18dd37fe70191605c7d8966a20ed5ea5a6f6d751 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Tue, 6 Jun 2017 22:37:55 +0800 Subject: [PATCH 02/28] Fx text domain slug for wp.org translation compatibility --- admin/core/um-admin-actions-ajax.php | 4 +- admin/core/um-admin-actions-fields.php | 2 +- admin/core/um-admin-actions-modal.php | 20 +- admin/core/um-admin-actions-user.php | 2 +- admin/core/um-admin-actions.php | 48 +- admin/core/um-admin-builder.php | 10 +- admin/core/um-admin-columns.php | 2 +- admin/core/um-admin-dashboard.php | 16 +- admin/core/um-admin-dragdrop.php | 10 +- admin/core/um-admin-enqueue.php | 2 +- admin/core/um-admin-metabox.php | 32 +- admin/core/um-admin-notices.php | 36 +- admin/core/um-admin-redux.php | 6 +- admin/core/um-admin-roles.php | 14 +- admin/core/um-admin-users.php | 32 +- admin/templates/access/settings.php | 16 +- .../templates/dashboard/language-contrib.php | 4 +- .../templates/dashboard/language-download.php | 4 +- admin/templates/dashboard/language-update.php | 4 +- admin/templates/dashboard/users.php | 12 +- admin/templates/directory/appearance.php | 2 +- admin/templates/directory/general.php | 28 +- admin/templates/directory/pagination.php | 6 +- admin/templates/directory/profile.php | 18 +- admin/templates/directory/profile_card.php | 10 +- admin/templates/directory/search.php | 20 +- admin/templates/form/builder.php | 4 +- admin/templates/form/login_css.php | 2 +- admin/templates/form/login_customize.php | 32 +- admin/templates/form/login_settings.php | 6 +- admin/templates/form/mode.php | 8 +- admin/templates/form/profile_css.php | 2 +- admin/templates/form/profile_customize.php | 70 +- admin/templates/form/profile_settings.php | 2 +- admin/templates/form/register_css.php | 2 +- admin/templates/form/register_customize.php | 30 +- admin/templates/modal/dynamic_edit_field.php | 6 +- admin/templates/modal/dynamic_edit_row.php | 6 +- .../templates/modal/dynamic_form_preview.php | 4 +- admin/templates/modal/dynamic_new_divider.php | 6 +- admin/templates/modal/dynamic_new_field.php | 6 +- admin/templates/modal/dynamic_new_group.php | 6 +- .../modal/dynamic_registration_preview.php | 2 +- admin/templates/modal/fields.php | 2 +- admin/templates/modal/fonticons.php | 2 +- admin/templates/role/admin.php | 16 +- admin/templates/role/delete.php | 8 +- admin/templates/role/general.php | 4 +- admin/templates/role/home.php | 4 +- admin/templates/role/login.php | 12 +- admin/templates/role/logout.php | 8 +- admin/templates/role/profile.php | 8 +- admin/templates/role/register.php | 44 +- admin/templates/role/sync.php | 6 +- admin/templates/welcome/about_header.php | 8 +- core/lib/upload/um-file-upload.php | 2 +- core/lib/upload/um-image-upload.php | 2 +- core/um-account.php | 10 +- core/um-actions-account.php | 44 +- core/um-actions-ajax.php | 2 +- core/um-actions-core.php | 6 +- core/um-actions-form.php | 102 +- core/um-actions-login.php | 30 +- core/um-actions-members.php | 14 +- core/um-actions-misc.php | 26 +- core/um-actions-password.php | 36 +- core/um-actions-profile.php | 34 +- core/um-actions-register.php | 6 +- core/um-actions-user.php | 4 +- core/um-api.php | 54 +- core/um-builtin.php | 1158 ++++++++--------- core/um-cron.php | 2 +- core/um-datetime.php | 26 +- core/um-enqueue.php | 2 +- core/um-fields.php | 50 +- core/um-files.php | 16 +- core/um-filters-addons.php | 10 +- core/um-filters-fields.php | 10 +- core/um-filters-login.php | 12 +- core/um-filters-profile.php | 6 +- core/um-filters-user.php | 32 +- core/um-form.php | 8 +- core/um-members.php | 6 +- core/um-password.php | 2 +- core/um-permalinks.php | 2 +- core/um-setup.php | 18 +- core/um-short-functions.php | 4 +- core/um-shortcodes.php | 6 +- core/um-tracking.php | 6 +- core/um-user-posts.php | 4 +- core/um-user.php | 18 +- core/widgets/um-search-widget.php | 6 +- index.php | 10 +- templates/password-reset.php | 2 +- templates/profile/comments-single.php | 4 +- templates/profile/comments.php | 4 +- templates/profile/posts-single.php | 8 +- templates/profile/posts.php | 4 +- um-config.php | 1084 +++++++-------- um-init.php | 16 +- 100 files changed, 1792 insertions(+), 1792 deletions(-) diff --git a/admin/core/um-admin-actions-ajax.php b/admin/core/um-admin-actions-ajax.php index 34d7eb65..9cf4bb02 100644 --- a/admin/core/um-admin-actions-ajax.php +++ b/admin/core/um-admin-actions-ajax.php @@ -8,7 +8,7 @@ function ultimatemember_do_ajax_action(){ global $ultimatemember; - if ( !is_user_logged_in() || !current_user_can('manage_options') ) die( __('Please login as administrator','ultimatemember') ); + if ( !is_user_logged_in() || !current_user_can('manage_options') ) die( __('Please login as administrator','ultimate-member') ); extract($_POST); @@ -60,7 +60,7 @@ $arr_options = array(); if( ! current_user_can('manage_options') ){ - wp_die( __( 'This is not possible for security reasons.','ultimatemember') ); + wp_die( __( 'This is not possible for security reasons.','ultimate-member') ); } $um_callback_func = $_POST['um_option_callback']; diff --git a/admin/core/um-admin-actions-fields.php b/admin/core/um-admin-actions-fields.php index 17c9b04a..c701f716 100644 --- a/admin/core/um-admin-actions-fields.php +++ b/admin/core/um-admin-actions-fields.php @@ -8,7 +8,7 @@ function ultimatemember_admin_update_field(){ global $ultimatemember; - if ( !is_user_logged_in() || !current_user_can('manage_options') ) die( __('Please login as administrator','ultimatemember') ); + if ( !is_user_logged_in() || !current_user_can('manage_options') ) die( __('Please login as administrator','ultimate-member') ); $output['error'] = null; diff --git a/admin/core/um-admin-actions-modal.php b/admin/core/um-admin-actions-modal.php index 7a188e6e..01746004 100644 --- a/admin/core/um-admin-actions-modal.php +++ b/admin/core/um-admin-actions-modal.php @@ -27,7 +27,7 @@
-

+

- +
@@ -142,7 +142,7 @@ $form_fields = array_values( array_filter( array_keys( $form_fields ) ) ); ?> -

+

-

+

data-silent_action="um_admin_add_field_from_predefined" data-arg1="" data-arg2=""> - ' . __('None','ultimatemember') . '

'; } ?> + ' . __('None','ultimate-member') . '

'; } ?>
-

+

" data-arg2=""> () - ' . __('You did not create any custom fields', 'ultimatemember') . '

'; } ?> + ' . __('You did not create any custom fields', 'ultimate-member') . '

'; } ?>
@@ -218,7 +218,7 @@ if ( !isset( $col1 ) ) { - echo '

'. __('This field type is not setup correcty.', 'ultimatemember') . '

'; + echo '

'. __('This field type is not setup correcty.', 'ultimate-member') . '

'; } else { @@ -288,7 +288,7 @@ if ( !isset( $col1 ) ) { - echo '

'. __('This field type is not setup correcty.', 'ultimatemember') . '

'; + echo '

'. __('This field type is not setup correcty.', 'ultimate-member') . '

'; } else { diff --git a/admin/core/um-admin-actions-user.php b/admin/core/um-admin-actions-user.php index c39f3457..fe879e69 100644 --- a/admin/core/um-admin-actions-user.php +++ b/admin/core/um-admin-actions-user.php @@ -36,7 +36,7 @@ case 'um_delete': if ( is_admin() ) - wp_die('This action is not allowed in backend.','ultimatemember'); + wp_die('This action is not allowed in backend.','ultimate-member'); $ultimatemember->user->delete(); break; diff --git a/admin/core/um-admin-actions.php b/admin/core/um-admin-actions.php index 5ab15e7a..881d02aa 100644 --- a/admin/core/um-admin-actions.php +++ b/admin/core/um-admin-actions.php @@ -16,7 +16,7 @@ ?> - + '; - echo ""; - echo '"; + echo '"; echo ""; - echo ""; + echo ""; echo '"; echo ""; - echo ""; + echo ""; echo '"; echo ""; - echo ""; + echo ""; echo '"; } @@ -217,13 +217,13 @@ ?> -

+

ui_on_off( '_um_wpml_user', 0 ); ?>

-

+

ui_on_off( '_um_wpml_account', 0 ); ?> @@ -304,7 +304,7 @@ $n = array( 'post_type' => 'um_form', - 'post_title' => sprintf(__('Duplicate of %s','ultimatemember'), get_the_title($post_id) ), + 'post_title' => sprintf(__('Duplicate of %s','ultimate-member'), get_the_title($post_id) ), 'post_status' => 'publish', 'post_author' => um_user('ID'), ); diff --git a/admin/core/um-admin-builder.php b/admin/core/um-admin-builder.php index b6be5a89..9f03b905 100644 --- a/admin/core/um-admin-builder.php +++ b/admin/core/um-admin-builder.php @@ -94,8 +94,8 @@ class UM_Admin_Builder {

- - + +
@@ -164,11 +164,11 @@ class UM_Admin_Builder {
- - + + - +
diff --git a/admin/core/um-admin-columns.php b/admin/core/um-admin-columns.php index 9dafb8f1..aa20a83a 100644 --- a/admin/core/um-admin-columns.php +++ b/admin/core/um-admin-columns.php @@ -22,7 +22,7 @@ class UM_Admin_Columns { function post_row_actions($actions, $post){ //check for your post type if ($post->post_type =="um_form"){ - $actions['um_duplicate'] = '' . __('Duplicate','ultimatemember') . ''; + $actions['um_duplicate'] = '' . __('Duplicate','ultimate-member') . ''; } return $actions; } diff --git a/admin/core/um-admin-dashboard.php b/admin/core/um-admin-dashboard.php index e38f7cb4..a99acb63 100644 --- a/admin/core/um-admin-dashboard.php +++ b/admin/core/um-admin-dashboard.php @@ -41,7 +41,7 @@ class UM_Admin_Dashboard { // Change the footer text if ( ! get_option( 'um_admin_footer_text_rated' ) ) { - $footer_text = sprintf( __( 'If you like Ultimate Member please consider leaving a %s★★★★★%s review. It will help us to grow the plugin and make it more popular. Thank you.', 'ultimatemember' ), '', '' ); + $footer_text = sprintf( __( 'If you like Ultimate Member please consider leaving a %s★★★★★%s review. It will help us to grow the plugin and make it more popular. Thank you.', 'ultimate-member'), '', '' ); $footer_text .= "

diff --git a/core/lib/upload/um-file-upload.php b/core/lib/upload/um-file-upload.php index ebfa9cba..51677899 100644 --- a/core/lib/upload/um-file-upload.php +++ b/core/lib/upload/um-file-upload.php @@ -55,6 +55,6 @@ if(isset($_FILES[$id]['name'])) { } } else { - $ret['error'] = __('A theme or plugin compatibility issue','ultimatemember'); + $ret['error'] = __('A theme or plugin compatibility issue','ultimate-member'); } echo json_encode($ret); diff --git a/core/lib/upload/um-image-upload.php b/core/lib/upload/um-image-upload.php index 6eb15c52..9145c458 100644 --- a/core/lib/upload/um-image-upload.php +++ b/core/lib/upload/um-image-upload.php @@ -53,6 +53,6 @@ if(isset($_FILES[$id]['name'])) { } } else { - $ret['error'] = __('A theme or plugin compatibility issue','ultimatemember'); + $ret['error'] = __('A theme or plugin compatibility issue','ultimate-member'); } echo json_encode($ret); diff --git a/core/um-account.php b/core/um-account.php index 3204d2a0..93889087 100644 --- a/core/um-account.php +++ b/core/um-account.php @@ -28,19 +28,19 @@ class UM_Account { function core_tabs() { $tabs[100]['general']['icon'] = 'um-faicon-user'; - $tabs[100]['general']['title'] = __('Account','ultimatemember'); + $tabs[100]['general']['title'] = __('Account','ultimate-member'); $tabs[200]['password']['icon'] = 'um-faicon-asterisk'; - $tabs[200]['password']['title'] = __('Change Password','ultimatemember'); + $tabs[200]['password']['title'] = __('Change Password','ultimate-member'); $tabs[300]['privacy']['icon'] = 'um-faicon-lock'; - $tabs[300]['privacy']['title'] = __('Privacy','ultimatemember'); + $tabs[300]['privacy']['title'] = __('Privacy','ultimate-member'); $tabs[400]['notifications']['icon'] = 'um-faicon-envelope'; - $tabs[400]['notifications']['title'] = __('Notifications','ultimatemember'); + $tabs[400]['notifications']['title'] = __('Notifications','ultimate-member'); $tabs[9999]['delete']['icon'] = 'um-faicon-trash-o'; - $tabs[9999]['delete']['title'] = __('Delete Account','ultimatemember'); + $tabs[9999]['delete']['title'] = __('Delete Account','ultimate-member'); return $tabs; } diff --git a/core/um-actions-account.php b/core/um-actions-account.php index 9764abb1..3b91d217 100644 --- a/core/um-actions-account.php +++ b/core/um-actions-account.php @@ -43,7 +43,7 @@ } } - if ( isset( $changes['hide_in_members'] ) && $changes['hide_in_members'] == __('No','ultimatemember') ) { + if ( isset( $changes['hide_in_members'] ) && $changes['hide_in_members'] == __('No','ultimate-member') ) { delete_user_meta( um_user('ID'), 'hide_in_members' ); unset( $changes['hide_in_members'] ); } @@ -111,23 +111,23 @@ $account_name_require = um_get_option("account_name_require"); if ( isset($_POST['first_name']) && ( strlen(trim( $_POST['first_name'] ) ) == 0 && $account_name_require ) ) { - $ultimatemember->form->add_error('first_name', __('You must provide your first name','ultimatemember') ); + $ultimatemember->form->add_error('first_name', __('You must provide your first name','ultimate-member') ); } if ( isset($_POST['last_name']) && ( strlen(trim( $_POST['last_name'] ) ) == 0 && $account_name_require ) ) { - $ultimatemember->form->add_error('last_name', __('You must provide your last name','ultimatemember') ); + $ultimatemember->form->add_error('last_name', __('You must provide your last name','ultimate-member') ); } if ( isset($_POST['user_email']) && strlen(trim( $_POST['user_email'] ) ) == 0 ) { - $ultimatemember->form->add_error('user_email', __('You must provide your e-mail','ultimatemember') ); + $ultimatemember->form->add_error('user_email', __('You must provide your e-mail','ultimate-member') ); } if ( isset($_POST['user_email']) && !is_email( $_POST['user_email'] ) ) { - $ultimatemember->form->add_error('user_email', __('Please provide a valid e-mail','ultimatemember') ); + $ultimatemember->form->add_error('user_email', __('Please provide a valid e-mail','ultimate-member') ); } if ( email_exists( $_POST['user_email'] ) && email_exists( $_POST['user_email'] ) != get_current_user_id() ) { - $ultimatemember->form->add_error('user_email', __('Email already linked to another account','ultimatemember') ); + $ultimatemember->form->add_error('user_email', __('Email already linked to another account','ultimate-member') ); } } @@ -141,27 +141,27 @@ if ( $_POST['current_user_password'] == '' || ! wp_check_password( $_POST['current_user_password'], $user->data->user_pass, $user->data->ID ) ) { - $ultimatemember->form->add_error('current_user_password', __('This is not your password','ultimatemember') ); + $ultimatemember->form->add_error('current_user_password', __('This is not your password','ultimate-member') ); $ultimatemember->account->current_tab = 'password'; } else { // correct password if ( $_POST['user_password'] != $_POST['confirm_user_password'] && $_POST['user_password'] ) { - $ultimatemember->form->add_error('user_password', __('Your new password does not match','ultimatemember') ); + $ultimatemember->form->add_error('user_password', __('Your new password does not match','ultimate-member') ); $ultimatemember->account->current_tab = 'password'; } if ( um_get_option('account_require_strongpass') ) { if ( strlen( utf8_decode( $_POST['user_password'] ) ) < 8 ) { - $ultimatemember->form->add_error('user_password', __('Your password must contain at least 8 characters','ultimatemember') ); + $ultimatemember->form->add_error('user_password', __('Your password must contain at least 8 characters','ultimate-member') ); } if ( strlen( utf8_decode( $_POST['user_password'] ) ) > 30 ) { - $ultimatemember->form->add_error('user_password', __('Your password must contain less than 30 characters','ultimatemember') ); + $ultimatemember->form->add_error('user_password', __('Your password must contain less than 30 characters','ultimate-member') ); } if ( !$ultimatemember->validation->strong_pass( $_POST['user_password'] ) ) { - $ultimatemember->form->add_error('user_password', __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimatemember') ); + $ultimatemember->form->add_error('user_password', __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimate-member') ); $ultimatemember->account->current_tab = 'password'; } @@ -171,17 +171,17 @@ } if ( ! empty( $_POST['user_login'] ) && ! validate_username( $_POST['user_login'] ) ) { - $ultimatemember->form->add_error('user_login', __('Your username is invalid','ultimatemember') ); + $ultimatemember->form->add_error('user_login', __('Your username is invalid','ultimate-member') ); return; } } // delete account if ( isset( $_POST['um_account_submit'] ) && $_POST['_um_account_tab'] == "delete" ) { if ( strlen(trim( $_POST['single_user_password'] ) ) == 0 ) { - $ultimatemember->form->add_error('single_user_password', __('You must enter your password','ultimatemember') ); + $ultimatemember->form->add_error('single_user_password', __('You must enter your password','ultimate-member') ); } else { if ( ! wp_check_password( $_POST['single_user_password'], $user->data->user_pass, $user->data->ID ) ) { - $ultimatemember->form->add_error('single_user_password', __('This is not your password','ultimatemember') ); + $ultimatemember->form->add_error('single_user_password', __('This is not your password','ultimate-member') ); } } @@ -229,7 +229,7 @@
-
+
@@ -259,7 +259,7 @@
-
+
@@ -289,7 +289,7 @@
-
+
@@ -319,7 +319,7 @@
-
+
@@ -346,7 +346,7 @@
-
+
@@ -355,7 +355,7 @@
-
+
@@ -382,7 +382,7 @@ @@ -417,7 +417,7 @@ diff --git a/core/um-actions-ajax.php b/core/um-actions-ajax.php index 7ab2b6e5..3e13d753 100644 --- a/core/um-actions-ajax.php +++ b/core/um-actions-ajax.php @@ -213,7 +213,7 @@ }else{ $arr_options['status'] = 'error'; - $arr_options['message'] = __( 'This is not possible for security reasons.','ultimatemember'); + $arr_options['message'] = __( 'This is not possible for security reasons.','ultimate-member'); } } diff --git a/core/um-actions-core.php b/core/um-actions-core.php index 7f84563b..ba9249d4 100644 --- a/core/um-actions-core.php +++ b/core/um-actions-core.php @@ -14,11 +14,11 @@ if ( isset( $_REQUEST['uid'] ) ) { if ( is_super_admin( $_REQUEST['uid'] ) ) - wp_die( __( 'Super administrators can not be modified.','ultimatemember' ) ); + wp_die( __( 'Super administrators can not be modified.','ultimate-member') ); } if ( isset( $_REQUEST['um_action'] ) && $_REQUEST['um_action'] != "edit" && ! current_user_can( 'edit_users' ) ){ - wp_die( __( 'You do not have enough permissions to do that.','ultimatemember') ); + wp_die( __( 'You do not have enough permissions to do that.','ultimate-member') ); } if ( isset($_REQUEST['uid'])){ @@ -78,7 +78,7 @@ break; case 'um_delete': - if ( !um_current_user_can( 'delete', $uid ) ) wp_die( __('You do not have permission to delete this user.','ultimatemember') ); + if ( !um_current_user_can( 'delete', $uid ) ) wp_die( __('You do not have permission to delete this user.','ultimate-member') ); um_fetch_user( $uid ); $ultimatemember->user->delete(); exit( wp_redirect( $ultimatemember->permalinks->get_current_url( true ) ) ); diff --git a/core/um-actions-form.php b/core/um-actions-form.php index f95e64c5..792dea42 100644 --- a/core/um-actions-form.php +++ b/core/um-actions-form.php @@ -96,7 +96,7 @@ foreach( $fields as $key => $array ) { if ( isset($array['validate']) && in_array( $array['validate'], array('unique_username','unique_email','unique_username_or_email') ) ) { if ( !$ultimatemember->form->has_error( $key ) && isset( $args[$key] ) && in_array( $args[$key], $words ) ) { - $ultimatemember->form->add_error( $key, __('You are not allowed to use this word as your username.','ultimatemember') ); + $ultimatemember->form->add_error( $key, __('You are not allowed to use this word as your username.','ultimate-member') ); } } } @@ -155,7 +155,7 @@ $um_profile_photo = um_profile('profile_photo'); if ( get_post_meta( $form_id, '_um_profile_photo_required', true ) && ( empty( $args['profile_photo'] ) && empty( $um_profile_photo ) ) ) { - $ultimatemember->form->add_error('profile_photo', sprintf(__('%s is required.','ultimatemember'), 'Profile Photo' ) ); + $ultimatemember->form->add_error('profile_photo', sprintf(__('%s is required.','ultimate-member'), 'Profile Photo' ) ); } @@ -188,24 +188,24 @@ } if ( isset( $array['type'] ) && $array['type'] == 'checkbox' && isset( $array['required'] ) && $array['required'] == 1 && !isset( $args[$key] ) ) { - $ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimatemember'), $array['title'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimate-member'), $array['title'] ) ); } if ( defined('um_user_tags_path') && isset( $array['type'] ) && $array['type'] == 'user_tags' && isset( $array['required'] ) && $array['required'] == 1 && !isset( $args[$key] ) ) { - $ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimatemember'), $array['title'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimate-member'), $array['title'] ) ); } if ( isset( $array['type'] ) && $array['type'] == 'radio' && isset( $array['required'] ) && $array['required'] == 1 && !isset( $args[$key] ) && !in_array($key, array('role_radio','role_select') ) ) { - $ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimatemember'), $array['title'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimate-member'), $array['title'] ) ); } if ( isset( $array['type'] ) && $array['type'] == 'multiselect' && isset( $array['required'] ) && $array['required'] == 1 && !isset( $args[$key] ) && !in_array($key, array('role_radio','role_select') ) ) { - $ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimatemember'), $array['title'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimate-member'), $array['title'] ) ); } if ( $key == 'role_select' || $key == 'role_radio' ) { if ( isset( $array['required'] ) && $array['required'] == 1 && ( !isset( $args['role'] ) || empty( $args['role'] ) ) ) { - $ultimatemember->form->add_error('role', __('Please specify account type.','ultimatemember') ); + $ultimatemember->form->add_error('role', __('Please specify account type.','ultimate-member') ); } } @@ -213,25 +213,25 @@ if ( isset( $array['required'] ) && $array['required'] == 1 ) { if ( !isset($args[$key]) || $args[$key] == '' ) { - $ultimatemember->form->add_error($key, sprintf( __('%s is required','ultimatemember'), $array['label'] ) ); + $ultimatemember->form->add_error($key, sprintf( __('%s is required','ultimate-member'), $array['label'] ) ); } } if ( isset( $array['max_words'] ) && $array['max_words'] > 0 ) { if ( str_word_count( $args[$key] ) > $array['max_words'] ) { - $ultimatemember->form->add_error($key, sprintf(__('You are only allowed to enter a maximum of %s words','ultimatemember'), $array['max_words']) ); + $ultimatemember->form->add_error($key, sprintf(__('You are only allowed to enter a maximum of %s words','ultimate-member'), $array['max_words']) ); } } if ( isset( $array['min_chars'] ) && $array['min_chars'] > 0 ) { if ( $args[$key] && strlen( utf8_decode( $args[$key] ) ) < $array['min_chars'] ) { - $ultimatemember->form->add_error($key, sprintf(__('Your %s must contain at least %s characters','ultimatemember'), $array['label'], $array['min_chars']) ); + $ultimatemember->form->add_error($key, sprintf(__('Your %s must contain at least %s characters','ultimate-member'), $array['label'], $array['min_chars']) ); } } if ( isset( $array['max_chars'] ) && $array['max_chars'] > 0 ) { if ( $args[$key] && strlen( utf8_decode( $args[$key] ) ) > $array['max_chars'] ) { - $ultimatemember->form->add_error($key, sprintf(__('Your %s must contain less than %s characters','ultimatemember'), $array['label'], $array['max_chars']) ); + $ultimatemember->form->add_error($key, sprintf(__('Your %s must contain less than %s characters','ultimate-member'), $array['label'], $array['max_chars']) ); } } @@ -240,47 +240,47 @@ if( $profile_show_html_bio == 1 && $key !== "description" ){ if ( isset( $array['html'] ) && $array['html'] == 0 ) { if ( wp_strip_all_tags( $args[$key] ) != trim( $args[$key] ) ) { - $ultimatemember->form->add_error($key, __('You can not use HTML tags here','ultimatemember') ); + $ultimatemember->form->add_error($key, __('You can not use HTML tags here','ultimate-member') ); } } } if ( isset( $array['force_good_pass'] ) && $array['force_good_pass'] == 1 ) { if ( !$ultimatemember->validation->strong_pass( $args[$key] ) ) { - $ultimatemember->form->add_error($key, __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimatemember') ); + $ultimatemember->form->add_error($key, __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimate-member') ); } } if ( isset( $array['force_confirm_pass'] ) && $array['force_confirm_pass'] == 1 ) { if ( $args[ 'confirm_' . $key] == '' && !$ultimatemember->form->has_error($key) ) { - $ultimatemember->form->add_error( 'confirm_' . $key , __('Please confirm your password','ultimatemember') ); + $ultimatemember->form->add_error( 'confirm_' . $key , __('Please confirm your password','ultimate-member') ); } if ( $args[ 'confirm_' . $key] != $args[$key] && !$ultimatemember->form->has_error($key) ) { - $ultimatemember->form->add_error( 'confirm_' . $key , __('Your passwords do not match','ultimatemember') ); + $ultimatemember->form->add_error( 'confirm_' . $key , __('Your passwords do not match','ultimate-member') ); } } if ( isset( $array['min_selections'] ) && $array['min_selections'] > 0 ) { if ( ( !isset($args[$key]) ) || ( isset( $args[$key] ) && is_array($args[$key]) && count( $args[$key] ) < $array['min_selections'] ) ) { - $ultimatemember->form->add_error($key, sprintf(__('Please select at least %s choices','ultimatemember'), $array['min_selections'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('Please select at least %s choices','ultimate-member'), $array['min_selections'] ) ); } } if ( isset( $array['max_selections'] ) && $array['max_selections'] > 0 ) { if ( isset( $args[$key] ) && is_array($args[$key]) && count( $args[$key] ) > $array['max_selections'] ) { - $ultimatemember->form->add_error($key, sprintf(__('You can only select up to %s choices','ultimatemember'), $array['max_selections'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('You can only select up to %s choices','ultimate-member'), $array['max_selections'] ) ); } } if ( isset( $array['min'] ) && is_numeric( $args[ $key ] ) ) { if ( isset( $args[ $key ] ) && $args[ $key ] < $array['min'] ) { - $ultimatemember->form->add_error( $key, sprintf(__('Minimum number limit is %s','ultimatemember'), $array['min'] ) ); + $ultimatemember->form->add_error( $key, sprintf(__('Minimum number limit is %s','ultimate-member'), $array['min'] ) ); } } if ( isset( $array['max'] ) && is_numeric( $args[ $key ] ) ) { if ( isset( $args[ $key ] ) && $args[ $key ] > $array['max'] ) { - $ultimatemember->form->add_error( $key, sprintf(__('Maximum number limit is %s','ultimatemember'), $array['max'] ) ); + $ultimatemember->form->add_error( $key, sprintf(__('Maximum number limit is %s','ultimate-member'), $array['max'] ) ); } } @@ -296,87 +296,87 @@ case 'numeric': if ( $args[$key] && !is_numeric( $args[$key] ) ) { - $ultimatemember->form->add_error($key, __('Please enter numbers only in this field','ultimatemember') ); + $ultimatemember->form->add_error($key, __('Please enter numbers only in this field','ultimate-member') ); } break; case 'phone_number': if ( !$ultimatemember->validation->is_phone_number( $args[$key] ) ) { - $ultimatemember->form->add_error($key, __('Please enter a valid phone number','ultimatemember') ); + $ultimatemember->form->add_error($key, __('Please enter a valid phone number','ultimate-member') ); } break; case 'youtube_url': if ( !$ultimatemember->validation->is_url( $args[$key], 'youtube.com' ) ) { - $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimate-member'), $array['label'] ) ); } break; case 'soundcloud_url': if ( !$ultimatemember->validation->is_url( $args[$key], 'soundcloud.com' ) ) { - $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimate-member'), $array['label'] ) ); } break; case 'facebook_url': if ( !$ultimatemember->validation->is_url( $args[$key], 'facebook.com' ) ) { - $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimate-member'), $array['label'] ) ); } break; case 'twitter_url': if ( !$ultimatemember->validation->is_url( $args[$key], 'twitter.com' ) ) { - $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimate-member'), $array['label'] ) ); } break; case 'instagram_url': if ( !$ultimatemember->validation->is_url( $args[$key], 'instagram.com' ) ) { - $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimate-member'), $array['label'] ) ); } break; case 'google_url': if ( !$ultimatemember->validation->is_url( $args[$key], 'plus.google.com' ) ) { - $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimate-member'), $array['label'] ) ); } break; case 'linkedin_url': if ( !$ultimatemember->validation->is_url( $args[$key], 'linkedin.com' ) ) { - $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimate-member'), $array['label'] ) ); } break; case 'vk_url': if ( !$ultimatemember->validation->is_url( $args[$key], 'vk.com' ) ) { - $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimate-member'), $array['label'] ) ); } break; case 'url': if ( !$ultimatemember->validation->is_url( $args[$key] ) ) { - $ultimatemember->form->add_error($key, __('Please enter a valid URL','ultimatemember') ); + $ultimatemember->form->add_error($key, __('Please enter a valid URL','ultimate-member') ); } break; case 'skype': if ( !$ultimatemember->validation->is_url( $args[$key], 'skype.com' ) ) { - $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) ); + $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimate-member'), $array['label'] ) ); } break; case 'unique_username': if ( $args[$key] == '' ) { - $ultimatemember->form->add_error($key, __('You must provide a username','ultimatemember') ); + $ultimatemember->form->add_error($key, __('You must provide a username','ultimate-member') ); } else if ( $mode == 'register' && username_exists( sanitize_user( $args[$key] ) ) ) { - $ultimatemember->form->add_error($key, __('Your username is already taken','ultimatemember') ); + $ultimatemember->form->add_error($key, __('Your username is already taken','ultimate-member') ); } else if ( is_email( $args[$key] ) ) { - $ultimatemember->form->add_error($key, __('Username cannot be an email','ultimatemember') ); + $ultimatemember->form->add_error($key, __('Username cannot be an email','ultimate-member') ); } else if ( !$ultimatemember->validation->safe_username( $args[$key] ) ) { - $ultimatemember->form->add_error($key, __('Your username contains invalid characters','ultimatemember') ); + $ultimatemember->form->add_error($key, __('Your username contains invalid characters','ultimate-member') ); } break; @@ -384,13 +384,13 @@ case 'unique_username_or_email': if ( $args[$key] == '' ) { - $ultimatemember->form->add_error($key, __('You must provide a username','ultimatemember') ); + $ultimatemember->form->add_error($key, __('You must provide a username','ultimate-member') ); } else if ( $mode == 'register' && username_exists( sanitize_user( $args[$key] ) ) ) { - $ultimatemember->form->add_error($key, __('Your username is already taken','ultimatemember') ); + $ultimatemember->form->add_error($key, __('Your username is already taken','ultimate-member') ); } else if ( $mode == 'register' && email_exists( $args[$key] ) ) { - $ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimatemember') ); + $ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimate-member') ); } else if ( !$ultimatemember->validation->safe_username( $args[$key] ) ) { - $ultimatemember->form->add_error($key, __('Your username contains invalid characters','ultimatemember') ); + $ultimatemember->form->add_error($key, __('Your username contains invalid characters','ultimate-member') ); } break; @@ -408,30 +408,30 @@ $email_exists = email_exists( $args[ $key ] ); if ( $args[ $key ] == '' && in_array( $key, array('user_email') ) ) { - $ultimatemember->form->add_error( $key, __('You must provide your email','ultimatemember') ); + $ultimatemember->form->add_error( $key, __('You must provide your email','ultimate-member') ); } else if ( in_array( $mode, array('register') ) && $email_exists ) { - $ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimatemember') ); + $ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimate-member') ); } else if ( in_array( $mode, array('profile') ) && $email_exists && $email_exists != $args['user_id'] ) { - $ultimatemember->form->add_error( $key, __('This email is already linked to an existing account','ultimatemember') ); + $ultimatemember->form->add_error( $key, __('This email is already linked to an existing account','ultimate-member') ); } else if ( !is_email( $args[ $key ] ) ) { - $ultimatemember->form->add_error( $key, __('This is not a valid email','ultimatemember') ); + $ultimatemember->form->add_error( $key, __('This is not a valid email','ultimate-member') ); } else if ( !$ultimatemember->validation->safe_username( $args[ $key ] ) ) { - $ultimatemember->form->add_error( $key, __('Your email contains invalid characters','ultimatemember') ); + $ultimatemember->form->add_error( $key, __('Your email contains invalid characters','ultimate-member') ); } } else { if ( $args[ $key ] != '' && !is_email( $args[ $key ] ) ) { - $ultimatemember->form->add_error( $key, __('This is not a valid email','ultimatemember') ); + $ultimatemember->form->add_error( $key, __('This is not a valid email','ultimate-member') ); } else if ( $args[ $key ] != '' && email_exists( $args[ $key ] ) ) { - $ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimatemember') ); + $ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimate-member') ); } else if ( $args[ $key ] != '' ) { $users = get_users('meta_value='.$args[ $key ]); foreach ( $users as $user ) { if( $user->ID != $args['user_id'] ){ - $ultimatemember->form->add_error( $key, __('This email is already linked to an existing account','ultimatemember') ); + $ultimatemember->form->add_error( $key, __('This email is already linked to an existing account','ultimate-member') ); } } @@ -456,7 +456,7 @@ $meta_key_exists = get_users( $args_unique_meta ); if( $meta_key_exists ){ - $ultimatemember->form->add_error( $key , __('You must provide a unique value','ultimatemember') ); + $ultimatemember->form->add_error( $key , __('You must provide a unique value','ultimate-member') ); } } break; @@ -466,7 +466,7 @@ if ( $args[$key] != '' ) { if( ! ctype_alpha( str_replace(' ', '', $args[$key] ) ) ){ - $ultimatemember->form->add_error( $key , __('You must provide alphabetic letters','ultimatemember') ); + $ultimatemember->form->add_error( $key , __('You must provide alphabetic letters','ultimate-member') ); } } break; @@ -476,7 +476,7 @@ if ( $args[$key] != '' ) { if( ! ctype_lower( str_replace(' ', '',$args[$key] ) ) ){ - $ultimatemember->form->add_error( $key , __('You must provide lowercase letters.','ultimatemember') ); + $ultimatemember->form->add_error( $key , __('You must provide lowercase letters.','ultimate-member') ); } } @@ -495,7 +495,7 @@ if( $profile_show_bio ){ if ( strlen( utf8_decode( $args['description'] ) ) > $max_chars && $max_chars ) { - $ultimatemember->form->add_error('description', sprintf(__('Your user description must contain less than %s characters','ultimatemember'), $max_chars ) ); + $ultimatemember->form->add_error('description', sprintf(__('Your user description must contain less than %s characters','ultimate-member'), $max_chars ) ); } } diff --git a/core/um-actions-login.php b/core/um-actions-login.php index 72cd5f7d..d253b544 100644 --- a/core/um-actions-login.php +++ b/core/um-actions-login.php @@ -15,15 +15,15 @@ if ( isset( $args['username'] ) && $args['username'] == '' ) { - $ultimatemember->form->add_error( 'username', __('Please enter your username or email','ultimatemember') ); + $ultimatemember->form->add_error( 'username', __('Please enter your username or email','ultimate-member') ); } if ( isset( $args['user_login'] ) && $args['user_login'] == '' ) { - $ultimatemember->form->add_error( 'user_login', __('Please enter your username','ultimatemember') ); + $ultimatemember->form->add_error( 'user_login', __('Please enter your username','ultimate-member') ); } if ( isset( $args['user_email'] ) && $args['user_email'] == '' ) { - $ultimatemember->form->add_error( 'user_email', __('Please enter your email','ultimatemember') ); + $ultimatemember->form->add_error( 'user_email', __('Please enter your email','ultimate-member') ); } if ( isset( $args['username'] ) ) { @@ -47,13 +47,13 @@ if ( !username_exists( $user_name ) ) { if ( $is_email ) { - $ultimatemember->form->add_error( $field, __(' Sorry, we can\'t find an account with that email address','ultimatemember') ); + $ultimatemember->form->add_error( $field, __(' Sorry, we can\'t find an account with that email address','ultimate-member') ); } else { - $ultimatemember->form->add_error( $field, __(' Sorry, we can\'t find an account with that username','ultimatemember') ); + $ultimatemember->form->add_error( $field, __(' Sorry, we can\'t find an account with that username','ultimate-member') ); } } else { if ( $args['user_password'] == '' ) { - $ultimatemember->form->add_error( 'user_password', __('Please enter your password','ultimatemember') ); + $ultimatemember->form->add_error( 'user_password', __('Please enter your password','ultimate-member') ); } } @@ -61,7 +61,7 @@ if ( $user && wp_check_password( $args['user_password'], $user->data->user_pass, $user->ID) ) { $ultimatemember->login->auth_id = username_exists( $user_name ); } else { - $ultimatemember->form->add_error( 'user_password', __('Password is incorrect. Please try again.','ultimatemember') ); + $ultimatemember->form->add_error( 'user_password', __('Password is incorrect. Please try again.','ultimate-member') ); } // add a way for other plugins like wp limit login @@ -76,12 +76,12 @@ if ( is_wp_error( $user ) && ! in_array( $user->get_error_code(), $ignore_codes ) ) { - $ultimatemember->form->add_error( $user->get_error_code(), __( $user->get_error_message() ,'ultimatemember') ); + $ultimatemember->form->add_error( $user->get_error_code(), __( $user->get_error_message() ,'ultimate-member') ); } if( is_wp_error( $authenticate_user ) && ! in_array( $authenticate_user->get_error_code(), $ignore_codes ) ){ - $ultimatemember->form->add_error( $authenticate_user->get_error_code(), __( $authenticate_user->get_error_message() ,'ultimatemember') ); + $ultimatemember->form->add_error( $authenticate_user->get_error_code(), __( $authenticate_user->get_error_message() ,'ultimate-member') ); } @@ -183,7 +183,7 @@ $rememberme = ( isset($args['rememberme']) ) ? 1 : 0; if ( ( um_get_option('deny_admin_frontend_login') && ! isset( $_GET['provider'] ) ) && strrpos( um_user('wp_roles' ), 'administrator' ) !== FALSE ){ - wp_die( __('This action has been prevented for security measures.','ultimatemember') ); + wp_die( __('This action has been prevented for security measures.','ultimate-member') ); } $ultimatemember->user->auto_login( um_user('ID'), $rememberme ); @@ -260,18 +260,18 @@
fields->checkbox('rememberme', __('Keep me signed in','ultimatemember') ); + echo $ultimatemember->fields->checkbox('rememberme', __('Keep me signed in','ultimate-member') ); echo '
'; } ?> -
-
+
+
-
+
@@ -294,7 +294,7 @@ ?>
- +
- +
@@ -131,12 +131,12 @@
- + @@ -146,13 +146,13 @@
- + 1 ) { ?> - + @@ -172,13 +172,13 @@ - + - + diff --git a/core/um-actions-misc.php b/core/um-actions-misc.php index 4e47b9d2..dea9083c 100644 --- a/core/um-actions-misc.php +++ b/core/um-actions-misc.php @@ -61,7 +61,7 @@ $success = ''; if ( ! get_option('users_can_register') && $mode == 'register' ) { - $err = __('Registration is currently disabled','ultimatemember'); + $err = __('Registration is currently disabled','ultimate-member'); } if ( isset( $_REQUEST['updated'] ) && !empty( $_REQUEST['updated'] ) && !$ultimatemember->form->errors ) { @@ -72,15 +72,15 @@ break; case 'account': - $success = __('Your account was updated successfully.','ultimatemember'); + $success = __('Your account was updated successfully.','ultimate-member'); break; case 'password_changed': - $success = __('You have successfully changed your password.','ultimatemember'); + $success = __('You have successfully changed your password.','ultimate-member'); break; case 'account_active': - $success = __('Your account is now active! You can login.','ultimatemember'); + $success = __('Your account is now active! You can login.','ultimate-member'); break; } @@ -92,39 +92,39 @@ default: $err = apply_filters("um_custom_error_message_handler", $err, $_REQUEST['err']); if ( !$err ) - $err = __('An error has been encountered','ultimatemember'); + $err = __('An error has been encountered','ultimate-member'); break; case 'registration_disabled': - $err = __('Registration is currently disabled','ultimatemember'); + $err = __('Registration is currently disabled','ultimate-member'); break; case 'blocked_email': - $err = __('This email address has been blocked.','ultimatemember'); + $err = __('This email address has been blocked.','ultimate-member'); break; case 'blocked_domain': - $err = __('We do not accept registrations from that domain.','ultimatemember'); + $err = __('We do not accept registrations from that domain.','ultimate-member'); break; case 'blocked_ip': - $err = __('Your IP address has been blocked.','ultimatemember'); + $err = __('Your IP address has been blocked.','ultimate-member'); break; case 'inactive': - $err = __('Your account has been disabled.','ultimatemember'); + $err = __('Your account has been disabled.','ultimate-member'); break; case 'awaiting_admin_review': - $err = __('Your account has not been approved yet.','ultimatemember'); + $err = __('Your account has not been approved yet.','ultimate-member'); break; case 'awaiting_email_confirmation': - $err = __('Your account is awaiting e-mail verification.','ultimatemember'); + $err = __('Your account is awaiting e-mail verification.','ultimate-member'); break; case 'rejected': - $err = __('Your membership request has been rejected.','ultimatemember'); + $err = __('Your membership request has been rejected.','ultimate-member'); break; } diff --git a/core/um-actions-password.php b/core/um-actions-password.php index b69bb2fe..b0aa314c 100644 --- a/core/um-actions-password.php +++ b/core/um-actions-password.php @@ -96,16 +96,16 @@ global $ultimatemember; if ( $_POST[ $ultimatemember->honeypot ] != '' ) - wp_die('Hello, spam bot!','ultimatemember'); + wp_die('Hello, spam bot!','ultimate-member'); $form_timestamp = trim($_POST['timestamp']); $live_timestamp = current_time( 'timestamp' ); if ( $form_timestamp == '' && um_get_option('enable_timebot') == 1 ) - wp_die( __('Hello, spam bot!','ultimatemember') ); + wp_die( __('Hello, spam bot!','ultimate-member') ); if ( $live_timestamp - $form_timestamp < 3 && um_get_option('enable_timebot') == 1 ) - wp_die( __('Whoa, slow down! You\'re seeing this message because you tried to submit a form too fast and we think you might be a spam bot. If you are a real human being please wait a few seconds before submitting the form. Thanks!','ultimatemember') ); + wp_die( __('Whoa, slow down! You\'re seeing this message because you tried to submit a form too fast and we think you might be a spam bot. If you are a real human being please wait a few seconds before submitting the form. Thanks!','ultimate-member') ); $user = ""; @@ -116,11 +116,11 @@ } if ( empty( $user ) ) { - $ultimatemember->form->add_error('username_b', __('Please provide your username or email','ultimatemember') ); + $ultimatemember->form->add_error('username_b', __('Please provide your username or email','ultimate-member') ); } if ( ( !is_email( $user ) && !username_exists( $user ) ) || ( is_email( $user ) && !email_exists( $user ) ) ) { - $ultimatemember->form->add_error('username_b', __('We can\'t find an account registered with that address or username','ultimatemember') ); + $ultimatemember->form->add_error('username_b', __('We can\'t find an account registered with that address or username','ultimate-member') ); } else { if ( is_email( $user ) ) { @@ -139,7 +139,7 @@ }else{ $limit = um_get_option('reset_password_limit_number'); if ( $attempts >= $limit ) { - $ultimatemember->form->add_error('username_b', __('You have reached the limit for requesting password change for this user already. Contact support if you cannot open the email','ultimatemember') ); + $ultimatemember->form->add_error('username_b', __('You have reached the limit for requesting password change for this user already. Contact support if you cannot open the email','ultimate-member') ); } else { update_user_meta( $user_id, 'password_rst_attempts', $attempts + 1 ); } @@ -158,17 +158,17 @@ global $ultimatemember; if ( isset( $_POST[ $ultimatemember->honeypot ] ) && $_POST[ $ultimatemember->honeypot ] != '' ){ - wp_die('Hello, spam bot!','ultimatemember'); + wp_die('Hello, spam bot!','ultimate-member'); } $form_timestamp = trim($_POST['timestamp']); $live_timestamp = current_time( 'timestamp' ); if ( $form_timestamp == '' && um_get_option('enable_timebot') == 1 ) - wp_die( __('Hello, spam bot!','ultimatemember') ); + wp_die( __('Hello, spam bot!','ultimate-member') ); if ( $live_timestamp - $form_timestamp < 3 && um_get_option('enable_timebot') == 1 ){ - wp_die( __('Whoa, slow down! You\'re seeing this message because you tried to submit a form too fast and we think you might be a spam bot. If you are a real human being please wait a few seconds before submitting the form. Thanks!','ultimatemember') ); + wp_die( __('Whoa, slow down! You\'re seeing this message because you tried to submit a form too fast and we think you might be a spam bot. If you are a real human being please wait a few seconds before submitting the form. Thanks!','ultimate-member') ); } $reset_pass_hash = ''; @@ -182,35 +182,35 @@ is_user_logged_in() && isset( $args['user_id'] ) && $args['user_id'] != get_current_user_id() || !is_user_logged_in() && isset( $_REQUEST['hash'] ) && $reset_pass_hash != $_REQUEST['hash'] && um_is_core_page('password-reset') ){ - wp_die( __( 'This is not possible for security reasons.','ultimatemember') ); + wp_die( __( 'This is not possible for security reasons.','ultimate-member') ); } if ( isset( $args['user_password'] ) && empty( $args['user_password'] ) ) { - $ultimatemember->form->add_error('user_password', __('You must enter a new password','ultimatemember') ); + $ultimatemember->form->add_error('user_password', __('You must enter a new password','ultimate-member') ); } if ( um_get_option('reset_require_strongpass') ) { if ( strlen( utf8_decode( $args['user_password'] ) ) < 8 ) { - $ultimatemember->form->add_error('user_password', __('Your password must contain at least 8 characters','ultimatemember') ); + $ultimatemember->form->add_error('user_password', __('Your password must contain at least 8 characters','ultimate-member') ); } if ( strlen( utf8_decode( $args['user_password'] ) ) > 30 ) { - $ultimatemember->form->add_error('user_password', __('Your password must contain less than 30 characters','ultimatemember') ); + $ultimatemember->form->add_error('user_password', __('Your password must contain less than 30 characters','ultimate-member') ); } if ( !$ultimatemember->validation->strong_pass( $args['user_password'] ) ) { - $ultimatemember->form->add_error('user_password', __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimatemember') ); + $ultimatemember->form->add_error('user_password', __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimate-member') ); } } if ( isset( $args['confirm_user_password'] ) && empty( $args['confirm_user_password'] ) ) { - $ultimatemember->form->add_error('confirm_user_password', __('You must confirm your new password','ultimatemember') ); + $ultimatemember->form->add_error('confirm_user_password', __('You must confirm your new password','ultimate-member') ); } if ( isset( $args['user_password'] ) && isset( $args['confirm_user_password'] ) && $args['user_password'] != $args['confirm_user_password'] ) { - $ultimatemember->form->add_error('confirm_user_password', __('Your passwords do not match','ultimatemember') ); + $ultimatemember->form->add_error('confirm_user_password', __('Your passwords do not match','ultimate-member') ); } } @@ -264,7 +264,7 @@
-
+
@@ -291,7 +291,7 @@
-
+
diff --git a/core/um-actions-profile.php b/core/um-actions-profile.php index b35d71d2..3ca2570a 100644 --- a/core/um-actions-profile.php +++ b/core/um-actions-profile.php @@ -53,7 +53,7 @@ if ( um_current_user_can('edit', $args['user_id'] ) ) { $ultimatemember->user->set( $args['user_id'] ); } else { - wp_die( __('You are not allowed to edit this user.','ultimatemember') ); + wp_die( __('You are not allowed to edit this user.','ultimate-member') ); } } else if ( isset( $args['_user_id'] ) ) { $ultimatemember->user->set( $args['_user_id'] ); @@ -197,7 +197,7 @@ - '.__('Change your cover photo','ultimatemember').' + '.__('Change your cover photo','ultimate-member').' '; @@ -213,9 +213,9 @@ if ( $ultimatemember->fields->editing ) { $items = array( - ''.__('Change cover photo','ultimatemember').'', - ''.__('Remove','ultimatemember').'', - ''.__('Cancel','ultimatemember').'', + ''.__('Change cover photo','ultimate-member').'', + ''.__('Remove','ultimate-member').'', + ''.__('Cancel','ultimate-member').'', ); echo $ultimatemember->menu->new_ui( 'bc', 'div.um-cover', 'click', $items ); @@ -255,7 +255,7 @@ if ( !isset( $ultimatemember->user->cannot_edit ) ) { ?> - + '.__('Upload photo','ultimatemember').'', - ''.__('Cancel','ultimatemember').'', + ''.__('Upload photo','ultimate-member').'', + ''.__('Cancel','ultimate-member').'', ); $items = apply_filters('um_user_photo_menu_view', $items ); @@ -339,9 +339,9 @@ } else if ( $ultimatemember->fields->editing == true ) { $items = array( - ''.__('Change photo','ultimatemember').'', - ''.__('Remove photo','ultimatemember').'', - ''.__('Cancel','ultimatemember').'', + ''.__('Change photo','ultimate-member').'', + ''.__('Remove photo','ultimate-member').'', + ''.__('Cancel','ultimate-member').'', ); $items = apply_filters('um_user_photo_menu_edit', $items ); @@ -401,7 +401,7 @@ fields->editing == true && $args['show_bio'] ) { ?>
- + fields->is_error('description') ) { @@ -414,7 +414,7 @@
- +
@@ -499,10 +499,10 @@ ''.__('Edit Profile','ultimatemember').'', - 'myaccount' => ''.__('My Account','ultimatemember').'', - 'logout' => ''.__('Logout','ultimatemember').'', - 'cancel' => ''.__('Cancel','ultimatemember').'', + 'editprofile' => ''.__('Edit Profile','ultimate-member').'', + 'myaccount' => ''.__('My Account','ultimate-member').'', + 'logout' => ''.__('Logout','ultimate-member').'', + 'cancel' => ''.__('Cancel','ultimate-member').'', ); $cancel = $items['cancel']; diff --git a/core/um-actions-register.php b/core/um-actions-register.php index 1b588e14..85ea37fb 100644 --- a/core/um-actions-register.php +++ b/core/um-actions-register.php @@ -328,12 +328,12 @@ -
-
+
+
-
+
diff --git a/core/um-actions-user.php b/core/um-actions-user.php index a4b29f1f..85e6f15a 100644 --- a/core/um-actions-user.php +++ b/core/um-actions-user.php @@ -96,8 +96,8 @@ ?> -
  • -
  • +
  • +
  • data = $error; $this->output( 401 ); @@ -142,7 +142,7 @@ class UM_REST_API { */ private function invalid_auth() { $error = array(); - $error['error'] = __( 'Your request could not be authenticated', 'ultimatemember' ); + $error['error'] = __( 'Your request could not be authenticated', 'ultimate-member'); $this->data = $error; $this->output( 401 ); @@ -153,7 +153,7 @@ class UM_REST_API { */ private function invalid_key() { $error = array(); - $error['error'] = __( 'Invalid API key', 'ultimatemember' ); + $error['error'] = __( 'Invalid API key', 'ultimate-member'); $this->data = $error; $this->output( 401 ); @@ -291,12 +291,12 @@ class UM_REST_API { $error = array(); if ( !$id ) { - $error['error'] = __('You must provide a user ID','ultimatemember'); + $error['error'] = __('You must provide a user ID','ultimate-member'); return $error; } if ( !$data ) { - $error['error'] = __('You need to provide data to update','ultimatemember'); + $error['error'] = __('You need to provide data to update','ultimate-member'); return $error; } @@ -305,20 +305,20 @@ class UM_REST_API { switch ( $data ) { case 'status': $ultimatemember->user->set_status( $value ); - $response['success'] = __('User status has been changed.','ultimatemember'); + $response['success'] = __('User status has been changed.','ultimate-member'); break; case 'role': $ultimatemember->user->set_role( $value ); - $response['success'] = __('User level has been changed.','ultimatemember'); + $response['success'] = __('User level has been changed.','ultimate-member'); break; case 'wp_role': $wp_user_object = new WP_User( $id ); $wp_user_object->set_role( $value ); - $response['success'] = __('User WordPress role has been changed.','ultimatemember'); + $response['success'] = __('User WordPress role has been changed.','ultimate-member'); break; default: update_user_meta( $id, $data, esc_attr( $value ) ); - $response['success'] = __('User meta has been changed.','ultimatemember'); + $response['success'] = __('User meta has been changed.','ultimate-member'); break; } @@ -336,7 +336,7 @@ class UM_REST_API { $error = array(); if ( !$id ) { - $error['error'] = __('You must provide a user ID','ultimatemember'); + $error['error'] = __('You must provide a user ID','ultimate-member'); return $error; } @@ -344,7 +344,7 @@ class UM_REST_API { global $um_followers; $results = $um_followers->api->followers( $id ); if ( !$results ) { - $error['error'] = __('No users were found','ultimatemember'); + $error['error'] = __('No users were found','ultimate-member'); return $error; } $response['followers']['count'] = $um_followers->api->count_followers_plain( $id ); @@ -355,7 +355,7 @@ class UM_REST_API { $response['followers']['users'][$k]['display_name'] = $user->display_name; } } else { - $error['error'] = __('Invalid request','ultimatemember'); + $error['error'] = __('Invalid request','ultimate-member'); return $error; } @@ -373,7 +373,7 @@ class UM_REST_API { $error = array(); if ( !$id ) { - $error['error'] = __('You must provide a user ID','ultimatemember'); + $error['error'] = __('You must provide a user ID','ultimate-member'); return $error; } @@ -381,7 +381,7 @@ class UM_REST_API { global $um_followers; $results = $um_followers->api->following( $id ); if ( !$results ) { - $error['error'] = __('No users were found','ultimatemember'); + $error['error'] = __('No users were found','ultimate-member'); return $error; } $response['following']['count'] = $um_followers->api->count_following_plain( $id ); @@ -392,7 +392,7 @@ class UM_REST_API { $response['following']['users'][$k]['display_name'] = $user->display_name; } } else { - $error['error'] = __('Invalid request','ultimatemember'); + $error['error'] = __('Invalid request','ultimate-member'); return $error; } @@ -480,20 +480,20 @@ class UM_REST_API { $error = array(); if ( !isset( $id ) ) { - $error['error'] = __('You must provide a user ID','ultimatemember'); + $error['error'] = __('You must provide a user ID','ultimate-member'); return $error; } $user = get_userdata( $id ); if ( !$user ) { - $error['error'] = __('Invalid user specified','ultimatemember'); + $error['error'] = __('Invalid user specified','ultimate-member'); return $error; } um_fetch_user( $id ); $ultimatemember->user->delete(); - $response['success'] = __('User has been successfully deleted.','ultimatemember'); + $response['success'] = __('User has been successfully deleted.','ultimate-member'); return $response; } @@ -509,13 +509,13 @@ class UM_REST_API { $error = array(); if ( !isset( $id ) ) { - $error['error'] = __('You must provide a user ID','ultimatemember'); + $error['error'] = __('You must provide a user ID','ultimate-member'); return $error; } $user = get_userdata( $id ); if ( !$user ) { - $error['error'] = __('Invalid user specified','ultimatemember'); + $error['error'] = __('Invalid user specified','ultimate-member'); return $error; } @@ -637,7 +637,7 @@ class UM_REST_API { $error = array(); // Make sure our query is valid if ( ! in_array( $query, $accepted ) ) { - $error['error'] = __( 'Invalid query!', 'ultimatemember' ); + $error['error'] = __( 'Invalid query!', 'ultimate-member'); $this->data = $error; $this->output(); @@ -746,20 +746,20 @@ class UM_REST_API {
    diff --git a/core/um-builtin.php b/core/um-builtin.php index 194eb6e8..2f3755f5 100644 --- a/core/um-builtin.php +++ b/core/um-builtin.php @@ -79,10 +79,10 @@ class UM_Builtin { function unique_field_err( $key ){ global $ultimatemember; if ( empty( $key ) ) return 'Please provide a meta key'; - if ( isset( $this->core_fields[ $key ] ) ) return __('Your meta key is a reserved core field and cannot be used','ultimatemember'); - if ( isset( $this->predefined_fields[ $key ] ) ) return __('Your meta key is a predefined reserved key and cannot be used','ultimatemember'); - if ( isset( $this->saved_fields[ $key ] ) ) return __('Your meta key already exists in your fields list','ultimatemember'); - if ( !$ultimatemember->validation->safe_string( $key ) ) return __('Your meta key contains illegal characters. Please correct it.','ultimatemember'); + if ( isset( $this->core_fields[ $key ] ) ) return __('Your meta key is a reserved core field and cannot be used','ultimate-member'); + if ( isset( $this->predefined_fields[ $key ] ) ) return __('Your meta key is a predefined reserved key and cannot be used','ultimate-member'); + if ( isset( $this->saved_fields[ $key ] ) ) return __('Your meta key already exists in your fields list','ultimate-member'); + if ( !$ultimatemember->validation->safe_string( $key ) ) return __('Your meta key contains illegal characters. Please correct it.','ultimate-member'); return 0; } @@ -91,8 +91,8 @@ class UM_Builtin { ***/ function date_range_start_err( $date ) { global $ultimatemember; - if ( empty( $date ) ) return __('Please provide a date range beginning','ultimatemember'); - if ( !$ultimatemember->validation->validate_date( $date ) ) return __('Please enter a valid start date in the date range','ultimatemember'); + if ( empty( $date ) ) return __('Please provide a date range beginning','ultimate-member'); + if ( !$ultimatemember->validation->validate_date( $date ) ) return __('Please enter a valid start date in the date range','ultimate-member'); return 0; } @@ -101,9 +101,9 @@ class UM_Builtin { ***/ function date_range_end_err( $date, $start_date ) { global $ultimatemember; - if ( empty( $date ) ) return __('Please provide a date range end','ultimatemember'); - if ( !$ultimatemember->validation->validate_date( $date ) ) return __('Please enter a valid end date in the date range','ultimatemember'); - if ( strtotime( $date ) <= strtotime( $start_date ) ) return __('The end of date range must be greater than the start of date range','ultimatemember'); + if ( empty( $date ) ) return __('Please provide a date range end','ultimate-member'); + if ( !$ultimatemember->validation->validate_date( $date ) ) return __('Please enter a valid end date in the date range','ultimate-member'); + if ( strtotime( $date ) <= strtotime( $start_date ) ) return __('The end of date range must be greater than the start of date range','ultimate-member'); return 0; } @@ -139,7 +139,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -148,14 +148,14 @@ class UM_Builtin { ), 'number' => array( - 'name' => __('Number','ultimatemember'), + 'name' => __('Number','ultimate-member'), 'col1' => array('_title','_metakey','_help','_default','_min','_visibility'), 'col2' => array('_label','_placeholder','_public','_roles','_validate','_custom_validate','_max'), 'col3' => array('_required','_editable','_icon'), 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -171,7 +171,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -187,14 +187,14 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', ), '_options' => array( 'mode' => 'required', - 'error' => __('You have not added any choices yet.','ultimatemember') + 'error' => __('You have not added any choices yet.','ultimate-member') ), ) ), @@ -207,14 +207,14 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', ), '_options' => array( 'mode' => 'required', - 'error' => __('You have not added any choices yet.','ultimatemember') + 'error' => __('You have not added any choices yet.','ultimate-member') ), ) ), @@ -227,14 +227,14 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', ), '_options' => array( 'mode' => 'required', - 'error' => __('You have not added any choices yet.','ultimatemember') + 'error' => __('You have not added any choices yet.','ultimate-member') ), ) ), @@ -247,14 +247,14 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', ), '_options' => array( 'mode' => 'required', - 'error' => __('You have not added any choices yet.','ultimatemember') + 'error' => __('You have not added any choices yet.','ultimate-member') ), ) ), @@ -267,7 +267,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -283,7 +283,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -299,14 +299,14 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', ), '_max_size' => array( 'mode' => 'numeric', - 'error' => __('Please enter a valid size','ultimatemember') + 'error' => __('Please enter a valid size','ultimate-member') ), ) ), @@ -319,14 +319,14 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', ), '_max_size' => array( 'mode' => 'numeric', - 'error' => __('Please enter a valid size','ultimatemember') + 'error' => __('Please enter a valid size','ultimate-member') ), ) ), @@ -339,14 +339,14 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', ), '_years' => array( 'mode' => 'numeric', - 'error' => __('Number of years is not valid','ultimatemember') + 'error' => __('Number of years is not valid','ultimate-member') ), '_range_start' => array( 'mode' => 'range-start', @@ -365,7 +365,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -381,7 +381,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -398,7 +398,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), ) ), @@ -411,11 +411,11 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_content' => array( 'mode' => 'required', - 'error' => __('You must add a shortcode to the content area','ultimatemember') + 'error' => __('You must add a shortcode to the content area','ultimate-member') ), ) ), @@ -428,7 +428,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), ) ), @@ -441,7 +441,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), ) ), @@ -454,7 +454,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -470,7 +470,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -486,7 +486,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -502,7 +502,7 @@ class UM_Builtin { 'validate' => array( '_title' => array( 'mode' => 'required', - 'error' => __('You must provide a title','ultimatemember') + 'error' => __('You must provide a title','ultimate-member') ), '_metakey' => array( 'mode' => 'unique', @@ -548,15 +548,15 @@ class UM_Builtin { $um_roles = $ultimatemember->query->get_roles( false, array('admin') ); - $profile_privacy = apply_filters('um_profile_privacy_options', array( __('Everyone','ultimatemember'), __('Only me','ultimatemember') ) ); + $profile_privacy = apply_filters('um_profile_privacy_options', array( __('Everyone','ultimate-member'), __('Only me','ultimate-member') ) ); $this->predefined_fields = array( 'user_login' => array( - 'title' => __('Username','ultimatemember'), + 'title' => __('Username','ultimate-member'), 'metakey' => 'user_login', 'type' => 'text', - 'label' => __('Username','ultimatemember'), + 'label' => __('Username','ultimate-member'), 'required' => 1, 'public' => 1, 'editable' => 0, @@ -566,10 +566,10 @@ class UM_Builtin { ), 'username' => array( - 'title' => __('Username or E-mail','ultimatemember'), + 'title' => __('Username or E-mail','ultimate-member'), 'metakey' => 'username', 'type' => 'text', - 'label' => __('Username or E-mail','ultimatemember'), + 'label' => __('Username or E-mail','ultimate-member'), 'required' => 1, 'public' => 1, 'editable' => 0, @@ -577,10 +577,10 @@ class UM_Builtin { ), 'user_password' => array( - 'title' => __('Password','ultimatemember'), + 'title' => __('Password','ultimate-member'), 'metakey' => 'user_password', 'type' => 'password', - 'label' => __('Password','ultimatemember'), + 'label' => __('Password','ultimate-member'), 'required' => 1, 'public' => 1, 'editable' => 1, @@ -591,40 +591,40 @@ class UM_Builtin { ), 'first_name' => array( - 'title' => __('First Name','ultimatemember'), + 'title' => __('First Name','ultimate-member'), 'metakey' => 'first_name', 'type' => 'text', - 'label' => __('First Name','ultimatemember'), + 'label' => __('First Name','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, ), 'last_name' => array( - 'title' => __('Last Name','ultimatemember'), + 'title' => __('Last Name','ultimate-member'), 'metakey' => 'last_name', 'type' => 'text', - 'label' => __('Last Name','ultimatemember'), + 'label' => __('Last Name','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, ), 'nickname' => array( - 'title' => __('Nickname','ultimatemember'), + 'title' => __('Nickname','ultimate-member'), 'metakey' => 'nickname', 'type' => 'text', - 'label' => __('Nickname','ultimatemember'), + 'label' => __('Nickname','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, ), 'user_registered' => array( - 'title' => __('Registration Date','ultimatemember'), + 'title' => __('Registration Date','ultimate-member'), 'metakey' => 'user_registered', 'type' => 'text', - 'label' => __('Registration Date','ultimatemember'), + 'label' => __('Registration Date','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -632,10 +632,10 @@ class UM_Builtin { ), 'last_login' => array( - 'title' => __('Last Login','ultimatemember'), + 'title' => __('Last Login','ultimate-member'), 'metakey' => '_um_last_login', 'type' => 'text', - 'label' => __('Last Login','ultimatemember'), + 'label' => __('Last Login','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -643,10 +643,10 @@ class UM_Builtin { ), 'user_email' => array( - 'title' => __('E-mail Address','ultimatemember'), + 'title' => __('E-mail Address','ultimate-member'), 'metakey' => 'user_email', 'type' => 'text', - 'label' => __('E-mail Address','ultimatemember'), + 'label' => __('E-mail Address','ultimate-member'), 'required' => 0, 'public' => 1, 'validate' => 'unique_email', @@ -654,10 +654,10 @@ class UM_Builtin { ), 'secondary_user_email' => array( - 'title' => __('Secondary E-mail Address','ultimatemember'), + 'title' => __('Secondary E-mail Address','ultimate-member'), 'metakey' => 'secondary_user_email', 'type' => 'text', - 'label' => __('Secondary E-mail Address','ultimatemember'), + 'label' => __('Secondary E-mail Address','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -666,10 +666,10 @@ class UM_Builtin { ), 'description' => array( - 'title' => __('Biography','ultimatemember'), + 'title' => __('Biography','ultimate-member'), 'metakey' => 'description', 'type' => 'textarea', - 'label' => __('Biography','ultimatemember'), + 'label' => __('Biography','ultimate-member'), 'html' => 0, 'required' => 0, 'public' => 1, @@ -679,10 +679,10 @@ class UM_Builtin { ), 'birth_date' => array( - 'title' => __('Birth Date','ultimatemember'), + 'title' => __('Birth Date','ultimate-member'), 'metakey' => 'birth_date', 'type' => 'date', - 'label' => __('Birth Date','ultimatemember'), + 'label' => __('Birth Date','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -693,22 +693,22 @@ class UM_Builtin { ), 'gender' => array( - 'title' => __('Gender','ultimatemember'), + 'title' => __('Gender','ultimate-member'), 'metakey' => 'gender', 'type' => 'radio', - 'label' => __('Gender','ultimatemember'), + 'label' => __('Gender','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, - 'options' => array( __('Male','ultimatemember'), __('Female','ultimatemember') ) + 'options' => array( __('Male','ultimate-member'), __('Female','ultimate-member') ) ), 'country' => array( - 'title' => __('Country','ultimatemember'), + 'title' => __('Country','ultimate-member'), 'metakey' => 'country', 'type' => 'select', - 'label' => __('Country','ultimatemember'), - 'placeholder' => __('Choose a Country','ultimatemember'), + 'label' => __('Country','ultimate-member'), + 'placeholder' => __('Choose a Country','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -716,10 +716,10 @@ class UM_Builtin { ), 'facebook' => array( - 'title' => __('Facebook','ultimatemember'), + 'title' => __('Facebook','ultimate-member'), 'metakey' => 'facebook', 'type' => 'url', - 'label' => __('Facebook','ultimatemember'), + 'label' => __('Facebook','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -734,10 +734,10 @@ class UM_Builtin { ), 'twitter' => array( - 'title' => __('Twitter','ultimatemember'), + 'title' => __('Twitter','ultimate-member'), 'metakey' => 'twitter', 'type' => 'url', - 'label' => __('Twitter','ultimatemember'), + 'label' => __('Twitter','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -752,10 +752,10 @@ class UM_Builtin { ), 'linkedin' => array( - 'title' => __('LinkedIn','ultimatemember'), + 'title' => __('LinkedIn','ultimate-member'), 'metakey' => 'linkedin', 'type' => 'url', - 'label' => __('LinkedIn','ultimatemember'), + 'label' => __('LinkedIn','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -770,10 +770,10 @@ class UM_Builtin { ), 'googleplus' => array( - 'title' => __('Google+','ultimatemember'), + 'title' => __('Google+','ultimate-member'), 'metakey' => 'googleplus', 'type' => 'url', - 'label' => __('Google+','ultimatemember'), + 'label' => __('Google+','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -788,10 +788,10 @@ class UM_Builtin { ), 'instagram' => array( - 'title' => __('Instagram','ultimatemember'), + 'title' => __('Instagram','ultimate-member'), 'metakey' => 'instagram', 'type' => 'url', - 'label' => __('Instagram','ultimatemember'), + 'label' => __('Instagram','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -806,10 +806,10 @@ class UM_Builtin { ), 'skype' => array( - 'title' => __('Skype ID','ultimatemember'), + 'title' => __('Skype ID','ultimate-member'), 'metakey' => 'skype', 'type' => 'url', - 'label' => __('Skype ID','ultimatemember'), + 'label' => __('Skype ID','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -821,10 +821,10 @@ class UM_Builtin { ), 'youtube' => array( - 'title' => __('YouTube','ultimatemember'), + 'title' => __('YouTube','ultimate-member'), 'metakey' => 'youtube', 'type' => 'url', - 'label' => __('YouTube','ultimatemember'), + 'label' => __('YouTube','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -839,10 +839,10 @@ class UM_Builtin { ), 'soundcloud' => array( - 'title' => __('SoundCloud','ultimatemember'), + 'title' => __('SoundCloud','ultimate-member'), 'metakey' => 'soundcloud', 'type' => 'url', - 'label' => __('SoundCloud','ultimatemember'), + 'label' => __('SoundCloud','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -857,10 +857,10 @@ class UM_Builtin { ), 'vk' => array( - 'title' => __('VKontakte','ultimatemember'), + 'title' => __('VKontakte','ultimate-member'), 'metakey' => 'vkontakte', 'type' => 'url', - 'label' => __('VKontakte','ultimatemember'), + 'label' => __('VKontakte','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -875,10 +875,10 @@ class UM_Builtin { ), 'role_select' => array( - 'title' => __('Roles (Dropdown)','ultimatemember'), + 'title' => __('Roles (Dropdown)','ultimate-member'), 'metakey' => 'role_select', 'type' => 'select', - 'label' => __('Account Type','ultimatemember'), + 'label' => __('Account Type','ultimate-member'), 'placeholder' => 'Choose account type', 'required' => 0, 'public' => 1, @@ -887,10 +887,10 @@ class UM_Builtin { ), 'role_radio' => array( - 'title' => __('Roles (Radio)','ultimatemember'), + 'title' => __('Roles (Radio)','ultimate-member'), 'metakey' => 'role_radio', 'type' => 'radio', - 'label' => __('Account Type','ultimatemember'), + 'label' => __('Account Type','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -898,11 +898,11 @@ class UM_Builtin { ), 'languages' => array( - 'title' => __('Languages','ultimatemember'), + 'title' => __('Languages','ultimate-member'), 'metakey' => 'languages', 'type' => 'multiselect', - 'label' => __('Languages Spoken','ultimatemember'), - 'placeholder' => __('Select languages','ultimatemember'), + 'label' => __('Languages Spoken','ultimate-member'), + 'placeholder' => __('Select languages','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -910,10 +910,10 @@ class UM_Builtin { ), 'phone_number' => array( - 'title' => __('Phone Number','ultimatemember'), + 'title' => __('Phone Number','ultimate-member'), 'metakey' => 'phone_number', 'type' => 'text', - 'label' => __('Phone Number','ultimatemember'), + 'label' => __('Phone Number','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -922,10 +922,10 @@ class UM_Builtin { ), 'mobile_number' => array( - 'title' => __('Mobile Number','ultimatemember'), + 'title' => __('Mobile Number','ultimate-member'), 'metakey' => 'mobile_number', 'type' => 'text', - 'label' => __('Mobile Number','ultimatemember'), + 'label' => __('Mobile Number','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, @@ -936,11 +936,11 @@ class UM_Builtin { // private use ( not public list ) 'profile_photo' => array( - 'title' => __('Profile Photo','ultimatemember'), + 'title' => __('Profile Photo','ultimate-member'), 'metakey' => 'profile_photo', 'type' => 'image', - 'label' => __('Change your profile photo','ultimatemember'), - 'upload_text' => __('Upload your photo here','ultimatemember'), + 'label' => __('Change your profile photo','ultimate-member'), + 'upload_text' => __('Upload your photo here','ultimate-member'), 'icon' => 'um-faicon-camera', 'crop' => 1, 'max_size' => ( um_get_option('profile_photo_max_size') ) ? um_get_option('profile_photo_max_size') : 999999999, @@ -950,11 +950,11 @@ class UM_Builtin { ), 'cover_photo' => array( - 'title' => __('Cover Photo','ultimatemember'), + 'title' => __('Cover Photo','ultimate-member'), 'metakey' => 'cover_photo', 'type' => 'image', - 'label' => __('Change your cover photo','ultimatemember'), - 'upload_text' => __('Upload profile cover here','ultimatemember'), + 'label' => __('Change your cover photo','ultimate-member'), + 'upload_text' => __('Upload profile cover here','ultimate-member'), 'icon' => 'um-faicon-picture-o', 'crop' => 2, 'max_size' => ( um_get_option('cover_photo_max_size') ) ? um_get_option('cover_photo_max_size') : 999999999, @@ -965,17 +965,17 @@ class UM_Builtin { ), 'password_reset_text' => array( - 'title' => __('Password Reset','ultimatemember'), + 'title' => __('Password Reset','ultimate-member'), 'type' => 'block', - 'content' => '
    ' . __('To reset your password, please enter your email address or username below','ultimatemember'). '
    ', + 'content' => '
    ' . __('To reset your password, please enter your email address or username below','ultimate-member'). '
    ', 'private_use' => true, ), 'username_b' => array( - 'title' => __('Username or E-mail','ultimatemember'), + 'title' => __('Username or E-mail','ultimate-member'), 'metakey' => 'username_b', 'type' => 'text', - 'placeholder' => __('Enter your username or email','ultimatemember'), + 'placeholder' => __('Enter your username or email','ultimate-member'), 'required' => 1, 'public' => 1, 'editable' => 0, @@ -985,15 +985,15 @@ class UM_Builtin { // account page use ( not public ) 'profile_privacy' => array( - 'title' => __('Profile Privacy','ultimatemember'), + 'title' => __('Profile Privacy','ultimate-member'), 'metakey' => 'profile_privacy', 'type' => 'select', - 'label' => __('Profile Privacy','ultimatemember'), - 'help' => __('Who can see your public profile?','ultimatemember'), + 'label' => __('Profile Privacy','ultimate-member'), + 'help' => __('Who can see your public profile?','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, - 'default' => __('Everyone','ultimatemember'), + 'default' => __('Everyone','ultimate-member'), 'options' => $profile_privacy, 'allowclear' => 0, 'account_only' => true, @@ -1001,39 +1001,39 @@ class UM_Builtin { ), 'hide_in_members' => array( - 'title' => __('Hide my profile from directory','ultimatemember'), + 'title' => __('Hide my profile from directory','ultimate-member'), 'metakey' => 'hide_in_members', 'type' => 'radio', - 'label' => __('Hide my profile from directory','ultimatemember'), - 'help' => __('Here you can hide yourself from appearing in public directory','ultimatemember'), + 'label' => __('Hide my profile from directory','ultimate-member'), + 'help' => __('Here you can hide yourself from appearing in public directory','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, - 'default' => __('No','ultimatemember'), - 'options' => array( __('No','ultimatemember'), __('Yes','ultimatemember') ), + 'default' => __('No','ultimate-member'), + 'options' => array( __('No','ultimate-member'), __('Yes','ultimate-member') ), 'account_only' => true, 'required_opt' => array( 'members_page', 1 ), ), 'delete_account' => array( - 'title' => __('Delete Account','ultimatemember'), + 'title' => __('Delete Account','ultimate-member'), 'metakey' => 'delete_account', 'type' => 'radio', - 'label' => __('Delete Account','ultimatemember'), - 'help' => __('If you confirm, everything related to your profile will be deleted permanently from the site','ultimatemember'), + 'label' => __('Delete Account','ultimate-member'), + 'help' => __('If you confirm, everything related to your profile will be deleted permanently from the site','ultimate-member'), 'required' => 0, 'public' => 1, 'editable' => 1, - 'default' => __('No','ultimatemember'), - 'options' => array( __('Yes','ultimatemember') , __('No','ultimatemember') ), + 'default' => __('No','ultimate-member'), + 'options' => array( __('Yes','ultimate-member') , __('No','ultimate-member') ), 'account_only' => true, ), 'single_user_password' => array( - 'title' => __('Password','ultimatemember'), + 'title' => __('Password','ultimate-member'), 'metakey' => 'single_user_password', 'type' => 'password', - 'label' => __('Password','ultimatemember'), + 'label' => __('Password','ultimate-member'), 'required' => 1, 'public' => 1, 'editable' => 1, @@ -1140,28 +1140,28 @@ class UM_Builtin { ***/ function validation_types(){ - $array[0] = __('None','ultimatemember'); - $array['alphabetic'] = __('Alphabetic value only','ultimatemember'); - $array['alpha_numeric'] = __('Alpha-numeric value','ultimatemember'); - $array['english'] = __('English letters only','ultimatemember'); - $array['facebook_url'] = __('Facebook URL','ultimatemember'); - $array['google_url'] = __('Google+ URL','ultimatemember'); - $array['instagram_url'] = __('Instagram URL','ultimatemember'); - $array['linkedin_url'] = __('LinkedIn URL','ultimatemember'); - $array['vk_url'] = __('VKontakte URL','ultimatemember'); - $array['lowercase'] = __('Lowercase only','ultimatemember'); - $array['numeric'] = __('Numeric value only','ultimatemember'); - $array['phone_number'] = __('Phone Number','ultimatemember'); - $array['skype'] = __('Skype ID','ultimatemember'); - $array['soundcloud'] = __('SoundCloud Profile','ultimatemember'); - $array['twitter_url'] = __('Twitter URL','ultimatemember'); - $array['unique_email'] = __('Unique E-mail','ultimatemember'); - $array['unique_value'] = __('Unique Metakey value','ultimatemember'); - $array['unique_username'] = __('Unique Username','ultimatemember'); - $array['unique_username_or_email'] = __('Unique Username/E-mail','ultimatemember'); - $array['url'] = __('Website URL','ultimatemember'); - $array['youtube_url'] = __('YouTube Profile','ultimatemember'); - $array['custom'] = __('Custom Validation','ultimatemember'); + $array[0] = __('None','ultimate-member'); + $array['alphabetic'] = __('Alphabetic value only','ultimate-member'); + $array['alpha_numeric'] = __('Alpha-numeric value','ultimate-member'); + $array['english'] = __('English letters only','ultimate-member'); + $array['facebook_url'] = __('Facebook URL','ultimate-member'); + $array['google_url'] = __('Google+ URL','ultimate-member'); + $array['instagram_url'] = __('Instagram URL','ultimate-member'); + $array['linkedin_url'] = __('LinkedIn URL','ultimate-member'); + $array['vk_url'] = __('VKontakte URL','ultimate-member'); + $array['lowercase'] = __('Lowercase only','ultimate-member'); + $array['numeric'] = __('Numeric value only','ultimate-member'); + $array['phone_number'] = __('Phone Number','ultimate-member'); + $array['skype'] = __('Skype ID','ultimate-member'); + $array['soundcloud'] = __('SoundCloud Profile','ultimate-member'); + $array['twitter_url'] = __('Twitter URL','ultimate-member'); + $array['unique_email'] = __('Unique E-mail','ultimate-member'); + $array['unique_value'] = __('Unique Metakey value','ultimate-member'); + $array['unique_username'] = __('Unique Username','ultimate-member'); + $array['unique_username_or_email'] = __('Unique Username/E-mail','ultimate-member'); + $array['url'] = __('Website URL','ultimate-member'); + $array['youtube_url'] = __('YouTube Profile','ultimate-member'); + $array['custom'] = __('Custom Validation','ultimate-member'); $array = apply_filters('um_admin_field_validation_hook', $array ); return $array; @@ -1175,442 +1175,442 @@ class UM_Builtin { case 'languages': $array = array( - "aa" => __("Afar","ultimatemember"), - "ab" => __("Abkhazian","ultimatemember"), - "ae" => __("Avestan","ultimatemember"), - "af" => __("Afrikaans","ultimatemember"), - "ak" => __("Akan","ultimatemember"), - "am" => __("Amharic","ultimatemember"), - "an" => __("Aragonese","ultimatemember"), - "ar" => __("Arabic","ultimatemember"), - "as" => __("Assamese","ultimatemember"), - "av" => __("Avaric","ultimatemember"), - "ay" => __("Aymara","ultimatemember"), - "az" => __("Azerbaijani","ultimatemember"), - "ba" => __("Bashkir","ultimatemember"), - "be" => __("Belarusian","ultimatemember"), - "bg" => __("Bulgarian","ultimatemember"), - "bh" => __("Bihari","ultimatemember"), - "bi" => __("Bislama","ultimatemember"), - "bm" => __("Bambara","ultimatemember"), - "bn" => __("Bengali","ultimatemember"), - "bo" => __("Tibetan","ultimatemember"), - "br" => __("Breton","ultimatemember"), - "bs" => __("Bosnian","ultimatemember"), - "ca" => __("Catalan","ultimatemember"), - "ce" => __("Chechen","ultimatemember"), - "ch" => __("Chamorro","ultimatemember"), - "co" => __("Corsican","ultimatemember"), - "cr" => __("Cree","ultimatemember"), - "cs" => __("Czech","ultimatemember"), - "cu" => __("Church Slavic","ultimatemember"), - "cv" => __("Chuvash","ultimatemember"), - "cy" => __("Welsh","ultimatemember"), - "da" => __("Danish","ultimatemember"), - "de" => __("German","ultimatemember"), - "dv" => __("Divehi","ultimatemember"), - "dz" => __("Dzongkha","ultimatemember"), - "ee" => __("Ewe","ultimatemember"), - "el" => __("Greek","ultimatemember"), - "en" => __("English","ultimatemember"), - "eo" => __("Esperanto","ultimatemember"), - "es" => __("Spanish","ultimatemember"), - "et" => __("Estonian","ultimatemember"), - "eu" => __("Basque","ultimatemember"), - "fa" => __("Persian","ultimatemember"), - "ff" => __("Fulah","ultimatemember"), - "fi" => __("Finnish","ultimatemember"), - "fj" => __("Fijian","ultimatemember"), - "fo" => __("Faroese","ultimatemember"), - "fr" => __("French","ultimatemember"), - "fy" => __("Western Frisian","ultimatemember"), - "ga" => __("Irish","ultimatemember"), - "gd" => __("Scottish Gaelic","ultimatemember"), - "gl" => __("Galician","ultimatemember"), - "gn" => __("Guarani","ultimatemember"), - "gu" => __("Gujarati","ultimatemember"), - "gv" => __("Manx","ultimatemember"), - "ha" => __("Hausa","ultimatemember"), - "he" => __("Hebrew","ultimatemember"), - "hi" => __("Hindi","ultimatemember"), - "ho" => __("Hiri Motu","ultimatemember"), - "hr" => __("Croatian","ultimatemember"), - "ht" => __("Haitian","ultimatemember"), - "hu" => __("Hungarian","ultimatemember"), - "hy" => __("Armenian","ultimatemember"), - "hz" => __("Herero","ultimatemember"), - "ia" => __("Interlingua (International Auxiliary Language Association)","ultimatemember"), - "id" => __("Indonesian","ultimatemember"), - "ie" => __("Interlingue","ultimatemember"), - "ig" => __("Igbo","ultimatemember"), - "ii" => __("Sichuan Yi","ultimatemember"), - "ik" => __("Inupiaq","ultimatemember"), - "io" => __("Ido","ultimatemember"), - "is" => __("Icelandic","ultimatemember"), - "it" => __("Italian","ultimatemember"), - "iu" => __("Inuktitut","ultimatemember"), - "ja" => __("Japanese","ultimatemember"), - "jv" => __("Javanese","ultimatemember"), - "ka" => __("Georgian","ultimatemember"), - "kg" => __("Kongo","ultimatemember"), - "ki" => __("Kikuyu","ultimatemember"), - "kj" => __("Kwanyama","ultimatemember"), - "kk" => __("Kazakh","ultimatemember"), - "kl" => __("Kalaallisut","ultimatemember"), - "km" => __("Khmer","ultimatemember"), - "kn" => __("Kannada","ultimatemember"), - "ko" => __("Korean","ultimatemember"), - "kr" => __("Kanuri","ultimatemember"), - "ks" => __("Kashmiri","ultimatemember"), - "ku" => __("Kurdish","ultimatemember"), - "kv" => __("Komi","ultimatemember"), - "kw" => __("Cornish","ultimatemember"), - "ky" => __("Kirghiz","ultimatemember"), - "la" => __("Latin","ultimatemember"), - "lb" => __("Luxembourgish","ultimatemember"), - "lg" => __("Ganda","ultimatemember"), - "li" => __("Limburgish","ultimatemember"), - "ln" => __("Lingala","ultimatemember"), - "lo" => __("Lao","ultimatemember"), - "lt" => __("Lithuanian","ultimatemember"), - "lu" => __("Luba-Katanga","ultimatemember"), - "lv" => __("Latvian","ultimatemember"), - "mg" => __("Malagasy","ultimatemember"), - "mh" => __("Marshallese","ultimatemember"), - "mi" => __("Maori","ultimatemember"), - "mk" => __("Macedonian","ultimatemember"), - "ml" => __("Malayalam","ultimatemember"), - "mn" => __("Mongolian","ultimatemember"), - "mr" => __("Marathi","ultimatemember"), - "ms" => __("Malay","ultimatemember"), - "mt" => __("Maltese","ultimatemember"), - "my" => __("Burmese","ultimatemember"), - "na" => __("Nauru","ultimatemember"), - "nb" => __("Norwegian Bokmal","ultimatemember"), - "nd" => __("North Ndebele","ultimatemember"), - "ne" => __("Nepali","ultimatemember"), - "ng" => __("Ndonga","ultimatemember"), - "nl" => __("Dutch","ultimatemember"), - "nn" => __("Norwegian Nynorsk","ultimatemember"), - "no" => __("Norwegian","ultimatemember"), - "nr" => __("South Ndebele","ultimatemember"), - "nv" => __("Navajo","ultimatemember"), - "ny" => __("Chichewa","ultimatemember"), - "oc" => __("Occitan","ultimatemember"), - "oj" => __("Ojibwa","ultimatemember"), - "om" => __("Oromo","ultimatemember"), - "or" => __("Oriya","ultimatemember"), - "os" => __("Ossetian","ultimatemember"), - "pa" => __("Panjabi","ultimatemember"), - "pi" => __("Pali","ultimatemember"), - "pl" => __("Polish","ultimatemember"), - "ps" => __("Pashto","ultimatemember"), - "pt" => __("Portuguese","ultimatemember"), - "qu" => __("Quechua","ultimatemember"), - "rm" => __("Raeto-Romance","ultimatemember"), - "rn" => __("Kirundi","ultimatemember"), - "ro" => __("Romanian","ultimatemember"), - "ru" => __("Russian","ultimatemember"), - "rw" => __("Kinyarwanda","ultimatemember"), - "sa" => __("Sanskrit","ultimatemember"), - "sc" => __("Sardinian","ultimatemember"), - "sd" => __("Sindhi","ultimatemember"), - "se" => __("Northern Sami","ultimatemember"), - "sg" => __("Sango","ultimatemember"), - "si" => __("Sinhala","ultimatemember"), - "sk" => __("Slovak","ultimatemember"), - "sl" => __("Slovenian","ultimatemember"), - "sm" => __("Samoan","ultimatemember"), - "sn" => __("Shona","ultimatemember"), - "so" => __("Somali","ultimatemember"), - "sq" => __("Albanian","ultimatemember"), - "sr" => __("Serbian","ultimatemember"), - "ss" => __("Swati","ultimatemember"), - "st" => __("Southern Sotho","ultimatemember"), - "su" => __("Sundanese","ultimatemember"), - "sv" => __("Swedish","ultimatemember"), - "sw" => __("Swahili","ultimatemember"), - "ta" => __("Tamil","ultimatemember"), - "te" => __("Telugu","ultimatemember"), - "tg" => __("Tajik","ultimatemember"), - "th" => __("Thai","ultimatemember"), - "ti" => __("Tigrinya","ultimatemember"), - "tk" => __("Turkmen","ultimatemember"), - "tl" => __("Tagalog","ultimatemember"), - "tn" => __("Tswana","ultimatemember"), - "to" => __("Tonga","ultimatemember"), - "tr" => __("Turkish","ultimatemember"), - "ts" => __("Tsonga","ultimatemember"), - "tt" => __("Tatar","ultimatemember"), - "tw" => __("Twi","ultimatemember"), - "ty" => __("Tahitian","ultimatemember"), - "ug" => __("Uighur","ultimatemember"), - "uk" => __("Ukrainian","ultimatemember"), - "ur" => __("Urdu","ultimatemember"), - "uz" => __("Uzbek","ultimatemember"), - "ve" => __("Venda","ultimatemember"), - "vi" => __("Vietnamese","ultimatemember"), - "vo" => __("Volapuk","ultimatemember"), - "wa" => __("Walloon","ultimatemember"), - "wo" => __("Wolof","ultimatemember"), - "xh" => __("Xhosa","ultimatemember"), - "yi" => __("Yiddish","ultimatemember"), - "yo" => __("Yoruba","ultimatemember"), - "za" => __("Zhuang","ultimatemember"), - "zh" => __("Chinese","ultimatemember"), - "zu" => __("Zulu","ultimatemember") + "aa" => __("Afar",'ultimate-member'), + "ab" => __("Abkhazian",'ultimate-member'), + "ae" => __("Avestan",'ultimate-member'), + "af" => __("Afrikaans",'ultimate-member'), + "ak" => __("Akan",'ultimate-member'), + "am" => __("Amharic",'ultimate-member'), + "an" => __("Aragonese",'ultimate-member'), + "ar" => __("Arabic",'ultimate-member'), + "as" => __("Assamese",'ultimate-member'), + "av" => __("Avaric",'ultimate-member'), + "ay" => __("Aymara",'ultimate-member'), + "az" => __("Azerbaijani",'ultimate-member'), + "ba" => __("Bashkir",'ultimate-member'), + "be" => __("Belarusian",'ultimate-member'), + "bg" => __("Bulgarian",'ultimate-member'), + "bh" => __("Bihari",'ultimate-member'), + "bi" => __("Bislama",'ultimate-member'), + "bm" => __("Bambara",'ultimate-member'), + "bn" => __("Bengali",'ultimate-member'), + "bo" => __("Tibetan",'ultimate-member'), + "br" => __("Breton",'ultimate-member'), + "bs" => __("Bosnian",'ultimate-member'), + "ca" => __("Catalan",'ultimate-member'), + "ce" => __("Chechen",'ultimate-member'), + "ch" => __("Chamorro",'ultimate-member'), + "co" => __("Corsican",'ultimate-member'), + "cr" => __("Cree",'ultimate-member'), + "cs" => __("Czech",'ultimate-member'), + "cu" => __("Church Slavic",'ultimate-member'), + "cv" => __("Chuvash",'ultimate-member'), + "cy" => __("Welsh",'ultimate-member'), + "da" => __("Danish",'ultimate-member'), + "de" => __("German",'ultimate-member'), + "dv" => __("Divehi",'ultimate-member'), + "dz" => __("Dzongkha",'ultimate-member'), + "ee" => __("Ewe",'ultimate-member'), + "el" => __("Greek",'ultimate-member'), + "en" => __("English",'ultimate-member'), + "eo" => __("Esperanto",'ultimate-member'), + "es" => __("Spanish",'ultimate-member'), + "et" => __("Estonian",'ultimate-member'), + "eu" => __("Basque",'ultimate-member'), + "fa" => __("Persian",'ultimate-member'), + "ff" => __("Fulah",'ultimate-member'), + "fi" => __("Finnish",'ultimate-member'), + "fj" => __("Fijian",'ultimate-member'), + "fo" => __("Faroese",'ultimate-member'), + "fr" => __("French",'ultimate-member'), + "fy" => __("Western Frisian",'ultimate-member'), + "ga" => __("Irish",'ultimate-member'), + "gd" => __("Scottish Gaelic",'ultimate-member'), + "gl" => __("Galician",'ultimate-member'), + "gn" => __("Guarani",'ultimate-member'), + "gu" => __("Gujarati",'ultimate-member'), + "gv" => __("Manx",'ultimate-member'), + "ha" => __("Hausa",'ultimate-member'), + "he" => __("Hebrew",'ultimate-member'), + "hi" => __("Hindi",'ultimate-member'), + "ho" => __("Hiri Motu",'ultimate-member'), + "hr" => __("Croatian",'ultimate-member'), + "ht" => __("Haitian",'ultimate-member'), + "hu" => __("Hungarian",'ultimate-member'), + "hy" => __("Armenian",'ultimate-member'), + "hz" => __("Herero",'ultimate-member'), + "ia" => __("Interlingua (International Auxiliary Language Association)",'ultimate-member'), + "id" => __("Indonesian",'ultimate-member'), + "ie" => __("Interlingue",'ultimate-member'), + "ig" => __("Igbo",'ultimate-member'), + "ii" => __("Sichuan Yi",'ultimate-member'), + "ik" => __("Inupiaq",'ultimate-member'), + "io" => __("Ido",'ultimate-member'), + "is" => __("Icelandic",'ultimate-member'), + "it" => __("Italian",'ultimate-member'), + "iu" => __("Inuktitut",'ultimate-member'), + "ja" => __("Japanese",'ultimate-member'), + "jv" => __("Javanese",'ultimate-member'), + "ka" => __("Georgian",'ultimate-member'), + "kg" => __("Kongo",'ultimate-member'), + "ki" => __("Kikuyu",'ultimate-member'), + "kj" => __("Kwanyama",'ultimate-member'), + "kk" => __("Kazakh",'ultimate-member'), + "kl" => __("Kalaallisut",'ultimate-member'), + "km" => __("Khmer",'ultimate-member'), + "kn" => __("Kannada",'ultimate-member'), + "ko" => __("Korean",'ultimate-member'), + "kr" => __("Kanuri",'ultimate-member'), + "ks" => __("Kashmiri",'ultimate-member'), + "ku" => __("Kurdish",'ultimate-member'), + "kv" => __("Komi",'ultimate-member'), + "kw" => __("Cornish",'ultimate-member'), + "ky" => __("Kirghiz",'ultimate-member'), + "la" => __("Latin",'ultimate-member'), + "lb" => __("Luxembourgish",'ultimate-member'), + "lg" => __("Ganda",'ultimate-member'), + "li" => __("Limburgish",'ultimate-member'), + "ln" => __("Lingala",'ultimate-member'), + "lo" => __("Lao",'ultimate-member'), + "lt" => __("Lithuanian",'ultimate-member'), + "lu" => __("Luba-Katanga",'ultimate-member'), + "lv" => __("Latvian",'ultimate-member'), + "mg" => __("Malagasy",'ultimate-member'), + "mh" => __("Marshallese",'ultimate-member'), + "mi" => __("Maori",'ultimate-member'), + "mk" => __("Macedonian",'ultimate-member'), + "ml" => __("Malayalam",'ultimate-member'), + "mn" => __("Mongolian",'ultimate-member'), + "mr" => __("Marathi",'ultimate-member'), + "ms" => __("Malay",'ultimate-member'), + "mt" => __("Maltese",'ultimate-member'), + "my" => __("Burmese",'ultimate-member'), + "na" => __("Nauru",'ultimate-member'), + "nb" => __("Norwegian Bokmal",'ultimate-member'), + "nd" => __("North Ndebele",'ultimate-member'), + "ne" => __("Nepali",'ultimate-member'), + "ng" => __("Ndonga",'ultimate-member'), + "nl" => __("Dutch",'ultimate-member'), + "nn" => __("Norwegian Nynorsk",'ultimate-member'), + "no" => __("Norwegian",'ultimate-member'), + "nr" => __("South Ndebele",'ultimate-member'), + "nv" => __("Navajo",'ultimate-member'), + "ny" => __("Chichewa",'ultimate-member'), + "oc" => __("Occitan",'ultimate-member'), + "oj" => __("Ojibwa",'ultimate-member'), + "om" => __("Oromo",'ultimate-member'), + "or" => __("Oriya",'ultimate-member'), + "os" => __("Ossetian",'ultimate-member'), + "pa" => __("Panjabi",'ultimate-member'), + "pi" => __("Pali",'ultimate-member'), + "pl" => __("Polish",'ultimate-member'), + "ps" => __("Pashto",'ultimate-member'), + "pt" => __("Portuguese",'ultimate-member'), + "qu" => __("Quechua",'ultimate-member'), + "rm" => __("Raeto-Romance",'ultimate-member'), + "rn" => __("Kirundi",'ultimate-member'), + "ro" => __("Romanian",'ultimate-member'), + "ru" => __("Russian",'ultimate-member'), + "rw" => __("Kinyarwanda",'ultimate-member'), + "sa" => __("Sanskrit",'ultimate-member'), + "sc" => __("Sardinian",'ultimate-member'), + "sd" => __("Sindhi",'ultimate-member'), + "se" => __("Northern Sami",'ultimate-member'), + "sg" => __("Sango",'ultimate-member'), + "si" => __("Sinhala",'ultimate-member'), + "sk" => __("Slovak",'ultimate-member'), + "sl" => __("Slovenian",'ultimate-member'), + "sm" => __("Samoan",'ultimate-member'), + "sn" => __("Shona",'ultimate-member'), + "so" => __("Somali",'ultimate-member'), + "sq" => __("Albanian",'ultimate-member'), + "sr" => __("Serbian",'ultimate-member'), + "ss" => __("Swati",'ultimate-member'), + "st" => __("Southern Sotho",'ultimate-member'), + "su" => __("Sundanese",'ultimate-member'), + "sv" => __("Swedish",'ultimate-member'), + "sw" => __("Swahili",'ultimate-member'), + "ta" => __("Tamil",'ultimate-member'), + "te" => __("Telugu",'ultimate-member'), + "tg" => __("Tajik",'ultimate-member'), + "th" => __("Thai",'ultimate-member'), + "ti" => __("Tigrinya",'ultimate-member'), + "tk" => __("Turkmen",'ultimate-member'), + "tl" => __("Tagalog",'ultimate-member'), + "tn" => __("Tswana",'ultimate-member'), + "to" => __("Tonga",'ultimate-member'), + "tr" => __("Turkish",'ultimate-member'), + "ts" => __("Tsonga",'ultimate-member'), + "tt" => __("Tatar",'ultimate-member'), + "tw" => __("Twi",'ultimate-member'), + "ty" => __("Tahitian",'ultimate-member'), + "ug" => __("Uighur",'ultimate-member'), + "uk" => __("Ukrainian",'ultimate-member'), + "ur" => __("Urdu",'ultimate-member'), + "uz" => __("Uzbek",'ultimate-member'), + "ve" => __("Venda",'ultimate-member'), + "vi" => __("Vietnamese",'ultimate-member'), + "vo" => __("Volapuk",'ultimate-member'), + "wa" => __("Walloon",'ultimate-member'), + "wo" => __("Wolof",'ultimate-member'), + "xh" => __("Xhosa",'ultimate-member'), + "yi" => __("Yiddish",'ultimate-member'), + "yo" => __("Yoruba",'ultimate-member'), + "za" => __("Zhuang",'ultimate-member'), + "zh" => __("Chinese",'ultimate-member'), + "zu" => __("Zulu",'ultimate-member') ); break; case 'countries': $array = array ( - 'AF' => __('Afghanistan',"ultimatemember"), - 'AX' => __('Åland Islands',"ultimatemember"), - 'AL' => __('Albania',"ultimatemember"), - 'DZ' => __('Algeria',"ultimatemember"), - 'AS' => __('American Samoa',"ultimatemember"), - 'AD' => __('Andorra',"ultimatemember"), - 'AO' => __('Angola',"ultimatemember"), - 'AI' => __('Anguilla',"ultimatemember"), - 'AQ' => __('Antarctica',"ultimatemember"), - 'AG' => __('Antigua and Barbuda',"ultimatemember"), - 'AR' => __('Argentina',"ultimatemember"), - 'AM' => __('Armenia',"ultimatemember"), - 'AW' => __('Aruba',"ultimatemember"), - 'AU' => __('Australia',"ultimatemember"), - 'AT' => __('Austria',"ultimatemember"), - 'AZ' => __('Azerbaijan',"ultimatemember"), - 'BS' => __('Bahamas',"ultimatemember"), - 'BH' => __('Bahrain',"ultimatemember"), - 'BD' => __('Bangladesh',"ultimatemember"), - 'BB' => __('Barbados',"ultimatemember"), - 'BY' => __('Belarus',"ultimatemember"), - 'BE' => __('Belgium',"ultimatemember"), - 'BZ' => __('Belize',"ultimatemember"), - 'BJ' => __('Benin',"ultimatemember"), - 'BM' => __('Bermuda',"ultimatemember"), - 'BT' => __('Bhutan',"ultimatemember"), - 'BO' => __('Bolivia, Plurinational State of',"ultimatemember"), - 'BA' => __('Bosnia and Herzegovina',"ultimatemember"), - 'BW' => __('Botswana',"ultimatemember"), - 'BV' => __('Bouvet Island',"ultimatemember"), - 'BR' => __('Brazil',"ultimatemember"), - 'IO' => __('British Indian Ocean Territory',"ultimatemember"), - 'BN' => __('Brunei Darussalam',"ultimatemember"), - 'BG' => __('Bulgaria',"ultimatemember"), - 'BF' => __('Burkina Faso',"ultimatemember"), - 'BI' => __('Burundi',"ultimatemember"), - 'KH' => __('Cambodia',"ultimatemember"), - 'CM' => __('Cameroon',"ultimatemember"), - 'CA' => __('Canada',"ultimatemember"), - 'CV' => __('Cape Verde',"ultimatemember"), - 'KY' => __('Cayman Islands',"ultimatemember"), - 'CF' => __('Central African Republic',"ultimatemember"), - 'TD' => __('Chad',"ultimatemember"), - 'CL' => __('Chile',"ultimatemember"), - 'CN' => __('China',"ultimatemember"), - 'CX' => __('Christmas Island',"ultimatemember"), - 'CC' => __('Cocos (Keeling) Islands',"ultimatemember"), - 'CO' => __('Colombia',"ultimatemember"), - 'KM' => __('Comoros',"ultimatemember"), - 'CG' => __('Congo',"ultimatemember"), - 'CD' => __('Congo, the Democratic Republic of the',"ultimatemember"), - 'CK' => __('Cook Islands',"ultimatemember"), - 'CR' => __('Costa Rica',"ultimatemember"), - 'CI' => __("Côte d'Ivoire","ultimatemember"), - 'HR' => __('Croatia',"ultimatemember"), - 'CU' => __('Cuba',"ultimatemember"), - 'CY' => __('Cyprus',"ultimatemember"), - 'CZ' => __('Czech Republic',"ultimatemember"), - 'DK' => __('Denmark',"ultimatemember"), - 'DJ' => __('Djibouti',"ultimatemember"), - 'DM' => __('Dominica',"ultimatemember"), - 'DO' => __('Dominican Republic',"ultimatemember"), - 'EC' => __('Ecuador',"ultimatemember"), - 'EG' => __('Egypt',"ultimatemember"), - 'SV' => __('El Salvador',"ultimatemember"), - 'GQ' => __('Equatorial Guinea',"ultimatemember"), - 'ER' => __('Eritrea',"ultimatemember"), - 'EE' => __('Estonia',"ultimatemember"), - 'ET' => __('Ethiopia',"ultimatemember"), - 'FK' => __('Falkland Islands (Malvinas)',"ultimatemember"), - 'FO' => __('Faroe Islands',"ultimatemember"), - 'FJ' => __('Fiji',"ultimatemember"), - 'FI' => __('Finland',"ultimatemember"), - 'FR' => __('France',"ultimatemember"), - 'GF' => __('French Guiana',"ultimatemember"), - 'PF' => __('French Polynesia',"ultimatemember"), - 'TF' => __('French Southern Territories',"ultimatemember"), - 'GA' => __('Gabon',"ultimatemember"), - 'GM' => __('Gambia',"ultimatemember"), - 'GE' => __('Georgia',"ultimatemember"), - 'DE' => __('Germany',"ultimatemember"), - 'GH' => __('Ghana',"ultimatemember"), - 'GI' => __('Gibraltar',"ultimatemember"), - 'GR' => __('Greece',"ultimatemember"), - 'GL' => __('Greenland',"ultimatemember"), - 'GD' => __('Grenada',"ultimatemember"), - 'GP' => __('Guadeloupe',"ultimatemember"), - 'GU' => __('Guam',"ultimatemember"), - 'GT' => __('Guatemala',"ultimatemember"), - 'GG' => __('Guernsey',"ultimatemember"), - 'GN' => __('Guinea',"ultimatemember"), - 'GW' => __('Guinea-Bissau',"ultimatemember"), - 'GY' => __('Guyana',"ultimatemember"), - 'HT' => __('Haiti',"ultimatemember"), - 'HM' => __('Heard Island and McDonald Islands',"ultimatemember"), - 'VA' => __('Holy See (Vatican City State)',"ultimatemember"), - 'HN' => __('Honduras',"ultimatemember"), - 'HK' => __('Hong Kong',"ultimatemember"), - 'HU' => __('Hungary',"ultimatemember"), - 'IS' => __('Iceland',"ultimatemember"), - 'IN' => __('India',"ultimatemember"), - 'ID' => __('Indonesia',"ultimatemember"), - 'IR' => __('Iran, Islamic Republic of',"ultimatemember"), - 'IQ' => __('Iraq',"ultimatemember"), - 'IE' => __('Ireland',"ultimatemember"), - 'IM' => __('Isle of Man',"ultimatemember"), - 'IL' => __('Israel',"ultimatemember"), - 'IT' => __('Italy',"ultimatemember"), - 'JM' => __('Jamaica',"ultimatemember"), - 'JP' => __('Japan',"ultimatemember"), - 'JE' => __('Jersey',"ultimatemember"), - 'JO' => __('Jordan',"ultimatemember"), - 'KZ' => __('Kazakhstan',"ultimatemember"), - 'KE' => __('Kenya',"ultimatemember"), - 'KI' => __('Kiribati',"ultimatemember"), - 'KP' => __("Korea, Democratic People's Republic of","ultimatemember"), - 'KR' => __('Korea, Republic of',"ultimatemember"), - 'KW' => __('Kuwait',"ultimatemember"), - 'KG' => __('Kyrgyzstan',"ultimatemember"), - 'LA' => __("Lao People's Democratic Republic","ultimatemember"), - 'LV' => __('Latvia',"ultimatemember"), - 'LB' => __('Lebanon',"ultimatemember"), - 'LS' => __('Lesotho',"ultimatemember"), - 'LR' => __('Liberia',"ultimatemember"), - 'LY' => __('Libyan Arab Jamahiriya',"ultimatemember"), - 'LI' => __('Liechtenstein',"ultimatemember"), - 'LT' => __('Lithuania',"ultimatemember"), - 'LU' => __('Luxembourg',"ultimatemember"), - 'MO' => __('Macao',"ultimatemember"), - 'MK' => __('Macedonia, the former Yugoslav Republic of',"ultimatemember"), - 'MG' => __('Madagascar',"ultimatemember"), - 'MW' => __('Malawi',"ultimatemember"), - 'MY' => __('Malaysia',"ultimatemember"), - 'MV' => __('Maldives',"ultimatemember"), - 'ML' => __('Mali',"ultimatemember"), - 'MT' => __('Malta',"ultimatemember"), - 'MH' => __('Marshall Islands',"ultimatemember"), - 'MQ' => __('Martinique',"ultimatemember"), - 'MR' => __('Mauritania',"ultimatemember"), - 'MU' => __('Mauritius',"ultimatemember"), - 'YT' => __('Mayotte',"ultimatemember"), - 'MX' => __('Mexico',"ultimatemember"), - 'FM' => __('Micronesia, Federated States of',"ultimatemember"), - 'MD' => __('Moldova, Republic of',"ultimatemember"), - 'MC' => __('Monaco',"ultimatemember"), - 'MN' => __('Mongolia',"ultimatemember"), - 'ME' => __('Montenegro',"ultimatemember"), - 'MS' => __('Montserrat',"ultimatemember"), - 'MA' => __('Morocco',"ultimatemember"), - 'MZ' => __('Mozambique',"ultimatemember"), - 'MM' => __('Myanmar',"ultimatemember"), - 'NA' => __('Namibia',"ultimatemember"), - 'NR' => __('Nauru',"ultimatemember"), - 'NP' => __('Nepal',"ultimatemember"), - 'NL' => __('Netherlands',"ultimatemember"), - 'AN' => __('Netherlands Antilles',"ultimatemember"), - 'NC' => __('New Caledonia',"ultimatemember"), - 'NZ' => __('New Zealand',"ultimatemember"), - 'NI' => __('Nicaragua',"ultimatemember"), - 'NE' => __('Niger',"ultimatemember"), - 'NG' => __('Nigeria',"ultimatemember"), - 'NU' => __('Niue',"ultimatemember"), - 'NF' => __('Norfolk Island',"ultimatemember"), - 'MP' => __('Northern Mariana Islands',"ultimatemember"), - 'NO' => __('Norway',"ultimatemember"), - 'OM' => __('Oman',"ultimatemember"), - 'PK' => __('Pakistan',"ultimatemember"), - 'PW' => __('Palau',"ultimatemember"), - 'PS' => __('Palestine',"ultimatemember"), - 'PA' => __('Panama',"ultimatemember"), - 'PG' => __('Papua New Guinea',"ultimatemember"), - 'PY' => __('Paraguay',"ultimatemember"), - 'PE' => __('Peru',"ultimatemember"), - 'PH' => __('Philippines',"ultimatemember"), - 'PN' => __('Pitcairn',"ultimatemember"), - 'PL' => __('Poland',"ultimatemember"), - 'PT' => __('Portugal',"ultimatemember"), - 'PR' => __('Puerto Rico',"ultimatemember"), - 'QA' => __('Qatar',"ultimatemember"), - 'RE' => __('Réunion',"ultimatemember"), - 'RO' => __('Romania',"ultimatemember"), - 'RU' => __('Russian Federation',"ultimatemember"), - 'RW' => __('Rwanda',"ultimatemember"), - 'BL' => __('Saint Barthélemy',"ultimatemember"), - 'SH' => __('Saint Helena',"ultimatemember"), - 'KN' => __('Saint Kitts and Nevis',"ultimatemember"), - 'LC' => __('Saint Lucia',"ultimatemember"), - 'MF' => __('Saint Martin (French part)',"ultimatemember"), - 'PM' => __('Saint Pierre and Miquelon',"ultimatemember"), - 'VC' => __('Saint Vincent and the Grenadines',"ultimatemember"), - 'WS' => __('Samoa',"ultimatemember"), - 'SM' => __('San Marino',"ultimatemember"), - 'ST' => __('Sao Tome and Principe',"ultimatemember"), - 'SA' => __('Saudi Arabia',"ultimatemember"), - 'SN' => __('Senegal',"ultimatemember"), - 'RS' => __('Serbia',"ultimatemember"), - 'SC' => __('Seychelles',"ultimatemember"), - 'SL' => __('Sierra Leone',"ultimatemember"), - 'SG' => __('Singapore',"ultimatemember"), - 'SK' => __('Slovakia',"ultimatemember"), - 'SI' => __('Slovenia',"ultimatemember"), - 'SB' => __('Solomon Islands',"ultimatemember"), - 'SO' => __('Somalia',"ultimatemember"), - 'ZA' => __('South Africa',"ultimatemember"), - 'GS' => __('South Georgia and the South Sandwich Islands',"ultimatemember"), - 'SS' => __('South Sudan',"ultimatemember"), - 'ES' => __('Spain',"ultimatemember"), - 'LK' => __('Sri Lanka',"ultimatemember"), - 'SD' => __('Sudan',"ultimatemember"), - 'SR' => __('Suriname',"ultimatemember"), - 'SJ' => __('Svalbard and Jan Mayen',"ultimatemember"), - 'SZ' => __('Swaziland',"ultimatemember"), - 'SE' => __('Sweden',"ultimatemember"), - 'CH' => __('Switzerland',"ultimatemember"), - 'SY' => __('Syrian Arab Republic',"ultimatemember"), - 'TW' => __('Taiwan, Province of China',"ultimatemember"), - 'TJ' => __('Tajikistan',"ultimatemember"), - 'TZ' => __('Tanzania, United Republic of',"ultimatemember"), - 'TH' => __('Thailand',"ultimatemember"), - 'TL' => __('Timor-Leste',"ultimatemember"), - 'TG' => __('Togo',"ultimatemember"), - 'TK' => __('Tokelau',"ultimatemember"), - 'TO' => __('Tonga',"ultimatemember"), - 'TT' => __('Trinidad and Tobago',"ultimatemember"), - 'TN' => __('Tunisia',"ultimatemember"), - 'TR' => __('Turkey',"ultimatemember"), - 'TM' => __('Turkmenistan',"ultimatemember"), - 'TC' => __('Turks and Caicos Islands',"ultimatemember"), - 'TV' => __('Tuvalu',"ultimatemember"), - 'UG' => __('Uganda',"ultimatemember"), - 'UA' => __('Ukraine',"ultimatemember"), - 'AE' => __('United Arab Emirates',"ultimatemember"), - 'GB' => __('United Kingdom',"ultimatemember"), - 'US' => __('United States',"ultimatemember"), - 'UM' => __('United States Minor Outlying Islands',"ultimatemember"), - 'UY' => __('Uruguay',"ultimatemember"), - 'UZ' => __('Uzbekistan',"ultimatemember"), - 'VU' => __('Vanuatu',"ultimatemember"), - 'VE' => __('Venezuela, Bolivarian Republic of',"ultimatemember"), - 'VN' => __('Viet Nam',"ultimatemember"), - 'VG' => __('Virgin Islands, British',"ultimatemember"), - 'VI' => __('Virgin Islands, U.S.',"ultimatemember"), - 'WF' => __('Wallis and Futuna',"ultimatemember"), - 'EH' => __('Western Sahara',"ultimatemember"), - 'YE' => __('Yemen',"ultimatemember"), - 'ZM' => __('Zambia',"ultimatemember"), - 'ZW' => __('Zimbabwe',"ultimatemember"), + 'AF' => __('Afghanistan','ultimate-member'), + 'AX' => __('Åland Islands','ultimate-member'), + 'AL' => __('Albania','ultimate-member'), + 'DZ' => __('Algeria','ultimate-member'), + 'AS' => __('American Samoa','ultimate-member'), + 'AD' => __('Andorra','ultimate-member'), + 'AO' => __('Angola','ultimate-member'), + 'AI' => __('Anguilla','ultimate-member'), + 'AQ' => __('Antarctica','ultimate-member'), + 'AG' => __('Antigua and Barbuda','ultimate-member'), + 'AR' => __('Argentina','ultimate-member'), + 'AM' => __('Armenia','ultimate-member'), + 'AW' => __('Aruba','ultimate-member'), + 'AU' => __('Australia','ultimate-member'), + 'AT' => __('Austria','ultimate-member'), + 'AZ' => __('Azerbaijan','ultimate-member'), + 'BS' => __('Bahamas','ultimate-member'), + 'BH' => __('Bahrain','ultimate-member'), + 'BD' => __('Bangladesh','ultimate-member'), + 'BB' => __('Barbados','ultimate-member'), + 'BY' => __('Belarus','ultimate-member'), + 'BE' => __('Belgium','ultimate-member'), + 'BZ' => __('Belize','ultimate-member'), + 'BJ' => __('Benin','ultimate-member'), + 'BM' => __('Bermuda','ultimate-member'), + 'BT' => __('Bhutan','ultimate-member'), + 'BO' => __('Bolivia, Plurinational State of','ultimate-member'), + 'BA' => __('Bosnia and Herzegovina','ultimate-member'), + 'BW' => __('Botswana','ultimate-member'), + 'BV' => __('Bouvet Island','ultimate-member'), + 'BR' => __('Brazil','ultimate-member'), + 'IO' => __('British Indian Ocean Territory','ultimate-member'), + 'BN' => __('Brunei Darussalam','ultimate-member'), + 'BG' => __('Bulgaria','ultimate-member'), + 'BF' => __('Burkina Faso','ultimate-member'), + 'BI' => __('Burundi','ultimate-member'), + 'KH' => __('Cambodia','ultimate-member'), + 'CM' => __('Cameroon','ultimate-member'), + 'CA' => __('Canada','ultimate-member'), + 'CV' => __('Cape Verde','ultimate-member'), + 'KY' => __('Cayman Islands','ultimate-member'), + 'CF' => __('Central African Republic','ultimate-member'), + 'TD' => __('Chad','ultimate-member'), + 'CL' => __('Chile','ultimate-member'), + 'CN' => __('China','ultimate-member'), + 'CX' => __('Christmas Island','ultimate-member'), + 'CC' => __('Cocos (Keeling) Islands','ultimate-member'), + 'CO' => __('Colombia','ultimate-member'), + 'KM' => __('Comoros','ultimate-member'), + 'CG' => __('Congo','ultimate-member'), + 'CD' => __('Congo, the Democratic Republic of the','ultimate-member'), + 'CK' => __('Cook Islands','ultimate-member'), + 'CR' => __('Costa Rica','ultimate-member'), + 'CI' => __("Côte d'Ivoire",'ultimate-member'), + 'HR' => __('Croatia','ultimate-member'), + 'CU' => __('Cuba','ultimate-member'), + 'CY' => __('Cyprus','ultimate-member'), + 'CZ' => __('Czech Republic','ultimate-member'), + 'DK' => __('Denmark','ultimate-member'), + 'DJ' => __('Djibouti','ultimate-member'), + 'DM' => __('Dominica','ultimate-member'), + 'DO' => __('Dominican Republic','ultimate-member'), + 'EC' => __('Ecuador','ultimate-member'), + 'EG' => __('Egypt','ultimate-member'), + 'SV' => __('El Salvador','ultimate-member'), + 'GQ' => __('Equatorial Guinea','ultimate-member'), + 'ER' => __('Eritrea','ultimate-member'), + 'EE' => __('Estonia','ultimate-member'), + 'ET' => __('Ethiopia','ultimate-member'), + 'FK' => __('Falkland Islands (Malvinas)','ultimate-member'), + 'FO' => __('Faroe Islands','ultimate-member'), + 'FJ' => __('Fiji','ultimate-member'), + 'FI' => __('Finland','ultimate-member'), + 'FR' => __('France','ultimate-member'), + 'GF' => __('French Guiana','ultimate-member'), + 'PF' => __('French Polynesia','ultimate-member'), + 'TF' => __('French Southern Territories','ultimate-member'), + 'GA' => __('Gabon','ultimate-member'), + 'GM' => __('Gambia','ultimate-member'), + 'GE' => __('Georgia','ultimate-member'), + 'DE' => __('Germany','ultimate-member'), + 'GH' => __('Ghana','ultimate-member'), + 'GI' => __('Gibraltar','ultimate-member'), + 'GR' => __('Greece','ultimate-member'), + 'GL' => __('Greenland','ultimate-member'), + 'GD' => __('Grenada','ultimate-member'), + 'GP' => __('Guadeloupe','ultimate-member'), + 'GU' => __('Guam','ultimate-member'), + 'GT' => __('Guatemala','ultimate-member'), + 'GG' => __('Guernsey','ultimate-member'), + 'GN' => __('Guinea','ultimate-member'), + 'GW' => __('Guinea-Bissau','ultimate-member'), + 'GY' => __('Guyana','ultimate-member'), + 'HT' => __('Haiti','ultimate-member'), + 'HM' => __('Heard Island and McDonald Islands','ultimate-member'), + 'VA' => __('Holy See (Vatican City State)','ultimate-member'), + 'HN' => __('Honduras','ultimate-member'), + 'HK' => __('Hong Kong','ultimate-member'), + 'HU' => __('Hungary','ultimate-member'), + 'IS' => __('Iceland','ultimate-member'), + 'IN' => __('India','ultimate-member'), + 'ID' => __('Indonesia','ultimate-member'), + 'IR' => __('Iran, Islamic Republic of','ultimate-member'), + 'IQ' => __('Iraq','ultimate-member'), + 'IE' => __('Ireland','ultimate-member'), + 'IM' => __('Isle of Man','ultimate-member'), + 'IL' => __('Israel','ultimate-member'), + 'IT' => __('Italy','ultimate-member'), + 'JM' => __('Jamaica','ultimate-member'), + 'JP' => __('Japan','ultimate-member'), + 'JE' => __('Jersey','ultimate-member'), + 'JO' => __('Jordan','ultimate-member'), + 'KZ' => __('Kazakhstan','ultimate-member'), + 'KE' => __('Kenya','ultimate-member'), + 'KI' => __('Kiribati','ultimate-member'), + 'KP' => __("Korea, Democratic People's Republic of",'ultimate-member'), + 'KR' => __('Korea, Republic of','ultimate-member'), + 'KW' => __('Kuwait','ultimate-member'), + 'KG' => __('Kyrgyzstan','ultimate-member'), + 'LA' => __("Lao People's Democratic Republic",'ultimate-member'), + 'LV' => __('Latvia','ultimate-member'), + 'LB' => __('Lebanon','ultimate-member'), + 'LS' => __('Lesotho','ultimate-member'), + 'LR' => __('Liberia','ultimate-member'), + 'LY' => __('Libyan Arab Jamahiriya','ultimate-member'), + 'LI' => __('Liechtenstein','ultimate-member'), + 'LT' => __('Lithuania','ultimate-member'), + 'LU' => __('Luxembourg','ultimate-member'), + 'MO' => __('Macao','ultimate-member'), + 'MK' => __('Macedonia, the former Yugoslav Republic of','ultimate-member'), + 'MG' => __('Madagascar','ultimate-member'), + 'MW' => __('Malawi','ultimate-member'), + 'MY' => __('Malaysia','ultimate-member'), + 'MV' => __('Maldives','ultimate-member'), + 'ML' => __('Mali','ultimate-member'), + 'MT' => __('Malta','ultimate-member'), + 'MH' => __('Marshall Islands','ultimate-member'), + 'MQ' => __('Martinique','ultimate-member'), + 'MR' => __('Mauritania','ultimate-member'), + 'MU' => __('Mauritius','ultimate-member'), + 'YT' => __('Mayotte','ultimate-member'), + 'MX' => __('Mexico','ultimate-member'), + 'FM' => __('Micronesia, Federated States of','ultimate-member'), + 'MD' => __('Moldova, Republic of','ultimate-member'), + 'MC' => __('Monaco','ultimate-member'), + 'MN' => __('Mongolia','ultimate-member'), + 'ME' => __('Montenegro','ultimate-member'), + 'MS' => __('Montserrat','ultimate-member'), + 'MA' => __('Morocco','ultimate-member'), + 'MZ' => __('Mozambique','ultimate-member'), + 'MM' => __('Myanmar','ultimate-member'), + 'NA' => __('Namibia','ultimate-member'), + 'NR' => __('Nauru','ultimate-member'), + 'NP' => __('Nepal','ultimate-member'), + 'NL' => __('Netherlands','ultimate-member'), + 'AN' => __('Netherlands Antilles','ultimate-member'), + 'NC' => __('New Caledonia','ultimate-member'), + 'NZ' => __('New Zealand','ultimate-member'), + 'NI' => __('Nicaragua','ultimate-member'), + 'NE' => __('Niger','ultimate-member'), + 'NG' => __('Nigeria','ultimate-member'), + 'NU' => __('Niue','ultimate-member'), + 'NF' => __('Norfolk Island','ultimate-member'), + 'MP' => __('Northern Mariana Islands','ultimate-member'), + 'NO' => __('Norway','ultimate-member'), + 'OM' => __('Oman','ultimate-member'), + 'PK' => __('Pakistan','ultimate-member'), + 'PW' => __('Palau','ultimate-member'), + 'PS' => __('Palestine','ultimate-member'), + 'PA' => __('Panama','ultimate-member'), + 'PG' => __('Papua New Guinea','ultimate-member'), + 'PY' => __('Paraguay','ultimate-member'), + 'PE' => __('Peru','ultimate-member'), + 'PH' => __('Philippines','ultimate-member'), + 'PN' => __('Pitcairn','ultimate-member'), + 'PL' => __('Poland','ultimate-member'), + 'PT' => __('Portugal','ultimate-member'), + 'PR' => __('Puerto Rico','ultimate-member'), + 'QA' => __('Qatar','ultimate-member'), + 'RE' => __('Réunion','ultimate-member'), + 'RO' => __('Romania','ultimate-member'), + 'RU' => __('Russian Federation','ultimate-member'), + 'RW' => __('Rwanda','ultimate-member'), + 'BL' => __('Saint Barthélemy','ultimate-member'), + 'SH' => __('Saint Helena','ultimate-member'), + 'KN' => __('Saint Kitts and Nevis','ultimate-member'), + 'LC' => __('Saint Lucia','ultimate-member'), + 'MF' => __('Saint Martin (French part)','ultimate-member'), + 'PM' => __('Saint Pierre and Miquelon','ultimate-member'), + 'VC' => __('Saint Vincent and the Grenadines','ultimate-member'), + 'WS' => __('Samoa','ultimate-member'), + 'SM' => __('San Marino','ultimate-member'), + 'ST' => __('Sao Tome and Principe','ultimate-member'), + 'SA' => __('Saudi Arabia','ultimate-member'), + 'SN' => __('Senegal','ultimate-member'), + 'RS' => __('Serbia','ultimate-member'), + 'SC' => __('Seychelles','ultimate-member'), + 'SL' => __('Sierra Leone','ultimate-member'), + 'SG' => __('Singapore','ultimate-member'), + 'SK' => __('Slovakia','ultimate-member'), + 'SI' => __('Slovenia','ultimate-member'), + 'SB' => __('Solomon Islands','ultimate-member'), + 'SO' => __('Somalia','ultimate-member'), + 'ZA' => __('South Africa','ultimate-member'), + 'GS' => __('South Georgia and the South Sandwich Islands','ultimate-member'), + 'SS' => __('South Sudan','ultimate-member'), + 'ES' => __('Spain','ultimate-member'), + 'LK' => __('Sri Lanka','ultimate-member'), + 'SD' => __('Sudan','ultimate-member'), + 'SR' => __('Suriname','ultimate-member'), + 'SJ' => __('Svalbard and Jan Mayen','ultimate-member'), + 'SZ' => __('Swaziland','ultimate-member'), + 'SE' => __('Sweden','ultimate-member'), + 'CH' => __('Switzerland','ultimate-member'), + 'SY' => __('Syrian Arab Republic','ultimate-member'), + 'TW' => __('Taiwan, Province of China','ultimate-member'), + 'TJ' => __('Tajikistan','ultimate-member'), + 'TZ' => __('Tanzania, United Republic of','ultimate-member'), + 'TH' => __('Thailand','ultimate-member'), + 'TL' => __('Timor-Leste','ultimate-member'), + 'TG' => __('Togo','ultimate-member'), + 'TK' => __('Tokelau','ultimate-member'), + 'TO' => __('Tonga','ultimate-member'), + 'TT' => __('Trinidad and Tobago','ultimate-member'), + 'TN' => __('Tunisia','ultimate-member'), + 'TR' => __('Turkey','ultimate-member'), + 'TM' => __('Turkmenistan','ultimate-member'), + 'TC' => __('Turks and Caicos Islands','ultimate-member'), + 'TV' => __('Tuvalu','ultimate-member'), + 'UG' => __('Uganda','ultimate-member'), + 'UA' => __('Ukraine','ultimate-member'), + 'AE' => __('United Arab Emirates','ultimate-member'), + 'GB' => __('United Kingdom','ultimate-member'), + 'US' => __('United States','ultimate-member'), + 'UM' => __('United States Minor Outlying Islands','ultimate-member'), + 'UY' => __('Uruguay','ultimate-member'), + 'UZ' => __('Uzbekistan','ultimate-member'), + 'VU' => __('Vanuatu','ultimate-member'), + 'VE' => __('Venezuela, Bolivarian Republic of','ultimate-member'), + 'VN' => __('Viet Nam','ultimate-member'), + 'VG' => __('Virgin Islands, British','ultimate-member'), + 'VI' => __('Virgin Islands, U.S.','ultimate-member'), + 'WF' => __('Wallis and Futuna','ultimate-member'), + 'EH' => __('Western Sahara','ultimate-member'), + 'YE' => __('Yemen','ultimate-member'), + 'ZM' => __('Zambia','ultimate-member'), + 'ZW' => __('Zimbabwe','ultimate-member'), ); break; diff --git a/core/um-cron.php b/core/um-cron.php index c91dd385..9fff9949 100644 --- a/core/um-cron.php +++ b/core/um-cron.php @@ -12,7 +12,7 @@ class UM_Cron { // Adds once weekly to the existing schedules. $schedules['weekly'] = array( 'interval' => 604800, - 'display' => __( 'Once Weekly', 'ultimatemember' ) + 'display' => __( 'Once Weekly', 'ultimate-member') ); return $schedules; diff --git a/core/um-datetime.php b/core/um-datetime.php index 10599e64..15baa715 100644 --- a/core/um-datetime.php +++ b/core/um-datetime.php @@ -23,7 +23,7 @@ class UM_DateTime { $diff = (int) abs( $to - $from ); if ( $diff < 60 ) { - $since = __('just now','ultimatemember'); + $since = __('just now','ultimate-member'); } elseif ( $diff < HOUR_IN_SECONDS ) { @@ -31,9 +31,9 @@ class UM_DateTime { if ( $mins <= 1 ) $mins = 1; if ( $mins == 1 ) { - $since = sprintf( __('%s min','ultimatemember'), $mins ); + $since = sprintf( __('%s min','ultimate-member'), $mins ); } else { - $since = sprintf( __('%s mins','ultimatemember'), $mins ); + $since = sprintf( __('%s mins','ultimate-member'), $mins ); } } elseif ( $diff < DAY_IN_SECONDS && $diff >= HOUR_IN_SECONDS ) { @@ -42,9 +42,9 @@ class UM_DateTime { if ( $hours <= 1 ) $hours = 1; if ( $hours == 1 ) { - $since = sprintf( __('%s hr','ultimatemember'), $hours ); + $since = sprintf( __('%s hr','ultimate-member'), $hours ); } else { - $since = sprintf( __('%s hrs','ultimatemember'), $hours ); + $since = sprintf( __('%s hrs','ultimate-member'), $hours ); } } elseif ( $diff < WEEK_IN_SECONDS && $diff >= DAY_IN_SECONDS ) { @@ -53,22 +53,22 @@ class UM_DateTime { if ( $days <= 1 ) $days = 1; if ( $days == 1 ) { - $since = sprintf( __('Yesterday at %s','ultimatemember'), date('g:ia', $from ) ); + $since = sprintf( __('Yesterday at %s','ultimate-member'), date('g:ia', $from ) ); } else { - $since = sprintf(__('%s at %s','ultimatemember'), date('F d', $from ), date('g:ia', $from ) ); + $since = sprintf(__('%s at %s','ultimate-member'), date('F d', $from ), date('g:ia', $from ) ); } } elseif ( $diff < 30 * DAY_IN_SECONDS && $diff >= WEEK_IN_SECONDS ) { - $since = sprintf(__('%s at %s','ultimatemember'), date('F d', $from ), date('g:ia', $from ) ); + $since = sprintf(__('%s at %s','ultimate-member'), date('F d', $from ), date('g:ia', $from ) ); } elseif ( $diff < YEAR_IN_SECONDS && $diff >= 30 * DAY_IN_SECONDS ) { - $since = sprintf(__('%s at %s','ultimatemember'), date('F d', $from ), date('g:ia', $from ) ); + $since = sprintf(__('%s at %s','ultimate-member'), date('F d', $from ), date('g:ia', $from ) ); } elseif ( $diff >= YEAR_IN_SECONDS ) { - $since = sprintf(__('%s at %s','ultimatemember'), date( 'F d, Y', $from ), date('g:ia', $from ) ); + $since = sprintf(__('%s at %s','ultimate-member'), date( 'F d, Y', $from ), date('g:ia', $from ) ); } @@ -85,11 +85,11 @@ class UM_DateTime { $age = date('Y') - $then_year; if( strtotime('+' . $age . ' years', $then_ts) > current_time( 'timestamp' ) ) $age--; if ( $age == 1 ) - return sprintf(__('%s year old','ultimatemember'), $age ); + return sprintf(__('%s year old','ultimate-member'), $age ); if ( $age > 1 ) - return sprintf(__('%s years old','ultimatemember'), $age ); + return sprintf(__('%s years old','ultimate-member'), $age ); if ( $age == 0 ) - return __('Less than 1 year old','ultimatemember'); + return __('Less than 1 year old','ultimate-member'); } /*** diff --git a/core/um-enqueue.php b/core/um-enqueue.php index aed4e0f9..da2ff655 100644 --- a/core/um-enqueue.php +++ b/core/um-enqueue.php @@ -121,7 +121,7 @@ class UM_Enqueue { wp_enqueue_script('um_datetime_locale'); } - if(is_object($post) && has_shortcode($post->post_content,'ultimatemember')) { + if(is_object($post) && has_shortcode($post->post_content,'ultimatemember' )) { wp_dequeue_script('jquery-form'); } } diff --git a/core/um-fields.php b/core/um-fields.php index 3e3fc911..8252f6ef 100644 --- a/core/um-fields.php +++ b/core/um-fields.php @@ -746,7 +746,7 @@ class UM_Fields { return $fields[$key]['title']; if ( isset( $fields[$key]['label'] ) ) return $fields[$key]['label']; - return __('Custom Field','ultimatemember'); + return __('Custom Field','ultimate-member'); } /** @@ -1021,18 +1021,18 @@ class UM_Fields { if ( $array['min_width'] == '' && $array['crop'] == 3 ) $array['min_width'] = 600; if ( $array['min_height'] == '' && $array['crop'] == 3 ) $array['min_height'] = 600; - if (!isset($array['invalid_image'])) $array['invalid_image'] = __("Please upload a valid image!",'ultimatemember'); + if (!isset($array['invalid_image'])) $array['invalid_image'] = __("Please upload a valid image!",'ultimate-member'); if (!isset($array['allowed_types'])) { $array['allowed_types'] = "gif,jpg,jpeg,png"; } else { $array['allowed_types'] = implode(',',$array['allowed_types']); } if (!isset($array['upload_text'])) $array['upload_text'] = ''; - if (!isset($array['button_text'])) $array['button_text'] = __('Upload','ultimatemember'); - if (!isset($array['extension_error'])) $array['extension_error'] = __("Sorry this is not a valid image.",'ultimatemember'); - if (!isset($array['max_size_error'])) $array['max_size_error'] = __("This image is too large!",'ultimatemember'); - if (!isset($array['min_size_error'])) $array['min_size_error'] = __("This image is too small!",'ultimatemember'); - if (!isset($array['max_files_error'])) $array['max_files_error'] = __("You can only upload one image",'ultimatemember'); + if (!isset($array['button_text'])) $array['button_text'] = __('Upload','ultimate-member'); + if (!isset($array['extension_error'])) $array['extension_error'] = __("Sorry this is not a valid image.",'ultimate-member'); + if (!isset($array['max_size_error'])) $array['max_size_error'] = __("This image is too large!",'ultimate-member'); + if (!isset($array['min_size_error'])) $array['min_size_error'] = __("This image is too small!",'ultimate-member'); + if (!isset($array['max_files_error'])) $array['max_files_error'] = __("You can only upload one image",'ultimate-member'); if (!isset($array['max_size'])) $array['max_size'] = 999999999; if (!isset($array['upload_help_text'])) $array['upload_help_text'] = ''; if (!isset($array['icon']) ) $array['icon'] = ''; @@ -1049,11 +1049,11 @@ class UM_Fields { $array['allowed_types'] = implode(',',$array['allowed_types']); } if (!isset($array['upload_text'])) $array['upload_text'] = ''; - if (!isset($array['button_text'])) $array['button_text'] = __('Upload','ultimatemember'); - if (!isset($array['extension_error'])) $array['extension_error'] = __("Sorry this is not a valid file.",'ultimatemember'); - if (!isset($array['max_size_error'])) $array['max_size_error'] = __("This file is too large!",'ultimatemember'); - if (!isset($array['min_size_error'])) $array['min_size_error'] = __("This file is too small!",'ultimatemember'); - if (!isset($array['max_files_error'])) $array['max_files_error'] = __("You can only upload one file",'ultimatemember'); + if (!isset($array['button_text'])) $array['button_text'] = __('Upload','ultimate-member'); + if (!isset($array['extension_error'])) $array['extension_error'] = __("Sorry this is not a valid file.",'ultimate-member'); + if (!isset($array['max_size_error'])) $array['max_size_error'] = __("This file is too large!",'ultimate-member'); + if (!isset($array['min_size_error'])) $array['min_size_error'] = __("This file is too small!",'ultimate-member'); + if (!isset($array['max_files_error'])) $array['max_files_error'] = __("You can only upload one file",'ultimate-member'); if (!isset($array['max_size'])) $array['max_size'] = 999999999; if (!isset($array['upload_help_text'])) $array['upload_help_text'] = ''; if (!isset($array['icon']) ) $array['icon'] = ''; @@ -1334,7 +1334,7 @@ class UM_Fields { $output .= '
    '; if ( isset( $data['label'] ) ) { - $output .= $this->field_label( __('Current Password','ultimatemember'), $key, $data); + $output .= $this->field_label( __('Current Password','ultimate-member'), $key, $data); } $output .= '
    '; @@ -1363,7 +1363,7 @@ class UM_Fields { if ( $this->set_mode == 'account' && um_is_core_page('account') || $this->set_mode == 'password' && um_is_core_page('password-reset') ) { - $output .= $this->field_label( __('New Password','ultimatemember'), $key, $data); + $output .= $this->field_label( __('New Password','ultimate-member'), $key, $data); } else if ( isset( $data['label'] ) ) { @@ -1395,7 +1395,7 @@ class UM_Fields { $output .= '
    '; if ( isset( $data['label'] ) ) { - $output .= $this->field_label( sprintf(__('Confirm %s','ultimatemember'), $data['label'] ), $key, $data); + $output .= $this->field_label( sprintf(__('Confirm %s','ultimate-member'), $data['label'] ), $key, $data); } $output .= '
    '; @@ -1617,7 +1617,7 @@ class UM_Fields { $output .= $this->field_label($label, $key, $data); } - $modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimatemember'); + $modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimate-member'); $output .= '
    '; @@ -1636,7 +1636,7 @@ class UM_Fields { $output .= '
    ' . $img . ' -
    '. __('Change photo','ultimatemember') . ''; +
    '. __('Change photo','ultimate-member') . ''; } else { @@ -1671,8 +1671,8 @@ class UM_Fields { $output .= ''; @@ -1701,7 +1701,7 @@ class UM_Fields { $output .= $this->field_label($label, $key, $data); } - $modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimatemember'); + $modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimate-member'); $output .= '
    '; @@ -1717,7 +1717,7 @@ class UM_Fields { ' . $this->field_value( $key, $default, $data ) . '
    -
    '. __('Change file','ultimatemember') . ''; +
    '. __('Change file','ultimate-member') . ''; } else { @@ -1759,8 +1759,8 @@ class UM_Fields { $output .= ''; @@ -2664,9 +2664,9 @@ class UM_Fields { } if ( um_is_myprofile() ) { - $output .= '

    ' . $emo .'' . sprintf(__('Your profile is looking a little empty. Why not add some information!','ultimatemember'), um_edit_profile_url() ) . '

    '; + $output .= '

    ' . $emo .'' . sprintf(__('Your profile is looking a little empty. Why not add some information!','ultimate-member'), um_edit_profile_url() ) . '

    '; } else { - $output .= '

    '. $emo . '' . __('This user has not added any information to their profile yet.','ultimatemember') . '

    '; + $output .= '

    '. $emo . '' . __('This user has not added any information to their profile yet.','ultimate-member') . '

    '; } } diff --git a/core/um-files.php b/core/um-files.php index 06d46d95..a1b5e025 100644 --- a/core/um-files.php +++ b/core/um-files.php @@ -374,7 +374,7 @@ class UM_Files { if ( $data == null ) { $data = apply_filters("um_custom_image_handle_{$field}", '' ); if ( !$data ) { - $error = __('This media type is not recognized.','ultimatemember'); + $error = __('This media type is not recognized.','ultimate-member'); } } @@ -382,15 +382,15 @@ class UM_Files { $data = apply_filters("um_image_handle_{$field}__option", $data ); if ( $fileinfo['invalid_image'] == true ) { - $error = sprintf(__('Your image is invalid or too large!','ultimatemember') ); + $error = sprintf(__('Your image is invalid or too large!','ultimate-member') ); } elseif ( isset( $data['allowed_types'] ) && !$this->in_array( $fileinfo['extension'], $data['allowed_types'] ) ) { $error = ( isset( $data['extension_error'] ) && !empty( $data['extension_error'] ) ) ? $data['extension_error'] : 'not allowed'; } elseif ( isset($data['min_size']) && ( $fileinfo['size'] < $data['min_size'] ) ) { $error = $data['min_size_error']; } elseif ( isset($data['min_width']) && ( $fileinfo['width'] < $data['min_width'] ) ) { - $error = sprintf(__('Your photo is too small. It must be at least %spx wide.','ultimatemember'), $data['min_width']); + $error = sprintf(__('Your photo is too small. It must be at least %spx wide.','ultimate-member'), $data['min_width']); } elseif ( isset($data['min_height']) && ( $fileinfo['height'] < $data['min_height'] ) ) { - $error = sprintf(__('Your photo is too small. It must be at least %spx wide.','ultimatemember'), $data['min_height']); + $error = sprintf(__('Your photo is too small. It must be at least %spx wide.','ultimate-member'), $data['min_height']); } return $error; @@ -442,7 +442,7 @@ class UM_Files { unlink( $is_temp ); rmdir( dirname( $is_temp ) ); } else { - wp_die( __('Ultimate Member: Not a valid temp file','ultimatemember') ); + wp_die( __('Ultimate Member: Not a valid temp file','ultimate-member') ); } } @@ -532,7 +532,7 @@ class UM_Files { function new_user_upload( $user_id, $source, $key ) { if( ! is_numeric( $user_id ) ){ - wp_die( __("Invalid user ID: ".json_encode( $user_id )." ",'ultimatemember') ); + wp_die( __("Invalid user ID: ".json_encode( $user_id )." ",'ultimate-member') ); } $user_id = trim( $user_id ); @@ -541,13 +541,13 @@ class UM_Files { $this->new_user( $user_id ); if ( is_user_logged_in() && ( get_current_user_id() != $user_id ) && !um_user_can('can_edit_everyone') ) { - wp_die( __('Unauthorized to do this attempt.','ultimatemember') ); + wp_die( __('Unauthorized to do this attempt.','ultimate-member') ); } $allow_frontend_image_uploads = apply_filters('um_allow_frontend_image_uploads', false, $user_id, $key ); if ( $allow_frontend_image_uploads == false && !is_user_logged_in() && ( $key == 'profile_photo' || $key == 'cover_photo' ) ) { - wp_die( __('Unauthorized to do this attempt.','ultimatemember') ); + wp_die( __('Unauthorized to do this attempt.','ultimate-member') ); } $ext = '.' . pathinfo($source, PATHINFO_EXTENSION); diff --git a/core/um-filters-addons.php b/core/um-filters-addons.php index 292eeb7e..f9f99002 100644 --- a/core/um-filters-addons.php +++ b/core/um-filters-addons.php @@ -13,8 +13,8 @@ 'type' => 'switch', 'title' => $addon[0], 'desc' => $addon[1], - 'on' => __('Activated','ultimatemember'), - 'off' => __('Deactivated','ultimatemember'), + 'on' => __('Activated','ultimate-member'), + 'off' => __('Deactivated','ultimate-member'), ); } @@ -23,14 +23,14 @@ $sections[] = array( 'icon' => 'um-faicon-plug', - 'title' => __( 'Extensions','ultimatemember'), + 'title' => __( 'Extensions','ultimate-member'), ); $sections[] = array( 'subsection' => true, - 'title' => __( 'Tools','ultimatemember'), + 'title' => __( 'Tools','ultimate-member'), 'fields' => $array, ); @@ -54,7 +54,7 @@ $sections[] = array( 'icon' => 'um-faicon-key', - 'title' => __( 'Licenses','ultimatemember'), + 'title' => __( 'Licenses','ultimate-member'), 'fields' => $fields, 'subsection' => false, diff --git a/core/um-filters-fields.php b/core/um-filters-fields.php index 6fa00ced..a15d026b 100644 --- a/core/um-filters-fields.php +++ b/core/um-filters-fields.php @@ -8,7 +8,7 @@ $asterisk = um_get_option('form_asterisk'); if ( $asterisk && isset( $data['required'] ) && $data['required'] == 1 ) - $label = $label . '*'; + $label = $label . '*'; return $label; } @@ -20,7 +20,7 @@ function um_profile_field_filter_hook__soundcloud_track( $value, $data ) { if ( !is_numeric( $value ) ) { - return __('Invalid soundcloud track ID','ultimatemember'); + return __('Invalid soundcloud track ID','ultimate-member'); } $value = '
    @@ -79,7 +79,7 @@ add_filter('um_profile_field_filter_hook__user_registered', 'um_profile_field_filter_hook__user_registered', 99, 2); function um_profile_field_filter_hook__user_registered( $value, $data ) { $value = strtotime($value); - $value = sprintf(__('Joined %s','ultimatemember'), date_i18n('F d, Y', $value) ); + $value = sprintf(__('Joined %s','ultimate-member'), date_i18n('F d, Y', $value) ); return $value; } @@ -90,7 +90,7 @@ add_filter('um_profile_field_filter_hook___um_last_login', 'um_profile_field_filter_hook__last_login', 99, 2); function um_profile_field_filter_hook__last_login( $value, $data ) { - $value = sprintf( __('Last login: %s','ultimatemember'), um_user_last_login( um_user('ID') ) ); + $value = sprintf( __('Last login: %s','ultimate-member'), um_user_last_login( um_user('ID') ) ); return $value; } @@ -451,7 +451,7 @@ $arr_options = array(); if( is_array( $options ) ){ foreach ( $options as $item ) { - $arr_options[] = __( $item, 'ultimatemember' ); + $arr_options[] = __( $item, 'ultimate-member'); } } diff --git a/core/um-filters-login.php b/core/um-filters-login.php index f183efd7..720fd4ff 100644 --- a/core/um-filters-login.php +++ b/core/um-filters-login.php @@ -30,10 +30,10 @@ if ( isset( $_REQUEST['err'] ) && !empty( $_REQUEST['err'] ) ) { switch( $_REQUEST['err'] ) { case 'blocked_email': - $err = __('This email address has been blocked.','ultimatemember'); + $err = __('This email address has been blocked.','ultimate-member'); break; case 'blocked_ip': - $err = __('Your IP address has been blocked.','ultimatemember'); + $err = __('Your IP address has been blocked.','ultimate-member'); break; } } @@ -75,16 +75,16 @@ switch( $status ) { case 'inactive': - return new WP_Error( $status, __('Your account has been disabled.','ultimatemember') ); + return new WP_Error( $status, __('Your account has been disabled.','ultimate-member') ); break; case 'awaiting_admin_review': - return new WP_Error( $status, __('Your account has not been approved yet.','ultimatemember') ); + return new WP_Error( $status, __('Your account has not been approved yet.','ultimate-member') ); break; case 'awaiting_email_confirmation': - return new WP_Error( $status, __('Your account is awaiting e-mail verification.','ultimatemember') ); + return new WP_Error( $status, __('Your account is awaiting e-mail verification.','ultimate-member') ); break; case 'rejected': - return new WP_Error( $status, __('Your membership request has been rejected.','ultimatemember') ); + return new WP_Error( $status, __('Your membership request has been rejected.','ultimate-member') ); break; } diff --git a/core/um-filters-profile.php b/core/um-filters-profile.php index 10d853c6..152268c5 100644 --- a/core/um-filters-profile.php +++ b/core/um-filters-profile.php @@ -7,7 +7,7 @@ function um_profile_tabs( $tabs ) { $tabs['main'] = array( - 'name' => __('About','ultimatemember'), + 'name' => __('About','ultimate-member'), 'icon' => 'um-faicon-user' ); @@ -81,7 +81,7 @@ if( $file_size >= 999999999 ){ }else{ - $args['cover_photo']['upload_text'] .= '( '.__('max','ultimatemember').': '.$file_size.$unit.' )'; + $args['cover_photo']['upload_text'] .= '( '.__('max','ultimate-member').': '.$file_size.$unit.' )'; } return $args; } @@ -99,7 +99,7 @@ if( $file_size >= 999999999 ){ }else{ - $args['profile_photo']['upload_text'] .= '( '.__('max','ultimatemember').': '.$file_size.$unit.' )'; + $args['profile_photo']['upload_text'] .= '( '.__('max','ultimate-member').': '.$file_size.$unit.' )'; } return $args; } diff --git a/core/um-filters-user.php b/core/um-filters-user.php index b64e00c3..076d398f 100644 --- a/core/um-filters-user.php +++ b/core/um-filters-user.php @@ -8,13 +8,13 @@ $actions = null; - $actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimatemember') ); - $actions['um_reject_membership'] = array( 'label' => __('Reject Membership','ultimatemember') ); - $actions['um_put_as_pending'] = array( 'label' => __('Put as Pending Review','ultimatemember') ); - $actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail','ultimatemember') ); - $actions['um_deactivate'] = array( 'label' => __('Deactivate','ultimatemember') ); - $actions['um_reenable'] = array( 'label' => __('Reactivate','ultimatemember') ); - //$actions['um_delete'] = array( 'label' => __('Delete','ultimatemember') ); + $actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimate-member') ); + $actions['um_reject_membership'] = array( 'label' => __('Reject Membership','ultimate-member') ); + $actions['um_put_as_pending'] = array( 'label' => __('Put as Pending Review','ultimate-member') ); + $actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail','ultimate-member') ); + $actions['um_deactivate'] = array( 'label' => __('Deactivate','ultimate-member') ); + $actions['um_reenable'] = array( 'label' => __('Reactivate','ultimate-member') ); + //$actions['um_delete'] = array( 'label' => __('Delete','ultimate-member') ); return $actions; } @@ -32,38 +32,38 @@ if ( current_user_can('manage_options') ) { if ( um_user('account_status') == 'awaiting_admin_review' ){ - $actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimatemember') ); - $actions['um_reject_membership'] = array( 'label' => __('Reject Membership','ultimatemember') ); + $actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimate-member') ); + $actions['um_reject_membership'] = array( 'label' => __('Reject Membership','ultimate-member') ); } if ( um_user('account_status') == 'rejected' ) { - $actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimatemember') ); + $actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimate-member') ); } if ( um_user('account_status') == 'approved' ) { - $actions['um_put_as_pending'] = array( 'label' => __('Put as Pending Review','ultimatemember') ); + $actions['um_put_as_pending'] = array( 'label' => __('Put as Pending Review','ultimate-member') ); } if ( um_user('account_status') == 'awaiting_email_confirmation' ) { - $actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail','ultimatemember') ); + $actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail','ultimate-member') ); } if ( um_user('account_status') != 'inactive' ) { - $actions['um_deactivate'] = array( 'label' => __('Deactivate this account','ultimatemember') ); + $actions['um_deactivate'] = array( 'label' => __('Deactivate this account','ultimate-member') ); } if ( um_user('account_status') == 'inactive' ) { - $actions['um_reenable'] = array( 'label' => __('Reactivate this account','ultimatemember') ); + $actions['um_reenable'] = array( 'label' => __('Reactivate this account','ultimate-member') ); } if ( um_current_user_can( 'delete', um_profile_id() ) ) { - $actions['um_delete'] = array( 'label' => __('Delete this user','ultimatemember') ); + $actions['um_delete'] = array( 'label' => __('Delete this user','ultimate-member') ); } } if ( current_user_can('delete_users') ) { - $actions['um_switch_user'] = array( 'label' => __('Login as this user','ultimatemember') ); + $actions['um_switch_user'] = array( 'label' => __('Login as this user','ultimate-member') ); } diff --git a/core/um-form.php b/core/um-form.php index 51227634..0dcbf6a3 100644 --- a/core/um-form.php +++ b/core/um-form.php @@ -122,7 +122,7 @@ class UM_Form { } if ( isset( $custom_field_roles ) && is_array( $custom_field_roles ) && ! empty( $role ) && ! in_array( $role , $custom_field_roles ) ) { - wp_die( __( 'This is not possible for security reasons.','ultimatemember') ); + wp_die( __( 'This is not possible for security reasons.','ultimate-member') ); } $this->post_form['role'] = $role; @@ -138,7 +138,7 @@ class UM_Form { } if ( isset( $_POST[ $ultimatemember->honeypot ] ) && $_POST[ $ultimatemember->honeypot ] != '' ){ - wp_die('Hello, spam bot!','ultimatemember'); + wp_die('Hello, spam bot!','ultimate-member'); } if ( !in_array( $this->form_data['mode'], array('login') ) ) { @@ -147,10 +147,10 @@ class UM_Form { $live_timestamp = current_time( 'timestamp' ); if ( $form_timestamp == '' && um_get_option('enable_timebot') == 1 ) - wp_die( __('Hello, spam bot!','ultimatemember') ); + wp_die( __('Hello, spam bot!','ultimate-member') ); if ( !current_user_can('manage_options') && $live_timestamp - $form_timestamp < 6 && um_get_option('enable_timebot') == 1 ) - wp_die( __('Whoa, slow down! You\'re seeing this message because you tried to submit a form too fast and we think you might be a spam bot. If you are a real human being please wait a few seconds before submitting the form. Thanks!','ultimatemember') ); + wp_die( __('Whoa, slow down! You\'re seeing this message because you tried to submit a form too fast and we think you might be a spam bot. If you are a real human being please wait a few seconds before submitting the form. Thanks!','ultimate-member') ); } diff --git a/core/um-members.php b/core/um-members.php index 1730aed4..a78f6bbb 100644 --- a/core/um-members.php +++ b/core/um-members.php @@ -97,7 +97,7 @@ class UM_Members { ?> - @@ -115,7 +115,7 @@ class UM_Members { ?> - + @@ -129,7 +129,7 @@ class UM_Members { ?> - + user->profile['reset_pass_hash_token'] = current_time( 'timestamp' ); diff --git a/core/um-permalinks.php b/core/um-permalinks.php index 52f8c531..ba23937b 100644 --- a/core/um-permalinks.php +++ b/core/um-permalinks.php @@ -169,7 +169,7 @@ class UM_Permalinks { um_fetch_user( $user_id ); if ( strtolower($_REQUEST['hash']) !== strtolower( um_user('account_secret_hash') ) ) - wp_die( __( 'This activation link is expired or have already been used.','ultimatemember' ) ); + wp_die( __( 'This activation link is expired or have already been used.','ultimate-member') ); $ultimatemember->user->approve(); $redirect = ( um_user('url_email_activate') ) ? um_user('url_email_activate') : um_get_core_page('login', 'account_active'); diff --git a/core/um-setup.php b/core/um-setup.php index 6fec6fef..ee9fc079 100644 --- a/core/um-setup.php +++ b/core/um-setup.php @@ -46,9 +46,9 @@ class UM_Setup { '_um_profile_photo' => '1', '_um_cover_photos' => '1', '_um_show_name' => '1', - '_um_directory_header' => __('{total_users} Members','ultimatemember'), - '_um_directory_header_single' => __('{total_users} Member','ultimatemember'), - '_um_directory_no_users' => __('We are sorry. We cannot find any users who match your search criteria.','ultimatemember'), + '_um_directory_header' => __('{total_users} Members','ultimate-member'), + '_um_directory_header_single' => __('{total_users} Member','ultimate-member'), + '_um_directory_no_users' => __('We are sorry. We cannot find any users who match your search criteria.','ultimate-member'), '_um_profiles_per_page' => 12, '_um_profiles_per_page_mobile' => 6, '_um_core' => 'members', @@ -134,12 +134,12 @@ class UM_Setup { '_um_register_max_width' => '450px', '_um_register_align' => 'center', '_um_register_icons' => 'label', - '_um_register_primary_btn_word' => __('Register','ultimatemember'), + '_um_register_primary_btn_word' => __('Register','ultimate-member'), '_um_register_primary_btn_color' => '#3ba1da', '_um_register_primary_btn_hover' => '#44b0ec', '_um_register_primary_btn_text' => '#fff', '_um_register_secondary_btn' => 1, - '_um_register_secondary_btn_word' => __('Login','ultimatemember'), + '_um_register_secondary_btn_word' => __('Login','ultimate-member'), '_um_register_secondary_btn_color' => '#eee', '_um_register_secondary_btn_hover' => '#e5e5e5', '_um_register_secondary_btn_text' => '#666', @@ -148,21 +148,21 @@ class UM_Setup { '_um_login_max_width' => '450px', '_um_login_align' => 'center', '_um_login_icons' => 'label', - '_um_login_primary_btn_word' => __('Login','ultimatemember'), + '_um_login_primary_btn_word' => __('Login','ultimate-member'), '_um_login_primary_btn_color' => '#3ba1da', '_um_login_primary_btn_hover' => '#44b0ec', '_um_login_primary_btn_text' => '#fff', '_um_login_forgot_pass_link' => 1, '_um_login_show_rememberme' => 1, '_um_login_secondary_btn' => 1, - '_um_login_secondary_btn_word' => __('Register','ultimatemember'), + '_um_login_secondary_btn_word' => __('Register','ultimate-member'), '_um_login_secondary_btn_color' => '#eee', '_um_login_secondary_btn_hover' => '#e5e5e5', '_um_login_secondary_btn_text' => '#666', '_um_login_secondary_btn_url' => '', '_um_directory_template' => 'members', - '_um_directory_header' => __('{total_users} Members','ultimatemember'), - '_um_directory_header_single' => __('{total_users} Member','ultimatemember'), + '_um_directory_header' => __('{total_users} Members','ultimate-member'), + '_um_directory_header_single' => __('{total_users} Member','ultimate-member'), ); $this->core_form_meta_all = apply_filters('um_core_form_meta_all', $this->core_form_meta_all ); diff --git a/core/um-short-functions.php b/core/um-short-functions.php index 354d0faa..f6dd4dc6 100644 --- a/core/um-short-functions.php +++ b/core/um-short-functions.php @@ -510,12 +510,12 @@ } if ( $k == 'timestamp' ) { - $k = __('date submitted','ultimatemember'); + $k = __('date submitted','ultimate-member'); $v = date("d M Y H:i", $v); } if ( $style ) { - if ( !$v ) $v = __('(empty)','ultimatemember'); + if ( !$v ) $v = __('(empty)','ultimate-member'); $output .= "

    $v

    "; } else { $output .= "$k: $v" . "\r\n"; diff --git a/core/um-shortcodes.php b/core/um-shortcodes.php index b865d861..a6b49f3c 100644 --- a/core/um-shortcodes.php +++ b/core/um-shortcodes.php @@ -8,7 +8,7 @@ class UM_Shortcodes { $this->loop = ''; - add_shortcode('ultimatemember', array(&$this, 'ultimatemember'), 1); + add_shortcode('ultimatemember', array(&$this, 'ultimatemember' ), 1); add_shortcode('um_loggedin', array(&$this, 'um_loggedin')); add_shortcode('um_loggedout', array(&$this, 'um_loggedout')); @@ -202,7 +202,7 @@ class UM_Shortcodes { ob_start(); $defaults = array( - 'lock_text' => __('This content has been restricted to logged in users only. Please login to view this content.', 'ultimatemember'), + 'lock_text' => __('This content has been restricted to logged in users only. Please login to view this content.', 'ultimate-member'), 'show_lock' => 'yes', ); @@ -411,7 +411,7 @@ class UM_Shortcodes { function get_templates($excluded = null) { if ($excluded) { - $array[$excluded] = __('Default Template', 'ultimatemember'); + $array[$excluded] = __('Default Template', 'ultimate-member'); } $paths[] = glob(um_path . 'templates/' . '*.php'); diff --git a/core/um-tracking.php b/core/um-tracking.php index 22c136ce..0dd4a2ff 100644 --- a/core/um-tracking.php +++ b/core/um-tracking.php @@ -144,12 +144,12 @@ class UM_Tracking { echo '

    '; - echo __( 'Allow Ultimate Member to track plugin usage? Opt-in to tracking and our newsletter and we will immediately e-mail you a 20% discount which you can use to purchase our core extensions bundle. No sensitive data is tracked.', 'ultimatemember' ); + echo __( 'Allow Ultimate Member to track plugin usage? Opt-in to tracking and our newsletter and we will immediately e-mail you a 20% discount which you can use to purchase our core extensions bundle. No sensitive data is tracked.', 'ultimate-member'); echo '

    '; - echo '

    ' . __( 'Allow tracking', 'ultimatemember' ) . ''; - echo ' ' . __( 'Do not allow tracking', 'ultimatemember' ) . '

    '; + echo '

    ' . __( 'Allow tracking', 'ultimate-member') . ''; + echo ' ' . __( 'Do not allow tracking', 'ultimate-member') . '

    '; } diff --git a/core/um-user-posts.php b/core/um-user-posts.php index bccc7584..cf426682 100644 --- a/core/um-user-posts.php +++ b/core/um-user-posts.php @@ -64,12 +64,12 @@ class UM_User_posts { function add_tab( $tabs ){ $tabs['posts'] = array( - 'name' => __('Posts','ultimatemember'), + 'name' => __('Posts','ultimate-member'), 'icon' => 'um-faicon-pencil', ); $tabs['comments'] = array( - 'name' => __('Comments','ultimatemember'), + 'name' => __('Comments','ultimate-member'), 'icon' => 'um-faicon-comment', ); diff --git a/core/um-user.php b/core/um-user.php index 9ef6c651..d3e81da8 100644 --- a/core/um-user.php +++ b/core/um-user.php @@ -61,12 +61,12 @@ class UM_User { $um_user_role = get_user_meta($user->ID,'role',true); ?> -

    +

    @@ -237,23 +237,23 @@ class UM_User { } if ( $this->usermeta['account_status'][0] == 'approved' ) { - $this->usermeta['account_status_name'][0] = __('Approved','ultimatemember'); + $this->usermeta['account_status_name'][0] = __('Approved','ultimate-member'); } if ( $this->usermeta['account_status'][0] == 'awaiting_email_confirmation' ) { - $this->usermeta['account_status_name'][0] = __('Awaiting E-mail Confirmation','ultimatemember'); + $this->usermeta['account_status_name'][0] = __('Awaiting E-mail Confirmation','ultimate-member'); } if ( $this->usermeta['account_status'][0] == 'awaiting_admin_review' ) { - $this->usermeta['account_status_name'][0] = __('Pending Review','ultimatemember'); + $this->usermeta['account_status_name'][0] = __('Pending Review','ultimate-member'); } if ( $this->usermeta['account_status'][0] == 'rejected' ) { - $this->usermeta['account_status_name'][0] = __('Membership Rejected','ultimatemember'); + $this->usermeta['account_status_name'][0] = __('Membership Rejected','ultimate-member'); } if ( $this->usermeta['account_status'][0] == 'inactive' ) { - $this->usermeta['account_status_name'][0] = __('Membership Inactive','ultimatemember'); + $this->usermeta['account_status_name'][0] = __('Membership Inactive','ultimate-member'); } // add user meta @@ -841,7 +841,7 @@ class UM_User { */ function is_private_profile( $user_id ) { $privacy = get_user_meta( $user_id, 'profile_privacy', true ); - if ( $privacy == __('Only me','ultimatemember') ) { + if ( $privacy == __('Only me','ultimate-member') ) { return true; } return false; diff --git a/core/widgets/um-search-widget.php b/core/widgets/um-search-widget.php index f81a61c4..36b2d188 100644 --- a/core/widgets/um-search-widget.php +++ b/core/widgets/um-search-widget.php @@ -10,10 +10,10 @@ class um_search_widget extends WP_Widget { 'um_search_widget', // Widget name will appear in UI - __('Ultimate Member - Search', 'ultimatemember'), + __('Ultimate Member - Search', 'ultimate-member'), // Widget description - array( 'description' => __( 'Shows users they follow in a widget.', 'ultimatemember' ), ) + array( 'description' => __( 'Shows users they follow in a widget.', 'ultimate-member'), ) ); } @@ -41,7 +41,7 @@ class um_search_widget extends WP_Widget { if ( isset( $instance[ 'title' ] ) ) { $title = $instance[ 'title' ]; } else { - $title = __( 'Search Users', 'ultimatemember' ); + $title = __( 'Search Users', 'ultimate-member'); } if ( isset( $instance[ 'max' ] ) ) { diff --git a/index.php b/index.php index 652ff92f..105882aa 100644 --- a/index.php +++ b/index.php @@ -6,7 +6,7 @@ Description: The easiest way to create powerful online communities and beautiful Version: 1.3.84 Author: Ultimate Member Author URI: http://ultimatemember.com/ -Text Domain: ultimatemember +Text Domain: ultimate-member Domain Path: /languages */ defined('ABSPATH') || exit; @@ -17,7 +17,7 @@ Domain Path: /languages define('um_url',plugin_dir_url(__FILE__ )); define('um_path',plugin_dir_path(__FILE__ )); define('um_plugin', plugin_basename( __FILE__ ) ); - define('UM_TEXTDOMAIN', 'ultimatemember'); + define('UM_TEXTDOMAIN', 'ultimate-member'); define('ultimatemember_version', $plugin_data['Version'] ); @@ -49,13 +49,13 @@ Domain Path: /languages ***/ function ultimatemember_plugin_links( $links ) { - $more_links[] = '' . __('Docs','ultimatemember') . ''; + $more_links[] = '' . __('Docs','ultimate-member') . ''; - $more_links[] = '' . __('Settings','ultimatemember') . ''; + $more_links[] = '' . __('Settings','ultimate-member') . ''; $links = $more_links + $links; - $links[] = '' . __( 'Uninstall','ultimatemember' ) . ''; + $links[] = '' . __( 'Uninstall','ultimate-member') . ''; return $links; diff --git a/templates/password-reset.php b/templates/password-reset.php index 4eee72ac..e3e056b2 100644 --- a/templates/password-reset.php +++ b/templates/password-reset.php @@ -18,7 +18,7 @@ echo '
    '; - echo '

    ' . __('We have sent you a password reset link to your e-mail. Please check your inbox.','ultimatemember') . '

    '; + echo '

    ' . __('We have sent you a password reset link to your e-mail. Please check your inbox.','ultimate-member') . '

    '; echo '
    '; diff --git a/templates/profile/comments-single.php b/templates/profile/comments-single.php index b6c1d3c5..2163d6d3 100644 --- a/templates/profile/comments-single.php +++ b/templates/profile/comments-single.php @@ -3,7 +3,7 @@
    - %2$s','ultimatemember'), get_permalink($comment->comment_post_ID), get_the_title($comment->comment_post_ID) ); ?> + %2$s','ultimate-member'), get_permalink($comment->comment_post_ID), get_the_title($comment->comment_post_ID) ); ?>
    @@ -12,7 +12,7 @@ shortcodes->modified_args) && count($ultimatemember->shortcodes->loop) >= 10 ) { ?>
    - +
    \ No newline at end of file diff --git a/templates/profile/comments.php b/templates/profile/comments.php index b8a1973b..d5d9662c 100644 --- a/templates/profile/comments.php +++ b/templates/profile/comments.php @@ -11,7 +11,7 @@ shortcodes->loop) >= 10 ) { ?>
    - +
    @@ -20,6 +20,6 @@ -
    +
    \ No newline at end of file diff --git a/templates/profile/posts-single.php b/templates/profile/posts-single.php index f8cb2d68..f1dda6f9 100644 --- a/templates/profile/posts-single.php +++ b/templates/profile/posts-single.php @@ -13,9 +13,9 @@
    - - : - + + : +
    @@ -24,7 +24,7 @@ shortcodes->modified_args) && $ultimatemember->shortcodes->loop->have_posts() && $ultimatemember->shortcodes->loop->found_posts >= 10 ) { ?>
    - +
    \ No newline at end of file diff --git a/templates/profile/posts.php b/templates/profile/posts.php index c9bbe9cb..08cfae78 100644 --- a/templates/profile/posts.php +++ b/templates/profile/posts.php @@ -13,7 +13,7 @@ shortcodes->loop->found_posts >= 10 ) { ?>
    - +
    @@ -22,6 +22,6 @@ -
    +
    \ No newline at end of file diff --git a/um-config.php b/um-config.php index b6bcab63..92ffc0fa 100644 --- a/um-config.php +++ b/um-config.php @@ -8,13 +8,13 @@ ***/ $core_pages = array( - 'user' => __('User page','ultimatemember'), - 'account' => __('Account page','ultimatemember'), - 'members' => __('Members page','ultimatemember'), - 'register' => __('Register page','ultimatemember'), - 'login' => __('Login page','ultimatemember'), - 'logout' => __('Logout page','ultimatemember'), - 'password-reset' => __('Password reset page','ultimatemember'), + 'user' => __('User page','ultimate-member'), + 'account' => __('Account page','ultimate-member'), + 'members' => __('Members page','ultimate-member'), + 'register' => __('Register page','ultimate-member'), + 'login' => __('Login page','ultimate-member'), + 'logout' => __('Logout page','ultimate-member'), + 'password-reset' => __('Password reset page','ultimate-member'), ); $core_pages = apply_filters('um_core_pages', $core_pages ); @@ -31,7 +31,7 @@ foreach( $core_pages as $page_s => $page ) { 'id' => $page_id, 'type' => 'text', 'title' => $page, - 'placeholder' => __('Add page ID','ultimatemember'), + 'placeholder' => __('Add page ID','ultimate-member'), 'default' => ( isset( $ultimatemember->permalinks->core[ $page_id ] ) ) ? $ultimatemember->permalinks->core[ $page_id ] : '', 'compiler' => true, ); @@ -43,7 +43,7 @@ foreach( $core_pages as $page_s => $page ) { 'title' => $page, 'default' => ( isset( $ultimatemember->permalinks->core[ $page_id ] ) ) ? $ultimatemember->permalinks->core[ $page_id ] : '' , 'options' => $ultimatemember->query->wp_pages(), - 'placeholder' => __('Choose a page...','ultimatemember'), + 'placeholder' => __('Choose a page...','ultimate-member'), 'compiler' => true, ); } @@ -53,7 +53,7 @@ foreach( $core_pages as $page_s => $page ) { $this->sections[] = array( 'icon' => 'um-faicon-cog', - 'title' => __( 'Setup','ultimatemember'), + 'title' => __( 'Setup','ultimate-member'), 'fields' => $page_setup ); @@ -65,13 +65,13 @@ $this->sections[] = array( add_filter('redux/options/um_options/compiler', 'um_core_page_setting_saved', 100, 3); function um_core_page_setting_saved($options, $css, $changed_values) { $core_pages = array( - 'user' => __('User page','ultimatemember'), - 'account' => __('Account page','ultimatemember'), - 'members' => __('Members page','ultimatemember'), - 'register' => __('Register page','ultimatemember'), - 'login' => __('Login page','ultimatemember'), - 'logout' => __('Logout page','ultimatemember'), - 'password-reset' => __('Password reset page','ultimatemember'), + 'user' => __('User page','ultimate-member'), + 'account' => __('Account page','ultimate-member'), + 'members' => __('Members page','ultimate-member'), + 'register' => __('Register page','ultimate-member'), + 'login' => __('Login page','ultimate-member'), + 'logout' => __('Logout page','ultimate-member'), + 'password-reset' => __('Password reset page','ultimate-member'), ); $pages = get_option('um_core_pages'); @@ -90,55 +90,55 @@ function um_core_page_setting_saved($options, $css, $changed_values) { $this->sections[] = array( 'icon' => 'um-faicon-user', - 'title' => __( 'Users','ultimatemember'), + 'title' => __( 'Users','ultimate-member'), 'fields' => array( array( 'id' => 'default_role', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Default New User Role','ultimatemember' ), - 'desc' => __( 'Select the default role that will be assigned to user after registration If you did not specify custom role settings per form.','ultimatemember' ), + 'title' => __( 'Default New User Role','ultimate-member'), + 'desc' => __( 'Select the default role that will be assigned to user after registration If you did not specify custom role settings per form.','ultimate-member'), 'default' => 'member', 'options' => $ultimatemember->query->get_roles(), - 'placeholder' => __('Choose user role...','ultimatemember'), + 'placeholder' => __('Choose user role...','ultimate-member'), ), array( 'id' => 'permalink_base', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Profile Permalink Base','ultimatemember' ), - 'desc' => __( 'Here you can control the permalink structure of the user profile URL globally','ultimatemember' ), + 'title' => __( 'Profile Permalink Base','ultimate-member'), + 'desc' => __( 'Here you can control the permalink structure of the user profile URL globally','ultimate-member'), 'default' => 'user_login', 'desc' => 'e.g. ' . trailingslashit( um_get_core_page('user') ) .'username/', 'options' => array( - 'user_login' => __('Username','ultimatemember'), - 'name' => __('First and Last Name with \'.\'','ultimatemember'), - 'name_dash' => __('First and Last Name with \'-\'','ultimatemember'), - 'name_plus' => __('First and Last Name with \'+\'','ultimatemember'), - 'user_id' => __('User ID','ultimatemember'), + 'user_login' => __('Username','ultimate-member'), + 'name' => __('First and Last Name with \'.\'','ultimate-member'), + 'name_dash' => __('First and Last Name with \'-\'','ultimate-member'), + 'name_plus' => __('First and Last Name with \'+\'','ultimate-member'), + 'user_id' => __('User ID','ultimate-member'), ), - 'placeholder' => __('Select...','ultimatemember') + 'placeholder' => __('Select...','ultimate-member') ), array( 'id' => 'display_name', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'User Display Name','ultimatemember' ), - 'desc' => __( 'This is the name that will be displayed for users on the front end of your site. Default setting uses first/last name as display name if it exists','ultimatemember' ), + 'title' => __( 'User Display Name','ultimate-member'), + 'desc' => __( 'This is the name that will be displayed for users on the front end of your site. Default setting uses first/last name as display name if it exists','ultimate-member'), 'default' => 'full_name', 'options' => array( - 'default' => __('Default WP Display Name','ultimatemember'), - 'nickname' => __('Nickname','ultimatemember'), - 'username' => __('Username','ultimatemember'), - 'full_name' => __('First name & last name','ultimatemember'), - 'sur_name' => __('Last name & first name','ultimatemember'), - 'initial_name' => __('First name & first initial of last name','ultimatemember'), - 'initial_name_f' => __('First initial of first name & last name','ultimatemember'), - 'first_name' => __('First name only','ultimatemember'), - 'field' => __('Custom field(s)','ultimatemember'), + 'default' => __('Default WP Display Name','ultimate-member'), + 'nickname' => __('Nickname','ultimate-member'), + 'username' => __('Username','ultimate-member'), + 'full_name' => __('First name & last name','ultimate-member'), + 'sur_name' => __('Last name & first name','ultimate-member'), + 'initial_name' => __('First name & first initial of last name','ultimate-member'), + 'initial_name_f' => __('First initial of first name & last name','ultimate-member'), + 'first_name' => __('First name only','ultimate-member'), + 'field' => __('Custom field(s)','ultimate-member'), ), 'placeholder' => __('Select...') ), @@ -146,65 +146,65 @@ $this->sections[] = array( array( 'id' => 'display_name_field', 'type' => 'text', - 'title' => __( 'Display Name Custom Field(s)','ultimatemember' ), - 'desc' => __('Specify the custom field meta key or custom fields seperated by comma that you want to use to display users name on the frontend of your site','ultimatemember'), + 'title' => __( 'Display Name Custom Field(s)','ultimate-member'), + 'desc' => __('Specify the custom field meta key or custom fields seperated by comma that you want to use to display users name on the frontend of your site','ultimate-member'), 'required' => array( 'display_name', '=', 'field' ), ), array( 'id' => 'force_display_name_capitlized', 'type' => 'switch', - 'title' => __( 'Force display name to be capitalized?','ultimatemember'), + 'title' => __( 'Force display name to be capitalized?','ultimate-member'), 'default' => 1, - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), ), array( 'id' => 'author_redirect', 'type' => 'switch', - 'title' => __( 'Automatically redirect author page to their profile?','ultimatemember'), + 'title' => __( 'Automatically redirect author page to their profile?','ultimate-member'), 'default' => 1, - 'desc' => __('If enabled, author pages will automatically redirect to the user\'s profile page','ultimatemember'), - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'desc' => __('If enabled, author pages will automatically redirect to the user\'s profile page','ultimate-member'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), ), array( 'id' => 'members_page', 'type' => 'switch', - 'title' => __( 'Enable Members Directory','ultimatemember' ), + 'title' => __( 'Enable Members Directory','ultimate-member'), 'default' => 1, - 'desc' => __('Control whether to enable or disable member directories on this site','ultimatemember'), - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'desc' => __('Control whether to enable or disable member directories on this site','ultimate-member'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), ), array( 'id' => 'use_gravatars', 'type' => 'switch', - 'title' => __( 'Use Gravatars?','ultimatemember' ), + 'title' => __( 'Use Gravatars?','ultimate-member'), 'default' => 0, - 'desc' => __('Do you want to use gravatars instead of the default plugin profile photo (If the user did not upload a custom profile photo / avatar)','ultimatemember'), - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'desc' => __('Do you want to use gravatars instead of the default plugin profile photo (If the user did not upload a custom profile photo / avatar)','ultimate-member'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), ), array( 'id' => 'use_um_gravatar_default_builtin_image', 'type' => 'select', - 'title' => __( 'Use Gravatar builtin image','ultimatemember' ), - 'desc' => __( 'Gravatar has a number of built in options which you can also use as defaults','ultimatemember' ), + 'title' => __( 'Use Gravatar builtin image','ultimate-member'), + 'desc' => __( 'Gravatar has a number of built in options which you can also use as defaults','ultimate-member'), 'default' => 'default', 'options' => array( - 'default' => __('Default','ultimatemember'), - '404' => __('404 ( File Not Found response )','ultimatemember'), - 'mm' => __('Mystery Man','ultimatemember'), - 'identicon' => __('Identicon','ultimatemember'), - 'monsterid' => __('Monsterid','ultimatemember'), - 'wavatar' => __('Wavatar','ultimatemember'), - 'retro' => __('Retro','ultimatemember'), - 'blank' => __('Blank ( a transparent PNG image )','ultimatemember'), + 'default' => __('Default','ultimate-member'), + '404' => __('404 ( File Not Found response )','ultimate-member'), + 'mm' => __('Mystery Man','ultimate-member'), + 'identicon' => __('Identicon','ultimate-member'), + 'monsterid' => __('Monsterid','ultimate-member'), + 'wavatar' => __('Wavatar','ultimate-member'), + 'retro' => __('Retro','ultimate-member'), + 'blank' => __('Blank ( a transparent PNG image )','ultimate-member'), ), 'required' => array( 'use_gravatars', '=', 1 ), @@ -213,32 +213,32 @@ $this->sections[] = array( array( 'id' => 'use_um_gravatar_default_image', 'type' => 'switch', - 'title' => __( 'Use Default plugin avatar as Gravatar\'s Default avatar','ultimatemember' ), + 'title' => __( 'Use Default plugin avatar as Gravatar\'s Default avatar','ultimate-member'), 'default' => 0, - 'desc' => __('Do you want to use the plugin default avatar instead of the gravatar default photo (If the user did not upload a custom profile photo / avatar)','ultimatemember'), - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'desc' => __('Do you want to use the plugin default avatar instead of the gravatar default photo (If the user did not upload a custom profile photo / avatar)','ultimate-member'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), 'required' => array( 'use_um_gravatar_default_builtin_image', '=', 'default' ), ), array( 'id' => 'reset_require_strongpass', 'type' => 'switch', - 'title' => __( 'Require a strong password? (when user resets password only)','ultimatemember' ), + 'title' => __( 'Require a strong password? (when user resets password only)','ultimate-member'), 'default' => 0, - 'desc' => __('Enable or disable a strong password rules on password reset and change procedure','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Enable or disable a strong password rules on password reset and change procedure','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'editable_primary_email_in_profile', 'type' => 'switch', - 'title' => __( 'Editable primary email field in profile view','ultimatemember' ), + 'title' => __( 'Editable primary email field in profile view','ultimate-member'), 'default' => 0, - 'desc' => __('Allow users to edit their primary emails in profile view ( when email address field is added only )','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Allow users to edit their primary emails in profile view ( when email address field is added only )','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), ) @@ -252,55 +252,55 @@ $this->sections[] = array( $this->sections[] = array( 'icon' => 'um-faicon-cog', - 'title' => __( 'Account','ultimatemember'), + 'title' => __( 'Account','ultimate-member'), 'fields' => array( array( 'id' => 'account_tab_password', 'type' => 'switch', - 'title' => __( 'Password Account Tab','ultimatemember' ), + 'title' => __( 'Password Account Tab','ultimate-member'), 'default' => 1, 'desc' => 'Enable/disable the Password account tab in account page', - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'account_tab_privacy', 'type' => 'switch', - 'title' => __( 'Privacy Account Tab','ultimatemember' ), + 'title' => __( 'Privacy Account Tab','ultimate-member'), 'default' => 1, - 'desc' => __('Enable/disable the Privacy account tab in account page','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Enable/disable the Privacy account tab in account page','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'account_tab_notifications', 'type' => 'switch', - 'title' => __( 'Notifications Account Tab','ultimatemember' ), + 'title' => __( 'Notifications Account Tab','ultimate-member'), 'default' => 1, - 'desc' => __('Enable/disable the Notifications account tab in account page','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Enable/disable the Notifications account tab in account page','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'account_tab_delete', 'type' => 'switch', - 'title' => __( 'Delete Account Tab','ultimatemember' ), + 'title' => __( 'Delete Account Tab','ultimate-member'), 'default' => 1, - 'desc' => __('Enable/disable the Delete account tab in account page','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Enable/disable the Delete account tab in account page','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'delete_account_text', 'type' => 'textarea', // bug with wp 4.4? should be editor - 'title' => __( 'Account Deletion Custom Text','ultimatemember' ), - 'default' => __('Are you sure you want to delete your account? This will erase all of your account data from the site. To delete your account enter your password below','ultimatemember'), - 'desc' => __('This is custom text that will be displayed to users before they delete their accounts from your site','ultimatemember'), + 'title' => __( 'Account Deletion Custom Text','ultimate-member'), + 'default' => __('Are you sure you want to delete your account? This will erase all of your account data from the site. To delete your account enter your password below','ultimate-member'), + 'desc' => __('This is custom text that will be displayed to users before they delete their accounts from your site','ultimate-member'), 'args' => array( 'teeny' => false, 'media_buttons' => false, @@ -311,61 +311,61 @@ $this->sections[] = array( array( 'id' => 'account_name', 'type' => 'switch', - 'title' => __( 'Add a First & Last Name fields','ultimatemember' ), + 'title' => __( 'Add a First & Last Name fields','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to enable these fields on the user account page by default or hide them.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Whether to enable these fields on the user account page by default or hide them.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'account_name_disable', 'type' => 'switch', - 'title' => __( 'Disable First & Last Name fields','ultimatemember' ), + 'title' => __( 'Disable First & Last Name fields','ultimate-member'), 'default' => 0, - 'desc' => __('Whether to allow users changing their first and last name in account page.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Whether to allow users changing their first and last name in account page.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), 'required' => array( 'account_name', '=', '1' ), ), array( 'id' => 'account_name_require', 'type' => 'switch', - 'title' => __( 'Require First & Last Name','ultimatemember' ), + 'title' => __( 'Require First & Last Name','ultimate-member'), 'default' => 1, - 'desc' => __('Require first and last name?','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Require first and last name?','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), 'required' => array( 'account_name', '=', '1' ), ), array( 'id' => 'account_email', 'type' => 'switch', - 'title' => __( 'Allow users to change e-mail','ultimatemember' ), + 'title' => __( 'Allow users to change e-mail','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to allow users changing their email in account page.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Whether to allow users changing their email in account page.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'account_hide_in_directory', 'type' => 'switch', - 'title' => __( 'Allow users to hide their profiles from directory','ultimatemember' ), + 'title' => __( 'Allow users to hide their profiles from directory','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to allow users changing their profile visibility from member directory in account page.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Whether to allow users changing their profile visibility from member directory in account page.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'account_require_strongpass', 'type' => 'switch', - 'title' => __( 'Require a strong password?','ultimatemember' ), + 'title' => __( 'Require a strong password?','ultimate-member'), 'default' => 0, - 'desc' => __('Enable or disable a strong password rules on account page / change password tab','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Enable or disable a strong password rules on account page / change password tab','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), ) @@ -379,14 +379,14 @@ $this->sections[] = array( $this->sections[] = array( 'icon' => 'um-faicon-lock', - 'title' => __( 'Access','ultimatemember'), + 'title' => __( 'Access','ultimate-member'), 'fields' => array( array( 'id' => 'panic_key', 'type' => 'text', - 'title' => __( 'Panic Key','ultimatemember' ), - 'desc' => __('Panic Key is a random generated key that allow you to access the WordPress backend always regardless of backend settings.','ultimatemember'), + 'title' => __( 'Panic Key','ultimate-member'), + 'desc' => __('Panic Key is a random generated key that allow you to access the WordPress backend always regardless of backend settings.','ultimate-member'), 'default' => $ultimatemember->validation->randomize(), 'desc' => trailingslashit( get_bloginfo('url') ).'wp-admin/?um_panic_key=your_panic_key' ), @@ -395,9 +395,9 @@ $this->sections[] = array( 'id' => 'accessible', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Global Site Access','ultimatemember' ), + 'title' => __( 'Global Site Access','ultimate-member'), 'default' => 0, - 'desc' => __('Globally control the access of your site, you can have seperate restrict options per post/page by editing the desired item.','ultimatemember'), + 'desc' => __('Globally control the access of your site, you can have seperate restrict options per post/page by editing the desired item.','ultimate-member'), 'options' => array( 0 => 'Site accessible to Everyone', 2 => 'Site accessible to Logged In Users' @@ -407,8 +407,8 @@ $this->sections[] = array( array( 'id' => 'access_redirect', 'type' => 'text', - 'title' => __( 'Custom Redirect URL','ultimatemember' ), - 'desc' => __('A logged out user will be redirected to this url If he is not permitted to access the site','ultimatemember'), + 'title' => __( 'Custom Redirect URL','ultimate-member'), + 'desc' => __('A logged out user will be redirected to this url If he is not permitted to access the site','ultimate-member'), 'required' => array( 'accessible', '=', 2 ), ), @@ -416,55 +416,55 @@ $this->sections[] = array( 'id' => 'access_exclude_uris', 'type' => 'multi_text', 'default' => array(), - 'title' => __( 'Exclude the following URLs','ultimatemember' ), - 'desc' => __( 'Here you can exclude URLs beside the redirect URI to be accessible to everyone','ultimatemember' ), - 'add_text' => __('Add New URL','ultimatemember'), + 'title' => __( 'Exclude the following URLs','ultimate-member'), + 'desc' => __( 'Here you can exclude URLs beside the redirect URI to be accessible to everyone','ultimate-member'), + 'add_text' => __('Add New URL','ultimate-member'), 'required' => array( 'accessible', '=', 2 ), ), array( 'id' => 'home_page_accessible', 'type' => 'switch', - 'title' => __( 'Allow Homepage to be accessible','ultimatemember' ), + 'title' => __( 'Allow Homepage to be accessible','ultimate-member'), 'default' => 1, - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), 'required' => array( 'accessible', '=', 2 ), ), array( 'id' => 'category_page_accessible', 'type' => 'switch', - 'title' => __( 'Allow Category pages to be accessible','ultimatemember' ), + 'title' => __( 'Allow Category pages to be accessible','ultimate-member'), 'default' => 1, - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), 'required' => array( 'accessible', '=', 2 ), ), array( 'id' => 'wpadmin_login', 'type' => 'switch', - 'title' => __( 'Allow Backend Login Screen for Guests','ultimatemember' ), + 'title' => __( 'Allow Backend Login Screen for Guests','ultimate-member'), 'default' => 1, - 'desc' => __('Control whether guests are able to access the WP-admin login screen or not','ultimatemember'), - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'desc' => __('Control whether guests are able to access the WP-admin login screen or not','ultimate-member'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), ), array( 'id' => 'deny_admin_frontend_login', 'type' => 'switch', - 'title' => __( 'Disable Admin Login via Frontend','ultimatemember' ), + 'title' => __( 'Disable Admin Login via Frontend','ultimate-member'), 'default' => 0, - 'desc' => __('DO NOT turn this option on if you have set the option "Allow Backend Login Screen for Guests" to NO. This will result in being locked out of admin.','ultimatemember'), - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'desc' => __('DO NOT turn this option on if you have set the option "Allow Backend Login Screen for Guests" to NO. This will result in being locked out of admin.','ultimate-member'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), ), array( 'id' => 'wpadmin_login_redirect', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Redirect to alternative login page','ultimatemember' ), - 'desc' => __( 'If you disable backend access to login screen, specify here where a user will be redirected','ultimatemember' ), + 'title' => __( 'Redirect to alternative login page','ultimate-member'), + 'desc' => __( 'If you disable backend access to login screen, specify here where a user will be redirected','ultimate-member'), 'required' => array( 'wpadmin_login', '=', 0 ), 'default' => 'um_login_page', 'options' => array( @@ -476,27 +476,27 @@ $this->sections[] = array( array( 'id' => 'wpadmin_login_redirect_url', 'type' => 'text', - 'title' => __( 'Custom URL','ultimatemember' ), - 'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'), + 'title' => __( 'Custom URL','ultimate-member'), + 'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimate-member'), 'required' => array( 'wpadmin_login_redirect', '=', 'custom_url' ), ), array( 'id' => 'wpadmin_register', 'type' => 'switch', - 'title' => __( 'Allow Backend Register Screen for Guests','ultimatemember' ), + 'title' => __( 'Allow Backend Register Screen for Guests','ultimate-member'), 'default' => 1, - 'desc' => __('Control whether guests are able to access the WP-admin register screen or not','ultimatemember'), - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'desc' => __('Control whether guests are able to access the WP-admin register screen or not','ultimate-member'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), ), array( 'id' => 'wpadmin_register_redirect', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Redirect to alternative register page','ultimatemember' ), - 'desc' => __( 'If you disable backend access to register screen, specify here where a user will be redirected','ultimatemember' ), + 'title' => __( 'Redirect to alternative register page','ultimate-member'), + 'desc' => __( 'If you disable backend access to register screen, specify here where a user will be redirected','ultimate-member'), 'required' => array( 'wpadmin_register', '=', 0 ), 'default' => 'um_register_page', 'options' => array( @@ -508,34 +508,34 @@ $this->sections[] = array( array( 'id' => 'wpadmin_register_redirect_url', 'type' => 'text', - 'title' => __( 'Custom URL','ultimatemember' ), - 'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'), + 'title' => __( 'Custom URL','ultimate-member'), + 'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimate-member'), 'required' => array( 'wpadmin_register_redirect', '=', 'custom_url' ), ), array( 'id' => 'access_widget_admin_only', 'type' => 'switch', - 'title' => __( 'Enable the Access Control widget for Admins only?','ultimatemember' ), + 'title' => __( 'Enable the Access Control widget for Admins only?','ultimate-member'), 'default' => 1, - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), ), array( 'id' => 'enable_reset_password_limit', 'type' => 'switch', - 'title' => __( 'Enable the Reset Password Limit?','ultimatemember' ), + 'title' => __( 'Enable the Reset Password Limit?','ultimate-member'), 'default' => 1, - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), ), array( 'id' => 'reset_password_limit_number', 'type' => 'text', - 'title' => __( 'Reset Password Limit','ultimatemember' ), - 'desc' => __('Set the maximum reset password limit. If reached the maximum limit, user will be locked from using this.','ultimatemember'), + 'title' => __( 'Reset Password Limit','ultimate-member'), + 'desc' => __('Set the maximum reset password limit. If reached the maximum limit, user will be locked from using this.','ultimate-member'), 'default' => 3, 'validate' => 'numeric', 'required' => array('enable_reset_password_limit','=',1), @@ -545,39 +545,39 @@ $this->sections[] = array( array( 'id' => 'disable_admin_reset_password_limit', 'type' => 'switch', - 'title' => __( 'Disable the Reset Password Limit for Admins only?','ultimatemember' ), + 'title' => __( 'Disable the Reset Password Limit for Admins only?','ultimate-member'), 'default' => 0, - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), 'required' => array('enable_reset_password_limit','=',1), ), array( 'id' => 'wpadmin_allow_ips', 'type' => 'textarea', - 'title' => __( 'Whitelisted Backend IPs','ultimatemember' ), - 'desc' => __('Always allow the specified IP addresses to access the backend login screen and WP-admin to avoid being locked from site backend.','ultimatemember'), + 'title' => __( 'Whitelisted Backend IPs','ultimate-member'), + 'desc' => __('Always allow the specified IP addresses to access the backend login screen and WP-admin to avoid being locked from site backend.','ultimate-member'), ), array( 'id' => 'blocked_ips', 'type' => 'textarea', - 'title' => __( 'Blocked IP Addresses','ultimatemember' ), - 'desc' => __('This will block the listed IPs from signing up or signing in to the site, you can use full IP numbers or target specific range with a wildcard','ultimatemember'), + 'title' => __( 'Blocked IP Addresses','ultimate-member'), + 'desc' => __('This will block the listed IPs from signing up or signing in to the site, you can use full IP numbers or target specific range with a wildcard','ultimate-member'), ), array( 'id' => 'blocked_emails', 'type' => 'textarea', - 'title' => __( 'Blocked Email Addresses','ultimatemember' ), - 'desc' => __('This will block the specified e-mail addresses from being able to sign up or sign in to your site. To block an entire domain, use something like *@domain.com','ultimatemember'), + 'title' => __( 'Blocked Email Addresses','ultimate-member'), + 'desc' => __('This will block the specified e-mail addresses from being able to sign up or sign in to your site. To block an entire domain, use something like *@domain.com','ultimate-member'), ), array( 'id' => 'blocked_words', 'type' => 'textarea', - 'title' => __( 'Blacklist Words','ultimatemember' ), - 'desc' => __('This option lets you specify blacklist of words to prevent anyone from signing up with such a word as their username','ultimatemember'), + 'title' => __( 'Blacklist Words','ultimate-member'), + 'desc' => __('This option lets you specify blacklist of words to prevent anyone from signing up with such a word as their username','ultimate-member'), 'default' => 'admin' . "\r\n" . 'administrator' . "\r\n" . 'webmaster' . "\r\n" . 'support' . "\r\n" . 'staff' ), @@ -592,56 +592,56 @@ $this->sections[] = array( $this->sections[] = array( 'icon' => 'um-faicon-envelope-o', - 'title' => __( 'Emails','ultimatemember'), + 'title' => __( 'Emails','ultimate-member'), 'fields' => array( array( 'id' => 'mail_from', 'type' => 'text', - 'title' => __( 'Mail appears from','ultimatemember' ), - 'desc' => __( 'e.g. Site Name','ultimatemember' ), + 'title' => __( 'Mail appears from','ultimate-member'), + 'desc' => __( 'e.g. Site Name','ultimate-member'), 'default' => get_bloginfo('name'), ), array( 'id' => 'mail_from_addr', 'type' => 'text', - 'title' => __( 'Mail appears from address','ultimatemember' ), - 'desc' => __( 'e.g. admin@companyname.com','ultimatemember' ), + 'title' => __( 'Mail appears from address','ultimate-member'), + 'desc' => __( 'e.g. admin@companyname.com','ultimate-member'), 'default' => get_bloginfo('admin_email'), ), array( 'id' => 'email_html', 'type' => 'switch', - 'title' => __( 'Use HTML for E-mails?','ultimatemember' ), + 'title' => __( 'Use HTML for E-mails?','ultimate-member'), 'default' => 0, - 'desc' => __('If you enable HTML for e-mails, you can customize the HTML e-mail templates found in templates/email folder.','ultimatemember'), + 'desc' => __('If you enable HTML for e-mails, you can customize the HTML e-mail templates found in templates/email folder.','ultimate-member'), ), array( 'id' => 'welcome_email_on', 'type' => 'switch', - 'title' => __( 'Account Welcome Email','ultimatemember' ), + 'title' => __( 'Account Welcome Email','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to send the user an email when his account is automatically approved','ultimatemember'), + 'desc' => __('Whether to send the user an email when his account is automatically approved','ultimate-member'), ), array( 'id' => 'welcome_email_sub', 'type' => 'text', - 'title' => __( 'Account Welcome Email','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Account Welcome Email','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => 'Welcome to {site_name}!', 'required' => array( 'welcome_email_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'welcome_email', 'type' => 'textarea', - 'title' => __( 'Account Welcome Email','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Account Welcome Email','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'required' => array( 'welcome_email_on', '=', 1 ), 'default' => 'Hi {display_name},' . "\r\n\r\n" . 'Thank you for signing up with {site_name}! Your account is now active.' . "\r\n\r\n" . @@ -657,26 +657,26 @@ $this->sections[] = array( array( 'id' => 'checkmail_email_on', 'type' => 'switch', - 'title' => __( 'Account Activation Email','ultimatemember' ), + 'title' => __( 'Account Activation Email','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to send the user an email when his account needs e-mail activation','ultimatemember'), + 'desc' => __('Whether to send the user an email when his account needs e-mail activation','ultimate-member'), ), array( 'id' => 'checkmail_email_sub', 'type' => 'text', - 'title' => __( 'Account Activation Email','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Account Activation Email','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => 'Please activate your account', 'required' => array( 'checkmail_email_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'checkmail_email', 'type' => 'textarea', - 'title' => __( 'Account Activation Email','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Account Activation Email','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'required' => array( 'checkmail_email_on', '=', 1 ), 'default' => 'Hi {display_name},' . "\r\n\r\n" . 'Thank you for signing up with {site_name}! To activate your account, please click the link below to confirm your email address:' . "\r\n\r\n" . @@ -689,26 +689,26 @@ $this->sections[] = array( array( 'id' => 'pending_email_on', 'type' => 'switch', - 'title' => __( 'Pending Review Email','ultimatemember' ), + 'title' => __( 'Pending Review Email','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to send the user an email when his account needs admin review','ultimatemember'), + 'desc' => __('Whether to send the user an email when his account needs admin review','ultimate-member'), ), array( 'id' => 'pending_email_sub', 'type' => 'text', - 'title' => __( 'Pending Review Email','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Pending Review Email','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => 'Your account is pending review', 'required' => array( 'pending_email_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'pending_email', 'type' => 'textarea', - 'title' => __( 'Pending Review Email','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Pending Review Email','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'required' => array( 'pending_email_on', '=', 1 ), 'default' => 'Hi {display_name},' . "\r\n\r\n" . 'Thank you for signing up with {site_name}! Your account is currently being reviewed by a member of our team.' . "\r\n\r\n" . @@ -721,26 +721,26 @@ $this->sections[] = array( array( 'id' => 'approved_email_on', 'type' => 'switch', - 'title' => __( 'Account Approved Email','ultimatemember' ), + 'title' => __( 'Account Approved Email','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to send the user an email when his account is approved','ultimatemember'), + 'desc' => __('Whether to send the user an email when his account is approved','ultimate-member'), ), array( 'id' => 'approved_email_sub', 'type' => 'text', - 'title' => __( 'Account Approved Email','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Account Approved Email','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => 'Your account at {site_name} is now active', 'required' => array( 'approved_email_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'approved_email', 'type' => 'textarea', - 'title' => __( 'Account Approved Email','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Account Approved Email','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'required' => array( 'approved_email_on', '=', 1 ), 'default' => 'Hi {display_name},' . "\r\n\r\n" . 'Thank you for signing up with {site_name}! Your account has been approved and is now active.' . "\r\n\r\n" . @@ -757,26 +757,26 @@ $this->sections[] = array( array( 'id' => 'rejected_email_on', 'type' => 'switch', - 'title' => __( 'Account Rejected Email','ultimatemember' ), + 'title' => __( 'Account Rejected Email','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to send the user an email when his account is rejected','ultimatemember'), + 'desc' => __('Whether to send the user an email when his account is rejected','ultimate-member'), ), array( 'id' => 'rejected_email_sub', 'type' => 'text', - 'title' => __( 'Account Rejected Email','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Account Rejected Email','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => 'Your account has been rejected', 'required' => array( 'rejected_email_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'rejected_email', 'type' => 'textarea', - 'title' => __( 'Account Rejected Email','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Account Rejected Email','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'required' => array( 'rejected_email_on', '=', 1 ), 'default' => 'Hi {display_name},' . "\r\n\r\n" . 'Thank you for applying for membership to {site_name}! We have reviewed your information and unfortunately we are unable to accept you as a member at this moment.' . "\r\n\r\n" . @@ -788,26 +788,26 @@ $this->sections[] = array( array( 'id' => 'inactive_email_on', 'type' => 'switch', - 'title' => __( 'Account Deactivated Email','ultimatemember' ), + 'title' => __( 'Account Deactivated Email','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to send the user an email when his account is deactivated','ultimatemember'), + 'desc' => __('Whether to send the user an email when his account is deactivated','ultimate-member'), ), array( 'id' => 'inactive_email_sub', 'type' => 'text', - 'title' => __( 'Account Deactivated Email','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Account Deactivated Email','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => 'Your account has been deactivated', 'required' => array( 'inactive_email_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'inactive_email', 'type' => 'textarea', - 'title' => __( 'Account Deactivated Email','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Account Deactivated Email','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'required' => array( 'inactive_email_on', '=', 1 ), 'default' => 'Hi {display_name},' . "\r\n\r\n" . 'This is an automated email to let you know your {site_name} account has been deactivated.' . "\r\n\r\n" . @@ -819,26 +819,26 @@ $this->sections[] = array( array( 'id' => 'deletion_email_on', 'type' => 'switch', - 'title' => __( 'Account Deleted Email','ultimatemember' ), + 'title' => __( 'Account Deleted Email','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to send the user an email when his account is deleted','ultimatemember'), + 'desc' => __('Whether to send the user an email when his account is deleted','ultimate-member'), ), array( 'id' => 'deletion_email_sub', 'type' => 'text', - 'title' => __( 'Account Deleted Email','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Account Deleted Email','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => 'Your account has been deleted', 'required' => array( 'deletion_email_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'deletion_email', 'type' => 'textarea', - 'title' => __( 'Account Deleted Email','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Account Deleted Email','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'required' => array( 'deletion_email_on', '=', 1 ), 'default' => 'Hi {display_name},' . "\r\n\r\n" . 'This is an automated email to let you know your {site_name} account has been deleted. All of your personal information has been permanently deleted and you will no longer be able to login to {site_name}.' . "\r\n\r\n" . @@ -850,26 +850,26 @@ $this->sections[] = array( array( 'id' => 'resetpw_email_on', 'type' => 'switch', - 'title' => __( 'Password Reset Email','ultimatemember' ), + 'title' => __( 'Password Reset Email','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to send an email when users changed their password (Recommended, please keep on)','ultimatemember'), + 'desc' => __('Whether to send an email when users changed their password (Recommended, please keep on)','ultimate-member'), ), array( 'id' => 'resetpw_email_sub', 'type' => 'text', - 'title' => __( 'Password Reset Email','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Password Reset Email','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => 'Reset your password', 'required' => array( 'resetpw_email_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'resetpw_email', 'type' => 'textarea', - 'title' => __( 'Password Reset Email','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Password Reset Email','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'required' => array( 'resetpw_email_on', '=', 1 ), 'default' => 'Hi {display_name},' . "\r\n\r\n" . 'We received a request to reset the password for your account. If you made this request, click the link below to change your password:' . "\r\n\r\n" . @@ -882,26 +882,26 @@ $this->sections[] = array( array( 'id' => 'changedpw_email_on', 'type' => 'switch', - 'title' => __( 'Password Changed Email','ultimatemember' ), + 'title' => __( 'Password Changed Email','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'), + 'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimate-member'), ), array( 'id' => 'changedpw_email_sub', 'type' => 'text', - 'title' => __( 'Password Changed Email','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Password Changed Email','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => 'Your {site_name} password has been changed', 'required' => array( 'changedpw_email_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'changedpw_email', 'type' => 'textarea', - 'title' => __( 'Password Changed Email','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Password Changed Email','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'required' => array( 'changedpw_email_on', '=', 1 ), 'default' => 'Hi {display_name},' . "\r\n\r\n" . 'You recently changed the password associated with your {site_name} account.' . "\r\n\r\n" . @@ -921,112 +921,112 @@ $this->sections[] = array( $this->sections[] = array( 'icon' => 'um-faicon-bell-o', - 'title' => __( 'Notifications','ultimatemember' ), + 'title' => __( 'Notifications','ultimate-member'), 'fields' => array( array( 'id' => 'admin_email', 'type' => 'text', - 'title' => __( 'Admin E-mail Address','ultimatemember' ), + 'title' => __( 'Admin E-mail Address','ultimate-member'), 'default' => get_bloginfo('admin_email'), - 'desc' => __( 'e.g. admin@companyname.com','ultimatemember' ), + 'desc' => __( 'e.g. admin@companyname.com','ultimate-member'), ), array( 'id' => 'notification_new_user_on', 'type' => 'switch', - 'title' => __( 'New User Notification','ultimatemember' ), + 'title' => __( 'New User Notification','ultimate-member'), 'default' => 1, - 'desc' => __('Whether to receive notification when a new user account is approved','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Whether to receive notification when a new user account is approved','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'notification_new_user_sub', 'type' => 'text', - 'title' => __( 'New User Notification','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'New User Notification','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => '[{site_name}] New user account', 'required' => array( 'notification_new_user_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'notification_new_user', 'type' => 'textarea', - 'title' => __( 'New User Notification','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'New User Notification','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'default' => '{display_name} has just created an account on {site_name}. To view their profile click here:' . "\r\n\r\n" . '{user_profile_link}' . "\r\n\r\n" . 'Here is the submitted registration form:' . "\r\n\r\n" . '{submitted_registration}', 'required' => array( 'notification_new_user_on', '=', 1 ), - 'desc' => __('This is the content of the e-mail','ultimatemember'), + 'desc' => __('This is the content of the e-mail','ultimate-member'), ), array( 'id' => 'notification_review_on', 'type' => 'switch', - 'title' => __( 'Account Needs Review Notification','ultimatemember' ), + 'title' => __( 'Account Needs Review Notification','ultimate-member'), 'default' => 0, - 'desc' => __('Whether to receive notification when an account needs admin review','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Whether to receive notification when an account needs admin review','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'notification_review_sub', 'type' => 'text', - 'title' => __( 'Account Needs Review Notification','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Account Needs Review Notification','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => '[{site_name}] New user awaiting review', 'required' => array( 'notification_review_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'notification_review', 'type' => 'textarea', - 'title' => __( 'Account Needs Review Notification','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Account Needs Review Notification','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'default' => '{display_name} has just applied for membership to {site_name} and is waiting to be reviewed.' . "\r\n\r\n" . 'To review this member please click the following link:' . "\r\n\r\n" . '{user_profile_link}' . "\r\n\r\n" . 'Here is the submitted registration form:' . "\r\n\r\n" . '{submitted_registration}', 'required' => array( 'notification_review_on', '=', 1 ), - 'desc' => __('This is the content of the e-mail','ultimatemember'), + 'desc' => __('This is the content of the e-mail','ultimate-member'), ), array( 'id' => 'notification_deletion_on', 'type' => 'switch', - 'title' => __( 'Account Deletion Notification','ultimatemember' ), + 'title' => __( 'Account Deletion Notification','ultimate-member'), 'default' => 0, - 'desc' => __('Whether to receive notification when an account is deleted','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Whether to receive notification when an account is deleted','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'notification_deletion_sub', 'type' => 'text', - 'title' => __( 'Account Deletion Notification','ultimatemember' ), - 'subtitle' => __( 'Subject Line','ultimatemember' ), + 'title' => __( 'Account Deletion Notification','ultimate-member'), + 'subtitle' => __( 'Subject Line','ultimate-member'), 'default' => '[{site_name}] Account deleted', 'required' => array( 'notification_deletion_on', '=', 1 ), - 'desc' => __('This is the subject line of the e-mail','ultimatemember'), + 'desc' => __('This is the subject line of the e-mail','ultimate-member'), ), array( 'id' => 'notification_deletion', 'type' => 'textarea', - 'title' => __( 'Account Deletion Notification','ultimatemember' ), - 'subtitle' => __( 'Message Body','ultimatemember' ), + 'title' => __( 'Account Deletion Notification','ultimate-member'), + 'subtitle' => __( 'Message Body','ultimate-member'), 'default' => '{display_name} has just deleted their {site_name} account.', 'required' => array( 'notification_deletion_on', '=', 1 ), - 'desc' => __('This is the content of the e-mail','ultimatemember'), + 'desc' => __('This is the content of the e-mail','ultimate-member'), ), ) @@ -1040,50 +1040,50 @@ $this->sections[] = array( $this->sections[] = array( 'icon' => 'um-faicon-cloud-upload', - 'title' => __( 'Uploads','ultimatemember'), + 'title' => __( 'Uploads','ultimate-member'), 'fields' => array( array( 'id' => 'profile_photo_max_size', 'type' => 'text', - 'title' => __( 'Profile Photo Maximum File Size (bytes)','ultimatemember' ), - 'desc' => __( 'Sets a maximum size for the uploaded photo','ultimatemember' ), + 'title' => __( 'Profile Photo Maximum File Size (bytes)','ultimate-member'), + 'desc' => __( 'Sets a maximum size for the uploaded photo','ultimate-member'), 'validate' => 'numeric', ), array( 'id' => 'cover_photo_max_size', 'type' => 'text', - 'title' => __( 'Cover Photo Maximum File Size (bytes)','ultimatemember' ), - 'desc' => __( 'Sets a maximum size for the uploaded cover','ultimatemember' ), + 'title' => __( 'Cover Photo Maximum File Size (bytes)','ultimate-member'), + 'desc' => __( 'Sets a maximum size for the uploaded cover','ultimate-member'), 'validate' => 'numeric', ), array( 'id' => 'photo_thumb_sizes', 'type' => 'multi_text', - 'title' => __( 'Profile Photo Thumbnail Sizes (px)','ultimatemember' ), - 'desc' => __( 'Here you can define which thumbnail sizes will be created for each profile photo upload.','ultimatemember' ), + 'title' => __( 'Profile Photo Thumbnail Sizes (px)','ultimate-member'), + 'desc' => __( 'Here you can define which thumbnail sizes will be created for each profile photo upload.','ultimate-member'), 'default' => array( 40, 80, 190 ), 'validate' => 'numeric', - 'add_text' => __('Add New Size','ultimatemember'), + 'add_text' => __('Add New Size','ultimate-member'), ), array( 'id' => 'cover_thumb_sizes', 'type' => 'multi_text', - 'title' => __( 'Cover Photo Thumbnail Sizes (px)','ultimatemember' ), - 'desc' => __( 'Here you can define which thumbnail sizes will be created for each cover photo upload.','ultimatemember' ), + 'title' => __( 'Cover Photo Thumbnail Sizes (px)','ultimate-member'), + 'desc' => __( 'Here you can define which thumbnail sizes will be created for each cover photo upload.','ultimate-member'), 'default' => array( 300, 600 ), 'validate' => 'numeric', - 'add_text' => __('Add New Size','ultimatemember'), + 'add_text' => __('Add New Size','ultimate-member'), ), array( 'id' => 'image_compression', 'type' => 'text', - 'title' => __( 'Image Quality','ultimatemember' ), - 'desc' => __( 'Quality is used to determine quality of image uploads, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default range is 60.','ultimatemember' ), + 'title' => __( 'Image Quality','ultimate-member'), + 'desc' => __( 'Quality is used to determine quality of image uploads, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default range is 60.','ultimate-member'), 'default' => 60, 'validate' => 'numeric', ), @@ -1091,8 +1091,8 @@ $this->sections[] = array( array( 'id' => 'image_max_width', 'type' => 'text', - 'title' => __( 'Image Upload Maximum Width (px)','ultimatemember' ), - 'desc' => __( 'Any image upload above this width will be resized to this limit automatically.','ultimatemember' ), + 'title' => __( 'Image Upload Maximum Width (px)','ultimate-member'), + 'desc' => __( 'Any image upload above this width will be resized to this limit automatically.','ultimate-member'), 'default' => 1000, 'validate' => 'numeric', ), @@ -1100,8 +1100,8 @@ $this->sections[] = array( array( 'id' => 'cover_min_width', 'type' => 'text', - 'title' => __( 'Cover Photo Minimum Width (px)','ultimatemember' ), - 'desc' => __( 'This will be the minimum width for cover photo uploads','ultimatemember' ), + 'title' => __( 'Cover Photo Minimum Width (px)','ultimate-member'), + 'desc' => __( 'This will be the minimum width for cover photo uploads','ultimate-member'), 'default' => 1000, 'validate' => 'numeric', ), @@ -1117,23 +1117,23 @@ $this->sections[] = array( $this->sections[] = array( 'icon' => 'um-faicon-search', - 'title' => __( 'SEO','ultimatemember'), + 'title' => __( 'SEO','ultimate-member'), 'fields' => array( array( 'id' => 'profile_title', 'type' => 'text', - 'title' => __('User Profile Title','ultimatemember'), + 'title' => __('User Profile Title','ultimate-member'), 'default' => '{display_name} | ' . get_bloginfo('name'), - 'desc' => __('This is the title that is displayed on a specific user profile','ultimatemember'), + 'desc' => __('This is the title that is displayed on a specific user profile','ultimate-member'), ), array( 'id' => 'profile_desc', 'type' => 'textarea', 'default' => '{display_name} is on {site_name}. Join {site_name} to view {display_name}\'s profile', - 'title' => __( 'User Profile Dynamic Meta Description','ultimatemember' ), - 'desc' => __('This will be used in the meta description that is available for search-engines.','ultimatemember') + 'title' => __( 'User Profile Dynamic Meta Description','ultimate-member'), + 'desc' => __('This will be used in the meta description that is available for search-engines.','ultimate-member') ), ) @@ -1147,7 +1147,7 @@ $this->sections[] = array( $this->sections[] = array( 'icon' => 'um-faicon-paint-brush', - 'title' => __( 'Appearance','ultimatemember'), + 'title' => __( 'Appearance','ultimate-member'), 'fields' => array( ) @@ -1157,15 +1157,15 @@ $this->sections[] = array( $this->sections[] = array( 'subsection' => true, - 'title' => __( 'General','ultimatemember'), + 'title' => __( 'General','ultimate-member'), 'fields' => array( array( 'id' => 'directory_template', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Members Default Template','ultimatemember' ), - 'desc' => __( 'This will be the default template to output member directory','ultimatemember' ), + 'title' => __( 'Members Default Template','ultimate-member'), + 'desc' => __( 'This will be the default template to output member directory','ultimate-member'), 'default' => um_get_metadefault('directory_template'), 'options' => $ultimatemember->shortcodes->get_templates( 'members' ), 'required' => array( 'xxxxxxxxxxxxx', '=', 'sssssssssssssssss' ), @@ -1175,9 +1175,9 @@ $this->sections[] = array( 'id' => 'active_color', 'type' => 'color', 'default' => um_get_metadefault('active_color'), - 'title' => __( 'General Active Color','ultimatemember' ), + 'title' => __( 'General Active Color','ultimate-member'), 'validate' => 'color', - 'desc' => __('Active color is used commonly with many plugin elements as highlighted color or active selection for example. This color demonstrates the primary active color of the plugin','ultimatemember'), + 'desc' => __('Active color is used commonly with many plugin elements as highlighted color or active selection for example. This color demonstrates the primary active color of the plugin','ultimate-member'), 'transparent' => false, ), @@ -1185,9 +1185,9 @@ $this->sections[] = array( 'id' => 'secondary_color', 'type' => 'color', 'default' => um_get_metadefault('secondary_color'), - 'title' => __( 'General Secondary Color','ultimatemember' ), + 'title' => __( 'General Secondary Color','ultimate-member'), 'validate' => 'color', - 'desc' => __('Secondary color is used for hovers, or active state for some elements of the plugin','ultimatemember'), + 'desc' => __('Secondary color is used for hovers, or active state for some elements of the plugin','ultimate-member'), 'transparent' => false, ), @@ -1195,7 +1195,7 @@ $this->sections[] = array( 'id' => 'primary_btn_color', 'type' => 'color', 'default' => um_get_metadefault('primary_btn_color'), - 'title' => __( 'Default Primary Button Color','ultimatemember' ), + 'title' => __( 'Default Primary Button Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1204,7 +1204,7 @@ $this->sections[] = array( 'id' => 'primary_btn_hover', 'type' => 'color', 'default' => um_get_metadefault('primary_btn_hover'), - 'title' => __( 'Default Primary Button Hover Color','ultimatemember' ), + 'title' => __( 'Default Primary Button Hover Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1213,7 +1213,7 @@ $this->sections[] = array( 'id' => 'primary_btn_text', 'type' => 'color', 'default' => um_get_metadefault('primary_btn_text'), - 'title' => __( 'Default Primary Button Text Color','ultimatemember' ), + 'title' => __( 'Default Primary Button Text Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1222,7 +1222,7 @@ $this->sections[] = array( 'id' => 'secondary_btn_color', 'type' => 'color', 'default' => um_get_metadefault('secondary_btn_color'), - 'title' => __( 'Default Secondary Button Color','ultimatemember' ), + 'title' => __( 'Default Secondary Button Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1231,7 +1231,7 @@ $this->sections[] = array( 'id' => 'secondary_btn_hover', 'type' => 'color', 'default' => um_get_metadefault('secondary_btn_hover'), - 'title' => __( 'Default Secondary Button Hover Color','ultimatemember' ), + 'title' => __( 'Default Secondary Button Hover Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1240,7 +1240,7 @@ $this->sections[] = array( 'id' => 'secondary_btn_text', 'type' => 'color', 'default' => um_get_metadefault('secondary_btn_text'), - 'title' => __( 'Default Secondary Button Text Color','ultimatemember' ), + 'title' => __( 'Default Secondary Button Text Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1249,7 +1249,7 @@ $this->sections[] = array( 'id' => 'help_tip_color', 'type' => 'color', 'default' => um_get_metadefault('help_tip_color'), - 'title' => __( 'Default Help Icon Color','ultimatemember' ), + 'title' => __( 'Default Help Icon Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1261,14 +1261,14 @@ $this->sections[] = array( $this->sections[] = array( 'subsection' => true, - 'title' => __( 'Form Inputs','ultimatemember'), + 'title' => __( 'Form Inputs','ultimate-member'), 'fields' => array( array( 'id' => 'form_field_label', 'type' => 'color', 'default' => um_get_metadefault('form_field_label'), - 'title' => __( 'Field Label Color','ultimatemember' ), + 'title' => __( 'Field Label Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1276,24 +1276,24 @@ $this->sections[] = array( array( 'id' => 'form_border', 'type' => 'text', - 'title' => __( 'Field Border','ultimatemember' ), + 'title' => __( 'Field Border','ultimate-member'), 'default' => um_get_metadefault('form_border'), - 'desc' => __('The default border-style for input/fields in UM forms','ultimatemember'), + 'desc' => __('The default border-style for input/fields in UM forms','ultimate-member'), ), array( 'id' => 'form_border_hover', 'type' => 'text', - 'title' => __( 'Field Border on Focus','ultimatemember' ), + 'title' => __( 'Field Border on Focus','ultimate-member'), 'default' => um_get_metadefault('form_border_hover'), - 'desc' => __('The default border style for fields on hover state','ultimatemember'), + 'desc' => __('The default border style for fields on hover state','ultimate-member'), ), array( 'id' => 'form_bg_color', 'type' => 'color', 'default' => um_get_metadefault('form_bg_color'), - 'title' => __( 'Field Background Color','ultimatemember' ), + 'title' => __( 'Field Background Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1302,7 +1302,7 @@ $this->sections[] = array( 'id' => 'form_bg_color_focus', 'type' => 'color', 'default' => um_get_metadefault('form_bg_color_focus'), - 'title' => __( 'Field Background Color on Focus','ultimatemember' ), + 'title' => __( 'Field Background Color on Focus','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1320,7 +1320,7 @@ $this->sections[] = array( 'id' => 'form_placeholder', 'type' => 'color', 'default' => um_get_metadefault('form_placeholder'), - 'title' => __( 'Field Placeholder Color','ultimatemember' ), + 'title' => __( 'Field Placeholder Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1329,7 +1329,7 @@ $this->sections[] = array( 'id' => 'form_icon_color', 'type' => 'color', 'default' => um_get_metadefault('form_icon_color'), - 'title' => __( 'Field Font Icon Color','ultimatemember' ), + 'title' => __( 'Field Font Icon Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1337,17 +1337,17 @@ $this->sections[] = array( array( 'id' => 'form_asterisk', 'type' => 'switch', - 'title' => __( 'Show an asterisk for required fields','ultimatemember' ), + 'title' => __( 'Show an asterisk for required fields','ultimate-member'), 'default' => 0, - 'on' => __('Yes','ultimatemember'), - 'off' => __('No','ultimatemember'), + 'on' => __('Yes','ultimate-member'), + 'off' => __('No','ultimate-member'), ), array( 'id' => 'form_asterisk_color', 'type' => 'color', 'default' => um_get_metadefault('form_asterisk_color'), - 'title' => __( 'Field Required Asterisk Color','ultimatemember' ), + 'title' => __( 'Field Required Asterisk Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, 'required' => array( 'form_asterisk', '=', '1' ), @@ -1360,15 +1360,15 @@ $this->sections[] = array( $this->sections[] = array( 'subsection' => true, - 'title' => __( 'Profile','ultimatemember'), + 'title' => __( 'Profile','ultimate-member'), 'fields' => array( array( 'id' => 'profile_template', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Profile Default Template','ultimatemember' ), - 'desc' => __( 'This will be the default template to output profile','ultimatemember' ), + 'title' => __( 'Profile Default Template','ultimate-member'), + 'desc' => __( 'This will be the default template to output profile','ultimate-member'), 'default' => um_get_metadefault('profile_template'), 'options' => $ultimatemember->shortcodes->get_templates( 'profile' ), ), @@ -1376,7 +1376,7 @@ $this->sections[] = array( array( 'id' => 'profile_max_width', 'type' => 'text', - 'title' => __( 'Profile Maximum Width','ultimatemember' ), + 'title' => __( 'Profile Maximum Width','ultimate-member'), 'default' => um_get_metadefault('profile_max_width'), 'desc' => 'The maximum width this shortcode can take from the page width', ), @@ -1384,22 +1384,22 @@ $this->sections[] = array( array( 'id' => 'profile_area_max_width', 'type' => 'text', - 'title' => __( 'Profile Area Maximum Width','ultimatemember' ), + 'title' => __( 'Profile Area Maximum Width','ultimate-member'), 'default' => um_get_metadefault('profile_area_max_width'), - 'desc' => __('The maximum width of the profile area inside profile (below profile header)','ultimatemember'), + 'desc' => __('The maximum width of the profile area inside profile (below profile header)','ultimate-member'), ), array( 'id' => 'profile_align', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Profile Shortcode Alignment','ultimatemember' ), + 'title' => __( 'Profile Shortcode Alignment','ultimate-member'), 'desc' => __( 'The shortcode is centered by default unless you specify otherwise here' ), 'default' => um_get_metadefault('profile_align'), 'options' => array( - 'center' => __('Centered','ultimatemember'), - 'left' => __('Left aligned','ultimatemember'), - 'right' => __('Right aligned','ultimatemember'), + 'center' => __('Centered','ultimate-member'), + 'left' => __('Left aligned','ultimate-member'), + 'right' => __('Right aligned','ultimate-member'), ), ), @@ -1408,39 +1408,39 @@ $this->sections[] = array( 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), 'title' => __( 'Profile Field Icons' ), - 'desc' => __( 'This is applicable for edit mode only','ultimatemember' ), + 'desc' => __( 'This is applicable for edit mode only','ultimate-member'), 'default' => um_get_metadefault('profile_icons'), 'options' => array( - 'field' => __('Show inside text field','ultimatemember'), - 'label' => __('Show with label','ultimatemember'), - 'off' => __('Turn off','ultimatemember'), + 'field' => __('Show inside text field','ultimate-member'), + 'label' => __('Show with label','ultimate-member'), + 'off' => __('Turn off','ultimate-member'), ), ), array( 'id' => 'profile_primary_btn_word', 'type' => 'text', - 'title' => __( 'Profile Primary Button Text','ultimatemember' ), + 'title' => __( 'Profile Primary Button Text','ultimate-member'), 'default' => um_get_metadefault('profile_primary_btn_word'), - 'desc' => __('The text that is used for updating profile button','ultimatemember'), + 'desc' => __('The text that is used for updating profile button','ultimate-member'), ), array( 'id' => 'profile_secondary_btn', 'type' => 'switch', - 'title' => __( 'Profile Secondary Button','ultimatemember' ), + 'title' => __( 'Profile Secondary Button','ultimate-member'), 'default' => 1, - 'desc' => __('Switch on/off the secondary button display in the form','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off the secondary button display in the form','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'profile_secondary_btn_word', 'type' => 'text', - 'title' => __( 'Profile Secondary Button Text','ultimatemember' ), + 'title' => __( 'Profile Secondary Button Text','ultimate-member'), 'default' => um_get_metadefault('profile_secondary_btn_word'), - 'desc' => __('The text that is used for cancelling update profile button','ultimatemember'), + 'desc' => __('The text that is used for cancelling update profile button','ultimate-member'), 'required' => array( 'profile_secondary_btn', '=', 1 ), ), @@ -1448,8 +1448,8 @@ $this->sections[] = array( 'id' => 'profile_role', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Profile Associated Role','ultimatemember' ), - 'desc' => __( 'Normally, you can leave this to default as this restricts the profile per specified role only','ultimatemember' ), + 'title' => __( 'Profile Associated Role','ultimate-member'), + 'desc' => __( 'Normally, you can leave this to default as this restricts the profile per specified role only','ultimate-member'), 'default' => um_get_metadefault('profile_role'), 'options' => $ultimatemember->query->get_roles( $add_default = 'Not specific' ), ), @@ -1458,7 +1458,7 @@ $this->sections[] = array( 'id' => 'profile_main_bg', 'type' => 'color', 'default' => um_get_metadefault('profile_main_bg'), - 'title' => __( 'Profile Base Background Color','ultimatemember' ), + 'title' => __( 'Profile Base Background Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1467,7 +1467,7 @@ $this->sections[] = array( 'id' => 'profile_header_bg', 'type' => 'color', 'default' => um_get_metadefault('profile_header_bg'), - 'title' => __( 'Profile Header Background Color','ultimatemember' ), + 'title' => __( 'Profile Header Background Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1475,8 +1475,8 @@ $this->sections[] = array( array( 'id' => 'default_avatar', 'type' => 'media', - 'title' => __('Default Profile Photo', 'ultimatemember'), - 'desc' => __('You can change the default profile picture globally here. Please make sure that the photo is 300x300px.', 'ultimatemember'), + 'title' => __('Default Profile Photo', 'ultimate-member'), + 'desc' => __('You can change the default profile picture globally here. Please make sure that the photo is 300x300px.', 'ultimate-member'), 'default' => array( 'url' => um_url . 'assets/img/default_avatar.jpg', ), @@ -1487,48 +1487,48 @@ $this->sections[] = array( 'type' => 'media', 'url' => true, 'preview' => false, - 'title' => __('Default Cover Photo', 'ultimatemember'), - 'desc' => __('You can change the default cover photo globally here. Please make sure that the default cover is large enough and respects the ratio you are using for cover photos.', 'ultimatemember'), + 'title' => __('Default Cover Photo', 'ultimate-member'), + 'desc' => __('You can change the default cover photo globally here. Please make sure that the default cover is large enough and respects the ratio you are using for cover photos.', 'ultimate-member'), ), array( 'id' => 'profile_photosize', 'type' => 'text', - 'title' => __( 'Profile Photo Size','ultimatemember' ), + 'title' => __( 'Profile Photo Size','ultimate-member'), 'default' => um_get_metadefault('profile_photosize'), - 'desc' => __('The global default of profile photo size. This can be overridden by individual form settings','ultimatemember'), + 'desc' => __('The global default of profile photo size. This can be overridden by individual form settings','ultimate-member'), ), array( 'id' => 'profile_photocorner', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Profile Photo Style','ultimatemember' ), - 'desc' => __( 'Whether to have rounded profile images, rounded corners, or none for the profile photo','ultimatemember' ), + 'title' => __( 'Profile Photo Style','ultimate-member'), + 'desc' => __( 'Whether to have rounded profile images, rounded corners, or none for the profile photo','ultimate-member'), 'default' => um_get_metadefault('profile_photocorner'), 'options' => array( - '1' => __('Circle','ultimatemember'), - '2' => __('Rounded Corners','ultimatemember'), - '3' => __('Square','ultimatemember'), + '1' => __('Circle','ultimate-member'), + '2' => __('Rounded Corners','ultimate-member'), + '3' => __('Square','ultimate-member'), ), ), array( 'id' => 'profile_cover_enabled', 'type' => 'switch', - 'title' => __( 'Profile Cover Photos','ultimatemember' ), + 'title' => __( 'Profile Cover Photos','ultimate-member'), 'default' => 1, - 'desc' => __('Switch on/off the profile cover photos','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off the profile cover photos','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'profile_cover_ratio', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Profile Cover Ratio','ultimatemember' ), - 'desc' => __( 'Choose global ratio for cover photos of profiles','ultimatemember' ), + 'title' => __( 'Profile Cover Ratio','ultimate-member'), + 'desc' => __( 'Choose global ratio for cover photos of profiles','ultimate-member'), 'default' => um_get_metadefault('profile_cover_ratio'), 'options' => array( '1.6:1' => '1.6:1', @@ -1542,18 +1542,18 @@ $this->sections[] = array( array( 'id' => 'profile_show_metaicon', 'type' => 'switch', - 'title' => __( 'Profile Header Meta Text Icon','ultimatemember' ), + 'title' => __( 'Profile Header Meta Text Icon','ultimate-member'), 'default' => 0, - 'desc' => __('Display field icons for related user meta fields in header or not','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Display field icons for related user meta fields in header or not','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'profile_header_text', 'type' => 'color', 'default' => um_get_metadefault('profile_header_text'), - 'title' => __( 'Profile Header Meta Text Color','ultimatemember' ), + 'title' => __( 'Profile Header Meta Text Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1562,7 +1562,7 @@ $this->sections[] = array( 'id' => 'profile_header_link_color', 'type' => 'color', 'default' => um_get_metadefault('profile_header_link_color'), - 'title' => __( 'Profile Header Link Color','ultimatemember' ), + 'title' => __( 'Profile Header Link Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1571,7 +1571,7 @@ $this->sections[] = array( 'id' => 'profile_header_link_hcolor', 'type' => 'color', 'default' => um_get_metadefault('profile_header_link_hcolor'), - 'title' => __( 'Profile Header Link Hover','ultimatemember' ), + 'title' => __( 'Profile Header Link Hover','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1580,7 +1580,7 @@ $this->sections[] = array( 'id' => 'profile_header_icon_color', 'type' => 'color', 'default' => um_get_metadefault('profile_header_icon_color'), - 'title' => __( 'Profile Header Icon Link Color','ultimatemember' ), + 'title' => __( 'Profile Header Icon Link Color','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1589,7 +1589,7 @@ $this->sections[] = array( 'id' => 'profile_header_icon_hcolor', 'type' => 'color', 'default' => um_get_metadefault('profile_header_icon_hcolor'), - 'title' => __( 'Profile Header Icon Link Hover','ultimatemember' ), + 'title' => __( 'Profile Header Icon Link Hover','ultimate-member'), 'validate' => 'color', 'transparent' => false, ), @@ -1597,58 +1597,58 @@ $this->sections[] = array( array( 'id' => 'profile_show_name', 'type' => 'switch', - 'title' => __( 'Show display name in profile header','ultimatemember' ), + 'title' => __( 'Show display name in profile header','ultimate-member'), 'default' => um_get_metadefault('profile_show_name'), - 'desc' => __('Switch on/off the user name on profile header','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off the user name on profile header','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'profile_show_social_links', 'type' => 'switch', - 'title' => __( 'Show social links in profile header','ultimatemember' ), + 'title' => __( 'Show social links in profile header','ultimate-member'), 'default' => um_get_metadefault('profile_show_social_links'), - 'desc' => __('Switch on/off the social links on profile header','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off the social links on profile header','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'profile_show_bio', 'type' => 'switch', - 'title' => __( 'Show user description in header','ultimatemember' ), + 'title' => __( 'Show user description in header','ultimate-member'), 'default' => um_get_metadefault('profile_show_bio'), - 'desc' => __('Switch on/off the user description on profile header','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off the user description on profile header','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'profile_show_html_bio', 'type' => 'switch', - 'title' => __( 'Enable html support for user description','ultimatemember' ), + 'title' => __( 'Enable html support for user description','ultimate-member'), 'default' => um_get_metadefault('profile_show_html_bio'), - 'desc' => __('Switch on/off to enable/disable support for html tags on user description.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off to enable/disable support for html tags on user description.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'profile_bio_maxchars', 'type' => 'text', - 'title' => __( 'User description maximum chars','ultimatemember' ), + 'title' => __( 'User description maximum chars','ultimate-member'), 'default' => um_get_metadefault('profile_bio_maxchars'), - 'desc' => __('Maximum number of characters to allow in user description field in header.','ultimatemember'), + 'desc' => __('Maximum number of characters to allow in user description field in header.','ultimate-member'), 'required' => array( 'profile_show_bio', '=', 1 ), ), array( 'id' => 'profile_header_menu', 'type' => 'select', - 'title' => __( 'Profile Header Menu Position','ultimatemember' ), + 'title' => __( 'Profile Header Menu Position','ultimate-member'), 'default' => um_get_metadefault('profile_header_menu'), - 'desc' => __('For incompatible themes, please make the menu open from left instead of bottom by default.','ultimatemember'), + 'desc' => __('For incompatible themes, please make the menu open from left instead of bottom by default.','ultimate-member'), 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), 'options' => array( 'bc' => 'Bottom of Icon', @@ -1659,21 +1659,21 @@ $this->sections[] = array( array( 'id' => 'profile_empty_text', 'type' => 'switch', - 'title' => __( 'Show a custom message if profile is empty','ultimatemember' ), + 'title' => __( 'Show a custom message if profile is empty','ultimate-member'), 'default' => um_get_metadefault('profile_empty_text'), - 'desc' => __('Switch on/off the custom message that appears when the profile is empty','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off the custom message that appears when the profile is empty','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'profile_empty_text_emo', 'type' => 'switch', - 'title' => __( 'Show the emoticon','ultimatemember' ), + 'title' => __( 'Show the emoticon','ultimate-member'), 'default' => um_get_metadefault('profile_empty_text_emo'), - 'desc' => __('Switch on/off the emoticon (sad face) that appears above the message','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off the emoticon (sad face) that appears above the message','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), 'required' => array( 'profile_empty_text', '=', 1 ), ), @@ -1685,10 +1685,10 @@ $tabs = $ultimatemember->profile->tabs_primary(); $tab_options[] = array( 'id' => 'profile_menu', 'type' => 'switch', - 'title' => __('Enable profile menu','ultimatemember'), + 'title' => __('Enable profile menu','ultimate-member'), 'default' => 1, - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ); foreach( $tabs as $id => $tab ) { @@ -1696,19 +1696,19 @@ foreach( $tabs as $id => $tab ) { $tab_options[] = array( 'id' => 'profile_tab_' . $id, 'type' => 'switch', - 'title' => sprintf(__('%s Tab','ultimatemember'), $tab ), + 'title' => sprintf(__('%s Tab','ultimate-member'), $tab ), 'default' => 1, 'required' => array( 'profile_menu', '=', 1 ), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ); $tab_options[] = array( 'id' => 'profile_tab_' . $id . '_privacy', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => sprintf( __( 'Who can see %s Tab?','ultimatemember' ), $tab ), - 'desc' => __( 'Select which users can view this tab.','ultimatemember' ), + 'title' => sprintf( __( 'Who can see %s Tab?','ultimate-member'), $tab ), + 'desc' => __( 'Select which users can view this tab.','ultimate-member'), 'default' => 0, 'options' => $ultimatemember->profile->tabs_privacy(), 'required' => array( 'profile_tab_' . $id, '=', 1 ), @@ -1719,11 +1719,11 @@ foreach( $tabs as $id => $tab ) { 'type' => 'select', 'multi' => true, 'select2' => array( 'allowClear' => 1, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Allowed roles','ultimatemember' ), - 'desc' => __( 'Select the the user roles allowed to view this tab.','ultimatemember' ), + 'title' => __( 'Allowed roles','ultimate-member'), + 'desc' => __( 'Select the the user roles allowed to view this tab.','ultimate-member'), 'default' => '', 'options' => $ultimatemember->query->get_roles(), - 'placeholder' => __( 'Choose user roles...','ultimatemember' ), + 'placeholder' => __( 'Choose user roles...','ultimate-member'), 'required' => array( 'profile_tab_' . $id . '_privacy', '=', 4 ), ); @@ -1733,8 +1733,8 @@ $tab_options[] = array( 'id' => 'profile_menu_default_tab', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Profile menu default tab','ultimatemember' ), - 'desc' => __( 'This will be the default tab on user profile page','ultimatemember' ), + 'title' => __( 'Profile menu default tab','ultimate-member'), + 'desc' => __( 'This will be the default tab on user profile page','ultimate-member'), 'default' => 'main', 'options' => $ultimatemember->profile->tabs_enabled(), 'required' => array( 'profile_menu', '=', 1 ), @@ -1743,17 +1743,17 @@ $tab_options[] = array( $tab_options[] = array( 'id' => 'profile_menu_icons', 'type' => 'switch', - 'title' => __('Enable menu icons in desktop view','ultimatemember'), + 'title' => __('Enable menu icons in desktop view','ultimate-member'), 'default' => 1, 'required' => array( 'profile_menu', '=', 1 ), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ); $this->sections[] = array( 'subsection' => true, - 'title' => __( 'Profile Menu','ultimatemember'), + 'title' => __( 'Profile Menu','ultimate-member'), 'fields' => $tab_options ); @@ -1761,14 +1761,14 @@ $this->sections[] = array( $this->sections[] = array( 'subsection' => true, - 'title' => __( 'Registration Form','ultimatemember'), + 'title' => __( 'Registration Form','ultimate-member'), 'fields' => array( array( 'id' => 'register_template', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Registration Default Template','ultimatemember' ), + 'title' => __( 'Registration Default Template','ultimate-member'), 'desc' => __( 'This will be the default template to output registration' ), 'default' => um_get_metadefault('register_template'), 'options' => $ultimatemember->shortcodes->get_templates( 'register' ), @@ -1777,17 +1777,17 @@ $this->sections[] = array( array( 'id' => 'register_max_width', 'type' => 'text', - 'title' => __( 'Registration Maximum Width','ultimatemember' ), + 'title' => __( 'Registration Maximum Width','ultimate-member'), 'default' => um_get_metadefault('register_max_width'), - 'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'), + 'desc' => __('The maximum width this shortcode can take from the page width','ultimate-member'), ), array( 'id' => 'register_align', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Registration Shortcode Alignment','ultimatemember' ), - 'desc' => __( 'The shortcode is centered by default unless you specify otherwise here','ultimatemember' ), + 'title' => __( 'Registration Shortcode Alignment','ultimate-member'), + 'desc' => __( 'The shortcode is centered by default unless you specify otherwise here','ultimate-member'), 'default' => um_get_metadefault('register_align'), 'options' => array( 'center' => __('Centered'), @@ -1800,8 +1800,8 @@ $this->sections[] = array( 'id' => 'register_icons', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Registration Field Icons','ultimatemember' ), - 'desc' => __( 'This controls the display of field icons in the registration form','ultimatemember' ), + 'title' => __( 'Registration Field Icons','ultimate-member'), + 'desc' => __( 'This controls the display of field icons in the registration form','ultimate-member'), 'default' => um_get_metadefault('register_icons'), 'options' => array( 'field' => __('Show inside text field'), @@ -1813,36 +1813,36 @@ $this->sections[] = array( array( 'id' => 'register_primary_btn_word', 'type' => 'text', - 'title' => __( 'Registration Primary Button Text','ultimatemember' ), + 'title' => __( 'Registration Primary Button Text','ultimate-member'), 'default' => um_get_metadefault('register_primary_btn_word'), - 'desc' => __('The text that is used for primary button text','ultimatemember'), + 'desc' => __('The text that is used for primary button text','ultimate-member'), ), array( 'id' => 'register_secondary_btn', 'type' => 'switch', - 'title' => __( 'Registration Secondary Button','ultimatemember' ), + 'title' => __( 'Registration Secondary Button','ultimate-member'), 'default' => 1, - 'desc' => __('Switch on/off the secondary button display in the form','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off the secondary button display in the form','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'register_secondary_btn_word', 'type' => 'text', - 'title' => __( 'Registration Secondary Button Text','ultimatemember' ), + 'title' => __( 'Registration Secondary Button Text','ultimate-member'), 'default' => um_get_metadefault('register_secondary_btn_word'), - 'desc' => __('The text that is used for the secondary button text','ultimatemember'), + 'desc' => __('The text that is used for the secondary button text','ultimate-member'), 'required' => array( 'register_secondary_btn', '=', 1 ), ), array( 'id' => 'register_secondary_btn_url', 'type' => 'text', - 'title' => __( 'Registration Secondary Button URL','ultimatemember' ), + 'title' => __( 'Registration Secondary Button URL','ultimate-member'), 'default' => um_get_metadefault('register_secondary_btn_url'), - 'desc' => __('You can replace default link for this button by entering custom URL','ultimatemember'), + 'desc' => __('You can replace default link for this button by entering custom URL','ultimate-member'), 'required' => array( 'login_secondary_btn', '=', 1 ), ), @@ -1850,8 +1850,8 @@ $this->sections[] = array( 'id' => 'register_role', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Registration Default Role','ultimatemember' ), - 'desc' => __( 'This will be the default role assigned to users registering thru registration form','ultimatemember' ), + 'title' => __( 'Registration Default Role','ultimate-member'), + 'desc' => __( 'This will be the default role assigned to users registering thru registration form','ultimate-member'), 'default' => um_get_metadefault('register_role'), 'options' => $ultimatemember->query->get_roles( $add_default = 'Default' ), ), @@ -1863,15 +1863,15 @@ $this->sections[] = array( $this->sections[] = array( 'subsection' => true, - 'title' => __( 'Login Form','ultimatemember'), + 'title' => __( 'Login Form','ultimate-member'), 'fields' => array( array( 'id' => 'login_template', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Login Default Template','ultimatemember' ), - 'desc' => __( 'This will be the default template to output login','ultimatemember' ), + 'title' => __( 'Login Default Template','ultimate-member'), + 'desc' => __( 'This will be the default template to output login','ultimate-member'), 'default' => um_get_metadefault('login_template'), 'options' => $ultimatemember->shortcodes->get_templates( 'login' ), ), @@ -1879,22 +1879,22 @@ $this->sections[] = array( array( 'id' => 'login_max_width', 'type' => 'text', - 'title' => __( 'Login Maximum Width','ultimatemember' ), + 'title' => __( 'Login Maximum Width','ultimate-member'), 'default' => um_get_metadefault('login_max_width'), - 'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'), + 'desc' => __('The maximum width this shortcode can take from the page width','ultimate-member'), ), array( 'id' => 'login_align', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Login Shortcode Alignment','ultimatemember' ), - 'desc' => __( 'The shortcode is centered by default unless you specify otherwise here','ultimatemember' ), + 'title' => __( 'Login Shortcode Alignment','ultimate-member'), + 'desc' => __( 'The shortcode is centered by default unless you specify otherwise here','ultimate-member'), 'default' => um_get_metadefault('login_align'), 'options' => array( - 'center' => __('Centered','ultimatemember'), - 'left' => __('Left aligned','ultimatemember'), - 'right' => __('Right aligned','ultimatemember'), + 'center' => __('Centered','ultimate-member'), + 'left' => __('Left aligned','ultimate-member'), + 'right' => __('Right aligned','ultimate-member'), ), ), @@ -1902,70 +1902,70 @@ $this->sections[] = array( 'id' => 'login_icons', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Login Field Icons','ultimatemember' ), - 'desc' => __( 'This controls the display of field icons in the login form','ultimatemember' ), + 'title' => __( 'Login Field Icons','ultimate-member'), + 'desc' => __( 'This controls the display of field icons in the login form','ultimate-member'), 'default' => um_get_metadefault('login_icons'), 'options' => array( - 'field' => __('Show inside text field','ultimatemember'), - 'label' => __('Show with label','ultimatemember'), - 'off' => __('Turn off','ultimatemember'), + 'field' => __('Show inside text field','ultimate-member'), + 'label' => __('Show with label','ultimate-member'), + 'off' => __('Turn off','ultimate-member'), ), ), array( 'id' => 'login_primary_btn_word', 'type' => 'text', - 'title' => __( 'Login Primary Button Text','ultimatemember' ), + 'title' => __( 'Login Primary Button Text','ultimate-member'), 'default' => um_get_metadefault('login_primary_btn_word'), - 'desc' => __('The text that is used for primary button text','ultimatemember'), + 'desc' => __('The text that is used for primary button text','ultimate-member'), ), array( 'id' => 'login_secondary_btn', 'type' => 'switch', - 'title' => __( 'Login Secondary Button','ultimatemember' ), + 'title' => __( 'Login Secondary Button','ultimate-member'), 'default' => 1, - 'desc' => __('Switch on/off the secondary button display in the form','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off the secondary button display in the form','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'login_secondary_btn_word', 'type' => 'text', - 'title' => __( 'Login Secondary Button Text','ultimatemember' ), + 'title' => __( 'Login Secondary Button Text','ultimate-member'), 'default' => um_get_metadefault('login_secondary_btn_word'), - 'desc' => __('The text that is used for the secondary button text','ultimatemember'), + 'desc' => __('The text that is used for the secondary button text','ultimate-member'), 'required' => array( 'login_secondary_btn', '=', 1 ), ), array( 'id' => 'login_secondary_btn_url', 'type' => 'text', - 'title' => __( 'Login Secondary Button URL','ultimatemember' ), + 'title' => __( 'Login Secondary Button URL','ultimate-member'), 'default' => um_get_metadefault('login_secondary_btn_url'), - 'desc' => __('You can replace default link for this button by entering custom URL','ultimatemember'), + 'desc' => __('You can replace default link for this button by entering custom URL','ultimate-member'), 'required' => array( 'login_secondary_btn', '=', 1 ), ), array( 'id' => 'login_forgot_pass_link', 'type' => 'switch', - 'title' => __( 'Login Forgot Password Link','ultimatemember' ), + 'title' => __( 'Login Forgot Password Link','ultimate-member'), 'default' => 1, - 'desc' => __('Switch on/off the forgot password link in login form','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Switch on/off the forgot password link in login form','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'login_show_rememberme', 'type' => 'switch', - 'title' => __( 'Show "Remember Me"','ultimatemember' ), + 'title' => __( 'Show "Remember Me"','ultimate-member'), 'default' => 1, - 'desc' => __('Allow users to choose If they want to stay signed in even after closing the browser. If you do not show this option, the default will be to not remember login session.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Allow users to choose If they want to stay signed in even after closing the browser. If you do not show this option, the default will be to not remember login session.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), ) @@ -1976,14 +1976,14 @@ if ( um_get_option('enable_custom_css') ) { $this->sections[] = array( 'subsection' => true, - 'title' => __( 'Custom CSS','ultimatemember'), + 'title' => __( 'Custom CSS','ultimate-member'), 'fields' => array( array( 'id' => 'custom_css', 'type' => 'textarea', - 'title' => __( 'Custom CSS','ultimatemember' ), - 'desc' => __('Any custom css rules that you specify here will be applied globally to the plugin.','ultimatemember'), + 'title' => __( 'Custom CSS','ultimate-member'), + 'desc' => __('Any custom css rules that you specify here will be applied globally to the plugin.','ultimate-member'), 'rows' => 20, ), @@ -2001,147 +2001,147 @@ $arr_advanced_fields = array( array( 'id' => 'import_export', 'type' => 'import_export', - 'title' => __('Import & Export Settings','ultimatemember'), + 'title' => __('Import & Export Settings','ultimate-member'), 'full_width' => true, ), array( 'id' => 'um_profile_object_cache_stop', 'type' => 'switch', - 'title' => __( 'Cache user\'s profile data','ultimatemember' ), + 'title' => __( 'Cache user\'s profile data','ultimate-member'), 'default' => 1, - 'desc' => __('Turn off If you have performance issue.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Turn off If you have performance issue.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'um_flush_stop', 'type' => 'switch', - 'title' => __( 'Stop rewriting rules on every load','ultimatemember' ), + 'title' => __( 'Stop rewriting rules on every load','ultimate-member'), 'default' => 0, - 'desc' => __('Turn on If you have performance issue and are not getting 404 error/conflicts with other plugins/themes.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Turn on If you have performance issue and are not getting 404 error/conflicts with other plugins/themes.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'um_generate_slug_in_directory', 'type' => 'switch', - 'title' => __( 'Stop generating profile slugs in member directory','ultimatemember' ), + 'title' => __( 'Stop generating profile slugs in member directory','ultimate-member'), 'default' => 0, - 'desc' => __('Turn on If you have performance issue in member directory.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Turn on If you have performance issue in member directory.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'current_url_method', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Current URL Method','ultimatemember' ), - 'desc' => __( 'Change this If you are having conflicts with profile links or redirections.','ultimatemember' ), + 'title' => __( 'Current URL Method','ultimate-member'), + 'desc' => __( 'Change this If you are having conflicts with profile links or redirections.','ultimate-member'), 'default' => 'SERVER_NAME', 'options' => array( - 'SERVER_NAME' => __('Use SERVER_NAME','ultimatemember'), - 'HTTP_HOST' => __('Use HTTP_HOST','ultimatemember'), + 'SERVER_NAME' => __('Use SERVER_NAME','ultimate-member'), + 'HTTP_HOST' => __('Use HTTP_HOST','ultimate-member'), ), ), array( 'id' => 'um_port_forwarding_url', 'type' => 'switch', - 'title' => __( 'Allow Port forwarding in URL','ultimatemember' ), + 'title' => __( 'Allow Port forwarding in URL','ultimate-member'), 'default' => 0, - 'desc' => __('Turn on If you want to include port number in URLs','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Turn on If you want to include port number in URLs','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'um_force_utf8_strings', 'type' => 'switch', - 'title' => __( 'Force Strings to UTF-8 Encoding','ultimatemember' ), + 'title' => __( 'Force Strings to UTF-8 Encoding','ultimate-member'), 'default' => 0, - 'desc' => __('Turn on If you want to force labels and fields to use UTF-8 encoding','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Turn on If you want to force labels and fields to use UTF-8 encoding','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'enable_timebot', 'type' => 'switch', - 'title' => __( 'Enable Time Check Security','ultimatemember' ), + 'title' => __( 'Enable Time Check Security','ultimate-member'), 'default' => 1, - 'desc' => __('Turn this option off if you have a conflict with other plugins causing a spam bot message to appear unexpectedly.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Turn this option off if you have a conflict with other plugins causing a spam bot message to appear unexpectedly.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'disable_minify', 'type' => 'switch', - 'title' => __( 'Disable JS/CSS Compression','ultimatemember' ), + 'title' => __( 'Disable JS/CSS Compression','ultimate-member'), 'default' => 0, - 'desc' => __('Not recommended. This will load all plugin js and css files separately and may slow down your website. Use this setting for development or debugging purposes only.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('Not recommended. This will load all plugin js and css files separately and may slow down your website. Use this setting for development or debugging purposes only.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'disable_menu', 'type' => 'switch', - 'title' => __( 'Disable Nav Menu Settings','ultimatemember' ), + 'title' => __( 'Disable Nav Menu Settings','ultimate-member'), 'default' => 0, - 'desc' => __('This can disable the settings that appear in nav menus to apply custom access settings to nav items.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('This can disable the settings that appear in nav menus to apply custom access settings to nav items.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'js_css_exlcude_home', 'type' => 'switch', - 'title' => __( 'Never load plugin JS and CSS on homepage','ultimatemember' ), + 'title' => __( 'Never load plugin JS and CSS on homepage','ultimate-member'), 'default' => 0, - 'desc' => __('This can disable loading plugin js and css files on home page.','ultimatemember'), - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'desc' => __('This can disable loading plugin js and css files on home page.','ultimate-member'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'js_css_exclude', 'type' => 'multi_text', 'default' => array(), - 'title' => __( 'Never load plugin JS and CSS on the following pages','ultimatemember' ), - 'desc' => __( 'Enter a url or page slug (e.g /about/) to disable loading the plugin\'s css and js on that page.','ultimatemember' ), - 'add_text' => __('Add New Page','ultimatemember'), + 'title' => __( 'Never load plugin JS and CSS on the following pages','ultimate-member'), + 'desc' => __( 'Enter a url or page slug (e.g /about/) to disable loading the plugin\'s css and js on that page.','ultimate-member'), + 'add_text' => __('Add New Page','ultimate-member'), ), array( 'id' => 'js_css_include', 'type' => 'multi_text', 'default' => array(), - 'title' => __( 'Only load plugin JS and CSS on the following pages','ultimatemember' ), - 'desc' => __( 'Enter a url or page slug (e.g /about/) to enable loading the plugin\'s css and js on that page.','ultimatemember' ), - 'add_text' => __('Add New Page','ultimatemember'), + 'title' => __( 'Only load plugin JS and CSS on the following pages','ultimate-member'), + 'desc' => __( 'Enter a url or page slug (e.g /about/) to enable loading the plugin\'s css and js on that page.','ultimate-member'), + 'add_text' => __('Add New Page','ultimate-member'), ), array( 'id' => 'enable_custom_css', 'type' => 'switch', - 'title' => __( 'Enable custom css tab?','ultimatemember' ), + 'title' => __( 'Enable custom css tab?','ultimate-member'), 'default' => 0, - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), array( 'id' => 'allow_tracking', 'type' => 'switch', - 'title' => __( 'Allow Tracking','ultimatemember' ), + 'title' => __( 'Allow Tracking','ultimate-member'), 'default' => 0, - 'on' => __('On','ultimatemember'), - 'off' => __('Off','ultimatemember'), + 'on' => __('On','ultimate-member'), + 'off' => __('Off','ultimate-member'), ), ); @@ -2151,12 +2151,12 @@ if( is_multisite() ){ 'id' => 'network_permalink_structure', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Network Permalink Structure','ultimatemember' ), - 'desc' => __( 'Change this If you are having conflicts with profile links or redirections in a multisite setup.','ultimatemember' ), + 'title' => __( 'Network Permalink Structure','ultimate-member'), + 'desc' => __( 'Change this If you are having conflicts with profile links or redirections in a multisite setup.','ultimate-member'), 'default' => 'sub-domain', 'options' => array( - 'sub-domain' => __('Sub-Domain','ultimatemember'), - 'sub-directory' => __('Sub-Directory','ultimatemember'), + 'sub-domain' => __('Sub-Domain','ultimate-member'), + 'sub-directory' => __('Sub-Directory','ultimate-member'), ) ); } @@ -2164,7 +2164,7 @@ if( is_multisite() ){ $this->sections[] = array( 'icon' => 'um-faicon-wrench', - 'title' => __('Advanced','ultimatemember'), + 'title' => __('Advanced','ultimate-member'), 'fields' => $arr_advanced_fields ); diff --git a/um-init.php b/um-init.php index 2c221a23..7cf08248 100644 --- a/um-init.php +++ b/um-init.php @@ -49,23 +49,23 @@ class UM_API { ); $this->addons['bp_avatar_transfer'] = array( - __('BuddyPress Avatar Transfer', 'ultimatemember'), - __('This add-on enables you to migrate your custom user photos from BuddyPress to use with Ultimate Member.', 'ultimatemember'), + __('BuddyPress Avatar Transfer', 'ultimate-member'), + __('This add-on enables you to migrate your custom user photos from BuddyPress to use with Ultimate Member.', 'ultimate-member'), ); $this->addons['gravatar_transfer'] = array( - __('Gravatar Transfer', 'ultimatemember'), - __('This add-on enables you to link gravatar photos to user accounts with their email address.', 'ultimatemember'), + __('Gravatar Transfer', 'ultimate-member'), + __('This add-on enables you to link gravatar photos to user accounts with their email address.', 'ultimate-member'), ); $this->addons['generate_random_users'] = array( - __('Generate Dummies', 'ultimatemember'), - __('This add-on enables you to generate dummies.', 'ultimatemember'), + __('Generate Dummies', 'ultimate-member'), + __('This add-on enables you to generate dummies.', 'ultimate-member'), ); $this->addons['install_info'] = array( - __('System Info', 'ultimatemember'), - __('This add-on enables you to download system information file.', 'ultimatemember'), + __('System Info', 'ultimate-member'), + __('This add-on enables you to download system information file.', 'ultimate-member'), ); // include widgets From ca79762246d942b55574edb4519c8152fbf9508b Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Tue, 6 Jun 2017 22:46:14 +0800 Subject: [PATCH 03/28] Add new English translation file for the next textdomain --- languages/ultimate-member-en.po | 7858 +++++++++++++++++++++++++++++++ 1 file changed, 7858 insertions(+) create mode 100644 languages/ultimate-member-en.po diff --git a/languages/ultimate-member-en.po b/languages/ultimate-member-en.po new file mode 100644 index 00000000..c988d7ff --- /dev/null +++ b/languages/ultimate-member-en.po @@ -0,0 +1,7858 @@ +msgid "" +msgstr "" +"Project-Id-Version: Ultimate Member\n" +"POT-Creation-Date: 2017-06-06 22:45+0800\n" +"PO-Revision-Date: 2017-06-06 22:45+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-WPHeader: index.php\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" +"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" +"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPathExcluded-0: *.js\n" + +#: addons/install_info.php:85 +msgid "" +"To copy the Install info, click below then press Ctrl + C (PC) or Cmd + C " +"(Mac)." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php:453 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/extension_customizer.php:685 +msgid "You have changes that are not saved. Would you like to save them now?" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php:461 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/extension_customizer.php:686 +msgid "Are you sure? Resetting will lose all custom values." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php:469 +msgid "Are you sure? Resetting will lose all custom values in this section." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php:477 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/extension_customizer.php:687 +msgid "" +"Your current options will be replaced with the values of this preset. Would " +"you like to proceed?" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php:484 +msgid "Please Wait" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php:495 +msgid "There was an error saving. Here is the result of your action:" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php:496 +msgid "" +"There was a problem with your action. Please try again or reload the page." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/panel.php:65 +msgid "Warning- This options panel will not work properly without javascript!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/panel.php:141 +msgid "Settings Imported!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/panel.php:156 +msgid "All Defaults Restored!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/panel.php:170 +msgid "Section Defaults Restored!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/panel.php:184 +msgid "Settings Saved!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/panel.php:204 +msgid "Settings have changed, you should save them!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/panel.php:212 +msgid "error(s) were found!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/panel.php:220 +msgid "warning(s) were found!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/core/panel.php:312 +msgid "" +"Your panel has bundled outdated copies of Redux Framework template " +"files – if you encounter functionality issues this could be " +"the reason. Ensure you update or remove them." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:220 +#, php-format +msgid "Options panel created using %1$s" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:220 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:205 +msgid "Redux Framework" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:224 +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:228 +#: admin/core/um-admin-metabox.php:297 +msgid "Options" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:1751 +msgid "Enable" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:1756 +msgid "Disable" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:1762 +msgid "moving the mouse over" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:1764 +msgid "clicking" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:1768 +#, php-format +msgid "" +"Hints are tooltips that popup when %d the hint icon, offering addition " +"information about the field in which they appear. They can be %d d by using " +"the link below." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:1773 +msgid "Hints" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:1900 +#: admin/templates/form/login_settings.php:6 um-config.php:200 +msgid "Default" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:2778 +msgid "Invalid security credential. Please reload the page and try again." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:2787 +msgid "Invalid user capability. Please reload the page and try again." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:2867 +msgid "Your panel has no fields. Nothing to save." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:3982 +msgid "" +"Redux Framework Notice: There are references to the Redux " +"Framework support site in your config's admin_bar_links " +"argument. This is sample data. Please change or remove this data before " +"shipping your product." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:3997 +msgid "" +"Redux Framework Notice: There are references to the Redux " +"Framework support site in your config's share_icons argument. " +"This is sample data. Please change or remove this data before shipping your " +"product." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_admin_notices.php:97 +msgid "Dismiss" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_cdn.php:74 +msgid "" +"Please wait a few minutes, then try refreshing the page. Unable to load some " +"remotely hosted scripts." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_cdn.php:76 +#, php-format +msgid "" +"If you are developing offline, please download and install the Redux Vendor Support plugin/extension to bypass the " +"our CDN and avoid this warning" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_cdn.php:81 +msgid "Redux Framework Warning" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_cdn.php:81 +#, php-format +msgid "%s CDN unavailable. Some controls may not render properly." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_cdn.php:113 +#, php-format +msgid "" +"The Vendor Support plugin (or extension) is either not " +"installed or not activated and thus, some controls may not render properly. " +"Please ensure that it is installed and activated" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_filesystem.php:31 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_filesystem.php:60 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_filesystem.php:271 +msgid "File Permission Issues" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_filesystem.php:31 +#, php-format +msgid "" +"We were unable to modify required files. Please check your permissions, or " +"modify your wp-config.php file to contain your FTP login credentials as outlined here." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_filesystem.php:60 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_filesystem.php:271 +#, php-format +msgid "" +"We were unable to modify required files. Please ensure that %1s " +"has the proper read-write permissions, or modify your wp-config.php file to " +"contain your FTP login credentials as outlined here." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_helpers.php:610 +#, php-format +msgid "" +"%s version %s is out of " +"date. The core version is %s" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/extension_customizer.php:720 +msgid "You have changes that are not saved. Would you like to save them now?" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/extension_customizer.php:721 +msgid "Are you sure? Resetting will lose all custom values." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/extension_customizer.php:722 +msgid "" +"Your current options will be replaced with the values of this preset. Would " +"you like to proceed?" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/inc/customizer_panel.php:89 +msgid "Press return or enter to open this panel" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/inc/customizer_panel.php:114 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/inc/customizer_panel.php:142 +#, php-format +msgid "You are customizing %s" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/inc/customizer_panel.php:138 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/inc/customizer_section.php:79 +msgid "Back" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/inc/customizer_panel.php:146 +msgid "Help" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/inc/customizer_section.php:72 +msgid "Press return or enter to open" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/inc/customizer_section.php:122 +msgid "Press return or enter to expand" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/extension_import_export.php:120 +msgid "Import / Export" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:91 +msgid "Import Options" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:95 +msgid "Import from File" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:98 +msgid "Import from URL" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:104 +msgid "" +"Input your backup file below and hit Import to restore your sites options " +"from a backup." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:111 +msgid "" +"Input the URL to another sites options set and hit Import to load the " +"options from that site." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:116 +msgid "Import" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:116 +msgid "" +"WARNING! This will overwrite all existing option values, please proceed with " +"caution!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:120 +msgid "Export Options" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:124 +msgid "" +"Here you can copy/download your current option settings. Keep this safe as " +"you can use it as a backup should anything go wrong, or you can use it to " +"restore your settings on this site (or any other site)." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:132 +msgid "Copy Data" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:133 +msgid "Download Data File" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:134 +msgid "Copy Export URL" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/options_object/extension_options_object.php:82 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/options_object/options_object/field_options_object.php:104 +msgid "Options Object" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/options_object/options_object/field_options_object.php:107 +msgid "Show Object in Javascript Console Object" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:124 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/color/field_color.php:73 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/color_gradient/field_color_gradient.php:79 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/color_gradient/field_color_gradient.php:91 +msgid "Transparent" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:141 +msgid "Background Repeat" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:157 +msgid "Background Clip" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:173 +msgid "Background Origin" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:188 +msgid "Background Size" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:203 +msgid "Background Attachment" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:223 +msgid "Background Position" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:277 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/media/field_media.php:149 +msgid "No media selected" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:314 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/media/field_media.php:198 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:126 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:188 +#: core/um-fields.php:1031 core/um-fields.php:1052 +msgid "Upload" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:321 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/media/field_media.php:205 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/multi_text/field_multi_text.php:69 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/multi_text/field_multi_text.php:73 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/multi_text/field_multi_text.php:76 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:133 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:190 +#: admin/core/um-admin-notices.php:179 core/um-actions-profile.php:217 +msgid "Remove" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/border/field_border.php:125 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php:191 +msgid "All" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/border/field_border.php:138 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php:215 +msgid "Top" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/border/field_border.php:145 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php:222 +msgid "Right" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/border/field_border.php:152 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php:229 +msgid "Bottom" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/border/field_border.php:159 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php:236 +msgid "Left" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/border/field_border.php:174 +msgid "Border style" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/color_gradient/field_color_gradient.php:68 +msgid "From " +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/color_gradient/field_color_gradient.php:82 +msgid "To " +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/dimensions/field_dimensions.php:162 +msgid "Width" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/dimensions/field_dimensions.php:178 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:442 +msgid "Height" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/dimensions/field_dimensions.php:189 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/dimensions/field_dimensions.php:190 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php:245 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php:246 +msgid "Units" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/gallery/field_gallery.php:73 +msgid "Add/Edit Gallery" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/gallery/field_gallery.php:74 +msgid "Clear Gallery" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/link_color/field_link_color.php:88 +msgid "Regular" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/link_color/field_link_color.php:92 +msgid "Hover" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/link_color/field_link_color.php:96 +msgid "Visited" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/link_color/field_link_color.php:100 +msgid "Active" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/multi_text/field_multi_text.php:61 +msgid "Add More" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/password/field_password.php:62 +#: core/um-builtin.php:580 core/um-builtin.php:583 core/um-builtin.php:1033 +#: core/um-builtin.php:1036 +msgid "Password" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/password/field_password.php:63 +#: core/um-builtin.php:556 core/um-builtin.php:559 um-config.php:116 +#: um-config.php:135 +msgid "Username" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select/field_select.php:83 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select_image/field_select_image.php:63 +msgid "Select an item" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select/field_select.php:134 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select_image/field_select_image.php:144 +msgid "No items of this type were found." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:68 +msgid "Slide" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:73 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:174 +#, php-format +msgid "New %s" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:145 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:200 +#: admin/core/um-admin-columns.php:48 admin/core/um-admin-columns.php:66 +msgid "Title" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:149 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:204 +msgid "Description" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:153 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:207 +msgid "URL" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:167 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:220 +msgid "Delete" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:223 +#, php-format +msgid "Add %s" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/switch/field_switch.php:41 +#: um-config.php:230 um-config.php:240 um-config.php:264 um-config.php:274 +#: um-config.php:284 um-config.php:294 um-config.php:317 um-config.php:326 +#: um-config.php:336 um-config.php:347 um-config.php:357 um-config.php:367 +#: um-config.php:941 um-config.php:974 um-config.php:1008 um-config.php:1434 +#: um-config.php:1522 um-config.php:1548 um-config.php:1603 um-config.php:1613 +#: um-config.php:1623 um-config.php:1633 um-config.php:1665 um-config.php:1675 +#: um-config.php:1690 um-config.php:1702 um-config.php:1749 um-config.php:1827 +#: um-config.php:1929 um-config.php:1957 um-config.php:1967 um-config.php:2014 +#: um-config.php:2024 um-config.php:2034 um-config.php:2057 um-config.php:2067 +#: um-config.php:2077 um-config.php:2087 um-config.php:2097 um-config.php:2107 +#: um-config.php:2134 um-config.php:2143 +msgid "On" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/switch/field_switch.php:44 +#: um-config.php:231 um-config.php:241 um-config.php:265 um-config.php:275 +#: um-config.php:285 um-config.php:295 um-config.php:318 um-config.php:327 +#: um-config.php:337 um-config.php:348 um-config.php:358 um-config.php:368 +#: um-config.php:942 um-config.php:975 um-config.php:1009 um-config.php:1435 +#: um-config.php:1523 um-config.php:1549 um-config.php:1604 um-config.php:1614 +#: um-config.php:1624 um-config.php:1634 um-config.php:1666 um-config.php:1676 +#: um-config.php:1691 um-config.php:1703 um-config.php:1750 um-config.php:1828 +#: um-config.php:1930 um-config.php:1958 um-config.php:1968 um-config.php:2015 +#: um-config.php:2025 um-config.php:2035 um-config.php:2058 um-config.php:2068 +#: um-config.php:2078 um-config.php:2088 um-config.php:2098 um-config.php:2108 +#: um-config.php:2135 um-config.php:2144 +msgid "Off" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:231 +msgid "Font Family" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:232 +msgid "Font family" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:258 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:259 +msgid "Backup Font Family" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:273 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:281 +msgid "Font style" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:274 +msgid "Font Weight & Style" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:281 +msgid "Style" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:321 +msgid "Font subsets" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:323 +msgid "Font Subsets" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:325 +msgid "Subsets" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:325 +msgid "Font script" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:342 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:343 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:344 +msgid "Text Align" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:365 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:366 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:367 +msgid "Text Transform" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:388 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:389 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:390 +msgid "Font Variant" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:408 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:409 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:410 +msgid "Text Decoration" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:432 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:433 +msgid "Font Size" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:433 +msgid "Size" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:441 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:442 +msgid "Line Height" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:450 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:451 +msgid "Word Spacing" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:459 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:460 +msgid "Letter Spacing" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:478 +msgid "Font Color" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:480 +msgid "Font color" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:890 +msgid "Standard Fonts" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php:991 +msgid "Google Webfonts" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/embedded.php:15 +#, php-format +msgid "" +"RECOMMENDED: If you are " +"submitting to WordPress.org Theme Repository, it is strongly suggested that you read this " +"document, or your theme will be rejected because of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/embedded.php:24 +#, php-format +msgid "" +"REQUIRED: You MUST delete " +" %s , or your theme will be rejected by WP.org theme " +"submission because of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/embedded.php:38 +msgid "Optional" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/embedded.php:40 +msgid "" +"RECOMMENDED: The following " +"arguments MUST be used for WP.org submissions, or you will be rejected " +"because of your Redux configuration." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/full_package.php:16 +msgid "Redux localization utilities" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/full_package.php:17 +msgid "Redux Resting Diles" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/full_package.php:18 +msgid "Redux Code Styles" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/full_package.php:19 +msgid "Redux Unit Testing" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/full_package.php:20 +msgid "Redux Plugin File" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/full_package.php:21 +msgid "Redux Boostrap Tests" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/full_package.php:22 +msgid "CI Testing FIle" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/full_package.php:23 +msgid "PHP Unit Testing" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/themecheck/checks/full_package.php:36 +msgid "" +"It appears that you have embedded the full Redux package inside your theme. " +"You need only embed the ReduxCore folder. Embedding " +"anything else will get your rejected from theme submission. Suspected Redux " +"package file(s):" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:129 +msgid "Help improve Our Panel" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:130 +msgid "" +"Please helps us improve our panel by allowing us to gather anonymous usage " +"stats so we know which configurations, plugins and themes to test to ensure " +"compatibility." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:135 +#: core/um-tracking.php:151 +msgid "Allow tracking" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:140 +#: core/um-tracking.php:152 +msgid "Do not allow tracking" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:151 +msgid "Welcome to the Redux Demo Panel" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:152 +msgid "Getting Started" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:152 +#, php-format +msgid "" +"This panel demonstrates the many features of Redux. Before digging in, we " +"suggest you get up to speed by reviewing %1$s." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:152 +msgid "our documentation" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:153 +msgid "Redux Generator" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:153 +#, php-format +msgid "" +"Want to get a head start? Use the %1$s. It will create a customized " +"boilerplate theme or a standalone admin folder complete with all things " +"Redux (with the help of Underscores and TGM). Save yourself a headache and " +"try it today." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:154 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:229 +msgid "Redux Extensions" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:154 +#, php-format +msgid "" +"Did you know we have extensions, which greatly enhance the features of " +"Redux? Visit our %1$s to learn more!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:154 +msgid "extensions directory" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:155 +msgid "Like Redux?" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:155 +#, php-format +msgid "" +"If so, please %1$s and consider making a %2$s to keep development of Redux " +"moving forward." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:155 +msgid "leave us a favorable review on WordPress.org" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:155 +msgid "donation" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:156 +msgid "Newsletter" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:156 +msgid "" +"If you'd like to keep up to with all things Redux, please subscribe to our " +"newsletter" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:157 +msgid "Email address" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:157 +msgid "Subscribe" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/tracking.php:166 +msgid "Close" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/color/validation_color.php:15 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/color_rgba/validation_color_rgba.php:14 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/colorrgba/validation_colorrgba.php:16 +msgid "This field must be a valid color value." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/comma_numeric/validation_comma_numeric.php:16 +msgid "" +"You must provide a comma separated list of numerical values for this option." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/css/validation_css.php:39 +msgid "Unsafe strings were found in your CSS and have been filtered out." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/date/validation_date.php:16 +msgid "This field must be a valid date." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/email/validation_email.php:16 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/email_not_empty/validation_email_not_empty.php:16 +msgid "You must provide a valid email for this option." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/no_html/validation_no_html.php:15 +msgid "" +"You must not enter any HTML in this field, all HTML tags have been removed." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/no_special_chars/validation_no_special_chars.php:16 +msgid "" +"You must not enter any special characters in this field, all special " +"characters have been removed." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/not_empty/validation_not_empty.php:16 +msgid "This field cannot be empty. Please provide a value." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/numeric/validation_numeric.php:16 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/numeric_not_empty/validation_numeric_not_empty.php:16 +msgid "You must provide a numerical value for this option." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/unique_slug/validation_unique_slug.php:16 +#, php-format +msgid "" +"That URL slug is in use, please choose another. %s is open for " +"use." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/validation/url/validation_url.php:16 +msgid "You must provide a valid URL for this option." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/about.php:2 +#, php-format +msgid "Welcome to Redux Framework %s" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/about.php:5 +#, php-format +msgid "" +"Thank you for updating to the latest version! Redux Framework %s is a huge " +"step forward in Redux Development. Look at all that's new." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/about.php:8 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/changelog.php:10 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/credits.php:10 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/extensions.php:81 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:34 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:8 +#, php-format +msgid "Version %s" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/about.php:15 +msgid "What is Redux Framework?" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/about.php:17 +msgid "" +"Redux Framework is the core of many products on the web. It is an option " +"framework which developers use to\n" +" enhance their products." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/about.php:22 +msgid "Learn More" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/about.php:28 +msgid "New in this Release" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/changelog.php:2 +msgid "Redux Framework - Changelog" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/changelog.php:5 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:30 +msgid "" +"Our core mantra at Redux is backwards compatibility. With hundreds of " +"thousands of instances worldwide, you can be assured that we will take care " +"of you and your clients." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/credits.php:2 +msgid "Redux Framework - A Community Effort" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/credits.php:5 +msgid "" +"We recognize we are nothing without our community. We would like to thank " +"all of those who help Redux to be what it is. Thank you for your involvement." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/credits.php:18 +#, php-format +msgid "" +"Redux is created by a community of developers world wide. Want to have your " +"name listed too? Contribute to Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/extensions.php:73 +msgid "Redux Framework - Extensions" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/extensions.php:76 +msgid "" +"Supercharge your Redux experience. Our extensions provide you with features " +"that will take your products to the next level." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/extensions.php:89 +msgid "" +"While some are built specificially for developers, extensions such as Custom " +"Fonts are sure to make any user happy." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:26 +msgid "Redux Framework - System Status" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:43 +msgid "" +"Please copy and paste this information in your ticket when contacting " +"support:" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:48 +msgid "Get System Report" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:53 +msgid "Understanding the Status Report" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:62 +msgid "Copied!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:63 +msgid "Copy for Support" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:73 +msgid "WordPress Environment" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:80 +msgid "Home URL" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:83 +msgid "The URL of your site's homepage." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:89 +msgid "Site URL" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:92 +msgid "The root URL of your site." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:100 +msgid "Redux Version" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:103 +msgid "The version of Redux Framework installed on your site." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:111 +msgid "Redux Data Directory Writable" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:114 +msgid "" +"Redux and its extensions write data to the uploads directory. " +"This directory must be writable." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:120 +#, php-format +msgid "To allow data saving, make %s writable." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:126 +msgid "WP Content URL" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:129 +msgid "The location of Wordpress's content URL." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:137 +msgid "WP Version" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:140 +msgid "The version of WordPress installed on your site." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:148 +msgid "WP Multisite" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:151 +msgid "Whether or not you have WordPress Multisite enabled." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:162 +msgid "Permalink Structure" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:165 +msgid "" +"The current permalink structure as defined in Wordpress Settings->Permalinks." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:174 +msgid "Front Page Display" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:176 +msgid "The current Reading mode of Wordpress." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:185 +msgid "Front Page" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:188 +msgid "The currently selected page which acts as the site's Front Page." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:196 +msgid "Posts Page" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:199 +msgid "The currently selected page in where blog posts are displayed." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:210 +msgid "WP Memory Limit" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:213 +msgid "The maximum amount of memory (RAM) that your site can use at one time." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:220 +#, php-format +msgid "" +"%s - We recommend setting memory to at least 40MB. See: Increasing memory allocated to PHP" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:229 +msgid "Database Table Prefix" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:232 +msgid "The prefix structure of the current Wordpress database." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:240 +msgid "WP Debug Mode" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:243 +msgid "Displays whether or not WordPress is in Debug Mode." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:255 +#: admin/core/um-admin-dashboard.php:185 admin/core/um-admin-dashboard.php:187 +#: admin/core/um-admin-dashboard.php:189 +msgid "Language" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:258 +msgid "The current language used by WordPress. Default = English" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:270 +msgid "Browser" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:277 +msgid "Browser Info" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:280 +msgid "Information about web browser current in use." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:297 +msgid "Server Environment" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:304 +msgid "Server Info" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:307 +msgid "Information about the web server that is currently hosting your site." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:315 +msgid "Localhost Environment" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:318 +msgid "Is the server running in a localhost environment." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:332 +msgid "PHP Version" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:335 +msgid "The version of PHP installed on your hosting server." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:343 +msgid "ABSPATH" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:346 +msgid "The ABSPATH variable on the server." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:355 +msgid "PHP Memory Limit" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:356 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:361 +msgid "The largest filesize that can be contained in one post." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:360 +msgid "PHP Post Max Size" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:365 +msgid "PHP Time Limit" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:366 +msgid "" +"The amount of time (in seconds) that your site will spend on a single " +"operation before timing out (to avoid server lockups)" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:370 +msgid "PHP Max Input Vars" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:371 +msgid "" +"The maximum number of variables your server can use for a single function to " +"avoid overloads." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:375 +msgid "PHP Display Errors" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:376 +msgid "Determines if PHP will display errors within the browser." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:387 +msgid "SUHOSIN Installed" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:388 +msgid "" +"Suhosin is an advanced protection system for PHP installations. It was " +"designed to protect your servers on the one hand against a number of well " +"known problems in PHP applications and on the other hand against potential " +"unknown vulnerabilities within these applications or the PHP core itself. " +"If enabled on your server, Suhosin may need to be configured to increase its " +"data submission limits." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:399 +msgid "MySQL Version" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:400 +msgid "The version of MySQL installed on your hosting server." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:404 +msgid "Max Upload Size" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:405 +msgid "" +"The largest filesize that can be uploaded to your WordPress installation." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:410 +msgid "Default Timezone is UTC" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:412 +msgid "The default timezone for your server." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:416 +#, php-format +msgid "Default timezone is %s - it should be UTC" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:428 +msgid "Used when communicating with remote services with PHP." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:434 +msgid "" +"Your server does not have fsockopen or cURL enabled - cURL is used to " +"communicate with other servers. Please contact your hosting provider." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:473 +msgid "Remote Post" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:474 +msgid "Used to send data to remote servers." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:479 +msgid "" +"wp_remote_post() failed. Many advanced features may not function. Contact " +"your hosting provider." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:482 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:497 +#, php-format +msgid "Error: %s" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:489 +msgid "Remote Get" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:490 +msgid "Used to grab information from remote servers for updates updates." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:495 +msgid "" +"wp_remote_get() failed. This is needed to get information from remote " +"servers. Contact your hosting provider." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:531 +msgid "Active Plugins" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:546 +msgid "Visit plugin homepage" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:553 +#, php-format +msgctxt "by author" +msgid "by %s" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:572 +msgid "Redux Instance: " +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:579 +msgid "The opt_name argument for this instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:587 +msgid "The global_variable argument for this instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:595 +msgid "Indicates if developer mode is enabled for this instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:600 +msgid "Indicates if ajax based saving is enabled for this instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:605 +msgid "" +"The page slug denotes the string used for the options panel page for this " +"instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:610 +msgid "" +"The page permissions variable sets the permission level required to access " +"the options panel for this instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:615 +msgid "" +"This variable set whether or not the menu is displayed as an admin menu item " +"for this instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:620 +msgid "" +"The page parent variable sets where the options menu will be placed on the " +"WordPress admin sidebar for this instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:626 +msgid "Indicates if the compiler flag is enabled for this instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:631 +msgid "" +"Indicates if output flag for globally shutting off all CSS output is enabled " +"for this instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:636 +msgid "" +"The output_tag variable sets whether or not dynamic CSS will be generated " +"for the customizer and Google fonts for this instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:645 +msgid "" +"The specified template path containing custom template files for this " +"instance of Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:650 +msgid "List of template files overriding the default Redux template files." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:676 +msgid "Indicates the installed Redux extensions and their version numbers." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:705 +msgid "Theme" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:710 +msgid "Name" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:711 +msgid "The name of the current active theme." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:715 +msgid "Version" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:716 +msgid "The installed version of the current active theme." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:722 +msgid "is available" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:728 +msgid "Author URL" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:729 +msgid "The theme developers URL." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:733 +msgid "Child Theme" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:734 +msgid "Displays whether or not the current theme is a child theme." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:737 +#, php-format +msgid "" +"If you're modifying Redux Framework or a parent theme you didn't build " +"personally, we recommend using a child theme. See: How to create a child theme" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:745 +msgid "Parent Theme Name" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:747 +msgid "The name of the parent theme." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:752 +msgid "Parent Theme Version" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:754 +msgid "The installed version of the parent theme." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:759 +msgid "Parent Theme Author URL" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php:761 +msgid "The parent theme developers URL." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:2 +msgid "Redux Framework - Support" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:4 +msgid "" +"We are an open source project used by developers to make powerful control " +"panels." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:19 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:40 +msgid "Generate a Support URL" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:20 +msgid "Select Support Type" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:21 +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:87 +msgid "How to Get Support" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:27 +msgid "Submit a Support Request" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:31 +msgid "To get started, we will need to generate a support hash." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:35 +#, php-format +msgid "" +"This will provide to your developer all the information they may need to " +"remedy your issue. This action WILL send information securely to a remote " +"server. To see the type of information sent, please look at the Status tab." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:52 +msgid "Select Your Support Type" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:56 +msgid "What type of user are you?" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:63 +msgid "User" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:65 +msgid "I am a user, using a pre-built product." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:70 +msgid "Developer" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:72 +msgid "I am a developer, building a product using Redux." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:92 +msgid "" +"Please proceed to the Redux Framework issue tracker and supply us with your " +"support URL below. Please also provide any information that will help us to " +"reproduce your issue." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:101 +msgid "" +"Listed below are the Wordpress plugins and/or theme installed on your site " +"that utilize Redux Framework. We do not directly support products created " +"with our framework. It is the responsibility of the plugin or theme " +"developer to support their work. You will need to contact the author(s) of " +"the products listed below with your support questions." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:105 +msgid "" +"Please be sure to include for your developer - via cut and paste - the " +"Support URL in the box below." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php:134 +#, php-format +msgid "" +"Should the developer not be responsive, read the following article before asking for support from us directly." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:106 +msgid "" +"If you like Redux please leave us a ★★★★★ rating. A huge thank " +"you from Redux in advance!" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:183 +msgid "Support hash could not be generated. Please try again later." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:205 +msgid "Welcome to Redux Framework" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:213 +msgid "Redux Framework Changelog" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:221 +#: admin/core/lib/ReduxFramework/class.redux-plugin.php:416 +msgid "Get Support" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:238 +msgid "The people that develop Redux Framework" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:246 +msgid "Redux Framework Status" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:346 +msgid "What's New" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:349 +#: admin/core/um-admin-dashboard.php:159 core/um-filters-addons.php:26 +msgid "Extensions" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:352 +msgid "Changelog" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:355 +msgid "Credits" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:358 +#: admin/templates/welcome/about_header.php:22 +msgid "Support" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:361 +msgid "Status" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php:521 +#, php-format +msgid "View %s" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/footer.tpl.php:57 +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header_stickybar.tpl.php:21 +msgid "Save Changes" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/footer.tpl.php:61 +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header_stickybar.tpl.php:25 +msgid "Reset Section" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/footer.tpl.php:62 +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header_stickybar.tpl.php:26 +msgid "Reset All" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/footer.tpl.php:67 +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header_stickybar.tpl.php:29 +msgid "Working..." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php:11 +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php:49 +msgid "Developer Mode Enabled" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php:20 +msgid "WP_DEBUG is enabled" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php:26 +msgid "you are working in a localhost environment" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php:31 +msgid "and" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php:34 +msgid "This has been automatically enabled because" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php:36 +msgid "" +"If you are not a developer, your theme/plugin author shipped with developer " +"mode enabled. Contact them directly to fix it." +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php:58 +msgid "FORCED DEV MODE OFF ENABLED" +msgstr "" + +#: admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header_stickybar.tpl.php:15 +msgid "Expand" +msgstr "" + +#: admin/core/lib/ReduxFramework/class.redux-plugin.php:312 +msgid "Redux Framework has an embedded demo." +msgstr "" + +#: admin/core/lib/ReduxFramework/class.redux-plugin.php:312 +msgid "Click here to activate the sample config file." +msgstr "" + +#: admin/core/lib/ReduxFramework/class.redux-plugin.php:413 +#: admin/templates/welcome/about_header.php:21 index.php:52 +msgid "Docs" +msgstr "" + +#: admin/core/lib/ReduxFramework/class.redux-plugin.php:414 +msgid "Repo" +msgstr "" + +#: admin/core/lib/ReduxFramework/class.redux-plugin.php:415 +msgid "Builder" +msgstr "" + +#: admin/core/lib/ReduxFramework/class.redux-plugin.php:421 +msgid "Deactivate Demo Mode" +msgstr "" + +#: admin/core/lib/ReduxFramework/class.redux-plugin.php:423 +msgid "Activate Demo Mode" +msgstr "" + +#. Plugin Name of the plugin/theme +#. Author of the plugin/theme +#: admin/core/um-admin-access.php:107 admin/core/um-admin-dashboard.php:127 +#: admin/core/um-admin-redux.php:55 core/um-user.php:64 +msgid "Ultimate Member" +msgstr "" + +#: admin/core/um-admin-actions-ajax.php:11 +#: admin/core/um-admin-actions-fields.php:11 +#: admin/core/um-admin-actions-modal.php:98 +msgid "Please login as administrator" +msgstr "" + +#: admin/core/um-admin-actions-ajax.php:63 core/um-actions-ajax.php:216 +#: core/um-actions-password.php:185 core/um-form.php:125 +msgid "This is not possible for security reasons." +msgstr "" + +#: admin/core/um-admin-actions-modal.php:23 +msgid "Manage conditional fields support" +msgstr "" + +#: admin/core/um-admin-actions-modal.php:25 +msgid "Add conditional fields support" +msgstr "" + +#: admin/core/um-admin-actions-modal.php:30 +msgid "Reset all rules" +msgstr "" + +#: admin/core/um-admin-actions-modal.php:123 +msgid "Search Icons..." +msgstr "" + +#: admin/core/um-admin-actions-modal.php:145 +msgid "Setup New Field" +msgstr "" + +#: admin/core/um-admin-actions-modal.php:161 +msgid "Predefined Fields" +msgstr "" + +#: admin/core/um-admin-actions-modal.php:173 admin/templates/role/sync.php:22 +#: core/um-builtin.php:1143 +msgid "None" +msgstr "" + +#: admin/core/um-admin-actions-modal.php:177 +msgid "Custom Fields" +msgstr "" + +#: admin/core/um-admin-actions-modal.php:187 +msgid "You did not create any custom fields" +msgstr "" + +#: admin/core/um-admin-actions-modal.php:221 +#: admin/core/um-admin-actions-modal.php:291 +msgid "This field type is not setup correcty." +msgstr "" + +#: admin/core/um-admin-actions.php:19 admin/core/um-admin-users.php:366 +#: core/um-user.php:69 +msgid "Community Role" +msgstr "" + +#: admin/core/um-admin-actions.php:78 admin/core/um-admin-actions.php:115 +#: admin/templates/access/settings.php:17 +msgid "Content Availability" +msgstr "" + +#: admin/core/um-admin-actions.php:79 admin/core/um-admin-actions.php:116 +#: admin/templates/access/settings.php:23 +msgid "Content accessible to Everyone" +msgstr "" + +#: admin/core/um-admin-actions.php:80 admin/core/um-admin-actions.php:117 +#: admin/templates/access/settings.php:24 +msgid "Content accessible to Logged Out Users" +msgstr "" + +#: admin/core/um-admin-actions.php:81 admin/core/um-admin-actions.php:118 +#: admin/templates/access/settings.php:25 +msgid "Content accessible to Logged In Users" +msgstr "" + +#: admin/core/um-admin-actions.php:86 admin/core/um-admin-actions.php:123 +msgid "Roles who can see the content" +msgstr "" + +#: admin/core/um-admin-actions.php:90 admin/core/um-admin-actions.php:133 +msgid "This is applicable only if you restrict the content to logged-in users." +msgstr "" + +#: admin/core/um-admin-actions.php:91 admin/core/um-admin-actions.php:97 +#: admin/core/um-admin-actions.php:136 admin/core/um-admin-actions.php:143 +msgid "Content Restriction Redirect URL" +msgstr "" + +#: admin/core/um-admin-actions.php:93 admin/core/um-admin-actions.php:99 +#: admin/core/um-admin-actions.php:139 admin/core/um-admin-actions.php:146 +msgid "Users who cannot see content will get redirected to that URL." +msgstr "" + +#: admin/core/um-admin-actions.php:220 +msgid "This is a translation of UM profile page?" +msgstr "" + +#: admin/core/um-admin-actions.php:226 +msgid "This is a translation of UM account page?" +msgstr "" + +#: admin/core/um-admin-actions.php:307 +#, php-format +msgid "Duplicate of %s" +msgstr "" + +#: admin/core/um-admin-builder.php:97 admin/core/um-admin-builder.php:167 +#: admin/core/um-admin-dragdrop.php:149 +msgid "Add Row" +msgstr "" + +#: admin/core/um-admin-builder.php:98 admin/core/um-admin-builder.php:168 +#: admin/core/um-admin-dragdrop.php:150 +msgid "Edit Row" +msgstr "" + +#: admin/core/um-admin-builder.php:171 admin/core/um-admin-dragdrop.php:152 +#: admin/core/um-admin-dragdrop.php:166 admin/core/um-admin-dragdrop.php:191 +msgid "Delete Row" +msgstr "" + +#: admin/core/um-admin-columns.php:25 +msgid "Duplicate" +msgstr "" + +#: admin/core/um-admin-columns.php:47 admin/core/um-admin-columns.php:65 +msgid "ID" +msgstr "" + +#: admin/core/um-admin-columns.php:49 +msgid "Type" +msgstr "" + +#: admin/core/um-admin-columns.php:50 admin/core/um-admin-columns.php:67 +#: admin/core/um-admin-metabox.php:241 admin/core/um-admin-metabox.php:283 +msgid "Shortcode" +msgstr "" + +#: admin/core/um-admin-columns.php:51 admin/core/um-admin-columns.php:68 +msgid "Date" +msgstr "" + +#: admin/core/um-admin-dashboard.php:44 +#, php-format +msgid "" +"If you like Ultimate Member please consider leaving a %s★★★" +"★★%s review. It will help us to grow the plugin and make it more " +"popular. Thank you." +msgstr "" + +#: admin/core/um-admin-dashboard.php:44 +msgid "Thanks :)" +msgstr "" + +#: admin/core/um-admin-dashboard.php:107 +msgctxt "Admin menu name" +msgid "Users" +msgstr "" + +#: admin/core/um-admin-dashboard.php:115 +msgctxt "Admin menu name" +msgid "All Users" +msgstr "" + +#: admin/core/um-admin-dashboard.php:130 +msgid "Dashboard" +msgstr "" + +#: admin/core/um-admin-dashboard.php:133 +#, php-format +msgid "%s | Ultimate Member" +msgstr "" + +#: admin/core/um-admin-dashboard.php:143 core/um-taxonomies.php:18 +msgid "Forms" +msgstr "" + +#: admin/core/um-admin-dashboard.php:144 core/um-taxonomies.php:36 +msgid "User Roles" +msgstr "" + +#: admin/core/um-admin-dashboard.php:147 core/um-taxonomies.php:56 +msgid "Member Directories" +msgstr "" + +#: admin/core/um-admin-dashboard.php:177 +msgid "Users Overview" +msgstr "" + +#: admin/core/um-admin-dashboard.php:179 +msgid "Latest from our blog" +msgstr "" + +#: admin/core/um-admin-dashboard.php:181 +msgid "Purge Temp Files" +msgstr "" + +#: admin/core/um-admin-dashboard.php:182 +msgid "User Cache" +msgstr "" + +#: admin/core/um-admin-functions.php:28 admin/core/um-admin-functions.php:31 +msgid "Form updated." +msgstr "" + +#: admin/core/um-admin-functions.php:29 admin/core/um-admin-functions.php:47 +msgid "Custom field updated." +msgstr "" + +#: admin/core/um-admin-functions.php:30 admin/core/um-admin-functions.php:48 +msgid "Custom field deleted." +msgstr "" + +#: admin/core/um-admin-functions.php:32 +msgid "Form restored to revision." +msgstr "" + +#: admin/core/um-admin-functions.php:33 +msgid "Form created." +msgstr "" + +#: admin/core/um-admin-functions.php:34 +msgid "Form saved." +msgstr "" + +#: admin/core/um-admin-functions.php:35 +msgid "Form submitted." +msgstr "" + +#: admin/core/um-admin-functions.php:36 +msgid "Form scheduled." +msgstr "" + +#: admin/core/um-admin-functions.php:37 +msgid "Form draft updated." +msgstr "" + +#: admin/core/um-admin-functions.php:46 admin/core/um-admin-functions.php:49 +msgid "Role updated." +msgstr "" + +#: admin/core/um-admin-functions.php:50 +msgid "Role restored to revision." +msgstr "" + +#: admin/core/um-admin-functions.php:51 +msgid "Role created." +msgstr "" + +#: admin/core/um-admin-functions.php:52 +msgid "Role saved." +msgstr "" + +#: admin/core/um-admin-functions.php:53 +msgid "Role submitted." +msgstr "" + +#: admin/core/um-admin-functions.php:54 +msgid "Role scheduled." +msgstr "" + +#: admin/core/um-admin-functions.php:55 +msgid "Role draft updated." +msgstr "" + +#: admin/core/um-admin-metabox.php:115 core/um-builtin.php:1013 +#: core/um-builtin.php:1028 um-config.php:159 um-config.php:169 +#: um-config.php:179 um-config.php:189 um-config.php:219 um-config.php:429 +#: um-config.php:438 um-config.php:448 um-config.php:458 um-config.php:490 +#: um-config.php:521 um-config.php:530 um-config.php:550 um-config.php:1342 +msgid "Yes" +msgstr "" + +#: admin/core/um-admin-metabox.php:116 admin/core/um-admin-roles.php:60 +#: core/um-actions-account.php:46 core/um-builtin.php:1012 +#: core/um-builtin.php:1013 core/um-builtin.php:1027 core/um-builtin.php:1028 +#: um-config.php:160 um-config.php:170 um-config.php:180 um-config.php:190 +#: um-config.php:220 um-config.php:430 um-config.php:439 um-config.php:449 +#: um-config.php:459 um-config.php:491 um-config.php:522 um-config.php:531 +#: um-config.php:551 um-config.php:1343 +msgid "No" +msgstr "" + +#: admin/core/um-admin-metabox.php:236 +msgid "General Options" +msgstr "" + +#: admin/core/um-admin-metabox.php:237 +msgid "Profile Card" +msgstr "" + +#: admin/core/um-admin-metabox.php:238 +msgid "Search Options" +msgstr "" + +#: admin/core/um-admin-metabox.php:239 +msgid "Results & Pagination" +msgstr "" + +#: admin/core/um-admin-metabox.php:243 +msgid "Styling: General" +msgstr "" + +#: admin/core/um-admin-metabox.php:245 +msgid "Styling: Profile Card" +msgstr "" + +#: admin/core/um-admin-metabox.php:254 +msgid "Sync with WordPress Role" +msgstr "" + +#: admin/core/um-admin-metabox.php:256 +msgid "Administrative Permissions" +msgstr "" + +#: admin/core/um-admin-metabox.php:258 +msgid "General Permissions" +msgstr "" + +#: admin/core/um-admin-metabox.php:260 +msgid "Profile Access" +msgstr "" + +#: admin/core/um-admin-metabox.php:262 +msgid "Homepage Options" +msgstr "" + +#: admin/core/um-admin-metabox.php:264 +msgid "Registration Options" +msgstr "" + +#: admin/core/um-admin-metabox.php:266 +msgid "Login Options" +msgstr "" + +#: admin/core/um-admin-metabox.php:268 +msgid "Logout Options" +msgstr "" + +#: admin/core/um-admin-metabox.php:270 +msgid "Delete Options" +msgstr "" + +#: admin/core/um-admin-metabox.php:281 +msgid "Select Form Type" +msgstr "" + +#: admin/core/um-admin-metabox.php:282 +msgid "Form Builder" +msgstr "" + +#: admin/core/um-admin-metabox.php:285 admin/core/um-admin-metabox.php:290 +#: admin/core/um-admin-metabox.php:296 +msgid "Customize this form" +msgstr "" + +#: admin/core/um-admin-metabox.php:286 admin/core/um-admin-metabox.php:292 +#: admin/core/um-admin-metabox.php:298 admin/templates/form/login_css.php:4 +#: admin/templates/form/profile_css.php:4 +#: admin/templates/form/register_css.php:4 um-config.php:1979 +#: um-config.php:1985 +msgid "Custom CSS" +msgstr "" + +#: admin/core/um-admin-metabox.php:291 +msgid "User Meta" +msgstr "" + +#: admin/core/um-admin-metabox.php:467 +msgid "" +"Select where this field should appear. This option should only be changed on " +"the profile form and allows you to show a field in one mode only (edit or " +"view) or in both modes." +msgstr "" + +#: admin/core/um-admin-metabox.php:501 +msgid "If" +msgstr "" + +#: admin/core/um-admin-metabox.php:570 +msgid "Value" +msgstr "" + +#: admin/core/um-admin-metabox.php:690 +msgid "Optional text to include with the divider" +msgstr "" + +#: admin/core/um-admin-metabox.php:881 +msgid "" +"Turn on to force users to create a strong password (A combination of one " +"lowercase letter, one uppercase letter, and one number). If turned on this " +"option is only applied to register forms and not to login forms." +msgstr "" + +#: admin/core/um-admin-metabox.php:891 +msgid "" +"Turn on to add a confirm password field. If turned on the confirm password " +"field will only show on register forms and not on login forms." +msgstr "" + +#: admin/core/um-admin-metabox.php:1255 +msgid "Minimum number that can be entered in this field" +msgstr "" + +#: admin/core/um-admin-metabox.php:1265 +msgid "Maximum number that can be entered in this field" +msgstr "" + +#: admin/core/um-admin-notices.php:50 +#, php-format +msgid "" +"Registration is disabled. Please go to the general settings page in the WordPress admin and select anyone can register. Hide this notice" +msgstr "" + +#: admin/core/um-admin-notices.php:62 +#, php-format +msgid "" +"Exif is not enabled on your server. Mobile photo uploads will not be rotated " +"correctly until you enable the exif extension. Hide this " +"notice" +msgstr "" + +#: admin/core/um-admin-notices.php:84 +msgid "" +"One or more of your Ultimate Member pages are not correctly setup. Please " +"visit Ultimate Member > Settings to re-assign your missing " +"pages." +msgstr "" + +#: admin/core/um-admin-notices.php:90 +msgid "Ultimate Member Setup Error: User page can not be a child page." +msgstr "" + +#: admin/core/um-admin-notices.php:97 +msgid "Ultimate Member Setup Error: Account page can not be a child page." +msgstr "" + +#: admin/core/um-admin-notices.php:128 +#, php-format +msgid "" +"Your site language is %1$s. Good news! Ultimate Member is " +"already available in %2$s language. Download the translation files and start using the plugin in your " +"language now. Hide this notice" +msgstr "" + +#: admin/core/um-admin-notices.php:141 +#, php-format +msgid "" +"Ultimate Member has not yet been translated to your langeuage: %1$s. If you have translated the plugin you need put these files " +"ultimatemember-%1$s.po and ultimatemember-%1$s.mo in /" +"wp-content/languages/plugins/ for the plugin to be translated in " +"your language. Hide this notice" +msgstr "" + +#: admin/core/um-admin-notices.php:178 +#, php-format +msgid "" +"Are you sure you want to delete the selected user(s)? The following users " +"will be deleted:

    %s

    This cannot be undone!" +msgstr "" + +#: admin/core/um-admin-notices.php:179 +msgid "Undo" +msgstr "" + +#: admin/core/um-admin-notices.php:184 +msgid "Your translation files have been updated successfully." +msgstr "" + +#: admin/core/um-admin-notices.php:188 +msgid "Your temp uploads directory is now clean." +msgstr "" + +#: admin/core/um-admin-notices.php:192 +msgid "Your user cache is now removed." +msgstr "" + +#: admin/core/um-admin-notices.php:196 +msgid "The form has been duplicated successfully." +msgstr "" + +#: admin/core/um-admin-notices.php:200 +msgid "User has been updated." +msgstr "" + +#: admin/core/um-admin-notices.php:204 +msgid "Users have been updated." +msgstr "" + +#: admin/core/um-admin-notices.php:208 +msgid "Changed roles." +msgstr "" + +#: admin/core/um-admin-notices.php:212 +msgid "Super administrators cannot be modified." +msgstr "" + +#: admin/core/um-admin-notices.php:213 +msgid "Other users have been updated." +msgstr "" + +#: admin/core/um-admin-redux.php:59 admin/core/um-admin-redux.php:60 +#: admin/templates/welcome/about_header.php:20 index.php:54 +msgid "Settings" +msgstr "" + +#: admin/core/um-admin-roles.php:32 +msgid "Role Title" +msgstr "" + +#: admin/core/um-admin-roles.php:33 +msgid "No. of Members" +msgstr "" + +#: admin/core/um-admin-roles.php:33 +msgid "The total number of members who have this role on your site" +msgstr "" + +#: admin/core/um-admin-roles.php:34 +msgid "Core / Built-in" +msgstr "" + +#: admin/core/um-admin-roles.php:34 +msgid "A core role is installed by default and may not be removed" +msgstr "" + +#: admin/core/um-admin-roles.php:35 +msgid "WP-Admin Access" +msgstr "" + +#: admin/core/um-admin-roles.php:35 +msgid "" +"Let you know If users of this role can view the WordPress backend or not" +msgstr "" + +#: admin/core/um-admin-roles.php:58 +msgid "This role can access the WordPress backend" +msgstr "" + +#: admin/core/um-admin-roles.php:76 +msgid "Core" +msgstr "" + +#: admin/core/um-admin-users.php:35 core/um-actions-account.php:385 +#: core/um-actions-account.php:420 +msgid "View profile" +msgstr "" + +#: admin/core/um-admin-users.php:38 +msgid "Info" +msgstr "" + +#: admin/core/um-admin-users.php:129 admin/templates/dashboard/users.php:12 +#: core/um-user.php:240 +msgid "Approved" +msgstr "" + +#: admin/core/um-admin-users.php:130 +msgid "Pending review" +msgstr "" + +#: admin/core/um-admin-users.php:131 +msgid "Waiting e-mail confirmation" +msgstr "" + +#: admin/core/um-admin-users.php:132 admin/templates/dashboard/users.php:40 +msgid "Inactive" +msgstr "" + +#: admin/core/um-admin-users.php:133 admin/templates/dashboard/users.php:17 +msgid "Rejected" +msgstr "" + +#: admin/core/um-admin-users.php:178 admin/core/um-admin-users.php:236 +#: core/um-actions-core.php:21 +msgid "You do not have enough permissions to do that." +msgstr "" + +#: admin/core/um-admin-users.php:307 admin/core/um-admin-users.php:309 +msgid "Filter by" +msgstr "" + +#: admin/core/um-admin-users.php:322 +msgid "Filter" +msgstr "" + +#: admin/core/um-admin-users.php:328 admin/core/um-admin-users.php:330 +msgid "UM Action" +msgstr "" + +#: admin/core/um-admin-users.php:334 core/um-fields.php:1674 +msgid "Apply" +msgstr "" + +#: admin/core/um-admin-users.php:340 +msgid "Community role…" +msgstr "" + +#: admin/core/um-admin-users.php:347 +msgid "Change" +msgstr "" + +#: admin/core/um-admin-users.php:366 +msgid "This is the membership role set by Ultimate Member plugin" +msgstr "" + +#: admin/templates/access/settings.php:9 +msgid "Apply custom access settings?" +msgstr "" + +#: admin/templates/access/settings.php:9 +msgid "Switch to yes to override global access settings" +msgstr "" + +#: admin/templates/access/settings.php:17 +msgid "Who can access this content?" +msgstr "" + +#: admin/templates/access/settings.php:33 +#: admin/templates/access/settings.php:60 +msgid "Redirect URL" +msgstr "" + +#: admin/templates/access/settings.php:33 +#: admin/templates/access/settings.php:60 +msgid "" +"This is the URL that user is redirected to If he is not permitted to view " +"this content" +msgstr "" + +#: admin/templates/access/settings.php:47 +msgid "Select the member roles that can see this content?" +msgstr "" + +#: admin/templates/access/settings.php:47 +msgid "" +"If you do not select any role, all members will be able to view this content" +msgstr "" + +#: admin/templates/dashboard/language-contrib.php:1 +#, php-format +msgid "" +"Ultimate Member is not yet available in your language: %1$s." +msgstr "" + +#: admin/templates/dashboard/language-contrib.php:3 +msgid "" +"If you want to contribute this translation to the plugin, please add it on " +"our community forum." +msgstr "" + +#: admin/templates/dashboard/language-download.php:1 +#, php-format +msgid "" +"Ultimate Member is available in your language: %1$s (%2$s)." +msgstr "" + +#: admin/templates/dashboard/language-download.php:3 +msgid "Download Translation" +msgstr "" + +#: admin/templates/dashboard/language-update.php:1 +#, php-format +msgid "" +"You are currently using Ultimate Member in your language: %1$s " +"(%2$s)." +msgstr "" + +#: admin/templates/dashboard/language-update.php:3 +msgid "Force Update Translation" +msgstr "" + +#: admin/templates/dashboard/users.php:7 um-config.php:93 +msgid "Users" +msgstr "" + +#: admin/templates/dashboard/users.php:30 core/um-user.php:248 +msgid "Pending Review" +msgstr "" + +#: admin/templates/dashboard/users.php:35 core/um-user.php:244 +msgid "Awaiting E-mail Confirmation" +msgstr "" + +#: admin/templates/directory/appearance.php:3 +#: admin/templates/form/login_customize.php:14 +#: admin/templates/form/profile_customize.php:26 +#: admin/templates/form/register_customize.php:26 +msgid "Template" +msgstr "" + +#: admin/templates/directory/general.php:24 +msgid "User Roles to Display" +msgstr "" + +#: admin/templates/directory/general.php:37 +msgid "Only show members who have uploaded a profile photo" +msgstr "" + +#: admin/templates/directory/general.php:46 +msgid "Only show members who have uploaded a cover photo" +msgstr "" + +#: admin/templates/directory/general.php:55 +msgid "Sort users by" +msgstr "" + +#: admin/templates/directory/general.php:59 +msgid "New users first" +msgstr "" + +#: admin/templates/directory/general.php:60 +msgid "Old users first" +msgstr "" + +#: admin/templates/directory/general.php:61 +msgid "Last login" +msgstr "" + +#: admin/templates/directory/general.php:62 +msgid "Display Name" +msgstr "" + +#: admin/templates/directory/general.php:63 core/um-builtin.php:594 +#: core/um-builtin.php:597 +msgid "First Name" +msgstr "" + +#: admin/templates/directory/general.php:64 core/um-builtin.php:604 +#: core/um-builtin.php:607 +msgid "Last Name" +msgstr "" + +#: admin/templates/directory/general.php:65 +msgid "Random" +msgstr "" + +#: admin/templates/directory/general.php:66 +msgid "Other (custom field)" +msgstr "" + +#: admin/templates/directory/general.php:74 +msgid "Meta key" +msgstr "" + +#: admin/templates/directory/general.php:83 +msgid "Only show specific users (Enter one username per line)" +msgstr "" + +#: admin/templates/directory/pagination.php:6 +msgid "Number of profiles per page" +msgstr "" + +#: admin/templates/directory/pagination.php:6 +msgid "Number of profiles to appear on page for standard users" +msgstr "" + +#: admin/templates/directory/pagination.php:15 +msgid "Number of profiles per page (for Mobiles & Tablets)" +msgstr "" + +#: admin/templates/directory/pagination.php:15 +msgid "Number of profiles to appear on page for mobile users" +msgstr "" + +#: admin/templates/directory/pagination.php:24 +msgid "Maximum number of profiles" +msgstr "" + +#: admin/templates/directory/pagination.php:24 +msgid "" +"Use this setting to control the maximum number of profiles to appear in this " +"directory. Leave blank to disable this limit" +msgstr "" + +#: admin/templates/directory/profile.php:6 +msgid "Enable Profile Photo" +msgstr "" + +#: admin/templates/directory/profile.php:15 +msgid "Enable Cover Photo" +msgstr "" + +#: admin/templates/directory/profile.php:24 +msgid "Show display name" +msgstr "" + +#: admin/templates/directory/profile.php:33 +msgid "Show tagline below profile name" +msgstr "" + +#: admin/templates/directory/profile.php:42 +msgid "Choose field(s) to display in tagline" +msgstr "" + +#: admin/templates/directory/profile.php:90 +msgid "Show extra user information below tagline?" +msgstr "" + +#: admin/templates/directory/profile.php:99 +msgid "Enable reveal section transition by default" +msgstr "" + +#: admin/templates/directory/profile.php:108 +msgid "Choose field(s) to display in reveal section" +msgstr "" + +#: admin/templates/directory/profile.php:156 +msgid "Show social connect icons" +msgstr "" + +#: admin/templates/directory/profile_card.php:3 +msgid "Profile card background" +msgstr "" + +#: admin/templates/directory/profile_card.php:7 +msgid "Profile card text" +msgstr "" + +#: admin/templates/directory/profile_card.php:11 +msgid "Profile card border color" +msgstr "" + +#: admin/templates/directory/profile_card.php:15 +msgid "Profile photo border color" +msgstr "" + +#: admin/templates/directory/profile_card.php:19 +msgid "Profile card border thickness" +msgstr "" + +#: admin/templates/directory/search.php:6 +msgid "Enable Search feature" +msgstr "" + +#: admin/templates/directory/search.php:15 +msgid "Show results only after search" +msgstr "" + +#: admin/templates/directory/search.php:24 +msgid "User Roles that can use search" +msgstr "" + +#: admin/templates/directory/search.php:37 +msgid "Choose field(s) to enable in search" +msgstr "" + +#: admin/templates/directory/search.php:89 +msgid "Results Text" +msgstr "" + +#: admin/templates/directory/search.php:89 +msgid "" +"Customize the search result text . e.g. Found 3,000 Members. Leave this " +"blank to not show result text" +msgstr "" + +#: admin/templates/directory/search.php:92 core/um-setup.php:49 +#: core/um-setup.php:164 +msgid "{total_users} Members" +msgstr "" + +#: admin/templates/directory/search.php:98 +msgid "Single Result Text" +msgstr "" + +#: admin/templates/directory/search.php:98 +msgid "Same as above but in case of 1 user found only" +msgstr "" + +#: admin/templates/directory/search.php:101 core/um-setup.php:50 +#: core/um-setup.php:165 +msgid "{total_users} Member" +msgstr "" + +#: admin/templates/directory/search.php:107 +msgid "Custom text if no users were found" +msgstr "" + +#: admin/templates/directory/search.php:110 core/um-setup.php:51 +msgid "We are sorry. We cannot find any users who match your search criteria." +msgstr "" + +#: admin/templates/form/builder.php:14 +msgid "Live Preview" +msgstr "" + +#: admin/templates/form/builder.php:28 +msgid "Add Master Row" +msgstr "" + +#: admin/templates/form/login_css.php:4 admin/templates/form/profile_css.php:4 +#: admin/templates/form/register_css.php:4 +msgid "Enter custom css that will be applied to this form only" +msgstr "" + +#: admin/templates/form/login_customize.php:4 +#: admin/templates/form/profile_customize.php:4 +#: admin/templates/form/register_customize.php:4 +msgid "Use global settings?" +msgstr "" + +#: admin/templates/form/login_customize.php:26 +#: admin/templates/form/profile_customize.php:38 +#: admin/templates/form/register_customize.php:38 +msgid "Max. Width (px)" +msgstr "" + +#: admin/templates/form/login_customize.php:30 +#: admin/templates/form/profile_customize.php:46 +#: admin/templates/form/register_customize.php:42 +msgid "Alignment" +msgstr "" + +#: admin/templates/form/login_customize.php:40 +#: admin/templates/form/profile_customize.php:56 +#: admin/templates/form/register_customize.php:52 +msgid "Field Icons" +msgstr "" + +#: admin/templates/form/login_customize.php:50 +#: admin/templates/form/profile_customize.php:66 +#: admin/templates/form/register_customize.php:62 +msgid "Primary Button Text" +msgstr "" + +#: admin/templates/form/login_customize.php:54 +#: admin/templates/form/profile_customize.php:70 +#: admin/templates/form/register_customize.php:66 +msgid "Primary Button Color" +msgstr "" + +#: admin/templates/form/login_customize.php:58 +#: admin/templates/form/profile_customize.php:74 +#: admin/templates/form/register_customize.php:70 +msgid "Primary Button Hover Color" +msgstr "" + +#: admin/templates/form/login_customize.php:62 +#: admin/templates/form/profile_customize.php:78 +#: admin/templates/form/register_customize.php:74 +msgid "Primary Button Text Color" +msgstr "" + +#: admin/templates/form/login_customize.php:67 +#: admin/templates/form/profile_customize.php:83 +#: admin/templates/form/register_customize.php:79 +msgid "Show Secondary Button" +msgstr "" + +#: admin/templates/form/login_customize.php:75 +#: admin/templates/form/profile_customize.php:91 +#: admin/templates/form/register_customize.php:87 +msgid "Secondary Button Text" +msgstr "" + +#: admin/templates/form/login_customize.php:79 +#: admin/templates/form/profile_customize.php:95 +#: admin/templates/form/register_customize.php:91 +msgid "Secondary Button Color" +msgstr "" + +#: admin/templates/form/login_customize.php:83 +#: admin/templates/form/profile_customize.php:99 +#: admin/templates/form/register_customize.php:95 +msgid "Secondary Button Hover Color" +msgstr "" + +#: admin/templates/form/login_customize.php:87 +#: admin/templates/form/profile_customize.php:103 +#: admin/templates/form/register_customize.php:99 +msgid "Secondary Button Text Color" +msgstr "" + +#: admin/templates/form/login_customize.php:92 +msgid "Show Forgot Password Link?" +msgstr "" + +#: admin/templates/form/login_customize.php:101 +msgid "Show \"Remember Me\"?" +msgstr "" + +#: admin/templates/form/login_settings.php:3 +msgid "Redirection after Login" +msgstr "" + +#: admin/templates/form/login_settings.php:16 +#: admin/templates/role/delete.php:18 admin/templates/role/login.php:20 +#: admin/templates/role/logout.php:18 admin/templates/role/register.php:37 +#: admin/templates/role/register.php:85 admin/templates/role/register.php:133 +msgid "Set Custom Redirect URL" +msgstr "" + +#: admin/templates/form/mode.php:6 +msgid "" +"Note: Form type cannot be changed for the default forms." +msgstr "" + +#: admin/templates/form/mode.php:9 um-config.php:1764 +msgid "Registration Form" +msgstr "" + +#: admin/templates/form/mode.php:11 +msgid "Profile Form" +msgstr "" + +#: admin/templates/form/mode.php:13 um-config.php:1866 +msgid "Login Form" +msgstr "" + +#: admin/templates/form/profile_customize.php:14 +msgid "Make this profile role-specific" +msgstr "" + +#: admin/templates/form/profile_customize.php:42 +msgid "Profile Area Max. Width (px)" +msgstr "" + +#: admin/templates/form/profile_customize.php:107 +msgid "Base Background Color" +msgstr "" + +#: admin/templates/form/profile_customize.php:111 +msgid "Base Text Color" +msgstr "" + +#: admin/templates/form/profile_customize.php:115 +msgid "Enable Cover Photos" +msgstr "" + +#: admin/templates/form/profile_customize.php:123 +msgid "Cover photo ratio" +msgstr "" + +#: admin/templates/form/profile_customize.php:133 um-config.php:1497 +msgid "Profile Photo Size" +msgstr "" + +#: admin/templates/form/profile_customize.php:137 um-config.php:1506 +msgid "Profile Photo Style" +msgstr "" + +#: admin/templates/form/profile_customize.php:140 um-config.php:1510 +msgid "Circle" +msgstr "" + +#: admin/templates/form/profile_customize.php:141 um-config.php:1511 +msgid "Rounded Corners" +msgstr "" + +#: admin/templates/form/profile_customize.php:142 um-config.php:1512 +msgid "Square" +msgstr "" + +#: admin/templates/form/profile_customize.php:147 +msgid "Make Profile Photo Required" +msgstr "" + +#: admin/templates/form/profile_customize.php:155 +msgid "Header Background Color" +msgstr "" + +#: admin/templates/form/profile_customize.php:159 +msgid "Header Meta Text Color" +msgstr "" + +#: admin/templates/form/profile_customize.php:163 +msgid "Header Link Color" +msgstr "" + +#: admin/templates/form/profile_customize.php:167 +msgid "Header Link Hover" +msgstr "" + +#: admin/templates/form/profile_customize.php:171 +msgid "Header Icon Link Color" +msgstr "" + +#: admin/templates/form/profile_customize.php:175 +msgid "Header Icon Link Hover" +msgstr "" + +#: admin/templates/form/profile_customize.php:180 +msgid "Show display name in profile header?" +msgstr "" + +#: admin/templates/form/profile_customize.php:189 +msgid "Show social links in profile header?" +msgstr "" + +#: admin/templates/form/profile_customize.php:198 +msgid "Show user description in profile header?" +msgstr "" + +#: admin/templates/form/profile_settings.php:4 +msgid "Field(s) to show in user meta" +msgstr "" + +#: admin/templates/form/register_customize.php:4 +msgid "" +"Switch to no if you want to customize this form settings, styling & " +"appearance" +msgstr "" + +#: admin/templates/form/register_customize.php:14 +msgid "Assign role to form" +msgstr "" + +#: admin/templates/form/register_customize.php:42 um-config.php:1397 +#: um-config.php:1790 um-config.php:1892 +msgid "The shortcode is centered by default unless you specify otherwise here" +msgstr "" + +#: admin/templates/form/register_customize.php:52 +msgid "" +"Whether to show field icons and where to show them relative to the field" +msgstr "" + +#: admin/templates/form/register_customize.php:62 +#: admin/templates/form/register_customize.php:87 +msgid "Customize the button text" +msgstr "" + +#: admin/templates/form/register_customize.php:66 +msgid "Override the default primary button color" +msgstr "" + +#: admin/templates/form/register_customize.php:70 +msgid "Override the default primary button hover color" +msgstr "" + +#: admin/templates/form/register_customize.php:74 +msgid "Override the default primary button text color" +msgstr "" + +#: admin/templates/form/register_customize.php:91 +msgid "Override the default secondary button color" +msgstr "" + +#: admin/templates/form/register_customize.php:95 +msgid "Override the default secondary button hover color" +msgstr "" + +#: admin/templates/form/register_customize.php:99 +msgid "Override the default secondary button text color" +msgstr "" + +#: admin/templates/modal/dynamic_edit_field.php:6 +msgid "Edit Field" +msgstr "" + +#: admin/templates/modal/dynamic_edit_field.php:14 +#: admin/templates/modal/dynamic_edit_row.php:14 +msgid "Update" +msgstr "" + +#: admin/templates/modal/dynamic_edit_field.php:15 +#: admin/templates/modal/dynamic_edit_row.php:15 +#: admin/templates/modal/dynamic_new_divider.php:15 +#: admin/templates/modal/dynamic_new_field.php:15 +#: admin/templates/modal/dynamic_new_group.php:15 +#: core/um-actions-profile.php:218 core/um-actions-profile.php:332 +#: core/um-actions-profile.php:344 core/um-actions-profile.php:505 +#: core/um-fields.php:1675 core/um-fields.php:1763 +msgid "Cancel" +msgstr "" + +#: admin/templates/modal/dynamic_edit_row.php:6 +msgid "Edit Row Settings" +msgstr "" + +#: admin/templates/modal/dynamic_form_preview.php:4 +msgid "Live Form Preview" +msgstr "" + +#: admin/templates/modal/dynamic_form_preview.php:12 +msgid "Continue editing" +msgstr "" + +#: admin/templates/modal/dynamic_new_divider.php:6 +msgid "Add a New Divider" +msgstr "" + +#: admin/templates/modal/dynamic_new_divider.php:14 +#: admin/templates/modal/dynamic_new_field.php:14 +#: admin/templates/modal/dynamic_new_group.php:14 +msgid "Add" +msgstr "" + +#: admin/templates/modal/dynamic_new_field.php:6 +msgid "Add a New Field" +msgstr "" + +#: admin/templates/modal/dynamic_new_group.php:6 +msgid "Add a New Field Group" +msgstr "" + +#: admin/templates/modal/dynamic_registration_preview.php:4 +msgid "Review Registration Details" +msgstr "" + +#: admin/templates/modal/fields.php:4 +msgid "Fields Manager" +msgstr "" + +#: admin/templates/modal/fonticons.php:4 +#, php-format +msgid "Choose from %s available icons" +msgstr "" + +#: admin/templates/role/admin.php:7 admin/templates/role/admin.php:16 +msgid "Can access wp-admin?" +msgstr "" + +#: admin/templates/role/admin.php:7 +msgid "" +"The core admin role must always have access to wp-admin / WordPress backend" +msgstr "" + +#: admin/templates/role/admin.php:11 admin/templates/role/admin.php:20 +msgid "Force hiding adminbar in frontend?" +msgstr "" + +#: admin/templates/role/admin.php:11 admin/templates/role/admin.php:20 +msgid "Show/hide the adminbar on frontend" +msgstr "" + +#: admin/templates/role/admin.php:16 +msgid "" +"Allow this role to access the admin dashboard. If turned on the WordPress " +"toolbar will appear at top of the page." +msgstr "" + +#: admin/templates/role/admin.php:26 +msgid "Can edit other member accounts?" +msgstr "" + +#: admin/templates/role/admin.php:26 +msgid "Allow this role to edit accounts of other members" +msgstr "" + +#: admin/templates/role/admin.php:31 +msgid "Can edit these user roles only" +msgstr "" + +#: admin/templates/role/admin.php:31 +msgid "" +"Which roles that role can edit, choose none to allow role to edit all member " +"roles" +msgstr "" + +#: admin/templates/role/admin.php:44 +msgid "Can delete other member accounts?" +msgstr "" + +#: admin/templates/role/admin.php:44 +msgid "Allow this role to edit the profile fields of certain roles only" +msgstr "" + +#: admin/templates/role/admin.php:49 +msgid "Can delete these user roles only" +msgstr "" + +#: admin/templates/role/admin.php:49 +msgid "" +"Which roles that role can delete, choose none to allow role to delete all " +"member roles" +msgstr "" + +#: admin/templates/role/delete.php:6 +msgid "Action to be taken after account is deleted" +msgstr "" + +#: admin/templates/role/delete.php:6 +msgid "" +"Select what happens when a user with this role deletes their own account" +msgstr "" + +#: admin/templates/role/delete.php:10 admin/templates/role/logout.php:10 +msgid "Go to Homepage" +msgstr "" + +#: admin/templates/role/delete.php:11 admin/templates/role/logout.php:11 +msgid "Go to Custom URL" +msgstr "" + +#: admin/templates/role/delete.php:18 +msgid "Set a url to redirect this user role to after they delete account" +msgstr "" + +#: admin/templates/role/general.php:6 +msgid "Can edit their profile?" +msgstr "" + +#: admin/templates/role/general.php:6 +msgid "Can this role edit his own profile?" +msgstr "" + +#: admin/templates/role/general.php:11 +msgid "Can delete their account?" +msgstr "" + +#: admin/templates/role/general.php:11 +msgid "" +"Allow this role to delete their account and end their membership on your site" +msgstr "" + +#: admin/templates/role/home.php:6 +msgid "Can view default homepage?" +msgstr "" + +#: admin/templates/role/home.php:6 +msgid "Allow this user role to view your site's homepage" +msgstr "" + +#: admin/templates/role/home.php:15 +msgid "Custom Homepage Redirect" +msgstr "" + +#: admin/templates/role/home.php:15 +msgid "" +"Set a url to redirect this user role to if they try to view your site's " +"homepage " +msgstr "" + +#: admin/templates/role/login.php:6 +msgid "Action to be taken after login" +msgstr "" + +#: admin/templates/role/login.php:6 +msgid "Select what happens when a user with this role logins to your site" +msgstr "" + +#: admin/templates/role/login.php:10 admin/templates/role/register.php:29 +msgid "Redirect to profile" +msgstr "" + +#: admin/templates/role/login.php:11 admin/templates/role/register.php:30 +#: admin/templates/role/register.php:69 admin/templates/role/register.php:117 +msgid "Redirect to URL" +msgstr "" + +#: admin/templates/role/login.php:12 +msgid "Refresh active page" +msgstr "" + +#: admin/templates/role/login.php:13 +msgid "Redirect to WordPress Admin" +msgstr "" + +#: admin/templates/role/login.php:20 +msgid "" +"Set a url to redirect this user role to after they login with their account" +msgstr "" + +#: admin/templates/role/logout.php:6 +msgid "Action to be taken after logout" +msgstr "" + +#: admin/templates/role/logout.php:6 +msgid "Select what happens when a user with this role logouts of your site" +msgstr "" + +#: admin/templates/role/logout.php:18 +msgid "Set a url to redirect this user role to after they logout from site" +msgstr "" + +#: admin/templates/role/profile.php:6 +msgid "Can view other member profiles?" +msgstr "" + +#: admin/templates/role/profile.php:6 +msgid "Can this role view all member profiles?" +msgstr "" + +#: admin/templates/role/profile.php:11 +msgid "Can view these user roles only" +msgstr "" + +#: admin/templates/role/profile.php:11 +msgid "" +"Which roles that role can view, choose none to allow role to view all member " +"roles" +msgstr "" + +#: admin/templates/role/profile.php:24 +msgid "Can make their profile private?" +msgstr "" + +#: admin/templates/role/profile.php:24 +msgid "Can this role make their profile private?" +msgstr "" + +#: admin/templates/role/profile.php:29 +msgid "Can view/access private profiles?" +msgstr "" + +#: admin/templates/role/profile.php:29 +msgid "Can this role view private profiles?" +msgstr "" + +#: admin/templates/role/register.php:6 +msgid "Registration Status" +msgstr "" + +#: admin/templates/role/register.php:6 +msgid "" +"Select the status you would like this user role to have after they register " +"on your site" +msgstr "" + +#: admin/templates/role/register.php:13 +msgid "Auto Approve" +msgstr "" + +#: admin/templates/role/register.php:14 +msgid "Require Email Activation" +msgstr "" + +#: admin/templates/role/register.php:15 +msgid "Require Admin Review" +msgstr "" + +#: admin/templates/role/register.php:25 admin/templates/role/register.php:62 +#: admin/templates/role/register.php:110 +msgid "Action to be taken after registration" +msgstr "" + +#: admin/templates/role/register.php:25 admin/templates/role/register.php:62 +#: admin/templates/role/register.php:110 +msgid "" +"Select what action is taken after a person registers on your site. Depending " +"on the status you can redirect them to their profile, a custom url or show a " +"custom message" +msgstr "" + +#: admin/templates/role/register.php:53 +msgid "Login user after validating the activation link?" +msgstr "" + +#: admin/templates/role/register.php:53 +msgid "Login the user after validating the activation link" +msgstr "" + +#: admin/templates/role/register.php:68 admin/templates/role/register.php:116 +msgid "Show custom message" +msgstr "" + +#: admin/templates/role/register.php:76 admin/templates/role/register.php:124 +msgid "Personalize the custom message" +msgstr "" + +#: admin/templates/role/register.php:79 +msgid "" +"Thank you for registering. Before you can login we need you to activate your " +"account by clicking the activation link in the email we just sent you." +msgstr "" + +#: admin/templates/role/register.php:94 +msgid "URL redirect after e-mail activation" +msgstr "" + +#: admin/templates/role/register.php:94 +msgid "" +"If you want users to go to a specific page other than login page after e-" +"mail activation, enter the URL here." +msgstr "" + +#: admin/templates/role/register.php:127 +msgid "" +"Thank you for applying for membership to our site. We will review your " +"details and send you an email letting you know whether your application has " +"been successful or not." +msgstr "" + +#: admin/templates/role/sync.php:19 +msgid "Link to WordPress role" +msgstr "" + +#: admin/templates/role/sync.php:19 +msgid "" +"Users who get this community role will be assigned this WordPress role " +"automatically" +msgstr "" + +#: admin/templates/role/sync.php:28 +msgid "Sync / update all existing users" +msgstr "" + +#: admin/templates/welcome/about_header.php:15 +msgid "" +"Thank you for installing! Ultimate Member is a powerful community and " +"membership plugin that allows you to create beautiful community and " +"membership sites with WordPress." +msgstr "" + +#: core/lib/upload/um-file-upload.php:58 core/lib/upload/um-image-upload.php:56 +msgid "A theme or plugin compatibility issue" +msgstr "" + +#: core/um-account.php:31 um-config.php:255 +msgid "Account" +msgstr "" + +#: core/um-account.php:34 +msgid "Change Password" +msgstr "" + +#: core/um-account.php:37 +msgid "Privacy" +msgstr "" + +#: core/um-account.php:40 um-config.php:924 +msgid "Notifications" +msgstr "" + +#: core/um-account.php:43 core/um-actions-account.php:232 +#: core/um-builtin.php:1019 core/um-builtin.php:1022 +msgid "Delete Account" +msgstr "" + +#: core/um-actions-account.php:114 +msgid "You must provide your first name" +msgstr "" + +#: core/um-actions-account.php:118 +msgid "You must provide your last name" +msgstr "" + +#: core/um-actions-account.php:122 +msgid "You must provide your e-mail" +msgstr "" + +#: core/um-actions-account.php:126 +msgid "Please provide a valid e-mail" +msgstr "" + +#: core/um-actions-account.php:130 +msgid "Email already linked to another account" +msgstr "" + +#: core/um-actions-account.php:144 core/um-actions-account.php:184 +msgid "This is not your password" +msgstr "" + +#: core/um-actions-account.php:149 +msgid "Your new password does not match" +msgstr "" + +#: core/um-actions-account.php:156 core/um-actions-password.php:195 +msgid "Your password must contain at least 8 characters" +msgstr "" + +#: core/um-actions-account.php:160 core/um-actions-password.php:199 +msgid "Your password must contain less than 30 characters" +msgstr "" + +#: core/um-actions-account.php:164 core/um-actions-form.php:250 +#: core/um-actions-password.php:203 +msgid "" +"Your password must contain at least one lowercase letter, one capital letter " +"and one number" +msgstr "" + +#: core/um-actions-account.php:174 +msgid "Your username is invalid" +msgstr "" + +#: core/um-actions-account.php:181 +msgid "You must enter your password" +msgstr "" + +#: core/um-actions-account.php:262 +msgid "Update Privacy" +msgstr "" + +#: core/um-actions-account.php:292 +msgid "Update Account" +msgstr "" + +#: core/um-actions-account.php:322 +msgid "Update Password" +msgstr "" + +#: core/um-actions-account.php:349 +msgid "Email me when" +msgstr "" + +#: core/um-actions-account.php:358 +msgid "Update Notifications" +msgstr "" + +#: core/um-actions-ajax.php:50 core/um-actions-ajax.php:66 +#: core/um-actions-ajax.php:120 +msgid "You can not edit this user" +msgstr "" + +#: core/um-actions-ajax.php:84 +msgid "Invalid parameters" +msgstr "" + +#: core/um-actions-ajax.php:87 +msgid "Invalid coordinates" +msgstr "" + +#: core/um-actions-ajax.php:90 +msgid "Invalid Image file" +msgstr "" + +#: core/um-actions-core.php:17 +msgid "Super administrators can not be modified." +msgstr "" + +#: core/um-actions-core.php:81 +msgid "You do not have permission to delete this user." +msgstr "" + +#: core/um-actions-form.php:99 +msgid "You are not allowed to use this word as your username." +msgstr "" + +#: core/um-actions-form.php:158 core/um-actions-form.php:191 +#: core/um-actions-form.php:195 core/um-actions-form.php:199 +#: core/um-actions-form.php:203 +#, php-format +msgid "%s is required." +msgstr "" + +#: core/um-actions-form.php:208 +msgid "Please specify account type." +msgstr "" + +#: core/um-actions-form.php:216 +#, php-format +msgid "%s is required" +msgstr "" + +#: core/um-actions-form.php:222 +#, php-format +msgid "You are only allowed to enter a maximum of %s words" +msgstr "" + +#: core/um-actions-form.php:228 +#, php-format +msgid "Your %s must contain at least %s characters" +msgstr "" + +#: core/um-actions-form.php:234 +#, php-format +msgid "Your %s must contain less than %s characters" +msgstr "" + +#: core/um-actions-form.php:243 +msgid "You can not use HTML tags here" +msgstr "" + +#: core/um-actions-form.php:256 +msgid "Please confirm your password" +msgstr "" + +#: core/um-actions-form.php:259 core/um-actions-password.php:213 +msgid "Your passwords do not match" +msgstr "" + +#: core/um-actions-form.php:265 +#, php-format +msgid "Please select at least %s choices" +msgstr "" + +#: core/um-actions-form.php:271 +#, php-format +msgid "You can only select up to %s choices" +msgstr "" + +#: core/um-actions-form.php:277 +#, php-format +msgid "Minimum number limit is %s" +msgstr "" + +#: core/um-actions-form.php:283 +#, php-format +msgid "Maximum number limit is %s" +msgstr "" + +#: core/um-actions-form.php:299 +msgid "Please enter numbers only in this field" +msgstr "" + +#: core/um-actions-form.php:306 +msgid "Please enter a valid phone number" +msgstr "" + +#: core/um-actions-form.php:312 core/um-actions-form.php:318 +#: core/um-actions-form.php:324 core/um-actions-form.php:330 +#: core/um-actions-form.php:336 core/um-actions-form.php:342 +#: core/um-actions-form.php:348 core/um-actions-form.php:354 +#: core/um-actions-form.php:366 +#, php-format +msgid "Please enter a valid %s username or profile URL" +msgstr "" + +#: core/um-actions-form.php:360 +msgid "Please enter a valid URL" +msgstr "" + +#: core/um-actions-form.php:373 core/um-actions-form.php:387 +msgid "You must provide a username" +msgstr "" + +#: core/um-actions-form.php:375 core/um-actions-form.php:389 +msgid "Your username is already taken" +msgstr "" + +#: core/um-actions-form.php:377 +msgid "Username cannot be an email" +msgstr "" + +#: core/um-actions-form.php:379 core/um-actions-form.php:393 +msgid "Your username contains invalid characters" +msgstr "" + +#: core/um-actions-form.php:391 core/um-actions-form.php:413 +#: core/um-actions-form.php:415 core/um-actions-form.php:427 +#: core/um-actions-form.php:434 +msgid "This email is already linked to an existing account" +msgstr "" + +#: core/um-actions-form.php:411 +msgid "You must provide your email" +msgstr "" + +#: core/um-actions-form.php:417 core/um-actions-form.php:425 +msgid "This is not a valid email" +msgstr "" + +#: core/um-actions-form.php:419 +msgid "Your email contains invalid characters" +msgstr "" + +#: core/um-actions-form.php:459 +msgid "You must provide a unique value" +msgstr "" + +#: core/um-actions-form.php:469 +msgid "You must provide alphabetic letters" +msgstr "" + +#: core/um-actions-form.php:479 +msgid "You must provide lowercase letters." +msgstr "" + +#: core/um-actions-form.php:498 +#, php-format +msgid "Your user description must contain less than %s characters" +msgstr "" + +#: core/um-actions-global.php:29 +msgid "Only fill in if you are not human" +msgstr "" + +#: core/um-actions-login.php:18 +msgid "Please enter your username or email" +msgstr "" + +#: core/um-actions-login.php:22 +msgid "Please enter your username" +msgstr "" + +#: core/um-actions-login.php:26 +msgid "Please enter your email" +msgstr "" + +#: core/um-actions-login.php:50 +msgid " Sorry, we can't find an account with that email address" +msgstr "" + +#: core/um-actions-login.php:52 +msgid " Sorry, we can't find an account with that username" +msgstr "" + +#: core/um-actions-login.php:56 +msgid "Please enter your password" +msgstr "" + +#: core/um-actions-login.php:64 +msgid "Password is incorrect. Please try again." +msgstr "" + +#: core/um-actions-login.php:186 +msgid "This action has been prevented for security measures." +msgstr "" + +#: core/um-actions-login.php:263 +msgid "Keep me signed in" +msgstr "" + +#: core/um-actions-login.php:297 +msgid "Forgot your password?" +msgstr "" + +#: core/um-actions-members.php:63 +msgid "Search" +msgstr "" + +#: core/um-actions-members.php:63 +msgid "Reset" +msgstr "" + +#: core/um-actions-members.php:134 +msgid "Jump to page:" +msgstr "" + +#: core/um-actions-members.php:139 +#, php-format +msgid "%s of %d" +msgstr "" + +#: core/um-actions-members.php:149 +msgid "First Page" +msgstr "" + +#: core/um-actions-members.php:155 +msgid "Previous" +msgstr "" + +#: core/um-actions-members.php:175 +msgid "Next" +msgstr "" + +#: core/um-actions-members.php:181 +msgid "Last Page" +msgstr "" + +#: core/um-actions-misc.php:64 core/um-actions-misc.php:99 +msgid "Registration is currently disabled" +msgstr "" + +#: core/um-actions-misc.php:75 +msgid "Your account was updated successfully." +msgstr "" + +#: core/um-actions-misc.php:79 +msgid "You have successfully changed your password." +msgstr "" + +#: core/um-actions-misc.php:83 +msgid "Your account is now active! You can login." +msgstr "" + +#: core/um-actions-misc.php:95 +msgid "An error has been encountered" +msgstr "" + +#: core/um-actions-misc.php:103 core/um-filters-login.php:33 +msgid "This email address has been blocked." +msgstr "" + +#: core/um-actions-misc.php:107 +msgid "We do not accept registrations from that domain." +msgstr "" + +#: core/um-actions-misc.php:111 core/um-filters-login.php:36 +msgid "Your IP address has been blocked." +msgstr "" + +#: core/um-actions-misc.php:115 core/um-filters-login.php:78 +msgid "Your account has been disabled." +msgstr "" + +#: core/um-actions-misc.php:119 core/um-filters-login.php:81 +msgid "Your account has not been approved yet." +msgstr "" + +#: core/um-actions-misc.php:123 core/um-filters-login.php:84 +msgid "Your account is awaiting e-mail verification." +msgstr "" + +#: core/um-actions-misc.php:127 core/um-filters-login.php:87 +msgid "Your membership request has been rejected." +msgstr "" + +#: core/um-actions-password.php:105 core/um-actions-password.php:168 +#: core/um-form.php:150 +msgid "Hello, spam bot!" +msgstr "" + +#: core/um-actions-password.php:108 core/um-actions-password.php:171 +#: core/um-form.php:153 +msgid "" +"Whoa, slow down! You're seeing this message because you tried to submit a " +"form too fast and we think you might be a spam bot. If you are a real human " +"being please wait a few seconds before submitting the form. Thanks!" +msgstr "" + +#: core/um-actions-password.php:119 +msgid "Please provide your username or email" +msgstr "" + +#: core/um-actions-password.php:123 +msgid "We can't find an account registered with that address or username" +msgstr "" + +#: core/um-actions-password.php:142 +msgid "" +"You have reached the limit for requesting password change for this user " +"already. Contact support if you cannot open the email" +msgstr "" + +#: core/um-actions-password.php:189 +msgid "You must enter a new password" +msgstr "" + +#: core/um-actions-password.php:209 +msgid "You must confirm your new password" +msgstr "" + +#: core/um-actions-password.php:267 +msgid "Reset my password" +msgstr "" + +#: core/um-actions-password.php:294 +msgid "Change my password" +msgstr "" + +#: core/um-actions-profile.php:56 +msgid "You are not allowed to edit this user." +msgstr "" + +#: core/um-actions-profile.php:200 core/um-builtin.php:956 +msgid "Change your cover photo" +msgstr "" + +#: core/um-actions-profile.php:216 +msgid "Change cover photo" +msgstr "" + +#: core/um-actions-profile.php:258 +msgid "Upload a cover photo" +msgstr "" + +#: core/um-actions-profile.php:331 +msgid "Upload photo" +msgstr "" + +#: core/um-actions-profile.php:342 core/um-fields.php:1639 +#: core/um-fields.php:1674 +msgid "Change photo" +msgstr "" + +#: core/um-actions-profile.php:343 +msgid "Remove photo" +msgstr "" + +#: core/um-actions-profile.php:404 +msgid "Tell us a bit about yourself..." +msgstr "" + +#: core/um-actions-profile.php:417 +#, php-format +msgid "This user account status is %s" +msgstr "" + +#: core/um-actions-profile.php:502 +msgid "Edit Profile" +msgstr "" + +#: core/um-actions-profile.php:503 +msgid "My Account" +msgstr "" + +#: core/um-actions-profile.php:504 core/um-actions-user.php:100 +msgid "Logout" +msgstr "" + +#: core/um-actions-user.php:99 +msgid "Your account" +msgstr "" + +#: core/um-api.php:134 +msgid "You must specify both a token and API key!" +msgstr "" + +#: core/um-api.php:145 +msgid "Your request could not be authenticated" +msgstr "" + +#: core/um-api.php:156 +msgid "Invalid API key" +msgstr "" + +#: core/um-api.php:294 core/um-api.php:339 core/um-api.php:376 +#: core/um-api.php:483 core/um-api.php:512 +msgid "You must provide a user ID" +msgstr "" + +#: core/um-api.php:299 +msgid "You need to provide data to update" +msgstr "" + +#: core/um-api.php:308 +msgid "User status has been changed." +msgstr "" + +#: core/um-api.php:312 +msgid "User level has been changed." +msgstr "" + +#: core/um-api.php:317 +msgid "User WordPress role has been changed." +msgstr "" + +#: core/um-api.php:321 +msgid "User meta has been changed." +msgstr "" + +#: core/um-api.php:347 core/um-api.php:384 +msgid "No users were found" +msgstr "" + +#: core/um-api.php:358 core/um-api.php:395 +msgid "Invalid request" +msgstr "" + +#: core/um-api.php:489 core/um-api.php:518 +msgid "Invalid user specified" +msgstr "" + +#: core/um-api.php:496 +msgid "User has been successfully deleted." +msgstr "" + +#: core/um-api.php:640 +msgid "Invalid query!" +msgstr "" + +#: core/um-api.php:749 +msgid "Ultimate Member REST API" +msgstr "" + +#: core/um-api.php:754 +msgid "Generate API Key" +msgstr "" + +#: core/um-api.php:757 +msgid "Public key:" +msgstr "" + +#: core/um-api.php:758 +msgid "Secret key:" +msgstr "" + +#: core/um-api.php:759 +msgid "Token:" +msgstr "" + +#: core/um-api.php:762 +msgid "Revoke API Keys" +msgstr "" + +#: core/um-builtin.php:82 +msgid "Your meta key is a reserved core field and cannot be used" +msgstr "" + +#: core/um-builtin.php:83 +msgid "Your meta key is a predefined reserved key and cannot be used" +msgstr "" + +#: core/um-builtin.php:84 +msgid "Your meta key already exists in your fields list" +msgstr "" + +#: core/um-builtin.php:85 +msgid "Your meta key contains illegal characters. Please correct it." +msgstr "" + +#: core/um-builtin.php:94 +msgid "Please provide a date range beginning" +msgstr "" + +#: core/um-builtin.php:95 +msgid "Please enter a valid start date in the date range" +msgstr "" + +#: core/um-builtin.php:104 +msgid "Please provide a date range end" +msgstr "" + +#: core/um-builtin.php:105 +msgid "Please enter a valid end date in the date range" +msgstr "" + +#: core/um-builtin.php:106 +msgid "The end of date range must be greater than the start of date range" +msgstr "" + +#: core/um-builtin.php:142 core/um-builtin.php:158 core/um-builtin.php:174 +#: core/um-builtin.php:190 core/um-builtin.php:210 core/um-builtin.php:230 +#: core/um-builtin.php:250 core/um-builtin.php:270 core/um-builtin.php:286 +#: core/um-builtin.php:302 core/um-builtin.php:322 core/um-builtin.php:342 +#: core/um-builtin.php:368 core/um-builtin.php:384 core/um-builtin.php:401 +#: core/um-builtin.php:414 core/um-builtin.php:431 core/um-builtin.php:444 +#: core/um-builtin.php:457 core/um-builtin.php:473 core/um-builtin.php:489 +#: core/um-builtin.php:505 +msgid "You must provide a title" +msgstr "" + +#: core/um-builtin.php:151 +msgid "Number" +msgstr "" + +#: core/um-builtin.php:197 core/um-builtin.php:217 core/um-builtin.php:237 +#: core/um-builtin.php:257 +msgid "You have not added any choices yet." +msgstr "" + +#: core/um-builtin.php:309 core/um-builtin.php:329 +msgid "Please enter a valid size" +msgstr "" + +#: core/um-builtin.php:349 +msgid "Number of years is not valid" +msgstr "" + +#: core/um-builtin.php:418 +msgid "You must add a shortcode to the content area" +msgstr "" + +#: core/um-builtin.php:551 core/um-builtin.php:996 +msgid "Everyone" +msgstr "" + +#: core/um-builtin.php:551 core/um-user.php:844 +msgid "Only me" +msgstr "" + +#: core/um-builtin.php:569 core/um-builtin.php:572 core/um-builtin.php:975 +msgid "Username or E-mail" +msgstr "" + +#: core/um-builtin.php:614 core/um-builtin.php:617 um-config.php:134 +msgid "Nickname" +msgstr "" + +#: core/um-builtin.php:624 core/um-builtin.php:627 +msgid "Registration Date" +msgstr "" + +#: core/um-builtin.php:635 core/um-builtin.php:638 +msgid "Last Login" +msgstr "" + +#: core/um-builtin.php:646 core/um-builtin.php:649 +msgid "E-mail Address" +msgstr "" + +#: core/um-builtin.php:657 core/um-builtin.php:660 +msgid "Secondary E-mail Address" +msgstr "" + +#: core/um-builtin.php:669 core/um-builtin.php:672 +msgid "Biography" +msgstr "" + +#: core/um-builtin.php:682 core/um-builtin.php:685 +msgid "Birth Date" +msgstr "" + +#: core/um-builtin.php:696 core/um-builtin.php:699 +msgid "Gender" +msgstr "" + +#: core/um-builtin.php:703 +msgid "Male" +msgstr "" + +#: core/um-builtin.php:703 +msgid "Female" +msgstr "" + +#: core/um-builtin.php:707 core/um-builtin.php:710 +msgid "Country" +msgstr "" + +#: core/um-builtin.php:711 +msgid "Choose a Country" +msgstr "" + +#: core/um-builtin.php:719 core/um-builtin.php:722 +msgid "Facebook" +msgstr "" + +#: core/um-builtin.php:737 core/um-builtin.php:740 +msgid "Twitter" +msgstr "" + +#: core/um-builtin.php:755 core/um-builtin.php:758 +msgid "LinkedIn" +msgstr "" + +#: core/um-builtin.php:773 core/um-builtin.php:776 +msgid "Google+" +msgstr "" + +#: core/um-builtin.php:791 core/um-builtin.php:794 +msgid "Instagram" +msgstr "" + +#: core/um-builtin.php:809 core/um-builtin.php:812 core/um-builtin.php:1155 +msgid "Skype ID" +msgstr "" + +#: core/um-builtin.php:824 core/um-builtin.php:827 +msgid "YouTube" +msgstr "" + +#: core/um-builtin.php:842 core/um-builtin.php:845 +msgid "SoundCloud" +msgstr "" + +#: core/um-builtin.php:860 core/um-builtin.php:863 +msgid "VKontakte" +msgstr "" + +#: core/um-builtin.php:878 +msgid "Roles (Dropdown)" +msgstr "" + +#: core/um-builtin.php:881 core/um-builtin.php:893 +msgid "Account Type" +msgstr "" + +#: core/um-builtin.php:890 +msgid "Roles (Radio)" +msgstr "" + +#: core/um-builtin.php:901 +msgid "Languages" +msgstr "" + +#: core/um-builtin.php:904 +msgid "Languages Spoken" +msgstr "" + +#: core/um-builtin.php:905 +msgid "Select languages" +msgstr "" + +#: core/um-builtin.php:913 core/um-builtin.php:916 core/um-builtin.php:1154 +msgid "Phone Number" +msgstr "" + +#: core/um-builtin.php:925 core/um-builtin.php:928 +msgid "Mobile Number" +msgstr "" + +#: core/um-builtin.php:939 +msgid "Profile Photo" +msgstr "" + +#: core/um-builtin.php:942 +msgid "Change your profile photo" +msgstr "" + +#: core/um-builtin.php:943 +msgid "Upload your photo here" +msgstr "" + +#: core/um-builtin.php:953 +msgid "Cover Photo" +msgstr "" + +#: core/um-builtin.php:957 +msgid "Upload profile cover here" +msgstr "" + +#: core/um-builtin.php:968 +msgid "Password Reset" +msgstr "" + +#: core/um-builtin.php:970 +msgid "" +"To reset your password, please enter your email address or username below" +msgstr "" + +#: core/um-builtin.php:978 +msgid "Enter your username or email" +msgstr "" + +#: core/um-builtin.php:988 core/um-builtin.php:991 +msgid "Profile Privacy" +msgstr "" + +#: core/um-builtin.php:992 +msgid "Who can see your public profile?" +msgstr "" + +#: core/um-builtin.php:1004 core/um-builtin.php:1007 +msgid "Hide my profile from directory" +msgstr "" + +#: core/um-builtin.php:1008 +msgid "Here you can hide yourself from appearing in public directory" +msgstr "" + +#: core/um-builtin.php:1023 +msgid "" +"If you confirm, everything related to your profile will be deleted " +"permanently from the site" +msgstr "" + +#: core/um-builtin.php:1144 +msgid "Alphabetic value only" +msgstr "" + +#: core/um-builtin.php:1145 +msgid "Alpha-numeric value" +msgstr "" + +#: core/um-builtin.php:1146 +msgid "English letters only" +msgstr "" + +#: core/um-builtin.php:1147 +msgid "Facebook URL" +msgstr "" + +#: core/um-builtin.php:1148 +msgid "Google+ URL" +msgstr "" + +#: core/um-builtin.php:1149 +msgid "Instagram URL" +msgstr "" + +#: core/um-builtin.php:1150 +msgid "LinkedIn URL" +msgstr "" + +#: core/um-builtin.php:1151 +msgid "VKontakte URL" +msgstr "" + +#: core/um-builtin.php:1152 +msgid "Lowercase only" +msgstr "" + +#: core/um-builtin.php:1153 +msgid "Numeric value only" +msgstr "" + +#: core/um-builtin.php:1156 +msgid "SoundCloud Profile" +msgstr "" + +#: core/um-builtin.php:1157 +msgid "Twitter URL" +msgstr "" + +#: core/um-builtin.php:1158 +msgid "Unique E-mail" +msgstr "" + +#: core/um-builtin.php:1159 +msgid "Unique Metakey value" +msgstr "" + +#: core/um-builtin.php:1160 +msgid "Unique Username" +msgstr "" + +#: core/um-builtin.php:1161 +msgid "Unique Username/E-mail" +msgstr "" + +#: core/um-builtin.php:1162 +msgid "Website URL" +msgstr "" + +#: core/um-builtin.php:1163 +msgid "YouTube Profile" +msgstr "" + +#: core/um-builtin.php:1164 +msgid "Custom Validation" +msgstr "" + +#: core/um-builtin.php:1178 +msgid "Afar" +msgstr "" + +#: core/um-builtin.php:1179 +msgid "Abkhazian" +msgstr "" + +#: core/um-builtin.php:1180 +msgid "Avestan" +msgstr "" + +#: core/um-builtin.php:1181 +msgid "Afrikaans" +msgstr "" + +#: core/um-builtin.php:1182 +msgid "Akan" +msgstr "" + +#: core/um-builtin.php:1183 +msgid "Amharic" +msgstr "" + +#: core/um-builtin.php:1184 +msgid "Aragonese" +msgstr "" + +#: core/um-builtin.php:1185 +msgid "Arabic" +msgstr "" + +#: core/um-builtin.php:1186 +msgid "Assamese" +msgstr "" + +#: core/um-builtin.php:1187 +msgid "Avaric" +msgstr "" + +#: core/um-builtin.php:1188 +msgid "Aymara" +msgstr "" + +#: core/um-builtin.php:1189 +msgid "Azerbaijani" +msgstr "" + +#: core/um-builtin.php:1190 +msgid "Bashkir" +msgstr "" + +#: core/um-builtin.php:1191 +msgid "Belarusian" +msgstr "" + +#: core/um-builtin.php:1192 +msgid "Bulgarian" +msgstr "" + +#: core/um-builtin.php:1193 +msgid "Bihari" +msgstr "" + +#: core/um-builtin.php:1194 +msgid "Bislama" +msgstr "" + +#: core/um-builtin.php:1195 +msgid "Bambara" +msgstr "" + +#: core/um-builtin.php:1196 +msgid "Bengali" +msgstr "" + +#: core/um-builtin.php:1197 +msgid "Tibetan" +msgstr "" + +#: core/um-builtin.php:1198 +msgid "Breton" +msgstr "" + +#: core/um-builtin.php:1199 +msgid "Bosnian" +msgstr "" + +#: core/um-builtin.php:1200 +msgid "Catalan" +msgstr "" + +#: core/um-builtin.php:1201 +msgid "Chechen" +msgstr "" + +#: core/um-builtin.php:1202 +msgid "Chamorro" +msgstr "" + +#: core/um-builtin.php:1203 +msgid "Corsican" +msgstr "" + +#: core/um-builtin.php:1204 +msgid "Cree" +msgstr "" + +#: core/um-builtin.php:1205 +msgid "Czech" +msgstr "" + +#: core/um-builtin.php:1206 +msgid "Church Slavic" +msgstr "" + +#: core/um-builtin.php:1207 +msgid "Chuvash" +msgstr "" + +#: core/um-builtin.php:1208 +msgid "Welsh" +msgstr "" + +#: core/um-builtin.php:1209 +msgid "Danish" +msgstr "" + +#: core/um-builtin.php:1210 +msgid "German" +msgstr "" + +#: core/um-builtin.php:1211 +msgid "Divehi" +msgstr "" + +#: core/um-builtin.php:1212 +msgid "Dzongkha" +msgstr "" + +#: core/um-builtin.php:1213 +msgid "Ewe" +msgstr "" + +#: core/um-builtin.php:1214 +msgid "Greek" +msgstr "" + +#: core/um-builtin.php:1215 +msgid "English" +msgstr "" + +#: core/um-builtin.php:1216 +msgid "Esperanto" +msgstr "" + +#: core/um-builtin.php:1217 +msgid "Spanish" +msgstr "" + +#: core/um-builtin.php:1218 +msgid "Estonian" +msgstr "" + +#: core/um-builtin.php:1219 +msgid "Basque" +msgstr "" + +#: core/um-builtin.php:1220 +msgid "Persian" +msgstr "" + +#: core/um-builtin.php:1221 +msgid "Fulah" +msgstr "" + +#: core/um-builtin.php:1222 +msgid "Finnish" +msgstr "" + +#: core/um-builtin.php:1223 +msgid "Fijian" +msgstr "" + +#: core/um-builtin.php:1224 +msgid "Faroese" +msgstr "" + +#: core/um-builtin.php:1225 +msgid "French" +msgstr "" + +#: core/um-builtin.php:1226 +msgid "Western Frisian" +msgstr "" + +#: core/um-builtin.php:1227 +msgid "Irish" +msgstr "" + +#: core/um-builtin.php:1228 +msgid "Scottish Gaelic" +msgstr "" + +#: core/um-builtin.php:1229 +msgid "Galician" +msgstr "" + +#: core/um-builtin.php:1230 +msgid "Guarani" +msgstr "" + +#: core/um-builtin.php:1231 +msgid "Gujarati" +msgstr "" + +#: core/um-builtin.php:1232 +msgid "Manx" +msgstr "" + +#: core/um-builtin.php:1233 +msgid "Hausa" +msgstr "" + +#: core/um-builtin.php:1234 +msgid "Hebrew" +msgstr "" + +#: core/um-builtin.php:1235 +msgid "Hindi" +msgstr "" + +#: core/um-builtin.php:1236 +msgid "Hiri Motu" +msgstr "" + +#: core/um-builtin.php:1237 +msgid "Croatian" +msgstr "" + +#: core/um-builtin.php:1238 +msgid "Haitian" +msgstr "" + +#: core/um-builtin.php:1239 +msgid "Hungarian" +msgstr "" + +#: core/um-builtin.php:1240 +msgid "Armenian" +msgstr "" + +#: core/um-builtin.php:1241 +msgid "Herero" +msgstr "" + +#: core/um-builtin.php:1242 +msgid "Interlingua (International Auxiliary Language Association)" +msgstr "" + +#: core/um-builtin.php:1243 +msgid "Indonesian" +msgstr "" + +#: core/um-builtin.php:1244 +msgid "Interlingue" +msgstr "" + +#: core/um-builtin.php:1245 +msgid "Igbo" +msgstr "" + +#: core/um-builtin.php:1246 +msgid "Sichuan Yi" +msgstr "" + +#: core/um-builtin.php:1247 +msgid "Inupiaq" +msgstr "" + +#: core/um-builtin.php:1248 +msgid "Ido" +msgstr "" + +#: core/um-builtin.php:1249 +msgid "Icelandic" +msgstr "" + +#: core/um-builtin.php:1250 +msgid "Italian" +msgstr "" + +#: core/um-builtin.php:1251 +msgid "Inuktitut" +msgstr "" + +#: core/um-builtin.php:1252 +msgid "Japanese" +msgstr "" + +#: core/um-builtin.php:1253 +msgid "Javanese" +msgstr "" + +#: core/um-builtin.php:1254 +msgid "Georgian" +msgstr "" + +#: core/um-builtin.php:1255 +msgid "Kongo" +msgstr "" + +#: core/um-builtin.php:1256 +msgid "Kikuyu" +msgstr "" + +#: core/um-builtin.php:1257 +msgid "Kwanyama" +msgstr "" + +#: core/um-builtin.php:1258 +msgid "Kazakh" +msgstr "" + +#: core/um-builtin.php:1259 +msgid "Kalaallisut" +msgstr "" + +#: core/um-builtin.php:1260 +msgid "Khmer" +msgstr "" + +#: core/um-builtin.php:1261 +msgid "Kannada" +msgstr "" + +#: core/um-builtin.php:1262 +msgid "Korean" +msgstr "" + +#: core/um-builtin.php:1263 +msgid "Kanuri" +msgstr "" + +#: core/um-builtin.php:1264 +msgid "Kashmiri" +msgstr "" + +#: core/um-builtin.php:1265 +msgid "Kurdish" +msgstr "" + +#: core/um-builtin.php:1266 +msgid "Komi" +msgstr "" + +#: core/um-builtin.php:1267 +msgid "Cornish" +msgstr "" + +#: core/um-builtin.php:1268 +msgid "Kirghiz" +msgstr "" + +#: core/um-builtin.php:1269 +msgid "Latin" +msgstr "" + +#: core/um-builtin.php:1270 +msgid "Luxembourgish" +msgstr "" + +#: core/um-builtin.php:1271 +msgid "Ganda" +msgstr "" + +#: core/um-builtin.php:1272 +msgid "Limburgish" +msgstr "" + +#: core/um-builtin.php:1273 +msgid "Lingala" +msgstr "" + +#: core/um-builtin.php:1274 +msgid "Lao" +msgstr "" + +#: core/um-builtin.php:1275 +msgid "Lithuanian" +msgstr "" + +#: core/um-builtin.php:1276 +msgid "Luba-Katanga" +msgstr "" + +#: core/um-builtin.php:1277 +msgid "Latvian" +msgstr "" + +#: core/um-builtin.php:1278 +msgid "Malagasy" +msgstr "" + +#: core/um-builtin.php:1279 +msgid "Marshallese" +msgstr "" + +#: core/um-builtin.php:1280 +msgid "Maori" +msgstr "" + +#: core/um-builtin.php:1281 +msgid "Macedonian" +msgstr "" + +#: core/um-builtin.php:1282 +msgid "Malayalam" +msgstr "" + +#: core/um-builtin.php:1283 +msgid "Mongolian" +msgstr "" + +#: core/um-builtin.php:1284 +msgid "Marathi" +msgstr "" + +#: core/um-builtin.php:1285 +msgid "Malay" +msgstr "" + +#: core/um-builtin.php:1286 +msgid "Maltese" +msgstr "" + +#: core/um-builtin.php:1287 +msgid "Burmese" +msgstr "" + +#: core/um-builtin.php:1288 core/um-builtin.php:1519 +msgid "Nauru" +msgstr "" + +#: core/um-builtin.php:1289 +msgid "Norwegian Bokmal" +msgstr "" + +#: core/um-builtin.php:1290 +msgid "North Ndebele" +msgstr "" + +#: core/um-builtin.php:1291 +msgid "Nepali" +msgstr "" + +#: core/um-builtin.php:1292 +msgid "Ndonga" +msgstr "" + +#: core/um-builtin.php:1293 +msgid "Dutch" +msgstr "" + +#: core/um-builtin.php:1294 +msgid "Norwegian Nynorsk" +msgstr "" + +#: core/um-builtin.php:1295 +msgid "Norwegian" +msgstr "" + +#: core/um-builtin.php:1296 +msgid "South Ndebele" +msgstr "" + +#: core/um-builtin.php:1297 +msgid "Navajo" +msgstr "" + +#: core/um-builtin.php:1298 +msgid "Chichewa" +msgstr "" + +#: core/um-builtin.php:1299 +msgid "Occitan" +msgstr "" + +#: core/um-builtin.php:1300 +msgid "Ojibwa" +msgstr "" + +#: core/um-builtin.php:1301 +msgid "Oromo" +msgstr "" + +#: core/um-builtin.php:1302 +msgid "Oriya" +msgstr "" + +#: core/um-builtin.php:1303 +msgid "Ossetian" +msgstr "" + +#: core/um-builtin.php:1304 +msgid "Panjabi" +msgstr "" + +#: core/um-builtin.php:1305 +msgid "Pali" +msgstr "" + +#: core/um-builtin.php:1306 +msgid "Polish" +msgstr "" + +#: core/um-builtin.php:1307 +msgid "Pashto" +msgstr "" + +#: core/um-builtin.php:1308 +msgid "Portuguese" +msgstr "" + +#: core/um-builtin.php:1309 +msgid "Quechua" +msgstr "" + +#: core/um-builtin.php:1310 +msgid "Raeto-Romance" +msgstr "" + +#: core/um-builtin.php:1311 +msgid "Kirundi" +msgstr "" + +#: core/um-builtin.php:1312 +msgid "Romanian" +msgstr "" + +#: core/um-builtin.php:1313 +msgid "Russian" +msgstr "" + +#: core/um-builtin.php:1314 +msgid "Kinyarwanda" +msgstr "" + +#: core/um-builtin.php:1315 +msgid "Sanskrit" +msgstr "" + +#: core/um-builtin.php:1316 +msgid "Sardinian" +msgstr "" + +#: core/um-builtin.php:1317 +msgid "Sindhi" +msgstr "" + +#: core/um-builtin.php:1318 +msgid "Northern Sami" +msgstr "" + +#: core/um-builtin.php:1319 +msgid "Sango" +msgstr "" + +#: core/um-builtin.php:1320 +msgid "Sinhala" +msgstr "" + +#: core/um-builtin.php:1321 +msgid "Slovak" +msgstr "" + +#: core/um-builtin.php:1322 +msgid "Slovenian" +msgstr "" + +#: core/um-builtin.php:1323 +msgid "Samoan" +msgstr "" + +#: core/um-builtin.php:1324 +msgid "Shona" +msgstr "" + +#: core/um-builtin.php:1325 +msgid "Somali" +msgstr "" + +#: core/um-builtin.php:1326 +msgid "Albanian" +msgstr "" + +#: core/um-builtin.php:1327 +msgid "Serbian" +msgstr "" + +#: core/um-builtin.php:1328 +msgid "Swati" +msgstr "" + +#: core/um-builtin.php:1329 +msgid "Southern Sotho" +msgstr "" + +#: core/um-builtin.php:1330 +msgid "Sundanese" +msgstr "" + +#: core/um-builtin.php:1331 +msgid "Swedish" +msgstr "" + +#: core/um-builtin.php:1332 +msgid "Swahili" +msgstr "" + +#: core/um-builtin.php:1333 +msgid "Tamil" +msgstr "" + +#: core/um-builtin.php:1334 +msgid "Telugu" +msgstr "" + +#: core/um-builtin.php:1335 +msgid "Tajik" +msgstr "" + +#: core/um-builtin.php:1336 +msgid "Thai" +msgstr "" + +#: core/um-builtin.php:1337 +msgid "Tigrinya" +msgstr "" + +#: core/um-builtin.php:1338 +msgid "Turkmen" +msgstr "" + +#: core/um-builtin.php:1339 +msgid "Tagalog" +msgstr "" + +#: core/um-builtin.php:1340 +msgid "Tswana" +msgstr "" + +#: core/um-builtin.php:1341 core/um-builtin.php:1589 +msgid "Tonga" +msgstr "" + +#: core/um-builtin.php:1342 +msgid "Turkish" +msgstr "" + +#: core/um-builtin.php:1343 +msgid "Tsonga" +msgstr "" + +#: core/um-builtin.php:1344 +msgid "Tatar" +msgstr "" + +#: core/um-builtin.php:1345 +msgid "Twi" +msgstr "" + +#: core/um-builtin.php:1346 +msgid "Tahitian" +msgstr "" + +#: core/um-builtin.php:1347 +msgid "Uighur" +msgstr "" + +#: core/um-builtin.php:1348 +msgid "Ukrainian" +msgstr "" + +#: core/um-builtin.php:1349 +msgid "Urdu" +msgstr "" + +#: core/um-builtin.php:1350 +msgid "Uzbek" +msgstr "" + +#: core/um-builtin.php:1351 +msgid "Venda" +msgstr "" + +#: core/um-builtin.php:1352 +msgid "Vietnamese" +msgstr "" + +#: core/um-builtin.php:1353 +msgid "Volapuk" +msgstr "" + +#: core/um-builtin.php:1354 +msgid "Walloon" +msgstr "" + +#: core/um-builtin.php:1355 +msgid "Wolof" +msgstr "" + +#: core/um-builtin.php:1356 +msgid "Xhosa" +msgstr "" + +#: core/um-builtin.php:1357 +msgid "Yiddish" +msgstr "" + +#: core/um-builtin.php:1358 +msgid "Yoruba" +msgstr "" + +#: core/um-builtin.php:1359 +msgid "Zhuang" +msgstr "" + +#: core/um-builtin.php:1360 +msgid "Chinese" +msgstr "" + +#: core/um-builtin.php:1361 +msgid "Zulu" +msgstr "" + +#: core/um-builtin.php:1367 +msgid "Afghanistan" +msgstr "" + +#: core/um-builtin.php:1368 +msgid "Åland Islands" +msgstr "" + +#: core/um-builtin.php:1369 +msgid "Albania" +msgstr "" + +#: core/um-builtin.php:1370 +msgid "Algeria" +msgstr "" + +#: core/um-builtin.php:1371 +msgid "American Samoa" +msgstr "" + +#: core/um-builtin.php:1372 +msgid "Andorra" +msgstr "" + +#: core/um-builtin.php:1373 +msgid "Angola" +msgstr "" + +#: core/um-builtin.php:1374 +msgid "Anguilla" +msgstr "" + +#: core/um-builtin.php:1375 +msgid "Antarctica" +msgstr "" + +#: core/um-builtin.php:1376 +msgid "Antigua and Barbuda" +msgstr "" + +#: core/um-builtin.php:1377 +msgid "Argentina" +msgstr "" + +#: core/um-builtin.php:1378 +msgid "Armenia" +msgstr "" + +#: core/um-builtin.php:1379 +msgid "Aruba" +msgstr "" + +#: core/um-builtin.php:1380 +msgid "Australia" +msgstr "" + +#: core/um-builtin.php:1381 +msgid "Austria" +msgstr "" + +#: core/um-builtin.php:1382 +msgid "Azerbaijan" +msgstr "" + +#: core/um-builtin.php:1383 +msgid "Bahamas" +msgstr "" + +#: core/um-builtin.php:1384 +msgid "Bahrain" +msgstr "" + +#: core/um-builtin.php:1385 +msgid "Bangladesh" +msgstr "" + +#: core/um-builtin.php:1386 +msgid "Barbados" +msgstr "" + +#: core/um-builtin.php:1387 +msgid "Belarus" +msgstr "" + +#: core/um-builtin.php:1388 +msgid "Belgium" +msgstr "" + +#: core/um-builtin.php:1389 +msgid "Belize" +msgstr "" + +#: core/um-builtin.php:1390 +msgid "Benin" +msgstr "" + +#: core/um-builtin.php:1391 +msgid "Bermuda" +msgstr "" + +#: core/um-builtin.php:1392 +msgid "Bhutan" +msgstr "" + +#: core/um-builtin.php:1393 +msgid "Bolivia, Plurinational State of" +msgstr "" + +#: core/um-builtin.php:1394 +msgid "Bosnia and Herzegovina" +msgstr "" + +#: core/um-builtin.php:1395 +msgid "Botswana" +msgstr "" + +#: core/um-builtin.php:1396 +msgid "Bouvet Island" +msgstr "" + +#: core/um-builtin.php:1397 +msgid "Brazil" +msgstr "" + +#: core/um-builtin.php:1398 +msgid "British Indian Ocean Territory" +msgstr "" + +#: core/um-builtin.php:1399 +msgid "Brunei Darussalam" +msgstr "" + +#: core/um-builtin.php:1400 +msgid "Bulgaria" +msgstr "" + +#: core/um-builtin.php:1401 +msgid "Burkina Faso" +msgstr "" + +#: core/um-builtin.php:1402 +msgid "Burundi" +msgstr "" + +#: core/um-builtin.php:1403 +msgid "Cambodia" +msgstr "" + +#: core/um-builtin.php:1404 +msgid "Cameroon" +msgstr "" + +#: core/um-builtin.php:1405 +msgid "Canada" +msgstr "" + +#: core/um-builtin.php:1406 +msgid "Cape Verde" +msgstr "" + +#: core/um-builtin.php:1407 +msgid "Cayman Islands" +msgstr "" + +#: core/um-builtin.php:1408 +msgid "Central African Republic" +msgstr "" + +#: core/um-builtin.php:1409 +msgid "Chad" +msgstr "" + +#: core/um-builtin.php:1410 +msgid "Chile" +msgstr "" + +#: core/um-builtin.php:1411 +msgid "China" +msgstr "" + +#: core/um-builtin.php:1412 +msgid "Christmas Island" +msgstr "" + +#: core/um-builtin.php:1413 +msgid "Cocos (Keeling) Islands" +msgstr "" + +#: core/um-builtin.php:1414 +msgid "Colombia" +msgstr "" + +#: core/um-builtin.php:1415 +msgid "Comoros" +msgstr "" + +#: core/um-builtin.php:1416 +msgid "Congo" +msgstr "" + +#: core/um-builtin.php:1417 +msgid "Congo, the Democratic Republic of the" +msgstr "" + +#: core/um-builtin.php:1418 +msgid "Cook Islands" +msgstr "" + +#: core/um-builtin.php:1419 +msgid "Costa Rica" +msgstr "" + +#: core/um-builtin.php:1420 +msgid "Côte d'Ivoire" +msgstr "" + +#: core/um-builtin.php:1421 +msgid "Croatia" +msgstr "" + +#: core/um-builtin.php:1422 +msgid "Cuba" +msgstr "" + +#: core/um-builtin.php:1423 +msgid "Cyprus" +msgstr "" + +#: core/um-builtin.php:1424 +msgid "Czech Republic" +msgstr "" + +#: core/um-builtin.php:1425 +msgid "Denmark" +msgstr "" + +#: core/um-builtin.php:1426 +msgid "Djibouti" +msgstr "" + +#: core/um-builtin.php:1427 +msgid "Dominica" +msgstr "" + +#: core/um-builtin.php:1428 +msgid "Dominican Republic" +msgstr "" + +#: core/um-builtin.php:1429 +msgid "Ecuador" +msgstr "" + +#: core/um-builtin.php:1430 +msgid "Egypt" +msgstr "" + +#: core/um-builtin.php:1431 +msgid "El Salvador" +msgstr "" + +#: core/um-builtin.php:1432 +msgid "Equatorial Guinea" +msgstr "" + +#: core/um-builtin.php:1433 +msgid "Eritrea" +msgstr "" + +#: core/um-builtin.php:1434 +msgid "Estonia" +msgstr "" + +#: core/um-builtin.php:1435 +msgid "Ethiopia" +msgstr "" + +#: core/um-builtin.php:1436 +msgid "Falkland Islands (Malvinas)" +msgstr "" + +#: core/um-builtin.php:1437 +msgid "Faroe Islands" +msgstr "" + +#: core/um-builtin.php:1438 +msgid "Fiji" +msgstr "" + +#: core/um-builtin.php:1439 +msgid "Finland" +msgstr "" + +#: core/um-builtin.php:1440 +msgid "France" +msgstr "" + +#: core/um-builtin.php:1441 +msgid "French Guiana" +msgstr "" + +#: core/um-builtin.php:1442 +msgid "French Polynesia" +msgstr "" + +#: core/um-builtin.php:1443 +msgid "French Southern Territories" +msgstr "" + +#: core/um-builtin.php:1444 +msgid "Gabon" +msgstr "" + +#: core/um-builtin.php:1445 +msgid "Gambia" +msgstr "" + +#: core/um-builtin.php:1446 +msgid "Georgia" +msgstr "" + +#: core/um-builtin.php:1447 +msgid "Germany" +msgstr "" + +#: core/um-builtin.php:1448 +msgid "Ghana" +msgstr "" + +#: core/um-builtin.php:1449 +msgid "Gibraltar" +msgstr "" + +#: core/um-builtin.php:1450 +msgid "Greece" +msgstr "" + +#: core/um-builtin.php:1451 +msgid "Greenland" +msgstr "" + +#: core/um-builtin.php:1452 +msgid "Grenada" +msgstr "" + +#: core/um-builtin.php:1453 +msgid "Guadeloupe" +msgstr "" + +#: core/um-builtin.php:1454 +msgid "Guam" +msgstr "" + +#: core/um-builtin.php:1455 +msgid "Guatemala" +msgstr "" + +#: core/um-builtin.php:1456 +msgid "Guernsey" +msgstr "" + +#: core/um-builtin.php:1457 +msgid "Guinea" +msgstr "" + +#: core/um-builtin.php:1458 +msgid "Guinea-Bissau" +msgstr "" + +#: core/um-builtin.php:1459 +msgid "Guyana" +msgstr "" + +#: core/um-builtin.php:1460 +msgid "Haiti" +msgstr "" + +#: core/um-builtin.php:1461 +msgid "Heard Island and McDonald Islands" +msgstr "" + +#: core/um-builtin.php:1462 +msgid "Holy See (Vatican City State)" +msgstr "" + +#: core/um-builtin.php:1463 +msgid "Honduras" +msgstr "" + +#: core/um-builtin.php:1464 +msgid "Hong Kong" +msgstr "" + +#: core/um-builtin.php:1465 +msgid "Hungary" +msgstr "" + +#: core/um-builtin.php:1466 +msgid "Iceland" +msgstr "" + +#: core/um-builtin.php:1467 +msgid "India" +msgstr "" + +#: core/um-builtin.php:1468 +msgid "Indonesia" +msgstr "" + +#: core/um-builtin.php:1469 +msgid "Iran, Islamic Republic of" +msgstr "" + +#: core/um-builtin.php:1470 +msgid "Iraq" +msgstr "" + +#: core/um-builtin.php:1471 +msgid "Ireland" +msgstr "" + +#: core/um-builtin.php:1472 +msgid "Isle of Man" +msgstr "" + +#: core/um-builtin.php:1473 +msgid "Israel" +msgstr "" + +#: core/um-builtin.php:1474 +msgid "Italy" +msgstr "" + +#: core/um-builtin.php:1475 +msgid "Jamaica" +msgstr "" + +#: core/um-builtin.php:1476 +msgid "Japan" +msgstr "" + +#: core/um-builtin.php:1477 +msgid "Jersey" +msgstr "" + +#: core/um-builtin.php:1478 +msgid "Jordan" +msgstr "" + +#: core/um-builtin.php:1479 +msgid "Kazakhstan" +msgstr "" + +#: core/um-builtin.php:1480 +msgid "Kenya" +msgstr "" + +#: core/um-builtin.php:1481 +msgid "Kiribati" +msgstr "" + +#: core/um-builtin.php:1482 +msgid "Korea, Democratic People's Republic of" +msgstr "" + +#: core/um-builtin.php:1483 +msgid "Korea, Republic of" +msgstr "" + +#: core/um-builtin.php:1484 +msgid "Kuwait" +msgstr "" + +#: core/um-builtin.php:1485 +msgid "Kyrgyzstan" +msgstr "" + +#: core/um-builtin.php:1486 +msgid "Lao People's Democratic Republic" +msgstr "" + +#: core/um-builtin.php:1487 +msgid "Latvia" +msgstr "" + +#: core/um-builtin.php:1488 +msgid "Lebanon" +msgstr "" + +#: core/um-builtin.php:1489 +msgid "Lesotho" +msgstr "" + +#: core/um-builtin.php:1490 +msgid "Liberia" +msgstr "" + +#: core/um-builtin.php:1491 +msgid "Libyan Arab Jamahiriya" +msgstr "" + +#: core/um-builtin.php:1492 +msgid "Liechtenstein" +msgstr "" + +#: core/um-builtin.php:1493 +msgid "Lithuania" +msgstr "" + +#: core/um-builtin.php:1494 +msgid "Luxembourg" +msgstr "" + +#: core/um-builtin.php:1495 +msgid "Macao" +msgstr "" + +#: core/um-builtin.php:1496 +msgid "Macedonia, the former Yugoslav Republic of" +msgstr "" + +#: core/um-builtin.php:1497 +msgid "Madagascar" +msgstr "" + +#: core/um-builtin.php:1498 +msgid "Malawi" +msgstr "" + +#: core/um-builtin.php:1499 +msgid "Malaysia" +msgstr "" + +#: core/um-builtin.php:1500 +msgid "Maldives" +msgstr "" + +#: core/um-builtin.php:1501 +msgid "Mali" +msgstr "" + +#: core/um-builtin.php:1502 +msgid "Malta" +msgstr "" + +#: core/um-builtin.php:1503 +msgid "Marshall Islands" +msgstr "" + +#: core/um-builtin.php:1504 +msgid "Martinique" +msgstr "" + +#: core/um-builtin.php:1505 +msgid "Mauritania" +msgstr "" + +#: core/um-builtin.php:1506 +msgid "Mauritius" +msgstr "" + +#: core/um-builtin.php:1507 +msgid "Mayotte" +msgstr "" + +#: core/um-builtin.php:1508 +msgid "Mexico" +msgstr "" + +#: core/um-builtin.php:1509 +msgid "Micronesia, Federated States of" +msgstr "" + +#: core/um-builtin.php:1510 +msgid "Moldova, Republic of" +msgstr "" + +#: core/um-builtin.php:1511 +msgid "Monaco" +msgstr "" + +#: core/um-builtin.php:1512 +msgid "Mongolia" +msgstr "" + +#: core/um-builtin.php:1513 +msgid "Montenegro" +msgstr "" + +#: core/um-builtin.php:1514 +msgid "Montserrat" +msgstr "" + +#: core/um-builtin.php:1515 +msgid "Morocco" +msgstr "" + +#: core/um-builtin.php:1516 +msgid "Mozambique" +msgstr "" + +#: core/um-builtin.php:1517 +msgid "Myanmar" +msgstr "" + +#: core/um-builtin.php:1518 +msgid "Namibia" +msgstr "" + +#: core/um-builtin.php:1520 +msgid "Nepal" +msgstr "" + +#: core/um-builtin.php:1521 +msgid "Netherlands" +msgstr "" + +#: core/um-builtin.php:1522 +msgid "Netherlands Antilles" +msgstr "" + +#: core/um-builtin.php:1523 +msgid "New Caledonia" +msgstr "" + +#: core/um-builtin.php:1524 +msgid "New Zealand" +msgstr "" + +#: core/um-builtin.php:1525 +msgid "Nicaragua" +msgstr "" + +#: core/um-builtin.php:1526 +msgid "Niger" +msgstr "" + +#: core/um-builtin.php:1527 +msgid "Nigeria" +msgstr "" + +#: core/um-builtin.php:1528 +msgid "Niue" +msgstr "" + +#: core/um-builtin.php:1529 +msgid "Norfolk Island" +msgstr "" + +#: core/um-builtin.php:1530 +msgid "Northern Mariana Islands" +msgstr "" + +#: core/um-builtin.php:1531 +msgid "Norway" +msgstr "" + +#: core/um-builtin.php:1532 +msgid "Oman" +msgstr "" + +#: core/um-builtin.php:1533 +msgid "Pakistan" +msgstr "" + +#: core/um-builtin.php:1534 +msgid "Palau" +msgstr "" + +#: core/um-builtin.php:1535 +msgid "Palestine" +msgstr "" + +#: core/um-builtin.php:1536 +msgid "Panama" +msgstr "" + +#: core/um-builtin.php:1537 +msgid "Papua New Guinea" +msgstr "" + +#: core/um-builtin.php:1538 +msgid "Paraguay" +msgstr "" + +#: core/um-builtin.php:1539 +msgid "Peru" +msgstr "" + +#: core/um-builtin.php:1540 +msgid "Philippines" +msgstr "" + +#: core/um-builtin.php:1541 +msgid "Pitcairn" +msgstr "" + +#: core/um-builtin.php:1542 +msgid "Poland" +msgstr "" + +#: core/um-builtin.php:1543 +msgid "Portugal" +msgstr "" + +#: core/um-builtin.php:1544 +msgid "Puerto Rico" +msgstr "" + +#: core/um-builtin.php:1545 +msgid "Qatar" +msgstr "" + +#: core/um-builtin.php:1546 +msgid "Réunion" +msgstr "" + +#: core/um-builtin.php:1547 +msgid "Romania" +msgstr "" + +#: core/um-builtin.php:1548 +msgid "Russian Federation" +msgstr "" + +#: core/um-builtin.php:1549 +msgid "Rwanda" +msgstr "" + +#: core/um-builtin.php:1550 +msgid "Saint Barthélemy" +msgstr "" + +#: core/um-builtin.php:1551 +msgid "Saint Helena" +msgstr "" + +#: core/um-builtin.php:1552 +msgid "Saint Kitts and Nevis" +msgstr "" + +#: core/um-builtin.php:1553 +msgid "Saint Lucia" +msgstr "" + +#: core/um-builtin.php:1554 +msgid "Saint Martin (French part)" +msgstr "" + +#: core/um-builtin.php:1555 +msgid "Saint Pierre and Miquelon" +msgstr "" + +#: core/um-builtin.php:1556 +msgid "Saint Vincent and the Grenadines" +msgstr "" + +#: core/um-builtin.php:1557 +msgid "Samoa" +msgstr "" + +#: core/um-builtin.php:1558 +msgid "San Marino" +msgstr "" + +#: core/um-builtin.php:1559 +msgid "Sao Tome and Principe" +msgstr "" + +#: core/um-builtin.php:1560 +msgid "Saudi Arabia" +msgstr "" + +#: core/um-builtin.php:1561 +msgid "Senegal" +msgstr "" + +#: core/um-builtin.php:1562 +msgid "Serbia" +msgstr "" + +#: core/um-builtin.php:1563 +msgid "Seychelles" +msgstr "" + +#: core/um-builtin.php:1564 +msgid "Sierra Leone" +msgstr "" + +#: core/um-builtin.php:1565 +msgid "Singapore" +msgstr "" + +#: core/um-builtin.php:1566 +msgid "Slovakia" +msgstr "" + +#: core/um-builtin.php:1567 +msgid "Slovenia" +msgstr "" + +#: core/um-builtin.php:1568 +msgid "Solomon Islands" +msgstr "" + +#: core/um-builtin.php:1569 +msgid "Somalia" +msgstr "" + +#: core/um-builtin.php:1570 +msgid "South Africa" +msgstr "" + +#: core/um-builtin.php:1571 +msgid "South Georgia and the South Sandwich Islands" +msgstr "" + +#: core/um-builtin.php:1572 +msgid "South Sudan" +msgstr "" + +#: core/um-builtin.php:1573 +msgid "Spain" +msgstr "" + +#: core/um-builtin.php:1574 +msgid "Sri Lanka" +msgstr "" + +#: core/um-builtin.php:1575 +msgid "Sudan" +msgstr "" + +#: core/um-builtin.php:1576 +msgid "Suriname" +msgstr "" + +#: core/um-builtin.php:1577 +msgid "Svalbard and Jan Mayen" +msgstr "" + +#: core/um-builtin.php:1578 +msgid "Swaziland" +msgstr "" + +#: core/um-builtin.php:1579 +msgid "Sweden" +msgstr "" + +#: core/um-builtin.php:1580 +msgid "Switzerland" +msgstr "" + +#: core/um-builtin.php:1581 +msgid "Syrian Arab Republic" +msgstr "" + +#: core/um-builtin.php:1582 +msgid "Taiwan, Province of China" +msgstr "" + +#: core/um-builtin.php:1583 +msgid "Tajikistan" +msgstr "" + +#: core/um-builtin.php:1584 +msgid "Tanzania, United Republic of" +msgstr "" + +#: core/um-builtin.php:1585 +msgid "Thailand" +msgstr "" + +#: core/um-builtin.php:1586 +msgid "Timor-Leste" +msgstr "" + +#: core/um-builtin.php:1587 +msgid "Togo" +msgstr "" + +#: core/um-builtin.php:1588 +msgid "Tokelau" +msgstr "" + +#: core/um-builtin.php:1590 +msgid "Trinidad and Tobago" +msgstr "" + +#: core/um-builtin.php:1591 +msgid "Tunisia" +msgstr "" + +#: core/um-builtin.php:1592 +msgid "Turkey" +msgstr "" + +#: core/um-builtin.php:1593 +msgid "Turkmenistan" +msgstr "" + +#: core/um-builtin.php:1594 +msgid "Turks and Caicos Islands" +msgstr "" + +#: core/um-builtin.php:1595 +msgid "Tuvalu" +msgstr "" + +#: core/um-builtin.php:1596 +msgid "Uganda" +msgstr "" + +#: core/um-builtin.php:1597 +msgid "Ukraine" +msgstr "" + +#: core/um-builtin.php:1598 +msgid "United Arab Emirates" +msgstr "" + +#: core/um-builtin.php:1599 +msgid "United Kingdom" +msgstr "" + +#: core/um-builtin.php:1600 +msgid "United States" +msgstr "" + +#: core/um-builtin.php:1601 +msgid "United States Minor Outlying Islands" +msgstr "" + +#: core/um-builtin.php:1602 +msgid "Uruguay" +msgstr "" + +#: core/um-builtin.php:1603 +msgid "Uzbekistan" +msgstr "" + +#: core/um-builtin.php:1604 +msgid "Vanuatu" +msgstr "" + +#: core/um-builtin.php:1605 +msgid "Venezuela, Bolivarian Republic of" +msgstr "" + +#: core/um-builtin.php:1606 +msgid "Viet Nam" +msgstr "" + +#: core/um-builtin.php:1607 +msgid "Virgin Islands, British" +msgstr "" + +#: core/um-builtin.php:1608 +msgid "Virgin Islands, U.S." +msgstr "" + +#: core/um-builtin.php:1609 +msgid "Wallis and Futuna" +msgstr "" + +#: core/um-builtin.php:1610 +msgid "Western Sahara" +msgstr "" + +#: core/um-builtin.php:1611 +msgid "Yemen" +msgstr "" + +#: core/um-builtin.php:1612 +msgid "Zambia" +msgstr "" + +#: core/um-builtin.php:1613 +msgid "Zimbabwe" +msgstr "" + +#: core/um-cron.php:15 +msgid "Once Weekly" +msgstr "" + +#: core/um-datetime.php:26 +msgid "just now" +msgstr "" + +#: core/um-datetime.php:34 +#, php-format +msgid "%s min" +msgstr "" + +#: core/um-datetime.php:36 +#, php-format +msgid "%s mins" +msgstr "" + +#: core/um-datetime.php:45 +#, php-format +msgid "%s hr" +msgstr "" + +#: core/um-datetime.php:47 +#, php-format +msgid "%s hrs" +msgstr "" + +#: core/um-datetime.php:56 +#, php-format +msgid "Yesterday at %s" +msgstr "" + +#: core/um-datetime.php:58 core/um-datetime.php:63 core/um-datetime.php:67 +#: core/um-datetime.php:71 +#, php-format +msgid "%s at %s" +msgstr "" + +#: core/um-datetime.php:88 +#, php-format +msgid "%s year old" +msgstr "" + +#: core/um-datetime.php:90 +#, php-format +msgid "%s years old" +msgstr "" + +#: core/um-datetime.php:92 +msgid "Less than 1 year old" +msgstr "" + +#: core/um-fields.php:749 +msgid "Custom Field" +msgstr "" + +#: core/um-fields.php:1024 +msgid "Please upload a valid image!" +msgstr "" + +#: core/um-fields.php:1032 +msgid "Sorry this is not a valid image." +msgstr "" + +#: core/um-fields.php:1033 +msgid "This image is too large!" +msgstr "" + +#: core/um-fields.php:1034 +msgid "This image is too small!" +msgstr "" + +#: core/um-fields.php:1035 +msgid "You can only upload one image" +msgstr "" + +#: core/um-fields.php:1053 +msgid "Sorry this is not a valid file." +msgstr "" + +#: core/um-fields.php:1054 +msgid "This file is too large!" +msgstr "" + +#: core/um-fields.php:1055 +msgid "This file is too small!" +msgstr "" + +#: core/um-fields.php:1056 +msgid "You can only upload one file" +msgstr "" + +#: core/um-fields.php:1337 +msgid "Current Password" +msgstr "" + +#: core/um-fields.php:1366 +msgid "New Password" +msgstr "" + +#: core/um-fields.php:1398 +#, php-format +msgid "Confirm %s" +msgstr "" + +#: core/um-fields.php:1620 core/um-fields.php:1704 +msgid "Upload Photo" +msgstr "" + +#: core/um-fields.php:1674 core/um-fields.php:1762 +msgid "Processing..." +msgstr "" + +#: core/um-fields.php:1720 core/um-fields.php:1762 +msgid "Change file" +msgstr "" + +#: core/um-fields.php:1762 +msgid "Save" +msgstr "" + +#: core/um-fields.php:2667 +#, php-format +msgid "" +"Your profile is looking a little empty. Why not add some " +"information!" +msgstr "" + +#: core/um-fields.php:2669 +msgid "This user has not added any information to their profile yet." +msgstr "" + +#: core/um-files.php:377 +msgid "This media type is not recognized." +msgstr "" + +#: core/um-files.php:385 +msgid "Your image is invalid or too large!" +msgstr "" + +#: core/um-files.php:391 core/um-files.php:393 +#, php-format +msgid "Your photo is too small. It must be at least %spx wide." +msgstr "" + +#: core/um-files.php:445 +msgid "Ultimate Member: Not a valid temp file" +msgstr "" + +#: core/um-files.php:535 +msgid "Invalid user ID: " +msgstr "" + +#: core/um-files.php:544 core/um-files.php:550 +msgid "Unauthorized to do this attempt." +msgstr "" + +#: core/um-filters-addons.php:16 +msgid "Activated" +msgstr "" + +#: core/um-filters-addons.php:17 +msgid "Deactivated" +msgstr "" + +#: core/um-filters-addons.php:33 +msgid "Tools" +msgstr "" + +#: core/um-filters-addons.php:57 +msgid "Licenses" +msgstr "" + +#: core/um-filters-fields.php:11 +msgid "Required" +msgstr "" + +#: core/um-filters-fields.php:23 +msgid "Invalid soundcloud track ID" +msgstr "" + +#: core/um-filters-fields.php:82 +#, php-format +msgid "Joined %s" +msgstr "" + +#: core/um-filters-fields.php:93 +#, php-format +msgid "Last login: %s" +msgstr "" + +#: core/um-filters-fields.php:157 +msgid "This file has been removed." +msgstr "" + +#: core/um-filters-fields.php:178 +msgid "Untitled photo" +msgstr "" + +#: core/um-filters-profile.php:10 +msgid "About" +msgstr "" + +#: core/um-filters-profile.php:84 core/um-filters-profile.php:102 +msgid "max" +msgstr "" + +#: core/um-filters-user.php:11 core/um-filters-user.php:35 +#: core/um-filters-user.php:40 +msgid "Approve Membership" +msgstr "" + +#: core/um-filters-user.php:12 core/um-filters-user.php:36 +msgid "Reject Membership" +msgstr "" + +#: core/um-filters-user.php:13 core/um-filters-user.php:44 +msgid "Put as Pending Review" +msgstr "" + +#: core/um-filters-user.php:14 core/um-filters-user.php:48 +msgid "Resend Activation E-mail" +msgstr "" + +#: core/um-filters-user.php:15 +msgid "Deactivate" +msgstr "" + +#: core/um-filters-user.php:16 +msgid "Reactivate" +msgstr "" + +#: core/um-filters-user.php:52 +msgid "Deactivate this account" +msgstr "" + +#: core/um-filters-user.php:56 +msgid "Reactivate this account" +msgstr "" + +#: core/um-filters-user.php:60 +msgid "Delete this user" +msgstr "" + +#: core/um-filters-user.php:66 +msgid "Login as this user" +msgstr "" + +#: core/um-navmenu-walker-edit.php:18 +msgid "Display Mode" +msgstr "" + +#: core/um-navmenu-walker-edit.php:19 +msgid "By Role" +msgstr "" + +#: core/um-navmenu-walker-edit.php:94 +msgid "Who can see this menu link?" +msgstr "" + +#: core/um-navmenu-walker-edit.php:114 +msgid "Select the member roles that can see this link" +msgstr "" + +#: core/um-password.php:33 +msgid "This is not a valid hash, or it has expired." +msgstr "" + +#: core/um-permalinks.php:172 +msgid "This activation link is expired or have already been used." +msgstr "" + +#: core/um-setup.php:137 core/um-setup.php:158 +msgid "Register" +msgstr "" + +#: core/um-setup.php:142 core/um-setup.php:151 +msgid "Login" +msgstr "" + +#: core/um-short-functions.php:513 +msgid "date submitted" +msgstr "" + +#: core/um-short-functions.php:518 +msgid "(empty)" +msgstr "" + +#: core/um-shortcodes.php:205 +msgid "" +"This content has been restricted to logged in users only. Please login to view this content." +msgstr "" + +#: core/um-shortcodes.php:414 +msgid "Default Template" +msgstr "" + +#: core/um-taxonomies.php:19 +msgid "Form" +msgstr "" + +#: core/um-taxonomies.php:20 core/um-taxonomies.php:38 +#: core/um-taxonomies.php:58 +msgid "Add New" +msgstr "" + +#: core/um-taxonomies.php:21 +msgid "Add New Form" +msgstr "" + +#: core/um-taxonomies.php:22 +msgid "Edit Form" +msgstr "" + +#: core/um-taxonomies.php:23 +msgid "You did not create any forms yet" +msgstr "" + +#: core/um-taxonomies.php:24 core/um-taxonomies.php:42 +#: core/um-taxonomies.php:62 +msgid "Nothing found in Trash" +msgstr "" + +#: core/um-taxonomies.php:25 +msgid "Search Forms" +msgstr "" + +#: core/um-taxonomies.php:37 +msgid "User Role" +msgstr "" + +#: core/um-taxonomies.php:39 +msgid "Add New User Role" +msgstr "" + +#: core/um-taxonomies.php:40 +msgid "Edit User Role" +msgstr "" + +#: core/um-taxonomies.php:41 +msgid "You did not create any user roles yet" +msgstr "" + +#: core/um-taxonomies.php:43 +msgid "Search User Roles" +msgstr "" + +#: core/um-taxonomies.php:57 +msgid "Member Directory" +msgstr "" + +#: core/um-taxonomies.php:59 +msgid "Add New Member Directory" +msgstr "" + +#: core/um-taxonomies.php:60 +msgid "Edit Member Directory" +msgstr "" + +#: core/um-taxonomies.php:61 +msgid "You did not create any member directories yet" +msgstr "" + +#: core/um-taxonomies.php:63 +msgid "Search Member Directories" +msgstr "" + +#: core/um-tracking.php:147 +#, php-format +msgid "" +"Allow Ultimate Member to track plugin usage? Opt-in to tracking and our " +"newsletter and we will immediately e-mail you a 20% discount which you can " +"use to purchase our core extensions bundle. No sensitive data is tracked." +msgstr "" + +#: core/um-user-posts.php:67 +msgid "Posts" +msgstr "" + +#: core/um-user-posts.php:72 +msgid "Comments" +msgstr "" + +#: core/um-user.php:77 +msgid "Assign or change the community role for this user" +msgstr "" + +#: core/um-user.php:252 +msgid "Membership Rejected" +msgstr "" + +#: core/um-user.php:256 +msgid "Membership Inactive" +msgstr "" + +#: core/widgets/um-search-widget.php:13 +msgid "Ultimate Member - Search" +msgstr "" + +#: core/widgets/um-search-widget.php:16 +msgid "Shows users they follow in a widget." +msgstr "" + +#: core/widgets/um-search-widget.php:44 +msgid "Search Users" +msgstr "" + +#: core/widgets/um-search-widget.php:57 +msgid "Title:" +msgstr "" + +#: index.php:58 +msgid "Remove this plugin" +msgstr "" + +#: index.php:58 +msgid "Uninstall" +msgstr "" + +#: templates/password-reset.php:21 +msgid "" +"We have sent you a password reset link to your e-mail. Please check your " +"inbox." +msgstr "" + +#: templates/profile/comments-single.php:6 +#, php-format +msgid "On %2$s" +msgstr "" + +#: templates/profile/comments-single.php:15 templates/profile/comments.php:14 +msgid "load more comments" +msgstr "" + +#: templates/profile/comments.php:23 +msgid "You have not made any comments." +msgstr "" + +#: templates/profile/comments.php:23 +msgid "This user has not made any comments." +msgstr "" + +#: templates/profile/posts-single.php:16 +#, php-format +msgid "%s ago" +msgstr "" + +#: templates/profile/posts-single.php:17 +msgid "in" +msgstr "" + +#: templates/profile/posts-single.php:18 +msgid "no comments" +msgstr "" + +#: templates/profile/posts-single.php:18 +msgid "1 comment" +msgstr "" + +#: templates/profile/posts-single.php:18 +#, php-format +msgid "% comments" +msgstr "" + +#: templates/profile/posts-single.php:27 templates/profile/posts.php:16 +msgid "load more posts" +msgstr "" + +#: templates/profile/posts.php:25 +msgid "You have not created any posts." +msgstr "" + +#: templates/profile/posts.php:25 +msgid "This user has not created any posts." +msgstr "" + +#: templates/searchform.php:4 templates/searchform.php:5 +msgctxt "label" +msgid "Search for:" +msgstr "" + +#: templates/searchform.php:5 +msgctxt "placeholder" +msgid "Search …" +msgstr "" + +#: um-config.php:11 um-config.php:68 +msgid "User page" +msgstr "" + +#: um-config.php:12 um-config.php:69 +msgid "Account page" +msgstr "" + +#: um-config.php:13 um-config.php:70 +msgid "Members page" +msgstr "" + +#: um-config.php:14 um-config.php:71 +msgid "Register page" +msgstr "" + +#: um-config.php:15 um-config.php:72 +msgid "Login page" +msgstr "" + +#: um-config.php:16 um-config.php:73 +msgid "Logout page" +msgstr "" + +#: um-config.php:17 um-config.php:74 +msgid "Password reset page" +msgstr "" + +#: um-config.php:34 +msgid "Add page ID" +msgstr "" + +#: um-config.php:46 +msgid "Choose a page..." +msgstr "" + +#: um-config.php:56 +msgid "Setup" +msgstr "" + +#: um-config.php:100 +msgid "Default New User Role" +msgstr "" + +#: um-config.php:101 +msgid "" +"Select the default role that will be assigned to user after registration If " +"you did not specify custom role settings per form." +msgstr "" + +#: um-config.php:104 +msgid "Choose user role..." +msgstr "" + +#: um-config.php:111 +msgid "Profile Permalink Base" +msgstr "" + +#: um-config.php:112 +msgid "" +"Here you can control the permalink structure of the user profile URL globally" +msgstr "" + +#: um-config.php:117 +msgid "First and Last Name with '.'" +msgstr "" + +#: um-config.php:118 +msgid "First and Last Name with '-'" +msgstr "" + +#: um-config.php:119 +msgid "First and Last Name with '+'" +msgstr "" + +#: um-config.php:120 +msgid "User ID" +msgstr "" + +#: um-config.php:122 um-config.php:143 +msgid "Select..." +msgstr "" + +#: um-config.php:129 +msgid "User Display Name" +msgstr "" + +#: um-config.php:130 +msgid "" +"This is the name that will be displayed for users on the front end of your " +"site. Default setting uses first/last name as display name if it exists" +msgstr "" + +#: um-config.php:133 +msgid "Default WP Display Name" +msgstr "" + +#: um-config.php:136 +msgid "First name & last name" +msgstr "" + +#: um-config.php:137 +msgid "Last name & first name" +msgstr "" + +#: um-config.php:138 +msgid "First name & first initial of last name" +msgstr "" + +#: um-config.php:139 +msgid "First initial of first name & last name" +msgstr "" + +#: um-config.php:140 +msgid "First name only" +msgstr "" + +#: um-config.php:141 +msgid "Custom field(s)" +msgstr "" + +#: um-config.php:149 +msgid "Display Name Custom Field(s)" +msgstr "" + +#: um-config.php:150 +msgid "" +"Specify the custom field meta key or custom fields seperated by comma that " +"you want to use to display users name on the frontend of your site" +msgstr "" + +#: um-config.php:157 +msgid "Force display name to be capitalized?" +msgstr "" + +#: um-config.php:166 +msgid "Automatically redirect author page to their profile?" +msgstr "" + +#: um-config.php:168 +msgid "" +"If enabled, author pages will automatically redirect to the user's profile " +"page" +msgstr "" + +#: um-config.php:176 +msgid "Enable Members Directory" +msgstr "" + +#: um-config.php:178 +msgid "Control whether to enable or disable member directories on this site" +msgstr "" + +#: um-config.php:186 +msgid "Use Gravatars?" +msgstr "" + +#: um-config.php:188 +msgid "" +"Do you want to use gravatars instead of the default plugin profile photo (If " +"the user did not upload a custom profile photo / avatar)" +msgstr "" + +#: um-config.php:196 +msgid "Use Gravatar builtin image" +msgstr "" + +#: um-config.php:197 +msgid "" +"Gravatar has a number of built in options which you can also use as defaults" +msgstr "" + +#: um-config.php:201 +msgid "404 ( File Not Found response )" +msgstr "" + +#: um-config.php:202 +msgid "Mystery Man" +msgstr "" + +#: um-config.php:203 +msgid "Identicon" +msgstr "" + +#: um-config.php:204 +msgid "Monsterid" +msgstr "" + +#: um-config.php:205 +msgid "Wavatar" +msgstr "" + +#: um-config.php:206 +msgid "Retro" +msgstr "" + +#: um-config.php:207 +msgid "Blank ( a transparent PNG image )" +msgstr "" + +#: um-config.php:216 +msgid "Use Default plugin avatar as Gravatar's Default avatar" +msgstr "" + +#: um-config.php:218 +msgid "" +"Do you want to use the plugin default avatar instead of the gravatar default " +"photo (If the user did not upload a custom profile photo / avatar)" +msgstr "" + +#: um-config.php:227 +msgid "Require a strong password? (when user resets password only)" +msgstr "" + +#: um-config.php:229 +msgid "" +"Enable or disable a strong password rules on password reset and change " +"procedure" +msgstr "" + +#: um-config.php:237 +msgid "Editable primary email field in profile view" +msgstr "" + +#: um-config.php:239 +msgid "" +"Allow users to edit their primary emails in profile view ( when email " +"address field is added only )" +msgstr "" + +#: um-config.php:261 +msgid "Password Account Tab" +msgstr "" + +#: um-config.php:271 +msgid "Privacy Account Tab" +msgstr "" + +#: um-config.php:273 +msgid "Enable/disable the Privacy account tab in account page" +msgstr "" + +#: um-config.php:281 +msgid "Notifications Account Tab" +msgstr "" + +#: um-config.php:283 +msgid "Enable/disable the Notifications account tab in account page" +msgstr "" + +#: um-config.php:291 +msgid "Delete Account Tab" +msgstr "" + +#: um-config.php:293 +msgid "Enable/disable the Delete account tab in account page" +msgstr "" + +#: um-config.php:301 +msgid "Account Deletion Custom Text" +msgstr "" + +#: um-config.php:302 +msgid "" +"Are you sure you want to delete your account? This will erase all of your " +"account data from the site. To delete your account enter your password below" +msgstr "" + +#: um-config.php:303 +msgid "" +"This is custom text that will be displayed to users before they delete their " +"accounts from your site" +msgstr "" + +#: um-config.php:314 +msgid "Add a First & Last Name fields" +msgstr "" + +#: um-config.php:316 +msgid "" +"Whether to enable these fields on the user account page by default or hide " +"them." +msgstr "" + +#: um-config.php:323 +msgid "Disable First & Last Name fields" +msgstr "" + +#: um-config.php:325 +msgid "" +"Whether to allow users changing their first and last name in account page." +msgstr "" + +#: um-config.php:333 +msgid "Require First & Last Name" +msgstr "" + +#: um-config.php:335 +msgid "Require first and last name?" +msgstr "" + +#: um-config.php:344 +msgid "Allow users to change e-mail" +msgstr "" + +#: um-config.php:346 +msgid "Whether to allow users changing their email in account page." +msgstr "" + +#: um-config.php:354 +msgid "Allow users to hide their profiles from directory" +msgstr "" + +#: um-config.php:356 +msgid "" +"Whether to allow users changing their profile visibility from member " +"directory in account page." +msgstr "" + +#: um-config.php:364 +msgid "Require a strong password?" +msgstr "" + +#: um-config.php:366 +msgid "" +"Enable or disable a strong password rules on account page / change password " +"tab" +msgstr "" + +#: um-config.php:382 +msgid "Access" +msgstr "" + +#: um-config.php:388 +msgid "Panic Key" +msgstr "" + +#: um-config.php:389 +msgid "" +"Panic Key is a random generated key that allow you to access the WordPress " +"backend always regardless of backend settings." +msgstr "" + +#: um-config.php:398 +msgid "Global Site Access" +msgstr "" + +#: um-config.php:400 +msgid "" +"Globally control the access of your site, you can have seperate restrict " +"options per post/page by editing the desired item." +msgstr "" + +#: um-config.php:410 +msgid "Custom Redirect URL" +msgstr "" + +#: um-config.php:411 +msgid "" +"A logged out user will be redirected to this url If he is not permitted to " +"access the site" +msgstr "" + +#: um-config.php:419 +msgid "Exclude the following URLs" +msgstr "" + +#: um-config.php:420 +msgid "" +"Here you can exclude URLs beside the redirect URI to be accessible to " +"everyone" +msgstr "" + +#: um-config.php:421 +msgid "Add New URL" +msgstr "" + +#: um-config.php:427 +msgid "Allow Homepage to be accessible" +msgstr "" + +#: um-config.php:436 +msgid "Allow Category pages to be accessible" +msgstr "" + +#: um-config.php:445 +msgid "Allow Backend Login Screen for Guests" +msgstr "" + +#: um-config.php:447 +msgid "" +"Control whether guests are able to access the WP-admin login screen or not" +msgstr "" + +#: um-config.php:455 +msgid "Disable Admin Login via Frontend" +msgstr "" + +#: um-config.php:457 +msgid "" +"DO NOT turn this option on if you have set the option \"Allow Backend Login " +"Screen for Guests\" to NO. This will result in being locked out of admin." +msgstr "" + +#: um-config.php:466 +msgid "Redirect to alternative login page" +msgstr "" + +#: um-config.php:467 +msgid "" +"If you disable backend access to login screen, specify here where a user " +"will be redirected" +msgstr "" + +#: um-config.php:479 um-config.php:511 +msgid "Custom URL" +msgstr "" + +#: um-config.php:480 um-config.php:512 +msgid "" +"Enter an alternate url here to redirect a user If they try to access the " +"backend register screen" +msgstr "" + +#: um-config.php:487 +msgid "Allow Backend Register Screen for Guests" +msgstr "" + +#: um-config.php:489 +msgid "" +"Control whether guests are able to access the WP-admin register screen or not" +msgstr "" + +#: um-config.php:498 +msgid "Redirect to alternative register page" +msgstr "" + +#: um-config.php:499 +msgid "" +"If you disable backend access to register screen, specify here where a user " +"will be redirected" +msgstr "" + +#: um-config.php:519 +msgid "Enable the Access Control widget for Admins only?" +msgstr "" + +#: um-config.php:528 +msgid "Enable the Reset Password Limit?" +msgstr "" + +#: um-config.php:537 +msgid "Reset Password Limit" +msgstr "" + +#: um-config.php:538 +msgid "" +"Set the maximum reset password limit. If reached the maximum limit, user " +"will be locked from using this." +msgstr "" + +#: um-config.php:548 +msgid "Disable the Reset Password Limit for Admins only?" +msgstr "" + +#: um-config.php:558 +msgid "Whitelisted Backend IPs" +msgstr "" + +#: um-config.php:559 +msgid "" +"Always allow the specified IP addresses to access the backend login screen " +"and WP-admin to avoid being locked from site backend." +msgstr "" + +#: um-config.php:565 +msgid "Blocked IP Addresses" +msgstr "" + +#: um-config.php:566 +msgid "" +"This will block the listed IPs from signing up or signing in to the site, " +"you can use full IP numbers or target specific range with a wildcard" +msgstr "" + +#: um-config.php:572 +msgid "Blocked Email Addresses" +msgstr "" + +#: um-config.php:573 +msgid "" +"This will block the specified e-mail addresses from being able to sign up or " +"sign in to your site. To block an entire domain, use something like *@domain." +"com" +msgstr "" + +#: um-config.php:579 +msgid "Blacklist Words" +msgstr "" + +#: um-config.php:580 +msgid "" +"This option lets you specify blacklist of words to prevent anyone from " +"signing up with such a word as their username" +msgstr "" + +#: um-config.php:595 +msgid "Emails" +msgstr "" + +#: um-config.php:601 +msgid "Mail appears from" +msgstr "" + +#: um-config.php:602 +msgid "e.g. Site Name" +msgstr "" + +#: um-config.php:609 +msgid "Mail appears from address" +msgstr "" + +#: um-config.php:610 um-config.php:932 +msgid "e.g. admin@companyname.com" +msgstr "" + +#: um-config.php:617 +msgid "Use HTML for E-mails?" +msgstr "" + +#: um-config.php:619 +msgid "" +"If you enable HTML for e-mails, you can customize the HTML e-mail templates " +"found in templates/email folder." +msgstr "" + +#: um-config.php:625 um-config.php:633 um-config.php:643 +msgid "Account Welcome Email" +msgstr "" + +#: um-config.php:627 +msgid "" +"Whether to send the user an email when his account is automatically approved" +msgstr "" + +#: um-config.php:634 um-config.php:669 um-config.php:701 um-config.php:733 +#: um-config.php:769 um-config.php:800 um-config.php:831 um-config.php:862 +#: um-config.php:894 um-config.php:949 um-config.php:982 um-config.php:1016 +msgid "Subject Line" +msgstr "" + +#: um-config.php:637 um-config.php:672 um-config.php:704 um-config.php:736 +#: um-config.php:772 um-config.php:803 um-config.php:834 um-config.php:865 +#: um-config.php:897 um-config.php:952 um-config.php:985 um-config.php:1019 +msgid "This is the subject line of the e-mail" +msgstr "" + +#: um-config.php:644 um-config.php:679 um-config.php:711 um-config.php:743 +#: um-config.php:779 um-config.php:810 um-config.php:841 um-config.php:872 +#: um-config.php:904 um-config.php:959 um-config.php:992 um-config.php:1026 +msgid "Message Body" +msgstr "" + +#: um-config.php:660 um-config.php:668 um-config.php:678 +msgid "Account Activation Email" +msgstr "" + +#: um-config.php:662 +msgid "" +"Whether to send the user an email when his account needs e-mail activation" +msgstr "" + +#: um-config.php:692 um-config.php:700 um-config.php:710 +msgid "Pending Review Email" +msgstr "" + +#: um-config.php:694 +msgid "Whether to send the user an email when his account needs admin review" +msgstr "" + +#: um-config.php:724 um-config.php:732 um-config.php:742 +msgid "Account Approved Email" +msgstr "" + +#: um-config.php:726 +msgid "Whether to send the user an email when his account is approved" +msgstr "" + +#: um-config.php:760 um-config.php:768 um-config.php:778 +msgid "Account Rejected Email" +msgstr "" + +#: um-config.php:762 +msgid "Whether to send the user an email when his account is rejected" +msgstr "" + +#: um-config.php:791 um-config.php:799 um-config.php:809 +msgid "Account Deactivated Email" +msgstr "" + +#: um-config.php:793 +msgid "Whether to send the user an email when his account is deactivated" +msgstr "" + +#: um-config.php:822 um-config.php:830 um-config.php:840 +msgid "Account Deleted Email" +msgstr "" + +#: um-config.php:824 +msgid "Whether to send the user an email when his account is deleted" +msgstr "" + +#: um-config.php:853 um-config.php:861 um-config.php:871 +msgid "Password Reset Email" +msgstr "" + +#: um-config.php:855 +msgid "" +"Whether to send an email when users changed their password (Recommended, " +"please keep on)" +msgstr "" + +#: um-config.php:885 um-config.php:893 um-config.php:903 +msgid "Password Changed Email" +msgstr "" + +#: um-config.php:887 +msgid "" +"Whether to send the user an email when he request to reset password " +"(Recommended, please keep on)" +msgstr "" + +#: um-config.php:930 +msgid "Admin E-mail Address" +msgstr "" + +#: um-config.php:938 um-config.php:948 um-config.php:958 +msgid "New User Notification" +msgstr "" + +#: um-config.php:940 +msgid "Whether to receive notification when a new user account is approved" +msgstr "" + +#: um-config.php:965 um-config.php:999 um-config.php:1029 +msgid "This is the content of the e-mail" +msgstr "" + +#: um-config.php:971 um-config.php:981 um-config.php:991 +msgid "Account Needs Review Notification" +msgstr "" + +#: um-config.php:973 +msgid "Whether to receive notification when an account needs admin review" +msgstr "" + +#: um-config.php:1005 um-config.php:1015 um-config.php:1025 +msgid "Account Deletion Notification" +msgstr "" + +#: um-config.php:1007 +msgid "Whether to receive notification when an account is deleted" +msgstr "" + +#: um-config.php:1043 +msgid "Uploads" +msgstr "" + +#: um-config.php:1049 +msgid "Profile Photo Maximum File Size (bytes)" +msgstr "" + +#: um-config.php:1050 +msgid "Sets a maximum size for the uploaded photo" +msgstr "" + +#: um-config.php:1057 +msgid "Cover Photo Maximum File Size (bytes)" +msgstr "" + +#: um-config.php:1058 +msgid "Sets a maximum size for the uploaded cover" +msgstr "" + +#: um-config.php:1065 +msgid "Profile Photo Thumbnail Sizes (px)" +msgstr "" + +#: um-config.php:1066 +msgid "" +"Here you can define which thumbnail sizes will be created for each profile " +"photo upload." +msgstr "" + +#: um-config.php:1069 um-config.php:1079 +msgid "Add New Size" +msgstr "" + +#: um-config.php:1075 +msgid "Cover Photo Thumbnail Sizes (px)" +msgstr "" + +#: um-config.php:1076 +msgid "" +"Here you can define which thumbnail sizes will be created for each cover " +"photo upload." +msgstr "" + +#: um-config.php:1085 +msgid "Image Quality" +msgstr "" + +#: um-config.php:1086 +msgid "" +"Quality is used to determine quality of image uploads, and ranges from 0 " +"(worst quality, smaller file) to 100 (best quality, biggest file). The " +"default range is 60." +msgstr "" + +#: um-config.php:1094 +msgid "Image Upload Maximum Width (px)" +msgstr "" + +#: um-config.php:1095 +msgid "" +"Any image upload above this width will be resized to this limit " +"automatically." +msgstr "" + +#: um-config.php:1103 +msgid "Cover Photo Minimum Width (px)" +msgstr "" + +#: um-config.php:1104 +msgid "This will be the minimum width for cover photo uploads" +msgstr "" + +#: um-config.php:1120 +msgid "SEO" +msgstr "" + +#: um-config.php:1126 +msgid "User Profile Title" +msgstr "" + +#: um-config.php:1128 +msgid "This is the title that is displayed on a specific user profile" +msgstr "" + +#: um-config.php:1135 +msgid "User Profile Dynamic Meta Description" +msgstr "" + +#: um-config.php:1136 +msgid "" +"This will be used in the meta description that is available for search-" +"engines." +msgstr "" + +#: um-config.php:1150 +msgid "Appearance" +msgstr "" + +#: um-config.php:1160 +msgid "General" +msgstr "" + +#: um-config.php:1167 +msgid "Members Default Template" +msgstr "" + +#: um-config.php:1168 +msgid "This will be the default template to output member directory" +msgstr "" + +#: um-config.php:1178 +msgid "General Active Color" +msgstr "" + +#: um-config.php:1180 +msgid "" +"Active color is used commonly with many plugin elements as highlighted color " +"or active selection for example. This color demonstrates the primary active " +"color of the plugin" +msgstr "" + +#: um-config.php:1188 +msgid "General Secondary Color" +msgstr "" + +#: um-config.php:1190 +msgid "" +"Secondary color is used for hovers, or active state for some elements of the " +"plugin" +msgstr "" + +#: um-config.php:1198 +msgid "Default Primary Button Color" +msgstr "" + +#: um-config.php:1207 +msgid "Default Primary Button Hover Color" +msgstr "" + +#: um-config.php:1216 +msgid "Default Primary Button Text Color" +msgstr "" + +#: um-config.php:1225 +msgid "Default Secondary Button Color" +msgstr "" + +#: um-config.php:1234 +msgid "Default Secondary Button Hover Color" +msgstr "" + +#: um-config.php:1243 +msgid "Default Secondary Button Text Color" +msgstr "" + +#: um-config.php:1252 +msgid "Default Help Icon Color" +msgstr "" + +#: um-config.php:1264 +msgid "Form Inputs" +msgstr "" + +#: um-config.php:1271 +msgid "Field Label Color" +msgstr "" + +#: um-config.php:1279 +msgid "Field Border" +msgstr "" + +#: um-config.php:1281 +msgid "The default border-style for input/fields in UM forms" +msgstr "" + +#: um-config.php:1287 +msgid "Field Border on Focus" +msgstr "" + +#: um-config.php:1289 +msgid "The default border style for fields on hover state" +msgstr "" + +#: um-config.php:1296 +msgid "Field Background Color" +msgstr "" + +#: um-config.php:1305 +msgid "Field Background Color on Focus" +msgstr "" + +#: um-config.php:1314 +msgid "Field Text Color" +msgstr "" + +#: um-config.php:1323 +msgid "Field Placeholder Color" +msgstr "" + +#: um-config.php:1332 +msgid "Field Font Icon Color" +msgstr "" + +#: um-config.php:1340 +msgid "Show an asterisk for required fields" +msgstr "" + +#: um-config.php:1350 +msgid "Field Required Asterisk Color" +msgstr "" + +#: um-config.php:1363 +msgid "Profile" +msgstr "" + +#: um-config.php:1370 +msgid "Profile Default Template" +msgstr "" + +#: um-config.php:1371 +msgid "This will be the default template to output profile" +msgstr "" + +#: um-config.php:1379 +msgid "Profile Maximum Width" +msgstr "" + +#: um-config.php:1387 +msgid "Profile Area Maximum Width" +msgstr "" + +#: um-config.php:1389 +msgid "" +"The maximum width of the profile area inside profile (below profile header)" +msgstr "" + +#: um-config.php:1396 +msgid "Profile Shortcode Alignment" +msgstr "" + +#: um-config.php:1400 um-config.php:1793 um-config.php:1895 +msgid "Centered" +msgstr "" + +#: um-config.php:1401 um-config.php:1794 um-config.php:1896 +msgid "Left aligned" +msgstr "" + +#: um-config.php:1402 um-config.php:1795 um-config.php:1897 +msgid "Right aligned" +msgstr "" + +#: um-config.php:1410 +msgid "Profile Field Icons" +msgstr "" + +#: um-config.php:1411 +msgid "This is applicable for edit mode only" +msgstr "" + +#: um-config.php:1414 um-config.php:1807 um-config.php:1909 +msgid "Show inside text field" +msgstr "" + +#: um-config.php:1415 um-config.php:1808 um-config.php:1910 +msgid "Show with label" +msgstr "" + +#: um-config.php:1416 um-config.php:1809 um-config.php:1911 +msgid "Turn off" +msgstr "" + +#: um-config.php:1423 +msgid "Profile Primary Button Text" +msgstr "" + +#: um-config.php:1425 +msgid "The text that is used for updating profile button" +msgstr "" + +#: um-config.php:1431 +msgid "Profile Secondary Button" +msgstr "" + +#: um-config.php:1433 um-config.php:1826 um-config.php:1928 +msgid "Switch on/off the secondary button display in the form" +msgstr "" + +#: um-config.php:1441 +msgid "Profile Secondary Button Text" +msgstr "" + +#: um-config.php:1443 +msgid "The text that is used for cancelling update profile button" +msgstr "" + +#: um-config.php:1451 +msgid "Profile Associated Role" +msgstr "" + +#: um-config.php:1452 +msgid "" +"Normally, you can leave this to default as this restricts the profile per " +"specified role only" +msgstr "" + +#: um-config.php:1461 +msgid "Profile Base Background Color" +msgstr "" + +#: um-config.php:1470 +msgid "Profile Header Background Color" +msgstr "" + +#: um-config.php:1478 +msgid "Default Profile Photo" +msgstr "" + +#: um-config.php:1479 +msgid "" +"You can change the default profile picture globally here. Please make sure " +"that the photo is 300x300px." +msgstr "" + +#: um-config.php:1490 +msgid "Default Cover Photo" +msgstr "" + +#: um-config.php:1491 +msgid "" +"You can change the default cover photo globally here. Please make sure that " +"the default cover is large enough and respects the ratio you are using for " +"cover photos." +msgstr "" + +#: um-config.php:1499 +msgid "" +"The global default of profile photo size. This can be overridden by " +"individual form settings" +msgstr "" + +#: um-config.php:1507 +msgid "" +"Whether to have rounded profile images, rounded corners, or none for the " +"profile photo" +msgstr "" + +#: um-config.php:1519 +msgid "Profile Cover Photos" +msgstr "" + +#: um-config.php:1521 +msgid "Switch on/off the profile cover photos" +msgstr "" + +#: um-config.php:1530 +msgid "Profile Cover Ratio" +msgstr "" + +#: um-config.php:1531 +msgid "Choose global ratio for cover photos of profiles" +msgstr "" + +#: um-config.php:1545 +msgid "Profile Header Meta Text Icon" +msgstr "" + +#: um-config.php:1547 +msgid "Display field icons for related user meta fields in header or not" +msgstr "" + +#: um-config.php:1556 +msgid "Profile Header Meta Text Color" +msgstr "" + +#: um-config.php:1565 +msgid "Profile Header Link Color" +msgstr "" + +#: um-config.php:1574 +msgid "Profile Header Link Hover" +msgstr "" + +#: um-config.php:1583 +msgid "Profile Header Icon Link Color" +msgstr "" + +#: um-config.php:1592 +msgid "Profile Header Icon Link Hover" +msgstr "" + +#: um-config.php:1600 +msgid "Show display name in profile header" +msgstr "" + +#: um-config.php:1602 +msgid "Switch on/off the user name on profile header" +msgstr "" + +#: um-config.php:1610 +msgid "Show social links in profile header" +msgstr "" + +#: um-config.php:1612 +msgid "Switch on/off the social links on profile header" +msgstr "" + +#: um-config.php:1620 +msgid "Show user description in header" +msgstr "" + +#: um-config.php:1622 +msgid "Switch on/off the user description on profile header" +msgstr "" + +#: um-config.php:1630 +msgid "Enable html support for user description" +msgstr "" + +#: um-config.php:1632 +msgid "" +"Switch on/off to enable/disable support for html tags on user description." +msgstr "" + +#: um-config.php:1640 +msgid "User description maximum chars" +msgstr "" + +#: um-config.php:1642 +msgid "" +"Maximum number of characters to allow in user description field in header." +msgstr "" + +#: um-config.php:1649 +msgid "Profile Header Menu Position" +msgstr "" + +#: um-config.php:1651 +msgid "" +"For incompatible themes, please make the menu open from left instead of " +"bottom by default." +msgstr "" + +#: um-config.php:1662 +msgid "Show a custom message if profile is empty" +msgstr "" + +#: um-config.php:1664 +msgid "Switch on/off the custom message that appears when the profile is empty" +msgstr "" + +#: um-config.php:1672 +msgid "Show the emoticon" +msgstr "" + +#: um-config.php:1674 +msgid "Switch on/off the emoticon (sad face) that appears above the message" +msgstr "" + +#: um-config.php:1688 +msgid "Enable profile menu" +msgstr "" + +#: um-config.php:1699 +#, php-format +msgid "%s Tab" +msgstr "" + +#: um-config.php:1710 +#, php-format +msgid "Who can see %s Tab?" +msgstr "" + +#: um-config.php:1711 +msgid "Select which users can view this tab." +msgstr "" + +#: um-config.php:1722 +msgid "Allowed roles" +msgstr "" + +#: um-config.php:1723 +msgid "Select the the user roles allowed to view this tab." +msgstr "" + +#: um-config.php:1726 +msgid "Choose user roles..." +msgstr "" + +#: um-config.php:1736 +msgid "Profile menu default tab" +msgstr "" + +#: um-config.php:1737 +msgid "This will be the default tab on user profile page" +msgstr "" + +#: um-config.php:1746 +msgid "Enable menu icons in desktop view" +msgstr "" + +#: um-config.php:1756 +msgid "Profile Menu" +msgstr "" + +#: um-config.php:1771 +msgid "Registration Default Template" +msgstr "" + +#: um-config.php:1772 +msgid "This will be the default template to output registration" +msgstr "" + +#: um-config.php:1780 +msgid "Registration Maximum Width" +msgstr "" + +#: um-config.php:1782 um-config.php:1884 +msgid "The maximum width this shortcode can take from the page width" +msgstr "" + +#: um-config.php:1789 +msgid "Registration Shortcode Alignment" +msgstr "" + +#: um-config.php:1803 +msgid "Registration Field Icons" +msgstr "" + +#: um-config.php:1804 +msgid "This controls the display of field icons in the registration form" +msgstr "" + +#: um-config.php:1816 +msgid "Registration Primary Button Text" +msgstr "" + +#: um-config.php:1818 um-config.php:1920 +msgid "The text that is used for primary button text" +msgstr "" + +#: um-config.php:1824 +msgid "Registration Secondary Button" +msgstr "" + +#: um-config.php:1834 +msgid "Registration Secondary Button Text" +msgstr "" + +#: um-config.php:1836 um-config.php:1938 +msgid "The text that is used for the secondary button text" +msgstr "" + +#: um-config.php:1843 +msgid "Registration Secondary Button URL" +msgstr "" + +#: um-config.php:1845 um-config.php:1947 +msgid "You can replace default link for this button by entering custom URL" +msgstr "" + +#: um-config.php:1853 +msgid "Registration Default Role" +msgstr "" + +#: um-config.php:1854 +msgid "" +"This will be the default role assigned to users registering thru " +"registration form" +msgstr "" + +#: um-config.php:1873 +msgid "Login Default Template" +msgstr "" + +#: um-config.php:1874 +msgid "This will be the default template to output login" +msgstr "" + +#: um-config.php:1882 +msgid "Login Maximum Width" +msgstr "" + +#: um-config.php:1891 +msgid "Login Shortcode Alignment" +msgstr "" + +#: um-config.php:1905 +msgid "Login Field Icons" +msgstr "" + +#: um-config.php:1906 +msgid "This controls the display of field icons in the login form" +msgstr "" + +#: um-config.php:1918 +msgid "Login Primary Button Text" +msgstr "" + +#: um-config.php:1926 +msgid "Login Secondary Button" +msgstr "" + +#: um-config.php:1936 +msgid "Login Secondary Button Text" +msgstr "" + +#: um-config.php:1945 +msgid "Login Secondary Button URL" +msgstr "" + +#: um-config.php:1954 +msgid "Login Forgot Password Link" +msgstr "" + +#: um-config.php:1956 +msgid "Switch on/off the forgot password link in login form" +msgstr "" + +#: um-config.php:1964 +msgid "Show \"Remember Me\"" +msgstr "" + +#: um-config.php:1966 +msgid "" +"Allow users to choose If they want to stay signed in even after closing the " +"browser. If you do not show this option, the default will be to not remember " +"login session." +msgstr "" + +#: um-config.php:1986 +msgid "" +"Any custom css rules that you specify here will be applied globally to the " +"plugin." +msgstr "" + +#: um-config.php:2004 +msgid "Import & Export Settings" +msgstr "" + +#: um-config.php:2011 +msgid "Cache user's profile data" +msgstr "" + +#: um-config.php:2013 +msgid "Turn off If you have performance issue." +msgstr "" + +#: um-config.php:2021 +msgid "Stop rewriting rules on every load" +msgstr "" + +#: um-config.php:2023 +msgid "" +"Turn on If you have performance issue and are not getting 404 error/" +"conflicts with other plugins/themes." +msgstr "" + +#: um-config.php:2031 +msgid "Stop generating profile slugs in member directory" +msgstr "" + +#: um-config.php:2033 +msgid "Turn on If you have performance issue in member directory." +msgstr "" + +#: um-config.php:2042 +msgid "Current URL Method" +msgstr "" + +#: um-config.php:2043 +msgid "" +"Change this If you are having conflicts with profile links or redirections." +msgstr "" + +#: um-config.php:2046 +msgid "Use SERVER_NAME" +msgstr "" + +#: um-config.php:2047 +msgid "Use HTTP_HOST" +msgstr "" + +#: um-config.php:2054 +msgid "Allow Port forwarding in URL" +msgstr "" + +#: um-config.php:2056 +msgid "Turn on If you want to include port number in URLs" +msgstr "" + +#: um-config.php:2064 +msgid "Force Strings to UTF-8 Encoding" +msgstr "" + +#: um-config.php:2066 +msgid "Turn on If you want to force labels and fields to use UTF-8 encoding" +msgstr "" + +#: um-config.php:2074 +msgid "Enable Time Check Security" +msgstr "" + +#: um-config.php:2076 +msgid "" +"Turn this option off if you have a conflict with other plugins causing a " +"spam bot message to appear unexpectedly." +msgstr "" + +#: um-config.php:2084 +msgid "Disable JS/CSS Compression" +msgstr "" + +#: um-config.php:2086 +msgid "" +"Not recommended. This will load all plugin js and css files separately and " +"may slow down your website. Use this setting for development or debugging " +"purposes only." +msgstr "" + +#: um-config.php:2094 +msgid "Disable Nav Menu Settings" +msgstr "" + +#: um-config.php:2096 +msgid "" +"This can disable the settings that appear in nav menus to apply custom " +"access settings to nav items." +msgstr "" + +#: um-config.php:2104 +msgid "Never load plugin JS and CSS on homepage" +msgstr "" + +#: um-config.php:2106 +msgid "This can disable loading plugin js and css files on home page." +msgstr "" + +#: um-config.php:2115 +msgid "Never load plugin JS and CSS on the following pages" +msgstr "" + +#: um-config.php:2116 +msgid "" +"Enter a url or page slug (e.g /about/) to disable loading the plugin's css " +"and js on that page." +msgstr "" + +#: um-config.php:2117 um-config.php:2126 +msgid "Add New Page" +msgstr "" + +#: um-config.php:2124 +msgid "Only load plugin JS and CSS on the following pages" +msgstr "" + +#: um-config.php:2125 +msgid "" +"Enter a url or page slug (e.g /about/) to enable loading the plugin's css " +"and js on that page." +msgstr "" + +#: um-config.php:2132 +msgid "Enable custom css tab?" +msgstr "" + +#: um-config.php:2141 +msgid "Allow Tracking" +msgstr "" + +#: um-config.php:2154 +msgid "Network Permalink Structure" +msgstr "" + +#: um-config.php:2155 +msgid "" +"Change this If you are having conflicts with profile links or redirections " +"in a multisite setup." +msgstr "" + +#: um-config.php:2158 +msgid "Sub-Domain" +msgstr "" + +#: um-config.php:2159 +msgid "Sub-Directory" +msgstr "" + +#: um-config.php:2167 +msgid "Advanced" +msgstr "" + +#: um-init.php:52 +msgid "BuddyPress Avatar Transfer" +msgstr "" + +#: um-init.php:53 +msgid "" +"This add-on enables you to migrate your custom user photos from BuddyPress " +"to use with Ultimate Member." +msgstr "" + +#: um-init.php:57 +msgid "Gravatar Transfer" +msgstr "" + +#: um-init.php:58 +msgid "" +"This add-on enables you to link gravatar photos to user accounts with their " +"email address." +msgstr "" + +#: um-init.php:62 +msgid "Generate Dummies" +msgstr "" + +#: um-init.php:63 +msgid "This add-on enables you to generate dummies." +msgstr "" + +#: um-init.php:67 +msgid "System Info" +msgstr "" + +#: um-init.php:68 +msgid "This add-on enables you to download system information file." +msgstr "" + +#. Plugin URI of the plugin/theme +#. Author URI of the plugin/theme +msgid "http://ultimatemember.com/" +msgstr "" + +#. Description of the plugin/theme +msgid "" +"The easiest way to create powerful online communities and beautiful user " +"profiles with WordPress" +msgstr "" From 1306f39e278a81a368c4e83de156a67da4df9f48 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Wed, 7 Jun 2017 20:36:24 +0800 Subject: [PATCH 04/28] Update ReadMe --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f413cf1e..848223d8 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ GNU Version 2 or Any Later Version Releases ==================== -[Pre-Release Version: 1.3.85.9](https://github.com/ultimatemember/ultimatemember/releases). +[Pre-Release Version: 1.3.85.12](https://github.com/ultimatemember/ultimatemember/releases). [Official Release Version: 1.3.83](https://github.com/ultimatemember/ultimatemember/releases). From 2294a815fb0217df7af1377fa14d3d24b2139974 Mon Sep 17 00:00:00 2001 From: denisbaranov Date: Thu, 8 Jun 2017 14:43:42 +0300 Subject: [PATCH 05/28] Fixed double click for android device --- assets/js/um-account.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/js/um-account.js b/assets/js/um-account.js index d7678b36..b49b913b 100644 --- a/assets/js/um-account.js +++ b/assets/js/um-account.js @@ -6,7 +6,7 @@ jQuery(document).ready(function() { jQuery('.um-account-tab[data-tab='+current_tab+']').show(); } - jQuery(document).on('touchstart click','.um-account-side li a',function(e){ + jQuery(document).on('click','.um-account-side li a',function(e){ e.preventDefault(); var link = jQuery(this); @@ -30,7 +30,7 @@ jQuery(document).ready(function() { }); }); - jQuery(document).on('touchstart click','.um-account-nav a',function(e){ + jQuery(document).on('click','.um-account-nav a',function(e){ e.preventDefault(); var tab_ = jQuery(this).attr('data-tab'); From ea87899031fdee368f7a290036aca2163d26db32 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Thu, 8 Jun 2017 20:18:24 +0800 Subject: [PATCH 06/28] update minified script version --- assets/js/um.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/um.min.js b/assets/js/um.min.js index d3ed1af2..67a54624 100644 --- a/assets/js/um.min.js +++ b/assets/js/um.min.js @@ -5,4 +5,4 @@ a="error",y.error=i=e||a}y.aborted&&(n("upload aborted"),a=null),y.status&&(a=y. i.item.enable===-1?!n:n||e.picki.item.max.pick},i.prototype.parse=function(e,t,i){var n=this,r={};return t&&"string"==typeof t?(i&&i.format||(i=i||{},i.format=n.settings.format),n.formats.toArray(i.format).map(function(e){var i=n.formats[e],o=i?a.trigger(i,n,[t,r]):e.replace(/^!/,"").length;i&&(r[e]=t.substr(0,o)),t=t.substr(o)}),[r.yyyy||r.yy,+(r.mm||r.m)-1,r.dd||r.d]):t},i.prototype.formats=function(){function e(e,t,i){var n=e.match(/[^\x00-\x7F]+|\w+/)[0];return i.mm||i.m||(i.m=t.indexOf(n)+1),n.length}function t(e){return e.match(/\w+/)[0].length}return{d:function(e,t){return e?a.digits(e):t.date},dd:function(e,t){return e?2:a.lead(t.date)},ddd:function(e,i){return e?t(e):this.settings.weekdaysShort[i.day]},dddd:function(e,i){return e?t(e):this.settings.weekdaysFull[i.day]},m:function(e,t){return e?a.digits(e):t.month+1},mm:function(e,t){return e?2:a.lead(t.month+1)},mmm:function(t,i){var n=this.settings.monthsShort;return t?e(t,n,i):n[i.month]},mmmm:function(t,i){var n=this.settings.monthsFull;return t?e(t,n,i):n[i.month]},yy:function(e,t){return e?2:(""+t.year).slice(2)},yyyy:function(e,t){return e?4:t.year},toArray:function(e){return e.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)},toString:function(e,t){var i=this;return i.formats.toArray(e).map(function(e){return a.trigger(i.formats[e],i,[0,t])||e.replace(/^!/,"")}).join("")}}}(),i.prototype.isDateExact=function(e,i){var n=this;return a.isInteger(e)&&a.isInteger(i)||"boolean"==typeof e&&"boolean"==typeof i?e===i:(a.isDate(e)||t.isArray(e))&&(a.isDate(i)||t.isArray(i))?n.create(e).pick===n.create(i).pick:!(!t.isPlainObject(e)||!t.isPlainObject(i))&&(n.isDateExact(e.from,i.from)&&n.isDateExact(e.to,i.to))},i.prototype.isDateOverlap=function(e,i){var n=this,r=n.settings.firstDay?1:0;return a.isInteger(e)&&(a.isDate(i)||t.isArray(i))?(e=e%7+r,e===n.create(i).day+1):a.isInteger(i)&&(a.isDate(e)||t.isArray(e))?(i=i%7+r,i===n.create(e).day+1):!(!t.isPlainObject(e)||!t.isPlainObject(i))&&n.overlapRanges(e,i)},i.prototype.flipEnable=function(e){var t=this.item;t.enable=e||(t.enable==-1?1:-1)},i.prototype.deactivate=function(e,i){var n=this,r=n.item.disable.slice(0);return"flip"==i?n.flipEnable():i===!1?(n.flipEnable(1),r=[]):i===!0?(n.flipEnable(-1),r=[]):i.map(function(e){for(var i,o=0;o=p.year&&c.month>=p.month||!e&&c.year<=h.year&&c.month<=h.month?" "+i.klass.navDisabled:""),"data-nav="+(e||-1)+" "+a.ariaAttr({role:"button",controls:t.$node[0].id+"_table"})+' title="'+(e?i.labelMonthNext:i.labelMonthPrev)+'"')},g=function(){var n=i.showMonthsShort?i.monthsShort:i.monthsFull;return i.selectMonths?a.node("select",a.group({min:0,max:11,i:1,node:"option",item:function(e){return[n[e],0,"value="+e+(c.month==e?" selected":"")+(c.year==h.year&&ep.month?" disabled":"")]}}),i.klass.selectMonth,(e?"":"disabled")+" "+a.ariaAttr({controls:t.$node[0].id+"_table"})+' title="'+i.labelMonthSelect+'"'):a.node("div",n[c.month],i.klass.month)},v=function(){var n=c.year,r=i.selectYears===!0?5:~~(i.selectYears/2);if(r){var o=h.year,s=p.year,l=n-r,u=n+r;if(o>l&&(u+=o-l,l=o),sf?f:d,u=s}return a.node("select",a.group({min:l,max:u,i:1,node:"option",item:function(e){return[e,0,"value="+e+(n==e?" selected":"")]}}),i.klass.selectYear,(e?"":"disabled")+" "+a.ariaAttr({controls:t.$node[0].id+"_table"})+' title="'+i.labelYearSelect+'"')}return a.node("div",n,i.klass.year)};return a.node("div",(i.selectYears?v()+g():g()+v())+m()+m(1),i.klass.header)+a.node("table",f+a.node("tbody",a.group({min:0,max:r-1,i:1,node:"tr",item:function(e){var r=i.firstDay&&0===t.create([c.year,c.month,1]).day?-7:0;return[a.group({min:n*e-c.day+r+1,max:function(){return this.min+n-1},i:1,node:"td",item:function(e){e=t.create([c.year,c.month,e+(i.firstDay?1:0)]);var n=l&&l.pick==e.pick,r=u&&u.pick==e.pick,o=d&&t.disabled(e)||e.pickp.pick,f=a.trigger(t.formats.toString,t,[i.format,e]);return[a.node("div",e.date,function(t){return t.push(c.month==e.month?i.klass.infocus:i.klass.outfocus),s.pick==e.pick&&t.push(i.klass.now),n&&t.push(i.klass.selected),r&&t.push(i.klass.highlighted),o&&t.push(i.klass.disabled),t.join(" ")}([i.klass.day]),"data-pick="+e.pick+" "+a.ariaAttr({role:"gridcell",label:f,selected:!(!n||t.$node.val()!==f)||null,activedescendant:!!r||null,disabled:!!o||null})),"",a.ariaAttr({role:"presentation"})]}})]}})),i.klass.table,'id="'+t.$node[0].id+'_table" '+a.ariaAttr({role:"grid",controls:t.$node[0].id,readonly:!0}))+a.node("div",a.node("button",i.today,i.klass.buttonToday,"type=button data-pick="+s.pick+(e&&!t.disabled(s)?"":" disabled")+" "+a.ariaAttr({controls:t.$node[0].id}))+a.node("button",i.clear,i.klass.buttonClear,"type=button data-clear=1"+(e?"":" disabled")+" "+a.ariaAttr({controls:t.$node[0].id}))+a.node("button",i.close,i.klass.buttonClose,"type=button data-close=true "+(e?"":" disabled")+" "+a.ariaAttr({controls:t.$node[0].id})),i.klass.footer)},i.defaults=function(e){return{labelMonthNext:"Next month",labelMonthPrev:"Previous month",labelMonthSelect:"Select a month",labelYearSelect:"Select a year",monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],today:"Today",clear:"Clear",close:"Close",closeOnSelect:!0,closeOnClear:!0,format:"d mmmm, yyyy",klass:{table:e+"table",header:e+"header",navPrev:e+"nav--prev",navNext:e+"nav--next",navDisabled:e+"nav--disabled",month:e+"month",year:e+"year",selectMonth:e+"select--month",selectYear:e+"select--year",weekdays:e+"weekday",day:e+"day",disabled:e+"day--disabled",selected:e+"day--selected",highlighted:e+"day--highlighted",now:e+"day--today",infocus:e+"day--infocus",outfocus:e+"day--outfocus",footer:e+"footer",buttonClear:e+"button--clear",buttonToday:e+"button--today",buttonClose:e+"button--close"}}}(e.klasses().picker+"__"),e.extend("pickadate",i)}),function(e){"function"==typeof define&&define.amd?define(["picker","jquery"],e):"object"==typeof exports?module.exports=e(require("./picker.js"),require("jquery")):e(Picker,jQuery)}(function(e,t){function i(e,t){var i=this,n=e.$node[0].value,r=e.$node.data("value"),a=r||n,o=r?t.formatSubmit:t.format;i.settings=t,i.$node=e.$node,i.queue={interval:"i",min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse create validate",view:"parse create validate",disable:"deactivate",enable:"activate"},i.item={},i.item.clear=null,i.item.interval=t.interval||30,i.item.disable=(t.disable||[]).slice(0),i.item.enable=-function(e){return e[0]===!0?e.shift():-1}(i.item.disable),i.set("min",t.min).set("max",t.max).set("now"),a?i.set("select",a,{format:o}):i.set("select",null).set("highlight",i.item.now),i.key={40:1,38:-1,39:1,37:-1,go:function(e){i.set("highlight",i.item.highlight.pick+e*i.item.interval,{interval:e*i.item.interval}),this.render()}},e.on("render",function(){var i=e.$root.children(),n=i.find("."+t.klass.viewset),r=function(e){return["webkit","moz","ms","o",""].map(function(t){return(t?"-"+t+"-":"")+e})},a=function(e,t){r("transform").map(function(i){e.css(i,t)}),r("transition").map(function(i){e.css(i,t)})};n.length&&(a(i,"none"),i[0].scrollTop=~~n.position().top-2*n[0].clientHeight,a(i,""))},1).on("open",function(){e.$root.find("button").attr("disabled",!1)},1).on("close",function(){e.$root.find("button").attr("disabled",!0)},1)}var n=24,r=60,a=12,o=n*r,s=e._;i.prototype.set=function(e,t,i){var n=this,r=n.item;return null===t?("clear"==e&&(e="select"),r[e]=t,n):(r["enable"==e?"disable":"flip"==e?"enable":e]=n.queue[e].split(" ").map(function(r){return t=n[r](e,t,i)}).pop(),"select"==e?n.set("highlight",r.select,i):"highlight"==e?n.set("view",r.highlight,i):"interval"==e?n.set("min",r.min,i).set("max",r.max,i):e.match(/^(flip|min|max|disable|enable)$/)&&(r.select&&n.disabled(r.select)&&n.set("select",t,i),r.highlight&&n.disabled(r.highlight)&&n.set("highlight",t,i),"min"==e&&n.set("max",r.max,i)),n)},i.prototype.get=function(e){return this.item[e]},i.prototype.create=function(e,i,a){var l=this;return i=void 0===i?e:i,s.isDate(i)&&(i=[i.getHours(),i.getMinutes()]),t.isPlainObject(i)&&s.isInteger(i.pick)?i=i.pick:t.isArray(i)?i=+i[0]*r+ +i[1]:s.isInteger(i)||(i=l.now(e,i,a)),"max"==e&&i=e.from.pick&&t.pick<=e.to.pick},i.prototype.overlapRanges=function(e,t){var i=this;return e=i.createRange(e.from,e.to),t=i.createRange(t.from,t.to),i.withinRange(e,t.from)||i.withinRange(e,t.to)||i.withinRange(t,e.from)||i.withinRange(t,e.to)},i.prototype.now=function(e,t){var i,n=this.item.interval,a=new Date,o=a.getHours()*r+a.getMinutes(),l=s.isInteger(t);return o-=o%n,i=t<0&&n*t+o<=-n,o+="min"==e&&i?0:n,l&&(o+=n*(i&&"max"!=e?t+1:t)),o},i.prototype.normalize=function(e,t){var i=this.item.interval,n=this.item.min&&this.item.min.pick||0;return t-="min"==e?0:(t-n)%i},i.prototype.measure=function(e,i,a){var o=this;return i||(i="min"==e?[0,0]:[n-1,r-1]),"string"==typeof i?i=o.parse(e,i):i===!0||s.isInteger(i)?i=o.now(e,i,a):t.isPlainObject(i)&&s.isInteger(i.pick)&&(i=o.normalize(e,i.pick,a)),i},i.prototype.validate=function(e,t,i){var n=this,r=i&&i.interval?i.interval:n.item.interval;return n.disabled(t)&&(t=n.shift(t,r)),t=n.scope(t),n.disabled(t)&&(t=n.shift(t,r*-1)),t},i.prototype.disabled=function(e){var i=this,n=i.item.disable.filter(function(n){return s.isInteger(n)?e.hour==n:t.isArray(n)||s.isDate(n)?e.pick==i.create(n).pick:t.isPlainObject(n)?i.withinRange(n,e):void 0});return n=n.length&&!n.filter(function(e){return t.isArray(e)&&"inverted"==e[2]||t.isPlainObject(e)&&e.inverted}).length,i.item.enable===-1?!n:n||e.picki.item.max.pick},i.prototype.shift=function(e,t){var i=this,n=i.item.min.pick,r=i.item.max.pick;for(t=t||i.item.interval;i.disabled(e)&&(e=i.create(e.pick+=t),!(e.pick<=n||e.pick>=r)););return e},i.prototype.scope=function(e){var t=this.item.min.pick,i=this.item.max.pick;return this.create(e.pick>i?i:e.pickt.time%o?"a.m.":"p.m."},A:function(e,t){return e?2:o/2>t.time%o?"AM":"PM"},toArray:function(e){return e.split(/(h{1,2}|H{1,2}|i|a|A|!.)/g)},toString:function(e,t){var i=this;return i.formats.toArray(e).map(function(e){return s.trigger(i.formats[e],i,[0,t])||e.replace(/^!/,"")}).join("")}},i.prototype.isTimeExact=function(e,i){var n=this;return s.isInteger(e)&&s.isInteger(i)||"boolean"==typeof e&&"boolean"==typeof i?e===i:(s.isDate(e)||t.isArray(e))&&(s.isDate(i)||t.isArray(i))?n.create(e).pick===n.create(i).pick:!(!t.isPlainObject(e)||!t.isPlainObject(i))&&(n.isTimeExact(e.from,i.from)&&n.isTimeExact(e.to,i.to))},i.prototype.isTimeOverlap=function(e,i){var n=this;return s.isInteger(e)&&(s.isDate(i)||t.isArray(i))?e===n.create(i).hour:s.isInteger(i)&&(s.isDate(e)||t.isArray(e))?i===n.create(e).hour:!(!t.isPlainObject(e)||!t.isPlainObject(i))&&n.overlapRanges(e,i)},i.prototype.flipEnable=function(e){var t=this.item;t.enable=e||(t.enable==-1?1:-1)},i.prototype.deactivate=function(e,i){var n=this,r=n.item.disable.slice(0);return"flip"==i?n.flipEnable():i===!1?(n.flipEnable(1),r=[]):i===!0?(n.flipEnable(-1),r=[]):i.map(function(e){for(var i,a=0;a0?t:this.item.interval},i.prototype.nodes=function(e){var t=this,i=t.settings,n=t.item.select,r=t.item.highlight,a=t.item.view,o=t.item.disable;return s.node("ul",s.group({min:t.item.min.pick,max:t.item.max.pick,i:t.item.interval,node:"li",item:function(e){e=t.create(e);var l=e.pick,u=n&&n.pick==l,c=r&&r.pick==l,d=o&&t.disabled(e),h=s.trigger(t.formats.toString,t,[i.format,e]);return[s.trigger(t.formats.toString,t,[s.trigger(i.formatLabel,t,[e])||i.format,e]),function(e){return u&&e.push(i.klass.selected),c&&e.push(i.klass.highlighted),a&&a.pick==l&&e.push(i.klass.viewset),d&&e.push(i.klass.disabled),e.join(" ")}([i.klass.listItem]),"data-pick="+e.pick+" "+s.ariaAttr({role:"option",label:h,selected:!(!u||t.$node.val()!==h)||null,activedescendant:!!c||null,disabled:!!d||null})]}})+s.node("li",s.node("button",i.clear,i.klass.buttonClear,"type=button data-clear=1"+(e?"":" disabled")+" "+s.ariaAttr({controls:t.$node[0].id})),"",s.ariaAttr({role:"presentation"})),i.klass.list,s.ariaAttr({role:"listbox",controls:t.$node[0].id}))},i.defaults=function(e){return{clear:"Clear",format:"h:i A",interval:30,closeOnSelect:!0,closeOnClear:!0,klass:{picker:e+" "+e+"--time",holder:e+"__holder",list:e+"__list",listItem:e+"__list-item",disabled:e+"__list-item--disabled",selected:e+"__list-item--selected",highlighted:e+"__list-item--highlighted",viewset:e+"__list-item--viewset",now:e+"__list-item--now",buttonClear:e+"__button--clear"}}}(e.klasses().picker),e.extend("pickatime",i)}),[].map||(Array.prototype.map=function(e,t){for(var i=this,n=i.length,r=new Array(n),a=0;a>>0;if("function"!=typeof e)throw new TypeError;for(var n=[],r=arguments[1],a=0;a>>0;if(0===i)return-1;var n=0;if(arguments.length>1&&(n=Number(arguments[1]),n!=n?n=0:0!==n&&n!=1/0&&n!=-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),n>=i)return-1;for(var r=n>=0?n:Math.max(i-Math.abs(n),0);r>>0:t>>>0;(r=e.exec(i))&&(a=r.index+r[0].length,!(a>u&&(s.push(i.slice(u,r.index)),!compliantExecNpcg&&r.length>1&&r[0].replace(n,function(){for(var e=1;e1&&r.index=t)));)e.lastIndex===r.index&&e.lastIndex++;return u===i.length?!o&&e.test("")||s.push(""):s.push(i.slice(u)),s.length>t?s.slice(0,t):s},function(e){"use strict";var t={init:function(i){return this.each(function(){this.self=e(this),t.destroy.call(this.self),this.opt=e.extend(!0,{},e.fn.raty.defaults,i),t._adjustCallback.call(this),t._adjustNumber.call(this),"img"!==this.opt.starType&&t._adjustStarType.call(this),t._adjustPath.call(this),t._createStars.call(this),this.opt.cancel&&t._createCancel.call(this),this.opt.precision&&t._adjustPrecision.call(this),t._createScore.call(this),t._apply.call(this,this.opt.score),t._target.call(this,this.opt.score),this.opt.readOnly?t._lock.call(this):(this.style.cursor="pointer",t._binds.call(this)),this.self.data("options",this.opt)})},_adjustCallback:function(){for(var e=["number","readOnly","score","scoreName","target"],t=0;t0&&this.score.val(t._between(e,0,this.opt.number)),t._roundStars.call(this,e))},_between:function(e,t,i){return Math.min(Math.max(parseFloat(e),t),i)},_binds:function(){this.cancel&&(t._bindOverCancel.call(this),t._bindClickCancel.call(this),t._bindOutCancel.call(this)),t._bindOver.call(this),t._bindClick.call(this),t._bindOut.call(this)},_bindClick:function(){var t=this;t.stars.on("click.raty",function(i){var n=e(this);t.score.val(t.opt.half||t.opt.precision?t.self.data("score"):this.alt||n.data("alt")),t.opt.click&&t.opt.click.call(t,+t.score.val(),i)})},_bindClickCancel:function(){var e=this;e.cancel.on("click.raty",function(t){e.score.removeAttr("value"),e.opt.click&&e.opt.click.call(e,null,t)})},_bindOut:function(){var e=this;e.self.on("mouseleave.raty",function(i){var n=+e.score.val()||void 0;t._apply.call(e,n),t._target.call(e,n,i),e.opt.mouseout&&e.opt.mouseout.call(e,n,i)})},_bindOutCancel:function(){var e=this;e.cancel.on("mouseleave.raty",function(i){var n=e.opt.cancelOff;if("img"!==e.opt.starType&&(n=e.opt.cancelClass+" "+n),t._setIcon.call(e,this,n),e.opt.mouseout){var r=+e.score.val()||void 0;e.opt.mouseout.call(e,r,i)}})},_bindOver:function(){var e=this,i=e.opt.half?"mousemove.raty":"mouseover.raty";e.stars.on(i,function(i){var n=t._getScoreByPosition.call(e,i,this);t._fill.call(e,n),e.opt.half&&(t._roundStars.call(e,n),e.self.data("score",n)),t._target.call(e,n,i),e.opt.mouseover&&e.opt.mouseover.call(e,n,i)})},_bindOverCancel:function(){var e=this;e.cancel.on("mouseover.raty",function(i){var n=e.opt.path+e.opt.starOff,r=e.opt.cancelOn;"img"===e.opt.starType?e.stars.attr("src",n):(r=e.opt.cancelClass+" "+r,e.stars.attr("class",n)),t._setIcon.call(e,this,r),t._target.call(e,null,i),e.opt.mouseover&&e.opt.mouseover.call(e,null)})},_buildScoreField:function(){return e("",{name:this.opt.scoreName,type:"hidden"}).appendTo(this)},_createCancel:function(){var t=this.opt.path+this.opt.cancelOff,i=e("<"+this.opt.starType+" />",{title:this.opt.cancelHint,class:this.opt.cancelClass});"img"===this.opt.starType?i.attr({src:t,alt:"x"}):i.attr("data-alt","x").addClass(t),"left"===this.opt.cancelPlace?this.self.prepend(" ").prepend(i):this.self.append(" ").append(i),this.cancel=i},_createScore:function(){var i=e(this.opt.targetScore);this.score=i.length?i:t._buildScoreField.call(this)},_createStars:function(){for(var i=1;i<=this.opt.number;i++){var n=t._nameForIndex.call(this,i),r={alt:i,src:this.opt.path+this.opt[n]};"img"!==this.opt.starType&&(r={"data-alt":i,class:r.src}),r.title=t._getHint.call(this,i),e("<"+this.opt.starType+" />",r).appendTo(this),this.opt.space&&this.self.append(ii){var s=this.opt.iconRange[i];r=t._getRangeIcon.call(this,s,o),n<=s.range&&t._setIcon.call(this,a,r),n===s.range&&i++}else r=this.opt[o?"starOn":"starOff"],t._setIcon.call(this,a,r)}},_getRangeIcon:function(e,t){return t?e.on||this.opt.starOn:e.off||this.opt.starOff},_getScoreByPosition:function(i,n){var r=parseInt(n.alt||n.getAttribute("data-alt"),10);if(this.opt.half){var a=t._getSize.call(this),o=parseFloat((i.pageX-e(n).offset().left)/a);r=this.opt.precision?r-1+o:r-1+(o>.5?1:.5)}return r},_getSize:function(){var e;return e="img"===this.opt.starType?this.stars[0].width:parseFloat(this.stars.eq(0).css("font-size")),e||t._error.call(this,"Could not be possible get the icon size!"),e},_turnOn:function(e,t){return this.opt.single?e===t:e<=t},_getHint:function(e){var t=this.opt.hints[e-1];return""===t?"":t||e},_lock:function(){var e=parseInt(this.score.val(),10),i=e?t._getHint.call(this,e):this.opt.noRatedMsg;this.style.cursor="",this.title=i,this.score.prop("readonly",!0),this.stars.prop("title",i),this.cancel&&this.cancel.hide(),this.self.data("readonly",!0)},_nameForIndex:function(e){return this.opt.score&&this.opt.score>=e?"starOn":"starOff"},_roundStars:function(e){var i=(e%1).toFixed(2);if(i>this.opt.round.down){var n="starOn";this.opt.halfShow&&i1?t:t[0]},move:function(i){return this.each(function(){var n=parseInt(i,10),r=e(this).data("options"),a=(+i).toFixed(1).split(".")[1];n>=r.number&&(n=r.number-1,a=10);var o=t._getSize.call(this),s=o/10,l=e(this.stars[n]),u=l.offset().left+s*parseInt(a,10),c=e.Event("mousemove",{pageX:u});l.trigger(c)})},readOnly:function(i){return this.each(function(){var n=e(this);n.data("readonly")!==i&&(i?(n.off(".raty").children("img").off(".raty"),t._lock.call(this)):(t._binds.call(this),t._unlock.call(this)),n.data("readonly",i))})},reload:function(){return t.set.call(this,{})},score:function(){var i=e(this);return arguments.length?t.setScore.apply(i,arguments):t.getScore.call(i)},set:function(t){return this.each(function(){var i=e(this),n=i.data("options"),r=e.extend({},n,t);i.raty(r)})},setScore:function(i){return this.each(function(){e(this).data("readonly")!==!0&&(t._apply.call(this,i),t._target.call(this,i))})}};e.fn.raty=function(i){return t[i]?t[i].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof i&&i?void e.error("Method "+i+" does not exist!"):t.init.apply(this,arguments)},e.fn.raty.defaults={cancel:!1,cancelClass:"raty-cancel",cancelHint:"Cancel this rating!",cancelOff:"cancel-off.png",cancelOn:"cancel-on.png",cancelPlace:"left",click:void 0,half:!1,halfShow:!0,hints:["bad","poor","regular","good","gorgeous"],iconRange:void 0,mouseout:void 0,mouseover:void 0,noRatedMsg:"Not rated yet!",number:5,numberMax:20,path:void 0,precision:!1,readOnly:!1,round:{down:.25,full:.6,up:.76},score:void 0,scoreName:"score",single:!1,space:!0,starHalf:"star-half.png",starOff:"star-off.png",starOn:"star-on.png",starType:"img",target:void 0,targetFormat:"{score}",targetKeep:!1,targetScore:void 0,targetText:"",targetType:"hint"}}(jQuery),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"undefined"!=typeof module&&module.exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){"use strict";function t(t){return!t.nodeName||e.inArray(t.nodeName.toLowerCase(),["iframe","#document","html","body"])!==-1}function i(t){return e.isFunction(t)||e.isPlainObject(t)?t:{top:t,left:t}}var n=e.scrollTo=function(t,i,n){return e(window).scrollTo(t,i,n)};return n.defaults={axis:"xy",duration:0,limit:!0},e.fn.scrollTo=function(r,a,o){"object"==typeof a&&(o=a,a=0),"function"==typeof o&&(o={onAfter:o}),"max"===r&&(r=9e9),o=e.extend({},n.defaults,o),a=a||o.duration;var s=o.queue&&o.axis.length>1;return s&&(a/=2),o.offset=i(o.offset),o.over=i(o.over),this.each(function(){function l(t){var i=e.extend({},o,{queue:!0,duration:a,complete:t&&function(){t.call(d,p,o)}});h.animate(f,i)}if(null!==r){var u,c=t(this),d=c?this.contentWindow||window:this,h=e(d),p=r,f={};switch(typeof p){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(p)){p=i(p);break}if(p=c?e(p):e(p,d),!p.length)return;case"object":(p.is||p.style)&&(u=(p=e(p)).offset())}var m=e.isFunction(o.offset)&&o.offset(d,p)||o.offset;e.each(o.axis.split(""),function(e,t){var i="x"===t?"Left":"Top",r=i.toLowerCase(),a="scroll"+i,g=h[a](),v=n.max(d,t);if(u)f[a]=u[r]+(c?0:g-h.offset()[r]),o.margin&&(f[a]-=parseInt(p.css("margin"+i),10)||0,f[a]-=parseInt(p.css("border"+i+"Width"),10)||0),f[a]+=m[r]||0,o.over[r]&&(f[a]+=p["x"===t?"width":"height"]()*o.over[r]);else{var y=p[r];f[a]=y.slice&&"%"===y.slice(-1)?parseFloat(y)/100*v:y}o.limit&&/^\d+$/.test(f[a])&&(f[a]=f[a]<=0?0:Math.min(f[a],v)),!e&&o.axis.length>1&&(g===f[a]?f={}:s&&(l(o.onAfterFirst),f={}))}),l(o.onAfter)}})},n.max=function(i,n){var r="x"===n?"Width":"Height",a="scroll"+r;if(!t(i))return i[a]-e(i)[r.toLowerCase()]();var o="client"+r,s=i.ownerDocument||i.document,l=s.documentElement,u=s.body;return Math.max(l[a],u[a])-Math.min(l[o],u[o])},e.Tween.propHooks.scrollLeft=e.Tween.propHooks.scrollTop={get:function(t){return e(t.elem)[t.prop]()},set:function(t){var i=this.get(t);if(t.options.interrupt&&t._last&&t._last!==i)return e(t.elem).stop();var n=Math.round(t.now);i!==n&&(e(t.elem)[t.prop](n),t._last=this.get(t))}},n}),!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){function t(t){var o=t||window.event,s=l.call(arguments,1),u=0,d=0,h=0,p=0,f=0,m=0;if(t=e.event.fix(o),t.type="mousewheel","detail"in o&&(h=-1*o.detail),"wheelDelta"in o&&(h=o.wheelDelta),"wheelDeltaY"in o&&(h=o.wheelDeltaY),"wheelDeltaX"in o&&(d=-1*o.wheelDeltaX),"axis"in o&&o.axis===o.HORIZONTAL_AXIS&&(d=-1*h,h=0),u=0===h?d:h,"deltaY"in o&&(h=-1*o.deltaY,u=h),"deltaX"in o&&(d=o.deltaX,0===h&&(u=-1*d)),0!==h||0!==d){if(1===o.deltaMode){var g=e.data(this,"mousewheel-line-height");u*=g,h*=g,d*=g}else if(2===o.deltaMode){var v=e.data(this,"mousewheel-page-height");u*=v,h*=v,d*=v}if(p=Math.max(Math.abs(h),Math.abs(d)),(!a||a>p)&&(a=p,n(o,p)&&(a/=40)),n(o,p)&&(u/=40,d/=40,h/=40),u=Math[u>=1?"floor":"ceil"](u/a),d=Math[d>=1?"floor":"ceil"](d/a),h=Math[h>=1?"floor":"ceil"](h/a),c.settings.normalizeOffset&&this.getBoundingClientRect){var y=this.getBoundingClientRect();f=t.clientX-y.left,m=t.clientY-y.top}return t.deltaX=d,t.deltaY=h,t.deltaFactor=a,t.offsetX=f,t.offsetY=m,t.deltaMode=0,s.unshift(t,u,d,h),r&&clearTimeout(r),r=setTimeout(i,200),(e.event.dispatch||e.event.handle).apply(this,s)}}function i(){a=null}function n(e,t){return c.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120===0}var r,a,o=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],s="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],l=Array.prototype.slice;if(e.event.fixHooks)for(var u=o.length;u;)e.event.fixHooks[o[--u]]=e.event.mouseHooks;var c=e.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var i=s.length;i;)this.addEventListener(s[--i],t,!1);else this.onmousewheel=t;e.data(this,"mousewheel-line-height",c.getLineHeight(this)),e.data(this,"mousewheel-page-height",c.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var i=s.length;i;)this.removeEventListener(s[--i],t,!1);else this.onmousewheel=null;e.removeData(this,"mousewheel-line-height"),e.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var i=e(t),n=i["offsetParent"in e.fn?"offsetParent":"parent"]();return n.length||(n=e("body")),parseInt(n.css("fontSize"),10)||parseInt(i.css("fontSize"),10)||16},getPageHeight:function(t){return e(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e); }})}),!function(e){"undefined"!=typeof module&&module.exports?module.exports=e:e(jQuery,window,document)}(function(e){!function(t){var i="function"==typeof define&&define.amd,n="undefined"!=typeof module&&module.exports,r="https:"==document.location.protocol?"https:":"http:",a="cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.12/jquery.mousewheel.min.js";i||(n?require("jquery-mousewheel")(e):e.event.special.mousewheel||e("head").append(decodeURI("%3Cscript src="+r+"//"+a+"%3E%3C/script%3E"))),t()}(function(){var t,i="mCustomScrollbar",n="mCS",r=".mCustomScrollbar",a={setTop:0,setLeft:0,axis:"y",scrollbarPosition:"inside",scrollInertia:950,autoDraggerLength:!0,alwaysShowScrollbar:0,snapOffset:0,mouseWheel:{enable:!0,scrollAmount:"auto",axis:"y",deltaFactor:"auto",disableOver:["select","option","keygen","datalist","textarea"]},scrollButtons:{scrollType:"stepless",scrollAmount:"auto"},keyboard:{enable:!0,scrollType:"stepless",scrollAmount:"auto"},contentTouchScroll:25,advanced:{autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",updateOnContentResize:!0,updateOnImageLoad:!0},theme:"light",callbacks:{onTotalScrollOffset:0,onTotalScrollBackOffset:0,alwaysTriggerOffsets:!0}},o=0,s={},l=window.attachEvent&&!window.addEventListener?1:0,u=!1,c=["mCSB_dragger_onDrag","mCSB_scrollTools_onDrag","mCS_img_loaded","mCS_disabled","mCS_destroyed","mCS_no_scrollbar","mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer","mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight"],d={init:function(t){var t=e.extend(!0,{},a,t),i=h.call(this);if(t.live){var l=t.liveSelector||this.selector||r,u=e(l);if("off"===t.live)return void f(l);s[l]=setTimeout(function(){u.mCustomScrollbar(t),"once"===t.live&&u.length&&f(l)},500)}else f(l);return t.setWidth=t.set_width?t.set_width:t.setWidth,t.setHeight=t.set_height?t.set_height:t.setHeight,t.axis=t.horizontalScroll?"x":m(t.axis),t.scrollInertia=t.scrollInertia>0&&t.scrollInertia<17?17:t.scrollInertia,"object"!=typeof t.mouseWheel&&1==t.mouseWheel&&(t.mouseWheel={enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1}),t.mouseWheel.scrollAmount=t.mouseWheelPixels?t.mouseWheelPixels:t.mouseWheel.scrollAmount,t.mouseWheel.normalizeDelta=t.advanced.normalizeMouseWheelDelta?t.advanced.normalizeMouseWheelDelta:t.mouseWheel.normalizeDelta,t.scrollButtons.scrollType=g(t.scrollButtons.scrollType),p(t),e(i).each(function(){var i=e(this);if(!i.data(n)){i.data(n,{idx:++o,opt:t,scrollRatio:{y:null,x:null},overflowed:null,contentReset:{y:null,x:null},bindEvents:!1,tweenRunning:!1,sequential:{},langDir:i.css("direction"),cbOffsets:null,trigger:null});var r=i.data(n),a=r.opt,s=i.data("mcs-axis"),l=i.data("mcs-scrollbar-position"),u=i.data("mcs-theme");s&&(a.axis=s),l&&(a.scrollbarPosition=l),u&&(a.theme=u,p(a)),v.call(this),e("#mCSB_"+r.idx+"_container img:not(."+c[2]+")").addClass(c[2]),d.update.call(null,i)}})},update:function(t,i){var r=t||h.call(this);return e(r).each(function(){var t=e(this);if(t.data(n)){var r=t.data(n),a=r.opt,o=e("#mCSB_"+r.idx+"_container"),s=[e("#mCSB_"+r.idx+"_dragger_vertical"),e("#mCSB_"+r.idx+"_dragger_horizontal")];if(!o.length)return;r.tweenRunning&&Y(t),t.hasClass(c[3])&&t.removeClass(c[3]),t.hasClass(c[4])&&t.removeClass(c[4]),_.call(this),b.call(this),"y"===a.axis||a.advanced.autoExpandHorizontalScroll||o.css("width",y(o.children())),r.overflowed=S.call(this),Q.call(this),a.autoDraggerLength&&x.call(this),j.call(this),$.call(this);var l=[Math.abs(o[0].offsetTop),Math.abs(o[0].offsetLeft)];"x"!==a.axis&&(r.overflowed[0]?s[0].height()>s[0].parent().height()?k.call(this):(X(t,l[0].toString(),{dir:"y",dur:0,overwrite:"none"}),r.contentReset.y=null):(k.call(this),"y"===a.axis?D.call(this):"yx"===a.axis&&r.overflowed[1]&&X(t,l[1].toString(),{dir:"x",dur:0,overwrite:"none"}))),"y"!==a.axis&&(r.overflowed[1]?s[1].width()>s[1].parent().width()?k.call(this):(X(t,l[1].toString(),{dir:"x",dur:0,overwrite:"none"}),r.contentReset.x=null):(k.call(this),"x"===a.axis?D.call(this):"yx"===a.axis&&r.overflowed[0]&&X(t,l[0].toString(),{dir:"y",dur:0,overwrite:"none"}))),i&&r&&(2===i&&a.callbacks.onImageLoad&&"function"==typeof a.callbacks.onImageLoad?a.callbacks.onImageLoad.call(this):3===i&&a.callbacks.onSelectorChange&&"function"==typeof a.callbacks.onSelectorChange?a.callbacks.onSelectorChange.call(this):a.callbacks.onUpdate&&"function"==typeof a.callbacks.onUpdate&&a.callbacks.onUpdate.call(this)),U.call(this)}})},scrollTo:function(t,i){if("undefined"!=typeof t&&null!=t){var r=h.call(this);return e(r).each(function(){var r=e(this);if(r.data(n)){var a=r.data(n),o=a.opt,s={trigger:"external",scrollInertia:o.scrollInertia,scrollEasing:"mcsEaseInOut",moveDragger:!1,timeout:60,callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},l=e.extend(!0,{},s,i),u=F.call(this,t),c=l.scrollInertia>0&&l.scrollInertia<17?17:l.scrollInertia;u[0]=W.call(this,u[0],"y"),u[1]=W.call(this,u[1],"x"),l.moveDragger&&(u[0]*=a.scrollRatio.y,u[1]*=a.scrollRatio.x),l.dur=c,setTimeout(function(){null!==u[0]&&"undefined"!=typeof u[0]&&"x"!==o.axis&&a.overflowed[0]&&(l.dir="y",l.overwrite="all",X(r,u[0].toString(),l)),null!==u[1]&&"undefined"!=typeof u[1]&&"y"!==o.axis&&a.overflowed[1]&&(l.dir="x",l.overwrite="none",X(r,u[1].toString(),l))},l.timeout)}})}},stop:function(){var t=h.call(this);return e(t).each(function(){var t=e(this);t.data(n)&&Y(t)})},disable:function(t){var i=h.call(this);return e(i).each(function(){var i=e(this);i.data(n)&&(i.data(n),U.call(this,"remove"),D.call(this),t&&k.call(this),Q.call(this,!0),i.addClass(c[3]))})},destroy:function(){var t=h.call(this);return e(t).each(function(){var r=e(this);if(r.data(n)){var a=r.data(n),o=a.opt,s=e("#mCSB_"+a.idx),l=e("#mCSB_"+a.idx+"_container"),u=e(".mCSB_"+a.idx+"_scrollbar");o.live&&f(o.liveSelector||e(t).selector),U.call(this,"remove"),D.call(this),k.call(this),r.removeData(n),Z(this,"mcs"),u.remove(),l.find("img."+c[2]).removeClass(c[2]),s.replaceWith(l.contents()),r.removeClass(i+" _"+n+"_"+a.idx+" "+c[6]+" "+c[7]+" "+c[5]+" "+c[3]).addClass(c[4])}})}},h=function(){return"object"!=typeof e(this)||e(this).length<1?r:this},p=function(t){var i=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"],n=["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"],r=["minimal","minimal-dark"],a=["minimal","minimal-dark"],o=["minimal","minimal-dark"];t.autoDraggerLength=!(e.inArray(t.theme,i)>-1)&&t.autoDraggerLength,t.autoExpandScrollbar=!(e.inArray(t.theme,n)>-1)&&t.autoExpandScrollbar,t.scrollButtons.enable=!(e.inArray(t.theme,r)>-1)&&t.scrollButtons.enable,t.autoHideScrollbar=e.inArray(t.theme,a)>-1||t.autoHideScrollbar,t.scrollbarPosition=e.inArray(t.theme,o)>-1?"outside":t.scrollbarPosition},f=function(e){s[e]&&(clearTimeout(s[e]),Z(s,e))},m=function(e){return"yx"===e||"xy"===e||"auto"===e?"yx":"x"===e||"horizontal"===e?"x":"y"},g=function(e){return"stepped"===e||"pixels"===e||"step"===e||"click"===e?"stepped":"stepless"},v=function(){var t=e(this),r=t.data(n),a=r.opt,o=a.autoExpandScrollbar?" "+c[1]+"_expand":"",s=["
    ","
    "],l="yx"===a.axis?"mCSB_vertical_horizontal":"x"===a.axis?"mCSB_horizontal":"mCSB_vertical",u="yx"===a.axis?s[0]+s[1]:"x"===a.axis?s[1]:s[0],d="yx"===a.axis?"
    ":"",h=a.autoHideScrollbar?" "+c[6]:"",p="x"!==a.axis&&"rtl"===r.langDir?" "+c[7]:"";a.setWidth&&t.css("width",a.setWidth),a.setHeight&&t.css("height",a.setHeight),a.setLeft="y"!==a.axis&&"rtl"===r.langDir?"989999px":a.setLeft,t.addClass(i+" _"+n+"_"+r.idx+h+p).wrapInner("
    ");var f=e("#mCSB_"+r.idx),m=e("#mCSB_"+r.idx+"_container");"y"===a.axis||a.advanced.autoExpandHorizontalScroll||m.css("width",y(m.children())),"outside"===a.scrollbarPosition?("static"===t.css("position")&&t.css("position","relative"),t.css("overflow","visible"),f.addClass("mCSB_outside").after(u)):(f.addClass("mCSB_inside").append(u),m.wrap(d)),w.call(this);var g=[e("#mCSB_"+r.idx+"_dragger_vertical"),e("#mCSB_"+r.idx+"_dragger_horizontal")];g[0].css("min-height",g[0].height()),g[1].css("min-width",g[1].width())},y=function(t){return Math.max.apply(Math,t.map(function(){return e(this).outerWidth(!0)}).get())},b=function(){var t=e(this),i=t.data(n),r=i.opt,a=e("#mCSB_"+i.idx+"_container");r.advanced.autoExpandHorizontalScroll&&"y"!==r.axis&&a.css({position:"absolute",width:"auto"}).wrap("
    ").css({width:Math.ceil(a[0].getBoundingClientRect().right+.4)-Math.floor(a[0].getBoundingClientRect().left),position:"relative"}).unwrap()},w=function(){var t=e(this),i=t.data(n),r=i.opt,a=e(".mCSB_"+i.idx+"_scrollbar:first"),o=te(r.scrollButtons.tabindex)?"tabindex='"+r.scrollButtons.tabindex+"'":"",s=["","","",""],l=["x"===r.axis?s[2]:s[0],"x"===r.axis?s[3]:s[1],s[2],s[3]];r.scrollButtons.enable&&a.prepend(l[0]).append(l[1]).next(".mCSB_scrollTools").prepend(l[2]).append(l[3])},_=function(){var t=e(this),i=t.data(n),r=e("#mCSB_"+i.idx),a=t.css("max-height")||"none",o=-1!==a.indexOf("%"),s=t.css("box-sizing");if("none"!==a){var l=o?t.parent().height()*parseInt(a)/100:parseInt(a);"border-box"===s&&(l-=t.innerHeight()-t.height()+(t.outerHeight()-t.innerHeight())),r.css("max-height",Math.round(l))}},x=function(){var t=e(this),i=t.data(n),r=e("#mCSB_"+i.idx),a=e("#mCSB_"+i.idx+"_container"),o=[e("#mCSB_"+i.idx+"_dragger_vertical"),e("#mCSB_"+i.idx+"_dragger_horizontal")],s=[r.height()/a.outerHeight(!1),r.width()/a.outerWidth(!1)],u=[parseInt(o[0].css("min-height")),Math.round(s[0]*o[0].parent().height()),parseInt(o[1].css("min-width")),Math.round(s[1]*o[1].parent().width())],c=l&&u[1]r.height(),s>r.width()]},k=function(){var t=e(this),i=t.data(n),r=i.opt,a=e("#mCSB_"+i.idx),o=e("#mCSB_"+i.idx+"_container"),s=[e("#mCSB_"+i.idx+"_dragger_vertical"),e("#mCSB_"+i.idx+"_dragger_horizontal")];if(Y(t),("x"!==r.axis&&!i.overflowed[0]||"y"===r.axis&&i.overflowed[0])&&(s[0].add(o).css("top",0),X(t,"_resetY")),"y"!==r.axis&&!i.overflowed[1]||"x"===r.axis&&i.overflowed[1]){var l=dx=0;"rtl"===i.langDir&&(l=a.width()-o.outerWidth(!1),dx=Math.abs(l/i.scrollRatio.x)),o.css("left",l),s[1].css("left",dx),X(t,"_resetX")}},$=function(){function t(){o=setTimeout(function(){e.event.special.mousewheel?(clearTimeout(o),E.call(i[0])):t()},100)}var i=e(this),r=i.data(n),a=r.opt;if(!r.bindEvents){if(O.call(this),a.contentTouchScroll&&A.call(this),M.call(this),a.mouseWheel.enable){var o;t()}L.call(this),H.call(this),a.advanced.autoScrollOnFocus&&R.call(this),a.scrollButtons.enable&&B.call(this),a.keyboard.enable&&z.call(this),r.bindEvents=!0}},D=function(){var t=e(this),i=t.data(n),r=i.opt,a=n+"_"+i.idx,o=".mCSB_"+i.idx+"_scrollbar",s=e("#mCSB_"+i.idx+",#mCSB_"+i.idx+"_container,#mCSB_"+i.idx+"_container_wrapper,"+o+" ."+c[12]+",#mCSB_"+i.idx+"_dragger_vertical,#mCSB_"+i.idx+"_dragger_horizontal,"+o+">a"),l=e("#mCSB_"+i.idx+"_container");r.advanced.releaseDraggableSelectors&&s.add(e(r.advanced.releaseDraggableSelectors)),i.bindEvents&&(e(document).unbind("."+a),s.each(function(){e(this).unbind("."+a)}),clearTimeout(t[0]._focusTimeout),Z(t[0],"_focusTimeout"),clearTimeout(i.sequential.step),Z(i.sequential,"step"),clearTimeout(l[0].onCompleteTimeout),Z(l[0],"onCompleteTimeout"),i.bindEvents=!1)},Q=function(t){var i=e(this),r=i.data(n),a=r.opt,o=e("#mCSB_"+r.idx+"_container_wrapper"),s=o.length?o:e("#mCSB_"+r.idx+"_container"),l=[e("#mCSB_"+r.idx+"_scrollbar_vertical"),e("#mCSB_"+r.idx+"_scrollbar_horizontal")],u=[l[0].find(".mCSB_dragger"),l[1].find(".mCSB_dragger")];"x"!==a.axis&&(r.overflowed[0]&&!t?(l[0].add(u[0]).add(l[0].children("a")).css("display","block"),s.removeClass(c[8]+" "+c[10])):(a.alwaysShowScrollbar?(2!==a.alwaysShowScrollbar&&u[0].css("display","none"),s.removeClass(c[10])):(l[0].css("display","none"),s.addClass(c[10])),s.addClass(c[8]))),"y"!==a.axis&&(r.overflowed[1]&&!t?(l[1].add(u[1]).add(l[1].children("a")).css("display","block"),s.removeClass(c[9]+" "+c[11])):(a.alwaysShowScrollbar?(2!==a.alwaysShowScrollbar&&u[1].css("display","none"),s.removeClass(c[11])):(l[1].css("display","none"),s.addClass(c[11])),s.addClass(c[9]))),r.overflowed[0]||r.overflowed[1]?i.removeClass(c[5]):i.addClass(c[5])},T=function(e){var t=e.type;switch(t){case"pointerdown":case"MSPointerDown":case"pointermove":case"MSPointerMove":case"pointerup":case"MSPointerUp":return e.target.ownerDocument!==document?[e.originalEvent.screenY,e.originalEvent.screenX,!1]:[e.originalEvent.pageY,e.originalEvent.pageX,!1];case"touchstart":case"touchmove":case"touchend":var i=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],n=e.originalEvent.touches.length||e.originalEvent.changedTouches.length;return e.target.ownerDocument!==document?[i.screenY,i.screenX,n>1]:[i.pageY,i.pageX,n>1];default:return[e.pageY,e.pageX,!1]}},O=function(){function t(e){var t=f.find("iframe");if(t.length){var i=e?"auto":"none";t.css("pointer-events",i)}}function i(e,t,i,n){if(f[0].idleTimer=d.scrollInertia<233?250:0,r.attr("id")===p[1])var a="x",o=(r[0].offsetLeft-t+n)*c.scrollRatio.x;else var a="y",o=(r[0].offsetTop-e+i)*c.scrollRatio.y;X(s,o.toString(),{dir:a,drag:!0})}var r,a,o,s=e(this),c=s.data(n),d=c.opt,h=n+"_"+c.idx,p=["mCSB_"+c.idx+"_dragger_vertical","mCSB_"+c.idx+"_dragger_horizontal"],f=e("#mCSB_"+c.idx+"_container"),m=e("#"+p[0]+",#"+p[1]),g=d.advanced.releaseDraggableSelectors?m.add(e(d.advanced.releaseDraggableSelectors)):m;m.bind("mousedown."+h+" touchstart."+h+" pointerdown."+h+" MSPointerDown."+h,function(i){if(i.stopImmediatePropagation(),i.preventDefault(),J(i)){u=!0,l&&(document.onselectstart=function(){return!1}),t(!1),Y(s),r=e(this);var n=r.offset(),c=T(i)[0]-n.top,h=T(i)[1]-n.left,p=r.height()+n.top,f=r.width()+n.left;p>c&&c>0&&f>h&&h>0&&(a=c,o=h),C(r,"active",d.autoExpandScrollbar)}}).bind("touchmove."+h,function(e){e.stopImmediatePropagation(),e.preventDefault();var t=r.offset(),n=T(e)[0]-t.top,s=T(e)[1]-t.left;i(a,o,n,s)}),e(document).bind("mousemove."+h+" pointermove."+h+" MSPointerMove."+h,function(e){if(r){var t=r.offset(),n=T(e)[0]-t.top,s=T(e)[1]-t.left;if(a===n)return;i(a,o,n,s)}}).add(g).bind("mouseup."+h+" touchend."+h+" pointerup."+h+" MSPointerUp."+h,function(){r&&(C(r,"active",d.autoExpandScrollbar),r=null),u=!1,l&&(document.onselectstart=null),t(!0)})},A=function(){function i(e){if(!ee(e)||u||T(e)[2])return void(t=0);t=1,_=0,x=0;var i=D.offset();c=T(e)[0]-i.top,d=T(e)[1]-i.left,P=[T(e)[0],T(e)[1]]}function r(e){if(ee(e)&&!u&&!T(e)[2]&&(e.stopImmediatePropagation(),!x||_)){m=K();var t=$.offset(),i=T(e)[0]-t.top,n=T(e)[1]-t.left,r="mcsLinearOut";if(O.push(i),A.push(n),P[2]=Math.abs(T(e)[0]-P[0]),P[3]=Math.abs(T(e)[1]-P[1]),C.overflowed[0])var a=Q[0].parent().height()-Q[0].height(),o=c-i>0&&i-c>-(a*C.scrollRatio.y)&&(2*P[3]0&&n-d>-(s*C.scrollRatio.x)&&(2*P[2]30)){y=1e3/(g-f);var r="mcsEaseOut",a=2.5>y,o=a?[O[O.length-2],A[A.length-2]]:[0,0];v=a?[i-o[0],n-o[1]]:[i-h,n-p];var c=[Math.abs(v[0]),Math.abs(v[1])];y=a?[Math.abs(v[0]/4),Math.abs(v[1]/4)]:[y,y];var d=[Math.abs(D[0].offsetTop)-v[0]*s(c[0]/y[0],y[0]),Math.abs(D[0].offsetLeft)-v[1]*s(c[1]/y[1],y[1])];b="yx"===S.axis?[d[0],d[1]]:"x"===S.axis?[null,d[1]]:[d[0],null],w=[4*c[0]+S.scrollInertia,4*c[1]+S.scrollInertia];var j=parseInt(S.contentTouchScroll)||0;b[0]=c[0]>j?b[0]:0,b[1]=c[1]>j?b[1]:0,C.overflowed[0]&&l(b[0],w[0],r,"y",E,!1),C.overflowed[1]&&l(b[1],w[1],r,"x",E,!1)}}}function s(e,t){var i=[1.5*t,2*t,t/1.5,t/2];return e>90?t>4?i[0]:i[3]:e>60?t>3?i[3]:i[2]:e>30?t>8?i[1]:t>6?i[0]:t>4?t:i[2]:t>8?t:i[3]}function l(e,t,i,n,r,a){e&&X(j,e.toString(),{dur:t,scrollEasing:i,dir:n,overwrite:r,drag:a})}var c,d,h,p,f,m,g,v,y,b,w,_,x,j=e(this),C=j.data(n),S=C.opt,k=n+"_"+C.idx,$=e("#mCSB_"+C.idx),D=e("#mCSB_"+C.idx+"_container"),Q=[e("#mCSB_"+C.idx+"_dragger_vertical"),e("#mCSB_"+C.idx+"_dragger_horizontal")],O=[],A=[],M=0,E="yx"===S.axis?"none":"all",P=[],L=D.find("iframe"),R=["touchstart."+k+" pointerdown."+k+" MSPointerDown."+k,"touchmove."+k+" pointermove."+k+" MSPointerMove."+k,"touchend."+k+" pointerup."+k+" MSPointerUp."+k];D.bind(R[0],function(e){i(e)}).bind(R[1],function(e){r(e)}),$.bind(R[0],function(e){a(e)}).bind(R[2],function(e){o(e)}),L.length&&L.each(function(){e(this).load(function(){I(this)&&e(this.contentDocument||this.contentWindow.document).bind(R[0],function(e){i(e),a(e)}).bind(R[1],function(e){r(e)}).bind(R[2],function(e){o(e)})})})},M=function(){function i(){return window.getSelection?window.getSelection().toString():document.selection&&"Control"!=document.selection.type?document.selection.createRange().text:0}function r(e,t,i){c.type=i&&a?"stepped":"stepless",c.scrollAmount=10,q(o,e,t,"mcsLinearOut",i?60:null)}var a,o=e(this),s=o.data(n),l=s.opt,c=s.sequential,d=n+"_"+s.idx,h=e("#mCSB_"+s.idx+"_container"),p=h.parent();h.bind("mousedown."+d,function(){t||a||(a=1,u=!0)}).add(document).bind("mousemove."+d,function(e){if(!t&&a&&i()){var n=h.offset(),o=T(e)[0]-n.top+h[0].offsetTop,u=T(e)[1]-n.left+h[0].offsetLeft;o>0&&o0&&uo?r("on",38):o>p.height()&&r("on",40)),"y"!==l.axis&&s.overflowed[1]&&(0>u?r("on",37):u>p.width()&&r("on",39)))}}).bind("mouseup."+d,function(){t||(a&&(a=0,r("off",null)),u=!1)})},E=function(){function t(t,n){if(Y(i),!P(i,t.target)){var o="auto"!==a.mouseWheel.deltaFactor?parseInt(a.mouseWheel.deltaFactor):l&&t.deltaFactor<100?100:t.deltaFactor||100;if("x"===a.axis||"x"===a.mouseWheel.axis)var c="x",d=[Math.round(o*r.scrollRatio.x),parseInt(a.mouseWheel.scrollAmount)],h="auto"!==a.mouseWheel.scrollAmount?d[1]:d[0]>=s.width()?.9*s.width():d[0],p=Math.abs(e("#mCSB_"+r.idx+"_container")[0].offsetLeft),f=u[1][0].offsetLeft,m=u[1].parent().width()-u[1].width(),g=t.deltaX||t.deltaY||n;else var c="y",d=[Math.round(o*r.scrollRatio.y),parseInt(a.mouseWheel.scrollAmount)],h="auto"!==a.mouseWheel.scrollAmount?d[1]:d[0]>=s.height()?.9*s.height():d[0],p=Math.abs(e("#mCSB_"+r.idx+"_container")[0].offsetTop),f=u[0][0].offsetTop,m=u[0].parent().height()-u[0].height(),g=t.deltaY||n;"y"===c&&!r.overflowed[0]||"x"===c&&!r.overflowed[1]||(a.mouseWheel.invert&&(g=-g),a.mouseWheel.normalizeDelta&&(g=0>g?-1:1),(g>0&&0!==f||0>g&&f!==m||a.mouseWheel.preventDefault)&&(t.stopImmediatePropagation(),t.preventDefault()),X(i,(p-g*h).toString(),{dir:c}))}}var i=e(this),r=i.data(n),a=r.opt,o=n+"_"+r.idx,s=e("#mCSB_"+r.idx),u=[e("#mCSB_"+r.idx+"_dragger_vertical"),e("#mCSB_"+r.idx+"_dragger_horizontal")],c=e("#mCSB_"+r.idx+"_container").find("iframe");r&&(c.length&&c.each(function(){e(this).load(function(){I(this)&&e(this.contentDocument||this.contentWindow.document).bind("mousewheel."+o,function(e,i){t(e,i)})})}),s.bind("mousewheel."+o,function(e,i){t(e,i)}))},I=function(e){var t=null;try{var i=e.contentDocument||e.contentWindow.document;t=i.body.innerHTML}catch(e){}return null!==t},P=function(t,i){var r=i.nodeName.toLowerCase(),a=t.data(n).opt.mouseWheel.disableOver,o=["select","textarea"];return e.inArray(r,a)>-1&&!(e.inArray(r,o)>-1&&!e(i).is(":focus"))},L=function(){var t=e(this),i=t.data(n),r=n+"_"+i.idx,a=e("#mCSB_"+i.idx+"_container"),o=a.parent(),s=e(".mCSB_"+i.idx+"_scrollbar ."+c[12]);s.bind("touchstart."+r+" pointerdown."+r+" MSPointerDown."+r,function(){u=!0}).bind("touchend."+r+" pointerup."+r+" MSPointerUp."+r,function(){u=!1}).bind("click."+r,function(n){if(e(n.target).hasClass(c[12])||e(n.target).hasClass("mCSB_draggerRail")){Y(t);var r=e(this),s=r.find(".mCSB_dragger");if(r.parent(".mCSB_scrollTools_horizontal").length>0){if(!i.overflowed[1])return;var l="x",u=n.pageX>s.offset().left?-1:1,d=Math.abs(a[0].offsetLeft)-.9*u*o.width()}else{if(!i.overflowed[0])return;var l="y",u=n.pageY>s.offset().top?-1:1,d=Math.abs(a[0].offsetTop)-.9*u*o.height()}X(t,d.toString(),{dir:l,scrollEasing:"mcsEaseInOut"})}})},R=function(){var t=e(this),i=t.data(n),r=i.opt,a=n+"_"+i.idx,o=e("#mCSB_"+i.idx+"_container"),s=o.parent();o.bind("focusin."+a,function(){var i=e(document.activeElement),n=o.find(".mCustomScrollBox").length,a=0;i.is(r.advanced.autoScrollOnFocus)&&(Y(t),clearTimeout(t[0]._focusTimeout),t[0]._focusTimer=n?(a+17)*n:0,t[0]._focusTimeout=setTimeout(function(){var e=[ie(i)[0],ie(i)[1]],n=[o[0].offsetTop,o[0].offsetLeft],l=[n[0]+e[0]>=0&&n[0]+e[0]=0&&n[0]+e[1]a");l.bind("mousedown."+o+" touchstart."+o+" pointerdown."+o+" MSPointerDown."+o+" mouseup."+o+" touchend."+o+" pointerup."+o+" MSPointerUp."+o+" mouseout."+o+" pointerout."+o+" MSPointerOut."+o+" click."+o,function(n){function o(e,i){a.scrollAmount=r.snapAmount||r.scrollButtons.scrollAmount,q(t,e,i)}if(n.preventDefault(),J(n)){var s=e(this).attr("class");switch(a.type=r.scrollButtons.scrollType,n.type){case"mousedown":case"touchstart":case"pointerdown":case"MSPointerDown":if("stepped"===a.type)return;u=!0,i.tweenRunning=!1,o("on",s);break;case"mouseup":case"touchend":case"pointerup":case"MSPointerUp":case"mouseout":case"pointerout":case"MSPointerOut":if("stepped"===a.type)return;u=!1,a.dir&&o("off",s);break;case"click":if("stepped"!==a.type||i.tweenRunning)return;o("on",s)}}})},z=function(){function t(t){function n(e,t){o.type=a.keyboard.scrollType,o.scrollAmount=a.snapAmount||a.keyboard.scrollAmount,"stepped"===o.type&&r.tweenRunning||q(i,e,t)}switch(t.type){case"blur":r.tweenRunning&&o.dir&&n("off",null);break;case"keydown":case"keyup":var s=t.keyCode?t.keyCode:t.which,l="on";if("x"!==a.axis&&(38===s||40===s)||"y"!==a.axis&&(37===s||39===s)){if((38===s||40===s)&&!r.overflowed[0]||(37===s||39===s)&&!r.overflowed[1])return;"keyup"===t.type&&(l="off"),e(document.activeElement).is(d)||(t.preventDefault(),t.stopImmediatePropagation(),n(l,s))}else if(33===s||34===s){if((r.overflowed[0]||r.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type){Y(i);var h=34===s?-1:1;if("x"===a.axis||"yx"===a.axis&&r.overflowed[1]&&!r.overflowed[0])var p="x",f=Math.abs(u[0].offsetLeft)-.9*h*c.width();else var p="y",f=Math.abs(u[0].offsetTop)-.9*h*c.height();X(i,f.toString(),{dir:p,scrollEasing:"mcsEaseInOut"})}}else if((35===s||36===s)&&!e(document.activeElement).is(d)&&((r.overflowed[0]||r.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type)){if("x"===a.axis||"yx"===a.axis&&r.overflowed[1]&&!r.overflowed[0])var p="x",f=35===s?Math.abs(c.width()-u.outerWidth(!1)):0;else var p="y",f=35===s?Math.abs(c.height()-u.outerHeight(!1)):0;X(i,f.toString(),{dir:p,scrollEasing:"mcsEaseInOut"})}}}var i=e(this),r=i.data(n),a=r.opt,o=r.sequential,s=n+"_"+r.idx,l=e("#mCSB_"+r.idx),u=e("#mCSB_"+r.idx+"_container"),c=u.parent(),d="input,textarea,select,datalist,keygen,[contenteditable='true']",h=u.find("iframe"),p=["blur."+s+" keydown."+s+" keyup."+s];h.length&&h.each(function(){e(this).load(function(){I(this)&&e(this.contentDocument||this.contentWindow.document).bind(p[0],function(e){t(e)})})}),l.attr("tabindex","0").bind(p[0],function(e){t(e)})},q=function(t,i,r,a,o){function s(e){var i="stepped"!==h.type,n=o?o:e?i?m/1.5:g:1e3/60,r=e?i?7.5:40:2.5,l=[Math.abs(p[0].offsetTop),Math.abs(p[0].offsetLeft)],c=[u.scrollRatio.y>10?10:u.scrollRatio.y,u.scrollRatio.x>10?10:u.scrollRatio.x],d="x"===h.dir[0]?l[1]+h.dir[1]*c[1]*r:l[0]+h.dir[1]*c[0]*r,f="x"===h.dir[0]?l[1]+h.dir[1]*parseInt(h.scrollAmount):l[0]+h.dir[1]*parseInt(h.scrollAmount),v="auto"!==h.scrollAmount?f:d,y=a?a:e?i?"mcsLinearOut":"mcsEaseInOut":"mcsLinear",b=!!e;return e&&17>n&&(v="x"===h.dir[0]?l[1]:l[0]),X(t,v.toString(),{dir:h.dir[0],scrollEasing:y,dur:n,onComplete:b}),e?void(h.dir=!1):(clearTimeout(h.step),void(h.step=setTimeout(function(){s()},n)))}function l(){clearTimeout(h.step),Z(h,"step"),Y(t)}var u=t.data(n),d=u.opt,h=u.sequential,p=e("#mCSB_"+u.idx+"_container"),f="stepped"===h.type,m=d.scrollInertia<26?26:d.scrollInertia,g=d.scrollInertia<1?17:d.scrollInertia;switch(i){case"on":if(h.dir=[r===c[16]||r===c[15]||39===r||37===r?"x":"y",r===c[13]||r===c[15]||38===r||37===r?-1:1],Y(t),te(r)&&"stepped"===h.type)return;s(f);break;case"off":l(),(f||u.tweenRunning&&h.dir)&&s(!0)}},F=function(t){var i=e(this).data(n).opt,r=[];return"function"==typeof t&&(t=t()),t instanceof Array?r=t.length>1?[t[0],t[1]]:"x"===i.axis?[null,t[0]]:[t[0],null]:(r[0]=t.y?t.y:t.x||"x"===i.axis?null:t,r[1]=t.x?t.x:t.y||"y"===i.axis?null:t),"function"==typeof r[0]&&(r[0]=r[0]()),"function"==typeof r[1]&&(r[1]=r[1]()),r},W=function(t,i){if(null!=t&&"undefined"!=typeof t){var r=e(this),a=r.data(n),o=a.opt,s=e("#mCSB_"+a.idx+"_container"),l=s.parent(),u=typeof t;i||(i="x"===o.axis?"x":"y");var c="x"===i?s.outerWidth(!1):s.outerHeight(!1),h="x"===i?s[0].offsetLeft:s[0].offsetTop,p="x"===i?"left":"top";switch(u){case"function":return t();case"object":var f=t.jquery?t:e(t);if(!f.length)return;return"x"===i?ie(f)[1]:ie(f)[0];case"string":case"number":if(te(t))return Math.abs(t);if(-1!==t.indexOf("%"))return Math.abs(c*parseInt(t)/100);if(-1!==t.indexOf("-="))return Math.abs(h-parseInt(t.split("-=")[1]));if(-1!==t.indexOf("+=")){var m=h+parseInt(t.split("+=")[1]);return m>=0?0:Math.abs(m)}if(-1!==t.indexOf("px")&&te(t.split("px")[0]))return Math.abs(t.split("px")[0]);if("top"===t||"left"===t)return 0;if("bottom"===t)return Math.abs(l.height()-s.outerHeight(!1));if("right"===t)return Math.abs(l.width()-s.outerWidth(!1));if("first"===t||"last"===t){var f=s.find(":"+t);return"x"===i?ie(f)[1]:ie(f)[0]}return e(t).length?"x"===i?ie(e(t))[1]:ie(e(t))[0]:(s.css(p,t),void d.update.call(null,r[0]))}}},U=function(t){function i(){clearTimeout(p[0].autoUpdate),p[0].autoUpdate=setTimeout(function(){return h.advanced.updateOnSelectorChange&&(f=o(),f!==w)?(s(3),void(w=f)):(h.advanced.updateOnContentResize&&(m=[p.outerHeight(!1),p.outerWidth(!1),v.height(),v.width(),b()[0],b()[1]],(m[0]!==_[0]||m[1]!==_[1]||m[2]!==_[2]||m[3]!==_[3]||m[4]!==_[4]||m[5]!==_[5])&&(s(m[0]!==_[0]||m[1]!==_[1]),_=m)),h.advanced.updateOnImageLoad&&(g=r(),g!==x&&(p.find("img").each(function(){a(this)}),x=g)),void((h.advanced.updateOnSelectorChange||h.advanced.updateOnContentResize||h.advanced.updateOnImageLoad)&&i()))},60)}function r(){var e=0;return h.advanced.updateOnImageLoad&&(e=p.find("img").length),e}function a(t){function i(e,t){return function(){return t.apply(e,arguments)}}function n(){this.onload=null,e(t).addClass(c[2]),s(2)}if(e(t).hasClass(c[2]))return void s();var r=new Image;r.onload=i(r,n),r.src=t.src}function o(){h.advanced.updateOnSelectorChange===!0&&(h.advanced.updateOnSelectorChange="*");var t=0,i=p.find(h.advanced.updateOnSelectorChange);return h.advanced.updateOnSelectorChange&&i.length>0&&i.each(function(){t+=e(this).height()+e(this).width()}),t}function s(e){clearTimeout(p[0].autoUpdate),d.update.call(null,l[0],e)}var l=e(this),u=l.data(n),h=u.opt,p=e("#mCSB_"+u.idx+"_container");if(t)return clearTimeout(p[0].autoUpdate),void Z(p[0],"autoUpdate");var f,m,g,v=p.parent(),y=[e("#mCSB_"+u.idx+"_scrollbar_vertical"),e("#mCSB_"+u.idx+"_scrollbar_horizontal")],b=function(){return[y[0].is(":visible")?y[0].outerHeight(!0):0,y[1].is(":visible")?y[1].outerWidth(!0):0]},w=o(),_=[p.outerHeight(!1),p.outerWidth(!1),v.height(),v.width(),b()[0],b()[1]],x=r();i()},N=function(e,t,i){return Math.round(e/t)*t-i},Y=function(t){var i=t.data(n),r=e("#mCSB_"+i.idx+"_container,#mCSB_"+i.idx+"_container_wrapper,#mCSB_"+i.idx+"_dragger_vertical,#mCSB_"+i.idx+"_dragger_horizontal");r.each(function(){V.call(this)})},X=function(t,i,r){function a(e){return l&&u.callbacks[e]&&"function"==typeof u.callbacks[e]}function o(){return[u.callbacks.alwaysTriggerOffsets||b>=w[0]+x,u.callbacks.alwaysTriggerOffsets||-j>=b]}function s(){var e=[p[0].offsetTop,p[0].offsetLeft],i=[v[0].offsetTop,v[0].offsetLeft],n=[p.outerHeight(!1),p.outerWidth(!1)],a=[h.height(),h.width()];t[0].mcs={content:p,top:e[0],left:e[1],draggerTop:i[0],draggerLeft:i[1],topPct:Math.round(100*Math.abs(e[0])/(Math.abs(n[0])-a[0])),leftPct:Math.round(100*Math.abs(e[1])/(Math.abs(n[1])-a[1])),direction:r.dir}}var l=t.data(n),u=l.opt,c={trigger:"internal",dir:"y",scrollEasing:"mcsEaseOut",drag:!1,dur:u.scrollInertia,overwrite:"all",callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},r=e.extend(c,r),d=[r.dur,r.drag?0:r.dur],h=e("#mCSB_"+l.idx),p=e("#mCSB_"+l.idx+"_container"),f=p.parent(),m=u.callbacks.onTotalScrollOffset?F.call(t,u.callbacks.onTotalScrollOffset):[0,0],g=u.callbacks.onTotalScrollBackOffset?F.call(t,u.callbacks.onTotalScrollBackOffset):[0,0]; if(l.trigger=r.trigger,(0!==f.scrollTop()||0!==f.scrollLeft())&&(e(".mCSB_"+l.idx+"_scrollbar").css("visibility","visible"),f.scrollTop(0).scrollLeft(0)),"_resetY"!==i||l.contentReset.y||(a("onOverflowYNone")&&u.callbacks.onOverflowYNone.call(t[0]),l.contentReset.y=1),"_resetX"!==i||l.contentReset.x||(a("onOverflowXNone")&&u.callbacks.onOverflowXNone.call(t[0]),l.contentReset.x=1),"_resetY"!==i&&"_resetX"!==i){switch(!l.contentReset.y&&t[0].mcs||!l.overflowed[0]||(a("onOverflowY")&&u.callbacks.onOverflowY.call(t[0]),l.contentReset.x=null),!l.contentReset.x&&t[0].mcs||!l.overflowed[1]||(a("onOverflowX")&&u.callbacks.onOverflowX.call(t[0]),l.contentReset.x=null),u.snapAmount&&(i=N(i,u.snapAmount,u.snapOffset)),r.dir){case"x":var v=e("#mCSB_"+l.idx+"_dragger_horizontal"),y="left",b=p[0].offsetLeft,w=[h.width()-p.outerWidth(!1),v.parent().width()-v.width()],_=[i,0===i?0:i/l.scrollRatio.x],x=m[1],j=g[1],S=x>0?x/l.scrollRatio.x:0,k=j>0?j/l.scrollRatio.x:0;break;case"y":var v=e("#mCSB_"+l.idx+"_dragger_vertical"),y="top",b=p[0].offsetTop,w=[h.height()-p.outerHeight(!1),v.parent().height()-v.height()],_=[i,0===i?0:i/l.scrollRatio.y],x=m[0],j=g[0],S=x>0?x/l.scrollRatio.y:0,k=j>0?j/l.scrollRatio.y:0}_[1]<0||0===_[0]&&0===_[1]?_=[0,0]:_[1]>=w[1]?_=[w[0],w[1]]:_[0]=-_[0],t[0].mcs||(s(),a("onInit")&&u.callbacks.onInit.call(t[0])),clearTimeout(p[0].onCompleteTimeout),(l.tweenRunning||!(0===b&&_[0]>=0||b===w[0]&&_[0]<=w[0]))&&(G(v[0],y,Math.round(_[1]),d[1],r.scrollEasing),G(p[0],y,Math.round(_[0]),d[0],r.scrollEasing,r.overwrite,{onStart:function(){r.callbacks&&r.onStart&&!l.tweenRunning&&(a("onScrollStart")&&(s(),u.callbacks.onScrollStart.call(t[0])),l.tweenRunning=!0,C(v),l.cbOffsets=o())},onUpdate:function(){r.callbacks&&r.onUpdate&&a("whileScrolling")&&(s(),u.callbacks.whileScrolling.call(t[0]))},onComplete:function(){if(r.callbacks&&r.onComplete){"yx"===u.axis&&clearTimeout(p[0].onCompleteTimeout);var e=p[0].idleTimer||0;p[0].onCompleteTimeout=setTimeout(function(){a("onScroll")&&(s(),u.callbacks.onScroll.call(t[0])),a("onTotalScroll")&&_[1]>=w[1]-S&&l.cbOffsets[0]&&(s(),u.callbacks.onTotalScroll.call(t[0])),a("onTotalScrollBack")&&_[1]<=k&&l.cbOffsets[1]&&(s(),u.callbacks.onTotalScrollBack.call(t[0])),l.tweenRunning=!1,p[0].idleTimer=0,C(v,"hide")},e)}}}))}},G=function(e,t,i,n,r,a,o){function s(){_.stop||(y||f.call(),y=K()-v,l(),y>=_.time&&(_.time=y>_.time?y+h-(y-_.time):y+h-1,_.time0?(_.currVal=d(_.time,b,x,n,r),w[t]=Math.round(_.currVal)+"px"):w[t]=i+"px",m.call()}function u(){h=1e3/60,_.time=y+h,p=window.requestAnimationFrame?window.requestAnimationFrame:function(e){return l(),setTimeout(e,.01)},_.id=p(s)}function c(){null!=_.id&&(window.requestAnimationFrame?window.cancelAnimationFrame(_.id):clearTimeout(_.id),_.id=null)}function d(e,t,i,n,r){switch(r){case"linear":case"mcsLinear":return i*e/n+t;case"mcsLinearOut":return e/=n,e--,i*Math.sqrt(1-e*e)+t;case"easeInOutSmooth":return e/=n/2,1>e?i/2*e*e+t:(e--,-i/2*(e*(e-2)-1)+t);case"easeInOutStrong":return e/=n/2,1>e?i/2*Math.pow(2,10*(e-1))+t:(e--,i/2*(-Math.pow(2,-10*e)+2)+t);case"easeInOut":case"mcsEaseInOut":return e/=n/2,1>e?i/2*e*e*e+t:(e-=2,i/2*(e*e*e+2)+t);case"easeOutSmooth":return e/=n,e--,-i*(e*e*e*e-1)+t;case"easeOutStrong":return i*(-Math.pow(2,-10*e/n)+1)+t;case"easeOut":case"mcsEaseOut":default:var a=(e/=n)*e,o=a*e;return t+i*(.499999999999997*o*a+-2.5*a*a+5.5*o+-6.5*a+4*e)}}e._mTween||(e._mTween={top:{},left:{}});var h,p,o=o||{},f=o.onStart||function(){},m=o.onUpdate||function(){},g=o.onComplete||function(){},v=K(),y=0,b=e.offsetTop,w=e.style,_=e._mTween[t];"left"===t&&(b=e.offsetLeft);var x=i-b;_.stop=0,"none"!==a&&c(),u()},K=function(){return window.performance&&window.performance.now?window.performance.now():window.performance&&window.performance.webkitNow?window.performance.webkitNow():Date.now?Date.now():(new Date).getTime()},V=function(){var e=this;e._mTween||(e._mTween={top:{},left:{}});for(var t=["top","left"],i=0;i=0&&n[0]+ie(r)[0]=0&&n[1]+ie(r)[1]")[0].getContext)},init:function(){var t=this.defaults;e.each(t,function(e,i){switch(e){case"aspectRatio":t[e]=H(q(i))||s;break;case"autoCropArea":t[e]=H(q(i))||.8;break;case"minWidth":case"minHeight":t[e]=H(q(i))||0;break;case"maxWidth":case"maxHeight":t[e]=H(q(i))||l}}),this.image={rotate:0},this.load()},load:function(){var t,i,n=this,a=this.$element,o=this.element,s=this.image,l="";a.is("img")?i=a.prop("src"):a.is("canvas")&&this.support.canvas&&(i=o.toDataURL()),i&&(this.replaced&&(s.rotate=0),this.defaults.checkImageOrigin&&(a.prop("crossOrigin")||this.isCrossOriginURL(i))&&(l=" crossOrigin"),this.$clone=t=e("'),t.one("load",function(){s.naturalWidth=this.naturalWidth||t.width(),s.naturalHeight=this.naturalHeight||t.height(),s.aspectRatio=s.naturalWidth/s.naturalHeight,n.url=i,n.ready=r,n.build()}),t.addClass(v).prependTo("body"))},isCrossOriginURL:function(e){var t=e.match(/^(https?:)\/\/([^\:\/\?#]+):?(\d*)/i);return!t||t[1]===n.protocol&&t[2]===n.hostname&&t[3]===n.port?a:r},build:function(){var t,i,n=this.$element,o=this.defaults;this.ready&&(this.built&&this.unbuild(),n.one($,o.build),t=e.Event($),n.trigger(t),t.isDefaultPrevented()||(this.$cropper=i=e(I.TEMPLATE),n.addClass(g),this.$clone.removeClass(v).prependTo(i),this.rotated||(this.$original=this.$clone.clone(),this.$original.addClass(g).prependTo(this.$cropper),this.originalImage=e.extend({},this.image)),this.$container=n.parent(),this.$container.append(i),this.$canvas=i.find(".cropper-canvas"),this.$dragger=i.find(".cropper-dragger"),this.$viewer=i.find(".cropper-viewer"),o.autoCrop?this.cropped=r:this.$dragger.addClass(g),o.dragCrop&&this.setDragMode("crop"),o.modal&&this.$canvas.addClass(m),!o.dashed&&this.$dragger.find(".cropper-dashed").addClass(g),!o.movable&&this.$dragger.find(".cropper-face").data(c,"move"),!o.resizable&&this.$dragger.find(".cropper-line, .cropper-point").addClass(g),this.addListeners(),this.initPreview(),this.built=r,this.update(),this.replaced=a,n.one(D,o.built),n.trigger(D)))},unbuild:function(){this.built&&(this.built=a,this.removeListeners(),this.$preview.empty(),this.$preview=o,this.$dragger=o,this.$canvas=o,this.$container=o,this.$cropper.remove(),this.$cropper=o)},update:function(e){this.initContainer(),this.initCropper(),this.initImage(),this.initDragger(),e?(this.setData(e,r),this.setDragMode("crop")):this.setData(this.defaults.data)},resize:function(){clearTimeout(this.resizing),this.resizing=setTimeout(e.proxy(this.update,this,this.getData()),200)},preview:function(){var t=this.image,i=this.dragger,n=t.width,r=t.height,a=i.left-t.left,o=i.top-t.top;this.$viewer.find("img").css({width:n,height:r,marginLeft:-a,marginTop:-o}),this.$preview.each(function(){var t=e(this),s=t.width()/i.width;t.find("img").css({width:n*s,height:r*s,marginLeft:-a*s,marginTop:-o*s})})},addListeners:function(){var n=this.defaults;this.$element.on(Q,n.dragstart).on(T,n.dragmove).on(O,n.dragend),this.$cropper.on(_,e.proxy(this.dragstart,this)).on(k,e.proxy(this.dblclick,this)),n.zoomable&&this.$cropper.on(C,e.proxy(this.wheel,this)),n.multiple?this.$cropper.on(x,e.proxy(this.dragmove,this)).on(j,e.proxy(this.dragend,this)):i.on(x,this._dragmove=E(this.dragmove,this)).on(j,this._dragend=E(this.dragend,this)),t.on(S,this._resize=E(this.resize,this))},removeListeners:function(){var e=this.defaults;this.$element.off(Q,e.dragstart).off(T,e.dragmove).off(O,e.dragend),this.$cropper.off(_,this.dragstart).off(k,this.dblclick),e.zoomable&&this.$cropper.off(C,this.wheel),e.multiple?this.$cropper.off(x,this.dragmove).off(j,this.dragend):i.off(x,this._dragmove).off(j,this._dragend),t.off(S,this._resize)},initPreview:function(){var t='';this.$preview=e(this.defaults.preview),this.$viewer.html(t),this.$preview.html(t).find("img").css("cssText","min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;")},initContainer:function(){var e=this.$container;e!==o&&(this.container={width:R(e.width(),300),height:R(e.height(),150)})},initCropper:function(){var e,t=this.container,i=this.image;i.naturalWidth*t.height/i.naturalHeight-t.width>=0?(e={width:t.width,height:t.width/i.aspectRatio,left:0},e.top=(t.height-e.height)/2):(e={width:t.height*i.aspectRatio,height:t.height,top:0},e.left=(t.width-e.width)/2),this.$cropper.css({width:e.width,height:e.height,left:e.left,top:e.top}),this.cropper=e},initImage:function(){var t=this.image,i=this.cropper,n={_width:i.width,_height:i.height,width:i.width,height:i.height,left:0,top:0,ratio:i.width/t.naturalWidth};this.defaultImage=e.extend({},t,n),t._width!==i.width||t._height!==i.height?e.extend(t,n):(t=e.extend({},n,t),this.replaced&&(t.ratio=n.ratio)),this.image=t,this.renderImage()},renderImage:function(e){var t=this.image;"zoom"===e&&(t.left-=(t.width-t.oldWidth)/2,t.top-=(t.height-t.oldHeight)/2),t.left=L(R(t.left,t._width-t.width),0),t.top=L(R(t.top,t._height-t.height),0),this.$clone.css({width:t.width,height:t.height,marginLeft:t.left,marginTop:t.top}),e&&(this.defaults.done(this.getData()),this.preview())},initDragger:function(){var t,i=this.defaults,n=this.cropper,r=i.aspectRatio||this.image.aspectRatio,a=this.image.ratio;t=n.height*r-n.width>=0?{height:n.width/r,width:n.width,left:0,top:(n.height-n.width/r)/2,maxWidth:n.width,maxHeight:n.width/r}:{height:n.height,width:n.height*r,left:(n.width-n.height*r)/2,top:0,maxWidth:n.height*r,maxHeight:n.height},t.minWidth=0,t.minHeight=0,i.aspectRatio?(isFinite(i.maxWidth)?(t.maxWidth=L(t.maxWidth,i.maxWidth*a),t.maxHeight=t.maxWidth/r):isFinite(i.maxHeight)&&(t.maxHeight=L(t.maxHeight,i.maxHeight*a),t.maxWidth=t.maxHeight*r),i.minWidth>0?(t.minWidth=R(0,i.minWidth*a),t.minHeight=t.minWidth/r):i.minHeight>0&&(t.minHeight=R(0,i.minHeight*a),t.minWidth=t.minHeight*r)):(t.maxWidth=L(t.maxWidth,i.maxWidth*a),t.maxHeight=L(t.maxHeight,i.maxHeight*a),t.minWidth=R(0,i.minWidth*a),t.minHeight=R(0,i.minHeight*a)),t.minWidth=L(t.maxWidth,t.minWidth),t.minHeight=L(t.maxHeight,t.minHeight),t.height*=i.autoCropArea,t.width*=i.autoCropArea,t.left=(n.width-t.width)/2,t.top=(n.height-t.height)/2,t.oldLeft=t.left,t.oldTop=t.top,this.defaultDragger=t,this.dragger=e.extend({},t)},renderDragger:function(){var e=this.dragger,t=this.cropper;e.width>e.maxWidth?(e.width=e.maxWidth,e.left=e.oldLeft):e.widthe.maxHeight?(e.height=e.maxHeight,e.top=e.oldTop):e.height').one("load",function(){l.width=this.width,l.height=this.height,n.clearRect(0,0,l.width,l.height),n.drawImage(this,0,0),o.load()})))},setData:function(t,i){var n=this.cropper,r=this.dragger,a=this.image,s=this.defaults.aspectRatio;this.built&&typeof t!==u&&((t===o||e.isEmptyObject(t))&&(r=e.extend({},this.defaultDragger)),e.isPlainObject(t)&&!e.isEmptyObject(t)&&(i||(this.defaults.data=t),t=this.transformData(t),A(t.x)&&t.x<=n.width-a.left&&(r.left=t.x+a.left),A(t.y)&&t.y<=n.height-a.top&&(r.top=t.y+a.top),s?A(t.width)&&t.width<=r.maxWidth&&t.width>=r.minWidth?(r.width=t.width,r.height=r.width/s):A(t.height)&&t.height<=r.maxHeight&&t.height>=r.minHeight&&(r.height=t.height,r.width=r.height*s):(A(t.width)&&t.width<=r.maxWidth&&t.width>=r.minWidth&&(r.width=t.width),A(t.height)&&t.height<=r.maxHeight&&t.height>=r.minHeight&&(r.height=t.height))),this.dragger=r,this.renderDragger())},getData:function(e){var t=this.dragger,i=this.image,n={};return this.built&&(n={x:t.left-i.left,y:t.top-i.top,width:t.width,height:t.height},n=this.transformData(n,r,e)),n},transformData:function(t,i,n){var r=this.image.ratio,a={};return e.each(t,function(e,t){t=q(t),p.test(e)&&!isNaN(t)&&(a[e]=i?n?Math.round(t/r):t/r:t*r)}),a},setAspectRatio:function(e){var t="auto"===e;e=q(e),(t||!isNaN(e)&&e>0)&&(this.defaults.aspectRatio=t?s:e,this.built&&(this.initDragger(),this.renderDragger()))},getImageData:function(){var t={};return this.ready&&e.each(this.image,function(e,i){f.test(e)&&(t[e]=i)}),t},getDataURL:function(t,i,n){var r,a=e("")[0],o=this.getData(),s="";return e.isPlainObject(t)||(n=i,i=t,t={}),t=e.extend({width:o.width,height:o.height},t),this.cropped&&this.support.canvas&&(a.width=t.width,a.height=t.height,r=a.getContext("2d"),"image/jpeg"===i&&(r.fillStyle="#fff",r.fillRect(0,0,t.width,t.height)),r.drawImage(this.$clone[0],o.x,o.y,o.width,o.height,0,0,t.width,t.height),s=a.toDataURL(i,n)),s},setDragMode:function(e){var t=this.$canvas,i=this.defaults,n=a,o=a;if(this.built&&!this.disabled){switch(e){case"crop":i.dragCrop&&(n=r,t.data(c,e));break;case"move":o=r,t.data(c,e);break;default:t.removeData(c)}t.toggleClass(b,n).toggleClass(y,o)}},enable:function(){this.built&&(this.disabled=a,this.$cropper.removeClass(w))},disable:function(){this.built&&(this.disabled=r,this.$cropper.addClass(w))},rotate:function(e){var t=this.image;e=q(e)||0,this.built&&0!==e&&!this.disabled&&this.defaults.rotatable&&this.support.canvas&&(this.rotated=r,e=t.rotate=(t.rotate+e)%360,this.replace(this.getRotatedDataURL(e),!0))},getRotatedDataURL:function(t){var i=e("")[0],n=i.getContext("2d"),r=t*Math.PI/180,a=H(t)%180,o=a>90?180-a:a,s=o*Math.PI/180,l=this.originalImage,u=l.naturalWidth,c=l.naturalHeight,d=H(u*z(s)+c*B(s)),h=H(u*B(s)+c*z(s));return i.width=d,i.height=h,n.save(),n.translate(d/2,h/2),n.rotate(r),n.drawImage(this.$original[0],-u/2,-c/2,u,c),n.restore(),i.toDataURL()},zoom:function(e){var t,i,n,r=this.image;e=q(e),this.built&&e&&!this.disabled&&this.defaults.zoomable&&(t=r.width*(1+e),i=r.height*(1+e),n=t/r._width,n>10||(n<1&&(t=r._width,i=r._height),n<=1?this.setDragMode("crop"):this.setDragMode("move"),r.oldWidth=r.width,r.oldHeight=r.height,r.width=t,r.height=i,r.ratio=r.width/r.naturalWidth,this.renderImage("zoom")))},dblclick:function(){this.disabled||(this.$canvas.hasClass(b)?this.setDragMode("move"):this.setDragMode("crop"))},wheel:function(e){var t,i=e.originalEvent,n=117.25,r=5,a=166.66665649414062,o=.1;this.disabled||(e.preventDefault(),i.deltaY?(t=i.deltaY,t=t%r===0?t/r:t%n===0?t/n:t/a):t=i.wheelDelta?-i.wheelDelta/120:i.detail?i.detail/3:0,this.zoom(t*o))},dragstart:function(t){var i,n,o,s=t.originalEvent.touches,l=t;if(!this.disabled){if(s){if(o=s.length,o>1){if(!this.defaults.zoomable||2!==o)return;l=s[1],this.startX2=l.pageX,this.startY2=l.pageY,i="zoom"}l=s[0]}if(i=i||e(l.target).data(c),h.test(i)){if(t.preventDefault(),n=e.Event(Q),this.$element.trigger(n),n.isDefaultPrevented())return;this.directive=i,this.cropping=a,this.startX=l.pageX,this.startY=l.pageY,"crop"===i&&(this.cropping=r,this.$canvas.addClass(m))}}},dragmove:function(t){var i,n,r=t.originalEvent.touches,a=t;if(!this.disabled){if(r){if(n=r.length,n>1){if(!this.defaults.zoomable||2!==n)return;a=r[1],this.endX2=a.pageX,this.endY2=a.pageY}a=r[0]}if(this.directive){if(t.preventDefault(),i=e.Event(T),this.$element.trigger(i),i.isDefaultPrevented())return;this.endX=a.pageX,this.endY=a.pageY,this.dragging()}}},dragend:function(t){var i;if(!this.disabled&&this.directive){if(t.preventDefault(),i=e.Event(O),this.$element.trigger(i),i.isDefaultPrevented())return;this.cropping&&(this.cropping=a,this.$canvas.toggleClass(m,this.cropped&&this.defaults.modal)),this.directive=""}},dragging:function(){var e,t=this.directive,i=this.image,n=this.cropper,o=n.width,s=n.height,l=this.dragger,u=l.width,c=l.height,d=l.left,h=l.top,p=d+u,f=h+c,m=r,v=this.defaults,y=v.aspectRatio,b={x:this.endX-this.startX,y:this.endY-this.startY};switch(y&&(b.X=b.y*y,b.Y=b.x/y),t){case"all":d+=b.x,h+=b.y;break;case"e":if(b.x>=0&&(p>=o||y&&(h<=0||f>=s))){m=a;break}u+=b.x,y&&(c=u/y,h-=b.Y/2),u<0&&(t="w",u=0);break;case"n":if(b.y<=0&&(h<=0||y&&(d<=0||p>=o))){m=a;break}c-=b.y,h+=b.y,y&&(u=c*y,d+=b.X/2),c<0&&(t="s",c=0);break;case"w":if(b.x<=0&&(d<=0||y&&(h<=0||f>=s))){m=a;break}u-=b.x,d+=b.x,y&&(c=u/y,h+=b.Y/2),u<0&&(t="e",u=0);break;case"s":if(b.y>=0&&(f>=s||y&&(d<=0||p>=o))){m=a;break}c+=b.y,y&&(u=c*y,d-=b.X/2),c<0&&(t="n",c=0);break;case"ne":if(y){if(b.y<=0&&(h<=0||p>=o)){m=a;break}c-=b.y,h+=b.y,u=c*y}else b.x>=0?p0&&(c-=b.y,h+=b.y):(c-=b.y,h+=b.y);c<0&&(t="sw",c=0,u=0);break;case"nw":if(y){if(b.y<=0&&(h<=0||d<=0)){m=a;break}c-=b.y,h+=b.y,u=c*y,d+=b.X}else b.x<=0?d>0?(u-=b.x,d+=b.x):b.y<=0&&h<=0&&(m=a):(u-=b.x,d+=b.x),b.y<=0?h>0&&(c-=b.y,h+=b.y):(c-=b.y,h+=b.y);c<0&&(t="se",c=0,u=0);break;case"sw":if(y){if(b.x<=0&&(d<=0||f>=s)){m=a;break}u-=b.x,d+=b.x,c=u/y}else b.x<=0?d>0?(u-=b.x,d+=b.x):b.y>=0&&f>=s&&(m=a):(u-=b.x,d+=b.x),b.y>=0?f=0&&(p>=o||f>=s)){m=a;break}u+=b.x,c=u/y}else b.x>=0?p=0&&f>=s&&(m=a):u+=b.x,b.y>=0?f0?b.y>0?t="se":(t="ne",h-=c):b.y>0?(t="sw",d-=u):(t="nw",d-=u,h-=c),this.cropped||(this.cropped=r,this.$dragger.removeClass(g)))}m&&(l.width=u,l.height=c,l.left=d,l.top=h,this.directive=t,this.renderDragger()),this.startX=this.endX,this.startY=this.endY}},I.TEMPLATE=function(e,t){return t=t.split(","),e.replace(/\d+/g,function(e){return t[e]})}('<0 6="5-container"><0 6="5-canvas"><0 6="5-dragger"><1 6="5-viewer"><1 6="5-8 8-h"><1 6="5-8 8-v"><1 6="5-face" 3-2="all"><1 6="5-7 7-e" 3-2="e"><1 6="5-7 7-n" 3-2="n"><1 6="5-7 7-w" 3-2="w"><1 6="5-7 7-s" 3-2="s"><1 6="5-4 4-e" 3-2="e"><1 6="5-4 4-n" 3-2="n"><1 6="5-4 4-w" 3-2="w"><1 6="5-4 4-s" 3-2="s"><1 6="5-4 4-ne" 3-2="ne"><1 6="5-4 4-nw" 3-2="nw"><1 6="5-4 4-sw" 3-2="sw"><1 6="5-4 4-se" 3-2="se">',"div,span,directive,data,point,cropper,class,line,dashed"),I.DEFAULTS={aspectRatio:"auto",autoCropArea:.8,data:{},done:e.noop,preview:"",multiple:a,autoCrop:r,dragCrop:r,dashed:r,modal:r,movable:r,resizable:r,zoomable:r,rotatable:r,checkImageOrigin:r,minWidth:0,minHeight:0,maxWidth:l,maxHeight:l,build:o,built:o,dragstart:o,dragmove:o,dragend:o},I.setDefaults=function(t){e.extend(I.DEFAULTS,t)},I.other=e.fn.cropper,e.fn.cropper=function(t){var i,n=M(arguments,1);return this.each(function(){var r,a=e(this),o=a.data("cropper");o||a.data("cropper",o=new I(this,t)),"string"==typeof t&&e.isFunction(r=o[t])&&(i=r.apply(o,n))}),typeof i!==u?i:this},e.fn.cropper.Constructor=I,e.fn.cropper.setDefaults=I.setDefaults,e.fn.cropper.noConflict=function(){return e.fn.cropper=I.other,this}}),function(e){function t(e,t){return"function"==typeof e?e.call(t):e}function i(e){for(;e=e.parentNode;)if(e==document)return!0;return!1}function n(t,i){this.$element=e(t),this.options=i,this.enabled=!0,this.fixTitle()}n.prototype={show:function(){var i=this.getTitle();if(i&&this.enabled){var n=this.tip();n.find(".tipsy-inner")[this.options.html?"html":"text"](i),n[0].className="tipsy",n.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).prependTo(document.body);var r,a=e.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight}),o=n[0].offsetWidth,s=n[0].offsetHeight,l=t(this.options.gravity,this.$element[0]);switch(l.charAt(0)){case"n":r={top:a.top+a.height+this.options.offset,left:a.left+a.width/2-o/2};break;case"s":r={top:a.top-s-this.options.offset,left:a.left+a.width/2-o/2};break;case"e":r={top:a.top+a.height/2-s/2,left:a.left-o-this.options.offset};break;case"w":extra_gap=0,e("body").css("position").length>0&&"relative"==e("body").css("position")&&e("#wpadminbar").length&&(extra_gap=e("#wpadminbar").height()),r={top:a.top+a.height/2-s/2-extra_gap,left:a.left+a.width+this.options.offset}}2==l.length&&("w"==l.charAt(1)?r.left=a.left+a.width/2-15:r.left=a.left+a.width/2-o+15),n.css(r).addClass("tipsy-"+l),n.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+l.charAt(0),this.options.className&&n.addClass(t(this.options.className,this.$element[0])),this.options.fade?n.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:this.options.opacity}):n.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?this.tip().stop().fadeOut(function(){e(this).remove()}):this.tip().remove()},fixTitle:function(){var e=this.$element;(e.attr("title")||"string"!=typeof e.attr("original-title"))&&e.attr("original-title",e.attr("title")||"").removeAttr("title")},getTitle:function(){var e,t=this.$element,i=this.options;this.fixTitle();var e,i=this.options;return"string"==typeof i.title?e=t.attr("title"==i.title?"original-title":i.title):"function"==typeof i.title&&(e=i.title.call(t[0])),e=(""+e).replace(/(^\s*|\s*$)/,""),e||i.fallback},tip:function(){return this.$tip||(this.$tip=e('
    ').html('
    '),this.$tip.data("tipsy-pointee",this.$element[0])),this.$tip},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}},e.fn.tipsy=function(t){function i(i){var r=e.data(i,"tipsy");return r||(r=new n(i,e.fn.tipsy.elementOptions(i,t)),e.data(i,"tipsy",r)),r}function r(){var e=i(this);e.hoverState="in",0==t.delayIn?e.show():(e.fixTitle(),setTimeout(function(){"in"==e.hoverState&&e.show()},t.delayIn))}function a(){var e=i(this);e.hoverState="out",0==t.delayOut?e.hide():setTimeout(function(){"out"==e.hoverState&&e.hide()},t.delayOut)}if(t===!0)return this.data("tipsy");if("string"==typeof t){var o=this.data("tipsy");return o&&o[t](),this}if(t=e.extend({},e.fn.tipsy.defaults,t),t.live||this.each(function(){i(this)}),"manual"!=t.trigger){var s="hover"==t.trigger?"mouseenter":"focus",l="hover"==t.trigger?"mouseleave":"blur";t.live?e(document).on(s,this.selector,r).on(l,this.selector,a):this.bind(s,r).bind(l,a)}return this},e.fn.tipsy.defaults={className:null,delayIn:0,delayOut:0,fade:!1,fallback:"",gravity:"n",html:!1,live:!1,offset:0,opacity:.8,title:"title",trigger:"hover"},e.fn.tipsy.revalidate=function(){e(".tipsy").each(function(){var t=e.data(this,"tipsy-pointee");t&&i(t)||e(this).remove()})},e.fn.tipsy.elementOptions=function(t,i){return e.metadata?e.extend({},i,e(t).metadata()):i},e.fn.tipsy.autoNS=function(){return e(this).offset().top>e(document).scrollTop()+e(window).height()/2?"s":"n"},e.fn.tipsy.autoWE=function(){return e(this).offset().left>e(document).scrollLeft()+e(window).width()/2?"e":"w"},e.fn.tipsy.autoBounds=function(t,i){return function(){var n={ns:i[0],ew:i.length>1&&i[1]},r=e(document).scrollTop()+t,a=e(document).scrollLeft()+t,o=e(this);return o.offset().topparseInt(u)?(n(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.hide(),e[o.child]={act:"hide",op:c})),"less than"==c&&(jQuery.isNumeric(u)&&parseInt(f)=0?(n(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.hide(),e[o.child]={act:"hide",op:c}))),"hide"==l&&"undefined"!=typeof u&&("empty"==c&&(f&&""!=f?(g.show(),e[o.child]={act:"show",op:c}):(r(m,s,c,p,i),e[o.child]={act:l,op:c})),"not empty"==c&&(f&&""!=f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.show(),e[o.child]={act:"show",op:c})),"equals to"==c&&(u==f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.show(),e[o.child]={act:"show",op:c})),"not equals"==c&&(jQuery.isNumeric(u)&&parseInt(f)!=parseInt(u)&&f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):jQuery.isNumeric(u)||u==f?(g.show(),e[o.child]={act:"show",op:c}):(r(m,s,c,p,i),e[o.child]={act:l,op:c})),"greater than"==c&&(jQuery.isNumeric(u)&&parseInt(f)>parseInt(u)?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.show(),e[o.child]={act:"show",op:c})),"less than"==c&&(jQuery.isNumeric(u)&&parseInt(f)=0?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.show(),e[o.child]={act:"show",op:c})))})})}function n(e,t,i,n,r){e=e.parents(".um-field"),e.is(":hidden")&&(t?e.fadeIn():e.show())}function r(e,t,i,n,r){e=e.parents(".um-field"),e.is(":visible")&&(t?e.fadeOut():e.hide())}function a(e){return s=e.parents(".um-field").data("key"),l=e.val(),e.is(":checkbox")&&(e.parents(".um-field").find("input:checked").length>1?(l="",e.parents(".um-field").find("input:checked").each(function(){l=l+e.val()+" "})):l=e.parents(".um-field").find("input:checked").val()),e.is(":radio")&&(l=e.parents(".um-field").find("input[type=radio]:checked").val()),{key:s,value:l}}function o(){var e=u;0==h&&jQuery.each(e,function(t,i){var n=[],r=[];jQuery.each(e,function(e,i){for(var a=0;a<=i.length;a++)"undefined"!=typeof i[a]&&t==i[a].field&&(n.push(i[a]),r.push(i[a].child))}),c[t]=n})}var s,l,u={},c={},d=[],h=!1,p=!1;jQuery(document).on("input change",".um-field input[type=text]",function(){p&&e()}),jQuery(document).on("change",".um-field select, .um-field input[type=radio], .um-field input[type=checkbox]",function(){p&&e()}),e(),p=!0}),jQuery(document).ready(function(){function e(e,i,n,r){var a=e.data("um-parent");e.attr("name"),jQuery('select[name="'+a+'"]');e.find('option[value!=""]').remove(),e.hasClass("um-child-option-disabled")||e.removeAttr("disabled");var r=[];jQuery.each(i.items,function(e,t){r.push({id:e,text:t})}),e.select2("destroy"),e.select2({data:r,allowClear:!0,minimumResultsForSearch:10 -}),"undefined"==typeof i.field.default||e.data("um-original-value")?""!=e.data("um-original-value")&&e.val(e.data("um-original-value")).trigger("change"):e.val(i.field.default).trigger("change"),0==i.field.editable&&(e.addClass("um-child-option-disabled"),e.attr("disabled","disabled")),t[n]=i}jQuery(document).on("click",".um-dropdown a",function(e){return!1}),jQuery(document).on("click",".um-dropdown a.real_url",function(e){window.location=jQuery(this).attr("href")}),jQuery(document).on("click",".um-trigger-menu-on-click",function(e){return jQuery(".um-dropdown").hide(),menu=jQuery(this).find(".um-dropdown"),menu.show(),!1}),jQuery(document).on("click",".um-dropdown-hide",function(e){UM_hide_menus()}),jQuery(document).on("click","a.um-manual-trigger",function(){var e=jQuery(this).attr("data-child"),t=jQuery(this).attr("data-parent");jQuery(this).parents(t).find(e).trigger("click")}),jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}),jQuery(document).on("change",".um-field-area input[type=radio]",function(){var e=jQuery(this).parents(".um-field-area"),t=jQuery(this).parents("label");e.find(".um-field-radio").removeClass("active"),e.find(".um-field-radio").find("i").removeClass().addClass("um-icon-android-radio-button-off"),t.addClass("active"),t.find("i").removeClass().addClass("um-icon-android-radio-button-on")}),jQuery(document).on("change",".um-field-area input[type=checkbox]",function(){var e=(jQuery(this).parents(".um-field-area"),jQuery(this).parents("label"));e.hasClass("active")?(e.removeClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline-blank")):(e.addClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline"))}),jQuery(".um-datepicker").each(function(){if(elem=jQuery(this),""!=elem.attr("data-disabled_weekdays"))var e=JSON.parse(elem.attr("data-disabled_weekdays"));else var e=!1;var t=elem.attr("data-years"),i=elem.attr("data-date_min"),n=elem.attr("data-date_max"),r=i.split(","),a=n.split(","),o=r.length?new Date(r):null,s=r.length?new Date(a):null;if(o&&"Invalid Date"==o.toString()&&3==r.length){var l=r[1]+"/"+r[2]+"/"+r[0];o=new Date(Date.parse(l))}if(s&&"Invalid Date"==s.toString()&&3==a.length){var u=a[1]+"/"+a[2]+"/"+a[0];s=new Date(Date.parse(u))}elem.pickadate({selectYears:t,min:o,max:s,disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-timepicker").each(function(){elem=jQuery(this),elem.pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-rating").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,click:function(e,t){live_field=this.id,live_value=e,um_conditional()}}),jQuery(".um-rating-readonly").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,readOnly:!0}),jQuery(document).on("click",".um .um-single-image-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-image-preview img").attr("src");return t.find(".um-single-image-preview img").attr("src",""),t.find(".um-single-image-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val(""),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(document).on("click",".um .um-single-file-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-fileinfo a").attr("href");return t.find(".um-single-file-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val(""),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(".um-s1,.um-s2").css({display:"block"}),jQuery(".um-s1").select2({allowClear:!0}),jQuery(".um-s2").select2({allowClear:!1,minimumResultsForSearch:10}),jQuery(document).on("click",".um-field-group-head:not(.disabled)",function(){var e=jQuery(this).parents(".um-field-group"),t=e.data("max_entries");e.find(".um-field-group-body").is(":hidden")?e.find(".um-field-group-body").show():e.find(".um-field-group-body:first").clone().appendTo(e),increase_id=0,e.find(".um-field-group-body").each(function(){increase_id++,jQuery(this).find("input").each(function(){var e=jQuery(this);e.attr("id",e.data("key")+"-"+increase_id),e.attr("name",e.data("key")+"-"+increase_id),e.parent().parent().find("label").attr("for",e.data("key")+"-"+increase_id)})}),t>0&&e.find(".um-field-group-body").length==t&&jQuery(this).addClass("disabled")}),jQuery(document).on("click",".um-field-group-cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field-group"),i=t.data("max_entries");return t.find(".um-field-group-body").length>1?jQuery(this).parents(".um-field-group-body").remove():jQuery(this).parents(".um-field-group-body").hide(),i>0&&t.find(".um-field-group-body").length
    '),jQuery(".um-dropdown").hide(),um_responsive(),user_id=jQuery(this).attr("data-user_id"),metakey="cover_photo",jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_delete_cover_photo",metakey:metakey,user_id:user_id}})}),e(),jQuery("textarea[id=um-meta-bio]").change(e),jQuery("textarea[id=um-meta-bio]").keyup(e),jQuery(".um-profile-edit a.um_delete-item").click(function(e){e.preventDefault();var t=confirm("Are you sure that you want to delete this user?");if(!t)return!1})}),jQuery(document).ready(function(){var e=jQuery(".um-account-main").attr("data-current_tab");e&&jQuery(".um-account-tab[data-tab="+e+"]").show(),jQuery(document).on("touchstart click",".um-account-side li a",function(e){e.preventDefault();var t=jQuery(this);t.parents("ul").find("li a").removeClass("current"),t.addClass("current");var i=jQuery(this).attr("href"),n=jQuery(this).attr("data-tab");return jQuery("input[id=_um_account_tab]:hidden").val(n),window.history.pushState("","",i),jQuery(".um-account-tab").hide(),jQuery(".um-account-tab[data-tab="+n+"]").fadeIn(),jQuery(".um-account-nav a").removeClass("current"),jQuery(".um-account-nav a[data-tab="+n+"]").addClass("current"),!1})}),jQuery(document).on("touchstart click",".um-account-nav a",function(e){e.preventDefault();var t=jQuery(this).attr("data-tab"),i=jQuery(this).parents("div"),n=jQuery(this);return jQuery("input[id=_um_account_tab]:hidden").val(t),jQuery(".um-account-tab").hide(),n.hasClass("current")?(i.next(".um-account-tab").slideUp(),n.removeClass("current")):(i.next(".um-account-tab").slideDown(),n.parents("div").find("a").removeClass("current"),n.addClass("current")),jQuery(".um-account-side li a").removeClass("current"),jQuery(".um-account-side li a[data-tab="+t+"]").addClass("current"),!1}); \ No newline at end of file +}),"undefined"==typeof i.field.default||e.data("um-original-value")?""!=e.data("um-original-value")&&e.val(e.data("um-original-value")).trigger("change"):e.val(i.field.default).trigger("change"),0==i.field.editable&&(e.addClass("um-child-option-disabled"),e.attr("disabled","disabled")),t[n]=i}jQuery(document).on("click",".um-dropdown a",function(e){return!1}),jQuery(document).on("click",".um-dropdown a.real_url",function(e){window.location=jQuery(this).attr("href")}),jQuery(document).on("click",".um-trigger-menu-on-click",function(e){return jQuery(".um-dropdown").hide(),menu=jQuery(this).find(".um-dropdown"),menu.show(),!1}),jQuery(document).on("click",".um-dropdown-hide",function(e){UM_hide_menus()}),jQuery(document).on("click","a.um-manual-trigger",function(){var e=jQuery(this).attr("data-child"),t=jQuery(this).attr("data-parent");jQuery(this).parents(t).find(e).trigger("click")}),jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}),jQuery(document).on("change",".um-field-area input[type=radio]",function(){var e=jQuery(this).parents(".um-field-area"),t=jQuery(this).parents("label");e.find(".um-field-radio").removeClass("active"),e.find(".um-field-radio").find("i").removeClass().addClass("um-icon-android-radio-button-off"),t.addClass("active"),t.find("i").removeClass().addClass("um-icon-android-radio-button-on")}),jQuery(document).on("change",".um-field-area input[type=checkbox]",function(){var e=(jQuery(this).parents(".um-field-area"),jQuery(this).parents("label"));e.hasClass("active")?(e.removeClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline-blank")):(e.addClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline"))}),jQuery(".um-datepicker").each(function(){if(elem=jQuery(this),""!=elem.attr("data-disabled_weekdays"))var e=JSON.parse(elem.attr("data-disabled_weekdays"));else var e=!1;var t=elem.attr("data-years"),i=elem.attr("data-date_min"),n=elem.attr("data-date_max"),r=i.split(","),a=n.split(","),o=r.length?new Date(r):null,s=r.length?new Date(a):null;if(o&&"Invalid Date"==o.toString()&&3==r.length){var l=r[1]+"/"+r[2]+"/"+r[0];o=new Date(Date.parse(l))}if(s&&"Invalid Date"==s.toString()&&3==a.length){var u=a[1]+"/"+a[2]+"/"+a[0];s=new Date(Date.parse(u))}elem.pickadate({selectYears:t,min:o,max:s,disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-timepicker").each(function(){elem=jQuery(this),elem.pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-rating").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,click:function(e,t){live_field=this.id,live_value=e,um_conditional()}}),jQuery(".um-rating-readonly").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,readOnly:!0}),jQuery(document).on("click",".um .um-single-image-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-image-preview img").attr("src");return t.find(".um-single-image-preview img").attr("src",""),t.find(".um-single-image-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val(""),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(document).on("click",".um .um-single-file-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-fileinfo a").attr("href");return t.find(".um-single-file-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val(""),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(".um-s1,.um-s2").css({display:"block"}),jQuery(".um-s1").select2({allowClear:!0}),jQuery(".um-s2").select2({allowClear:!1,minimumResultsForSearch:10}),jQuery(document).on("click",".um-field-group-head:not(.disabled)",function(){var e=jQuery(this).parents(".um-field-group"),t=e.data("max_entries");e.find(".um-field-group-body").is(":hidden")?e.find(".um-field-group-body").show():e.find(".um-field-group-body:first").clone().appendTo(e),increase_id=0,e.find(".um-field-group-body").each(function(){increase_id++,jQuery(this).find("input").each(function(){var e=jQuery(this);e.attr("id",e.data("key")+"-"+increase_id),e.attr("name",e.data("key")+"-"+increase_id),e.parent().parent().find("label").attr("for",e.data("key")+"-"+increase_id)})}),t>0&&e.find(".um-field-group-body").length==t&&jQuery(this).addClass("disabled")}),jQuery(document).on("click",".um-field-group-cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field-group"),i=t.data("max_entries");return t.find(".um-field-group-body").length>1?jQuery(this).parents(".um-field-group-body").remove():jQuery(this).parents(".um-field-group-body").hide(),i>0&&t.find(".um-field-group-body").length'),jQuery(".um-dropdown").hide(),um_responsive(),user_id=jQuery(this).attr("data-user_id"),metakey="cover_photo",jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_delete_cover_photo",metakey:metakey,user_id:user_id}})}),e(),jQuery("textarea[id=um-meta-bio]").change(e),jQuery("textarea[id=um-meta-bio]").keyup(e),jQuery(".um-profile-edit a.um_delete-item").click(function(e){e.preventDefault();var t=confirm("Are you sure that you want to delete this user?");if(!t)return!1})}),jQuery(document).ready(function(){var e=jQuery(".um-account-main").attr("data-current_tab");e&&jQuery(".um-account-tab[data-tab="+e+"]").show(),jQuery(document).on("click",".um-account-side li a",function(e){e.preventDefault();var t=jQuery(this);t.parents("ul").find("li a").removeClass("current"),t.addClass("current");var i=jQuery(this).attr("href"),n=jQuery(this).attr("data-tab");return jQuery("input[id=_um_account_tab]:hidden").val(n),window.history.pushState("","",i),jQuery(".um-account-tab").hide(),jQuery(".um-account-tab[data-tab="+n+"]").fadeIn(),jQuery(".um-account-nav a").removeClass("current"),jQuery(".um-account-nav a[data-tab="+n+"]").addClass("current"),!1})}),jQuery(document).on("click",".um-account-nav a",function(e){e.preventDefault();var t=jQuery(this).attr("data-tab"),i=jQuery(this).parents("div"),n=jQuery(this);return jQuery("input[id=_um_account_tab]:hidden").val(t),jQuery(".um-account-tab").hide(),n.hasClass("current")?(i.next(".um-account-tab").slideUp(),n.removeClass("current")):(i.next(".um-account-tab").slideDown(),n.parents("div").find("a").removeClass("current"),n.addClass("current")),jQuery(".um-account-side li a").removeClass("current"),jQuery(".um-account-side li a[data-tab="+t+"]").addClass("current"),!1}); \ No newline at end of file From 56779d3799f406f49c5ea8305c1a806248e410ad Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Thu, 8 Jun 2017 21:05:40 +0800 Subject: [PATCH 07/28] Add travis-ci file --- .travis.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..64df7f11 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,27 @@ + +sudo: false +language: php + +notifications: + on_success: never + on_failure: change + +php: + - nightly # PHP 7.0 + - 5.6 + - 5.5 + - 5.4 + +env: + - WP_PROJECT_TYPE=plugin WP_VERSION=latest WP_MULTISITE=0 WP_TEST_URL=http://localhost:12000 WP_TEST_USER=test WP_TEST_USER_PASS=test + +matrix: + allow_failures: + - php: nightly + +before_script: + - git clone https://github.com/Seravo/wordpress-test-template wp-tests + - bash wp-tests/bin/install-wp-tests.sh test root '' localhost $WP_VERSION + +script: + - cd wp-tests/spec && bundle exec rspec test.rb \ No newline at end of file From 40ed77e00390f849bfcdcf881027218f4f1fcf77 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Thu, 8 Jun 2017 21:17:04 +0800 Subject: [PATCH 08/28] Update travis-ci file --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 64df7f11..2b3c201d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,5 +23,5 @@ before_script: - git clone https://github.com/Seravo/wordpress-test-template wp-tests - bash wp-tests/bin/install-wp-tests.sh test root '' localhost $WP_VERSION -script: - - cd wp-tests/spec && bundle exec rspec test.rb \ No newline at end of file +#script: + # - cd wp-tests/spec && bundle exec rspec test.rb \ No newline at end of file From 56434dee0c31bc3fe79f551dc3d8b789951d3bb2 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Thu, 8 Jun 2017 21:34:20 +0800 Subject: [PATCH 09/28] Add tests files --- .travis.yml | 88 ++++++++++++++++++++++++++++++-------- tests/get-wp-version.php | 54 +++++++++++++++++++++++ tests/prepare-wordpress.sh | 43 +++++++++++++++++++ tests/run-travis.sh | 0 4 files changed, 168 insertions(+), 17 deletions(-) create mode 100644 tests/get-wp-version.php create mode 100644 tests/prepare-wordpress.sh create mode 100644 tests/run-travis.sh diff --git a/.travis.yml b/.travis.yml index 2b3c201d..f032ac82 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,27 +1,81 @@ +# Travis CI Configuration File -sudo: false +# Tell Travis CI we're using PHP language: php -notifications: - on_success: never - on_failure: change - -php: - - nightly # PHP 7.0 - - 5.6 - - 5.5 - - 5.4 - +# Setup a global environment and overide as needed env: - - WP_PROJECT_TYPE=plugin WP_VERSION=latest WP_MULTISITE=0 WP_TEST_URL=http://localhost:12000 WP_TEST_USER=test WP_TEST_USER_PASS=test + global: + - WP_TRAVISCI=phpunit + +cache: + directories: + - $HOME/.composer/cache/files + - $HOME/.cache/yarn + +# Next we define our matrix of additional build configurations to test against. +# The versions listed above will automatically create our first configuration, +# so it doesn't need to be re-defined below. + +# Test WP trunk/master and two latest versions on minimum (5.2). +# Test WP latest two versions (4.5, 4.3) on most popular (5.5, 5.6). +# Test WP latest stable (4.5) on other supported PHP (5.3, 5.4). +# Test WP trunk/master on edge platforms (7.0, PHP nightly). + +# WP_VERSION specifies the tag to use. The way these tests are configured to run +# requires at least WordPress 3.8. Specify "master" to test against SVN trunk. matrix: + include: + - env: WP_TRAVISCI="yarn lint" + - env: WP_TRAVISCI="yarn test-client" + - env: WP_TRAVISCI="yarn test-gui" + - php: "5.2" + - php: "5.3" + - php: "5.5" + - php: "5.6" + - php: "7.0" + - php: "7.1" + allow_failures: - - php: nightly + - php: "7.1" +# - php: "nightly" +# whitelist branches for the "push" build check. +branches: + only: + - master + #- master-stable + #- /^branch-.*$/ + #- feature/* + +# Clones WordPress and configures our testing environment. before_script: - - git clone https://github.com/Seravo/wordpress-test-template wp-tests - - bash wp-tests/bin/install-wp-tests.sh test root '' localhost $WP_VERSION + - phpenv config-rm xdebug.ini + - export PLUGIN_SLUG=$(basename $(pwd)) + - source ~/.nvm/nvm.sh + - export PATH="$HOME/.composer/vendor/bin:$PATH" + - | + if [[ ${TRAVIS_PHP_VERSION:0:2} == "7." ]]; then + composer global require "phpunit/phpunit=5.7.*" + elif [[ ${TRAVIS_PHP_VERSION:0:3} != "5.2" ]]; then + composer global require "phpunit/phpunit=4.8.*" + fi + - nvm install 6 + - nvm use 6 + - ./tests/prepare-wordpress.sh + - mysql -e "set global wait_timeout = 3600;" -#script: - # - cd wp-tests/spec && bundle exec rspec test.rb \ No newline at end of file +script: + - ./tests/run-travis.sh + +sudo: false + +# We need notifications for successful builds + +notifications: + webhooks: https:/ultimatemember.com/travis.php + email: + - heychampsupertramp@gmail.com + # Encrypted Slack notification address. + - secure: "WQdTdmYuifSW0hiJGXpQGKystMASC50QvxHlyUL5SM3h5GP8aCgeSsHuXvKPe3dT3Pffhk0dSHBfDtdWFwSHW/upURhg0vs4dm7+nxxvGZiTPzKcuAIjgvCoqWM7teyda/XqFGNSnv+XsT34uoyPhhFgd45T3oS+QQ3aNCruFak=" diff --git a/tests/get-wp-version.php b/tests/get-wp-version.php new file mode 100644 index 00000000..f0cd970b --- /dev/null +++ b/tests/get-wp-version.php @@ -0,0 +1,54 @@ +offers; + +// Sorting available WordPress offers by version number +function offer_version_sort( $first, $second ) { + return version_compare( $first->version, $second->version, '<' ); +} + +uasort( $versions, 'offer_version_sort' ); + +$version_stack = array(); + +foreach( $versions as $offer ) { + list( $major, $minor ) = explode( '.', $offer->version ); + + $base = $major . '.' . $minor; + + if ( + ! isset( $version_stack[ $base ] ) + || version_compare( $offer->version, $version_stack[ $base ] ) ) { + + // There is no version like this yet or there is a newer patch to this major version + $version_stack[ $base ] = $offer->version; + } + + if ( count( $version_stack ) === 2 ) { + break; + } +} + +$wp_versions = array_values( $version_stack ); + +if ( empty( $argv[1] ) ) { + print $wp_versions[0] . "\n"; +} else if ( '--previous' === $argv[1] ) { + print $wp_versions[1] . "\n"; +} else { + die( + "Unknown argument: " . $argv[1] . "\n" + . "Use with no arguments to get the latest stable WordPress version, or use `--previous' to get the previous stable major release.\n" + ); +} \ No newline at end of file diff --git a/tests/prepare-wordpress.sh b/tests/prepare-wordpress.sh new file mode 100644 index 00000000..294696b6 --- /dev/null +++ b/tests/prepare-wordpress.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# If this is an NPM environment test we don't need a developer WordPress checkout + +if [ "$WP_TRAVISCI" != "phpunit" ]; then + exit 0; +fi + +# This prepares a developer checkout of WordPress for running the test suite on Travis + +mysql -u root -e "CREATE DATABASE wordpress_tests;" + +CURRENT_DIR=$(pwd) + +for WP_SLUG in 'master' 'latest' 'previous'; do + echo "Preparing $WP_SLUG WordPress..."; + + cd $CURRENT_DIR/.. + + case $WP_SLUG in + master) + git clone --depth=1 --branch master git://develop.git.wordpress.org/ /tmp/wordpress-master + ;; + latest) + git clone --depth=1 --branch `php ./$PLUGIN_SLUG/tests/get-wp-version.php` git://develop.git.wordpress.org/ /tmp/wordpress-latest + ;; + previous) + git clone --depth=1 --branch `php ./$PLUGIN_SLUG/tests/get-wp-version.php --previous` git://develop.git.wordpress.org/ /tmp/wordpress-previous + ;; + esac + + cp -r $PLUGIN_SLUG "/tmp/wordpress-$WP_SLUG/src/wp-content/plugins/$PLUGIN_SLUG" + cd /tmp/wordpress-$WP_SLUG + + cp wp-tests-config-sample.php wp-tests-config.php + sed -i "s/youremptytestdbnamehere/wordpress_tests/" wp-tests-config.php + sed -i "s/yourusernamehere/root/" wp-tests-config.php + sed -i "s/yourpasswordhere//" wp-tests-config.php + + echo "Done!"; +done + +exit 0; \ No newline at end of file diff --git a/tests/run-travis.sh b/tests/run-travis.sh new file mode 100644 index 00000000..e69de29b From f139fa441d9a1b64d2fcf0f5041d4fe050e385d0 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Thu, 8 Jun 2017 21:48:31 +0800 Subject: [PATCH 10/28] Add .editorconfig --- .editorconfig | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..c951f002 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,21 @@ +# This file is for unifying the coding style for different editors and IDEs +# editorconfig.org + +# WordPress Coding Standards +# https://make.wordpress.org/core/handbook/coding-standards/ + +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = tab + +[{.jshintrc,*.json,*.yml}] +indent_style = space +indent_size = 2 + +[{*.txt,wp-config-sample.php}] +end_of_line = crlf \ No newline at end of file From 08b814f9be5c02b6826c81ab1da8a6515f3a7b63 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Thu, 8 Jun 2017 22:18:57 +0800 Subject: [PATCH 11/28] Add tests bootstrap --- .travis.yml | 2 +- tests/php/bootstrap.php | 102 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 tests/php/bootstrap.php diff --git a/.travis.yml b/.travis.yml index f032ac82..8e931e24 100644 --- a/.travis.yml +++ b/.travis.yml @@ -78,4 +78,4 @@ notifications: email: - heychampsupertramp@gmail.com # Encrypted Slack notification address. - - secure: "WQdTdmYuifSW0hiJGXpQGKystMASC50QvxHlyUL5SM3h5GP8aCgeSsHuXvKPe3dT3Pffhk0dSHBfDtdWFwSHW/upURhg0vs4dm7+nxxvGZiTPzKcuAIjgvCoqWM7teyda/XqFGNSnv+XsT34uoyPhhFgd45T3oS+QQ3aNCruFak=" + #- secure: "WQdTdmYuifSW0hiJGXpQGKystMASC50QvxHlyUL5SM3h5GP8aCgeSsHuXvKPe3dT3Pffhk0dSHBfDtdWFwSHW/upURhg0vs4dm7+nxxvGZiTPzKcuAIjgvCoqWM7teyda/XqFGNSnv+XsT34uoyPhhFgd45T3oS+QQ3aNCruFak=" diff --git a/tests/php/bootstrap.php b/tests/php/bootstrap.php new file mode 100644 index 00000000..b982621c --- /dev/null +++ b/tests/php/bootstrap.php @@ -0,0 +1,102 @@ +tests_dir = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'tests'; + $this->includes_dir = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'includes'; + $this->plugin_dir = dirname( dirname( dirname( $this->tests_dir ) ) ); + $this->wp_tests_dir = getenv( 'WP_TESTS_DIR' ) ? getenv( 'WP_TESTS_DIR' ) : '/tmp/wordpress-tests-lib'; + + // load test function so tests_add_filter() is available + require_once( $this->wp_tests_dir . '/includes/functions.php' ); + + // load UltimateMember + tests_add_filter( 'plugins_loaded', array( $this, 'load_plugin' ) ); + + // install UltimateMember + tests_add_filter( 'setup_theme', array( $this, 'install_plugin' ) ); + + // load the WP testing environment + require_once( $this->wp_tests_dir . '/includes/bootstrap.php' ); + + // load UltimateMember testing framework + $this->includes(); + } + + /** + * Load UltimateMember. + * + * @since 1.3.84 + */ + public function load_plugin() { + //require_once( $this->plugin_dir . '/index.php' ); + } + + /** + * Install UltimateMember after the test environment and UltimateMember have been loaded. + * + * @since 1.3.84 + */ + public function install_plugin() { + global $wp_version; + + // reload capabilities after install, see https://core.trac.wordpress.org/ticket/28374 + if ( version_compare( $wp_version, '4.7.0' ) >= 0 ) { + $GLOBALS['wp_roles'] = new WP_Roles(); + } else { + $GLOBALS['wp_roles']->reinit(); + } + } + + /** + * Load UltimateMember-specific test cases and framework. + * + * @since 1.3.84 + */ + public function includes() { + // framework + //require_once( $this->includes_dir . '/factories/class-UltimateMember-factory.php' ); + //require_once( $this->includes_dir . '/class-UltimateMember-base-test.php' ); + } + + /** + * Get the single class instance. + * + * @since 1.3.84 + * @return UltimateMember_Unit_Tests_Bootstrap + */ + public static function instance() { + if ( is_null( self::$instance ) ) { + self::$instance = new self(); + } + return self::$instance; + } +} +UltimateMember_Unit_Tests_Bootstrap::instance(); From b7406ec8581e6d6a54d1658350f0215725836a44 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Thu, 8 Jun 2017 22:25:18 +0800 Subject: [PATCH 12/28] Fix travis permission access --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 8e931e24..e83844db 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,6 +63,7 @@ before_script: fi - nvm install 6 - nvm use 6 + - chmod +x ./tests/prepare-wordpress.sh - ./tests/prepare-wordpress.sh - mysql -e "set global wait_timeout = 3600;" From 8fd5c5540dbcbd94d14a30614c5e5f92aaccc480 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Thu, 8 Jun 2017 22:31:44 +0800 Subject: [PATCH 13/28] Fix travis access permission to run --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index e83844db..e691c32a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -64,6 +64,7 @@ before_script: - nvm install 6 - nvm use 6 - chmod +x ./tests/prepare-wordpress.sh + - chmod +x ./tests/run-travis.sh - ./tests/prepare-wordpress.sh - mysql -e "set global wait_timeout = 3600;" From 0c0d69152ae0d26cc29810f6fc971797f53ae722 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Thu, 8 Jun 2017 22:47:05 +0800 Subject: [PATCH 14/28] Add travis build status icon --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 848223d8..ead7ac52 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ Ultimate Member ============== + +[![Travic-CI](https://travis-ci.org/ultimatemember/ultimatemember.svg?branch=master)](https://travis-ci.org/ultimatemember/ultimatemember) Ultimate Member is a powerful and flexible WordPress plugin that makes it a breeze for users to sign-up and become members. The plugin allows you to add beautiful user profiles to your site and is perfect for creating advanced online communities. Lightweight and highly extensible, Ultimate Member will enable you to create almost any type of site where users can join and become members with absolute ease. | Latest Version |Requires at least|Stable Tag| From f65f85c1aecd7103cda5f2203080489c76a4f670 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Thu, 8 Jun 2017 22:47:51 +0800 Subject: [PATCH 15/28] Fix spacing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ead7ac52..59dc78dd 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ Ultimate Member ============== [![Travic-CI](https://travis-ci.org/ultimatemember/ultimatemember.svg?branch=master)](https://travis-ci.org/ultimatemember/ultimatemember) + Ultimate Member is a powerful and flexible WordPress plugin that makes it a breeze for users to sign-up and become members. The plugin allows you to add beautiful user profiles to your site and is perfect for creating advanced online communities. Lightweight and highly extensible, Ultimate Member will enable you to create almost any type of site where users can join and become members with absolute ease. | Latest Version |Requires at least|Stable Tag| From d577823f08a5b8afa153460cdb479c14d452dd45 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Fri, 9 Jun 2017 18:45:54 +0800 Subject: [PATCH 16/28] Fix png image upload with transparency --- core/um-files.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/um-files.php b/core/um-files.php index a1b5e025..9244e699 100644 --- a/core/um-files.php +++ b/core/um-files.php @@ -201,6 +201,8 @@ class UM_Files { } else if ($info['mime'] == 'image/png'){ $image = imagecreatefrompng( $source ); + imagealphablending( $image, false ); + imagesavealpha( $image, true ); } From f3acef90ac0c462e358fc48323a6102ee4035e42 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Fri, 9 Jun 2017 21:59:50 +0800 Subject: [PATCH 17/28] Fix conditional logic with radio and checkbox fields --- assets/js/um-conditional.js | 35 +++++++++++++++++------------------ assets/js/um.min.js | 4 ++-- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/assets/js/um-conditional.js b/assets/js/um-conditional.js index 0c512de0..80b34b63 100644 --- a/assets/js/um-conditional.js +++ b/assets/js/um-conditional.js @@ -86,16 +86,7 @@ jQuery(document).ready(function() { var um_field_child_dom = jQuery('.um-field[data-key="'+conditions.child+'"]').find('input[type=text],textarea,input[type=checkbox],input[type=radio],select,[class=um-field-block]'); var um_field_child_dom_hide = jQuery('.um-field[data-key="'+conditions.child+'"]'); - var c_child = field_results[ conditions.child ]; - - if( action0 == 'child' && typeof c_child !== 'undefined' ){ - if( c_child.act == 'hide' ){ - jQuery('.um-field[data-key="'+field_key+'"]').hide(); - }else if( c_child.act == 'show' ){ - jQuery('.um-field[data-key="'+field_key+'"]').show(); - } - - } + if ( action0 == 'show' && typeof value0 !== 'undefined' ) { @@ -181,7 +172,6 @@ jQuery(document).ready(function() { um_field_hide( um_field_child_dom, add_fade, operator0, um_live_field , field_key ); field_results[ conditions.child ] = { act: action0, op: operator0 }; }else{ - um_field_child_dom_hide.show(); field_results[ conditions.child ] = { act: 'show', op: operator0 }; } } @@ -191,7 +181,6 @@ jQuery(document).ready(function() { um_field_hide( um_field_child_dom, add_fade, operator0, um_live_field , field_key ); field_results[ conditions.child ] = { act: action0, op: operator0 }; }else{ - um_field_child_dom_hide.show(); field_results[ conditions.child ] = { act: 'show', op: operator0 }; } } @@ -201,7 +190,6 @@ jQuery(document).ready(function() { um_field_hide( um_field_child_dom, add_fade, operator0, um_live_field , field_key ); field_results[ conditions.child ] = { act: action0, op: operator0 }; }else{ - um_field_child_dom_hide.show(); field_results[ conditions.child ] = { act: 'show', op: operator0 }; } } @@ -234,7 +222,6 @@ jQuery(document).ready(function() { um_field_hide( um_field_child_dom, add_fade, operator0, um_live_field , field_key ); field_results[ conditions.child ] = { act: action0, op: operator0 }; }else{ - um_field_child_dom_hide.show(); field_results[ conditions.child ] = { act: 'show', op: operator0 }; } } @@ -244,12 +231,22 @@ jQuery(document).ready(function() { um_field_hide( um_field_child_dom, add_fade, operator0, um_live_field , field_key ); field_results[ conditions.child ] = { act: action0, op: operator0 }; }else{ - um_field_child_dom_hide.show(); field_results[ conditions.child ] = { act: 'show', op: operator0 }; } } } + + var c_child = field_results[ conditions.child ]; + + if( action0 == 'child' && typeof c_child !== 'undefined' ){ + if( c_child.act == 'hide' ){ + jQuery('.um-field[data-key="'+field_key+'"]').hide(); + }else if( c_child.act == 'show' ){ + jQuery('.um-field[data-key="'+field_key+'"]').show(); + } + } + }); }); @@ -264,7 +261,7 @@ jQuery(document).ready(function() { if( field.is(':hidden') ){ if( add_fade ){ - field.fadeIn(); + field.fadeIn(1); }else{ field.show(); } @@ -279,7 +276,7 @@ jQuery(document).ready(function() { if( field.is(':visible') ){ if( add_fade ){ - field.fadeOut(); + field.fadeOut(1); }else{ field.hide(); } @@ -292,14 +289,16 @@ jQuery(document).ready(function() { um_live_value = um_field_dom.val(); if ( um_field_dom.is(':checkbox') ) { + if ( um_field_dom.parents('.um-field').find('input:checked').length > 1 ) { um_live_value = ''; um_field_dom.parents('.um-field').find('input:checked').each(function(){ - um_live_value = um_live_value + um_field_dom.val() + ' '; + um_live_value = um_live_value + jQuery(this).val() + ' '; }); } else { um_live_value = um_field_dom.parents('.um-field').find('input:checked').val(); } + } if ( um_field_dom.is(':radio') ) { diff --git a/assets/js/um.min.js b/assets/js/um.min.js index 67a54624..b5a15fa5 100644 --- a/assets/js/um.min.js +++ b/assets/js/um.min.js @@ -4,5 +4,5 @@ null!=d.placeholder&&(d.resultsAdapter=u.Decorate(d.resultsAdapter,x)),d.selectO a="error",y.error=i=e||a}y.aborted&&(n("upload aborted"),a=null),y.status&&(a=y.status>=200&&y.status<300||304===y.status?"success":"error"),"success"===a?(h.success&&h.success.call(h.context,Q,"success",y),C.resolve(y.responseText,"success",y),p&&e.event.trigger("ajaxSuccess",[y,h])):a&&(void 0===i&&(i=y.statusText),h.error&&h.error.call(h.context,y,a,i),C.reject(y,"error",i),p&&e.event.trigger("ajaxError",[y,h,i])),p&&e.event.trigger("ajaxComplete",[y,h]),p&&!--e.active&&e.event.trigger("ajaxStop"),h.complete&&h.complete.call(h.context,y,a),O=!0,h.timeout&&clearTimeout(x),setTimeout(function(){h.iframeTarget?g.attr("src",h.iframeSrc):g.remove(),y.responseXML=null},100)}}}var u,c,h,p,f,g,v,y,b,w,_,x,j=d[0],C=e.Deferred();if(C.abort=function(e){y.abort(e)},i)for(c=0;c'),g.css({position:"absolute",top:"-1000px",left:"-1000px"})),v=g[0],y={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(t){var i="timeout"===t?"timeout":"aborted";n("aborting upload... "+i),this.aborted=1;try{v.contentWindow.document.execCommand&&v.contentWindow.document.execCommand("Stop")}catch(e){}g.attr("src",h.iframeSrc),y.error=i,h.error&&h.error.call(h.context,y,i,t),p&&e.event.trigger("ajaxError",[y,h,i]),h.complete&&h.complete.call(h.context,y,i)}},p=h.global,p&&0===e.active++&&e.event.trigger("ajaxStart"),p&&e.event.trigger("ajaxSend",[y,h]),h.beforeSend&&h.beforeSend.call(h.context,y,h)===!1)return h.global&&e.active--,C.reject(),C;if(y.aborted)return C.reject(),C;b=j.clk,b&&(w=b.name,w&&!b.disabled&&(h.extraData=h.extraData||{},h.extraData[w]=b.value,"image"==b.type&&(h.extraData[w+".x"]=j.clk_x,h.extraData[w+".y"]=j.clk_y)));var S=1,k=2,$=e("meta[name=csrf-token]").attr("content"),D=e("meta[name=csrf-param]").attr("content");D&&$&&(h.extraData=h.extraData||{},h.extraData[D]=$),h.forceSync?o():setTimeout(o,10);var Q,T,O,A=50,M=e.parseXML||function(e,t){return window.ActiveXObject?(t=new ActiveXObject("Microsoft.XMLDOM"),t.async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!=t.documentElement.nodeName?t:null},E=e.parseJSON||function(e){return window.eval("("+e+")")},I=function(t,i,n){var r=t.getResponseHeader("content-type")||"",a="xml"===i||!i&&r.indexOf("xml")>=0,o=a?t.responseXML:t.responseText;return a&&"parsererror"===o.documentElement.nodeName&&e.error&&e.error("parsererror"),n&&n.dataFilter&&(o=n.dataFilter(o,i)),"string"==typeof o&&("json"===i||!i&&r.indexOf("json")>=0?o=E(o):("script"===i||!i&&r.indexOf("javascript")>=0)&&e.globalEval(o)),o};return C}if(!this.length)return n("ajaxSubmit: skipping submit process - no element selected"),this;var l,u,c,d=this;"function"==typeof t?t={success:t}:void 0===t&&(t={}),l=t.type||this.attr2("method"),u=t.url||this.attr2("action"),c="string"==typeof u?e.trim(u):"",c=c||window.location.href||"",c&&(c=(c.match(/^([^#]+)/)||[])[1]),t=e.extend(!0,{url:c,success:e.ajaxSettings.success,type:l||e.ajaxSettings.type,iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var h={};if(this.trigger("form-pre-serialize",[this,t,h]),h.veto)return n("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(t.beforeSerialize&&t.beforeSerialize(this,t)===!1)return n("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var p=t.traditional;void 0===p&&(p=e.ajaxSettings.traditional);var f,m=[],g=this.formToArray(t.semantic,m);if(t.data&&(t.extraData=t.data,f=e.param(t.data,p)),t.beforeSubmit&&t.beforeSubmit(g,this,t)===!1)return n("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[g,this,t,h]),h.veto)return n("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var v=e.param(g,p);f&&(v=v?v+"&"+f:f),"GET"==t.type.toUpperCase()?(t.url+=(t.url.indexOf("?")>=0?"&":"?")+v,t.data=null):t.data=v;var y=[];if(t.resetForm&&y.push(function(){d.resetForm()}),t.clearForm&&y.push(function(){d.clearForm(t.includeHidden)}),!t.dataType&&t.target){var b=t.success||function(){};y.push(function(i){var n=t.replaceTarget?"replaceWith":"html";e(t.target)[n](i).each(b,arguments)})}else t.success&&y.push(t.success);if(t.success=function(e,i,n){for(var r=t.context||this,a=0,o=y.length;a0,C="multipart/form-data",S=d.attr("enctype")==C||d.attr("encoding")==C,k=r.fileapi&&r.formdata;n("fileAPI :"+k);var $,D=(j||S)&&!k;t.iframe!==!1&&(t.iframe||D)?t.closeKeepAlive?e.get(t.closeKeepAlive,function(){$=s(g)}):$=s(g):$=(j||S)&&k?o(g):e.ajax(t),d.removeData("jqxhr").data("jqxhr",$);for(var Q=0;Q").get(0).files,t.formdata=void 0!==window.FormData,e.fn.uploadFile=function(i){function n(){h.afterUploadAll&&!g&&(g=!0,function e(){0!=f.sCounter&&f.sCounter+f.fCounter==f.tCounter?(h.afterUploadAll(f),g=!1):window.setTimeout(e,100)}())}function r(t,i,n){n.on("dragenter",function(t){t.stopPropagation(),t.preventDefault(),e(this).css("border","2px dashed #ddd")}),n.on("dragover",function(e){e.stopPropagation(),e.preventDefault()}),n.on("drop",function(n){e(this).css("border","2px dashed #ddd"),n.preventDefault(),t.errorLog.html("");var r=n.originalEvent.dataTransfer.files;return!i.multiple&&r.length>1?void(i.showError&&e("
    "+i.multiDragErrorStr+"
    ").appendTo(t.errorLog)):void(0!=i.onSelect(r)&&o(i,t,r))}),e(document).on("dragenter",function(e){e.stopPropagation(),e.preventDefault()}),e(document).on("dragover",function(e){e.stopPropagation(),e.preventDefault(),n.css("border","2px dashed #ddd")}),e(document).on("drop",function(e){e.stopPropagation(),e.preventDefault(),n.css("border","2px dashed #ddd")})}function a(t){var i=[];i="string"==jQuery.type(t)?t.split("&"):e.param(t).split("&");var n,r,a=i.length,o=[];for(n=0;nt.maxFileSize)t.showError&&e("
    "+t.sizeErrorStr+"
    ").appendTo(i.errorLog);else if(t.maxFileCount!=-1&&i.selectedFiles>=t.maxFileCount)t.showError&&e("
    "+t.maxFileCountErrorStr+"
    ").appendTo(i.errorLog);else{i.selectedFiles++;var o=t,l=new FormData,u=t.fileName.replace("[]","");l.append(u,n[r]);var h=t.formData;if(h)for(var p=a(h),f=0;f");v.appendTo("body");var y=[];y.push(n[r].name),d(v,o,m,y,i),i.fileCounter++}else t.showError&&e("
    "+t.extErrorStr+"
    ").appendTo(i.errorLog)}function s(e,t,i){var n=t.allowedTypes.toLowerCase().split(","),r=i.split(".").pop().toLowerCase();return!("*"!=t.allowedTypes&&jQuery.inArray(r,n)<0)}function l(t,i){if(t.showFileCounter){var n=e(".upload-filename").length;i.fileCounter=n+1,e(".upload-filename").each(function(i,r){var a=e(this).html().split(t.fileCounterStyle),o=(parseInt(a[0])-1,n+t.fileCounterStyle+a[1]);e(this).html(o),n--})}}function u(i,n,r,a){var h="ajax-upload-id-"+(new Date).getTime(),p=e("
    "),f="";r.multiple&&(r.fileName.indexOf("[]")!=r.fileName.length-2&&(r.fileName+="[]"),f="");var m=e(f).appendTo(p);m.change(function(){i.errorLog.html("");var h=(r.allowedTypes.toLowerCase().split(","),[]);if(this.files){for(y=0;y"+r.extErrorStr+"
    ").appendTo(i.errorLog));if(m.push({name:f,size:"NA"}),0==r.onSelect(m))return}if(l(r,i),a.unbind("click"),p.hide(),u(i,n,r,a),p.addClass(n),t.fileapi&&t.formdata){p.removeClass(n);var g=this.files;o(r,i,g)}else{for(var v="",y=0;y":h[y]+"
    ",i.fileCounter++;if(r.maxFileCount!=-1&&i.selectedFiles+h.length>r.maxFileCount)return void(r.showError&&e("
    "+r.maxFileCountErrorStr+"
    ").appendTo(i.errorLog));i.selectedFiles+=h.length;var b=new c(i,r);b.filename.html(v),d(p,r,b,h,i)}}),p.css({margin:0,padding:0});var g=e(a).width()+10;10==g&&(g=120);var v=a.height()+10;10==v&&(v=35),a.css({position:"relative",overflow:"hidden",cursor:"default"}),m.css({position:"absolute",cursor:"pointer",top:"0px",width:"100%",height:"34px",left:"0px","z-index":"100",opacity:"0.0",filter:"alpha(opacity=0)","-ms-filter":"alpha(opacity=0)","-khtml-opacity":"0.0","-moz-opacity":"0.0"}),p.appendTo(a)}function c(t,i){return this.statusbar=e("
    "),this.filename=e("
    ").appendTo(this.statusbar),this.progressDiv=e("
    ").appendTo(this.statusbar).hide(),this.progressbar=e("
    ").appendTo(this.progressDiv),this.abort=e("
    "+i.abortStr+"
    ").appendTo(this.statusbar).hide(),this.cancel=e("
    "+i.cancelStr+"
    ").appendTo(this.statusbar).hide(),this.done=e("
    "+i.doneStr+"
    ").appendTo(this.statusbar).hide(),this.del=e("
    "+i.deletelStr+"
    ").appendTo(this.statusbar).hide(),t.errorLog.after(this.statusbar),this}function d(e,i,r,o,s){var u={cache:!1,contentType:!1,processData:!1,forceSync:!1,data:i.formData,formData:i.fileData,dataType:i.returnType,beforeSubmit:function(t,l,u){if(0!=i.onSubmit.call(this,o)){var c=i.dynamicFormData();if(c){var d=a(c);if(d)for(var h=0;h"+i.uploadErrorStr+"
    "),r.cancel.show(),e.remove(),r.cancel.click(function(){r.statusbar.remove()}),!1},beforeSend:function(e,n){r.progressDiv.show(),r.cancel.hide(),r.done.hide(),i.showAbort&&(r.abort.show(),r.abort.click(function(){e.abort(),s.selectedFiles-=o.length})),t.formdata?r.progressbar.width("1%"):r.progressbar.width("5%")},uploadProgress:function(e,t,n,a){a>98&&(a=98);var o=a+"%";a>1&&r.progressbar.width(o),i.showProgress&&(r.progressbar.html(o),r.progressbar.css("text-align","center"))},success:function(t,n,a){s.responses.push(t),r.progressbar.width("100%"),i.showProgress&&(r.progressbar.html("100%"),r.progressbar.css("text-align","center")),r.abort.hide(),i.onSuccess.call(this,o,t,a),i.showStatusAfterSuccess?(i.showDone?(r.done.show(),r.done.click(function(){r.statusbar.hide("slow"),r.statusbar.remove()})):r.done.hide(),i.showDelete?(r.del.show(),r.del.click(function(){r.statusbar.hide().remove(),i.deleteCallback&&i.deleteCallback.call(this,t,r),s.selectedFiles-=o.length,l(i,s)})):r.del.hide()):(r.statusbar.hide("slow"),r.statusbar.remove()),e.remove(),s.sCounter+=o.length},error:function(t,n,a){r.abort.hide(),"abort"==t.statusText?(r.statusbar.hide("slow").remove(),l(i,s)):(i.onError.call(this,o,n,a),i.showStatusAfterError?(r.progressDiv.hide(),r.statusbar.append("ERROR: "+a+"")):(r.statusbar.hide(),r.statusbar.remove()),s.selectedFiles-=o.length),e.remove(),s.fCounter+=o.length}};i.autoSubmit?e.ajaxSubmit(u):(i.showCancel&&(r.cancel.show(),r.cancel.click(function(){e.remove(),r.statusbar.remove(),s.selectedFiles-=o.length,l(i,s)})),e.ajaxForm(u))}var h=e.extend({url:"",method:"POST",enctype:"multipart/form-data",formData:null,returnType:null,allowedTypes:"*",fileName:"file",formData:{},dynamicFormData:function(){return{}},maxFileSize:-1,maxFileCount:-1,multiple:!0,dragDrop:!0,autoSubmit:!0,showCancel:!0,showAbort:!0,showDone:!0,showDelete:!1,showError:!0,showStatusAfterSuccess:!0,showStatusAfterError:!0,showFileCounter:!0,fileCounterStyle:"). ",showProgress:!1,onSelect:function(e){return!0},onSubmit:function(e,t){},onSuccess:function(e,t,i){},onError:function(e,t,i){},deleteCallback:!1,afterUploadAll:!1,uploadButtonClass:"upload",dragDropStr:"",abortStr:"Abort",cancelStr:"Cancel",deletelStr:"Delete",doneStr:"Done",multiDragErrorStr:"Multiple File Drag & Drop is not allowed.",extErrorStr:"",sizeErrorStr:"",uploadErrorStr:"Upload is not allowed",maxFileCountErrorStr:""},i);this.fileCounter=1,this.selectedFiles=0,this.fCounter=0,this.sCounter=0,this.tCounter=0;var p="upload-"+(new Date).getTime();this.formGroup=p,this.hide(),this.errorLog=e("
    "),this.after(this.errorLog),this.responses=[],t.formdata||(h.dragDrop=!1),t.formdata||(h.multiple=!1);var f=this,m=e("
    "+e(this).html()+"
    ");e(m).addClass(h.uploadButtonClass),function t(){if(e.fn.ajaxForm){if(h.dragDrop){var i=e('
    ');e(f).before(i),e(i).append(m),e(i).prepend(e(h.dragDropStr)),r(f,h,i)}else e(f).before(m);u(f,p,h,m)}else window.setTimeout(t,10)}(),this.startUpload=function(){e("."+this.formGroup).each(function(t,i){e(this).is("form")&&e(this).submit()})},this.stopUpload=function(){e(".upload-red").each(function(t,i){e(this).hasClass(f.formGroup)&&e(this).click()})},this.getResponses=function(){return this.responses};var g=!1;return this}}(jQuery),function(e){"function"==typeof define&&define.amd?define("picker",["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):this.Picker=e(jQuery)}(function(e){function t(a,o,l,h){function p(){return t._.node("div",t._.node("div",t._.node("div",t._.node("div",$.component.nodes(x.open),C.box),C.wrap),C.frame),C.holder,'tabindex="-1"')}function f(){S.data(o,$).addClass(C.input).val(S.data("value")?$.get("select",j.format):a.value),j.editable||S.on("focus."+x.id+" click."+x.id,function(e){e.preventDefault(),$.open()}).on("keydown."+x.id,w),r(a,{haspopup:!0,expanded:!1,readonly:!1,owns:a.id+"_root"})}function m(){r($.$root[0],"hidden",!0)}function g(){$.$holder.on({keydown:w,"focus.toOpen":b,blur:function(){S.removeClass(C.target)},focusin:function(e){$.$root.removeClass(C.focused),e.stopPropagation()},"mousedown click":function(t){var i=t.target;i!=$.$holder[0]&&(t.stopPropagation(),"mousedown"!=t.type||e(i).is("input, select, textarea, button, option")||(t.preventDefault(),$.$holder[0].focus()))}}).on("click","[data-pick], [data-nav], [data-clear], [data-close]",function(){var t=e(this),i=t.data(),n=t.hasClass(C.navDisabled)||t.hasClass(C.disabled),r=s();r=r&&(r.type||r.href),(n||r&&!e.contains($.$root[0],r))&&$.$holder[0].focus(),!n&&i.nav?$.set("highlight",$.component.item.highlight,{nav:i.nav}):!n&&"pick"in i?($.set("select",i.pick),j.closeOnSelect&&$.close(!0)):i.clear?($.clear(),j.closeOnClear&&$.close(!0)):i.close&&$.close(!0)})}function v(){var t;j.hiddenName===!0?(t=a.name,a.name=""):(t=["string"==typeof j.hiddenPrefix?j.hiddenPrefix:"","string"==typeof j.hiddenSuffix?j.hiddenSuffix:"_submit"],t=t[0]+a.name+t[1]),$._hidden=e('")[0],S.on("change."+x.id,function(){$._hidden.value=a.value?$.get("select",j.formatSubmit):""})}function y(){_&&d?$.$holder.find("."+C.frame).one("transitionend",function(){$.$holder[0].focus()}):$.$holder[0].focus()}function b(e){e.stopPropagation(),S.addClass(C.target),$.$root.addClass(C.focused),$.open()}function w(e){var t=e.keyCode,i=/^(8|46)$/.test(t);return 27==t?($.close(!0),!1):void((32==t||i||!x.open&&$.component.key[t])&&(e.preventDefault(),e.stopPropagation(),i?$.clear().close():$.open()))}if(!a)return t;var _=!1,x={id:a.id||"P"+Math.abs(~~(Math.random()*new Date))},j=l?e.extend(!0,{},l.defaults,h):h||{},C=e.extend({},t.klasses(),j.klass),S=e(a),k=function(){return this.start()},$=k.prototype={constructor:k,$node:S,start:function(){return x&&x.start?$:(x.methods={},x.start=!0,x.open=!1,x.type=a.type,a.autofocus=a==s(),a.readOnly=!j.editable,a.id=a.id||x.id,"text"!=a.type&&(a.type="text"),$.component=new l($,j),$.$root=e('
    '),m(),$.$holder=e(p()).appendTo($.$root),g(),j.formatSubmit&&v(),f(),j.containerHidden?e(j.containerHidden).append($._hidden):S.after($._hidden),j.container?e(j.container).append($.$root):S.after($.$root),$.on({start:$.component.onStart,render:$.component.onRender,stop:$.component.onStop,open:$.component.onOpen,close:$.component.onClose,set:$.component.onSet}).on({start:j.onStart,render:j.onRender,stop:j.onStop,open:j.onOpen,close:j.onClose,set:j.onSet}),_=i($.$holder[0]),a.autofocus&&$.open(),$.trigger("start").trigger("render"))},render:function(t){return t?($.$holder=e(p()),g(),$.$root.html($.$holder)):$.$root.find("."+C.box).html($.component.nodes(x.open)),$.trigger("render")},stop:function(){return x.start?($.close(),$._hidden&&$._hidden.parentNode.removeChild($._hidden),$.$root.remove(),S.removeClass(C.input).removeData(o),setTimeout(function(){S.off("."+x.id)},0),a.type=x.type,a.readOnly=!1,$.trigger("stop"),x.methods={},x.start=!1,$):$},open:function(i){return x.open?$:(S.addClass(C.active),r(a,"expanded",!0),setTimeout(function(){$.$root.addClass(C.opened),r($.$root[0],"hidden",!1)},0),i!==!1&&(x.open=!0,_&&c.css("overflow","hidden").css("padding-right","+="+n()),y(),u.on("click."+x.id+" focusin."+x.id,function(e){var t=e.target;t!=a&&t!=document&&3!=e.which&&$.close(t===$.$holder[0])}).on("keydown."+x.id,function(i){var n=i.keyCode,r=$.component.key[n],a=i.target;27==n?$.close(!0):a!=$.$holder[0]||!r&&13!=n?e.contains($.$root[0],a)&&13==n&&(i.preventDefault(),a.click()):(i.preventDefault(),r?t._.trigger($.component.key.go,$,[t._.trigger(r)]):$.$root.find("."+C.highlighted).hasClass(C.disabled)||($.set("select",$.component.item.highlight),j.closeOnSelect&&$.close(!0)))})),$.trigger("open"))},close:function(e){return e&&(j.editable?a.focus():($.$holder.off("focus.toOpen").focus(),setTimeout(function(){$.$holder.on("focus.toOpen",b)},0))),S.removeClass(C.active),r(a,"expanded",!1),setTimeout(function(){$.$root.removeClass(C.opened+" "+C.focused),r($.$root[0],"hidden",!0)},0),x.open?(x.open=!1,_&&c.css("overflow","").css("padding-right","-="+n()),u.off("."+x.id),$.trigger("close")):$},clear:function(e){return $.set("clear",null,e)},set:function(t,i,n){var r,a,o=e.isPlainObject(t),s=o?t:{};if(n=o&&e.isPlainObject(i)?i:n||{},t){o||(s[t]=i);for(r in s)a=s[r],r in $.component.item&&(void 0===a&&(a=null),$.component.set(r,a,n)),"select"!=r&&"clear"!=r||S.val("clear"==r?"":$.get(r,j.format)).trigger("change");$.render()}return n.muted?$:$.trigger("set",s)},get:function(e,i){if(e=e||"value",null!=x[e])return x[e];if("valueSubmit"==e){if($._hidden)return $._hidden.value;e="value"}if("value"==e)return a.value;if(e in $.component.item){if("string"==typeof i){var n=$.component.get(e);return n?t._.trigger($.component.formats.toString,$.component,[i,n]):""}return $.component.get(e)}},on:function(t,i,n){var r,a,o=e.isPlainObject(t),s=o?t:{};if(t){o||(s[t]=i);for(r in s)a=s[r],n&&(r="_"+r),x.methods[r]=x.methods[r]||[],x.methods[r].push(a)}return $},off:function(){var e,t,i=arguments;for(e=0,namesCount=i.length;e').appendTo("body"),i=t[0].offsetWidth;t.css("overflow","scroll");var n=e('
    ').appendTo(t),r=n[0].offsetWidth;return t.remove(),i-r}function r(t,i,n){if(e.isPlainObject(i))for(var r in i)a(t,r,i[r]);else a(t,i,n)}function a(e,t,i){e.setAttribute(("role"==t?"":"aria-")+t,i)}function o(t,i){e.isPlainObject(t)||(t={attribute:i}),i="";for(var n in t){var r=("role"==n?"":"aria-")+n,a=t[n];i+=null==a?"":r+'="'+t[n]+'"'}return i}function s(){try{return document.activeElement}catch(e){}}var l=e(window),u=e(document),c=e(document.documentElement),d=null!=document.documentElement.style.transition;return t.klasses=function(e){return e=e||"picker",{picker:e,opened:e+"--opened",focused:e+"--focused",input:e+"__input",active:e+"__input--active",target:e+"__input--target",holder:e+"__holder",frame:e+"__frame",wrap:e+"__wrap",box:e+"__box"}},t._={group:function(e){for(var i,n="",r=t._.trigger(e.min,e);r<=t._.trigger(e.max,e,[r]);r+=e.i)i=t._.trigger(e.item,e,[r]),n+=t._.node(e.node,i[0],i[1],i[2]);return n},node:function(t,i,n,r){return i?(i=e.isArray(i)?i.join(""):i,n=n?' class="'+n+'"':"",r=r?" "+r:"","<"+t+n+r+">"+i+""):""},lead:function(e){return(e<10?"0":"")+e},trigger:function(e,t,i){return"function"==typeof e?e.apply(t,i||[]):e},digits:function(e){return/\d/.test(e[1])?2:1},isDate:function(e){return{}.toString.call(e).indexOf("Date")>-1&&this.isInteger(e.getDate())},isInteger:function(e){return{}.toString.call(e).indexOf("Number")>-1&&e%1===0},ariaAttr:o},t.extend=function(i,n){e.fn[i]=function(r,a){var o=this.data(i);return"picker"==r?o:o&&"string"==typeof r?t._.trigger(o[r],o,[a]):this.each(function(){var a=e(this);a.data(i)||new t(this,i,n,r)})},e.fn[i].defaults=n.defaults},t}),function(e){"function"==typeof define&&define.amd?define(["picker","jquery"],e):"object"==typeof exports?module.exports=e(require("./picker.js"),require("jquery")):e(Picker,jQuery)}(function(e,t){function i(e,t){var i=this,n=e.$node[0],r=n.value,a=e.$node.data("value"),o=a||r,s=a?t.formatSubmit:t.format,l=function(){return n.currentStyle?"rtl"==n.currentStyle.direction:"rtl"==getComputedStyle(e.$root[0]).direction};i.settings=t,i.$node=e.$node,i.queue={min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse navigate create validate",view:"parse create validate viewset",disable:"deactivate",enable:"activate"},i.item={},i.item.clear=null,i.item.disable=(t.disable||[]).slice(0),i.item.enable=-function(e){return e[0]===!0?e.shift():-1}(i.item.disable),i.set("min",t.min).set("max",t.max).set("now"),o?i.set("select",o,{format:s,defaultValue:!0}):i.set("select",null).set("highlight",i.item.now),i.key={40:7,38:-7,39:function(){return l()?-1:1},37:function(){return l()?1:-1},go:function(e){var t=i.item.highlight,n=new Date(t.year,t.month,t.date+e);i.set("highlight",n,{interval:e}),this.render()}},e.on("render",function(){e.$root.find("."+t.klass.selectMonth).on("change",function(){var i=this.value;i&&(e.set("highlight",[e.get("view").year,i,e.get("highlight").date]),e.$root.find("."+t.klass.selectMonth).trigger("focus"))}),e.$root.find("."+t.klass.selectYear).on("change",function(){var i=this.value;i&&(e.set("highlight",[i,e.get("view").month,e.get("highlight").date]),e.$root.find("."+t.klass.selectYear).trigger("focus"))})},1).on("open",function(){var n="";i.disabled(i.get("now"))&&(n=":not(."+t.klass.buttonToday+")"),e.$root.find("button"+n+", select").attr("disabled",!1)},1).on("close",function(){e.$root.find("button, select").attr("disabled",!0)},1)}var n=7,r=6,a=e._;i.prototype.set=function(e,t,i){var n=this,r=n.item;return null===t?("clear"==e&&(e="select"),r[e]=t,n):(r["enable"==e?"disable":"flip"==e?"enable":e]=n.queue[e].split(" ").map(function(r){return t=n[r](e,t,i)}).pop(),"select"==e?n.set("highlight",r.select,i):"highlight"==e?n.set("view",r.highlight,i):e.match(/^(flip|min|max|disable|enable)$/)&&(r.select&&n.disabled(r.select)&&n.set("select",r.select,i),r.highlight&&n.disabled(r.highlight)&&n.set("highlight",r.highlight,i)),n)},i.prototype.get=function(e){return this.item[e]},i.prototype.create=function(e,i,n){var r,o=this;return i=void 0===i?e:i,i==-(1/0)||i==1/0?r=i:t.isPlainObject(i)&&a.isInteger(i.pick)?i=i.obj:t.isArray(i)?(i=new Date(i[0],i[1],i[2]),i=a.isDate(i)?i:o.create().obj):i=a.isInteger(i)||a.isDate(i)?o.normalize(new Date(i),n):o.now(e,i,n),{year:r||i.getFullYear(),month:r||i.getMonth(),date:r||i.getDate(),day:r||i.getDay(),obj:r||i,pick:r||i.getTime()}},i.prototype.createRange=function(e,i){var n=this,r=function(e){return e===!0||t.isArray(e)||a.isDate(e)?n.create(e):e};return a.isInteger(e)||(e=r(e)),a.isInteger(i)||(i=r(i)),a.isInteger(e)&&t.isPlainObject(i)?e=[i.year,i.month,i.date+e]:a.isInteger(i)&&t.isPlainObject(e)&&(i=[e.year,e.month,e.date+i]),{from:r(e),to:r(i)}},i.prototype.withinRange=function(e,t){return e=this.createRange(e.from,e.to),t.pick>=e.from.pick&&t.pick<=e.to.pick},i.prototype.overlapRanges=function(e,t){var i=this;return e=i.createRange(e.from,e.to),t=i.createRange(t.from,t.to),i.withinRange(e,t.from)||i.withinRange(e,t.to)||i.withinRange(t,e.from)||i.withinRange(t,e.to)},i.prototype.now=function(e,t,i){return t=new Date,i&&i.rel&&t.setDate(t.getDate()+i.rel),this.normalize(t,i)},i.prototype.navigate=function(e,i,n){var r,a,o,s,l=t.isArray(i),u=t.isPlainObject(i),c=this.item.view;if(l||u){for(u?(a=i.year,o=i.month,s=i.date):(a=+i[0],o=+i[1],s=+i[2]),n&&n.nav&&c&&c.month!==o&&(a=c.year,o=c.month),r=new Date(a,o+(n&&n.nav?n.nav:0),1),a=r.getFullYear(),o=r.getMonth();new Date(a,o,s).getMonth()!==o;)s-=1;i=[a,o,s]}return i},i.prototype.normalize=function(e){return e.setHours(0,0,0,0),e},i.prototype.measure=function(e,t){var i=this;return t?"string"==typeof t?t=i.parse(e,t):a.isInteger(t)&&(t=i.now(e,t,{rel:t})):t="min"==e?-(1/0):1/0,t},i.prototype.viewset=function(e,t){return this.create([t.year,t.month,1])},i.prototype.validate=function(e,i,n){var r,o,s,l,u=this,c=i,d=n&&n.interval?n.interval:1,h=u.item.enable===-1,p=u.item.min,f=u.item.max,m=h&&u.item.disable.filter(function(e){if(t.isArray(e)){var n=u.create(e).pick;ni.pick&&(o=!0)}return a.isInteger(e)}).length;if((!n||!n.nav&&!n.defaultValue)&&(!h&&u.disabled(i)||h&&u.disabled(i)&&(m||r||o)||!h&&(i.pick<=p.pick||i.pick>=f.pick)))for(h&&!m&&(!o&&d>0||!r&&d<0)&&(d*=-1);u.disabled(i)&&(Math.abs(d)>1&&(i.monthc.month)&&(i=c,d=d>0?1:-1),i.pick<=p.pick?(s=!0,d=1,i=u.create([p.year,p.month,p.date+(i.pick===p.pick?0:-1)])):i.pick>=f.pick&&(l=!0,d=-1,i=u.create([f.year,f.month,f.date+(i.pick===f.pick?0:1)])),!s||!l);)i=u.create([i.year,i.month,i.date+d]);return i},i.prototype.disabled=function(e){var i=this,n=i.item.disable.filter(function(n){return a.isInteger(n)?e.day===(i.settings.firstDay?n:n-1)%7:t.isArray(n)||a.isDate(n)?e.pick===i.create(n).pick:t.isPlainObject(n)?i.withinRange(n,e):void 0});return n=n.length&&!n.filter(function(e){return t.isArray(e)&&"inverted"==e[3]||t.isPlainObject(e)&&e.inverted}).length, i.item.enable===-1?!n:n||e.picki.item.max.pick},i.prototype.parse=function(e,t,i){var n=this,r={};return t&&"string"==typeof t?(i&&i.format||(i=i||{},i.format=n.settings.format),n.formats.toArray(i.format).map(function(e){var i=n.formats[e],o=i?a.trigger(i,n,[t,r]):e.replace(/^!/,"").length;i&&(r[e]=t.substr(0,o)),t=t.substr(o)}),[r.yyyy||r.yy,+(r.mm||r.m)-1,r.dd||r.d]):t},i.prototype.formats=function(){function e(e,t,i){var n=e.match(/[^\x00-\x7F]+|\w+/)[0];return i.mm||i.m||(i.m=t.indexOf(n)+1),n.length}function t(e){return e.match(/\w+/)[0].length}return{d:function(e,t){return e?a.digits(e):t.date},dd:function(e,t){return e?2:a.lead(t.date)},ddd:function(e,i){return e?t(e):this.settings.weekdaysShort[i.day]},dddd:function(e,i){return e?t(e):this.settings.weekdaysFull[i.day]},m:function(e,t){return e?a.digits(e):t.month+1},mm:function(e,t){return e?2:a.lead(t.month+1)},mmm:function(t,i){var n=this.settings.monthsShort;return t?e(t,n,i):n[i.month]},mmmm:function(t,i){var n=this.settings.monthsFull;return t?e(t,n,i):n[i.month]},yy:function(e,t){return e?2:(""+t.year).slice(2)},yyyy:function(e,t){return e?4:t.year},toArray:function(e){return e.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)},toString:function(e,t){var i=this;return i.formats.toArray(e).map(function(e){return a.trigger(i.formats[e],i,[0,t])||e.replace(/^!/,"")}).join("")}}}(),i.prototype.isDateExact=function(e,i){var n=this;return a.isInteger(e)&&a.isInteger(i)||"boolean"==typeof e&&"boolean"==typeof i?e===i:(a.isDate(e)||t.isArray(e))&&(a.isDate(i)||t.isArray(i))?n.create(e).pick===n.create(i).pick:!(!t.isPlainObject(e)||!t.isPlainObject(i))&&(n.isDateExact(e.from,i.from)&&n.isDateExact(e.to,i.to))},i.prototype.isDateOverlap=function(e,i){var n=this,r=n.settings.firstDay?1:0;return a.isInteger(e)&&(a.isDate(i)||t.isArray(i))?(e=e%7+r,e===n.create(i).day+1):a.isInteger(i)&&(a.isDate(e)||t.isArray(e))?(i=i%7+r,i===n.create(e).day+1):!(!t.isPlainObject(e)||!t.isPlainObject(i))&&n.overlapRanges(e,i)},i.prototype.flipEnable=function(e){var t=this.item;t.enable=e||(t.enable==-1?1:-1)},i.prototype.deactivate=function(e,i){var n=this,r=n.item.disable.slice(0);return"flip"==i?n.flipEnable():i===!1?(n.flipEnable(1),r=[]):i===!0?(n.flipEnable(-1),r=[]):i.map(function(e){for(var i,o=0;o=p.year&&c.month>=p.month||!e&&c.year<=h.year&&c.month<=h.month?" "+i.klass.navDisabled:""),"data-nav="+(e||-1)+" "+a.ariaAttr({role:"button",controls:t.$node[0].id+"_table"})+' title="'+(e?i.labelMonthNext:i.labelMonthPrev)+'"')},g=function(){var n=i.showMonthsShort?i.monthsShort:i.monthsFull;return i.selectMonths?a.node("select",a.group({min:0,max:11,i:1,node:"option",item:function(e){return[n[e],0,"value="+e+(c.month==e?" selected":"")+(c.year==h.year&&ep.month?" disabled":"")]}}),i.klass.selectMonth,(e?"":"disabled")+" "+a.ariaAttr({controls:t.$node[0].id+"_table"})+' title="'+i.labelMonthSelect+'"'):a.node("div",n[c.month],i.klass.month)},v=function(){var n=c.year,r=i.selectYears===!0?5:~~(i.selectYears/2);if(r){var o=h.year,s=p.year,l=n-r,u=n+r;if(o>l&&(u+=o-l,l=o),sf?f:d,u=s}return a.node("select",a.group({min:l,max:u,i:1,node:"option",item:function(e){return[e,0,"value="+e+(n==e?" selected":"")]}}),i.klass.selectYear,(e?"":"disabled")+" "+a.ariaAttr({controls:t.$node[0].id+"_table"})+' title="'+i.labelYearSelect+'"')}return a.node("div",n,i.klass.year)};return a.node("div",(i.selectYears?v()+g():g()+v())+m()+m(1),i.klass.header)+a.node("table",f+a.node("tbody",a.group({min:0,max:r-1,i:1,node:"tr",item:function(e){var r=i.firstDay&&0===t.create([c.year,c.month,1]).day?-7:0;return[a.group({min:n*e-c.day+r+1,max:function(){return this.min+n-1},i:1,node:"td",item:function(e){e=t.create([c.year,c.month,e+(i.firstDay?1:0)]);var n=l&&l.pick==e.pick,r=u&&u.pick==e.pick,o=d&&t.disabled(e)||e.pickp.pick,f=a.trigger(t.formats.toString,t,[i.format,e]);return[a.node("div",e.date,function(t){return t.push(c.month==e.month?i.klass.infocus:i.klass.outfocus),s.pick==e.pick&&t.push(i.klass.now),n&&t.push(i.klass.selected),r&&t.push(i.klass.highlighted),o&&t.push(i.klass.disabled),t.join(" ")}([i.klass.day]),"data-pick="+e.pick+" "+a.ariaAttr({role:"gridcell",label:f,selected:!(!n||t.$node.val()!==f)||null,activedescendant:!!r||null,disabled:!!o||null})),"",a.ariaAttr({role:"presentation"})]}})]}})),i.klass.table,'id="'+t.$node[0].id+'_table" '+a.ariaAttr({role:"grid",controls:t.$node[0].id,readonly:!0}))+a.node("div",a.node("button",i.today,i.klass.buttonToday,"type=button data-pick="+s.pick+(e&&!t.disabled(s)?"":" disabled")+" "+a.ariaAttr({controls:t.$node[0].id}))+a.node("button",i.clear,i.klass.buttonClear,"type=button data-clear=1"+(e?"":" disabled")+" "+a.ariaAttr({controls:t.$node[0].id}))+a.node("button",i.close,i.klass.buttonClose,"type=button data-close=true "+(e?"":" disabled")+" "+a.ariaAttr({controls:t.$node[0].id})),i.klass.footer)},i.defaults=function(e){return{labelMonthNext:"Next month",labelMonthPrev:"Previous month",labelMonthSelect:"Select a month",labelYearSelect:"Select a year",monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],today:"Today",clear:"Clear",close:"Close",closeOnSelect:!0,closeOnClear:!0,format:"d mmmm, yyyy",klass:{table:e+"table",header:e+"header",navPrev:e+"nav--prev",navNext:e+"nav--next",navDisabled:e+"nav--disabled",month:e+"month",year:e+"year",selectMonth:e+"select--month",selectYear:e+"select--year",weekdays:e+"weekday",day:e+"day",disabled:e+"day--disabled",selected:e+"day--selected",highlighted:e+"day--highlighted",now:e+"day--today",infocus:e+"day--infocus",outfocus:e+"day--outfocus",footer:e+"footer",buttonClear:e+"button--clear",buttonToday:e+"button--today",buttonClose:e+"button--close"}}}(e.klasses().picker+"__"),e.extend("pickadate",i)}),function(e){"function"==typeof define&&define.amd?define(["picker","jquery"],e):"object"==typeof exports?module.exports=e(require("./picker.js"),require("jquery")):e(Picker,jQuery)}(function(e,t){function i(e,t){var i=this,n=e.$node[0].value,r=e.$node.data("value"),a=r||n,o=r?t.formatSubmit:t.format;i.settings=t,i.$node=e.$node,i.queue={interval:"i",min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse create validate",view:"parse create validate",disable:"deactivate",enable:"activate"},i.item={},i.item.clear=null,i.item.interval=t.interval||30,i.item.disable=(t.disable||[]).slice(0),i.item.enable=-function(e){return e[0]===!0?e.shift():-1}(i.item.disable),i.set("min",t.min).set("max",t.max).set("now"),a?i.set("select",a,{format:o}):i.set("select",null).set("highlight",i.item.now),i.key={40:1,38:-1,39:1,37:-1,go:function(e){i.set("highlight",i.item.highlight.pick+e*i.item.interval,{interval:e*i.item.interval}),this.render()}},e.on("render",function(){var i=e.$root.children(),n=i.find("."+t.klass.viewset),r=function(e){return["webkit","moz","ms","o",""].map(function(t){return(t?"-"+t+"-":"")+e})},a=function(e,t){r("transform").map(function(i){e.css(i,t)}),r("transition").map(function(i){e.css(i,t)})};n.length&&(a(i,"none"),i[0].scrollTop=~~n.position().top-2*n[0].clientHeight,a(i,""))},1).on("open",function(){e.$root.find("button").attr("disabled",!1)},1).on("close",function(){e.$root.find("button").attr("disabled",!0)},1)}var n=24,r=60,a=12,o=n*r,s=e._;i.prototype.set=function(e,t,i){var n=this,r=n.item;return null===t?("clear"==e&&(e="select"),r[e]=t,n):(r["enable"==e?"disable":"flip"==e?"enable":e]=n.queue[e].split(" ").map(function(r){return t=n[r](e,t,i)}).pop(),"select"==e?n.set("highlight",r.select,i):"highlight"==e?n.set("view",r.highlight,i):"interval"==e?n.set("min",r.min,i).set("max",r.max,i):e.match(/^(flip|min|max|disable|enable)$/)&&(r.select&&n.disabled(r.select)&&n.set("select",t,i),r.highlight&&n.disabled(r.highlight)&&n.set("highlight",t,i),"min"==e&&n.set("max",r.max,i)),n)},i.prototype.get=function(e){return this.item[e]},i.prototype.create=function(e,i,a){var l=this;return i=void 0===i?e:i,s.isDate(i)&&(i=[i.getHours(),i.getMinutes()]),t.isPlainObject(i)&&s.isInteger(i.pick)?i=i.pick:t.isArray(i)?i=+i[0]*r+ +i[1]:s.isInteger(i)||(i=l.now(e,i,a)),"max"==e&&i=e.from.pick&&t.pick<=e.to.pick},i.prototype.overlapRanges=function(e,t){var i=this;return e=i.createRange(e.from,e.to),t=i.createRange(t.from,t.to),i.withinRange(e,t.from)||i.withinRange(e,t.to)||i.withinRange(t,e.from)||i.withinRange(t,e.to)},i.prototype.now=function(e,t){var i,n=this.item.interval,a=new Date,o=a.getHours()*r+a.getMinutes(),l=s.isInteger(t);return o-=o%n,i=t<0&&n*t+o<=-n,o+="min"==e&&i?0:n,l&&(o+=n*(i&&"max"!=e?t+1:t)),o},i.prototype.normalize=function(e,t){var i=this.item.interval,n=this.item.min&&this.item.min.pick||0;return t-="min"==e?0:(t-n)%i},i.prototype.measure=function(e,i,a){var o=this;return i||(i="min"==e?[0,0]:[n-1,r-1]),"string"==typeof i?i=o.parse(e,i):i===!0||s.isInteger(i)?i=o.now(e,i,a):t.isPlainObject(i)&&s.isInteger(i.pick)&&(i=o.normalize(e,i.pick,a)),i},i.prototype.validate=function(e,t,i){var n=this,r=i&&i.interval?i.interval:n.item.interval;return n.disabled(t)&&(t=n.shift(t,r)),t=n.scope(t),n.disabled(t)&&(t=n.shift(t,r*-1)),t},i.prototype.disabled=function(e){var i=this,n=i.item.disable.filter(function(n){return s.isInteger(n)?e.hour==n:t.isArray(n)||s.isDate(n)?e.pick==i.create(n).pick:t.isPlainObject(n)?i.withinRange(n,e):void 0});return n=n.length&&!n.filter(function(e){return t.isArray(e)&&"inverted"==e[2]||t.isPlainObject(e)&&e.inverted}).length,i.item.enable===-1?!n:n||e.picki.item.max.pick},i.prototype.shift=function(e,t){var i=this,n=i.item.min.pick,r=i.item.max.pick;for(t=t||i.item.interval;i.disabled(e)&&(e=i.create(e.pick+=t),!(e.pick<=n||e.pick>=r)););return e},i.prototype.scope=function(e){var t=this.item.min.pick,i=this.item.max.pick;return this.create(e.pick>i?i:e.pickt.time%o?"a.m.":"p.m."},A:function(e,t){return e?2:o/2>t.time%o?"AM":"PM"},toArray:function(e){return e.split(/(h{1,2}|H{1,2}|i|a|A|!.)/g)},toString:function(e,t){var i=this;return i.formats.toArray(e).map(function(e){return s.trigger(i.formats[e],i,[0,t])||e.replace(/^!/,"")}).join("")}},i.prototype.isTimeExact=function(e,i){var n=this;return s.isInteger(e)&&s.isInteger(i)||"boolean"==typeof e&&"boolean"==typeof i?e===i:(s.isDate(e)||t.isArray(e))&&(s.isDate(i)||t.isArray(i))?n.create(e).pick===n.create(i).pick:!(!t.isPlainObject(e)||!t.isPlainObject(i))&&(n.isTimeExact(e.from,i.from)&&n.isTimeExact(e.to,i.to))},i.prototype.isTimeOverlap=function(e,i){var n=this;return s.isInteger(e)&&(s.isDate(i)||t.isArray(i))?e===n.create(i).hour:s.isInteger(i)&&(s.isDate(e)||t.isArray(e))?i===n.create(e).hour:!(!t.isPlainObject(e)||!t.isPlainObject(i))&&n.overlapRanges(e,i)},i.prototype.flipEnable=function(e){var t=this.item;t.enable=e||(t.enable==-1?1:-1)},i.prototype.deactivate=function(e,i){var n=this,r=n.item.disable.slice(0);return"flip"==i?n.flipEnable():i===!1?(n.flipEnable(1),r=[]):i===!0?(n.flipEnable(-1),r=[]):i.map(function(e){for(var i,a=0;a0?t:this.item.interval},i.prototype.nodes=function(e){var t=this,i=t.settings,n=t.item.select,r=t.item.highlight,a=t.item.view,o=t.item.disable;return s.node("ul",s.group({min:t.item.min.pick,max:t.item.max.pick,i:t.item.interval,node:"li",item:function(e){e=t.create(e);var l=e.pick,u=n&&n.pick==l,c=r&&r.pick==l,d=o&&t.disabled(e),h=s.trigger(t.formats.toString,t,[i.format,e]);return[s.trigger(t.formats.toString,t,[s.trigger(i.formatLabel,t,[e])||i.format,e]),function(e){return u&&e.push(i.klass.selected),c&&e.push(i.klass.highlighted),a&&a.pick==l&&e.push(i.klass.viewset),d&&e.push(i.klass.disabled),e.join(" ")}([i.klass.listItem]),"data-pick="+e.pick+" "+s.ariaAttr({role:"option",label:h,selected:!(!u||t.$node.val()!==h)||null,activedescendant:!!c||null,disabled:!!d||null})]}})+s.node("li",s.node("button",i.clear,i.klass.buttonClear,"type=button data-clear=1"+(e?"":" disabled")+" "+s.ariaAttr({controls:t.$node[0].id})),"",s.ariaAttr({role:"presentation"})),i.klass.list,s.ariaAttr({role:"listbox",controls:t.$node[0].id}))},i.defaults=function(e){return{clear:"Clear",format:"h:i A",interval:30,closeOnSelect:!0,closeOnClear:!0,klass:{picker:e+" "+e+"--time",holder:e+"__holder",list:e+"__list",listItem:e+"__list-item",disabled:e+"__list-item--disabled",selected:e+"__list-item--selected",highlighted:e+"__list-item--highlighted",viewset:e+"__list-item--viewset",now:e+"__list-item--now",buttonClear:e+"__button--clear"}}}(e.klasses().picker),e.extend("pickatime",i)}),[].map||(Array.prototype.map=function(e,t){for(var i=this,n=i.length,r=new Array(n),a=0;a>>0;if("function"!=typeof e)throw new TypeError;for(var n=[],r=arguments[1],a=0;a>>0;if(0===i)return-1;var n=0;if(arguments.length>1&&(n=Number(arguments[1]),n!=n?n=0:0!==n&&n!=1/0&&n!=-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),n>=i)return-1;for(var r=n>=0?n:Math.max(i-Math.abs(n),0);r>>0:t>>>0;(r=e.exec(i))&&(a=r.index+r[0].length,!(a>u&&(s.push(i.slice(u,r.index)),!compliantExecNpcg&&r.length>1&&r[0].replace(n,function(){for(var e=1;e1&&r.index=t)));)e.lastIndex===r.index&&e.lastIndex++;return u===i.length?!o&&e.test("")||s.push(""):s.push(i.slice(u)),s.length>t?s.slice(0,t):s},function(e){"use strict";var t={init:function(i){return this.each(function(){this.self=e(this),t.destroy.call(this.self),this.opt=e.extend(!0,{},e.fn.raty.defaults,i),t._adjustCallback.call(this),t._adjustNumber.call(this),"img"!==this.opt.starType&&t._adjustStarType.call(this),t._adjustPath.call(this),t._createStars.call(this),this.opt.cancel&&t._createCancel.call(this),this.opt.precision&&t._adjustPrecision.call(this),t._createScore.call(this),t._apply.call(this,this.opt.score),t._target.call(this,this.opt.score),this.opt.readOnly?t._lock.call(this):(this.style.cursor="pointer",t._binds.call(this)),this.self.data("options",this.opt)})},_adjustCallback:function(){for(var e=["number","readOnly","score","scoreName","target"],t=0;t0&&this.score.val(t._between(e,0,this.opt.number)),t._roundStars.call(this,e))},_between:function(e,t,i){return Math.min(Math.max(parseFloat(e),t),i)},_binds:function(){this.cancel&&(t._bindOverCancel.call(this),t._bindClickCancel.call(this),t._bindOutCancel.call(this)),t._bindOver.call(this),t._bindClick.call(this),t._bindOut.call(this)},_bindClick:function(){var t=this;t.stars.on("click.raty",function(i){var n=e(this);t.score.val(t.opt.half||t.opt.precision?t.self.data("score"):this.alt||n.data("alt")),t.opt.click&&t.opt.click.call(t,+t.score.val(),i)})},_bindClickCancel:function(){var e=this;e.cancel.on("click.raty",function(t){e.score.removeAttr("value"),e.opt.click&&e.opt.click.call(e,null,t)})},_bindOut:function(){var e=this;e.self.on("mouseleave.raty",function(i){var n=+e.score.val()||void 0;t._apply.call(e,n),t._target.call(e,n,i),e.opt.mouseout&&e.opt.mouseout.call(e,n,i)})},_bindOutCancel:function(){var e=this;e.cancel.on("mouseleave.raty",function(i){var n=e.opt.cancelOff;if("img"!==e.opt.starType&&(n=e.opt.cancelClass+" "+n),t._setIcon.call(e,this,n),e.opt.mouseout){var r=+e.score.val()||void 0;e.opt.mouseout.call(e,r,i)}})},_bindOver:function(){var e=this,i=e.opt.half?"mousemove.raty":"mouseover.raty";e.stars.on(i,function(i){var n=t._getScoreByPosition.call(e,i,this);t._fill.call(e,n),e.opt.half&&(t._roundStars.call(e,n),e.self.data("score",n)),t._target.call(e,n,i),e.opt.mouseover&&e.opt.mouseover.call(e,n,i)})},_bindOverCancel:function(){var e=this;e.cancel.on("mouseover.raty",function(i){var n=e.opt.path+e.opt.starOff,r=e.opt.cancelOn;"img"===e.opt.starType?e.stars.attr("src",n):(r=e.opt.cancelClass+" "+r,e.stars.attr("class",n)),t._setIcon.call(e,this,r),t._target.call(e,null,i),e.opt.mouseover&&e.opt.mouseover.call(e,null)})},_buildScoreField:function(){return e("",{name:this.opt.scoreName,type:"hidden"}).appendTo(this)},_createCancel:function(){var t=this.opt.path+this.opt.cancelOff,i=e("<"+this.opt.starType+" />",{title:this.opt.cancelHint,class:this.opt.cancelClass});"img"===this.opt.starType?i.attr({src:t,alt:"x"}):i.attr("data-alt","x").addClass(t),"left"===this.opt.cancelPlace?this.self.prepend(" ").prepend(i):this.self.append(" ").append(i),this.cancel=i},_createScore:function(){var i=e(this.opt.targetScore);this.score=i.length?i:t._buildScoreField.call(this)},_createStars:function(){for(var i=1;i<=this.opt.number;i++){var n=t._nameForIndex.call(this,i),r={alt:i,src:this.opt.path+this.opt[n]};"img"!==this.opt.starType&&(r={"data-alt":i,class:r.src}),r.title=t._getHint.call(this,i),e("<"+this.opt.starType+" />",r).appendTo(this),this.opt.space&&this.self.append(ii){var s=this.opt.iconRange[i];r=t._getRangeIcon.call(this,s,o),n<=s.range&&t._setIcon.call(this,a,r),n===s.range&&i++}else r=this.opt[o?"starOn":"starOff"],t._setIcon.call(this,a,r)}},_getRangeIcon:function(e,t){return t?e.on||this.opt.starOn:e.off||this.opt.starOff},_getScoreByPosition:function(i,n){var r=parseInt(n.alt||n.getAttribute("data-alt"),10);if(this.opt.half){var a=t._getSize.call(this),o=parseFloat((i.pageX-e(n).offset().left)/a);r=this.opt.precision?r-1+o:r-1+(o>.5?1:.5)}return r},_getSize:function(){var e;return e="img"===this.opt.starType?this.stars[0].width:parseFloat(this.stars.eq(0).css("font-size")),e||t._error.call(this,"Could not be possible get the icon size!"),e},_turnOn:function(e,t){return this.opt.single?e===t:e<=t},_getHint:function(e){var t=this.opt.hints[e-1];return""===t?"":t||e},_lock:function(){var e=parseInt(this.score.val(),10),i=e?t._getHint.call(this,e):this.opt.noRatedMsg;this.style.cursor="",this.title=i,this.score.prop("readonly",!0),this.stars.prop("title",i),this.cancel&&this.cancel.hide(),this.self.data("readonly",!0)},_nameForIndex:function(e){return this.opt.score&&this.opt.score>=e?"starOn":"starOff"},_roundStars:function(e){var i=(e%1).toFixed(2);if(i>this.opt.round.down){var n="starOn";this.opt.halfShow&&i1?t:t[0]},move:function(i){return this.each(function(){var n=parseInt(i,10),r=e(this).data("options"),a=(+i).toFixed(1).split(".")[1];n>=r.number&&(n=r.number-1,a=10);var o=t._getSize.call(this),s=o/10,l=e(this.stars[n]),u=l.offset().left+s*parseInt(a,10),c=e.Event("mousemove",{pageX:u});l.trigger(c)})},readOnly:function(i){return this.each(function(){var n=e(this);n.data("readonly")!==i&&(i?(n.off(".raty").children("img").off(".raty"),t._lock.call(this)):(t._binds.call(this),t._unlock.call(this)),n.data("readonly",i))})},reload:function(){return t.set.call(this,{})},score:function(){var i=e(this);return arguments.length?t.setScore.apply(i,arguments):t.getScore.call(i)},set:function(t){return this.each(function(){var i=e(this),n=i.data("options"),r=e.extend({},n,t);i.raty(r)})},setScore:function(i){return this.each(function(){e(this).data("readonly")!==!0&&(t._apply.call(this,i),t._target.call(this,i))})}};e.fn.raty=function(i){return t[i]?t[i].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof i&&i?void e.error("Method "+i+" does not exist!"):t.init.apply(this,arguments)},e.fn.raty.defaults={cancel:!1,cancelClass:"raty-cancel",cancelHint:"Cancel this rating!",cancelOff:"cancel-off.png",cancelOn:"cancel-on.png",cancelPlace:"left",click:void 0,half:!1,halfShow:!0,hints:["bad","poor","regular","good","gorgeous"],iconRange:void 0,mouseout:void 0,mouseover:void 0,noRatedMsg:"Not rated yet!",number:5,numberMax:20,path:void 0,precision:!1,readOnly:!1,round:{down:.25,full:.6,up:.76},score:void 0,scoreName:"score",single:!1,space:!0,starHalf:"star-half.png",starOff:"star-off.png",starOn:"star-on.png",starType:"img",target:void 0,targetFormat:"{score}",targetKeep:!1,targetScore:void 0,targetText:"",targetType:"hint"}}(jQuery),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"undefined"!=typeof module&&module.exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){"use strict";function t(t){return!t.nodeName||e.inArray(t.nodeName.toLowerCase(),["iframe","#document","html","body"])!==-1}function i(t){return e.isFunction(t)||e.isPlainObject(t)?t:{top:t,left:t}}var n=e.scrollTo=function(t,i,n){return e(window).scrollTo(t,i,n)};return n.defaults={axis:"xy",duration:0,limit:!0},e.fn.scrollTo=function(r,a,o){"object"==typeof a&&(o=a,a=0),"function"==typeof o&&(o={onAfter:o}),"max"===r&&(r=9e9),o=e.extend({},n.defaults,o),a=a||o.duration;var s=o.queue&&o.axis.length>1;return s&&(a/=2),o.offset=i(o.offset),o.over=i(o.over),this.each(function(){function l(t){var i=e.extend({},o,{queue:!0,duration:a,complete:t&&function(){t.call(d,p,o)}});h.animate(f,i)}if(null!==r){var u,c=t(this),d=c?this.contentWindow||window:this,h=e(d),p=r,f={};switch(typeof p){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(p)){p=i(p);break}if(p=c?e(p):e(p,d),!p.length)return;case"object":(p.is||p.style)&&(u=(p=e(p)).offset())}var m=e.isFunction(o.offset)&&o.offset(d,p)||o.offset;e.each(o.axis.split(""),function(e,t){var i="x"===t?"Left":"Top",r=i.toLowerCase(),a="scroll"+i,g=h[a](),v=n.max(d,t);if(u)f[a]=u[r]+(c?0:g-h.offset()[r]),o.margin&&(f[a]-=parseInt(p.css("margin"+i),10)||0,f[a]-=parseInt(p.css("border"+i+"Width"),10)||0),f[a]+=m[r]||0,o.over[r]&&(f[a]+=p["x"===t?"width":"height"]()*o.over[r]);else{var y=p[r];f[a]=y.slice&&"%"===y.slice(-1)?parseFloat(y)/100*v:y}o.limit&&/^\d+$/.test(f[a])&&(f[a]=f[a]<=0?0:Math.min(f[a],v)),!e&&o.axis.length>1&&(g===f[a]?f={}:s&&(l(o.onAfterFirst),f={}))}),l(o.onAfter)}})},n.max=function(i,n){var r="x"===n?"Width":"Height",a="scroll"+r;if(!t(i))return i[a]-e(i)[r.toLowerCase()]();var o="client"+r,s=i.ownerDocument||i.document,l=s.documentElement,u=s.body;return Math.max(l[a],u[a])-Math.min(l[o],u[o])},e.Tween.propHooks.scrollLeft=e.Tween.propHooks.scrollTop={get:function(t){return e(t.elem)[t.prop]()},set:function(t){var i=this.get(t);if(t.options.interrupt&&t._last&&t._last!==i)return e(t.elem).stop();var n=Math.round(t.now);i!==n&&(e(t.elem)[t.prop](n),t._last=this.get(t))}},n}),!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){function t(t){var o=t||window.event,s=l.call(arguments,1),u=0,d=0,h=0,p=0,f=0,m=0;if(t=e.event.fix(o),t.type="mousewheel","detail"in o&&(h=-1*o.detail),"wheelDelta"in o&&(h=o.wheelDelta),"wheelDeltaY"in o&&(h=o.wheelDeltaY),"wheelDeltaX"in o&&(d=-1*o.wheelDeltaX),"axis"in o&&o.axis===o.HORIZONTAL_AXIS&&(d=-1*h,h=0),u=0===h?d:h,"deltaY"in o&&(h=-1*o.deltaY,u=h),"deltaX"in o&&(d=o.deltaX,0===h&&(u=-1*d)),0!==h||0!==d){if(1===o.deltaMode){var g=e.data(this,"mousewheel-line-height");u*=g,h*=g,d*=g}else if(2===o.deltaMode){var v=e.data(this,"mousewheel-page-height");u*=v,h*=v,d*=v}if(p=Math.max(Math.abs(h),Math.abs(d)),(!a||a>p)&&(a=p,n(o,p)&&(a/=40)),n(o,p)&&(u/=40,d/=40,h/=40),u=Math[u>=1?"floor":"ceil"](u/a),d=Math[d>=1?"floor":"ceil"](d/a),h=Math[h>=1?"floor":"ceil"](h/a),c.settings.normalizeOffset&&this.getBoundingClientRect){var y=this.getBoundingClientRect();f=t.clientX-y.left,m=t.clientY-y.top}return t.deltaX=d,t.deltaY=h,t.deltaFactor=a,t.offsetX=f,t.offsetY=m,t.deltaMode=0,s.unshift(t,u,d,h),r&&clearTimeout(r),r=setTimeout(i,200),(e.event.dispatch||e.event.handle).apply(this,s)}}function i(){a=null}function n(e,t){return c.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120===0}var r,a,o=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],s="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],l=Array.prototype.slice;if(e.event.fixHooks)for(var u=o.length;u;)e.event.fixHooks[o[--u]]=e.event.mouseHooks;var c=e.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var i=s.length;i;)this.addEventListener(s[--i],t,!1);else this.onmousewheel=t;e.data(this,"mousewheel-line-height",c.getLineHeight(this)),e.data(this,"mousewheel-page-height",c.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var i=s.length;i;)this.removeEventListener(s[--i],t,!1);else this.onmousewheel=null;e.removeData(this,"mousewheel-line-height"),e.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var i=e(t),n=i["offsetParent"in e.fn?"offsetParent":"parent"]();return n.length||(n=e("body")),parseInt(n.css("fontSize"),10)||parseInt(i.css("fontSize"),10)||16},getPageHeight:function(t){return e(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e); }})}),!function(e){"undefined"!=typeof module&&module.exports?module.exports=e:e(jQuery,window,document)}(function(e){!function(t){var i="function"==typeof define&&define.amd,n="undefined"!=typeof module&&module.exports,r="https:"==document.location.protocol?"https:":"http:",a="cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.12/jquery.mousewheel.min.js";i||(n?require("jquery-mousewheel")(e):e.event.special.mousewheel||e("head").append(decodeURI("%3Cscript src="+r+"//"+a+"%3E%3C/script%3E"))),t()}(function(){var t,i="mCustomScrollbar",n="mCS",r=".mCustomScrollbar",a={setTop:0,setLeft:0,axis:"y",scrollbarPosition:"inside",scrollInertia:950,autoDraggerLength:!0,alwaysShowScrollbar:0,snapOffset:0,mouseWheel:{enable:!0,scrollAmount:"auto",axis:"y",deltaFactor:"auto",disableOver:["select","option","keygen","datalist","textarea"]},scrollButtons:{scrollType:"stepless",scrollAmount:"auto"},keyboard:{enable:!0,scrollType:"stepless",scrollAmount:"auto"},contentTouchScroll:25,advanced:{autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",updateOnContentResize:!0,updateOnImageLoad:!0},theme:"light",callbacks:{onTotalScrollOffset:0,onTotalScrollBackOffset:0,alwaysTriggerOffsets:!0}},o=0,s={},l=window.attachEvent&&!window.addEventListener?1:0,u=!1,c=["mCSB_dragger_onDrag","mCSB_scrollTools_onDrag","mCS_img_loaded","mCS_disabled","mCS_destroyed","mCS_no_scrollbar","mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer","mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight"],d={init:function(t){var t=e.extend(!0,{},a,t),i=h.call(this);if(t.live){var l=t.liveSelector||this.selector||r,u=e(l);if("off"===t.live)return void f(l);s[l]=setTimeout(function(){u.mCustomScrollbar(t),"once"===t.live&&u.length&&f(l)},500)}else f(l);return t.setWidth=t.set_width?t.set_width:t.setWidth,t.setHeight=t.set_height?t.set_height:t.setHeight,t.axis=t.horizontalScroll?"x":m(t.axis),t.scrollInertia=t.scrollInertia>0&&t.scrollInertia<17?17:t.scrollInertia,"object"!=typeof t.mouseWheel&&1==t.mouseWheel&&(t.mouseWheel={enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1}),t.mouseWheel.scrollAmount=t.mouseWheelPixels?t.mouseWheelPixels:t.mouseWheel.scrollAmount,t.mouseWheel.normalizeDelta=t.advanced.normalizeMouseWheelDelta?t.advanced.normalizeMouseWheelDelta:t.mouseWheel.normalizeDelta,t.scrollButtons.scrollType=g(t.scrollButtons.scrollType),p(t),e(i).each(function(){var i=e(this);if(!i.data(n)){i.data(n,{idx:++o,opt:t,scrollRatio:{y:null,x:null},overflowed:null,contentReset:{y:null,x:null},bindEvents:!1,tweenRunning:!1,sequential:{},langDir:i.css("direction"),cbOffsets:null,trigger:null});var r=i.data(n),a=r.opt,s=i.data("mcs-axis"),l=i.data("mcs-scrollbar-position"),u=i.data("mcs-theme");s&&(a.axis=s),l&&(a.scrollbarPosition=l),u&&(a.theme=u,p(a)),v.call(this),e("#mCSB_"+r.idx+"_container img:not(."+c[2]+")").addClass(c[2]),d.update.call(null,i)}})},update:function(t,i){var r=t||h.call(this);return e(r).each(function(){var t=e(this);if(t.data(n)){var r=t.data(n),a=r.opt,o=e("#mCSB_"+r.idx+"_container"),s=[e("#mCSB_"+r.idx+"_dragger_vertical"),e("#mCSB_"+r.idx+"_dragger_horizontal")];if(!o.length)return;r.tweenRunning&&Y(t),t.hasClass(c[3])&&t.removeClass(c[3]),t.hasClass(c[4])&&t.removeClass(c[4]),_.call(this),b.call(this),"y"===a.axis||a.advanced.autoExpandHorizontalScroll||o.css("width",y(o.children())),r.overflowed=S.call(this),Q.call(this),a.autoDraggerLength&&x.call(this),j.call(this),$.call(this);var l=[Math.abs(o[0].offsetTop),Math.abs(o[0].offsetLeft)];"x"!==a.axis&&(r.overflowed[0]?s[0].height()>s[0].parent().height()?k.call(this):(X(t,l[0].toString(),{dir:"y",dur:0,overwrite:"none"}),r.contentReset.y=null):(k.call(this),"y"===a.axis?D.call(this):"yx"===a.axis&&r.overflowed[1]&&X(t,l[1].toString(),{dir:"x",dur:0,overwrite:"none"}))),"y"!==a.axis&&(r.overflowed[1]?s[1].width()>s[1].parent().width()?k.call(this):(X(t,l[1].toString(),{dir:"x",dur:0,overwrite:"none"}),r.contentReset.x=null):(k.call(this),"x"===a.axis?D.call(this):"yx"===a.axis&&r.overflowed[0]&&X(t,l[0].toString(),{dir:"y",dur:0,overwrite:"none"}))),i&&r&&(2===i&&a.callbacks.onImageLoad&&"function"==typeof a.callbacks.onImageLoad?a.callbacks.onImageLoad.call(this):3===i&&a.callbacks.onSelectorChange&&"function"==typeof a.callbacks.onSelectorChange?a.callbacks.onSelectorChange.call(this):a.callbacks.onUpdate&&"function"==typeof a.callbacks.onUpdate&&a.callbacks.onUpdate.call(this)),U.call(this)}})},scrollTo:function(t,i){if("undefined"!=typeof t&&null!=t){var r=h.call(this);return e(r).each(function(){var r=e(this);if(r.data(n)){var a=r.data(n),o=a.opt,s={trigger:"external",scrollInertia:o.scrollInertia,scrollEasing:"mcsEaseInOut",moveDragger:!1,timeout:60,callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},l=e.extend(!0,{},s,i),u=F.call(this,t),c=l.scrollInertia>0&&l.scrollInertia<17?17:l.scrollInertia;u[0]=W.call(this,u[0],"y"),u[1]=W.call(this,u[1],"x"),l.moveDragger&&(u[0]*=a.scrollRatio.y,u[1]*=a.scrollRatio.x),l.dur=c,setTimeout(function(){null!==u[0]&&"undefined"!=typeof u[0]&&"x"!==o.axis&&a.overflowed[0]&&(l.dir="y",l.overwrite="all",X(r,u[0].toString(),l)),null!==u[1]&&"undefined"!=typeof u[1]&&"y"!==o.axis&&a.overflowed[1]&&(l.dir="x",l.overwrite="none",X(r,u[1].toString(),l))},l.timeout)}})}},stop:function(){var t=h.call(this);return e(t).each(function(){var t=e(this);t.data(n)&&Y(t)})},disable:function(t){var i=h.call(this);return e(i).each(function(){var i=e(this);i.data(n)&&(i.data(n),U.call(this,"remove"),D.call(this),t&&k.call(this),Q.call(this,!0),i.addClass(c[3]))})},destroy:function(){var t=h.call(this);return e(t).each(function(){var r=e(this);if(r.data(n)){var a=r.data(n),o=a.opt,s=e("#mCSB_"+a.idx),l=e("#mCSB_"+a.idx+"_container"),u=e(".mCSB_"+a.idx+"_scrollbar");o.live&&f(o.liveSelector||e(t).selector),U.call(this,"remove"),D.call(this),k.call(this),r.removeData(n),Z(this,"mcs"),u.remove(),l.find("img."+c[2]).removeClass(c[2]),s.replaceWith(l.contents()),r.removeClass(i+" _"+n+"_"+a.idx+" "+c[6]+" "+c[7]+" "+c[5]+" "+c[3]).addClass(c[4])}})}},h=function(){return"object"!=typeof e(this)||e(this).length<1?r:this},p=function(t){var i=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"],n=["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"],r=["minimal","minimal-dark"],a=["minimal","minimal-dark"],o=["minimal","minimal-dark"];t.autoDraggerLength=!(e.inArray(t.theme,i)>-1)&&t.autoDraggerLength,t.autoExpandScrollbar=!(e.inArray(t.theme,n)>-1)&&t.autoExpandScrollbar,t.scrollButtons.enable=!(e.inArray(t.theme,r)>-1)&&t.scrollButtons.enable,t.autoHideScrollbar=e.inArray(t.theme,a)>-1||t.autoHideScrollbar,t.scrollbarPosition=e.inArray(t.theme,o)>-1?"outside":t.scrollbarPosition},f=function(e){s[e]&&(clearTimeout(s[e]),Z(s,e))},m=function(e){return"yx"===e||"xy"===e||"auto"===e?"yx":"x"===e||"horizontal"===e?"x":"y"},g=function(e){return"stepped"===e||"pixels"===e||"step"===e||"click"===e?"stepped":"stepless"},v=function(){var t=e(this),r=t.data(n),a=r.opt,o=a.autoExpandScrollbar?" "+c[1]+"_expand":"",s=["
    ","
    "],l="yx"===a.axis?"mCSB_vertical_horizontal":"x"===a.axis?"mCSB_horizontal":"mCSB_vertical",u="yx"===a.axis?s[0]+s[1]:"x"===a.axis?s[1]:s[0],d="yx"===a.axis?"
    ":"",h=a.autoHideScrollbar?" "+c[6]:"",p="x"!==a.axis&&"rtl"===r.langDir?" "+c[7]:"";a.setWidth&&t.css("width",a.setWidth),a.setHeight&&t.css("height",a.setHeight),a.setLeft="y"!==a.axis&&"rtl"===r.langDir?"989999px":a.setLeft,t.addClass(i+" _"+n+"_"+r.idx+h+p).wrapInner("
    ");var f=e("#mCSB_"+r.idx),m=e("#mCSB_"+r.idx+"_container");"y"===a.axis||a.advanced.autoExpandHorizontalScroll||m.css("width",y(m.children())),"outside"===a.scrollbarPosition?("static"===t.css("position")&&t.css("position","relative"),t.css("overflow","visible"),f.addClass("mCSB_outside").after(u)):(f.addClass("mCSB_inside").append(u),m.wrap(d)),w.call(this);var g=[e("#mCSB_"+r.idx+"_dragger_vertical"),e("#mCSB_"+r.idx+"_dragger_horizontal")];g[0].css("min-height",g[0].height()),g[1].css("min-width",g[1].width())},y=function(t){return Math.max.apply(Math,t.map(function(){return e(this).outerWidth(!0)}).get())},b=function(){var t=e(this),i=t.data(n),r=i.opt,a=e("#mCSB_"+i.idx+"_container");r.advanced.autoExpandHorizontalScroll&&"y"!==r.axis&&a.css({position:"absolute",width:"auto"}).wrap("
    ").css({width:Math.ceil(a[0].getBoundingClientRect().right+.4)-Math.floor(a[0].getBoundingClientRect().left),position:"relative"}).unwrap()},w=function(){var t=e(this),i=t.data(n),r=i.opt,a=e(".mCSB_"+i.idx+"_scrollbar:first"),o=te(r.scrollButtons.tabindex)?"tabindex='"+r.scrollButtons.tabindex+"'":"",s=["","","",""],l=["x"===r.axis?s[2]:s[0],"x"===r.axis?s[3]:s[1],s[2],s[3]];r.scrollButtons.enable&&a.prepend(l[0]).append(l[1]).next(".mCSB_scrollTools").prepend(l[2]).append(l[3])},_=function(){var t=e(this),i=t.data(n),r=e("#mCSB_"+i.idx),a=t.css("max-height")||"none",o=-1!==a.indexOf("%"),s=t.css("box-sizing");if("none"!==a){var l=o?t.parent().height()*parseInt(a)/100:parseInt(a);"border-box"===s&&(l-=t.innerHeight()-t.height()+(t.outerHeight()-t.innerHeight())),r.css("max-height",Math.round(l))}},x=function(){var t=e(this),i=t.data(n),r=e("#mCSB_"+i.idx),a=e("#mCSB_"+i.idx+"_container"),o=[e("#mCSB_"+i.idx+"_dragger_vertical"),e("#mCSB_"+i.idx+"_dragger_horizontal")],s=[r.height()/a.outerHeight(!1),r.width()/a.outerWidth(!1)],u=[parseInt(o[0].css("min-height")),Math.round(s[0]*o[0].parent().height()),parseInt(o[1].css("min-width")),Math.round(s[1]*o[1].parent().width())],c=l&&u[1]r.height(),s>r.width()]},k=function(){var t=e(this),i=t.data(n),r=i.opt,a=e("#mCSB_"+i.idx),o=e("#mCSB_"+i.idx+"_container"),s=[e("#mCSB_"+i.idx+"_dragger_vertical"),e("#mCSB_"+i.idx+"_dragger_horizontal")];if(Y(t),("x"!==r.axis&&!i.overflowed[0]||"y"===r.axis&&i.overflowed[0])&&(s[0].add(o).css("top",0),X(t,"_resetY")),"y"!==r.axis&&!i.overflowed[1]||"x"===r.axis&&i.overflowed[1]){var l=dx=0;"rtl"===i.langDir&&(l=a.width()-o.outerWidth(!1),dx=Math.abs(l/i.scrollRatio.x)),o.css("left",l),s[1].css("left",dx),X(t,"_resetX")}},$=function(){function t(){o=setTimeout(function(){e.event.special.mousewheel?(clearTimeout(o),E.call(i[0])):t()},100)}var i=e(this),r=i.data(n),a=r.opt;if(!r.bindEvents){if(O.call(this),a.contentTouchScroll&&A.call(this),M.call(this),a.mouseWheel.enable){var o;t()}L.call(this),H.call(this),a.advanced.autoScrollOnFocus&&R.call(this),a.scrollButtons.enable&&B.call(this),a.keyboard.enable&&z.call(this),r.bindEvents=!0}},D=function(){var t=e(this),i=t.data(n),r=i.opt,a=n+"_"+i.idx,o=".mCSB_"+i.idx+"_scrollbar",s=e("#mCSB_"+i.idx+",#mCSB_"+i.idx+"_container,#mCSB_"+i.idx+"_container_wrapper,"+o+" ."+c[12]+",#mCSB_"+i.idx+"_dragger_vertical,#mCSB_"+i.idx+"_dragger_horizontal,"+o+">a"),l=e("#mCSB_"+i.idx+"_container");r.advanced.releaseDraggableSelectors&&s.add(e(r.advanced.releaseDraggableSelectors)),i.bindEvents&&(e(document).unbind("."+a),s.each(function(){e(this).unbind("."+a)}),clearTimeout(t[0]._focusTimeout),Z(t[0],"_focusTimeout"),clearTimeout(i.sequential.step),Z(i.sequential,"step"),clearTimeout(l[0].onCompleteTimeout),Z(l[0],"onCompleteTimeout"),i.bindEvents=!1)},Q=function(t){var i=e(this),r=i.data(n),a=r.opt,o=e("#mCSB_"+r.idx+"_container_wrapper"),s=o.length?o:e("#mCSB_"+r.idx+"_container"),l=[e("#mCSB_"+r.idx+"_scrollbar_vertical"),e("#mCSB_"+r.idx+"_scrollbar_horizontal")],u=[l[0].find(".mCSB_dragger"),l[1].find(".mCSB_dragger")];"x"!==a.axis&&(r.overflowed[0]&&!t?(l[0].add(u[0]).add(l[0].children("a")).css("display","block"),s.removeClass(c[8]+" "+c[10])):(a.alwaysShowScrollbar?(2!==a.alwaysShowScrollbar&&u[0].css("display","none"),s.removeClass(c[10])):(l[0].css("display","none"),s.addClass(c[10])),s.addClass(c[8]))),"y"!==a.axis&&(r.overflowed[1]&&!t?(l[1].add(u[1]).add(l[1].children("a")).css("display","block"),s.removeClass(c[9]+" "+c[11])):(a.alwaysShowScrollbar?(2!==a.alwaysShowScrollbar&&u[1].css("display","none"),s.removeClass(c[11])):(l[1].css("display","none"),s.addClass(c[11])),s.addClass(c[9]))),r.overflowed[0]||r.overflowed[1]?i.removeClass(c[5]):i.addClass(c[5])},T=function(e){var t=e.type;switch(t){case"pointerdown":case"MSPointerDown":case"pointermove":case"MSPointerMove":case"pointerup":case"MSPointerUp":return e.target.ownerDocument!==document?[e.originalEvent.screenY,e.originalEvent.screenX,!1]:[e.originalEvent.pageY,e.originalEvent.pageX,!1];case"touchstart":case"touchmove":case"touchend":var i=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],n=e.originalEvent.touches.length||e.originalEvent.changedTouches.length;return e.target.ownerDocument!==document?[i.screenY,i.screenX,n>1]:[i.pageY,i.pageX,n>1];default:return[e.pageY,e.pageX,!1]}},O=function(){function t(e){var t=f.find("iframe");if(t.length){var i=e?"auto":"none";t.css("pointer-events",i)}}function i(e,t,i,n){if(f[0].idleTimer=d.scrollInertia<233?250:0,r.attr("id")===p[1])var a="x",o=(r[0].offsetLeft-t+n)*c.scrollRatio.x;else var a="y",o=(r[0].offsetTop-e+i)*c.scrollRatio.y;X(s,o.toString(),{dir:a,drag:!0})}var r,a,o,s=e(this),c=s.data(n),d=c.opt,h=n+"_"+c.idx,p=["mCSB_"+c.idx+"_dragger_vertical","mCSB_"+c.idx+"_dragger_horizontal"],f=e("#mCSB_"+c.idx+"_container"),m=e("#"+p[0]+",#"+p[1]),g=d.advanced.releaseDraggableSelectors?m.add(e(d.advanced.releaseDraggableSelectors)):m;m.bind("mousedown."+h+" touchstart."+h+" pointerdown."+h+" MSPointerDown."+h,function(i){if(i.stopImmediatePropagation(),i.preventDefault(),J(i)){u=!0,l&&(document.onselectstart=function(){return!1}),t(!1),Y(s),r=e(this);var n=r.offset(),c=T(i)[0]-n.top,h=T(i)[1]-n.left,p=r.height()+n.top,f=r.width()+n.left;p>c&&c>0&&f>h&&h>0&&(a=c,o=h),C(r,"active",d.autoExpandScrollbar)}}).bind("touchmove."+h,function(e){e.stopImmediatePropagation(),e.preventDefault();var t=r.offset(),n=T(e)[0]-t.top,s=T(e)[1]-t.left;i(a,o,n,s)}),e(document).bind("mousemove."+h+" pointermove."+h+" MSPointerMove."+h,function(e){if(r){var t=r.offset(),n=T(e)[0]-t.top,s=T(e)[1]-t.left;if(a===n)return;i(a,o,n,s)}}).add(g).bind("mouseup."+h+" touchend."+h+" pointerup."+h+" MSPointerUp."+h,function(){r&&(C(r,"active",d.autoExpandScrollbar),r=null),u=!1,l&&(document.onselectstart=null),t(!0)})},A=function(){function i(e){if(!ee(e)||u||T(e)[2])return void(t=0);t=1,_=0,x=0;var i=D.offset();c=T(e)[0]-i.top,d=T(e)[1]-i.left,P=[T(e)[0],T(e)[1]]}function r(e){if(ee(e)&&!u&&!T(e)[2]&&(e.stopImmediatePropagation(),!x||_)){m=K();var t=$.offset(),i=T(e)[0]-t.top,n=T(e)[1]-t.left,r="mcsLinearOut";if(O.push(i),A.push(n),P[2]=Math.abs(T(e)[0]-P[0]),P[3]=Math.abs(T(e)[1]-P[1]),C.overflowed[0])var a=Q[0].parent().height()-Q[0].height(),o=c-i>0&&i-c>-(a*C.scrollRatio.y)&&(2*P[3]0&&n-d>-(s*C.scrollRatio.x)&&(2*P[2]30)){y=1e3/(g-f);var r="mcsEaseOut",a=2.5>y,o=a?[O[O.length-2],A[A.length-2]]:[0,0];v=a?[i-o[0],n-o[1]]:[i-h,n-p];var c=[Math.abs(v[0]),Math.abs(v[1])];y=a?[Math.abs(v[0]/4),Math.abs(v[1]/4)]:[y,y];var d=[Math.abs(D[0].offsetTop)-v[0]*s(c[0]/y[0],y[0]),Math.abs(D[0].offsetLeft)-v[1]*s(c[1]/y[1],y[1])];b="yx"===S.axis?[d[0],d[1]]:"x"===S.axis?[null,d[1]]:[d[0],null],w=[4*c[0]+S.scrollInertia,4*c[1]+S.scrollInertia];var j=parseInt(S.contentTouchScroll)||0;b[0]=c[0]>j?b[0]:0,b[1]=c[1]>j?b[1]:0,C.overflowed[0]&&l(b[0],w[0],r,"y",E,!1),C.overflowed[1]&&l(b[1],w[1],r,"x",E,!1)}}}function s(e,t){var i=[1.5*t,2*t,t/1.5,t/2];return e>90?t>4?i[0]:i[3]:e>60?t>3?i[3]:i[2]:e>30?t>8?i[1]:t>6?i[0]:t>4?t:i[2]:t>8?t:i[3]}function l(e,t,i,n,r,a){e&&X(j,e.toString(),{dur:t,scrollEasing:i,dir:n,overwrite:r,drag:a})}var c,d,h,p,f,m,g,v,y,b,w,_,x,j=e(this),C=j.data(n),S=C.opt,k=n+"_"+C.idx,$=e("#mCSB_"+C.idx),D=e("#mCSB_"+C.idx+"_container"),Q=[e("#mCSB_"+C.idx+"_dragger_vertical"),e("#mCSB_"+C.idx+"_dragger_horizontal")],O=[],A=[],M=0,E="yx"===S.axis?"none":"all",P=[],L=D.find("iframe"),R=["touchstart."+k+" pointerdown."+k+" MSPointerDown."+k,"touchmove."+k+" pointermove."+k+" MSPointerMove."+k,"touchend."+k+" pointerup."+k+" MSPointerUp."+k];D.bind(R[0],function(e){i(e)}).bind(R[1],function(e){r(e)}),$.bind(R[0],function(e){a(e)}).bind(R[2],function(e){o(e)}),L.length&&L.each(function(){e(this).load(function(){I(this)&&e(this.contentDocument||this.contentWindow.document).bind(R[0],function(e){i(e),a(e)}).bind(R[1],function(e){r(e)}).bind(R[2],function(e){o(e)})})})},M=function(){function i(){return window.getSelection?window.getSelection().toString():document.selection&&"Control"!=document.selection.type?document.selection.createRange().text:0}function r(e,t,i){c.type=i&&a?"stepped":"stepless",c.scrollAmount=10,q(o,e,t,"mcsLinearOut",i?60:null)}var a,o=e(this),s=o.data(n),l=s.opt,c=s.sequential,d=n+"_"+s.idx,h=e("#mCSB_"+s.idx+"_container"),p=h.parent();h.bind("mousedown."+d,function(){t||a||(a=1,u=!0)}).add(document).bind("mousemove."+d,function(e){if(!t&&a&&i()){var n=h.offset(),o=T(e)[0]-n.top+h[0].offsetTop,u=T(e)[1]-n.left+h[0].offsetLeft;o>0&&o0&&uo?r("on",38):o>p.height()&&r("on",40)),"y"!==l.axis&&s.overflowed[1]&&(0>u?r("on",37):u>p.width()&&r("on",39)))}}).bind("mouseup."+d,function(){t||(a&&(a=0,r("off",null)),u=!1)})},E=function(){function t(t,n){if(Y(i),!P(i,t.target)){var o="auto"!==a.mouseWheel.deltaFactor?parseInt(a.mouseWheel.deltaFactor):l&&t.deltaFactor<100?100:t.deltaFactor||100;if("x"===a.axis||"x"===a.mouseWheel.axis)var c="x",d=[Math.round(o*r.scrollRatio.x),parseInt(a.mouseWheel.scrollAmount)],h="auto"!==a.mouseWheel.scrollAmount?d[1]:d[0]>=s.width()?.9*s.width():d[0],p=Math.abs(e("#mCSB_"+r.idx+"_container")[0].offsetLeft),f=u[1][0].offsetLeft,m=u[1].parent().width()-u[1].width(),g=t.deltaX||t.deltaY||n;else var c="y",d=[Math.round(o*r.scrollRatio.y),parseInt(a.mouseWheel.scrollAmount)],h="auto"!==a.mouseWheel.scrollAmount?d[1]:d[0]>=s.height()?.9*s.height():d[0],p=Math.abs(e("#mCSB_"+r.idx+"_container")[0].offsetTop),f=u[0][0].offsetTop,m=u[0].parent().height()-u[0].height(),g=t.deltaY||n;"y"===c&&!r.overflowed[0]||"x"===c&&!r.overflowed[1]||(a.mouseWheel.invert&&(g=-g),a.mouseWheel.normalizeDelta&&(g=0>g?-1:1),(g>0&&0!==f||0>g&&f!==m||a.mouseWheel.preventDefault)&&(t.stopImmediatePropagation(),t.preventDefault()),X(i,(p-g*h).toString(),{dir:c}))}}var i=e(this),r=i.data(n),a=r.opt,o=n+"_"+r.idx,s=e("#mCSB_"+r.idx),u=[e("#mCSB_"+r.idx+"_dragger_vertical"),e("#mCSB_"+r.idx+"_dragger_horizontal")],c=e("#mCSB_"+r.idx+"_container").find("iframe");r&&(c.length&&c.each(function(){e(this).load(function(){I(this)&&e(this.contentDocument||this.contentWindow.document).bind("mousewheel."+o,function(e,i){t(e,i)})})}),s.bind("mousewheel."+o,function(e,i){t(e,i)}))},I=function(e){var t=null;try{var i=e.contentDocument||e.contentWindow.document;t=i.body.innerHTML}catch(e){}return null!==t},P=function(t,i){var r=i.nodeName.toLowerCase(),a=t.data(n).opt.mouseWheel.disableOver,o=["select","textarea"];return e.inArray(r,a)>-1&&!(e.inArray(r,o)>-1&&!e(i).is(":focus"))},L=function(){var t=e(this),i=t.data(n),r=n+"_"+i.idx,a=e("#mCSB_"+i.idx+"_container"),o=a.parent(),s=e(".mCSB_"+i.idx+"_scrollbar ."+c[12]);s.bind("touchstart."+r+" pointerdown."+r+" MSPointerDown."+r,function(){u=!0}).bind("touchend."+r+" pointerup."+r+" MSPointerUp."+r,function(){u=!1}).bind("click."+r,function(n){if(e(n.target).hasClass(c[12])||e(n.target).hasClass("mCSB_draggerRail")){Y(t);var r=e(this),s=r.find(".mCSB_dragger");if(r.parent(".mCSB_scrollTools_horizontal").length>0){if(!i.overflowed[1])return;var l="x",u=n.pageX>s.offset().left?-1:1,d=Math.abs(a[0].offsetLeft)-.9*u*o.width()}else{if(!i.overflowed[0])return;var l="y",u=n.pageY>s.offset().top?-1:1,d=Math.abs(a[0].offsetTop)-.9*u*o.height()}X(t,d.toString(),{dir:l,scrollEasing:"mcsEaseInOut"})}})},R=function(){var t=e(this),i=t.data(n),r=i.opt,a=n+"_"+i.idx,o=e("#mCSB_"+i.idx+"_container"),s=o.parent();o.bind("focusin."+a,function(){var i=e(document.activeElement),n=o.find(".mCustomScrollBox").length,a=0;i.is(r.advanced.autoScrollOnFocus)&&(Y(t),clearTimeout(t[0]._focusTimeout),t[0]._focusTimer=n?(a+17)*n:0,t[0]._focusTimeout=setTimeout(function(){var e=[ie(i)[0],ie(i)[1]],n=[o[0].offsetTop,o[0].offsetLeft],l=[n[0]+e[0]>=0&&n[0]+e[0]=0&&n[0]+e[1]a");l.bind("mousedown."+o+" touchstart."+o+" pointerdown."+o+" MSPointerDown."+o+" mouseup."+o+" touchend."+o+" pointerup."+o+" MSPointerUp."+o+" mouseout."+o+" pointerout."+o+" MSPointerOut."+o+" click."+o,function(n){function o(e,i){a.scrollAmount=r.snapAmount||r.scrollButtons.scrollAmount,q(t,e,i)}if(n.preventDefault(),J(n)){var s=e(this).attr("class");switch(a.type=r.scrollButtons.scrollType,n.type){case"mousedown":case"touchstart":case"pointerdown":case"MSPointerDown":if("stepped"===a.type)return;u=!0,i.tweenRunning=!1,o("on",s);break;case"mouseup":case"touchend":case"pointerup":case"MSPointerUp":case"mouseout":case"pointerout":case"MSPointerOut":if("stepped"===a.type)return;u=!1,a.dir&&o("off",s);break;case"click":if("stepped"!==a.type||i.tweenRunning)return;o("on",s)}}})},z=function(){function t(t){function n(e,t){o.type=a.keyboard.scrollType,o.scrollAmount=a.snapAmount||a.keyboard.scrollAmount,"stepped"===o.type&&r.tweenRunning||q(i,e,t)}switch(t.type){case"blur":r.tweenRunning&&o.dir&&n("off",null);break;case"keydown":case"keyup":var s=t.keyCode?t.keyCode:t.which,l="on";if("x"!==a.axis&&(38===s||40===s)||"y"!==a.axis&&(37===s||39===s)){if((38===s||40===s)&&!r.overflowed[0]||(37===s||39===s)&&!r.overflowed[1])return;"keyup"===t.type&&(l="off"),e(document.activeElement).is(d)||(t.preventDefault(),t.stopImmediatePropagation(),n(l,s))}else if(33===s||34===s){if((r.overflowed[0]||r.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type){Y(i);var h=34===s?-1:1;if("x"===a.axis||"yx"===a.axis&&r.overflowed[1]&&!r.overflowed[0])var p="x",f=Math.abs(u[0].offsetLeft)-.9*h*c.width();else var p="y",f=Math.abs(u[0].offsetTop)-.9*h*c.height();X(i,f.toString(),{dir:p,scrollEasing:"mcsEaseInOut"})}}else if((35===s||36===s)&&!e(document.activeElement).is(d)&&((r.overflowed[0]||r.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type)){if("x"===a.axis||"yx"===a.axis&&r.overflowed[1]&&!r.overflowed[0])var p="x",f=35===s?Math.abs(c.width()-u.outerWidth(!1)):0;else var p="y",f=35===s?Math.abs(c.height()-u.outerHeight(!1)):0;X(i,f.toString(),{dir:p,scrollEasing:"mcsEaseInOut"})}}}var i=e(this),r=i.data(n),a=r.opt,o=r.sequential,s=n+"_"+r.idx,l=e("#mCSB_"+r.idx),u=e("#mCSB_"+r.idx+"_container"),c=u.parent(),d="input,textarea,select,datalist,keygen,[contenteditable='true']",h=u.find("iframe"),p=["blur."+s+" keydown."+s+" keyup."+s];h.length&&h.each(function(){e(this).load(function(){I(this)&&e(this.contentDocument||this.contentWindow.document).bind(p[0],function(e){t(e)})})}),l.attr("tabindex","0").bind(p[0],function(e){t(e)})},q=function(t,i,r,a,o){function s(e){var i="stepped"!==h.type,n=o?o:e?i?m/1.5:g:1e3/60,r=e?i?7.5:40:2.5,l=[Math.abs(p[0].offsetTop),Math.abs(p[0].offsetLeft)],c=[u.scrollRatio.y>10?10:u.scrollRatio.y,u.scrollRatio.x>10?10:u.scrollRatio.x],d="x"===h.dir[0]?l[1]+h.dir[1]*c[1]*r:l[0]+h.dir[1]*c[0]*r,f="x"===h.dir[0]?l[1]+h.dir[1]*parseInt(h.scrollAmount):l[0]+h.dir[1]*parseInt(h.scrollAmount),v="auto"!==h.scrollAmount?f:d,y=a?a:e?i?"mcsLinearOut":"mcsEaseInOut":"mcsLinear",b=!!e;return e&&17>n&&(v="x"===h.dir[0]?l[1]:l[0]),X(t,v.toString(),{dir:h.dir[0],scrollEasing:y,dur:n,onComplete:b}),e?void(h.dir=!1):(clearTimeout(h.step),void(h.step=setTimeout(function(){s()},n)))}function l(){clearTimeout(h.step),Z(h,"step"),Y(t)}var u=t.data(n),d=u.opt,h=u.sequential,p=e("#mCSB_"+u.idx+"_container"),f="stepped"===h.type,m=d.scrollInertia<26?26:d.scrollInertia,g=d.scrollInertia<1?17:d.scrollInertia;switch(i){case"on":if(h.dir=[r===c[16]||r===c[15]||39===r||37===r?"x":"y",r===c[13]||r===c[15]||38===r||37===r?-1:1],Y(t),te(r)&&"stepped"===h.type)return;s(f);break;case"off":l(),(f||u.tweenRunning&&h.dir)&&s(!0)}},F=function(t){var i=e(this).data(n).opt,r=[];return"function"==typeof t&&(t=t()),t instanceof Array?r=t.length>1?[t[0],t[1]]:"x"===i.axis?[null,t[0]]:[t[0],null]:(r[0]=t.y?t.y:t.x||"x"===i.axis?null:t,r[1]=t.x?t.x:t.y||"y"===i.axis?null:t),"function"==typeof r[0]&&(r[0]=r[0]()),"function"==typeof r[1]&&(r[1]=r[1]()),r},W=function(t,i){if(null!=t&&"undefined"!=typeof t){var r=e(this),a=r.data(n),o=a.opt,s=e("#mCSB_"+a.idx+"_container"),l=s.parent(),u=typeof t;i||(i="x"===o.axis?"x":"y");var c="x"===i?s.outerWidth(!1):s.outerHeight(!1),h="x"===i?s[0].offsetLeft:s[0].offsetTop,p="x"===i?"left":"top";switch(u){case"function":return t();case"object":var f=t.jquery?t:e(t);if(!f.length)return;return"x"===i?ie(f)[1]:ie(f)[0];case"string":case"number":if(te(t))return Math.abs(t);if(-1!==t.indexOf("%"))return Math.abs(c*parseInt(t)/100);if(-1!==t.indexOf("-="))return Math.abs(h-parseInt(t.split("-=")[1]));if(-1!==t.indexOf("+=")){var m=h+parseInt(t.split("+=")[1]);return m>=0?0:Math.abs(m)}if(-1!==t.indexOf("px")&&te(t.split("px")[0]))return Math.abs(t.split("px")[0]);if("top"===t||"left"===t)return 0;if("bottom"===t)return Math.abs(l.height()-s.outerHeight(!1));if("right"===t)return Math.abs(l.width()-s.outerWidth(!1));if("first"===t||"last"===t){var f=s.find(":"+t);return"x"===i?ie(f)[1]:ie(f)[0]}return e(t).length?"x"===i?ie(e(t))[1]:ie(e(t))[0]:(s.css(p,t),void d.update.call(null,r[0]))}}},U=function(t){function i(){clearTimeout(p[0].autoUpdate),p[0].autoUpdate=setTimeout(function(){return h.advanced.updateOnSelectorChange&&(f=o(),f!==w)?(s(3),void(w=f)):(h.advanced.updateOnContentResize&&(m=[p.outerHeight(!1),p.outerWidth(!1),v.height(),v.width(),b()[0],b()[1]],(m[0]!==_[0]||m[1]!==_[1]||m[2]!==_[2]||m[3]!==_[3]||m[4]!==_[4]||m[5]!==_[5])&&(s(m[0]!==_[0]||m[1]!==_[1]),_=m)),h.advanced.updateOnImageLoad&&(g=r(),g!==x&&(p.find("img").each(function(){a(this)}),x=g)),void((h.advanced.updateOnSelectorChange||h.advanced.updateOnContentResize||h.advanced.updateOnImageLoad)&&i()))},60)}function r(){var e=0;return h.advanced.updateOnImageLoad&&(e=p.find("img").length),e}function a(t){function i(e,t){return function(){return t.apply(e,arguments)}}function n(){this.onload=null,e(t).addClass(c[2]),s(2)}if(e(t).hasClass(c[2]))return void s();var r=new Image;r.onload=i(r,n),r.src=t.src}function o(){h.advanced.updateOnSelectorChange===!0&&(h.advanced.updateOnSelectorChange="*");var t=0,i=p.find(h.advanced.updateOnSelectorChange);return h.advanced.updateOnSelectorChange&&i.length>0&&i.each(function(){t+=e(this).height()+e(this).width()}),t}function s(e){clearTimeout(p[0].autoUpdate),d.update.call(null,l[0],e)}var l=e(this),u=l.data(n),h=u.opt,p=e("#mCSB_"+u.idx+"_container");if(t)return clearTimeout(p[0].autoUpdate),void Z(p[0],"autoUpdate");var f,m,g,v=p.parent(),y=[e("#mCSB_"+u.idx+"_scrollbar_vertical"),e("#mCSB_"+u.idx+"_scrollbar_horizontal")],b=function(){return[y[0].is(":visible")?y[0].outerHeight(!0):0,y[1].is(":visible")?y[1].outerWidth(!0):0]},w=o(),_=[p.outerHeight(!1),p.outerWidth(!1),v.height(),v.width(),b()[0],b()[1]],x=r();i()},N=function(e,t,i){return Math.round(e/t)*t-i},Y=function(t){var i=t.data(n),r=e("#mCSB_"+i.idx+"_container,#mCSB_"+i.idx+"_container_wrapper,#mCSB_"+i.idx+"_dragger_vertical,#mCSB_"+i.idx+"_dragger_horizontal");r.each(function(){V.call(this)})},X=function(t,i,r){function a(e){return l&&u.callbacks[e]&&"function"==typeof u.callbacks[e]}function o(){return[u.callbacks.alwaysTriggerOffsets||b>=w[0]+x,u.callbacks.alwaysTriggerOffsets||-j>=b]}function s(){var e=[p[0].offsetTop,p[0].offsetLeft],i=[v[0].offsetTop,v[0].offsetLeft],n=[p.outerHeight(!1),p.outerWidth(!1)],a=[h.height(),h.width()];t[0].mcs={content:p,top:e[0],left:e[1],draggerTop:i[0],draggerLeft:i[1],topPct:Math.round(100*Math.abs(e[0])/(Math.abs(n[0])-a[0])),leftPct:Math.round(100*Math.abs(e[1])/(Math.abs(n[1])-a[1])),direction:r.dir}}var l=t.data(n),u=l.opt,c={trigger:"internal",dir:"y",scrollEasing:"mcsEaseOut",drag:!1,dur:u.scrollInertia,overwrite:"all",callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},r=e.extend(c,r),d=[r.dur,r.drag?0:r.dur],h=e("#mCSB_"+l.idx),p=e("#mCSB_"+l.idx+"_container"),f=p.parent(),m=u.callbacks.onTotalScrollOffset?F.call(t,u.callbacks.onTotalScrollOffset):[0,0],g=u.callbacks.onTotalScrollBackOffset?F.call(t,u.callbacks.onTotalScrollBackOffset):[0,0]; -if(l.trigger=r.trigger,(0!==f.scrollTop()||0!==f.scrollLeft())&&(e(".mCSB_"+l.idx+"_scrollbar").css("visibility","visible"),f.scrollTop(0).scrollLeft(0)),"_resetY"!==i||l.contentReset.y||(a("onOverflowYNone")&&u.callbacks.onOverflowYNone.call(t[0]),l.contentReset.y=1),"_resetX"!==i||l.contentReset.x||(a("onOverflowXNone")&&u.callbacks.onOverflowXNone.call(t[0]),l.contentReset.x=1),"_resetY"!==i&&"_resetX"!==i){switch(!l.contentReset.y&&t[0].mcs||!l.overflowed[0]||(a("onOverflowY")&&u.callbacks.onOverflowY.call(t[0]),l.contentReset.x=null),!l.contentReset.x&&t[0].mcs||!l.overflowed[1]||(a("onOverflowX")&&u.callbacks.onOverflowX.call(t[0]),l.contentReset.x=null),u.snapAmount&&(i=N(i,u.snapAmount,u.snapOffset)),r.dir){case"x":var v=e("#mCSB_"+l.idx+"_dragger_horizontal"),y="left",b=p[0].offsetLeft,w=[h.width()-p.outerWidth(!1),v.parent().width()-v.width()],_=[i,0===i?0:i/l.scrollRatio.x],x=m[1],j=g[1],S=x>0?x/l.scrollRatio.x:0,k=j>0?j/l.scrollRatio.x:0;break;case"y":var v=e("#mCSB_"+l.idx+"_dragger_vertical"),y="top",b=p[0].offsetTop,w=[h.height()-p.outerHeight(!1),v.parent().height()-v.height()],_=[i,0===i?0:i/l.scrollRatio.y],x=m[0],j=g[0],S=x>0?x/l.scrollRatio.y:0,k=j>0?j/l.scrollRatio.y:0}_[1]<0||0===_[0]&&0===_[1]?_=[0,0]:_[1]>=w[1]?_=[w[0],w[1]]:_[0]=-_[0],t[0].mcs||(s(),a("onInit")&&u.callbacks.onInit.call(t[0])),clearTimeout(p[0].onCompleteTimeout),(l.tweenRunning||!(0===b&&_[0]>=0||b===w[0]&&_[0]<=w[0]))&&(G(v[0],y,Math.round(_[1]),d[1],r.scrollEasing),G(p[0],y,Math.round(_[0]),d[0],r.scrollEasing,r.overwrite,{onStart:function(){r.callbacks&&r.onStart&&!l.tweenRunning&&(a("onScrollStart")&&(s(),u.callbacks.onScrollStart.call(t[0])),l.tweenRunning=!0,C(v),l.cbOffsets=o())},onUpdate:function(){r.callbacks&&r.onUpdate&&a("whileScrolling")&&(s(),u.callbacks.whileScrolling.call(t[0]))},onComplete:function(){if(r.callbacks&&r.onComplete){"yx"===u.axis&&clearTimeout(p[0].onCompleteTimeout);var e=p[0].idleTimer||0;p[0].onCompleteTimeout=setTimeout(function(){a("onScroll")&&(s(),u.callbacks.onScroll.call(t[0])),a("onTotalScroll")&&_[1]>=w[1]-S&&l.cbOffsets[0]&&(s(),u.callbacks.onTotalScroll.call(t[0])),a("onTotalScrollBack")&&_[1]<=k&&l.cbOffsets[1]&&(s(),u.callbacks.onTotalScrollBack.call(t[0])),l.tweenRunning=!1,p[0].idleTimer=0,C(v,"hide")},e)}}}))}},G=function(e,t,i,n,r,a,o){function s(){_.stop||(y||f.call(),y=K()-v,l(),y>=_.time&&(_.time=y>_.time?y+h-(y-_.time):y+h-1,_.time0?(_.currVal=d(_.time,b,x,n,r),w[t]=Math.round(_.currVal)+"px"):w[t]=i+"px",m.call()}function u(){h=1e3/60,_.time=y+h,p=window.requestAnimationFrame?window.requestAnimationFrame:function(e){return l(),setTimeout(e,.01)},_.id=p(s)}function c(){null!=_.id&&(window.requestAnimationFrame?window.cancelAnimationFrame(_.id):clearTimeout(_.id),_.id=null)}function d(e,t,i,n,r){switch(r){case"linear":case"mcsLinear":return i*e/n+t;case"mcsLinearOut":return e/=n,e--,i*Math.sqrt(1-e*e)+t;case"easeInOutSmooth":return e/=n/2,1>e?i/2*e*e+t:(e--,-i/2*(e*(e-2)-1)+t);case"easeInOutStrong":return e/=n/2,1>e?i/2*Math.pow(2,10*(e-1))+t:(e--,i/2*(-Math.pow(2,-10*e)+2)+t);case"easeInOut":case"mcsEaseInOut":return e/=n/2,1>e?i/2*e*e*e+t:(e-=2,i/2*(e*e*e+2)+t);case"easeOutSmooth":return e/=n,e--,-i*(e*e*e*e-1)+t;case"easeOutStrong":return i*(-Math.pow(2,-10*e/n)+1)+t;case"easeOut":case"mcsEaseOut":default:var a=(e/=n)*e,o=a*e;return t+i*(.499999999999997*o*a+-2.5*a*a+5.5*o+-6.5*a+4*e)}}e._mTween||(e._mTween={top:{},left:{}});var h,p,o=o||{},f=o.onStart||function(){},m=o.onUpdate||function(){},g=o.onComplete||function(){},v=K(),y=0,b=e.offsetTop,w=e.style,_=e._mTween[t];"left"===t&&(b=e.offsetLeft);var x=i-b;_.stop=0,"none"!==a&&c(),u()},K=function(){return window.performance&&window.performance.now?window.performance.now():window.performance&&window.performance.webkitNow?window.performance.webkitNow():Date.now?Date.now():(new Date).getTime()},V=function(){var e=this;e._mTween||(e._mTween={top:{},left:{}});for(var t=["top","left"],i=0;i=0&&n[0]+ie(r)[0]=0&&n[1]+ie(r)[1]")[0].getContext)},init:function(){var t=this.defaults;e.each(t,function(e,i){switch(e){case"aspectRatio":t[e]=H(q(i))||s;break;case"autoCropArea":t[e]=H(q(i))||.8;break;case"minWidth":case"minHeight":t[e]=H(q(i))||0;break;case"maxWidth":case"maxHeight":t[e]=H(q(i))||l}}),this.image={rotate:0},this.load()},load:function(){var t,i,n=this,a=this.$element,o=this.element,s=this.image,l="";a.is("img")?i=a.prop("src"):a.is("canvas")&&this.support.canvas&&(i=o.toDataURL()),i&&(this.replaced&&(s.rotate=0),this.defaults.checkImageOrigin&&(a.prop("crossOrigin")||this.isCrossOriginURL(i))&&(l=" crossOrigin"),this.$clone=t=e("'),t.one("load",function(){s.naturalWidth=this.naturalWidth||t.width(),s.naturalHeight=this.naturalHeight||t.height(),s.aspectRatio=s.naturalWidth/s.naturalHeight,n.url=i,n.ready=r,n.build()}),t.addClass(v).prependTo("body"))},isCrossOriginURL:function(e){var t=e.match(/^(https?:)\/\/([^\:\/\?#]+):?(\d*)/i);return!t||t[1]===n.protocol&&t[2]===n.hostname&&t[3]===n.port?a:r},build:function(){var t,i,n=this.$element,o=this.defaults;this.ready&&(this.built&&this.unbuild(),n.one($,o.build),t=e.Event($),n.trigger(t),t.isDefaultPrevented()||(this.$cropper=i=e(I.TEMPLATE),n.addClass(g),this.$clone.removeClass(v).prependTo(i),this.rotated||(this.$original=this.$clone.clone(),this.$original.addClass(g).prependTo(this.$cropper),this.originalImage=e.extend({},this.image)),this.$container=n.parent(),this.$container.append(i),this.$canvas=i.find(".cropper-canvas"),this.$dragger=i.find(".cropper-dragger"),this.$viewer=i.find(".cropper-viewer"),o.autoCrop?this.cropped=r:this.$dragger.addClass(g),o.dragCrop&&this.setDragMode("crop"),o.modal&&this.$canvas.addClass(m),!o.dashed&&this.$dragger.find(".cropper-dashed").addClass(g),!o.movable&&this.$dragger.find(".cropper-face").data(c,"move"),!o.resizable&&this.$dragger.find(".cropper-line, .cropper-point").addClass(g),this.addListeners(),this.initPreview(),this.built=r,this.update(),this.replaced=a,n.one(D,o.built),n.trigger(D)))},unbuild:function(){this.built&&(this.built=a,this.removeListeners(),this.$preview.empty(),this.$preview=o,this.$dragger=o,this.$canvas=o,this.$container=o,this.$cropper.remove(),this.$cropper=o)},update:function(e){this.initContainer(),this.initCropper(),this.initImage(),this.initDragger(),e?(this.setData(e,r),this.setDragMode("crop")):this.setData(this.defaults.data)},resize:function(){clearTimeout(this.resizing),this.resizing=setTimeout(e.proxy(this.update,this,this.getData()),200)},preview:function(){var t=this.image,i=this.dragger,n=t.width,r=t.height,a=i.left-t.left,o=i.top-t.top;this.$viewer.find("img").css({width:n,height:r,marginLeft:-a,marginTop:-o}),this.$preview.each(function(){var t=e(this),s=t.width()/i.width;t.find("img").css({width:n*s,height:r*s,marginLeft:-a*s,marginTop:-o*s})})},addListeners:function(){var n=this.defaults;this.$element.on(Q,n.dragstart).on(T,n.dragmove).on(O,n.dragend),this.$cropper.on(_,e.proxy(this.dragstart,this)).on(k,e.proxy(this.dblclick,this)),n.zoomable&&this.$cropper.on(C,e.proxy(this.wheel,this)),n.multiple?this.$cropper.on(x,e.proxy(this.dragmove,this)).on(j,e.proxy(this.dragend,this)):i.on(x,this._dragmove=E(this.dragmove,this)).on(j,this._dragend=E(this.dragend,this)),t.on(S,this._resize=E(this.resize,this))},removeListeners:function(){var e=this.defaults;this.$element.off(Q,e.dragstart).off(T,e.dragmove).off(O,e.dragend),this.$cropper.off(_,this.dragstart).off(k,this.dblclick),e.zoomable&&this.$cropper.off(C,this.wheel),e.multiple?this.$cropper.off(x,this.dragmove).off(j,this.dragend):i.off(x,this._dragmove).off(j,this._dragend),t.off(S,this._resize)},initPreview:function(){var t='';this.$preview=e(this.defaults.preview),this.$viewer.html(t),this.$preview.html(t).find("img").css("cssText","min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;")},initContainer:function(){var e=this.$container;e!==o&&(this.container={width:R(e.width(),300),height:R(e.height(),150)})},initCropper:function(){var e,t=this.container,i=this.image;i.naturalWidth*t.height/i.naturalHeight-t.width>=0?(e={width:t.width,height:t.width/i.aspectRatio,left:0},e.top=(t.height-e.height)/2):(e={width:t.height*i.aspectRatio,height:t.height,top:0},e.left=(t.width-e.width)/2),this.$cropper.css({width:e.width,height:e.height,left:e.left,top:e.top}),this.cropper=e},initImage:function(){var t=this.image,i=this.cropper,n={_width:i.width,_height:i.height,width:i.width,height:i.height,left:0,top:0,ratio:i.width/t.naturalWidth};this.defaultImage=e.extend({},t,n),t._width!==i.width||t._height!==i.height?e.extend(t,n):(t=e.extend({},n,t),this.replaced&&(t.ratio=n.ratio)),this.image=t,this.renderImage()},renderImage:function(e){var t=this.image;"zoom"===e&&(t.left-=(t.width-t.oldWidth)/2,t.top-=(t.height-t.oldHeight)/2),t.left=L(R(t.left,t._width-t.width),0),t.top=L(R(t.top,t._height-t.height),0),this.$clone.css({width:t.width,height:t.height,marginLeft:t.left,marginTop:t.top}),e&&(this.defaults.done(this.getData()),this.preview())},initDragger:function(){var t,i=this.defaults,n=this.cropper,r=i.aspectRatio||this.image.aspectRatio,a=this.image.ratio;t=n.height*r-n.width>=0?{height:n.width/r,width:n.width,left:0,top:(n.height-n.width/r)/2,maxWidth:n.width,maxHeight:n.width/r}:{height:n.height,width:n.height*r,left:(n.width-n.height*r)/2,top:0,maxWidth:n.height*r,maxHeight:n.height},t.minWidth=0,t.minHeight=0,i.aspectRatio?(isFinite(i.maxWidth)?(t.maxWidth=L(t.maxWidth,i.maxWidth*a),t.maxHeight=t.maxWidth/r):isFinite(i.maxHeight)&&(t.maxHeight=L(t.maxHeight,i.maxHeight*a),t.maxWidth=t.maxHeight*r),i.minWidth>0?(t.minWidth=R(0,i.minWidth*a),t.minHeight=t.minWidth/r):i.minHeight>0&&(t.minHeight=R(0,i.minHeight*a),t.minWidth=t.minHeight*r)):(t.maxWidth=L(t.maxWidth,i.maxWidth*a),t.maxHeight=L(t.maxHeight,i.maxHeight*a),t.minWidth=R(0,i.minWidth*a),t.minHeight=R(0,i.minHeight*a)),t.minWidth=L(t.maxWidth,t.minWidth),t.minHeight=L(t.maxHeight,t.minHeight),t.height*=i.autoCropArea,t.width*=i.autoCropArea,t.left=(n.width-t.width)/2,t.top=(n.height-t.height)/2,t.oldLeft=t.left,t.oldTop=t.top,this.defaultDragger=t,this.dragger=e.extend({},t)},renderDragger:function(){var e=this.dragger,t=this.cropper;e.width>e.maxWidth?(e.width=e.maxWidth,e.left=e.oldLeft):e.widthe.maxHeight?(e.height=e.maxHeight,e.top=e.oldTop):e.height').one("load",function(){l.width=this.width,l.height=this.height,n.clearRect(0,0,l.width,l.height),n.drawImage(this,0,0),o.load()})))},setData:function(t,i){var n=this.cropper,r=this.dragger,a=this.image,s=this.defaults.aspectRatio;this.built&&typeof t!==u&&((t===o||e.isEmptyObject(t))&&(r=e.extend({},this.defaultDragger)),e.isPlainObject(t)&&!e.isEmptyObject(t)&&(i||(this.defaults.data=t),t=this.transformData(t),A(t.x)&&t.x<=n.width-a.left&&(r.left=t.x+a.left),A(t.y)&&t.y<=n.height-a.top&&(r.top=t.y+a.top),s?A(t.width)&&t.width<=r.maxWidth&&t.width>=r.minWidth?(r.width=t.width,r.height=r.width/s):A(t.height)&&t.height<=r.maxHeight&&t.height>=r.minHeight&&(r.height=t.height,r.width=r.height*s):(A(t.width)&&t.width<=r.maxWidth&&t.width>=r.minWidth&&(r.width=t.width),A(t.height)&&t.height<=r.maxHeight&&t.height>=r.minHeight&&(r.height=t.height))),this.dragger=r,this.renderDragger())},getData:function(e){var t=this.dragger,i=this.image,n={};return this.built&&(n={x:t.left-i.left,y:t.top-i.top,width:t.width,height:t.height},n=this.transformData(n,r,e)),n},transformData:function(t,i,n){var r=this.image.ratio,a={};return e.each(t,function(e,t){t=q(t),p.test(e)&&!isNaN(t)&&(a[e]=i?n?Math.round(t/r):t/r:t*r)}),a},setAspectRatio:function(e){var t="auto"===e;e=q(e),(t||!isNaN(e)&&e>0)&&(this.defaults.aspectRatio=t?s:e,this.built&&(this.initDragger(),this.renderDragger()))},getImageData:function(){var t={};return this.ready&&e.each(this.image,function(e,i){f.test(e)&&(t[e]=i)}),t},getDataURL:function(t,i,n){var r,a=e("")[0],o=this.getData(),s="";return e.isPlainObject(t)||(n=i,i=t,t={}),t=e.extend({width:o.width,height:o.height},t),this.cropped&&this.support.canvas&&(a.width=t.width,a.height=t.height,r=a.getContext("2d"),"image/jpeg"===i&&(r.fillStyle="#fff",r.fillRect(0,0,t.width,t.height)),r.drawImage(this.$clone[0],o.x,o.y,o.width,o.height,0,0,t.width,t.height),s=a.toDataURL(i,n)),s},setDragMode:function(e){var t=this.$canvas,i=this.defaults,n=a,o=a;if(this.built&&!this.disabled){switch(e){case"crop":i.dragCrop&&(n=r,t.data(c,e));break;case"move":o=r,t.data(c,e);break;default:t.removeData(c)}t.toggleClass(b,n).toggleClass(y,o)}},enable:function(){this.built&&(this.disabled=a,this.$cropper.removeClass(w))},disable:function(){this.built&&(this.disabled=r,this.$cropper.addClass(w))},rotate:function(e){var t=this.image;e=q(e)||0,this.built&&0!==e&&!this.disabled&&this.defaults.rotatable&&this.support.canvas&&(this.rotated=r,e=t.rotate=(t.rotate+e)%360,this.replace(this.getRotatedDataURL(e),!0))},getRotatedDataURL:function(t){var i=e("")[0],n=i.getContext("2d"),r=t*Math.PI/180,a=H(t)%180,o=a>90?180-a:a,s=o*Math.PI/180,l=this.originalImage,u=l.naturalWidth,c=l.naturalHeight,d=H(u*z(s)+c*B(s)),h=H(u*B(s)+c*z(s));return i.width=d,i.height=h,n.save(),n.translate(d/2,h/2),n.rotate(r),n.drawImage(this.$original[0],-u/2,-c/2,u,c),n.restore(),i.toDataURL()},zoom:function(e){var t,i,n,r=this.image;e=q(e),this.built&&e&&!this.disabled&&this.defaults.zoomable&&(t=r.width*(1+e),i=r.height*(1+e),n=t/r._width,n>10||(n<1&&(t=r._width,i=r._height),n<=1?this.setDragMode("crop"):this.setDragMode("move"),r.oldWidth=r.width,r.oldHeight=r.height,r.width=t,r.height=i,r.ratio=r.width/r.naturalWidth,this.renderImage("zoom")))},dblclick:function(){this.disabled||(this.$canvas.hasClass(b)?this.setDragMode("move"):this.setDragMode("crop"))},wheel:function(e){var t,i=e.originalEvent,n=117.25,r=5,a=166.66665649414062,o=.1;this.disabled||(e.preventDefault(),i.deltaY?(t=i.deltaY,t=t%r===0?t/r:t%n===0?t/n:t/a):t=i.wheelDelta?-i.wheelDelta/120:i.detail?i.detail/3:0,this.zoom(t*o))},dragstart:function(t){var i,n,o,s=t.originalEvent.touches,l=t;if(!this.disabled){if(s){if(o=s.length,o>1){if(!this.defaults.zoomable||2!==o)return;l=s[1],this.startX2=l.pageX,this.startY2=l.pageY,i="zoom"}l=s[0]}if(i=i||e(l.target).data(c),h.test(i)){if(t.preventDefault(),n=e.Event(Q),this.$element.trigger(n),n.isDefaultPrevented())return;this.directive=i,this.cropping=a,this.startX=l.pageX,this.startY=l.pageY,"crop"===i&&(this.cropping=r,this.$canvas.addClass(m))}}},dragmove:function(t){var i,n,r=t.originalEvent.touches,a=t;if(!this.disabled){if(r){if(n=r.length,n>1){if(!this.defaults.zoomable||2!==n)return;a=r[1],this.endX2=a.pageX,this.endY2=a.pageY}a=r[0]}if(this.directive){if(t.preventDefault(),i=e.Event(T),this.$element.trigger(i),i.isDefaultPrevented())return;this.endX=a.pageX,this.endY=a.pageY,this.dragging()}}},dragend:function(t){var i;if(!this.disabled&&this.directive){if(t.preventDefault(),i=e.Event(O),this.$element.trigger(i),i.isDefaultPrevented())return;this.cropping&&(this.cropping=a,this.$canvas.toggleClass(m,this.cropped&&this.defaults.modal)),this.directive=""}},dragging:function(){var e,t=this.directive,i=this.image,n=this.cropper,o=n.width,s=n.height,l=this.dragger,u=l.width,c=l.height,d=l.left,h=l.top,p=d+u,f=h+c,m=r,v=this.defaults,y=v.aspectRatio,b={x:this.endX-this.startX,y:this.endY-this.startY};switch(y&&(b.X=b.y*y,b.Y=b.x/y),t){case"all":d+=b.x,h+=b.y;break;case"e":if(b.x>=0&&(p>=o||y&&(h<=0||f>=s))){m=a;break}u+=b.x,y&&(c=u/y,h-=b.Y/2),u<0&&(t="w",u=0);break;case"n":if(b.y<=0&&(h<=0||y&&(d<=0||p>=o))){m=a;break}c-=b.y,h+=b.y,y&&(u=c*y,d+=b.X/2),c<0&&(t="s",c=0);break;case"w":if(b.x<=0&&(d<=0||y&&(h<=0||f>=s))){m=a;break}u-=b.x,d+=b.x,y&&(c=u/y,h+=b.Y/2),u<0&&(t="e",u=0);break;case"s":if(b.y>=0&&(f>=s||y&&(d<=0||p>=o))){m=a;break}c+=b.y,y&&(u=c*y,d-=b.X/2),c<0&&(t="n",c=0);break;case"ne":if(y){if(b.y<=0&&(h<=0||p>=o)){m=a;break}c-=b.y,h+=b.y,u=c*y}else b.x>=0?p0&&(c-=b.y,h+=b.y):(c-=b.y,h+=b.y);c<0&&(t="sw",c=0,u=0);break;case"nw":if(y){if(b.y<=0&&(h<=0||d<=0)){m=a;break}c-=b.y,h+=b.y,u=c*y,d+=b.X}else b.x<=0?d>0?(u-=b.x,d+=b.x):b.y<=0&&h<=0&&(m=a):(u-=b.x,d+=b.x),b.y<=0?h>0&&(c-=b.y,h+=b.y):(c-=b.y,h+=b.y);c<0&&(t="se",c=0,u=0);break;case"sw":if(y){if(b.x<=0&&(d<=0||f>=s)){m=a;break}u-=b.x,d+=b.x,c=u/y}else b.x<=0?d>0?(u-=b.x,d+=b.x):b.y>=0&&f>=s&&(m=a):(u-=b.x,d+=b.x),b.y>=0?f=0&&(p>=o||f>=s)){m=a;break}u+=b.x,c=u/y}else b.x>=0?p=0&&f>=s&&(m=a):u+=b.x,b.y>=0?f0?b.y>0?t="se":(t="ne",h-=c):b.y>0?(t="sw",d-=u):(t="nw",d-=u,h-=c),this.cropped||(this.cropped=r,this.$dragger.removeClass(g)))}m&&(l.width=u,l.height=c,l.left=d,l.top=h,this.directive=t,this.renderDragger()),this.startX=this.endX,this.startY=this.endY}},I.TEMPLATE=function(e,t){return t=t.split(","),e.replace(/\d+/g,function(e){return t[e]})}('<0 6="5-container"><0 6="5-canvas"><0 6="5-dragger"><1 6="5-viewer"><1 6="5-8 8-h"><1 6="5-8 8-v"><1 6="5-face" 3-2="all"><1 6="5-7 7-e" 3-2="e"><1 6="5-7 7-n" 3-2="n"><1 6="5-7 7-w" 3-2="w"><1 6="5-7 7-s" 3-2="s"><1 6="5-4 4-e" 3-2="e"><1 6="5-4 4-n" 3-2="n"><1 6="5-4 4-w" 3-2="w"><1 6="5-4 4-s" 3-2="s"><1 6="5-4 4-ne" 3-2="ne"><1 6="5-4 4-nw" 3-2="nw"><1 6="5-4 4-sw" 3-2="sw"><1 6="5-4 4-se" 3-2="se">',"div,span,directive,data,point,cropper,class,line,dashed"),I.DEFAULTS={aspectRatio:"auto",autoCropArea:.8,data:{},done:e.noop,preview:"",multiple:a,autoCrop:r,dragCrop:r,dashed:r,modal:r,movable:r,resizable:r,zoomable:r,rotatable:r,checkImageOrigin:r,minWidth:0,minHeight:0,maxWidth:l,maxHeight:l,build:o,built:o,dragstart:o,dragmove:o,dragend:o},I.setDefaults=function(t){e.extend(I.DEFAULTS,t)},I.other=e.fn.cropper,e.fn.cropper=function(t){var i,n=M(arguments,1);return this.each(function(){var r,a=e(this),o=a.data("cropper");o||a.data("cropper",o=new I(this,t)),"string"==typeof t&&e.isFunction(r=o[t])&&(i=r.apply(o,n))}),typeof i!==u?i:this},e.fn.cropper.Constructor=I,e.fn.cropper.setDefaults=I.setDefaults,e.fn.cropper.noConflict=function(){return e.fn.cropper=I.other,this}}),function(e){function t(e,t){return"function"==typeof e?e.call(t):e}function i(e){for(;e=e.parentNode;)if(e==document)return!0;return!1}function n(t,i){this.$element=e(t),this.options=i,this.enabled=!0,this.fixTitle()}n.prototype={show:function(){var i=this.getTitle();if(i&&this.enabled){var n=this.tip();n.find(".tipsy-inner")[this.options.html?"html":"text"](i),n[0].className="tipsy",n.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).prependTo(document.body);var r,a=e.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight}),o=n[0].offsetWidth,s=n[0].offsetHeight,l=t(this.options.gravity,this.$element[0]);switch(l.charAt(0)){case"n":r={top:a.top+a.height+this.options.offset,left:a.left+a.width/2-o/2};break;case"s":r={top:a.top-s-this.options.offset,left:a.left+a.width/2-o/2};break;case"e":r={top:a.top+a.height/2-s/2,left:a.left-o-this.options.offset};break;case"w":extra_gap=0,e("body").css("position").length>0&&"relative"==e("body").css("position")&&e("#wpadminbar").length&&(extra_gap=e("#wpadminbar").height()),r={top:a.top+a.height/2-s/2-extra_gap,left:a.left+a.width+this.options.offset}}2==l.length&&("w"==l.charAt(1)?r.left=a.left+a.width/2-15:r.left=a.left+a.width/2-o+15),n.css(r).addClass("tipsy-"+l),n.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+l.charAt(0),this.options.className&&n.addClass(t(this.options.className,this.$element[0])),this.options.fade?n.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:this.options.opacity}):n.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?this.tip().stop().fadeOut(function(){e(this).remove()}):this.tip().remove()},fixTitle:function(){var e=this.$element;(e.attr("title")||"string"!=typeof e.attr("original-title"))&&e.attr("original-title",e.attr("title")||"").removeAttr("title")},getTitle:function(){var e,t=this.$element,i=this.options;this.fixTitle();var e,i=this.options;return"string"==typeof i.title?e=t.attr("title"==i.title?"original-title":i.title):"function"==typeof i.title&&(e=i.title.call(t[0])),e=(""+e).replace(/(^\s*|\s*$)/,""),e||i.fallback},tip:function(){return this.$tip||(this.$tip=e('
    ').html('
    '),this.$tip.data("tipsy-pointee",this.$element[0])),this.$tip},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}},e.fn.tipsy=function(t){function i(i){var r=e.data(i,"tipsy");return r||(r=new n(i,e.fn.tipsy.elementOptions(i,t)),e.data(i,"tipsy",r)),r}function r(){var e=i(this);e.hoverState="in",0==t.delayIn?e.show():(e.fixTitle(),setTimeout(function(){"in"==e.hoverState&&e.show()},t.delayIn))}function a(){var e=i(this);e.hoverState="out",0==t.delayOut?e.hide():setTimeout(function(){"out"==e.hoverState&&e.hide()},t.delayOut)}if(t===!0)return this.data("tipsy");if("string"==typeof t){var o=this.data("tipsy");return o&&o[t](),this}if(t=e.extend({},e.fn.tipsy.defaults,t),t.live||this.each(function(){i(this)}),"manual"!=t.trigger){var s="hover"==t.trigger?"mouseenter":"focus",l="hover"==t.trigger?"mouseleave":"blur";t.live?e(document).on(s,this.selector,r).on(l,this.selector,a):this.bind(s,r).bind(l,a)}return this},e.fn.tipsy.defaults={className:null,delayIn:0,delayOut:0,fade:!1,fallback:"",gravity:"n",html:!1,live:!1,offset:0,opacity:.8,title:"title",trigger:"hover"},e.fn.tipsy.revalidate=function(){e(".tipsy").each(function(){var t=e.data(this,"tipsy-pointee");t&&i(t)||e(this).remove()})},e.fn.tipsy.elementOptions=function(t,i){return e.metadata?e.extend({},i,e(t).metadata()):i},e.fn.tipsy.autoNS=function(){return e(this).offset().top>e(document).scrollTop()+e(window).height()/2?"s":"n"},e.fn.tipsy.autoWE=function(){return e(this).offset().left>e(document).scrollLeft()+e(window).width()/2?"e":"w"},e.fn.tipsy.autoBounds=function(t,i){return function(){var n={ns:i[0],ew:i.length>1&&i[1]},r=e(document).scrollTop()+t,a=e(document).scrollLeft()+t,o=e(this);return o.offset().topparseInt(u)?(n(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.hide(),e[o.child]={act:"hide",op:c})),"less than"==c&&(jQuery.isNumeric(u)&&parseInt(f)=0?(n(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.hide(),e[o.child]={act:"hide",op:c}))),"hide"==l&&"undefined"!=typeof u&&("empty"==c&&(f&&""!=f?(g.show(),e[o.child]={act:"show",op:c}):(r(m,s,c,p,i),e[o.child]={act:l,op:c})),"not empty"==c&&(f&&""!=f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.show(),e[o.child]={act:"show",op:c})),"equals to"==c&&(u==f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.show(),e[o.child]={act:"show",op:c})),"not equals"==c&&(jQuery.isNumeric(u)&&parseInt(f)!=parseInt(u)&&f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):jQuery.isNumeric(u)||u==f?(g.show(),e[o.child]={act:"show",op:c}):(r(m,s,c,p,i),e[o.child]={act:l,op:c})),"greater than"==c&&(jQuery.isNumeric(u)&&parseInt(f)>parseInt(u)?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.show(),e[o.child]={act:"show",op:c})),"less than"==c&&(jQuery.isNumeric(u)&&parseInt(f)=0?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.show(),e[o.child]={act:"show",op:c})))})})}function n(e,t,i,n,r){e=e.parents(".um-field"),e.is(":hidden")&&(t?e.fadeIn():e.show())}function r(e,t,i,n,r){e=e.parents(".um-field"),e.is(":visible")&&(t?e.fadeOut():e.hide())}function a(e){return s=e.parents(".um-field").data("key"),l=e.val(),e.is(":checkbox")&&(e.parents(".um-field").find("input:checked").length>1?(l="",e.parents(".um-field").find("input:checked").each(function(){l=l+e.val()+" "})):l=e.parents(".um-field").find("input:checked").val()),e.is(":radio")&&(l=e.parents(".um-field").find("input[type=radio]:checked").val()),{key:s,value:l}}function o(){var e=u;0==h&&jQuery.each(e,function(t,i){var n=[],r=[];jQuery.each(e,function(e,i){for(var a=0;a<=i.length;a++)"undefined"!=typeof i[a]&&t==i[a].field&&(n.push(i[a]),r.push(i[a].child))}),c[t]=n})}var s,l,u={},c={},d=[],h=!1,p=!1;jQuery(document).on("input change",".um-field input[type=text]",function(){p&&e()}),jQuery(document).on("change",".um-field select, .um-field input[type=radio], .um-field input[type=checkbox]",function(){p&&e()}),e(),p=!0}),jQuery(document).ready(function(){function e(e,i,n,r){var a=e.data("um-parent");e.attr("name"),jQuery('select[name="'+a+'"]');e.find('option[value!=""]').remove(),e.hasClass("um-child-option-disabled")||e.removeAttr("disabled");var r=[];jQuery.each(i.items,function(e,t){r.push({id:e,text:t})}),e.select2("destroy"),e.select2({data:r,allowClear:!0,minimumResultsForSearch:10 -}),"undefined"==typeof i.field.default||e.data("um-original-value")?""!=e.data("um-original-value")&&e.val(e.data("um-original-value")).trigger("change"):e.val(i.field.default).trigger("change"),0==i.field.editable&&(e.addClass("um-child-option-disabled"),e.attr("disabled","disabled")),t[n]=i}jQuery(document).on("click",".um-dropdown a",function(e){return!1}),jQuery(document).on("click",".um-dropdown a.real_url",function(e){window.location=jQuery(this).attr("href")}),jQuery(document).on("click",".um-trigger-menu-on-click",function(e){return jQuery(".um-dropdown").hide(),menu=jQuery(this).find(".um-dropdown"),menu.show(),!1}),jQuery(document).on("click",".um-dropdown-hide",function(e){UM_hide_menus()}),jQuery(document).on("click","a.um-manual-trigger",function(){var e=jQuery(this).attr("data-child"),t=jQuery(this).attr("data-parent");jQuery(this).parents(t).find(e).trigger("click")}),jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}),jQuery(document).on("change",".um-field-area input[type=radio]",function(){var e=jQuery(this).parents(".um-field-area"),t=jQuery(this).parents("label");e.find(".um-field-radio").removeClass("active"),e.find(".um-field-radio").find("i").removeClass().addClass("um-icon-android-radio-button-off"),t.addClass("active"),t.find("i").removeClass().addClass("um-icon-android-radio-button-on")}),jQuery(document).on("change",".um-field-area input[type=checkbox]",function(){var e=(jQuery(this).parents(".um-field-area"),jQuery(this).parents("label"));e.hasClass("active")?(e.removeClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline-blank")):(e.addClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline"))}),jQuery(".um-datepicker").each(function(){if(elem=jQuery(this),""!=elem.attr("data-disabled_weekdays"))var e=JSON.parse(elem.attr("data-disabled_weekdays"));else var e=!1;var t=elem.attr("data-years"),i=elem.attr("data-date_min"),n=elem.attr("data-date_max"),r=i.split(","),a=n.split(","),o=r.length?new Date(r):null,s=r.length?new Date(a):null;if(o&&"Invalid Date"==o.toString()&&3==r.length){var l=r[1]+"/"+r[2]+"/"+r[0];o=new Date(Date.parse(l))}if(s&&"Invalid Date"==s.toString()&&3==a.length){var u=a[1]+"/"+a[2]+"/"+a[0];s=new Date(Date.parse(u))}elem.pickadate({selectYears:t,min:o,max:s,disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-timepicker").each(function(){elem=jQuery(this),elem.pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-rating").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,click:function(e,t){live_field=this.id,live_value=e,um_conditional()}}),jQuery(".um-rating-readonly").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,readOnly:!0}),jQuery(document).on("click",".um .um-single-image-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-image-preview img").attr("src");return t.find(".um-single-image-preview img").attr("src",""),t.find(".um-single-image-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val(""),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(document).on("click",".um .um-single-file-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-fileinfo a").attr("href");return t.find(".um-single-file-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val(""),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(".um-s1,.um-s2").css({display:"block"}),jQuery(".um-s1").select2({allowClear:!0}),jQuery(".um-s2").select2({allowClear:!1,minimumResultsForSearch:10}),jQuery(document).on("click",".um-field-group-head:not(.disabled)",function(){var e=jQuery(this).parents(".um-field-group"),t=e.data("max_entries");e.find(".um-field-group-body").is(":hidden")?e.find(".um-field-group-body").show():e.find(".um-field-group-body:first").clone().appendTo(e),increase_id=0,e.find(".um-field-group-body").each(function(){increase_id++,jQuery(this).find("input").each(function(){var e=jQuery(this);e.attr("id",e.data("key")+"-"+increase_id),e.attr("name",e.data("key")+"-"+increase_id),e.parent().parent().find("label").attr("for",e.data("key")+"-"+increase_id)})}),t>0&&e.find(".um-field-group-body").length==t&&jQuery(this).addClass("disabled")}),jQuery(document).on("click",".um-field-group-cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field-group"),i=t.data("max_entries");return t.find(".um-field-group-body").length>1?jQuery(this).parents(".um-field-group-body").remove():jQuery(this).parents(".um-field-group-body").hide(),i>0&&t.find(".um-field-group-body").length
    '),jQuery(".um-dropdown").hide(),um_responsive(),user_id=jQuery(this).attr("data-user_id"),metakey="cover_photo",jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_delete_cover_photo",metakey:metakey,user_id:user_id}})}),e(),jQuery("textarea[id=um-meta-bio]").change(e),jQuery("textarea[id=um-meta-bio]").keyup(e),jQuery(".um-profile-edit a.um_delete-item").click(function(e){e.preventDefault();var t=confirm("Are you sure that you want to delete this user?");if(!t)return!1})}),jQuery(document).ready(function(){var e=jQuery(".um-account-main").attr("data-current_tab");e&&jQuery(".um-account-tab[data-tab="+e+"]").show(),jQuery(document).on("click",".um-account-side li a",function(e){e.preventDefault();var t=jQuery(this);t.parents("ul").find("li a").removeClass("current"),t.addClass("current");var i=jQuery(this).attr("href"),n=jQuery(this).attr("data-tab");return jQuery("input[id=_um_account_tab]:hidden").val(n),window.history.pushState("","",i),jQuery(".um-account-tab").hide(),jQuery(".um-account-tab[data-tab="+n+"]").fadeIn(),jQuery(".um-account-nav a").removeClass("current"),jQuery(".um-account-nav a[data-tab="+n+"]").addClass("current"),!1})}),jQuery(document).on("click",".um-account-nav a",function(e){e.preventDefault();var t=jQuery(this).attr("data-tab"),i=jQuery(this).parents("div"),n=jQuery(this);return jQuery("input[id=_um_account_tab]:hidden").val(t),jQuery(".um-account-tab").hide(),n.hasClass("current")?(i.next(".um-account-tab").slideUp(),n.removeClass("current")):(i.next(".um-account-tab").slideDown(),n.parents("div").find("a").removeClass("current"),n.addClass("current")),jQuery(".um-account-side li a").removeClass("current"),jQuery(".um-account-side li a[data-tab="+t+"]").addClass("current"),!1}); \ No newline at end of file +if(l.trigger=r.trigger,(0!==f.scrollTop()||0!==f.scrollLeft())&&(e(".mCSB_"+l.idx+"_scrollbar").css("visibility","visible"),f.scrollTop(0).scrollLeft(0)),"_resetY"!==i||l.contentReset.y||(a("onOverflowYNone")&&u.callbacks.onOverflowYNone.call(t[0]),l.contentReset.y=1),"_resetX"!==i||l.contentReset.x||(a("onOverflowXNone")&&u.callbacks.onOverflowXNone.call(t[0]),l.contentReset.x=1),"_resetY"!==i&&"_resetX"!==i){switch(!l.contentReset.y&&t[0].mcs||!l.overflowed[0]||(a("onOverflowY")&&u.callbacks.onOverflowY.call(t[0]),l.contentReset.x=null),!l.contentReset.x&&t[0].mcs||!l.overflowed[1]||(a("onOverflowX")&&u.callbacks.onOverflowX.call(t[0]),l.contentReset.x=null),u.snapAmount&&(i=N(i,u.snapAmount,u.snapOffset)),r.dir){case"x":var v=e("#mCSB_"+l.idx+"_dragger_horizontal"),y="left",b=p[0].offsetLeft,w=[h.width()-p.outerWidth(!1),v.parent().width()-v.width()],_=[i,0===i?0:i/l.scrollRatio.x],x=m[1],j=g[1],S=x>0?x/l.scrollRatio.x:0,k=j>0?j/l.scrollRatio.x:0;break;case"y":var v=e("#mCSB_"+l.idx+"_dragger_vertical"),y="top",b=p[0].offsetTop,w=[h.height()-p.outerHeight(!1),v.parent().height()-v.height()],_=[i,0===i?0:i/l.scrollRatio.y],x=m[0],j=g[0],S=x>0?x/l.scrollRatio.y:0,k=j>0?j/l.scrollRatio.y:0}_[1]<0||0===_[0]&&0===_[1]?_=[0,0]:_[1]>=w[1]?_=[w[0],w[1]]:_[0]=-_[0],t[0].mcs||(s(),a("onInit")&&u.callbacks.onInit.call(t[0])),clearTimeout(p[0].onCompleteTimeout),(l.tweenRunning||!(0===b&&_[0]>=0||b===w[0]&&_[0]<=w[0]))&&(G(v[0],y,Math.round(_[1]),d[1],r.scrollEasing),G(p[0],y,Math.round(_[0]),d[0],r.scrollEasing,r.overwrite,{onStart:function(){r.callbacks&&r.onStart&&!l.tweenRunning&&(a("onScrollStart")&&(s(),u.callbacks.onScrollStart.call(t[0])),l.tweenRunning=!0,C(v),l.cbOffsets=o())},onUpdate:function(){r.callbacks&&r.onUpdate&&a("whileScrolling")&&(s(),u.callbacks.whileScrolling.call(t[0]))},onComplete:function(){if(r.callbacks&&r.onComplete){"yx"===u.axis&&clearTimeout(p[0].onCompleteTimeout);var e=p[0].idleTimer||0;p[0].onCompleteTimeout=setTimeout(function(){a("onScroll")&&(s(),u.callbacks.onScroll.call(t[0])),a("onTotalScroll")&&_[1]>=w[1]-S&&l.cbOffsets[0]&&(s(),u.callbacks.onTotalScroll.call(t[0])),a("onTotalScrollBack")&&_[1]<=k&&l.cbOffsets[1]&&(s(),u.callbacks.onTotalScrollBack.call(t[0])),l.tweenRunning=!1,p[0].idleTimer=0,C(v,"hide")},e)}}}))}},G=function(e,t,i,n,r,a,o){function s(){_.stop||(y||f.call(),y=K()-v,l(),y>=_.time&&(_.time=y>_.time?y+h-(y-_.time):y+h-1,_.time0?(_.currVal=d(_.time,b,x,n,r),w[t]=Math.round(_.currVal)+"px"):w[t]=i+"px",m.call()}function u(){h=1e3/60,_.time=y+h,p=window.requestAnimationFrame?window.requestAnimationFrame:function(e){return l(),setTimeout(e,.01)},_.id=p(s)}function c(){null!=_.id&&(window.requestAnimationFrame?window.cancelAnimationFrame(_.id):clearTimeout(_.id),_.id=null)}function d(e,t,i,n,r){switch(r){case"linear":case"mcsLinear":return i*e/n+t;case"mcsLinearOut":return e/=n,e--,i*Math.sqrt(1-e*e)+t;case"easeInOutSmooth":return e/=n/2,1>e?i/2*e*e+t:(e--,-i/2*(e*(e-2)-1)+t);case"easeInOutStrong":return e/=n/2,1>e?i/2*Math.pow(2,10*(e-1))+t:(e--,i/2*(-Math.pow(2,-10*e)+2)+t);case"easeInOut":case"mcsEaseInOut":return e/=n/2,1>e?i/2*e*e*e+t:(e-=2,i/2*(e*e*e+2)+t);case"easeOutSmooth":return e/=n,e--,-i*(e*e*e*e-1)+t;case"easeOutStrong":return i*(-Math.pow(2,-10*e/n)+1)+t;case"easeOut":case"mcsEaseOut":default:var a=(e/=n)*e,o=a*e;return t+i*(.499999999999997*o*a+-2.5*a*a+5.5*o+-6.5*a+4*e)}}e._mTween||(e._mTween={top:{},left:{}});var h,p,o=o||{},f=o.onStart||function(){},m=o.onUpdate||function(){},g=o.onComplete||function(){},v=K(),y=0,b=e.offsetTop,w=e.style,_=e._mTween[t];"left"===t&&(b=e.offsetLeft);var x=i-b;_.stop=0,"none"!==a&&c(),u()},K=function(){return window.performance&&window.performance.now?window.performance.now():window.performance&&window.performance.webkitNow?window.performance.webkitNow():Date.now?Date.now():(new Date).getTime()},V=function(){var e=this;e._mTween||(e._mTween={top:{},left:{}});for(var t=["top","left"],i=0;i=0&&n[0]+ie(r)[0]=0&&n[1]+ie(r)[1]")[0].getContext)},init:function(){var t=this.defaults;e.each(t,function(e,i){switch(e){case"aspectRatio":t[e]=H(q(i))||s;break;case"autoCropArea":t[e]=H(q(i))||.8;break;case"minWidth":case"minHeight":t[e]=H(q(i))||0;break;case"maxWidth":case"maxHeight":t[e]=H(q(i))||l}}),this.image={rotate:0},this.load()},load:function(){var t,i,n=this,a=this.$element,o=this.element,s=this.image,l="";a.is("img")?i=a.prop("src"):a.is("canvas")&&this.support.canvas&&(i=o.toDataURL()),i&&(this.replaced&&(s.rotate=0),this.defaults.checkImageOrigin&&(a.prop("crossOrigin")||this.isCrossOriginURL(i))&&(l=" crossOrigin"),this.$clone=t=e("'),t.one("load",function(){s.naturalWidth=this.naturalWidth||t.width(),s.naturalHeight=this.naturalHeight||t.height(),s.aspectRatio=s.naturalWidth/s.naturalHeight,n.url=i,n.ready=r,n.build()}),t.addClass(v).prependTo("body"))},isCrossOriginURL:function(e){var t=e.match(/^(https?:)\/\/([^\:\/\?#]+):?(\d*)/i);return!t||t[1]===n.protocol&&t[2]===n.hostname&&t[3]===n.port?a:r},build:function(){var t,i,n=this.$element,o=this.defaults;this.ready&&(this.built&&this.unbuild(),n.one($,o.build),t=e.Event($),n.trigger(t),t.isDefaultPrevented()||(this.$cropper=i=e(I.TEMPLATE),n.addClass(g),this.$clone.removeClass(v).prependTo(i),this.rotated||(this.$original=this.$clone.clone(),this.$original.addClass(g).prependTo(this.$cropper),this.originalImage=e.extend({},this.image)),this.$container=n.parent(),this.$container.append(i),this.$canvas=i.find(".cropper-canvas"),this.$dragger=i.find(".cropper-dragger"),this.$viewer=i.find(".cropper-viewer"),o.autoCrop?this.cropped=r:this.$dragger.addClass(g),o.dragCrop&&this.setDragMode("crop"),o.modal&&this.$canvas.addClass(m),!o.dashed&&this.$dragger.find(".cropper-dashed").addClass(g),!o.movable&&this.$dragger.find(".cropper-face").data(c,"move"),!o.resizable&&this.$dragger.find(".cropper-line, .cropper-point").addClass(g),this.addListeners(),this.initPreview(),this.built=r,this.update(),this.replaced=a,n.one(D,o.built),n.trigger(D)))},unbuild:function(){this.built&&(this.built=a,this.removeListeners(),this.$preview.empty(),this.$preview=o,this.$dragger=o,this.$canvas=o,this.$container=o,this.$cropper.remove(),this.$cropper=o)},update:function(e){this.initContainer(),this.initCropper(),this.initImage(),this.initDragger(),e?(this.setData(e,r),this.setDragMode("crop")):this.setData(this.defaults.data)},resize:function(){clearTimeout(this.resizing),this.resizing=setTimeout(e.proxy(this.update,this,this.getData()),200)},preview:function(){var t=this.image,i=this.dragger,n=t.width,r=t.height,a=i.left-t.left,o=i.top-t.top;this.$viewer.find("img").css({width:n,height:r,marginLeft:-a,marginTop:-o}),this.$preview.each(function(){var t=e(this),s=t.width()/i.width;t.find("img").css({width:n*s,height:r*s,marginLeft:-a*s,marginTop:-o*s})})},addListeners:function(){var n=this.defaults;this.$element.on(Q,n.dragstart).on(T,n.dragmove).on(O,n.dragend),this.$cropper.on(_,e.proxy(this.dragstart,this)).on(k,e.proxy(this.dblclick,this)),n.zoomable&&this.$cropper.on(C,e.proxy(this.wheel,this)),n.multiple?this.$cropper.on(x,e.proxy(this.dragmove,this)).on(j,e.proxy(this.dragend,this)):i.on(x,this._dragmove=E(this.dragmove,this)).on(j,this._dragend=E(this.dragend,this)),t.on(S,this._resize=E(this.resize,this))},removeListeners:function(){var e=this.defaults;this.$element.off(Q,e.dragstart).off(T,e.dragmove).off(O,e.dragend),this.$cropper.off(_,this.dragstart).off(k,this.dblclick),e.zoomable&&this.$cropper.off(C,this.wheel),e.multiple?this.$cropper.off(x,this.dragmove).off(j,this.dragend):i.off(x,this._dragmove).off(j,this._dragend),t.off(S,this._resize)},initPreview:function(){var t='';this.$preview=e(this.defaults.preview),this.$viewer.html(t),this.$preview.html(t).find("img").css("cssText","min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;")},initContainer:function(){var e=this.$container;e!==o&&(this.container={width:R(e.width(),300),height:R(e.height(),150)})},initCropper:function(){var e,t=this.container,i=this.image;i.naturalWidth*t.height/i.naturalHeight-t.width>=0?(e={width:t.width,height:t.width/i.aspectRatio,left:0},e.top=(t.height-e.height)/2):(e={width:t.height*i.aspectRatio,height:t.height,top:0},e.left=(t.width-e.width)/2),this.$cropper.css({width:e.width,height:e.height,left:e.left,top:e.top}),this.cropper=e},initImage:function(){var t=this.image,i=this.cropper,n={_width:i.width,_height:i.height,width:i.width,height:i.height,left:0,top:0,ratio:i.width/t.naturalWidth};this.defaultImage=e.extend({},t,n),t._width!==i.width||t._height!==i.height?e.extend(t,n):(t=e.extend({},n,t),this.replaced&&(t.ratio=n.ratio)),this.image=t,this.renderImage()},renderImage:function(e){var t=this.image;"zoom"===e&&(t.left-=(t.width-t.oldWidth)/2,t.top-=(t.height-t.oldHeight)/2),t.left=L(R(t.left,t._width-t.width),0),t.top=L(R(t.top,t._height-t.height),0),this.$clone.css({width:t.width,height:t.height,marginLeft:t.left,marginTop:t.top}),e&&(this.defaults.done(this.getData()),this.preview())},initDragger:function(){var t,i=this.defaults,n=this.cropper,r=i.aspectRatio||this.image.aspectRatio,a=this.image.ratio;t=n.height*r-n.width>=0?{height:n.width/r,width:n.width,left:0,top:(n.height-n.width/r)/2,maxWidth:n.width,maxHeight:n.width/r}:{height:n.height,width:n.height*r,left:(n.width-n.height*r)/2,top:0,maxWidth:n.height*r,maxHeight:n.height},t.minWidth=0,t.minHeight=0,i.aspectRatio?(isFinite(i.maxWidth)?(t.maxWidth=L(t.maxWidth,i.maxWidth*a),t.maxHeight=t.maxWidth/r):isFinite(i.maxHeight)&&(t.maxHeight=L(t.maxHeight,i.maxHeight*a),t.maxWidth=t.maxHeight*r),i.minWidth>0?(t.minWidth=R(0,i.minWidth*a),t.minHeight=t.minWidth/r):i.minHeight>0&&(t.minHeight=R(0,i.minHeight*a),t.minWidth=t.minHeight*r)):(t.maxWidth=L(t.maxWidth,i.maxWidth*a),t.maxHeight=L(t.maxHeight,i.maxHeight*a),t.minWidth=R(0,i.minWidth*a),t.minHeight=R(0,i.minHeight*a)),t.minWidth=L(t.maxWidth,t.minWidth),t.minHeight=L(t.maxHeight,t.minHeight),t.height*=i.autoCropArea,t.width*=i.autoCropArea,t.left=(n.width-t.width)/2,t.top=(n.height-t.height)/2,t.oldLeft=t.left,t.oldTop=t.top,this.defaultDragger=t,this.dragger=e.extend({},t)},renderDragger:function(){var e=this.dragger,t=this.cropper;e.width>e.maxWidth?(e.width=e.maxWidth,e.left=e.oldLeft):e.widthe.maxHeight?(e.height=e.maxHeight,e.top=e.oldTop):e.height').one("load",function(){l.width=this.width,l.height=this.height,n.clearRect(0,0,l.width,l.height),n.drawImage(this,0,0),o.load()})))},setData:function(t,i){var n=this.cropper,r=this.dragger,a=this.image,s=this.defaults.aspectRatio;this.built&&typeof t!==u&&((t===o||e.isEmptyObject(t))&&(r=e.extend({},this.defaultDragger)),e.isPlainObject(t)&&!e.isEmptyObject(t)&&(i||(this.defaults.data=t),t=this.transformData(t),A(t.x)&&t.x<=n.width-a.left&&(r.left=t.x+a.left),A(t.y)&&t.y<=n.height-a.top&&(r.top=t.y+a.top),s?A(t.width)&&t.width<=r.maxWidth&&t.width>=r.minWidth?(r.width=t.width,r.height=r.width/s):A(t.height)&&t.height<=r.maxHeight&&t.height>=r.minHeight&&(r.height=t.height,r.width=r.height*s):(A(t.width)&&t.width<=r.maxWidth&&t.width>=r.minWidth&&(r.width=t.width),A(t.height)&&t.height<=r.maxHeight&&t.height>=r.minHeight&&(r.height=t.height))),this.dragger=r,this.renderDragger())},getData:function(e){var t=this.dragger,i=this.image,n={};return this.built&&(n={x:t.left-i.left,y:t.top-i.top,width:t.width,height:t.height},n=this.transformData(n,r,e)),n},transformData:function(t,i,n){var r=this.image.ratio,a={};return e.each(t,function(e,t){t=q(t),p.test(e)&&!isNaN(t)&&(a[e]=i?n?Math.round(t/r):t/r:t*r)}),a},setAspectRatio:function(e){var t="auto"===e;e=q(e),(t||!isNaN(e)&&e>0)&&(this.defaults.aspectRatio=t?s:e,this.built&&(this.initDragger(),this.renderDragger()))},getImageData:function(){var t={};return this.ready&&e.each(this.image,function(e,i){f.test(e)&&(t[e]=i)}),t},getDataURL:function(t,i,n){var r,a=e("")[0],o=this.getData(),s="";return e.isPlainObject(t)||(n=i,i=t,t={}),t=e.extend({width:o.width,height:o.height},t),this.cropped&&this.support.canvas&&(a.width=t.width,a.height=t.height,r=a.getContext("2d"),"image/jpeg"===i&&(r.fillStyle="#fff",r.fillRect(0,0,t.width,t.height)),r.drawImage(this.$clone[0],o.x,o.y,o.width,o.height,0,0,t.width,t.height),s=a.toDataURL(i,n)),s},setDragMode:function(e){var t=this.$canvas,i=this.defaults,n=a,o=a;if(this.built&&!this.disabled){switch(e){case"crop":i.dragCrop&&(n=r,t.data(c,e));break;case"move":o=r,t.data(c,e);break;default:t.removeData(c)}t.toggleClass(b,n).toggleClass(y,o)}},enable:function(){this.built&&(this.disabled=a,this.$cropper.removeClass(w))},disable:function(){this.built&&(this.disabled=r,this.$cropper.addClass(w))},rotate:function(e){var t=this.image;e=q(e)||0,this.built&&0!==e&&!this.disabled&&this.defaults.rotatable&&this.support.canvas&&(this.rotated=r,e=t.rotate=(t.rotate+e)%360,this.replace(this.getRotatedDataURL(e),!0))},getRotatedDataURL:function(t){var i=e("")[0],n=i.getContext("2d"),r=t*Math.PI/180,a=H(t)%180,o=a>90?180-a:a,s=o*Math.PI/180,l=this.originalImage,u=l.naturalWidth,c=l.naturalHeight,d=H(u*z(s)+c*B(s)),h=H(u*B(s)+c*z(s));return i.width=d,i.height=h,n.save(),n.translate(d/2,h/2),n.rotate(r),n.drawImage(this.$original[0],-u/2,-c/2,u,c),n.restore(),i.toDataURL()},zoom:function(e){var t,i,n,r=this.image;e=q(e),this.built&&e&&!this.disabled&&this.defaults.zoomable&&(t=r.width*(1+e),i=r.height*(1+e),n=t/r._width,n>10||(n<1&&(t=r._width,i=r._height),n<=1?this.setDragMode("crop"):this.setDragMode("move"),r.oldWidth=r.width,r.oldHeight=r.height,r.width=t,r.height=i,r.ratio=r.width/r.naturalWidth,this.renderImage("zoom")))},dblclick:function(){this.disabled||(this.$canvas.hasClass(b)?this.setDragMode("move"):this.setDragMode("crop"))},wheel:function(e){var t,i=e.originalEvent,n=117.25,r=5,a=166.66665649414062,o=.1;this.disabled||(e.preventDefault(),i.deltaY?(t=i.deltaY,t=t%r===0?t/r:t%n===0?t/n:t/a):t=i.wheelDelta?-i.wheelDelta/120:i.detail?i.detail/3:0,this.zoom(t*o))},dragstart:function(t){var i,n,o,s=t.originalEvent.touches,l=t;if(!this.disabled){if(s){if(o=s.length,o>1){if(!this.defaults.zoomable||2!==o)return;l=s[1],this.startX2=l.pageX,this.startY2=l.pageY,i="zoom"}l=s[0]}if(i=i||e(l.target).data(c),h.test(i)){if(t.preventDefault(),n=e.Event(Q),this.$element.trigger(n),n.isDefaultPrevented())return;this.directive=i,this.cropping=a,this.startX=l.pageX,this.startY=l.pageY,"crop"===i&&(this.cropping=r,this.$canvas.addClass(m))}}},dragmove:function(t){var i,n,r=t.originalEvent.touches,a=t;if(!this.disabled){if(r){if(n=r.length,n>1){if(!this.defaults.zoomable||2!==n)return;a=r[1],this.endX2=a.pageX,this.endY2=a.pageY}a=r[0]}if(this.directive){if(t.preventDefault(),i=e.Event(T),this.$element.trigger(i),i.isDefaultPrevented())return;this.endX=a.pageX,this.endY=a.pageY,this.dragging()}}},dragend:function(t){var i;if(!this.disabled&&this.directive){if(t.preventDefault(),i=e.Event(O),this.$element.trigger(i),i.isDefaultPrevented())return;this.cropping&&(this.cropping=a,this.$canvas.toggleClass(m,this.cropped&&this.defaults.modal)),this.directive=""}},dragging:function(){var e,t=this.directive,i=this.image,n=this.cropper,o=n.width,s=n.height,l=this.dragger,u=l.width,c=l.height,d=l.left,h=l.top,p=d+u,f=h+c,m=r,v=this.defaults,y=v.aspectRatio,b={x:this.endX-this.startX,y:this.endY-this.startY};switch(y&&(b.X=b.y*y,b.Y=b.x/y),t){case"all":d+=b.x,h+=b.y;break;case"e":if(b.x>=0&&(p>=o||y&&(h<=0||f>=s))){m=a;break}u+=b.x,y&&(c=u/y,h-=b.Y/2),u<0&&(t="w",u=0);break;case"n":if(b.y<=0&&(h<=0||y&&(d<=0||p>=o))){m=a;break}c-=b.y,h+=b.y,y&&(u=c*y,d+=b.X/2),c<0&&(t="s",c=0);break;case"w":if(b.x<=0&&(d<=0||y&&(h<=0||f>=s))){m=a;break}u-=b.x,d+=b.x,y&&(c=u/y,h+=b.Y/2),u<0&&(t="e",u=0);break;case"s":if(b.y>=0&&(f>=s||y&&(d<=0||p>=o))){m=a;break}c+=b.y,y&&(u=c*y,d-=b.X/2),c<0&&(t="n",c=0);break;case"ne":if(y){if(b.y<=0&&(h<=0||p>=o)){m=a;break}c-=b.y,h+=b.y,u=c*y}else b.x>=0?p0&&(c-=b.y,h+=b.y):(c-=b.y,h+=b.y);c<0&&(t="sw",c=0,u=0);break;case"nw":if(y){if(b.y<=0&&(h<=0||d<=0)){m=a;break}c-=b.y,h+=b.y,u=c*y,d+=b.X}else b.x<=0?d>0?(u-=b.x,d+=b.x):b.y<=0&&h<=0&&(m=a):(u-=b.x,d+=b.x),b.y<=0?h>0&&(c-=b.y,h+=b.y):(c-=b.y,h+=b.y);c<0&&(t="se",c=0,u=0);break;case"sw":if(y){if(b.x<=0&&(d<=0||f>=s)){m=a;break}u-=b.x,d+=b.x,c=u/y}else b.x<=0?d>0?(u-=b.x,d+=b.x):b.y>=0&&f>=s&&(m=a):(u-=b.x,d+=b.x),b.y>=0?f=0&&(p>=o||f>=s)){m=a;break}u+=b.x,c=u/y}else b.x>=0?p=0&&f>=s&&(m=a):u+=b.x,b.y>=0?f0?b.y>0?t="se":(t="ne",h-=c):b.y>0?(t="sw",d-=u):(t="nw",d-=u,h-=c),this.cropped||(this.cropped=r,this.$dragger.removeClass(g)))}m&&(l.width=u,l.height=c,l.left=d,l.top=h,this.directive=t,this.renderDragger()),this.startX=this.endX,this.startY=this.endY}},I.TEMPLATE=function(e,t){return t=t.split(","),e.replace(/\d+/g,function(e){return t[e]})}('<0 6="5-container"><0 6="5-canvas"><0 6="5-dragger"><1 6="5-viewer"><1 6="5-8 8-h"><1 6="5-8 8-v"><1 6="5-face" 3-2="all"><1 6="5-7 7-e" 3-2="e"><1 6="5-7 7-n" 3-2="n"><1 6="5-7 7-w" 3-2="w"><1 6="5-7 7-s" 3-2="s"><1 6="5-4 4-e" 3-2="e"><1 6="5-4 4-n" 3-2="n"><1 6="5-4 4-w" 3-2="w"><1 6="5-4 4-s" 3-2="s"><1 6="5-4 4-ne" 3-2="ne"><1 6="5-4 4-nw" 3-2="nw"><1 6="5-4 4-sw" 3-2="sw"><1 6="5-4 4-se" 3-2="se">',"div,span,directive,data,point,cropper,class,line,dashed"),I.DEFAULTS={aspectRatio:"auto",autoCropArea:.8,data:{},done:e.noop,preview:"",multiple:a,autoCrop:r,dragCrop:r,dashed:r,modal:r,movable:r,resizable:r,zoomable:r,rotatable:r,checkImageOrigin:r,minWidth:0,minHeight:0,maxWidth:l,maxHeight:l,build:o,built:o,dragstart:o,dragmove:o,dragend:o},I.setDefaults=function(t){e.extend(I.DEFAULTS,t)},I.other=e.fn.cropper,e.fn.cropper=function(t){var i,n=M(arguments,1);return this.each(function(){var r,a=e(this),o=a.data("cropper");o||a.data("cropper",o=new I(this,t)),"string"==typeof t&&e.isFunction(r=o[t])&&(i=r.apply(o,n))}),typeof i!==u?i:this},e.fn.cropper.Constructor=I,e.fn.cropper.setDefaults=I.setDefaults,e.fn.cropper.noConflict=function(){return e.fn.cropper=I.other,this}}),function(e){function t(e,t){return"function"==typeof e?e.call(t):e}function i(e){for(;e=e.parentNode;)if(e==document)return!0;return!1}function n(t,i){this.$element=e(t),this.options=i,this.enabled=!0,this.fixTitle()}n.prototype={show:function(){var i=this.getTitle();if(i&&this.enabled){var n=this.tip();n.find(".tipsy-inner")[this.options.html?"html":"text"](i),n[0].className="tipsy",n.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).prependTo(document.body);var r,a=e.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight}),o=n[0].offsetWidth,s=n[0].offsetHeight,l=t(this.options.gravity,this.$element[0]);switch(l.charAt(0)){case"n":r={top:a.top+a.height+this.options.offset,left:a.left+a.width/2-o/2};break;case"s":r={top:a.top-s-this.options.offset,left:a.left+a.width/2-o/2};break;case"e":r={top:a.top+a.height/2-s/2,left:a.left-o-this.options.offset};break;case"w":extra_gap=0,e("body").css("position").length>0&&"relative"==e("body").css("position")&&e("#wpadminbar").length&&(extra_gap=e("#wpadminbar").height()),r={top:a.top+a.height/2-s/2-extra_gap,left:a.left+a.width+this.options.offset}}2==l.length&&("w"==l.charAt(1)?r.left=a.left+a.width/2-15:r.left=a.left+a.width/2-o+15),n.css(r).addClass("tipsy-"+l),n.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+l.charAt(0),this.options.className&&n.addClass(t(this.options.className,this.$element[0])),this.options.fade?n.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:this.options.opacity}):n.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?this.tip().stop().fadeOut(function(){e(this).remove()}):this.tip().remove()},fixTitle:function(){var e=this.$element;(e.attr("title")||"string"!=typeof e.attr("original-title"))&&e.attr("original-title",e.attr("title")||"").removeAttr("title")},getTitle:function(){var e,t=this.$element,i=this.options;this.fixTitle();var e,i=this.options;return"string"==typeof i.title?e=t.attr("title"==i.title?"original-title":i.title):"function"==typeof i.title&&(e=i.title.call(t[0])),e=(""+e).replace(/(^\s*|\s*$)/,""),e||i.fallback},tip:function(){return this.$tip||(this.$tip=e('
    ').html('
    '),this.$tip.data("tipsy-pointee",this.$element[0])),this.$tip},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}},e.fn.tipsy=function(t){function i(i){var r=e.data(i,"tipsy");return r||(r=new n(i,e.fn.tipsy.elementOptions(i,t)),e.data(i,"tipsy",r)),r}function r(){var e=i(this);e.hoverState="in",0==t.delayIn?e.show():(e.fixTitle(),setTimeout(function(){"in"==e.hoverState&&e.show()},t.delayIn))}function a(){var e=i(this);e.hoverState="out",0==t.delayOut?e.hide():setTimeout(function(){"out"==e.hoverState&&e.hide()},t.delayOut)}if(t===!0)return this.data("tipsy");if("string"==typeof t){var o=this.data("tipsy");return o&&o[t](),this}if(t=e.extend({},e.fn.tipsy.defaults,t),t.live||this.each(function(){i(this)}),"manual"!=t.trigger){var s="hover"==t.trigger?"mouseenter":"focus",l="hover"==t.trigger?"mouseleave":"blur";t.live?e(document).on(s,this.selector,r).on(l,this.selector,a):this.bind(s,r).bind(l,a)}return this},e.fn.tipsy.defaults={className:null,delayIn:0,delayOut:0,fade:!1,fallback:"",gravity:"n",html:!1,live:!1,offset:0,opacity:.8,title:"title",trigger:"hover"},e.fn.tipsy.revalidate=function(){e(".tipsy").each(function(){var t=e.data(this,"tipsy-pointee");t&&i(t)||e(this).remove()})},e.fn.tipsy.elementOptions=function(t,i){return e.metadata?e.extend({},i,e(t).metadata()):i},e.fn.tipsy.autoNS=function(){return e(this).offset().top>e(document).scrollTop()+e(window).height()/2?"s":"n"},e.fn.tipsy.autoWE=function(){return e(this).offset().left>e(document).scrollLeft()+e(window).width()/2?"e":"w"},e.fn.tipsy.autoBounds=function(t,i){return function(){var n={ns:i[0],ew:i.length>1&&i[1]},r=e(document).scrollTop()+t,a=e(document).scrollLeft()+t,o=e(this);return o.offset().topparseInt(u)?(n(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.hide(),e[o.child]={act:"hide",op:c})),"less than"==c&&(jQuery.isNumeric(u)&&parseInt(f)=0?(n(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.hide(),e[o.child]={act:"hide",op:c}))),"hide"==l&&"undefined"!=typeof u&&("empty"==c&&(f&&""!=f?e[o.child]={act:"show",op:c}:(r(m,s,c,p,i),e[o.child]={act:l,op:c})),"not empty"==c&&(f&&""!=f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):e[o.child]={act:"show",op:c}),"equals to"==c&&(u==f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):e[o.child]={act:"show",op:c}),"not equals"==c&&(jQuery.isNumeric(u)&&parseInt(f)!=parseInt(u)&&f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):jQuery.isNumeric(u)||u==f?(g.show(),e[o.child]={act:"show",op:c}):(r(m,s,c,p,i),e[o.child]={act:l,op:c})),"greater than"==c&&(jQuery.isNumeric(u)&&parseInt(f)>parseInt(u)?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.show(),e[o.child]={act:"show",op:c})),"less than"==c&&(jQuery.isNumeric(u)&&parseInt(f)=0?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):e[o.child]={act:"show",op:c}));var v=e[o.child];"child"==l&&"undefined"!=typeof v&&("hide"==v.act?jQuery('.um-field[data-key="'+i+'"]').hide():"show"==v.act&&jQuery('.um-field[data-key="'+i+'"]').show())})})}function n(e,t,i,n,r){e=e.parents(".um-field"),e.is(":hidden")&&(t?e.fadeIn(1):e.show())}function r(e,t,i,n,r){e=e.parents(".um-field"),e.is(":visible")&&(t?e.fadeOut(1):e.hide())}function a(e){return s=e.parents(".um-field").data("key"),l=e.val(),e.is(":checkbox")&&(e.parents(".um-field").find("input:checked").length>1?(l="",e.parents(".um-field").find("input:checked").each(function(){l=l+jQuery(this).val()+" "})):l=e.parents(".um-field").find("input:checked").val()),e.is(":radio")&&(l=e.parents(".um-field").find("input[type=radio]:checked").val()),{key:s,value:l}}function o(){var e=u;0==h&&jQuery.each(e,function(t,i){var n=[],r=[];jQuery.each(e,function(e,i){for(var a=0;a<=i.length;a++)"undefined"!=typeof i[a]&&t==i[a].field&&(n.push(i[a]),r.push(i[a].child))}),c[t]=n})}var s,l,u={},c={},d=[],h=!1,p=!1;jQuery(document).on("input change",".um-field input[type=text]",function(){p&&e()}),jQuery(document).on("change",".um-field select, .um-field input[type=radio], .um-field input[type=checkbox]",function(){p&&e()}),e(),p=!0}),jQuery(document).ready(function(){function e(e,i,n,r){var a=e.data("um-parent");e.attr("name"),jQuery('select[name="'+a+'"]');e.find('option[value!=""]').remove(),e.hasClass("um-child-option-disabled")||e.removeAttr("disabled");var r=[];jQuery.each(i.items,function(e,t){r.push({id:e,text:t})}),e.select2("destroy"),e.select2({data:r,allowClear:!0,minimumResultsForSearch:10}),"undefined"==typeof i.field.default||e.data("um-original-value")?""!=e.data("um-original-value")&&e.val(e.data("um-original-value")).trigger("change"):e.val(i.field.default).trigger("change"), +0==i.field.editable&&(e.addClass("um-child-option-disabled"),e.attr("disabled","disabled")),t[n]=i}jQuery(document).on("click",".um-dropdown a",function(e){return!1}),jQuery(document).on("click",".um-dropdown a.real_url",function(e){window.location=jQuery(this).attr("href")}),jQuery(document).on("click",".um-trigger-menu-on-click",function(e){return jQuery(".um-dropdown").hide(),menu=jQuery(this).find(".um-dropdown"),menu.show(),!1}),jQuery(document).on("click",".um-dropdown-hide",function(e){UM_hide_menus()}),jQuery(document).on("click","a.um-manual-trigger",function(){var e=jQuery(this).attr("data-child"),t=jQuery(this).attr("data-parent");jQuery(this).parents(t).find(e).trigger("click")}),jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}),jQuery(document).on("change",".um-field-area input[type=radio]",function(){var e=jQuery(this).parents(".um-field-area"),t=jQuery(this).parents("label");e.find(".um-field-radio").removeClass("active"),e.find(".um-field-radio").find("i").removeClass().addClass("um-icon-android-radio-button-off"),t.addClass("active"),t.find("i").removeClass().addClass("um-icon-android-radio-button-on")}),jQuery(document).on("change",".um-field-area input[type=checkbox]",function(){var e=(jQuery(this).parents(".um-field-area"),jQuery(this).parents("label"));e.hasClass("active")?(e.removeClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline-blank")):(e.addClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline"))}),jQuery(".um-datepicker").each(function(){if(elem=jQuery(this),""!=elem.attr("data-disabled_weekdays"))var e=JSON.parse(elem.attr("data-disabled_weekdays"));else var e=!1;var t=elem.attr("data-years"),i=elem.attr("data-date_min"),n=elem.attr("data-date_max"),r=i.split(","),a=n.split(","),o=r.length?new Date(r):null,s=r.length?new Date(a):null;if(o&&"Invalid Date"==o.toString()&&3==r.length){var l=r[1]+"/"+r[2]+"/"+r[0];o=new Date(Date.parse(l))}if(s&&"Invalid Date"==s.toString()&&3==a.length){var u=a[1]+"/"+a[2]+"/"+a[0];s=new Date(Date.parse(u))}elem.pickadate({selectYears:t,min:o,max:s,disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-timepicker").each(function(){elem=jQuery(this),elem.pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-rating").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,click:function(e,t){live_field=this.id,live_value=e,um_conditional()}}),jQuery(".um-rating-readonly").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,readOnly:!0}),jQuery(document).on("click",".um .um-single-image-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-image-preview img").attr("src");return t.find(".um-single-image-preview img").attr("src",""),t.find(".um-single-image-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val(""),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(document).on("click",".um .um-single-file-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-fileinfo a").attr("href");return t.find(".um-single-file-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val(""),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(".um-s1,.um-s2").css({display:"block"}),jQuery(".um-s1").select2({allowClear:!0}),jQuery(".um-s2").select2({allowClear:!1,minimumResultsForSearch:10}),jQuery(document).on("click",".um-field-group-head:not(.disabled)",function(){var e=jQuery(this).parents(".um-field-group"),t=e.data("max_entries");e.find(".um-field-group-body").is(":hidden")?e.find(".um-field-group-body").show():e.find(".um-field-group-body:first").clone().appendTo(e),increase_id=0,e.find(".um-field-group-body").each(function(){increase_id++,jQuery(this).find("input").each(function(){var e=jQuery(this);e.attr("id",e.data("key")+"-"+increase_id),e.attr("name",e.data("key")+"-"+increase_id),e.parent().parent().find("label").attr("for",e.data("key")+"-"+increase_id)})}),t>0&&e.find(".um-field-group-body").length==t&&jQuery(this).addClass("disabled")}),jQuery(document).on("click",".um-field-group-cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field-group"),i=t.data("max_entries");return t.find(".um-field-group-body").length>1?jQuery(this).parents(".um-field-group-body").remove():jQuery(this).parents(".um-field-group-body").hide(),i>0&&t.find(".um-field-group-body").length'),jQuery(".um-dropdown").hide(),um_responsive(),user_id=jQuery(this).attr("data-user_id"),metakey="cover_photo",jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_delete_cover_photo",metakey:metakey,user_id:user_id}})}),e(),jQuery("textarea[id=um-meta-bio]").change(e),jQuery("textarea[id=um-meta-bio]").keyup(e),jQuery(".um-profile-edit a.um_delete-item").click(function(e){e.preventDefault();var t=confirm("Are you sure that you want to delete this user?");if(!t)return!1})}),jQuery(document).ready(function(){var e=jQuery(".um-account-main").attr("data-current_tab");e&&jQuery(".um-account-tab[data-tab="+e+"]").show(),jQuery(document).on("click",".um-account-side li a",function(e){e.preventDefault();var t=jQuery(this);t.parents("ul").find("li a").removeClass("current"),t.addClass("current");var i=jQuery(this).attr("href"),n=jQuery(this).attr("data-tab");return jQuery("input[id=_um_account_tab]:hidden").val(n),window.history.pushState("","",i),jQuery(".um-account-tab").hide(),jQuery(".um-account-tab[data-tab="+n+"]").fadeIn(),jQuery(".um-account-nav a").removeClass("current"),jQuery(".um-account-nav a[data-tab="+n+"]").addClass("current"),!1})}),jQuery(document).on("click",".um-account-nav a",function(e){e.preventDefault();var t=jQuery(this).attr("data-tab"),i=jQuery(this).parents("div"),n=jQuery(this);return jQuery("input[id=_um_account_tab]:hidden").val(t),jQuery(".um-account-tab").hide(),n.hasClass("current")?(i.next(".um-account-tab").slideUp(),n.removeClass("current")):(i.next(".um-account-tab").slideDown(),n.parents("div").find("a").removeClass("current"),n.addClass("current")),jQuery(".um-account-side li a").removeClass("current"),jQuery(".um-account-side li a[data-tab="+t+"]").addClass("current"),!1}); \ No newline at end of file From 067b51ed01cf6fc7213a0ddd27d3b8a4ba0b361f Mon Sep 17 00:00:00 2001 From: Abdus Fauzi Date: Sat, 10 Jun 2017 10:11:41 +0800 Subject: [PATCH 18/28] Fix error missing wp-load.php Fixing bug which require missing wp-load.php See ultimatemember#7 --- core/lib/upload/um-file-upload.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/core/lib/upload/um-file-upload.php b/core/lib/upload/um-file-upload.php index 27eb7c28..e375a804 100644 --- a/core/lib/upload/um-file-upload.php +++ b/core/lib/upload/um-file-upload.php @@ -1,12 +1,24 @@ $value ) { + $wp_load = "{$value}/wp-load.php"; + if ( file_exists( $wp_load ) ) { + break; + } + } +} + require_once( $wp_load ); global $ultimatemember; From d8072d5980ce5036cff9195db1ffe8788172c8c0 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Mon, 12 Jun 2017 21:45:39 +0800 Subject: [PATCH 19/28] Update ReadMe --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 59dc78dd..dd3f96ba 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ GNU Version 2 or Any Later Version Releases ==================== -[Pre-Release Version: 1.3.85.12](https://github.com/ultimatemember/ultimatemember/releases). +[Pre-Release Version: 1.3.85.16](https://github.com/ultimatemember/ultimatemember/releases). [Official Release Version: 1.3.83](https://github.com/ultimatemember/ultimatemember/releases). From e29d31d13fee8162536c9302b151709d6ca3aed5 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Wed, 14 Jun 2017 16:03:11 +0800 Subject: [PATCH 20/28] Fix file clean up with image/file fields on profile update --- assets/js/um-scripts.js | 4 ++-- assets/js/um.min.js | 2 +- core/um-actions-profile.php | 30 +++++++++++++++++++++++++++++- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/assets/js/um-scripts.js b/assets/js/um-scripts.js index b1509eab..b413e0bb 100644 --- a/assets/js/um-scripts.js +++ b/assets/js/um-scripts.js @@ -144,7 +144,7 @@ jQuery(document).ready(function() { parent.find('.um-single-image-preview img').attr('src',''); parent.find('.um-single-image-preview').hide(); parent.find('.um-btn-auto-width').html('Upload'); - parent.find('input[type=hidden]').val(''); + parent.find('input[type=hidden]').val('empty_file'); jQuery.ajax({ url: um_scripts.ajaxurl, @@ -164,7 +164,7 @@ jQuery(document).ready(function() { var src = jQuery(this).parents('.um-field').find('.um-single-fileinfo a').attr('href'); parent.find('.um-single-file-preview').hide(); parent.find('.um-btn-auto-width').html('Upload'); - parent.find('input[type=hidden]').val(''); + parent.find('input[type=hidden]').val('empty_file'); jQuery.ajax({ url: um_scripts.ajaxurl, diff --git a/assets/js/um.min.js b/assets/js/um.min.js index b5a15fa5..b25f7342 100644 --- a/assets/js/um.min.js +++ b/assets/js/um.min.js @@ -5,4 +5,4 @@ a="error",y.error=i=e||a}y.aborted&&(n("upload aborted"),a=null),y.status&&(a=y. i.item.enable===-1?!n:n||e.picki.item.max.pick},i.prototype.parse=function(e,t,i){var n=this,r={};return t&&"string"==typeof t?(i&&i.format||(i=i||{},i.format=n.settings.format),n.formats.toArray(i.format).map(function(e){var i=n.formats[e],o=i?a.trigger(i,n,[t,r]):e.replace(/^!/,"").length;i&&(r[e]=t.substr(0,o)),t=t.substr(o)}),[r.yyyy||r.yy,+(r.mm||r.m)-1,r.dd||r.d]):t},i.prototype.formats=function(){function e(e,t,i){var n=e.match(/[^\x00-\x7F]+|\w+/)[0];return i.mm||i.m||(i.m=t.indexOf(n)+1),n.length}function t(e){return e.match(/\w+/)[0].length}return{d:function(e,t){return e?a.digits(e):t.date},dd:function(e,t){return e?2:a.lead(t.date)},ddd:function(e,i){return e?t(e):this.settings.weekdaysShort[i.day]},dddd:function(e,i){return e?t(e):this.settings.weekdaysFull[i.day]},m:function(e,t){return e?a.digits(e):t.month+1},mm:function(e,t){return e?2:a.lead(t.month+1)},mmm:function(t,i){var n=this.settings.monthsShort;return t?e(t,n,i):n[i.month]},mmmm:function(t,i){var n=this.settings.monthsFull;return t?e(t,n,i):n[i.month]},yy:function(e,t){return e?2:(""+t.year).slice(2)},yyyy:function(e,t){return e?4:t.year},toArray:function(e){return e.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)},toString:function(e,t){var i=this;return i.formats.toArray(e).map(function(e){return a.trigger(i.formats[e],i,[0,t])||e.replace(/^!/,"")}).join("")}}}(),i.prototype.isDateExact=function(e,i){var n=this;return a.isInteger(e)&&a.isInteger(i)||"boolean"==typeof e&&"boolean"==typeof i?e===i:(a.isDate(e)||t.isArray(e))&&(a.isDate(i)||t.isArray(i))?n.create(e).pick===n.create(i).pick:!(!t.isPlainObject(e)||!t.isPlainObject(i))&&(n.isDateExact(e.from,i.from)&&n.isDateExact(e.to,i.to))},i.prototype.isDateOverlap=function(e,i){var n=this,r=n.settings.firstDay?1:0;return a.isInteger(e)&&(a.isDate(i)||t.isArray(i))?(e=e%7+r,e===n.create(i).day+1):a.isInteger(i)&&(a.isDate(e)||t.isArray(e))?(i=i%7+r,i===n.create(e).day+1):!(!t.isPlainObject(e)||!t.isPlainObject(i))&&n.overlapRanges(e,i)},i.prototype.flipEnable=function(e){var t=this.item;t.enable=e||(t.enable==-1?1:-1)},i.prototype.deactivate=function(e,i){var n=this,r=n.item.disable.slice(0);return"flip"==i?n.flipEnable():i===!1?(n.flipEnable(1),r=[]):i===!0?(n.flipEnable(-1),r=[]):i.map(function(e){for(var i,o=0;o=p.year&&c.month>=p.month||!e&&c.year<=h.year&&c.month<=h.month?" "+i.klass.navDisabled:""),"data-nav="+(e||-1)+" "+a.ariaAttr({role:"button",controls:t.$node[0].id+"_table"})+' title="'+(e?i.labelMonthNext:i.labelMonthPrev)+'"')},g=function(){var n=i.showMonthsShort?i.monthsShort:i.monthsFull;return i.selectMonths?a.node("select",a.group({min:0,max:11,i:1,node:"option",item:function(e){return[n[e],0,"value="+e+(c.month==e?" selected":"")+(c.year==h.year&&ep.month?" disabled":"")]}}),i.klass.selectMonth,(e?"":"disabled")+" "+a.ariaAttr({controls:t.$node[0].id+"_table"})+' title="'+i.labelMonthSelect+'"'):a.node("div",n[c.month],i.klass.month)},v=function(){var n=c.year,r=i.selectYears===!0?5:~~(i.selectYears/2);if(r){var o=h.year,s=p.year,l=n-r,u=n+r;if(o>l&&(u+=o-l,l=o),sf?f:d,u=s}return a.node("select",a.group({min:l,max:u,i:1,node:"option",item:function(e){return[e,0,"value="+e+(n==e?" selected":"")]}}),i.klass.selectYear,(e?"":"disabled")+" "+a.ariaAttr({controls:t.$node[0].id+"_table"})+' title="'+i.labelYearSelect+'"')}return a.node("div",n,i.klass.year)};return a.node("div",(i.selectYears?v()+g():g()+v())+m()+m(1),i.klass.header)+a.node("table",f+a.node("tbody",a.group({min:0,max:r-1,i:1,node:"tr",item:function(e){var r=i.firstDay&&0===t.create([c.year,c.month,1]).day?-7:0;return[a.group({min:n*e-c.day+r+1,max:function(){return this.min+n-1},i:1,node:"td",item:function(e){e=t.create([c.year,c.month,e+(i.firstDay?1:0)]);var n=l&&l.pick==e.pick,r=u&&u.pick==e.pick,o=d&&t.disabled(e)||e.pickp.pick,f=a.trigger(t.formats.toString,t,[i.format,e]);return[a.node("div",e.date,function(t){return t.push(c.month==e.month?i.klass.infocus:i.klass.outfocus),s.pick==e.pick&&t.push(i.klass.now),n&&t.push(i.klass.selected),r&&t.push(i.klass.highlighted),o&&t.push(i.klass.disabled),t.join(" ")}([i.klass.day]),"data-pick="+e.pick+" "+a.ariaAttr({role:"gridcell",label:f,selected:!(!n||t.$node.val()!==f)||null,activedescendant:!!r||null,disabled:!!o||null})),"",a.ariaAttr({role:"presentation"})]}})]}})),i.klass.table,'id="'+t.$node[0].id+'_table" '+a.ariaAttr({role:"grid",controls:t.$node[0].id,readonly:!0}))+a.node("div",a.node("button",i.today,i.klass.buttonToday,"type=button data-pick="+s.pick+(e&&!t.disabled(s)?"":" disabled")+" "+a.ariaAttr({controls:t.$node[0].id}))+a.node("button",i.clear,i.klass.buttonClear,"type=button data-clear=1"+(e?"":" disabled")+" "+a.ariaAttr({controls:t.$node[0].id}))+a.node("button",i.close,i.klass.buttonClose,"type=button data-close=true "+(e?"":" disabled")+" "+a.ariaAttr({controls:t.$node[0].id})),i.klass.footer)},i.defaults=function(e){return{labelMonthNext:"Next month",labelMonthPrev:"Previous month",labelMonthSelect:"Select a month",labelYearSelect:"Select a year",monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],today:"Today",clear:"Clear",close:"Close",closeOnSelect:!0,closeOnClear:!0,format:"d mmmm, yyyy",klass:{table:e+"table",header:e+"header",navPrev:e+"nav--prev",navNext:e+"nav--next",navDisabled:e+"nav--disabled",month:e+"month",year:e+"year",selectMonth:e+"select--month",selectYear:e+"select--year",weekdays:e+"weekday",day:e+"day",disabled:e+"day--disabled",selected:e+"day--selected",highlighted:e+"day--highlighted",now:e+"day--today",infocus:e+"day--infocus",outfocus:e+"day--outfocus",footer:e+"footer",buttonClear:e+"button--clear",buttonToday:e+"button--today",buttonClose:e+"button--close"}}}(e.klasses().picker+"__"),e.extend("pickadate",i)}),function(e){"function"==typeof define&&define.amd?define(["picker","jquery"],e):"object"==typeof exports?module.exports=e(require("./picker.js"),require("jquery")):e(Picker,jQuery)}(function(e,t){function i(e,t){var i=this,n=e.$node[0].value,r=e.$node.data("value"),a=r||n,o=r?t.formatSubmit:t.format;i.settings=t,i.$node=e.$node,i.queue={interval:"i",min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse create validate",view:"parse create validate",disable:"deactivate",enable:"activate"},i.item={},i.item.clear=null,i.item.interval=t.interval||30,i.item.disable=(t.disable||[]).slice(0),i.item.enable=-function(e){return e[0]===!0?e.shift():-1}(i.item.disable),i.set("min",t.min).set("max",t.max).set("now"),a?i.set("select",a,{format:o}):i.set("select",null).set("highlight",i.item.now),i.key={40:1,38:-1,39:1,37:-1,go:function(e){i.set("highlight",i.item.highlight.pick+e*i.item.interval,{interval:e*i.item.interval}),this.render()}},e.on("render",function(){var i=e.$root.children(),n=i.find("."+t.klass.viewset),r=function(e){return["webkit","moz","ms","o",""].map(function(t){return(t?"-"+t+"-":"")+e})},a=function(e,t){r("transform").map(function(i){e.css(i,t)}),r("transition").map(function(i){e.css(i,t)})};n.length&&(a(i,"none"),i[0].scrollTop=~~n.position().top-2*n[0].clientHeight,a(i,""))},1).on("open",function(){e.$root.find("button").attr("disabled",!1)},1).on("close",function(){e.$root.find("button").attr("disabled",!0)},1)}var n=24,r=60,a=12,o=n*r,s=e._;i.prototype.set=function(e,t,i){var n=this,r=n.item;return null===t?("clear"==e&&(e="select"),r[e]=t,n):(r["enable"==e?"disable":"flip"==e?"enable":e]=n.queue[e].split(" ").map(function(r){return t=n[r](e,t,i)}).pop(),"select"==e?n.set("highlight",r.select,i):"highlight"==e?n.set("view",r.highlight,i):"interval"==e?n.set("min",r.min,i).set("max",r.max,i):e.match(/^(flip|min|max|disable|enable)$/)&&(r.select&&n.disabled(r.select)&&n.set("select",t,i),r.highlight&&n.disabled(r.highlight)&&n.set("highlight",t,i),"min"==e&&n.set("max",r.max,i)),n)},i.prototype.get=function(e){return this.item[e]},i.prototype.create=function(e,i,a){var l=this;return i=void 0===i?e:i,s.isDate(i)&&(i=[i.getHours(),i.getMinutes()]),t.isPlainObject(i)&&s.isInteger(i.pick)?i=i.pick:t.isArray(i)?i=+i[0]*r+ +i[1]:s.isInteger(i)||(i=l.now(e,i,a)),"max"==e&&i=e.from.pick&&t.pick<=e.to.pick},i.prototype.overlapRanges=function(e,t){var i=this;return e=i.createRange(e.from,e.to),t=i.createRange(t.from,t.to),i.withinRange(e,t.from)||i.withinRange(e,t.to)||i.withinRange(t,e.from)||i.withinRange(t,e.to)},i.prototype.now=function(e,t){var i,n=this.item.interval,a=new Date,o=a.getHours()*r+a.getMinutes(),l=s.isInteger(t);return o-=o%n,i=t<0&&n*t+o<=-n,o+="min"==e&&i?0:n,l&&(o+=n*(i&&"max"!=e?t+1:t)),o},i.prototype.normalize=function(e,t){var i=this.item.interval,n=this.item.min&&this.item.min.pick||0;return t-="min"==e?0:(t-n)%i},i.prototype.measure=function(e,i,a){var o=this;return i||(i="min"==e?[0,0]:[n-1,r-1]),"string"==typeof i?i=o.parse(e,i):i===!0||s.isInteger(i)?i=o.now(e,i,a):t.isPlainObject(i)&&s.isInteger(i.pick)&&(i=o.normalize(e,i.pick,a)),i},i.prototype.validate=function(e,t,i){var n=this,r=i&&i.interval?i.interval:n.item.interval;return n.disabled(t)&&(t=n.shift(t,r)),t=n.scope(t),n.disabled(t)&&(t=n.shift(t,r*-1)),t},i.prototype.disabled=function(e){var i=this,n=i.item.disable.filter(function(n){return s.isInteger(n)?e.hour==n:t.isArray(n)||s.isDate(n)?e.pick==i.create(n).pick:t.isPlainObject(n)?i.withinRange(n,e):void 0});return n=n.length&&!n.filter(function(e){return t.isArray(e)&&"inverted"==e[2]||t.isPlainObject(e)&&e.inverted}).length,i.item.enable===-1?!n:n||e.picki.item.max.pick},i.prototype.shift=function(e,t){var i=this,n=i.item.min.pick,r=i.item.max.pick;for(t=t||i.item.interval;i.disabled(e)&&(e=i.create(e.pick+=t),!(e.pick<=n||e.pick>=r)););return e},i.prototype.scope=function(e){var t=this.item.min.pick,i=this.item.max.pick;return this.create(e.pick>i?i:e.pickt.time%o?"a.m.":"p.m."},A:function(e,t){return e?2:o/2>t.time%o?"AM":"PM"},toArray:function(e){return e.split(/(h{1,2}|H{1,2}|i|a|A|!.)/g)},toString:function(e,t){var i=this;return i.formats.toArray(e).map(function(e){return s.trigger(i.formats[e],i,[0,t])||e.replace(/^!/,"")}).join("")}},i.prototype.isTimeExact=function(e,i){var n=this;return s.isInteger(e)&&s.isInteger(i)||"boolean"==typeof e&&"boolean"==typeof i?e===i:(s.isDate(e)||t.isArray(e))&&(s.isDate(i)||t.isArray(i))?n.create(e).pick===n.create(i).pick:!(!t.isPlainObject(e)||!t.isPlainObject(i))&&(n.isTimeExact(e.from,i.from)&&n.isTimeExact(e.to,i.to))},i.prototype.isTimeOverlap=function(e,i){var n=this;return s.isInteger(e)&&(s.isDate(i)||t.isArray(i))?e===n.create(i).hour:s.isInteger(i)&&(s.isDate(e)||t.isArray(e))?i===n.create(e).hour:!(!t.isPlainObject(e)||!t.isPlainObject(i))&&n.overlapRanges(e,i)},i.prototype.flipEnable=function(e){var t=this.item;t.enable=e||(t.enable==-1?1:-1)},i.prototype.deactivate=function(e,i){var n=this,r=n.item.disable.slice(0);return"flip"==i?n.flipEnable():i===!1?(n.flipEnable(1),r=[]):i===!0?(n.flipEnable(-1),r=[]):i.map(function(e){for(var i,a=0;a0?t:this.item.interval},i.prototype.nodes=function(e){var t=this,i=t.settings,n=t.item.select,r=t.item.highlight,a=t.item.view,o=t.item.disable;return s.node("ul",s.group({min:t.item.min.pick,max:t.item.max.pick,i:t.item.interval,node:"li",item:function(e){e=t.create(e);var l=e.pick,u=n&&n.pick==l,c=r&&r.pick==l,d=o&&t.disabled(e),h=s.trigger(t.formats.toString,t,[i.format,e]);return[s.trigger(t.formats.toString,t,[s.trigger(i.formatLabel,t,[e])||i.format,e]),function(e){return u&&e.push(i.klass.selected),c&&e.push(i.klass.highlighted),a&&a.pick==l&&e.push(i.klass.viewset),d&&e.push(i.klass.disabled),e.join(" ")}([i.klass.listItem]),"data-pick="+e.pick+" "+s.ariaAttr({role:"option",label:h,selected:!(!u||t.$node.val()!==h)||null,activedescendant:!!c||null,disabled:!!d||null})]}})+s.node("li",s.node("button",i.clear,i.klass.buttonClear,"type=button data-clear=1"+(e?"":" disabled")+" "+s.ariaAttr({controls:t.$node[0].id})),"",s.ariaAttr({role:"presentation"})),i.klass.list,s.ariaAttr({role:"listbox",controls:t.$node[0].id}))},i.defaults=function(e){return{clear:"Clear",format:"h:i A",interval:30,closeOnSelect:!0,closeOnClear:!0,klass:{picker:e+" "+e+"--time",holder:e+"__holder",list:e+"__list",listItem:e+"__list-item",disabled:e+"__list-item--disabled",selected:e+"__list-item--selected",highlighted:e+"__list-item--highlighted",viewset:e+"__list-item--viewset",now:e+"__list-item--now",buttonClear:e+"__button--clear"}}}(e.klasses().picker),e.extend("pickatime",i)}),[].map||(Array.prototype.map=function(e,t){for(var i=this,n=i.length,r=new Array(n),a=0;a>>0;if("function"!=typeof e)throw new TypeError;for(var n=[],r=arguments[1],a=0;a>>0;if(0===i)return-1;var n=0;if(arguments.length>1&&(n=Number(arguments[1]),n!=n?n=0:0!==n&&n!=1/0&&n!=-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),n>=i)return-1;for(var r=n>=0?n:Math.max(i-Math.abs(n),0);r>>0:t>>>0;(r=e.exec(i))&&(a=r.index+r[0].length,!(a>u&&(s.push(i.slice(u,r.index)),!compliantExecNpcg&&r.length>1&&r[0].replace(n,function(){for(var e=1;e1&&r.index=t)));)e.lastIndex===r.index&&e.lastIndex++;return u===i.length?!o&&e.test("")||s.push(""):s.push(i.slice(u)),s.length>t?s.slice(0,t):s},function(e){"use strict";var t={init:function(i){return this.each(function(){this.self=e(this),t.destroy.call(this.self),this.opt=e.extend(!0,{},e.fn.raty.defaults,i),t._adjustCallback.call(this),t._adjustNumber.call(this),"img"!==this.opt.starType&&t._adjustStarType.call(this),t._adjustPath.call(this),t._createStars.call(this),this.opt.cancel&&t._createCancel.call(this),this.opt.precision&&t._adjustPrecision.call(this),t._createScore.call(this),t._apply.call(this,this.opt.score),t._target.call(this,this.opt.score),this.opt.readOnly?t._lock.call(this):(this.style.cursor="pointer",t._binds.call(this)),this.self.data("options",this.opt)})},_adjustCallback:function(){for(var e=["number","readOnly","score","scoreName","target"],t=0;t0&&this.score.val(t._between(e,0,this.opt.number)),t._roundStars.call(this,e))},_between:function(e,t,i){return Math.min(Math.max(parseFloat(e),t),i)},_binds:function(){this.cancel&&(t._bindOverCancel.call(this),t._bindClickCancel.call(this),t._bindOutCancel.call(this)),t._bindOver.call(this),t._bindClick.call(this),t._bindOut.call(this)},_bindClick:function(){var t=this;t.stars.on("click.raty",function(i){var n=e(this);t.score.val(t.opt.half||t.opt.precision?t.self.data("score"):this.alt||n.data("alt")),t.opt.click&&t.opt.click.call(t,+t.score.val(),i)})},_bindClickCancel:function(){var e=this;e.cancel.on("click.raty",function(t){e.score.removeAttr("value"),e.opt.click&&e.opt.click.call(e,null,t)})},_bindOut:function(){var e=this;e.self.on("mouseleave.raty",function(i){var n=+e.score.val()||void 0;t._apply.call(e,n),t._target.call(e,n,i),e.opt.mouseout&&e.opt.mouseout.call(e,n,i)})},_bindOutCancel:function(){var e=this;e.cancel.on("mouseleave.raty",function(i){var n=e.opt.cancelOff;if("img"!==e.opt.starType&&(n=e.opt.cancelClass+" "+n),t._setIcon.call(e,this,n),e.opt.mouseout){var r=+e.score.val()||void 0;e.opt.mouseout.call(e,r,i)}})},_bindOver:function(){var e=this,i=e.opt.half?"mousemove.raty":"mouseover.raty";e.stars.on(i,function(i){var n=t._getScoreByPosition.call(e,i,this);t._fill.call(e,n),e.opt.half&&(t._roundStars.call(e,n),e.self.data("score",n)),t._target.call(e,n,i),e.opt.mouseover&&e.opt.mouseover.call(e,n,i)})},_bindOverCancel:function(){var e=this;e.cancel.on("mouseover.raty",function(i){var n=e.opt.path+e.opt.starOff,r=e.opt.cancelOn;"img"===e.opt.starType?e.stars.attr("src",n):(r=e.opt.cancelClass+" "+r,e.stars.attr("class",n)),t._setIcon.call(e,this,r),t._target.call(e,null,i),e.opt.mouseover&&e.opt.mouseover.call(e,null)})},_buildScoreField:function(){return e("",{name:this.opt.scoreName,type:"hidden"}).appendTo(this)},_createCancel:function(){var t=this.opt.path+this.opt.cancelOff,i=e("<"+this.opt.starType+" />",{title:this.opt.cancelHint,class:this.opt.cancelClass});"img"===this.opt.starType?i.attr({src:t,alt:"x"}):i.attr("data-alt","x").addClass(t),"left"===this.opt.cancelPlace?this.self.prepend(" ").prepend(i):this.self.append(" ").append(i),this.cancel=i},_createScore:function(){var i=e(this.opt.targetScore);this.score=i.length?i:t._buildScoreField.call(this)},_createStars:function(){for(var i=1;i<=this.opt.number;i++){var n=t._nameForIndex.call(this,i),r={alt:i,src:this.opt.path+this.opt[n]};"img"!==this.opt.starType&&(r={"data-alt":i,class:r.src}),r.title=t._getHint.call(this,i),e("<"+this.opt.starType+" />",r).appendTo(this),this.opt.space&&this.self.append(ii){var s=this.opt.iconRange[i];r=t._getRangeIcon.call(this,s,o),n<=s.range&&t._setIcon.call(this,a,r),n===s.range&&i++}else r=this.opt[o?"starOn":"starOff"],t._setIcon.call(this,a,r)}},_getRangeIcon:function(e,t){return t?e.on||this.opt.starOn:e.off||this.opt.starOff},_getScoreByPosition:function(i,n){var r=parseInt(n.alt||n.getAttribute("data-alt"),10);if(this.opt.half){var a=t._getSize.call(this),o=parseFloat((i.pageX-e(n).offset().left)/a);r=this.opt.precision?r-1+o:r-1+(o>.5?1:.5)}return r},_getSize:function(){var e;return e="img"===this.opt.starType?this.stars[0].width:parseFloat(this.stars.eq(0).css("font-size")),e||t._error.call(this,"Could not be possible get the icon size!"),e},_turnOn:function(e,t){return this.opt.single?e===t:e<=t},_getHint:function(e){var t=this.opt.hints[e-1];return""===t?"":t||e},_lock:function(){var e=parseInt(this.score.val(),10),i=e?t._getHint.call(this,e):this.opt.noRatedMsg;this.style.cursor="",this.title=i,this.score.prop("readonly",!0),this.stars.prop("title",i),this.cancel&&this.cancel.hide(),this.self.data("readonly",!0)},_nameForIndex:function(e){return this.opt.score&&this.opt.score>=e?"starOn":"starOff"},_roundStars:function(e){var i=(e%1).toFixed(2);if(i>this.opt.round.down){var n="starOn";this.opt.halfShow&&i1?t:t[0]},move:function(i){return this.each(function(){var n=parseInt(i,10),r=e(this).data("options"),a=(+i).toFixed(1).split(".")[1];n>=r.number&&(n=r.number-1,a=10);var o=t._getSize.call(this),s=o/10,l=e(this.stars[n]),u=l.offset().left+s*parseInt(a,10),c=e.Event("mousemove",{pageX:u});l.trigger(c)})},readOnly:function(i){return this.each(function(){var n=e(this);n.data("readonly")!==i&&(i?(n.off(".raty").children("img").off(".raty"),t._lock.call(this)):(t._binds.call(this),t._unlock.call(this)),n.data("readonly",i))})},reload:function(){return t.set.call(this,{})},score:function(){var i=e(this);return arguments.length?t.setScore.apply(i,arguments):t.getScore.call(i)},set:function(t){return this.each(function(){var i=e(this),n=i.data("options"),r=e.extend({},n,t);i.raty(r)})},setScore:function(i){return this.each(function(){e(this).data("readonly")!==!0&&(t._apply.call(this,i),t._target.call(this,i))})}};e.fn.raty=function(i){return t[i]?t[i].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof i&&i?void e.error("Method "+i+" does not exist!"):t.init.apply(this,arguments)},e.fn.raty.defaults={cancel:!1,cancelClass:"raty-cancel",cancelHint:"Cancel this rating!",cancelOff:"cancel-off.png",cancelOn:"cancel-on.png",cancelPlace:"left",click:void 0,half:!1,halfShow:!0,hints:["bad","poor","regular","good","gorgeous"],iconRange:void 0,mouseout:void 0,mouseover:void 0,noRatedMsg:"Not rated yet!",number:5,numberMax:20,path:void 0,precision:!1,readOnly:!1,round:{down:.25,full:.6,up:.76},score:void 0,scoreName:"score",single:!1,space:!0,starHalf:"star-half.png",starOff:"star-off.png",starOn:"star-on.png",starType:"img",target:void 0,targetFormat:"{score}",targetKeep:!1,targetScore:void 0,targetText:"",targetType:"hint"}}(jQuery),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"undefined"!=typeof module&&module.exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){"use strict";function t(t){return!t.nodeName||e.inArray(t.nodeName.toLowerCase(),["iframe","#document","html","body"])!==-1}function i(t){return e.isFunction(t)||e.isPlainObject(t)?t:{top:t,left:t}}var n=e.scrollTo=function(t,i,n){return e(window).scrollTo(t,i,n)};return n.defaults={axis:"xy",duration:0,limit:!0},e.fn.scrollTo=function(r,a,o){"object"==typeof a&&(o=a,a=0),"function"==typeof o&&(o={onAfter:o}),"max"===r&&(r=9e9),o=e.extend({},n.defaults,o),a=a||o.duration;var s=o.queue&&o.axis.length>1;return s&&(a/=2),o.offset=i(o.offset),o.over=i(o.over),this.each(function(){function l(t){var i=e.extend({},o,{queue:!0,duration:a,complete:t&&function(){t.call(d,p,o)}});h.animate(f,i)}if(null!==r){var u,c=t(this),d=c?this.contentWindow||window:this,h=e(d),p=r,f={};switch(typeof p){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(p)){p=i(p);break}if(p=c?e(p):e(p,d),!p.length)return;case"object":(p.is||p.style)&&(u=(p=e(p)).offset())}var m=e.isFunction(o.offset)&&o.offset(d,p)||o.offset;e.each(o.axis.split(""),function(e,t){var i="x"===t?"Left":"Top",r=i.toLowerCase(),a="scroll"+i,g=h[a](),v=n.max(d,t);if(u)f[a]=u[r]+(c?0:g-h.offset()[r]),o.margin&&(f[a]-=parseInt(p.css("margin"+i),10)||0,f[a]-=parseInt(p.css("border"+i+"Width"),10)||0),f[a]+=m[r]||0,o.over[r]&&(f[a]+=p["x"===t?"width":"height"]()*o.over[r]);else{var y=p[r];f[a]=y.slice&&"%"===y.slice(-1)?parseFloat(y)/100*v:y}o.limit&&/^\d+$/.test(f[a])&&(f[a]=f[a]<=0?0:Math.min(f[a],v)),!e&&o.axis.length>1&&(g===f[a]?f={}:s&&(l(o.onAfterFirst),f={}))}),l(o.onAfter)}})},n.max=function(i,n){var r="x"===n?"Width":"Height",a="scroll"+r;if(!t(i))return i[a]-e(i)[r.toLowerCase()]();var o="client"+r,s=i.ownerDocument||i.document,l=s.documentElement,u=s.body;return Math.max(l[a],u[a])-Math.min(l[o],u[o])},e.Tween.propHooks.scrollLeft=e.Tween.propHooks.scrollTop={get:function(t){return e(t.elem)[t.prop]()},set:function(t){var i=this.get(t);if(t.options.interrupt&&t._last&&t._last!==i)return e(t.elem).stop();var n=Math.round(t.now);i!==n&&(e(t.elem)[t.prop](n),t._last=this.get(t))}},n}),!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){function t(t){var o=t||window.event,s=l.call(arguments,1),u=0,d=0,h=0,p=0,f=0,m=0;if(t=e.event.fix(o),t.type="mousewheel","detail"in o&&(h=-1*o.detail),"wheelDelta"in o&&(h=o.wheelDelta),"wheelDeltaY"in o&&(h=o.wheelDeltaY),"wheelDeltaX"in o&&(d=-1*o.wheelDeltaX),"axis"in o&&o.axis===o.HORIZONTAL_AXIS&&(d=-1*h,h=0),u=0===h?d:h,"deltaY"in o&&(h=-1*o.deltaY,u=h),"deltaX"in o&&(d=o.deltaX,0===h&&(u=-1*d)),0!==h||0!==d){if(1===o.deltaMode){var g=e.data(this,"mousewheel-line-height");u*=g,h*=g,d*=g}else if(2===o.deltaMode){var v=e.data(this,"mousewheel-page-height");u*=v,h*=v,d*=v}if(p=Math.max(Math.abs(h),Math.abs(d)),(!a||a>p)&&(a=p,n(o,p)&&(a/=40)),n(o,p)&&(u/=40,d/=40,h/=40),u=Math[u>=1?"floor":"ceil"](u/a),d=Math[d>=1?"floor":"ceil"](d/a),h=Math[h>=1?"floor":"ceil"](h/a),c.settings.normalizeOffset&&this.getBoundingClientRect){var y=this.getBoundingClientRect();f=t.clientX-y.left,m=t.clientY-y.top}return t.deltaX=d,t.deltaY=h,t.deltaFactor=a,t.offsetX=f,t.offsetY=m,t.deltaMode=0,s.unshift(t,u,d,h),r&&clearTimeout(r),r=setTimeout(i,200),(e.event.dispatch||e.event.handle).apply(this,s)}}function i(){a=null}function n(e,t){return c.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120===0}var r,a,o=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],s="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],l=Array.prototype.slice;if(e.event.fixHooks)for(var u=o.length;u;)e.event.fixHooks[o[--u]]=e.event.mouseHooks;var c=e.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var i=s.length;i;)this.addEventListener(s[--i],t,!1);else this.onmousewheel=t;e.data(this,"mousewheel-line-height",c.getLineHeight(this)),e.data(this,"mousewheel-page-height",c.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var i=s.length;i;)this.removeEventListener(s[--i],t,!1);else this.onmousewheel=null;e.removeData(this,"mousewheel-line-height"),e.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var i=e(t),n=i["offsetParent"in e.fn?"offsetParent":"parent"]();return n.length||(n=e("body")),parseInt(n.css("fontSize"),10)||parseInt(i.css("fontSize"),10)||16},getPageHeight:function(t){return e(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e); }})}),!function(e){"undefined"!=typeof module&&module.exports?module.exports=e:e(jQuery,window,document)}(function(e){!function(t){var i="function"==typeof define&&define.amd,n="undefined"!=typeof module&&module.exports,r="https:"==document.location.protocol?"https:":"http:",a="cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.12/jquery.mousewheel.min.js";i||(n?require("jquery-mousewheel")(e):e.event.special.mousewheel||e("head").append(decodeURI("%3Cscript src="+r+"//"+a+"%3E%3C/script%3E"))),t()}(function(){var t,i="mCustomScrollbar",n="mCS",r=".mCustomScrollbar",a={setTop:0,setLeft:0,axis:"y",scrollbarPosition:"inside",scrollInertia:950,autoDraggerLength:!0,alwaysShowScrollbar:0,snapOffset:0,mouseWheel:{enable:!0,scrollAmount:"auto",axis:"y",deltaFactor:"auto",disableOver:["select","option","keygen","datalist","textarea"]},scrollButtons:{scrollType:"stepless",scrollAmount:"auto"},keyboard:{enable:!0,scrollType:"stepless",scrollAmount:"auto"},contentTouchScroll:25,advanced:{autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",updateOnContentResize:!0,updateOnImageLoad:!0},theme:"light",callbacks:{onTotalScrollOffset:0,onTotalScrollBackOffset:0,alwaysTriggerOffsets:!0}},o=0,s={},l=window.attachEvent&&!window.addEventListener?1:0,u=!1,c=["mCSB_dragger_onDrag","mCSB_scrollTools_onDrag","mCS_img_loaded","mCS_disabled","mCS_destroyed","mCS_no_scrollbar","mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer","mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight"],d={init:function(t){var t=e.extend(!0,{},a,t),i=h.call(this);if(t.live){var l=t.liveSelector||this.selector||r,u=e(l);if("off"===t.live)return void f(l);s[l]=setTimeout(function(){u.mCustomScrollbar(t),"once"===t.live&&u.length&&f(l)},500)}else f(l);return t.setWidth=t.set_width?t.set_width:t.setWidth,t.setHeight=t.set_height?t.set_height:t.setHeight,t.axis=t.horizontalScroll?"x":m(t.axis),t.scrollInertia=t.scrollInertia>0&&t.scrollInertia<17?17:t.scrollInertia,"object"!=typeof t.mouseWheel&&1==t.mouseWheel&&(t.mouseWheel={enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1}),t.mouseWheel.scrollAmount=t.mouseWheelPixels?t.mouseWheelPixels:t.mouseWheel.scrollAmount,t.mouseWheel.normalizeDelta=t.advanced.normalizeMouseWheelDelta?t.advanced.normalizeMouseWheelDelta:t.mouseWheel.normalizeDelta,t.scrollButtons.scrollType=g(t.scrollButtons.scrollType),p(t),e(i).each(function(){var i=e(this);if(!i.data(n)){i.data(n,{idx:++o,opt:t,scrollRatio:{y:null,x:null},overflowed:null,contentReset:{y:null,x:null},bindEvents:!1,tweenRunning:!1,sequential:{},langDir:i.css("direction"),cbOffsets:null,trigger:null});var r=i.data(n),a=r.opt,s=i.data("mcs-axis"),l=i.data("mcs-scrollbar-position"),u=i.data("mcs-theme");s&&(a.axis=s),l&&(a.scrollbarPosition=l),u&&(a.theme=u,p(a)),v.call(this),e("#mCSB_"+r.idx+"_container img:not(."+c[2]+")").addClass(c[2]),d.update.call(null,i)}})},update:function(t,i){var r=t||h.call(this);return e(r).each(function(){var t=e(this);if(t.data(n)){var r=t.data(n),a=r.opt,o=e("#mCSB_"+r.idx+"_container"),s=[e("#mCSB_"+r.idx+"_dragger_vertical"),e("#mCSB_"+r.idx+"_dragger_horizontal")];if(!o.length)return;r.tweenRunning&&Y(t),t.hasClass(c[3])&&t.removeClass(c[3]),t.hasClass(c[4])&&t.removeClass(c[4]),_.call(this),b.call(this),"y"===a.axis||a.advanced.autoExpandHorizontalScroll||o.css("width",y(o.children())),r.overflowed=S.call(this),Q.call(this),a.autoDraggerLength&&x.call(this),j.call(this),$.call(this);var l=[Math.abs(o[0].offsetTop),Math.abs(o[0].offsetLeft)];"x"!==a.axis&&(r.overflowed[0]?s[0].height()>s[0].parent().height()?k.call(this):(X(t,l[0].toString(),{dir:"y",dur:0,overwrite:"none"}),r.contentReset.y=null):(k.call(this),"y"===a.axis?D.call(this):"yx"===a.axis&&r.overflowed[1]&&X(t,l[1].toString(),{dir:"x",dur:0,overwrite:"none"}))),"y"!==a.axis&&(r.overflowed[1]?s[1].width()>s[1].parent().width()?k.call(this):(X(t,l[1].toString(),{dir:"x",dur:0,overwrite:"none"}),r.contentReset.x=null):(k.call(this),"x"===a.axis?D.call(this):"yx"===a.axis&&r.overflowed[0]&&X(t,l[0].toString(),{dir:"y",dur:0,overwrite:"none"}))),i&&r&&(2===i&&a.callbacks.onImageLoad&&"function"==typeof a.callbacks.onImageLoad?a.callbacks.onImageLoad.call(this):3===i&&a.callbacks.onSelectorChange&&"function"==typeof a.callbacks.onSelectorChange?a.callbacks.onSelectorChange.call(this):a.callbacks.onUpdate&&"function"==typeof a.callbacks.onUpdate&&a.callbacks.onUpdate.call(this)),U.call(this)}})},scrollTo:function(t,i){if("undefined"!=typeof t&&null!=t){var r=h.call(this);return e(r).each(function(){var r=e(this);if(r.data(n)){var a=r.data(n),o=a.opt,s={trigger:"external",scrollInertia:o.scrollInertia,scrollEasing:"mcsEaseInOut",moveDragger:!1,timeout:60,callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},l=e.extend(!0,{},s,i),u=F.call(this,t),c=l.scrollInertia>0&&l.scrollInertia<17?17:l.scrollInertia;u[0]=W.call(this,u[0],"y"),u[1]=W.call(this,u[1],"x"),l.moveDragger&&(u[0]*=a.scrollRatio.y,u[1]*=a.scrollRatio.x),l.dur=c,setTimeout(function(){null!==u[0]&&"undefined"!=typeof u[0]&&"x"!==o.axis&&a.overflowed[0]&&(l.dir="y",l.overwrite="all",X(r,u[0].toString(),l)),null!==u[1]&&"undefined"!=typeof u[1]&&"y"!==o.axis&&a.overflowed[1]&&(l.dir="x",l.overwrite="none",X(r,u[1].toString(),l))},l.timeout)}})}},stop:function(){var t=h.call(this);return e(t).each(function(){var t=e(this);t.data(n)&&Y(t)})},disable:function(t){var i=h.call(this);return e(i).each(function(){var i=e(this);i.data(n)&&(i.data(n),U.call(this,"remove"),D.call(this),t&&k.call(this),Q.call(this,!0),i.addClass(c[3]))})},destroy:function(){var t=h.call(this);return e(t).each(function(){var r=e(this);if(r.data(n)){var a=r.data(n),o=a.opt,s=e("#mCSB_"+a.idx),l=e("#mCSB_"+a.idx+"_container"),u=e(".mCSB_"+a.idx+"_scrollbar");o.live&&f(o.liveSelector||e(t).selector),U.call(this,"remove"),D.call(this),k.call(this),r.removeData(n),Z(this,"mcs"),u.remove(),l.find("img."+c[2]).removeClass(c[2]),s.replaceWith(l.contents()),r.removeClass(i+" _"+n+"_"+a.idx+" "+c[6]+" "+c[7]+" "+c[5]+" "+c[3]).addClass(c[4])}})}},h=function(){return"object"!=typeof e(this)||e(this).length<1?r:this},p=function(t){var i=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"],n=["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"],r=["minimal","minimal-dark"],a=["minimal","minimal-dark"],o=["minimal","minimal-dark"];t.autoDraggerLength=!(e.inArray(t.theme,i)>-1)&&t.autoDraggerLength,t.autoExpandScrollbar=!(e.inArray(t.theme,n)>-1)&&t.autoExpandScrollbar,t.scrollButtons.enable=!(e.inArray(t.theme,r)>-1)&&t.scrollButtons.enable,t.autoHideScrollbar=e.inArray(t.theme,a)>-1||t.autoHideScrollbar,t.scrollbarPosition=e.inArray(t.theme,o)>-1?"outside":t.scrollbarPosition},f=function(e){s[e]&&(clearTimeout(s[e]),Z(s,e))},m=function(e){return"yx"===e||"xy"===e||"auto"===e?"yx":"x"===e||"horizontal"===e?"x":"y"},g=function(e){return"stepped"===e||"pixels"===e||"step"===e||"click"===e?"stepped":"stepless"},v=function(){var t=e(this),r=t.data(n),a=r.opt,o=a.autoExpandScrollbar?" "+c[1]+"_expand":"",s=["
    ","
    "],l="yx"===a.axis?"mCSB_vertical_horizontal":"x"===a.axis?"mCSB_horizontal":"mCSB_vertical",u="yx"===a.axis?s[0]+s[1]:"x"===a.axis?s[1]:s[0],d="yx"===a.axis?"
    ":"",h=a.autoHideScrollbar?" "+c[6]:"",p="x"!==a.axis&&"rtl"===r.langDir?" "+c[7]:"";a.setWidth&&t.css("width",a.setWidth),a.setHeight&&t.css("height",a.setHeight),a.setLeft="y"!==a.axis&&"rtl"===r.langDir?"989999px":a.setLeft,t.addClass(i+" _"+n+"_"+r.idx+h+p).wrapInner("
    ");var f=e("#mCSB_"+r.idx),m=e("#mCSB_"+r.idx+"_container");"y"===a.axis||a.advanced.autoExpandHorizontalScroll||m.css("width",y(m.children())),"outside"===a.scrollbarPosition?("static"===t.css("position")&&t.css("position","relative"),t.css("overflow","visible"),f.addClass("mCSB_outside").after(u)):(f.addClass("mCSB_inside").append(u),m.wrap(d)),w.call(this);var g=[e("#mCSB_"+r.idx+"_dragger_vertical"),e("#mCSB_"+r.idx+"_dragger_horizontal")];g[0].css("min-height",g[0].height()),g[1].css("min-width",g[1].width())},y=function(t){return Math.max.apply(Math,t.map(function(){return e(this).outerWidth(!0)}).get())},b=function(){var t=e(this),i=t.data(n),r=i.opt,a=e("#mCSB_"+i.idx+"_container");r.advanced.autoExpandHorizontalScroll&&"y"!==r.axis&&a.css({position:"absolute",width:"auto"}).wrap("
    ").css({width:Math.ceil(a[0].getBoundingClientRect().right+.4)-Math.floor(a[0].getBoundingClientRect().left),position:"relative"}).unwrap()},w=function(){var t=e(this),i=t.data(n),r=i.opt,a=e(".mCSB_"+i.idx+"_scrollbar:first"),o=te(r.scrollButtons.tabindex)?"tabindex='"+r.scrollButtons.tabindex+"'":"",s=["","","",""],l=["x"===r.axis?s[2]:s[0],"x"===r.axis?s[3]:s[1],s[2],s[3]];r.scrollButtons.enable&&a.prepend(l[0]).append(l[1]).next(".mCSB_scrollTools").prepend(l[2]).append(l[3])},_=function(){var t=e(this),i=t.data(n),r=e("#mCSB_"+i.idx),a=t.css("max-height")||"none",o=-1!==a.indexOf("%"),s=t.css("box-sizing");if("none"!==a){var l=o?t.parent().height()*parseInt(a)/100:parseInt(a);"border-box"===s&&(l-=t.innerHeight()-t.height()+(t.outerHeight()-t.innerHeight())),r.css("max-height",Math.round(l))}},x=function(){var t=e(this),i=t.data(n),r=e("#mCSB_"+i.idx),a=e("#mCSB_"+i.idx+"_container"),o=[e("#mCSB_"+i.idx+"_dragger_vertical"),e("#mCSB_"+i.idx+"_dragger_horizontal")],s=[r.height()/a.outerHeight(!1),r.width()/a.outerWidth(!1)],u=[parseInt(o[0].css("min-height")),Math.round(s[0]*o[0].parent().height()),parseInt(o[1].css("min-width")),Math.round(s[1]*o[1].parent().width())],c=l&&u[1]r.height(),s>r.width()]},k=function(){var t=e(this),i=t.data(n),r=i.opt,a=e("#mCSB_"+i.idx),o=e("#mCSB_"+i.idx+"_container"),s=[e("#mCSB_"+i.idx+"_dragger_vertical"),e("#mCSB_"+i.idx+"_dragger_horizontal")];if(Y(t),("x"!==r.axis&&!i.overflowed[0]||"y"===r.axis&&i.overflowed[0])&&(s[0].add(o).css("top",0),X(t,"_resetY")),"y"!==r.axis&&!i.overflowed[1]||"x"===r.axis&&i.overflowed[1]){var l=dx=0;"rtl"===i.langDir&&(l=a.width()-o.outerWidth(!1),dx=Math.abs(l/i.scrollRatio.x)),o.css("left",l),s[1].css("left",dx),X(t,"_resetX")}},$=function(){function t(){o=setTimeout(function(){e.event.special.mousewheel?(clearTimeout(o),E.call(i[0])):t()},100)}var i=e(this),r=i.data(n),a=r.opt;if(!r.bindEvents){if(O.call(this),a.contentTouchScroll&&A.call(this),M.call(this),a.mouseWheel.enable){var o;t()}L.call(this),H.call(this),a.advanced.autoScrollOnFocus&&R.call(this),a.scrollButtons.enable&&B.call(this),a.keyboard.enable&&z.call(this),r.bindEvents=!0}},D=function(){var t=e(this),i=t.data(n),r=i.opt,a=n+"_"+i.idx,o=".mCSB_"+i.idx+"_scrollbar",s=e("#mCSB_"+i.idx+",#mCSB_"+i.idx+"_container,#mCSB_"+i.idx+"_container_wrapper,"+o+" ."+c[12]+",#mCSB_"+i.idx+"_dragger_vertical,#mCSB_"+i.idx+"_dragger_horizontal,"+o+">a"),l=e("#mCSB_"+i.idx+"_container");r.advanced.releaseDraggableSelectors&&s.add(e(r.advanced.releaseDraggableSelectors)),i.bindEvents&&(e(document).unbind("."+a),s.each(function(){e(this).unbind("."+a)}),clearTimeout(t[0]._focusTimeout),Z(t[0],"_focusTimeout"),clearTimeout(i.sequential.step),Z(i.sequential,"step"),clearTimeout(l[0].onCompleteTimeout),Z(l[0],"onCompleteTimeout"),i.bindEvents=!1)},Q=function(t){var i=e(this),r=i.data(n),a=r.opt,o=e("#mCSB_"+r.idx+"_container_wrapper"),s=o.length?o:e("#mCSB_"+r.idx+"_container"),l=[e("#mCSB_"+r.idx+"_scrollbar_vertical"),e("#mCSB_"+r.idx+"_scrollbar_horizontal")],u=[l[0].find(".mCSB_dragger"),l[1].find(".mCSB_dragger")];"x"!==a.axis&&(r.overflowed[0]&&!t?(l[0].add(u[0]).add(l[0].children("a")).css("display","block"),s.removeClass(c[8]+" "+c[10])):(a.alwaysShowScrollbar?(2!==a.alwaysShowScrollbar&&u[0].css("display","none"),s.removeClass(c[10])):(l[0].css("display","none"),s.addClass(c[10])),s.addClass(c[8]))),"y"!==a.axis&&(r.overflowed[1]&&!t?(l[1].add(u[1]).add(l[1].children("a")).css("display","block"),s.removeClass(c[9]+" "+c[11])):(a.alwaysShowScrollbar?(2!==a.alwaysShowScrollbar&&u[1].css("display","none"),s.removeClass(c[11])):(l[1].css("display","none"),s.addClass(c[11])),s.addClass(c[9]))),r.overflowed[0]||r.overflowed[1]?i.removeClass(c[5]):i.addClass(c[5])},T=function(e){var t=e.type;switch(t){case"pointerdown":case"MSPointerDown":case"pointermove":case"MSPointerMove":case"pointerup":case"MSPointerUp":return e.target.ownerDocument!==document?[e.originalEvent.screenY,e.originalEvent.screenX,!1]:[e.originalEvent.pageY,e.originalEvent.pageX,!1];case"touchstart":case"touchmove":case"touchend":var i=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],n=e.originalEvent.touches.length||e.originalEvent.changedTouches.length;return e.target.ownerDocument!==document?[i.screenY,i.screenX,n>1]:[i.pageY,i.pageX,n>1];default:return[e.pageY,e.pageX,!1]}},O=function(){function t(e){var t=f.find("iframe");if(t.length){var i=e?"auto":"none";t.css("pointer-events",i)}}function i(e,t,i,n){if(f[0].idleTimer=d.scrollInertia<233?250:0,r.attr("id")===p[1])var a="x",o=(r[0].offsetLeft-t+n)*c.scrollRatio.x;else var a="y",o=(r[0].offsetTop-e+i)*c.scrollRatio.y;X(s,o.toString(),{dir:a,drag:!0})}var r,a,o,s=e(this),c=s.data(n),d=c.opt,h=n+"_"+c.idx,p=["mCSB_"+c.idx+"_dragger_vertical","mCSB_"+c.idx+"_dragger_horizontal"],f=e("#mCSB_"+c.idx+"_container"),m=e("#"+p[0]+",#"+p[1]),g=d.advanced.releaseDraggableSelectors?m.add(e(d.advanced.releaseDraggableSelectors)):m;m.bind("mousedown."+h+" touchstart."+h+" pointerdown."+h+" MSPointerDown."+h,function(i){if(i.stopImmediatePropagation(),i.preventDefault(),J(i)){u=!0,l&&(document.onselectstart=function(){return!1}),t(!1),Y(s),r=e(this);var n=r.offset(),c=T(i)[0]-n.top,h=T(i)[1]-n.left,p=r.height()+n.top,f=r.width()+n.left;p>c&&c>0&&f>h&&h>0&&(a=c,o=h),C(r,"active",d.autoExpandScrollbar)}}).bind("touchmove."+h,function(e){e.stopImmediatePropagation(),e.preventDefault();var t=r.offset(),n=T(e)[0]-t.top,s=T(e)[1]-t.left;i(a,o,n,s)}),e(document).bind("mousemove."+h+" pointermove."+h+" MSPointerMove."+h,function(e){if(r){var t=r.offset(),n=T(e)[0]-t.top,s=T(e)[1]-t.left;if(a===n)return;i(a,o,n,s)}}).add(g).bind("mouseup."+h+" touchend."+h+" pointerup."+h+" MSPointerUp."+h,function(){r&&(C(r,"active",d.autoExpandScrollbar),r=null),u=!1,l&&(document.onselectstart=null),t(!0)})},A=function(){function i(e){if(!ee(e)||u||T(e)[2])return void(t=0);t=1,_=0,x=0;var i=D.offset();c=T(e)[0]-i.top,d=T(e)[1]-i.left,P=[T(e)[0],T(e)[1]]}function r(e){if(ee(e)&&!u&&!T(e)[2]&&(e.stopImmediatePropagation(),!x||_)){m=K();var t=$.offset(),i=T(e)[0]-t.top,n=T(e)[1]-t.left,r="mcsLinearOut";if(O.push(i),A.push(n),P[2]=Math.abs(T(e)[0]-P[0]),P[3]=Math.abs(T(e)[1]-P[1]),C.overflowed[0])var a=Q[0].parent().height()-Q[0].height(),o=c-i>0&&i-c>-(a*C.scrollRatio.y)&&(2*P[3]0&&n-d>-(s*C.scrollRatio.x)&&(2*P[2]30)){y=1e3/(g-f);var r="mcsEaseOut",a=2.5>y,o=a?[O[O.length-2],A[A.length-2]]:[0,0];v=a?[i-o[0],n-o[1]]:[i-h,n-p];var c=[Math.abs(v[0]),Math.abs(v[1])];y=a?[Math.abs(v[0]/4),Math.abs(v[1]/4)]:[y,y];var d=[Math.abs(D[0].offsetTop)-v[0]*s(c[0]/y[0],y[0]),Math.abs(D[0].offsetLeft)-v[1]*s(c[1]/y[1],y[1])];b="yx"===S.axis?[d[0],d[1]]:"x"===S.axis?[null,d[1]]:[d[0],null],w=[4*c[0]+S.scrollInertia,4*c[1]+S.scrollInertia];var j=parseInt(S.contentTouchScroll)||0;b[0]=c[0]>j?b[0]:0,b[1]=c[1]>j?b[1]:0,C.overflowed[0]&&l(b[0],w[0],r,"y",E,!1),C.overflowed[1]&&l(b[1],w[1],r,"x",E,!1)}}}function s(e,t){var i=[1.5*t,2*t,t/1.5,t/2];return e>90?t>4?i[0]:i[3]:e>60?t>3?i[3]:i[2]:e>30?t>8?i[1]:t>6?i[0]:t>4?t:i[2]:t>8?t:i[3]}function l(e,t,i,n,r,a){e&&X(j,e.toString(),{dur:t,scrollEasing:i,dir:n,overwrite:r,drag:a})}var c,d,h,p,f,m,g,v,y,b,w,_,x,j=e(this),C=j.data(n),S=C.opt,k=n+"_"+C.idx,$=e("#mCSB_"+C.idx),D=e("#mCSB_"+C.idx+"_container"),Q=[e("#mCSB_"+C.idx+"_dragger_vertical"),e("#mCSB_"+C.idx+"_dragger_horizontal")],O=[],A=[],M=0,E="yx"===S.axis?"none":"all",P=[],L=D.find("iframe"),R=["touchstart."+k+" pointerdown."+k+" MSPointerDown."+k,"touchmove."+k+" pointermove."+k+" MSPointerMove."+k,"touchend."+k+" pointerup."+k+" MSPointerUp."+k];D.bind(R[0],function(e){i(e)}).bind(R[1],function(e){r(e)}),$.bind(R[0],function(e){a(e)}).bind(R[2],function(e){o(e)}),L.length&&L.each(function(){e(this).load(function(){I(this)&&e(this.contentDocument||this.contentWindow.document).bind(R[0],function(e){i(e),a(e)}).bind(R[1],function(e){r(e)}).bind(R[2],function(e){o(e)})})})},M=function(){function i(){return window.getSelection?window.getSelection().toString():document.selection&&"Control"!=document.selection.type?document.selection.createRange().text:0}function r(e,t,i){c.type=i&&a?"stepped":"stepless",c.scrollAmount=10,q(o,e,t,"mcsLinearOut",i?60:null)}var a,o=e(this),s=o.data(n),l=s.opt,c=s.sequential,d=n+"_"+s.idx,h=e("#mCSB_"+s.idx+"_container"),p=h.parent();h.bind("mousedown."+d,function(){t||a||(a=1,u=!0)}).add(document).bind("mousemove."+d,function(e){if(!t&&a&&i()){var n=h.offset(),o=T(e)[0]-n.top+h[0].offsetTop,u=T(e)[1]-n.left+h[0].offsetLeft;o>0&&o0&&uo?r("on",38):o>p.height()&&r("on",40)),"y"!==l.axis&&s.overflowed[1]&&(0>u?r("on",37):u>p.width()&&r("on",39)))}}).bind("mouseup."+d,function(){t||(a&&(a=0,r("off",null)),u=!1)})},E=function(){function t(t,n){if(Y(i),!P(i,t.target)){var o="auto"!==a.mouseWheel.deltaFactor?parseInt(a.mouseWheel.deltaFactor):l&&t.deltaFactor<100?100:t.deltaFactor||100;if("x"===a.axis||"x"===a.mouseWheel.axis)var c="x",d=[Math.round(o*r.scrollRatio.x),parseInt(a.mouseWheel.scrollAmount)],h="auto"!==a.mouseWheel.scrollAmount?d[1]:d[0]>=s.width()?.9*s.width():d[0],p=Math.abs(e("#mCSB_"+r.idx+"_container")[0].offsetLeft),f=u[1][0].offsetLeft,m=u[1].parent().width()-u[1].width(),g=t.deltaX||t.deltaY||n;else var c="y",d=[Math.round(o*r.scrollRatio.y),parseInt(a.mouseWheel.scrollAmount)],h="auto"!==a.mouseWheel.scrollAmount?d[1]:d[0]>=s.height()?.9*s.height():d[0],p=Math.abs(e("#mCSB_"+r.idx+"_container")[0].offsetTop),f=u[0][0].offsetTop,m=u[0].parent().height()-u[0].height(),g=t.deltaY||n;"y"===c&&!r.overflowed[0]||"x"===c&&!r.overflowed[1]||(a.mouseWheel.invert&&(g=-g),a.mouseWheel.normalizeDelta&&(g=0>g?-1:1),(g>0&&0!==f||0>g&&f!==m||a.mouseWheel.preventDefault)&&(t.stopImmediatePropagation(),t.preventDefault()),X(i,(p-g*h).toString(),{dir:c}))}}var i=e(this),r=i.data(n),a=r.opt,o=n+"_"+r.idx,s=e("#mCSB_"+r.idx),u=[e("#mCSB_"+r.idx+"_dragger_vertical"),e("#mCSB_"+r.idx+"_dragger_horizontal")],c=e("#mCSB_"+r.idx+"_container").find("iframe");r&&(c.length&&c.each(function(){e(this).load(function(){I(this)&&e(this.contentDocument||this.contentWindow.document).bind("mousewheel."+o,function(e,i){t(e,i)})})}),s.bind("mousewheel."+o,function(e,i){t(e,i)}))},I=function(e){var t=null;try{var i=e.contentDocument||e.contentWindow.document;t=i.body.innerHTML}catch(e){}return null!==t},P=function(t,i){var r=i.nodeName.toLowerCase(),a=t.data(n).opt.mouseWheel.disableOver,o=["select","textarea"];return e.inArray(r,a)>-1&&!(e.inArray(r,o)>-1&&!e(i).is(":focus"))},L=function(){var t=e(this),i=t.data(n),r=n+"_"+i.idx,a=e("#mCSB_"+i.idx+"_container"),o=a.parent(),s=e(".mCSB_"+i.idx+"_scrollbar ."+c[12]);s.bind("touchstart."+r+" pointerdown."+r+" MSPointerDown."+r,function(){u=!0}).bind("touchend."+r+" pointerup."+r+" MSPointerUp."+r,function(){u=!1}).bind("click."+r,function(n){if(e(n.target).hasClass(c[12])||e(n.target).hasClass("mCSB_draggerRail")){Y(t);var r=e(this),s=r.find(".mCSB_dragger");if(r.parent(".mCSB_scrollTools_horizontal").length>0){if(!i.overflowed[1])return;var l="x",u=n.pageX>s.offset().left?-1:1,d=Math.abs(a[0].offsetLeft)-.9*u*o.width()}else{if(!i.overflowed[0])return;var l="y",u=n.pageY>s.offset().top?-1:1,d=Math.abs(a[0].offsetTop)-.9*u*o.height()}X(t,d.toString(),{dir:l,scrollEasing:"mcsEaseInOut"})}})},R=function(){var t=e(this),i=t.data(n),r=i.opt,a=n+"_"+i.idx,o=e("#mCSB_"+i.idx+"_container"),s=o.parent();o.bind("focusin."+a,function(){var i=e(document.activeElement),n=o.find(".mCustomScrollBox").length,a=0;i.is(r.advanced.autoScrollOnFocus)&&(Y(t),clearTimeout(t[0]._focusTimeout),t[0]._focusTimer=n?(a+17)*n:0,t[0]._focusTimeout=setTimeout(function(){var e=[ie(i)[0],ie(i)[1]],n=[o[0].offsetTop,o[0].offsetLeft],l=[n[0]+e[0]>=0&&n[0]+e[0]=0&&n[0]+e[1]a");l.bind("mousedown."+o+" touchstart."+o+" pointerdown."+o+" MSPointerDown."+o+" mouseup."+o+" touchend."+o+" pointerup."+o+" MSPointerUp."+o+" mouseout."+o+" pointerout."+o+" MSPointerOut."+o+" click."+o,function(n){function o(e,i){a.scrollAmount=r.snapAmount||r.scrollButtons.scrollAmount,q(t,e,i)}if(n.preventDefault(),J(n)){var s=e(this).attr("class");switch(a.type=r.scrollButtons.scrollType,n.type){case"mousedown":case"touchstart":case"pointerdown":case"MSPointerDown":if("stepped"===a.type)return;u=!0,i.tweenRunning=!1,o("on",s);break;case"mouseup":case"touchend":case"pointerup":case"MSPointerUp":case"mouseout":case"pointerout":case"MSPointerOut":if("stepped"===a.type)return;u=!1,a.dir&&o("off",s);break;case"click":if("stepped"!==a.type||i.tweenRunning)return;o("on",s)}}})},z=function(){function t(t){function n(e,t){o.type=a.keyboard.scrollType,o.scrollAmount=a.snapAmount||a.keyboard.scrollAmount,"stepped"===o.type&&r.tweenRunning||q(i,e,t)}switch(t.type){case"blur":r.tweenRunning&&o.dir&&n("off",null);break;case"keydown":case"keyup":var s=t.keyCode?t.keyCode:t.which,l="on";if("x"!==a.axis&&(38===s||40===s)||"y"!==a.axis&&(37===s||39===s)){if((38===s||40===s)&&!r.overflowed[0]||(37===s||39===s)&&!r.overflowed[1])return;"keyup"===t.type&&(l="off"),e(document.activeElement).is(d)||(t.preventDefault(),t.stopImmediatePropagation(),n(l,s))}else if(33===s||34===s){if((r.overflowed[0]||r.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type){Y(i);var h=34===s?-1:1;if("x"===a.axis||"yx"===a.axis&&r.overflowed[1]&&!r.overflowed[0])var p="x",f=Math.abs(u[0].offsetLeft)-.9*h*c.width();else var p="y",f=Math.abs(u[0].offsetTop)-.9*h*c.height();X(i,f.toString(),{dir:p,scrollEasing:"mcsEaseInOut"})}}else if((35===s||36===s)&&!e(document.activeElement).is(d)&&((r.overflowed[0]||r.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type)){if("x"===a.axis||"yx"===a.axis&&r.overflowed[1]&&!r.overflowed[0])var p="x",f=35===s?Math.abs(c.width()-u.outerWidth(!1)):0;else var p="y",f=35===s?Math.abs(c.height()-u.outerHeight(!1)):0;X(i,f.toString(),{dir:p,scrollEasing:"mcsEaseInOut"})}}}var i=e(this),r=i.data(n),a=r.opt,o=r.sequential,s=n+"_"+r.idx,l=e("#mCSB_"+r.idx),u=e("#mCSB_"+r.idx+"_container"),c=u.parent(),d="input,textarea,select,datalist,keygen,[contenteditable='true']",h=u.find("iframe"),p=["blur."+s+" keydown."+s+" keyup."+s];h.length&&h.each(function(){e(this).load(function(){I(this)&&e(this.contentDocument||this.contentWindow.document).bind(p[0],function(e){t(e)})})}),l.attr("tabindex","0").bind(p[0],function(e){t(e)})},q=function(t,i,r,a,o){function s(e){var i="stepped"!==h.type,n=o?o:e?i?m/1.5:g:1e3/60,r=e?i?7.5:40:2.5,l=[Math.abs(p[0].offsetTop),Math.abs(p[0].offsetLeft)],c=[u.scrollRatio.y>10?10:u.scrollRatio.y,u.scrollRatio.x>10?10:u.scrollRatio.x],d="x"===h.dir[0]?l[1]+h.dir[1]*c[1]*r:l[0]+h.dir[1]*c[0]*r,f="x"===h.dir[0]?l[1]+h.dir[1]*parseInt(h.scrollAmount):l[0]+h.dir[1]*parseInt(h.scrollAmount),v="auto"!==h.scrollAmount?f:d,y=a?a:e?i?"mcsLinearOut":"mcsEaseInOut":"mcsLinear",b=!!e;return e&&17>n&&(v="x"===h.dir[0]?l[1]:l[0]),X(t,v.toString(),{dir:h.dir[0],scrollEasing:y,dur:n,onComplete:b}),e?void(h.dir=!1):(clearTimeout(h.step),void(h.step=setTimeout(function(){s()},n)))}function l(){clearTimeout(h.step),Z(h,"step"),Y(t)}var u=t.data(n),d=u.opt,h=u.sequential,p=e("#mCSB_"+u.idx+"_container"),f="stepped"===h.type,m=d.scrollInertia<26?26:d.scrollInertia,g=d.scrollInertia<1?17:d.scrollInertia;switch(i){case"on":if(h.dir=[r===c[16]||r===c[15]||39===r||37===r?"x":"y",r===c[13]||r===c[15]||38===r||37===r?-1:1],Y(t),te(r)&&"stepped"===h.type)return;s(f);break;case"off":l(),(f||u.tweenRunning&&h.dir)&&s(!0)}},F=function(t){var i=e(this).data(n).opt,r=[];return"function"==typeof t&&(t=t()),t instanceof Array?r=t.length>1?[t[0],t[1]]:"x"===i.axis?[null,t[0]]:[t[0],null]:(r[0]=t.y?t.y:t.x||"x"===i.axis?null:t,r[1]=t.x?t.x:t.y||"y"===i.axis?null:t),"function"==typeof r[0]&&(r[0]=r[0]()),"function"==typeof r[1]&&(r[1]=r[1]()),r},W=function(t,i){if(null!=t&&"undefined"!=typeof t){var r=e(this),a=r.data(n),o=a.opt,s=e("#mCSB_"+a.idx+"_container"),l=s.parent(),u=typeof t;i||(i="x"===o.axis?"x":"y");var c="x"===i?s.outerWidth(!1):s.outerHeight(!1),h="x"===i?s[0].offsetLeft:s[0].offsetTop,p="x"===i?"left":"top";switch(u){case"function":return t();case"object":var f=t.jquery?t:e(t);if(!f.length)return;return"x"===i?ie(f)[1]:ie(f)[0];case"string":case"number":if(te(t))return Math.abs(t);if(-1!==t.indexOf("%"))return Math.abs(c*parseInt(t)/100);if(-1!==t.indexOf("-="))return Math.abs(h-parseInt(t.split("-=")[1]));if(-1!==t.indexOf("+=")){var m=h+parseInt(t.split("+=")[1]);return m>=0?0:Math.abs(m)}if(-1!==t.indexOf("px")&&te(t.split("px")[0]))return Math.abs(t.split("px")[0]);if("top"===t||"left"===t)return 0;if("bottom"===t)return Math.abs(l.height()-s.outerHeight(!1));if("right"===t)return Math.abs(l.width()-s.outerWidth(!1));if("first"===t||"last"===t){var f=s.find(":"+t);return"x"===i?ie(f)[1]:ie(f)[0]}return e(t).length?"x"===i?ie(e(t))[1]:ie(e(t))[0]:(s.css(p,t),void d.update.call(null,r[0]))}}},U=function(t){function i(){clearTimeout(p[0].autoUpdate),p[0].autoUpdate=setTimeout(function(){return h.advanced.updateOnSelectorChange&&(f=o(),f!==w)?(s(3),void(w=f)):(h.advanced.updateOnContentResize&&(m=[p.outerHeight(!1),p.outerWidth(!1),v.height(),v.width(),b()[0],b()[1]],(m[0]!==_[0]||m[1]!==_[1]||m[2]!==_[2]||m[3]!==_[3]||m[4]!==_[4]||m[5]!==_[5])&&(s(m[0]!==_[0]||m[1]!==_[1]),_=m)),h.advanced.updateOnImageLoad&&(g=r(),g!==x&&(p.find("img").each(function(){a(this)}),x=g)),void((h.advanced.updateOnSelectorChange||h.advanced.updateOnContentResize||h.advanced.updateOnImageLoad)&&i()))},60)}function r(){var e=0;return h.advanced.updateOnImageLoad&&(e=p.find("img").length),e}function a(t){function i(e,t){return function(){return t.apply(e,arguments)}}function n(){this.onload=null,e(t).addClass(c[2]),s(2)}if(e(t).hasClass(c[2]))return void s();var r=new Image;r.onload=i(r,n),r.src=t.src}function o(){h.advanced.updateOnSelectorChange===!0&&(h.advanced.updateOnSelectorChange="*");var t=0,i=p.find(h.advanced.updateOnSelectorChange);return h.advanced.updateOnSelectorChange&&i.length>0&&i.each(function(){t+=e(this).height()+e(this).width()}),t}function s(e){clearTimeout(p[0].autoUpdate),d.update.call(null,l[0],e)}var l=e(this),u=l.data(n),h=u.opt,p=e("#mCSB_"+u.idx+"_container");if(t)return clearTimeout(p[0].autoUpdate),void Z(p[0],"autoUpdate");var f,m,g,v=p.parent(),y=[e("#mCSB_"+u.idx+"_scrollbar_vertical"),e("#mCSB_"+u.idx+"_scrollbar_horizontal")],b=function(){return[y[0].is(":visible")?y[0].outerHeight(!0):0,y[1].is(":visible")?y[1].outerWidth(!0):0]},w=o(),_=[p.outerHeight(!1),p.outerWidth(!1),v.height(),v.width(),b()[0],b()[1]],x=r();i()},N=function(e,t,i){return Math.round(e/t)*t-i},Y=function(t){var i=t.data(n),r=e("#mCSB_"+i.idx+"_container,#mCSB_"+i.idx+"_container_wrapper,#mCSB_"+i.idx+"_dragger_vertical,#mCSB_"+i.idx+"_dragger_horizontal");r.each(function(){V.call(this)})},X=function(t,i,r){function a(e){return l&&u.callbacks[e]&&"function"==typeof u.callbacks[e]}function o(){return[u.callbacks.alwaysTriggerOffsets||b>=w[0]+x,u.callbacks.alwaysTriggerOffsets||-j>=b]}function s(){var e=[p[0].offsetTop,p[0].offsetLeft],i=[v[0].offsetTop,v[0].offsetLeft],n=[p.outerHeight(!1),p.outerWidth(!1)],a=[h.height(),h.width()];t[0].mcs={content:p,top:e[0],left:e[1],draggerTop:i[0],draggerLeft:i[1],topPct:Math.round(100*Math.abs(e[0])/(Math.abs(n[0])-a[0])),leftPct:Math.round(100*Math.abs(e[1])/(Math.abs(n[1])-a[1])),direction:r.dir}}var l=t.data(n),u=l.opt,c={trigger:"internal",dir:"y",scrollEasing:"mcsEaseOut",drag:!1,dur:u.scrollInertia,overwrite:"all",callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},r=e.extend(c,r),d=[r.dur,r.drag?0:r.dur],h=e("#mCSB_"+l.idx),p=e("#mCSB_"+l.idx+"_container"),f=p.parent(),m=u.callbacks.onTotalScrollOffset?F.call(t,u.callbacks.onTotalScrollOffset):[0,0],g=u.callbacks.onTotalScrollBackOffset?F.call(t,u.callbacks.onTotalScrollBackOffset):[0,0]; if(l.trigger=r.trigger,(0!==f.scrollTop()||0!==f.scrollLeft())&&(e(".mCSB_"+l.idx+"_scrollbar").css("visibility","visible"),f.scrollTop(0).scrollLeft(0)),"_resetY"!==i||l.contentReset.y||(a("onOverflowYNone")&&u.callbacks.onOverflowYNone.call(t[0]),l.contentReset.y=1),"_resetX"!==i||l.contentReset.x||(a("onOverflowXNone")&&u.callbacks.onOverflowXNone.call(t[0]),l.contentReset.x=1),"_resetY"!==i&&"_resetX"!==i){switch(!l.contentReset.y&&t[0].mcs||!l.overflowed[0]||(a("onOverflowY")&&u.callbacks.onOverflowY.call(t[0]),l.contentReset.x=null),!l.contentReset.x&&t[0].mcs||!l.overflowed[1]||(a("onOverflowX")&&u.callbacks.onOverflowX.call(t[0]),l.contentReset.x=null),u.snapAmount&&(i=N(i,u.snapAmount,u.snapOffset)),r.dir){case"x":var v=e("#mCSB_"+l.idx+"_dragger_horizontal"),y="left",b=p[0].offsetLeft,w=[h.width()-p.outerWidth(!1),v.parent().width()-v.width()],_=[i,0===i?0:i/l.scrollRatio.x],x=m[1],j=g[1],S=x>0?x/l.scrollRatio.x:0,k=j>0?j/l.scrollRatio.x:0;break;case"y":var v=e("#mCSB_"+l.idx+"_dragger_vertical"),y="top",b=p[0].offsetTop,w=[h.height()-p.outerHeight(!1),v.parent().height()-v.height()],_=[i,0===i?0:i/l.scrollRatio.y],x=m[0],j=g[0],S=x>0?x/l.scrollRatio.y:0,k=j>0?j/l.scrollRatio.y:0}_[1]<0||0===_[0]&&0===_[1]?_=[0,0]:_[1]>=w[1]?_=[w[0],w[1]]:_[0]=-_[0],t[0].mcs||(s(),a("onInit")&&u.callbacks.onInit.call(t[0])),clearTimeout(p[0].onCompleteTimeout),(l.tweenRunning||!(0===b&&_[0]>=0||b===w[0]&&_[0]<=w[0]))&&(G(v[0],y,Math.round(_[1]),d[1],r.scrollEasing),G(p[0],y,Math.round(_[0]),d[0],r.scrollEasing,r.overwrite,{onStart:function(){r.callbacks&&r.onStart&&!l.tweenRunning&&(a("onScrollStart")&&(s(),u.callbacks.onScrollStart.call(t[0])),l.tweenRunning=!0,C(v),l.cbOffsets=o())},onUpdate:function(){r.callbacks&&r.onUpdate&&a("whileScrolling")&&(s(),u.callbacks.whileScrolling.call(t[0]))},onComplete:function(){if(r.callbacks&&r.onComplete){"yx"===u.axis&&clearTimeout(p[0].onCompleteTimeout);var e=p[0].idleTimer||0;p[0].onCompleteTimeout=setTimeout(function(){a("onScroll")&&(s(),u.callbacks.onScroll.call(t[0])),a("onTotalScroll")&&_[1]>=w[1]-S&&l.cbOffsets[0]&&(s(),u.callbacks.onTotalScroll.call(t[0])),a("onTotalScrollBack")&&_[1]<=k&&l.cbOffsets[1]&&(s(),u.callbacks.onTotalScrollBack.call(t[0])),l.tweenRunning=!1,p[0].idleTimer=0,C(v,"hide")},e)}}}))}},G=function(e,t,i,n,r,a,o){function s(){_.stop||(y||f.call(),y=K()-v,l(),y>=_.time&&(_.time=y>_.time?y+h-(y-_.time):y+h-1,_.time0?(_.currVal=d(_.time,b,x,n,r),w[t]=Math.round(_.currVal)+"px"):w[t]=i+"px",m.call()}function u(){h=1e3/60,_.time=y+h,p=window.requestAnimationFrame?window.requestAnimationFrame:function(e){return l(),setTimeout(e,.01)},_.id=p(s)}function c(){null!=_.id&&(window.requestAnimationFrame?window.cancelAnimationFrame(_.id):clearTimeout(_.id),_.id=null)}function d(e,t,i,n,r){switch(r){case"linear":case"mcsLinear":return i*e/n+t;case"mcsLinearOut":return e/=n,e--,i*Math.sqrt(1-e*e)+t;case"easeInOutSmooth":return e/=n/2,1>e?i/2*e*e+t:(e--,-i/2*(e*(e-2)-1)+t);case"easeInOutStrong":return e/=n/2,1>e?i/2*Math.pow(2,10*(e-1))+t:(e--,i/2*(-Math.pow(2,-10*e)+2)+t);case"easeInOut":case"mcsEaseInOut":return e/=n/2,1>e?i/2*e*e*e+t:(e-=2,i/2*(e*e*e+2)+t);case"easeOutSmooth":return e/=n,e--,-i*(e*e*e*e-1)+t;case"easeOutStrong":return i*(-Math.pow(2,-10*e/n)+1)+t;case"easeOut":case"mcsEaseOut":default:var a=(e/=n)*e,o=a*e;return t+i*(.499999999999997*o*a+-2.5*a*a+5.5*o+-6.5*a+4*e)}}e._mTween||(e._mTween={top:{},left:{}});var h,p,o=o||{},f=o.onStart||function(){},m=o.onUpdate||function(){},g=o.onComplete||function(){},v=K(),y=0,b=e.offsetTop,w=e.style,_=e._mTween[t];"left"===t&&(b=e.offsetLeft);var x=i-b;_.stop=0,"none"!==a&&c(),u()},K=function(){return window.performance&&window.performance.now?window.performance.now():window.performance&&window.performance.webkitNow?window.performance.webkitNow():Date.now?Date.now():(new Date).getTime()},V=function(){var e=this;e._mTween||(e._mTween={top:{},left:{}});for(var t=["top","left"],i=0;i=0&&n[0]+ie(r)[0]=0&&n[1]+ie(r)[1]")[0].getContext)},init:function(){var t=this.defaults;e.each(t,function(e,i){switch(e){case"aspectRatio":t[e]=H(q(i))||s;break;case"autoCropArea":t[e]=H(q(i))||.8;break;case"minWidth":case"minHeight":t[e]=H(q(i))||0;break;case"maxWidth":case"maxHeight":t[e]=H(q(i))||l}}),this.image={rotate:0},this.load()},load:function(){var t,i,n=this,a=this.$element,o=this.element,s=this.image,l="";a.is("img")?i=a.prop("src"):a.is("canvas")&&this.support.canvas&&(i=o.toDataURL()),i&&(this.replaced&&(s.rotate=0),this.defaults.checkImageOrigin&&(a.prop("crossOrigin")||this.isCrossOriginURL(i))&&(l=" crossOrigin"),this.$clone=t=e("'),t.one("load",function(){s.naturalWidth=this.naturalWidth||t.width(),s.naturalHeight=this.naturalHeight||t.height(),s.aspectRatio=s.naturalWidth/s.naturalHeight,n.url=i,n.ready=r,n.build()}),t.addClass(v).prependTo("body"))},isCrossOriginURL:function(e){var t=e.match(/^(https?:)\/\/([^\:\/\?#]+):?(\d*)/i);return!t||t[1]===n.protocol&&t[2]===n.hostname&&t[3]===n.port?a:r},build:function(){var t,i,n=this.$element,o=this.defaults;this.ready&&(this.built&&this.unbuild(),n.one($,o.build),t=e.Event($),n.trigger(t),t.isDefaultPrevented()||(this.$cropper=i=e(I.TEMPLATE),n.addClass(g),this.$clone.removeClass(v).prependTo(i),this.rotated||(this.$original=this.$clone.clone(),this.$original.addClass(g).prependTo(this.$cropper),this.originalImage=e.extend({},this.image)),this.$container=n.parent(),this.$container.append(i),this.$canvas=i.find(".cropper-canvas"),this.$dragger=i.find(".cropper-dragger"),this.$viewer=i.find(".cropper-viewer"),o.autoCrop?this.cropped=r:this.$dragger.addClass(g),o.dragCrop&&this.setDragMode("crop"),o.modal&&this.$canvas.addClass(m),!o.dashed&&this.$dragger.find(".cropper-dashed").addClass(g),!o.movable&&this.$dragger.find(".cropper-face").data(c,"move"),!o.resizable&&this.$dragger.find(".cropper-line, .cropper-point").addClass(g),this.addListeners(),this.initPreview(),this.built=r,this.update(),this.replaced=a,n.one(D,o.built),n.trigger(D)))},unbuild:function(){this.built&&(this.built=a,this.removeListeners(),this.$preview.empty(),this.$preview=o,this.$dragger=o,this.$canvas=o,this.$container=o,this.$cropper.remove(),this.$cropper=o)},update:function(e){this.initContainer(),this.initCropper(),this.initImage(),this.initDragger(),e?(this.setData(e,r),this.setDragMode("crop")):this.setData(this.defaults.data)},resize:function(){clearTimeout(this.resizing),this.resizing=setTimeout(e.proxy(this.update,this,this.getData()),200)},preview:function(){var t=this.image,i=this.dragger,n=t.width,r=t.height,a=i.left-t.left,o=i.top-t.top;this.$viewer.find("img").css({width:n,height:r,marginLeft:-a,marginTop:-o}),this.$preview.each(function(){var t=e(this),s=t.width()/i.width;t.find("img").css({width:n*s,height:r*s,marginLeft:-a*s,marginTop:-o*s})})},addListeners:function(){var n=this.defaults;this.$element.on(Q,n.dragstart).on(T,n.dragmove).on(O,n.dragend),this.$cropper.on(_,e.proxy(this.dragstart,this)).on(k,e.proxy(this.dblclick,this)),n.zoomable&&this.$cropper.on(C,e.proxy(this.wheel,this)),n.multiple?this.$cropper.on(x,e.proxy(this.dragmove,this)).on(j,e.proxy(this.dragend,this)):i.on(x,this._dragmove=E(this.dragmove,this)).on(j,this._dragend=E(this.dragend,this)),t.on(S,this._resize=E(this.resize,this))},removeListeners:function(){var e=this.defaults;this.$element.off(Q,e.dragstart).off(T,e.dragmove).off(O,e.dragend),this.$cropper.off(_,this.dragstart).off(k,this.dblclick),e.zoomable&&this.$cropper.off(C,this.wheel),e.multiple?this.$cropper.off(x,this.dragmove).off(j,this.dragend):i.off(x,this._dragmove).off(j,this._dragend),t.off(S,this._resize)},initPreview:function(){var t='';this.$preview=e(this.defaults.preview),this.$viewer.html(t),this.$preview.html(t).find("img").css("cssText","min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;")},initContainer:function(){var e=this.$container;e!==o&&(this.container={width:R(e.width(),300),height:R(e.height(),150)})},initCropper:function(){var e,t=this.container,i=this.image;i.naturalWidth*t.height/i.naturalHeight-t.width>=0?(e={width:t.width,height:t.width/i.aspectRatio,left:0},e.top=(t.height-e.height)/2):(e={width:t.height*i.aspectRatio,height:t.height,top:0},e.left=(t.width-e.width)/2),this.$cropper.css({width:e.width,height:e.height,left:e.left,top:e.top}),this.cropper=e},initImage:function(){var t=this.image,i=this.cropper,n={_width:i.width,_height:i.height,width:i.width,height:i.height,left:0,top:0,ratio:i.width/t.naturalWidth};this.defaultImage=e.extend({},t,n),t._width!==i.width||t._height!==i.height?e.extend(t,n):(t=e.extend({},n,t),this.replaced&&(t.ratio=n.ratio)),this.image=t,this.renderImage()},renderImage:function(e){var t=this.image;"zoom"===e&&(t.left-=(t.width-t.oldWidth)/2,t.top-=(t.height-t.oldHeight)/2),t.left=L(R(t.left,t._width-t.width),0),t.top=L(R(t.top,t._height-t.height),0),this.$clone.css({width:t.width,height:t.height,marginLeft:t.left,marginTop:t.top}),e&&(this.defaults.done(this.getData()),this.preview())},initDragger:function(){var t,i=this.defaults,n=this.cropper,r=i.aspectRatio||this.image.aspectRatio,a=this.image.ratio;t=n.height*r-n.width>=0?{height:n.width/r,width:n.width,left:0,top:(n.height-n.width/r)/2,maxWidth:n.width,maxHeight:n.width/r}:{height:n.height,width:n.height*r,left:(n.width-n.height*r)/2,top:0,maxWidth:n.height*r,maxHeight:n.height},t.minWidth=0,t.minHeight=0,i.aspectRatio?(isFinite(i.maxWidth)?(t.maxWidth=L(t.maxWidth,i.maxWidth*a),t.maxHeight=t.maxWidth/r):isFinite(i.maxHeight)&&(t.maxHeight=L(t.maxHeight,i.maxHeight*a),t.maxWidth=t.maxHeight*r),i.minWidth>0?(t.minWidth=R(0,i.minWidth*a),t.minHeight=t.minWidth/r):i.minHeight>0&&(t.minHeight=R(0,i.minHeight*a),t.minWidth=t.minHeight*r)):(t.maxWidth=L(t.maxWidth,i.maxWidth*a),t.maxHeight=L(t.maxHeight,i.maxHeight*a),t.minWidth=R(0,i.minWidth*a),t.minHeight=R(0,i.minHeight*a)),t.minWidth=L(t.maxWidth,t.minWidth),t.minHeight=L(t.maxHeight,t.minHeight),t.height*=i.autoCropArea,t.width*=i.autoCropArea,t.left=(n.width-t.width)/2,t.top=(n.height-t.height)/2,t.oldLeft=t.left,t.oldTop=t.top,this.defaultDragger=t,this.dragger=e.extend({},t)},renderDragger:function(){var e=this.dragger,t=this.cropper;e.width>e.maxWidth?(e.width=e.maxWidth,e.left=e.oldLeft):e.widthe.maxHeight?(e.height=e.maxHeight,e.top=e.oldTop):e.height').one("load",function(){l.width=this.width,l.height=this.height,n.clearRect(0,0,l.width,l.height),n.drawImage(this,0,0),o.load()})))},setData:function(t,i){var n=this.cropper,r=this.dragger,a=this.image,s=this.defaults.aspectRatio;this.built&&typeof t!==u&&((t===o||e.isEmptyObject(t))&&(r=e.extend({},this.defaultDragger)),e.isPlainObject(t)&&!e.isEmptyObject(t)&&(i||(this.defaults.data=t),t=this.transformData(t),A(t.x)&&t.x<=n.width-a.left&&(r.left=t.x+a.left),A(t.y)&&t.y<=n.height-a.top&&(r.top=t.y+a.top),s?A(t.width)&&t.width<=r.maxWidth&&t.width>=r.minWidth?(r.width=t.width,r.height=r.width/s):A(t.height)&&t.height<=r.maxHeight&&t.height>=r.minHeight&&(r.height=t.height,r.width=r.height*s):(A(t.width)&&t.width<=r.maxWidth&&t.width>=r.minWidth&&(r.width=t.width),A(t.height)&&t.height<=r.maxHeight&&t.height>=r.minHeight&&(r.height=t.height))),this.dragger=r,this.renderDragger())},getData:function(e){var t=this.dragger,i=this.image,n={};return this.built&&(n={x:t.left-i.left,y:t.top-i.top,width:t.width,height:t.height},n=this.transformData(n,r,e)),n},transformData:function(t,i,n){var r=this.image.ratio,a={};return e.each(t,function(e,t){t=q(t),p.test(e)&&!isNaN(t)&&(a[e]=i?n?Math.round(t/r):t/r:t*r)}),a},setAspectRatio:function(e){var t="auto"===e;e=q(e),(t||!isNaN(e)&&e>0)&&(this.defaults.aspectRatio=t?s:e,this.built&&(this.initDragger(),this.renderDragger()))},getImageData:function(){var t={};return this.ready&&e.each(this.image,function(e,i){f.test(e)&&(t[e]=i)}),t},getDataURL:function(t,i,n){var r,a=e("")[0],o=this.getData(),s="";return e.isPlainObject(t)||(n=i,i=t,t={}),t=e.extend({width:o.width,height:o.height},t),this.cropped&&this.support.canvas&&(a.width=t.width,a.height=t.height,r=a.getContext("2d"),"image/jpeg"===i&&(r.fillStyle="#fff",r.fillRect(0,0,t.width,t.height)),r.drawImage(this.$clone[0],o.x,o.y,o.width,o.height,0,0,t.width,t.height),s=a.toDataURL(i,n)),s},setDragMode:function(e){var t=this.$canvas,i=this.defaults,n=a,o=a;if(this.built&&!this.disabled){switch(e){case"crop":i.dragCrop&&(n=r,t.data(c,e));break;case"move":o=r,t.data(c,e);break;default:t.removeData(c)}t.toggleClass(b,n).toggleClass(y,o)}},enable:function(){this.built&&(this.disabled=a,this.$cropper.removeClass(w))},disable:function(){this.built&&(this.disabled=r,this.$cropper.addClass(w))},rotate:function(e){var t=this.image;e=q(e)||0,this.built&&0!==e&&!this.disabled&&this.defaults.rotatable&&this.support.canvas&&(this.rotated=r,e=t.rotate=(t.rotate+e)%360,this.replace(this.getRotatedDataURL(e),!0))},getRotatedDataURL:function(t){var i=e("")[0],n=i.getContext("2d"),r=t*Math.PI/180,a=H(t)%180,o=a>90?180-a:a,s=o*Math.PI/180,l=this.originalImage,u=l.naturalWidth,c=l.naturalHeight,d=H(u*z(s)+c*B(s)),h=H(u*B(s)+c*z(s));return i.width=d,i.height=h,n.save(),n.translate(d/2,h/2),n.rotate(r),n.drawImage(this.$original[0],-u/2,-c/2,u,c),n.restore(),i.toDataURL()},zoom:function(e){var t,i,n,r=this.image;e=q(e),this.built&&e&&!this.disabled&&this.defaults.zoomable&&(t=r.width*(1+e),i=r.height*(1+e),n=t/r._width,n>10||(n<1&&(t=r._width,i=r._height),n<=1?this.setDragMode("crop"):this.setDragMode("move"),r.oldWidth=r.width,r.oldHeight=r.height,r.width=t,r.height=i,r.ratio=r.width/r.naturalWidth,this.renderImage("zoom")))},dblclick:function(){this.disabled||(this.$canvas.hasClass(b)?this.setDragMode("move"):this.setDragMode("crop"))},wheel:function(e){var t,i=e.originalEvent,n=117.25,r=5,a=166.66665649414062,o=.1;this.disabled||(e.preventDefault(),i.deltaY?(t=i.deltaY,t=t%r===0?t/r:t%n===0?t/n:t/a):t=i.wheelDelta?-i.wheelDelta/120:i.detail?i.detail/3:0,this.zoom(t*o))},dragstart:function(t){var i,n,o,s=t.originalEvent.touches,l=t;if(!this.disabled){if(s){if(o=s.length,o>1){if(!this.defaults.zoomable||2!==o)return;l=s[1],this.startX2=l.pageX,this.startY2=l.pageY,i="zoom"}l=s[0]}if(i=i||e(l.target).data(c),h.test(i)){if(t.preventDefault(),n=e.Event(Q),this.$element.trigger(n),n.isDefaultPrevented())return;this.directive=i,this.cropping=a,this.startX=l.pageX,this.startY=l.pageY,"crop"===i&&(this.cropping=r,this.$canvas.addClass(m))}}},dragmove:function(t){var i,n,r=t.originalEvent.touches,a=t;if(!this.disabled){if(r){if(n=r.length,n>1){if(!this.defaults.zoomable||2!==n)return;a=r[1],this.endX2=a.pageX,this.endY2=a.pageY}a=r[0]}if(this.directive){if(t.preventDefault(),i=e.Event(T),this.$element.trigger(i),i.isDefaultPrevented())return;this.endX=a.pageX,this.endY=a.pageY,this.dragging()}}},dragend:function(t){var i;if(!this.disabled&&this.directive){if(t.preventDefault(),i=e.Event(O),this.$element.trigger(i),i.isDefaultPrevented())return;this.cropping&&(this.cropping=a,this.$canvas.toggleClass(m,this.cropped&&this.defaults.modal)),this.directive=""}},dragging:function(){var e,t=this.directive,i=this.image,n=this.cropper,o=n.width,s=n.height,l=this.dragger,u=l.width,c=l.height,d=l.left,h=l.top,p=d+u,f=h+c,m=r,v=this.defaults,y=v.aspectRatio,b={x:this.endX-this.startX,y:this.endY-this.startY};switch(y&&(b.X=b.y*y,b.Y=b.x/y),t){case"all":d+=b.x,h+=b.y;break;case"e":if(b.x>=0&&(p>=o||y&&(h<=0||f>=s))){m=a;break}u+=b.x,y&&(c=u/y,h-=b.Y/2),u<0&&(t="w",u=0);break;case"n":if(b.y<=0&&(h<=0||y&&(d<=0||p>=o))){m=a;break}c-=b.y,h+=b.y,y&&(u=c*y,d+=b.X/2),c<0&&(t="s",c=0);break;case"w":if(b.x<=0&&(d<=0||y&&(h<=0||f>=s))){m=a;break}u-=b.x,d+=b.x,y&&(c=u/y,h+=b.Y/2),u<0&&(t="e",u=0);break;case"s":if(b.y>=0&&(f>=s||y&&(d<=0||p>=o))){m=a;break}c+=b.y,y&&(u=c*y,d-=b.X/2),c<0&&(t="n",c=0);break;case"ne":if(y){if(b.y<=0&&(h<=0||p>=o)){m=a;break}c-=b.y,h+=b.y,u=c*y}else b.x>=0?p0&&(c-=b.y,h+=b.y):(c-=b.y,h+=b.y);c<0&&(t="sw",c=0,u=0);break;case"nw":if(y){if(b.y<=0&&(h<=0||d<=0)){m=a;break}c-=b.y,h+=b.y,u=c*y,d+=b.X}else b.x<=0?d>0?(u-=b.x,d+=b.x):b.y<=0&&h<=0&&(m=a):(u-=b.x,d+=b.x),b.y<=0?h>0&&(c-=b.y,h+=b.y):(c-=b.y,h+=b.y);c<0&&(t="se",c=0,u=0);break;case"sw":if(y){if(b.x<=0&&(d<=0||f>=s)){m=a;break}u-=b.x,d+=b.x,c=u/y}else b.x<=0?d>0?(u-=b.x,d+=b.x):b.y>=0&&f>=s&&(m=a):(u-=b.x,d+=b.x),b.y>=0?f=0&&(p>=o||f>=s)){m=a;break}u+=b.x,c=u/y}else b.x>=0?p=0&&f>=s&&(m=a):u+=b.x,b.y>=0?f0?b.y>0?t="se":(t="ne",h-=c):b.y>0?(t="sw",d-=u):(t="nw",d-=u,h-=c),this.cropped||(this.cropped=r,this.$dragger.removeClass(g)))}m&&(l.width=u,l.height=c,l.left=d,l.top=h,this.directive=t,this.renderDragger()),this.startX=this.endX,this.startY=this.endY}},I.TEMPLATE=function(e,t){return t=t.split(","),e.replace(/\d+/g,function(e){return t[e]})}('<0 6="5-container"><0 6="5-canvas"><0 6="5-dragger"><1 6="5-viewer"><1 6="5-8 8-h"><1 6="5-8 8-v"><1 6="5-face" 3-2="all"><1 6="5-7 7-e" 3-2="e"><1 6="5-7 7-n" 3-2="n"><1 6="5-7 7-w" 3-2="w"><1 6="5-7 7-s" 3-2="s"><1 6="5-4 4-e" 3-2="e"><1 6="5-4 4-n" 3-2="n"><1 6="5-4 4-w" 3-2="w"><1 6="5-4 4-s" 3-2="s"><1 6="5-4 4-ne" 3-2="ne"><1 6="5-4 4-nw" 3-2="nw"><1 6="5-4 4-sw" 3-2="sw"><1 6="5-4 4-se" 3-2="se">',"div,span,directive,data,point,cropper,class,line,dashed"),I.DEFAULTS={aspectRatio:"auto",autoCropArea:.8,data:{},done:e.noop,preview:"",multiple:a,autoCrop:r,dragCrop:r,dashed:r,modal:r,movable:r,resizable:r,zoomable:r,rotatable:r,checkImageOrigin:r,minWidth:0,minHeight:0,maxWidth:l,maxHeight:l,build:o,built:o,dragstart:o,dragmove:o,dragend:o},I.setDefaults=function(t){e.extend(I.DEFAULTS,t)},I.other=e.fn.cropper,e.fn.cropper=function(t){var i,n=M(arguments,1);return this.each(function(){var r,a=e(this),o=a.data("cropper");o||a.data("cropper",o=new I(this,t)),"string"==typeof t&&e.isFunction(r=o[t])&&(i=r.apply(o,n))}),typeof i!==u?i:this},e.fn.cropper.Constructor=I,e.fn.cropper.setDefaults=I.setDefaults,e.fn.cropper.noConflict=function(){return e.fn.cropper=I.other,this}}),function(e){function t(e,t){return"function"==typeof e?e.call(t):e}function i(e){for(;e=e.parentNode;)if(e==document)return!0;return!1}function n(t,i){this.$element=e(t),this.options=i,this.enabled=!0,this.fixTitle()}n.prototype={show:function(){var i=this.getTitle();if(i&&this.enabled){var n=this.tip();n.find(".tipsy-inner")[this.options.html?"html":"text"](i),n[0].className="tipsy",n.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).prependTo(document.body);var r,a=e.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight}),o=n[0].offsetWidth,s=n[0].offsetHeight,l=t(this.options.gravity,this.$element[0]);switch(l.charAt(0)){case"n":r={top:a.top+a.height+this.options.offset,left:a.left+a.width/2-o/2};break;case"s":r={top:a.top-s-this.options.offset,left:a.left+a.width/2-o/2};break;case"e":r={top:a.top+a.height/2-s/2,left:a.left-o-this.options.offset};break;case"w":extra_gap=0,e("body").css("position").length>0&&"relative"==e("body").css("position")&&e("#wpadminbar").length&&(extra_gap=e("#wpadminbar").height()),r={top:a.top+a.height/2-s/2-extra_gap,left:a.left+a.width+this.options.offset}}2==l.length&&("w"==l.charAt(1)?r.left=a.left+a.width/2-15:r.left=a.left+a.width/2-o+15),n.css(r).addClass("tipsy-"+l),n.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+l.charAt(0),this.options.className&&n.addClass(t(this.options.className,this.$element[0])),this.options.fade?n.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:this.options.opacity}):n.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?this.tip().stop().fadeOut(function(){e(this).remove()}):this.tip().remove()},fixTitle:function(){var e=this.$element;(e.attr("title")||"string"!=typeof e.attr("original-title"))&&e.attr("original-title",e.attr("title")||"").removeAttr("title")},getTitle:function(){var e,t=this.$element,i=this.options;this.fixTitle();var e,i=this.options;return"string"==typeof i.title?e=t.attr("title"==i.title?"original-title":i.title):"function"==typeof i.title&&(e=i.title.call(t[0])),e=(""+e).replace(/(^\s*|\s*$)/,""),e||i.fallback},tip:function(){return this.$tip||(this.$tip=e('
    ').html('
    '),this.$tip.data("tipsy-pointee",this.$element[0])),this.$tip},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}},e.fn.tipsy=function(t){function i(i){var r=e.data(i,"tipsy");return r||(r=new n(i,e.fn.tipsy.elementOptions(i,t)),e.data(i,"tipsy",r)),r}function r(){var e=i(this);e.hoverState="in",0==t.delayIn?e.show():(e.fixTitle(),setTimeout(function(){"in"==e.hoverState&&e.show()},t.delayIn))}function a(){var e=i(this);e.hoverState="out",0==t.delayOut?e.hide():setTimeout(function(){"out"==e.hoverState&&e.hide()},t.delayOut)}if(t===!0)return this.data("tipsy");if("string"==typeof t){var o=this.data("tipsy");return o&&o[t](),this}if(t=e.extend({},e.fn.tipsy.defaults,t),t.live||this.each(function(){i(this)}),"manual"!=t.trigger){var s="hover"==t.trigger?"mouseenter":"focus",l="hover"==t.trigger?"mouseleave":"blur";t.live?e(document).on(s,this.selector,r).on(l,this.selector,a):this.bind(s,r).bind(l,a)}return this},e.fn.tipsy.defaults={className:null,delayIn:0,delayOut:0,fade:!1,fallback:"",gravity:"n",html:!1,live:!1,offset:0,opacity:.8,title:"title",trigger:"hover"},e.fn.tipsy.revalidate=function(){e(".tipsy").each(function(){var t=e.data(this,"tipsy-pointee");t&&i(t)||e(this).remove()})},e.fn.tipsy.elementOptions=function(t,i){return e.metadata?e.extend({},i,e(t).metadata()):i},e.fn.tipsy.autoNS=function(){return e(this).offset().top>e(document).scrollTop()+e(window).height()/2?"s":"n"},e.fn.tipsy.autoWE=function(){return e(this).offset().left>e(document).scrollLeft()+e(window).width()/2?"e":"w"},e.fn.tipsy.autoBounds=function(t,i){return function(){var n={ns:i[0],ew:i.length>1&&i[1]},r=e(document).scrollTop()+t,a=e(document).scrollLeft()+t,o=e(this);return o.offset().topparseInt(u)?(n(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.hide(),e[o.child]={act:"hide",op:c})),"less than"==c&&(jQuery.isNumeric(u)&&parseInt(f)=0?(n(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.hide(),e[o.child]={act:"hide",op:c}))),"hide"==l&&"undefined"!=typeof u&&("empty"==c&&(f&&""!=f?e[o.child]={act:"show",op:c}:(r(m,s,c,p,i),e[o.child]={act:l,op:c})),"not empty"==c&&(f&&""!=f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):e[o.child]={act:"show",op:c}),"equals to"==c&&(u==f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):e[o.child]={act:"show",op:c}),"not equals"==c&&(jQuery.isNumeric(u)&&parseInt(f)!=parseInt(u)&&f?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):jQuery.isNumeric(u)||u==f?(g.show(),e[o.child]={act:"show",op:c}):(r(m,s,c,p,i),e[o.child]={act:l,op:c})),"greater than"==c&&(jQuery.isNumeric(u)&&parseInt(f)>parseInt(u)?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):(g.show(),e[o.child]={act:"show",op:c})),"less than"==c&&(jQuery.isNumeric(u)&&parseInt(f)=0?(r(m,s,c,p,i),e[o.child]={act:l,op:c}):e[o.child]={act:"show",op:c}));var v=e[o.child];"child"==l&&"undefined"!=typeof v&&("hide"==v.act?jQuery('.um-field[data-key="'+i+'"]').hide():"show"==v.act&&jQuery('.um-field[data-key="'+i+'"]').show())})})}function n(e,t,i,n,r){e=e.parents(".um-field"),e.is(":hidden")&&(t?e.fadeIn(1):e.show())}function r(e,t,i,n,r){e=e.parents(".um-field"),e.is(":visible")&&(t?e.fadeOut(1):e.hide())}function a(e){return s=e.parents(".um-field").data("key"),l=e.val(),e.is(":checkbox")&&(e.parents(".um-field").find("input:checked").length>1?(l="",e.parents(".um-field").find("input:checked").each(function(){l=l+jQuery(this).val()+" "})):l=e.parents(".um-field").find("input:checked").val()),e.is(":radio")&&(l=e.parents(".um-field").find("input[type=radio]:checked").val()),{key:s,value:l}}function o(){var e=u;0==h&&jQuery.each(e,function(t,i){var n=[],r=[];jQuery.each(e,function(e,i){for(var a=0;a<=i.length;a++)"undefined"!=typeof i[a]&&t==i[a].field&&(n.push(i[a]),r.push(i[a].child))}),c[t]=n})}var s,l,u={},c={},d=[],h=!1,p=!1;jQuery(document).on("input change",".um-field input[type=text]",function(){p&&e()}),jQuery(document).on("change",".um-field select, .um-field input[type=radio], .um-field input[type=checkbox]",function(){p&&e()}),e(),p=!0}),jQuery(document).ready(function(){function e(e,i,n,r){var a=e.data("um-parent");e.attr("name"),jQuery('select[name="'+a+'"]');e.find('option[value!=""]').remove(),e.hasClass("um-child-option-disabled")||e.removeAttr("disabled");var r=[];jQuery.each(i.items,function(e,t){r.push({id:e,text:t})}),e.select2("destroy"),e.select2({data:r,allowClear:!0,minimumResultsForSearch:10}),"undefined"==typeof i.field.default||e.data("um-original-value")?""!=e.data("um-original-value")&&e.val(e.data("um-original-value")).trigger("change"):e.val(i.field.default).trigger("change"), -0==i.field.editable&&(e.addClass("um-child-option-disabled"),e.attr("disabled","disabled")),t[n]=i}jQuery(document).on("click",".um-dropdown a",function(e){return!1}),jQuery(document).on("click",".um-dropdown a.real_url",function(e){window.location=jQuery(this).attr("href")}),jQuery(document).on("click",".um-trigger-menu-on-click",function(e){return jQuery(".um-dropdown").hide(),menu=jQuery(this).find(".um-dropdown"),menu.show(),!1}),jQuery(document).on("click",".um-dropdown-hide",function(e){UM_hide_menus()}),jQuery(document).on("click","a.um-manual-trigger",function(){var e=jQuery(this).attr("data-child"),t=jQuery(this).attr("data-parent");jQuery(this).parents(t).find(e).trigger("click")}),jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}),jQuery(document).on("change",".um-field-area input[type=radio]",function(){var e=jQuery(this).parents(".um-field-area"),t=jQuery(this).parents("label");e.find(".um-field-radio").removeClass("active"),e.find(".um-field-radio").find("i").removeClass().addClass("um-icon-android-radio-button-off"),t.addClass("active"),t.find("i").removeClass().addClass("um-icon-android-radio-button-on")}),jQuery(document).on("change",".um-field-area input[type=checkbox]",function(){var e=(jQuery(this).parents(".um-field-area"),jQuery(this).parents("label"));e.hasClass("active")?(e.removeClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline-blank")):(e.addClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline"))}),jQuery(".um-datepicker").each(function(){if(elem=jQuery(this),""!=elem.attr("data-disabled_weekdays"))var e=JSON.parse(elem.attr("data-disabled_weekdays"));else var e=!1;var t=elem.attr("data-years"),i=elem.attr("data-date_min"),n=elem.attr("data-date_max"),r=i.split(","),a=n.split(","),o=r.length?new Date(r):null,s=r.length?new Date(a):null;if(o&&"Invalid Date"==o.toString()&&3==r.length){var l=r[1]+"/"+r[2]+"/"+r[0];o=new Date(Date.parse(l))}if(s&&"Invalid Date"==s.toString()&&3==a.length){var u=a[1]+"/"+a[2]+"/"+a[0];s=new Date(Date.parse(u))}elem.pickadate({selectYears:t,min:o,max:s,disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-timepicker").each(function(){elem=jQuery(this),elem.pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-rating").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,click:function(e,t){live_field=this.id,live_value=e,um_conditional()}}),jQuery(".um-rating-readonly").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,readOnly:!0}),jQuery(document).on("click",".um .um-single-image-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-image-preview img").attr("src");return t.find(".um-single-image-preview img").attr("src",""),t.find(".um-single-image-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val(""),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(document).on("click",".um .um-single-file-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-fileinfo a").attr("href");return t.find(".um-single-file-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val(""),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(".um-s1,.um-s2").css({display:"block"}),jQuery(".um-s1").select2({allowClear:!0}),jQuery(".um-s2").select2({allowClear:!1,minimumResultsForSearch:10}),jQuery(document).on("click",".um-field-group-head:not(.disabled)",function(){var e=jQuery(this).parents(".um-field-group"),t=e.data("max_entries");e.find(".um-field-group-body").is(":hidden")?e.find(".um-field-group-body").show():e.find(".um-field-group-body:first").clone().appendTo(e),increase_id=0,e.find(".um-field-group-body").each(function(){increase_id++,jQuery(this).find("input").each(function(){var e=jQuery(this);e.attr("id",e.data("key")+"-"+increase_id),e.attr("name",e.data("key")+"-"+increase_id),e.parent().parent().find("label").attr("for",e.data("key")+"-"+increase_id)})}),t>0&&e.find(".um-field-group-body").length==t&&jQuery(this).addClass("disabled")}),jQuery(document).on("click",".um-field-group-cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field-group"),i=t.data("max_entries");return t.find(".um-field-group-body").length>1?jQuery(this).parents(".um-field-group-body").remove():jQuery(this).parents(".um-field-group-body").hide(),i>0&&t.find(".um-field-group-body").length
    '),jQuery(".um-dropdown").hide(),um_responsive(),user_id=jQuery(this).attr("data-user_id"),metakey="cover_photo",jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_delete_cover_photo",metakey:metakey,user_id:user_id}})}),e(),jQuery("textarea[id=um-meta-bio]").change(e),jQuery("textarea[id=um-meta-bio]").keyup(e),jQuery(".um-profile-edit a.um_delete-item").click(function(e){e.preventDefault();var t=confirm("Are you sure that you want to delete this user?");if(!t)return!1})}),jQuery(document).ready(function(){var e=jQuery(".um-account-main").attr("data-current_tab");e&&jQuery(".um-account-tab[data-tab="+e+"]").show(),jQuery(document).on("click",".um-account-side li a",function(e){e.preventDefault();var t=jQuery(this);t.parents("ul").find("li a").removeClass("current"),t.addClass("current");var i=jQuery(this).attr("href"),n=jQuery(this).attr("data-tab");return jQuery("input[id=_um_account_tab]:hidden").val(n),window.history.pushState("","",i),jQuery(".um-account-tab").hide(),jQuery(".um-account-tab[data-tab="+n+"]").fadeIn(),jQuery(".um-account-nav a").removeClass("current"),jQuery(".um-account-nav a[data-tab="+n+"]").addClass("current"),!1})}),jQuery(document).on("click",".um-account-nav a",function(e){e.preventDefault();var t=jQuery(this).attr("data-tab"),i=jQuery(this).parents("div"),n=jQuery(this);return jQuery("input[id=_um_account_tab]:hidden").val(t),jQuery(".um-account-tab").hide(),n.hasClass("current")?(i.next(".um-account-tab").slideUp(),n.removeClass("current")):(i.next(".um-account-tab").slideDown(),n.parents("div").find("a").removeClass("current"),n.addClass("current")),jQuery(".um-account-side li a").removeClass("current"),jQuery(".um-account-side li a[data-tab="+t+"]").addClass("current"),!1}); \ No newline at end of file +0==i.field.editable&&(e.addClass("um-child-option-disabled"),e.attr("disabled","disabled")),t[n]=i}jQuery(document).on("click",".um-dropdown a",function(e){return!1}),jQuery(document).on("click",".um-dropdown a.real_url",function(e){window.location=jQuery(this).attr("href")}),jQuery(document).on("click",".um-trigger-menu-on-click",function(e){return jQuery(".um-dropdown").hide(),menu=jQuery(this).find(".um-dropdown"),menu.show(),!1}),jQuery(document).on("click",".um-dropdown-hide",function(e){UM_hide_menus()}),jQuery(document).on("click","a.um-manual-trigger",function(){var e=jQuery(this).attr("data-child"),t=jQuery(this).attr("data-parent");jQuery(this).parents(t).find(e).trigger("click")}),jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}),jQuery(document).on("change",".um-field-area input[type=radio]",function(){var e=jQuery(this).parents(".um-field-area"),t=jQuery(this).parents("label");e.find(".um-field-radio").removeClass("active"),e.find(".um-field-radio").find("i").removeClass().addClass("um-icon-android-radio-button-off"),t.addClass("active"),t.find("i").removeClass().addClass("um-icon-android-radio-button-on")}),jQuery(document).on("change",".um-field-area input[type=checkbox]",function(){var e=(jQuery(this).parents(".um-field-area"),jQuery(this).parents("label"));e.hasClass("active")?(e.removeClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline-blank")):(e.addClass("active"),e.find("i").removeClass().addClass("um-icon-android-checkbox-outline"))}),jQuery(".um-datepicker").each(function(){if(elem=jQuery(this),""!=elem.attr("data-disabled_weekdays"))var e=JSON.parse(elem.attr("data-disabled_weekdays"));else var e=!1;var t=elem.attr("data-years"),i=elem.attr("data-date_min"),n=elem.attr("data-date_max"),r=i.split(","),a=n.split(","),o=r.length?new Date(r):null,s=r.length?new Date(a):null;if(o&&"Invalid Date"==o.toString()&&3==r.length){var l=r[1]+"/"+r[2]+"/"+r[0];o=new Date(Date.parse(l))}if(s&&"Invalid Date"==s.toString()&&3==a.length){var u=a[1]+"/"+a[2]+"/"+a[0];s=new Date(Date.parse(u))}elem.pickadate({selectYears:t,min:o,max:s,disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-timepicker").each(function(){elem=jQuery(this),elem.pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-rating").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,click:function(e,t){live_field=this.id,live_value=e,um_conditional()}}),jQuery(".um-rating-readonly").raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,readOnly:!0}),jQuery(document).on("click",".um .um-single-image-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-image-preview img").attr("src");return t.find(".um-single-image-preview img").attr("src",""),t.find(".um-single-image-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val("empty_file"),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(document).on("click",".um .um-single-file-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),i=jQuery(this).parents(".um-field").find(".um-single-fileinfo a").attr("href");return t.find(".um-single-file-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val("empty_file"),jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_remove_file",src:i}}),!1}),jQuery(".um-s1,.um-s2").css({display:"block"}),jQuery(".um-s1").select2({allowClear:!0}),jQuery(".um-s2").select2({allowClear:!1,minimumResultsForSearch:10}),jQuery(document).on("click",".um-field-group-head:not(.disabled)",function(){var e=jQuery(this).parents(".um-field-group"),t=e.data("max_entries");e.find(".um-field-group-body").is(":hidden")?e.find(".um-field-group-body").show():e.find(".um-field-group-body:first").clone().appendTo(e),increase_id=0,e.find(".um-field-group-body").each(function(){increase_id++,jQuery(this).find("input").each(function(){var e=jQuery(this);e.attr("id",e.data("key")+"-"+increase_id),e.attr("name",e.data("key")+"-"+increase_id),e.parent().parent().find("label").attr("for",e.data("key")+"-"+increase_id)})}),t>0&&e.find(".um-field-group-body").length==t&&jQuery(this).addClass("disabled")}),jQuery(document).on("click",".um-field-group-cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field-group"),i=t.data("max_entries");return t.find(".um-field-group-body").length>1?jQuery(this).parents(".um-field-group-body").remove():jQuery(this).parents(".um-field-group-body").hide(),i>0&&t.find(".um-field-group-body").length'),jQuery(".um-dropdown").hide(),um_responsive(),user_id=jQuery(this).attr("data-user_id"),metakey="cover_photo",jQuery.ajax({url:um_scripts.ajaxurl,type:"post",data:{action:"ultimatemember_delete_cover_photo",metakey:metakey,user_id:user_id}})}),e(),jQuery("textarea[id=um-meta-bio]").change(e),jQuery("textarea[id=um-meta-bio]").keyup(e),jQuery(".um-profile-edit a.um_delete-item").click(function(e){e.preventDefault();var t=confirm("Are you sure that you want to delete this user?");if(!t)return!1})}),jQuery(document).ready(function(){var e=jQuery(".um-account-main").attr("data-current_tab");e&&jQuery(".um-account-tab[data-tab="+e+"]").show(),jQuery(document).on("click",".um-account-side li a",function(e){e.preventDefault();var t=jQuery(this);t.parents("ul").find("li a").removeClass("current"),t.addClass("current");var i=jQuery(this).attr("href"),n=jQuery(this).attr("data-tab");return jQuery("input[id=_um_account_tab]:hidden").val(n),window.history.pushState("","",i),jQuery(".um-account-tab").hide(),jQuery(".um-account-tab[data-tab="+n+"]").fadeIn(),jQuery(".um-account-nav a").removeClass("current"),jQuery(".um-account-nav a[data-tab="+n+"]").addClass("current"),!1})}),jQuery(document).on("click",".um-account-nav a",function(e){e.preventDefault();var t=jQuery(this).attr("data-tab"),i=jQuery(this).parents("div"),n=jQuery(this);return jQuery("input[id=_um_account_tab]:hidden").val(t),jQuery(".um-account-tab").hide(),n.hasClass("current")?(i.next(".um-account-tab").slideUp(),n.removeClass("current")):(i.next(".um-account-tab").slideDown(),n.parents("div").find("a").removeClass("current"),n.addClass("current")),jQuery(".um-account-side li a").removeClass("current"),jQuery(".um-account-side li a[data-tab="+t+"]").addClass("current"),!1}); \ No newline at end of file diff --git a/core/um-actions-profile.php b/core/um-actions-profile.php index 3ca2570a..61498dce 100644 --- a/core/um-actions-profile.php +++ b/core/um-actions-profile.php @@ -77,7 +77,8 @@ if ( isset( $args['submitted'][ $key ] ) ) { - if ( isset( $fields[$key]['type'] ) && in_array( $fields[$key]['type'], array('image','file') ) && um_is_temp_upload( $args['submitted'][ $key ] ) ) { + if ( isset( $fields[$key]['type'] ) && in_array( $fields[$key]['type'], array('image','file') ) && + ( um_is_temp_upload( $args['submitted'][ $key ] ) || $args['submitted'][ $key ] == 'empty_file' ) ) { $files[ $key ] = $args['submitted'][ $key ]; @@ -116,6 +117,7 @@ $files = apply_filters('um_user_pre_updating_files_array', $files); if ( is_array( $files ) ) { + do_action('um_before_user_upload', um_user('ID'), $files ); $ultimatemember->user->update_files( $files ); do_action('um_after_user_upload', um_user('ID'), $files ); } @@ -705,3 +707,29 @@ } } + + /** + * Clean up file for new uploaded files + * @param integer $user_id + * @param array $arr_files + */ + add_action("um_before_user_upload","um_before_user_upload", 10 ,2 ); + function um_before_user_upload( $user_id, $arr_files ){ + global $ultimatemember; + + um_fetch_user( $user_id ); + + foreach ($arr_files as $key => $filename ) { + if( um_user( $key ) ){ + if( basename( $filename ) != basename( um_user( $key ) ) || in_array( $old_filename , array( basename( um_user( $key ) ), basename( $filename ) ) ) || $filename == 'empty_file' ){ + $old_filename = um_user( $key ); + $path = $ultimatemember->files->upload_basedir; + delete_user_meta( $user_id, $old_filename ); + if ( file_exists( $path . $user_id . '/' . $old_filename ) ) { + unlink( $path . $user_id . '/' . $old_filename ); + } + } + } + } + } + From 71b29f34db07ad3065d09c50e3b1d7cc415a84e4 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Fri, 16 Jun 2017 23:21:07 +0800 Subject: [PATCH 21/28] Fix extra slashes in form edit fields when invalid input fields occur --- core/um-fields.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/um-fields.php b/core/um-fields.php index 8252f6ef..9f3bbc59 100644 --- a/core/um-fields.php +++ b/core/um-fields.php @@ -439,7 +439,7 @@ class UM_Fields { if ( strstr( $key, 'user_pass' ) && $this->set_mode != 'password' ) return ''; - return $ultimatemember->form->post_form[ $key ]; + return stripslashes_deep( $ultimatemember->form->post_form[ $key ] ); } else if ( um_user( $key ) && $this->editing == true ) { From eed2c0be6aed4424da98fa58a633edc78424e6cd Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Sun, 18 Jun 2017 22:46:42 +0800 Subject: [PATCH 22/28] Update ReadMe --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dd3f96ba..da0fef63 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ GNU Version 2 or Any Later Version Releases ==================== -[Pre-Release Version: 1.3.85.16](https://github.com/ultimatemember/ultimatemember/releases). +[Pre-Release Version: 1.3.85.18](https://github.com/ultimatemember/ultimatemember/releases). [Official Release Version: 1.3.83](https://github.com/ultimatemember/ultimatemember/releases). From 59dc47bf014e47712b96bd5b7ccd2f7c89fb77f6 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Sun, 18 Jun 2017 23:40:06 +0800 Subject: [PATCH 23/28] Tagging 1.3.85 --- README.md | 2 +- index.php | 2 +- readme.txt | 34 ++++++++++++++++++++++++++++++++-- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index da0fef63..796c9770 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Ultimate Member is a powerful and flexible WordPress plugin that makes it a bree | Latest Version |Requires at least|Stable Tag| | :------------: |:------------:|:------------:| -| 1.3.84 | WordPress 4.5 or higher| 1.3.78 | +| 1.3.85 | WordPress 4.5 or higher| 1.3.75 | Features of the plugin include: diff --git a/index.php b/index.php index 105882aa..7c097466 100644 --- a/index.php +++ b/index.php @@ -3,7 +3,7 @@ Plugin Name: Ultimate Member Plugin URI: http://ultimatemember.com/ Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress -Version: 1.3.84 +Version: 1.3.85 Author: Ultimate Member Author URI: http://ultimatemember.com/ Text Domain: ultimate-member diff --git a/readme.txt b/readme.txt index 4e47c4c7..8c3d6dac 100644 --- a/readme.txt +++ b/readme.txt @@ -5,9 +5,9 @@ Contributors: ultimatemember, champsupertramp Donate link: Tags: community, member, membership, user-profile, user-registration Requires at least: 4.1 -Tested up to: 4.7.3 +Tested up to: 4.8 -Stable Tag: 1.3.84 +Stable Tag: 1.3.85 License: GNU Version 2 or Any Later Version @@ -150,6 +150,36 @@ The plugin works with popular caching plugins by automatically excluding Ultimat == Changelog == += 1.3.85: June 19, 2017 = + +* Enhancements: + * Add new filter hook to modify the profile cancel uri for redirection + * `um_edit_profile_cancel_uri` + * Add new filter hook to modify the specific field type's value + * `um_edit_{$type}_field_value` + * Add new filter hook that modies the file name + * `um_upload_file_name` + * Update en_US translation files + +* Bugfixes: + * Fix file clean up with image/file fields on profile update + * Fix text domain slug for wp.org translation compatibility + * Fix change password email notification + * Fix double click submission in registration forms + * Fix custom field role validation + * Fix conditional logic 'content block' field + * Fix conditional logic field operators and visibility + * Fix textarea field sanitation + * Fix system info false positive virus scan results + * Fix field validation for minimum and maximum numeric values + * Fix used custom fields visibility in form builders + * Fix cache user's profile option description + * Fix double click for android device + * Fix png image upload with transparency + * Fix extra slashes in form edit view when invalid input fields occur + * Remove notices + + = 1.3.84: April 18, 2017 = * Enhancements: From 35b36483968c1114c4d70eed97d0a4946c046d64 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Mon, 19 Jun 2017 18:35:06 +0800 Subject: [PATCH 24/28] Tagging 1.3.86 --- README.md | 2 +- index.php | 2 +- readme.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 796c9770..1dfd2774 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Ultimate Member is a powerful and flexible WordPress plugin that makes it a bree | Latest Version |Requires at least|Stable Tag| | :------------: |:------------:|:------------:| -| 1.3.85 | WordPress 4.5 or higher| 1.3.75 | +| 1.3.86 | WordPress 4.5 or higher| 1.3.75 | Features of the plugin include: diff --git a/index.php b/index.php index 7c097466..bd0c7cfc 100644 --- a/index.php +++ b/index.php @@ -3,7 +3,7 @@ Plugin Name: Ultimate Member Plugin URI: http://ultimatemember.com/ Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress -Version: 1.3.85 +Version: 1.3.86 Author: Ultimate Member Author URI: http://ultimatemember.com/ Text Domain: ultimate-member diff --git a/readme.txt b/readme.txt index 8c3d6dac..43fcc3bf 100644 --- a/readme.txt +++ b/readme.txt @@ -7,7 +7,7 @@ Tags: community, member, membership, user-profile, user-registration Requires at least: 4.1 Tested up to: 4.8 -Stable Tag: 1.3.85 +Stable Tag: 1.3.84 License: GNU Version 2 or Any Later Version From b5f54dde12711580150670f1774414776f2e73d3 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Mon, 19 Jun 2017 21:36:19 +0800 Subject: [PATCH 25/28] Update ReadMe --- readme.txt | 1790 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1786 insertions(+), 4 deletions(-) diff --git a/readme.txt b/readme.txt index 43fcc3bf..d9987d03 100644 --- a/readme.txt +++ b/readme.txt @@ -1,4 +1,4 @@ -=== Ultimate Member - User Profile & Membership Plugin === +=== Ultimate Member - User Profile & Membership Plugin === Author URI: https://ultimatemember.com/ Plugin URI: https://ultimatemember.com/ Contributors: ultimatemember, champsupertramp @@ -6,10 +6,1792 @@ Donate link: Tags: community, member, membership, user-profile, user-registration Requires at least: 4.1 Tested up to: 4.8 - -Stable Tag: 1.3.84 - +Stable tag: 1.3.86 License: GNU Version 2 or Any Later Version +License URI: http://www.gnu.org/licenses/gpl-3.0.txt + +The easiest way to create powerful online communities and beautiful user profiles with WordPress + +== Description == + +Ultimate Member is a powerful and flexible plugin that makes it a breeze for users to sign-up and become members. The plugin allows you to add beautiful user profiles to your site and is perfect for creating advanced online communities. Lightweight and highly extendible, Ultimate Member will enable you to create almost any type of site where users can join and become members with absolute ease. + += Features of the plugin include: = + +* Front-end user registration +* Front-end user login +* Front-end user profiles +* Custom form fields +* Conditional logic for form fields +* Drag and drop form builder +* User account page +* Custom user roles +* Searchable member directories +* Custom e-mail templates +* Content restriction +* Conditional menus +* Show author posts & comments on user profiles +* Mobile adaptive & responsive +* SEO optimized +* Developer friendly with dozens of actions and filters +* Multi-site compatibility +* Mandrill compatibility + +Read about all of the plugin's features at [Ultimate Member](https://ultimatemember.com) + += Paid Extensions = + +Ultimate Member has a range of extensions that allow you to extend the power of the plugin + +* [Instagram](https://ultimatemember.com/extensions/instagram/) - Allow users to show their Instagram photos on their profile +* [User Tags](https://ultimatemember.com/extensions/user-tags/) - Lets you add a user tag system to your website +* [Social Activity](https://ultimatemember.com/extensions/social-activity/) - Let users create public wall posts & see the activity of other users +* [WooCommerce](https://ultimatemember.com/extensions/woocommerce/) - Allow you to integrate WooCommerce with Ultimate Member +* [Private Messages](https://ultimatemember.com/extensions/private-messages/) - Add a private messaging system to your site & allow users to message each other +* [Followers](https://ultimatemember.com/extensions/followers/) - Allow users to follow each other on your site and protect their profile information +* [Real-time Notifications](https://ultimatemember.com/extensions/real-time-notifications/) - Add a notifications system to your site so users can receive real-time notifications +* [Social Login](https://ultimatemember.com/extensions/social-login/) - Let users register & login to your site via Facebook, Twitter, G+, LinkedIn, Instagram and Vkontakte (VK.com) +* [bbPress](https://ultimatemember.com/extensions/bbpress/) - With the bbPress extension you can beautifully integrate Ultimate Member with bbPress +* [MailChimp](https://ultimatemember.com/extensions/mailchimp/) - Allow users to subscribe to your MailChimp lists when they signup on your site and sync user meta to MailChimp +* [User Reviews](https://ultimatemember.com/extensions/user-reviews/) - Allow users to rate & review each other using a 5 star rate/review system +* [Verified Users](https://ultimatemember.com/extensions/verified-users/) - Add a user verficiation system to your site so user accounts can be verified +* [myCRED](https://ultimatemember.com/extensions/mycred/) - With the myCRED extension you can integrate Ultimate Member with the popular myCRED points management plugin +* [Notices](https://ultimatemember.com/extensions/notices/) - Alert users to important information using conditional notices +* [Profile Completeness](https://ultimatemember.com/extensions/profile-completeness/) - Encourage or force users to complete their profiles with the profile completeness extension +* [Friends](https://ultimatemember.com/extensions/friends/) - Allows users to become friends by sending & accepting/rejecting friend requests + += Free Extensions = + +* [Google reCAPTCHA](https://ultimatemember.com/extensions/google-recaptcha/) - Stop bots on your registration & login forms with Google reCAPTCHA +* [Online Users](https://ultimatemember.com/extensions/online-users/) - Display what users are online with this extension + += Development = + +If you're a developer and would like to contribute to the source code of the plugin you can do so via our [GitHub Repository](https://github.com/ultimatemember/ultimatemember). + += Documentation & Support = + +Got a problem or need help with Ultimate Member? Head over to our [documentation](http://docs.ultimatemember.com/) and perform a search of the knowledge base. If you can’t find a solution to your issue then you can create a [support ticket](https://ultimatemember.com/support-contact/). + += Languages = + +Ultimate Member has been translated into the following languages: + +* English (US) +* Spanish - Español +* Spanish (Mexico) - Español (México) +* French - Français +* Italian - Italiano +* German - Deutsch +* Dutch - Nederlands +* Brazilian Portuguese - Português do Brasil +* Finnish - Suomi +* Romanian - Română +* Danish - Dansk +* Swedish - Svenska +* Polish - Polski +* Czech +* Greek +* Indonesian +* Simplified Chinese +* Russian - Русский +* Turkish - Türkçe +* Farsi - فارسى +* Hebrew +* العربية + +== Installation == + +1. Activate the plugin +2. That's it. Go to Ultimate Member > Settings to customize plugin options +3. For more details, please visit the official [Documentation](http://docs.ultimatemember.com/) page. + +== Frequently Asked Questions == + += Do I need to know any coding to use this plugin? = + +No, we have built Ultimate Member to be extremely easy to use and does not require you to manually build shortcodes or have any coding knowledge. + += Is Ultimate Member mobile responsive? = + +Yes. Ultimate Member is designed to adapt nicely to any screen resolution. It includes specific designs for phones, tablets and desktops. + += Is Ultimate Member multi-site compatible? = + +Yes. Ultimate Member works great on both single site and multi-site WordPress installs. + += Does the plugin work with any WordPress theme? = + +Yes. Ultimate Member will work with any properly coded theme. However, some themes may cause conflicts with the plugin. If you find a styling issue with your theme please create a post in the community forum. + += Does the plugin work with caching plugins? = + +The plugin works with popular caching plugins by automatically excluding Ultimate Member pages from being cached. This ensures other visitors to a page will not see the private information of another user. However, if you add features of Ultimate Member to other pages you have to exclude those pages from being cached through your cache plugin settings panel. + +== Screenshots == + +1. Screenshot 1 +2. Screenshot 2 +3. Screenshot 3 +4. Screenshot 4 +5. Screenshot 5 +6. Screenshot 6 +7. Screenshot 7 +8. Screenshot 8 +9. Screenshot 9 +10. Screenshot 10 +11. Screenshot 11 +12. Screenshot 12 +13. Screenshot 13 +14. Screenshot 14 +15. Screenshot 15 +16. Screenshot 16 + +== Changelog == + += 1.3.85: June 19, 2017 = + +* Enhancements: + * Add new filter hook to modify the profile cancel uri for redirection + * `um_edit_profile_cancel_uri` + * Add new filter hook to modify the specific field type's value + * `um_edit_{$type}_field_value` + * Add new filter hook that modies the file name + * `um_upload_file_name` + * Update en_US translation files + +* Bugfixes: + * Fix file clean up with image/file fields on profile update + * Fix text domain slug for wp.org translation compatibility + * Fix change password email notification + * Fix double click submission in registration forms + * Fix custom field role validation + * Fix conditional logic 'content block' field + * Fix conditional logic field operators and visibility + * Fix textarea field sanitation + * Fix system info false positive virus scan results + * Fix field validation for minimum and maximum numeric values + * Fix used custom fields visibility in form builders + * Fix cache user's profile option description + * Fix double click for android device + * Fix png image upload with transparency + * Fix extra slashes in form edit view when invalid input fields occur + * Remove notices + + += 1.3.84: April 18, 2017 = + +* Enhancements: + * Adds new action hooks before and after WP_User_Query. + * `um_user_before_query` + * `um_user_after_query` + * Adds a dismiss link in locale / language translation notices + * Adds correct user profile url in WPML language switcher + * Adds new option to disable name fields in account page + * `UM > Settings > Account > Disable First & Last Name fields` + * Add new filters to modify upload base directories + * `um_multisite_upload_sites_directory` + * `um_multisite_upload_directory` + * Adds new action hook in admin > user edit > Ultimate Member to append any customisation + * `um_user_profile_section` + * Adds H2 for UltimateMember section to Add/Edit User Form + +* Bugfixes + * Fix image url cache filter + * Fix PHP 7.1+ compatibility issues + * Fix UTF8 encoding in form fields + * Fix hide member directory option. + * Fix conditional logic fields. + * Fix login access settings for logged-in users. + * Fix WP role synchronisation on UM role update + * Fix WP authenticate filter hook + * Fix radio and checbox field active state colors when disabled. + * Fix Content Availability conditional fields in edit/add category screens + * Remove notices + += 1.3.83: February 20, 2017 = + +* Enhancements: + * Adds user avatar's alternate text. The default text is set to `display_name` + * Adds new filter hook to modif the user avatar's alternate text. + * `um_avatar_image_alternate_text` + * Set gravatar for newly registered users + * Adds Tag archive page access settings + +* Bugfixes + * Remove pointer cursor from field areas in profile view mode + * Fix profile slug in permalinks + * Fix URL field 'nofollow' issue + * Fix field icons display + * Fix an issue with admin roles in editing fields + * Fix whitepspace issue with Email Address validation + * Fix profile visibility option in member directories + * Fix icon display as label in profile view + * Fix PHP 7.1.1 compatibility + * Fix redirection on update profile slug + * Fix dynamic CSS options in member directory + * Fix edit profile option by specific role + * Fix Vkontakte view + * Remove notices + += 1.3.82: January 31, 2017 = + +* Enhancements: + * Add filter hook to disable secure account fields + * `um_account_secure_fields__enabled` + * Updates ReduxFramework to version 3.6.2 + * Adds a body class in profile/user page for the current loggedin user + * `um-own-profile` + +* Bugfixes + * Fix select/multi-select field options translation + * Fix profiles visibility and access permissions in member directories + * Fix User deletion in mobile browsers + * Fix WPML & PolyLang compatibility issues + * Fix field view and edit restriction + * Fix author name in recent comments widget + * Fix overwrite of multiple image and file uploads with the same filename + * Remove notices + += 1.3.81: January 19, 2017 = + +* Bugfixes + * Fix conditional field option with 'contains' + * Fix WPML compatibility with UM logout + += 1.3.80: January 18, 2017 = + +* Bugfixes: + * Fix loop email notifications on user creation in the back-end + += 1.3.79: January 17, 2017 = + +* Enhancements: + * Adds new username and string validation filter hooks: + * um_validation_safe_username_regex + * um_validation_safe_string_regex + * Adds new filter hook to modify conditional fields + * um_get_field__{$field_key} + * Change max limit of users queue's count in cache + * Adds current logged in users WP and Community roles in the System Info + * Adds confirmation on user deletion + +* Bugfixes: + * Fix conditional fields + * Fix logout compatibility issues with WPML + * Fix select option's custom callback validation + * Fix translation strings of primary and secondary buttons on Login and Register forms. + * Fix gender filter and results + * Fix user deletion in account page for mobile browsers + * Fix form rows CSS options + * Fix default text autocomplete + * Remove notices + += 1.3.78: December 08, 2016 = + +* Bugfixes: + * Fix menu settings compatibility issue with WP 4.7 + * Fix mobile class on account delete tab heading + * Fixes an issue where tagline shows the current users to all members + * Fixes notice on updating WP List Table quick edit + * Remove notices + + = 1.3.77: November 30, 2016 = + +* Bugfixes: + * Fix set and reset password validation. + * Remove notices + += 1.3.76: November 30, 2016 = + +* Bugfixes: + * Fix invalid security notice in set password. + += 1.3.75: November 29, 2016 = + +* Bugfixes: + * Fix 'Invalid user ID' on profile update + += 1.3.74: November 29, 2016 = + +* Enhancements: + * Improves clear users cache. + * Removes user id from redirect URL on registration process for pending review and email activation statuses. + +* Bugfixes: + * Fix assigning of role on registration process + * Fix change email address in edit mode. + * Fix change password validation. + * Removes notices when role field is present in the profile form. + + += 1.3.73: November 17, 2016 = + +* Enhancements: + * Adds a filter hook to modify the submitted details on registration process + * `um_before_save_filter_submitted` + * Adds a filter hook to disable canonical link in header + * `um_allow_canonical__filter` + * Adds a filter hook to modify the auto-generated email address on registration process + * `um_user_register_submitted__email` + * Adds filter hooks to modify locale, language file path and textdomain + * `um_language_textdomain` + * `um_language_locale` + * `um_language_file` + * Adds filter hook to modify the data of selected value: + * `um_is_selected_filter_data` + * Adds new select/multi-select options to retrieve options from a callback. + * In the form builder, edit or add a select/multi-select field and add your callback function in `Choices callback` field to get populated. + * Adds parent select field option to dynamically populate another select field. + * If `Choices Callback` option is set in the field settings, the `Parent Option` triggers an Ajax request to populate the child options on `change` event. + * Updates `um.min.js` file. + * Updates `en_US` translation file. + +* Bugfixes: + * Removes notices from WPCLI console. + * Removes notices from edit profile mode + * Removes autocomplete from search filter fields + * Fix translation strings of search filters on a member directory + * Fix email notifications not sending on registration process + * Fix field selection with special characters on form submission + * Fix assigning of role on register submission process + += 1.3.72: October 10, 2016 = + +* Enhancements: + * Improves the bulk filters, actions and redirection in `User Screens` + * Adds new access options to disallow access on homepage and category pages. + * Adds Textarea to show in profile tagline on Member Directory + * Adds a filter hook `um_allow_frontend_image_uploads` to allow profile and cover photo uploads on front-end pages. + * Adds new filter hooks to modify image field data on upload: + * `um_image_handle_global__option` + * `um_image_handle_{$field}__option` + * Adds a new filter hook to modify the redirection of non logged in users who visit the parent user page. + * `um_locate_user_profile_not_loggedin__redirect` + * Improves generate dummies tool with `wp_remote_get` + * Adds a new action hook for a new section in cover area: + * `um_cover_area_content` + * Updates the English translation .po and .mo files. + * Improves the shortcode `um_show_content` to swap the `user_id` with the current profile. + +* Bugfixes: + * Fixes a bug where multi-select field options doesn't match the user selected options that contain html entities. + * Fixes a bug to display correct role slugs in radio and select fields. + * Fixes a bug where reset password form is conflicting with register and login form on a page. + * Fixes a bug where Users queue count in the Admin > `All Users / Users` menu doesn't update when a user account is in `pending user review` and gets deleted. + * Fixes a typo in Password Reset Email option's description + * Fixes a bug where conditional fields 'equals to' validation on registration process + * Fixes a bug to disable the query with hiding account on member directory + * Fixes a bug to retrieve specific number of members + * Fixes a bug to retrieve all members with `get_members` new parameter `number` + * Fixes a typo in Welcome Email template. + * Fixes a bug where login form redirection is set to `wp-admin/admin-ajax.php` instead of the current page when loaded via ajax. + * Fixes a bug where uninstall link doesn't load. + * Fixes a bug to redirect users to correct URL after login based from login options. + * Fixes a bug where non-logged in users are not able to access the profile page when `Global Site Access` is set to `Site accessible to Logged In Users`. + * Fixes a bug to modify the login redirection url especially when DOING_AJAX is defined. + * Fixes a bug to retrieve correct community roles per site in a Multisite Network setup. + += 1.3.71: September 12, 2016 = + +* Enhancements: + * Adds a new filter hook to modify the `cover photo` uri. + * `um_user_cover_photo_uri__filter` +* Bugfixes: + * Fixes a bug to allow users change their password in account form + * Fixes a bug to allow role validation and assigning of roles to users on registration process + * Fixes a bug to avoid blank admin footer text all around WordPress + += 1.3.70: September 09, 2016 = + +* Enhancements: + * Adds a new filter hook to modify the profile `cover photo` uri. + * `um_user_cover_photo_uri__filter` +* Bugfixes: + * Fixes a bug to allow users change their password in account form + * Fixes a bug to reset passwords + += 1.3.69: September 08, 2016 = + +* Enhancements: + * Adds a system information tool for support purposes + * Adds a new option to disable generating profile slugs on every load of member directory pages. + * Located in UM > Settings > Advanced > Stop generating profile slugs in member directory. + * This improves the performance when loading profiles in directories. It generates profile slug on Profile Update ( front and back-end ), Registration Process and viewing the Users in the back-end. + * Adds new filter hook `um_activate_url` to modify the account activation url. + * Adds new filter hooks to modify first and last name cases + * `um_user_first_name_case` + * `um_user_last_name_case` + * Adds new filter hooks to modify nonces of image and file uploads + * `um_file_upload_nonce` + * `um_image_upload_nonce` + * Improves search member filters and keyword sensitivity + * Improves generation of profile slugs + * Improves force capitalization of display names with dash + * Improves the pagination and loading of profiles in member directory + +* Bugfixes: + * Fixes a bug where users in member directory are missing after updating their profile + * Fixes a bug to generate random email when email field is not added in a form. + * Fixes a bug to show hidden members in member directory for admins + * Fixes a bug to validate username length on registration process + * Fixes a bug to display profile name in dynamic menu and profile page title + * Fixes a bug where frequent security notices show on registration process + * Fixes a bug to assign correct role to a user on registration process + * Fixes a bug to display correct roles in radio and dropdown fields + * Fixes a bug to validate the reset password + * Fixes a bug to change the assign of role in navigation menu items + * Fixes a bug to select radio field in profile form + * Fixes a bug to allow frontpage and posts page to handle custom access settings + * Fixes a bug where profile role field's conditional logic doesn't show/hide the second field. + * Fixes a bug to show 'Last Login' field in profile edit and view mode. + * Fixes a bug to sync roles with users in Edit Roles. + * Fixes a bug to disable/enable UM profile cache + * Fixes a bug to disable biography field's character limit when added in form + + += 1.3.68: August 02, 2016 = + +* Fixed: radio field in account page + += 1.3.67: August 02, 2016 = + +* New: allow non-editable fields in registration form +* Fixed: member directory mobile pagination +* Fixed: biography field validation in profile header and forms +* Fixed: remove override 'birth date' label +* Fixed: html support in biography field +* Fixed: select options search +* Fixed: select field's search query +* Fixed: search filters and multi-select fields +* Fixed: select, radio and checkbox field options +* Fixed: multiple select in UM settings +* Fixed: member directory's pagination links +* Fixed: remove nonce and http referer from submitted user details +* Fixed: disallow direct access link to posts with enabled category access restriction +* Added: new filter hook: `um_get_default_cover_uri_filter` +* Added: new filter hook: `um_register_allow_nonce_verification` +* Added: new filter hook: `um_get_option_filter__{$option_id}` +* Added: new filter hook: ` um_profile_{$key}__filter` +* Added: new filter hook: `um_profile_{$key}_empty__filter` +* Added: new filter hook `um_enable_ajax_urls` +* Added: new filter hook `um_field_checkbox_item_title` + + += 1.3.66: July 14, 2016 = + +* Tweak: update translation strings and English translation file. +* Fixed: alphabetic and lowercase validations +* Fixed: checkbox and radio label encoding +* Fixed: user_login field validation type +* Fixed: registration form process +* Fixed: remove comments with hidden/private posts from comment tab + += 1.3.65: July 06, 2016 = + +* Tweak: update ReduxFramework to version 3.6.0.1 +* Added: new action hook 'um_registration_after_auto_login' +* Added: new option for Network Permalink Structure +* Added: an account option to require first and last name +* Fixed: account deletion and password confirmation +* Fixed: registration form submission process +* Fixed: access settings in home page and posts conflict +* Fixed: encoding non UTF8 strings + += 1.3.64: June 29, 2016 = +* Fixed: edit profile permission + += 1.3.63: June 28, 2016 = +* Fixed: admin navigation +* Fixed: profile access and redirection + += 1.3.62: June 27, 2016 = +* Fixed: access settings and redirection for logged out users +* Fixed: global access settings +* Fixed: remove notice in permalink + += 1.3.61: June 24, 2016 = +* Fixed: edit profile url in multi-site setup +* Fixed: global access settings + += 1.3.60: June 23, 2016 = +* Fixed: change password +* Fixed: menu settings and roles +* Fixed: cropper issue with Avada theme +* Fixed: image cropper and modal +* Fixed: nonce in registration forms +* Fixed: user redirection for non-loggedin users +* Fixed: global access setting + += 1.3.59: June 17, 2016 = +* Added: filter 'um_register_hidden_role_field' +* Added: filters and action hooks in form post +* Added: cache time filter in avatar url +* Fixed: Nonces added to file uploads +* Fixed: remove notices +* Fixed: upload image cropper +* Fixed: select field multiple select +* Fixed: changing community role by admin +* Fixed: current url method in multisite setup +* Fixed: access settings + += 1.3.58: June 09, 2016 = +* Fixed: change password +* Fixed: select field overlay + += 1.3.57: June 09, 2016 = +* Fixed: admin access restriction + += 1.3.56: June 09, 2016 = +* Fixed: query of pages + += 1.3.55: June 09, 2016 = +* Fixed: select fields styles +* Fixed: select fields with accented characters +* Fixed: select fields with accented text values +* Fixed: select fields in overlay +* Fixed: admin front-end access restriction +* Fixed: pages query + += 1.3.54: June 02, 2016 = +* Fixed: remove quick edit from Built-in roles row actions +* Fixed: remove notices +* Fixed: dropdown/select fields +* Fixed: upload file extension's case sensitive issue +* Fixed: reset and change password + += 1.3.53: June 01, 2016 = +* New: generate dummy users tool +* Added: filter 'um_submit_form_error' for custom error messages +* Tweak: update compressed CSS +* Tweak: update select2.js to version 4.0.2 +* Fixed: gravatar and transfer tool +* Fixed: permalink base for username +* Fixed: saving account fields +* Fixed: remove notice +* Fixed: upload form error logging +* Fixed: cache option +* Fixed: edit profile url +* Fixed: login redirection +* Fixed: remove account information from welcome email +* Fixed: form error with users tags +* Fixed: select fields with accented characters +* Fixed: image upload + += 1.3.52: May 14, 2016 = +* Added: 'wp_authenticate_username_password_before' action hook +* Tweak: remove access settings in media screens +* Fixed: convert tags format +* Fixed: ReduxFramework notice +* Fixed: remove PHP notice + += 1.3.51: May 10, 2016 = +* Added: 'um_form_fields_textarea_settings' filter +* Added: reset password limit options +* Added: option to force display name to be capitlized +* Fixed: remove notices +* Fixed: redirect url on login +* Fixed: optimize query and object caching +* Fixed: profile photo as required field +* Fixed: admin access in front-end login +* Fixed: typos in tooltips +* Fixed: embedding video fields +* Fixed: Flush rewrite rules + += 1.3.50: April 21, 2016 = +* Fixed: menu incompatibility issue +* Fixed: username validation +* Fixed: admin css conflict +* Fixed: display name capitalization +* Fixed: search member filter and fields +* Fixed: member directory big SELECT query +* Added: action hook 'um_access_post_type' & 'um_access_post_type_{current_page_type}' for current page type in access settings + += 1.3.49: April 14, 2016 = +* Fixed: remove core notices from ajax requests +* Fixed: upload form and media path + += 1.3.48: April 11, 2016 = +* New: advanced option to disable profile object caching +* Added: ssl media uri function +* Added: first and last name initial as meta key +* Fixed: order by random and pagination +* Fixed: user sort by random +* Fixed: status message encoding +* Fixed: image upload and file name +* Fixed: user login with other provider +* Fixed: translation strings +* Fixed: dependencies fatal errors +* Fixed: remove notices + += 1.3.47: April 6, 2016 = +* Fixed: Fatal errors with language filter file + += 1.3.46: April 6, 2016 = +* Fixed: Search widget fatal error +* Fixed: image jpeg upload sizes + += 1.3.45: April 6, 2016 = +* New: support for wordfence and limit login +* New: search widget +* New: secondary email address +* Added: hook to password reset form fields +* Added: privacy options for profile menu tabs +* Added: option to allow primary email editable in profile view +* Added: member directory sort randomly +* Fixed: user page redirection +* Fixed: admin script error +* Fixed: invalid image path +* Fixed: upload image png with transparency +* Fixed: permalink basename fallback +* Fixed: casting variable and add new filter +* Fixed: remove notices +* Fixed: search users by tag +* Fixed: force UT8 encoding option +* Fixed: email content type +* Fixed: WPML compatibility +* Fixed: permalink base name format and redirect loop in profile page +* Fixed: form labels textdomain +* Fixed: edit profile redirect +* Tweak: accept period in profile url + += 1.3.44: March 11, 2016 = +* New: an option to force Strings to use UTF-8 encoding +* New: an option to change Gravatar default image +* New: South Sudan to the list of countries. +* Fixed: update profile edit +* Fixed: remove feed from content restriction +* Fixed: search username query +* Fixed: support for server query string data after user login +* Fixed: matching fields values +* Fixed: email template path +* Fixed: shortcode within [um_show_content] shortcode +* Tweak: remove notices + += 1.3.43: March 5, 2016 = +* Fixed: redirect URL after login +* Fixed: security check in registration form +* Fixed: email template path string +* Fixed: member directory query + += 1.3.42: March 3, 2016 = +* Fixed: email template and localization +* Fixed: redirect URL + += 1.3.41: March 3, 2016 = +* Fixed: Registration form redirect url + += 1.3.40: March 3, 2016 = + +* New: filter `um__form_show_field` for display field +* New: shortcode: show custom content to specific role [um_show_content roles='member'][/um_show_content] +* New: 'not' attribute to [um_show_content not='member,contributor'][/um_show_content] shortcode +* Tweak: update masonry script +* Tweak: sql concatenate with prepare statement +* Fixed: remove notices +* Fixed: missing mCSB_buttons.png +* Fixed: set Gravatar default image as UM default image +* Fixed: fix default gravatar image +* Fixed: select2 multi dropdown for wc orders +* Fixed: show admin bar option +* Fixed: session issue with logout +* Fixed: register using email address if it exists +* Fixed: duplicate full_name permalinks +* Fixed: duplicate profile +* Fixed: show admin bar for non-logged in users +* Fixed: honorifics in full name +* Fixed: unsynced wp role +* Fixed: display wp user role filters +* Fixed: select and radio invalid value +* Fixed: email template path +* Fixed: user profile url with single dash in the last name +* Fixed: function to check meta value existence by meta key +* Fixed: um-admin-dashboard warnings +* Fixed: community role field in profile edit screen +* Fixed: mismatched roles +* Fixed: admin access in profiles +* Fixed: allow multiple member directory shortcode in a page +* Fixed: datepicker for ios and safari +* Fixed: adding of members in wp-admin +* Fixed: Fix redirection and XSS issue in login form + += 1.3.39: February 24, 2016 = + +* New: add gravatar transfer tool +* New: show users with gravatar photo in member directory +* New: add upgrade class for data migration +* Tweak: Set last login for new users to show in member directory +* Tweak: validate roles for forms without fields +* Tweak: cropper js update +* Tweak: update minified script +* Tweak: tooltip and comment +* Fixed: member search query +* Fixed: Registration process with pending and show message enabled +* Fixed: Fix form security validation +* Fixed: email content type, template and localization +* Fixed: remove php notices +* Fixed: custom columns for roles +* Fixed: admin bar visibility per user role +* Fixed: community role editing + += 1.3.38: February 19, 2016 = + +* Tweak: remove username validation +* Tweak: update minified scripts +* Fixed: Fix email and user submitted data encoding +* Fixed: role validation on register submission +* Fixed: form role and validation +* Fixed: search form pagination visibility + += 1.3.37: February 17, 2016 = + +* New: Add password confirmation validation +* New: Add VK url validation +* New: Add Vkontakte as predefined url field +* New: Add additional file types +* New: Add file size limit label in image field +* New: Added password reset limit +* New: Allow redirect_to param after registration +* New: Indonesian language support added +* New: Add bio characters limit +* Tweak: Use native WP masonry script instead of duplicating it +* Tweak: Add image upload notice +* Tweak: Add option to allow users to hide profiles from member page +* Tweak: Add filters to modify output field +* Tweak: Add filter hook for email template path +* Tweak: Tweak upload form styles +* Tweak: Remove masonry from core and gulp +* Tweak: Add admin assets and apply minification +* Tweak: Update pickadate assets +* Tweak: Allowing usertags in search filters +* Tweak: Allow members template to be customized/overridden +* Tweak: Option to login user after clicking the activation link +* Tweak: Remove bio count strings +* Fixed: bio limit javascript error +* Fixed: ssl checker for load balancers +* Fixed: redirect loop with wpml permalink +* Fixed: WPML permalink and form compatibility +* Fixed: blocked words +* Fixed: searching with space +* Fixed: change password +* Fixed: members grid override +* Fixed: tipsy.js error +* Fixed: Plugin conflict causing account page displaying wrong info +* Fixed: email locale tempalte path +* Fixed: invalid role +* Fixed: validation for change password +* Fixed: unchecked access roles +* Fixed: telno input styles +* Fixed: escape display name in title attributes +* Fixed: datepicker css issue with some themes +* Fixed: make sure the hash parameter is a string +* Fixed: loading core assets +* Fixed: title tags not updated +* Fixed: empty uneditable fields +* Fixed: account deletion on one submission +* Fixed: Fixed indentation +* Fixed: user_login fallbacks and remove email address +* Fixed: password changed email template + += 1.3.36: January 6, 2016 = + +* New: added in-page content restriction to protect content for logged-in or logged out users +* New: added community role field to user creation in backend +* New: added community role field to user editing in backend +* New: show specific users in members directory +* New: added a new field type: Number +* New: added filter hooks to specific profile fields +* New: added custom admin bulk actions support +* New: added usermeta support to content locking feature in-page +* Tweak: several tweaks in core to be more WordPress native +* Tweak: added fallback for page setup selections +* Tweak: automatic clickable links in profile header bio +* Tweak: trim long field labels in backend fields modal +* Fixed: profile page SEO title +* Fixed: multi-site redirect support +* Fixed: activation hash comparison +* Fixed: page setup fallback field +* Fixed: prevents php warnings and notices +* Fixed: WP-CLI and cronjobs issues +* Fixed: category posts restriction and redirection +* Fixed: category access settings +* Fixed: activation link + += 1.3.35: December 15, 2015 = + +* Fixed: registration/login issues resolved + += 1.3.34: December 15, 2015 = + +* New: new privacy option for fields: allow profile owner & specific roles to view the field +* Fixed: wrong php syntax in admin notice + += 1.3.33: December 15, 2015 = + +* Fixed: Member search on homepage +* Fixed: emoticons support +* Fixed: redux notices, css styles in admin +* Fixed: users not being deleted + += 1.3.32: December 10, 2015 = + +* Fixed: array format and notices +* Fixed: users search, delete confirmation and role filter +* Fixed: unique key field validation + += 1.3.31: December 9, 2015 = + +* Fixed: Add slash in base url filter for multisite +* Fixed: manage user roles, status and filters +* Fixed: Enable WPML support to all UM url/links +* Fixed: Sanitize referers and printing notices in admin screens + += 1.3.30: December 3, 2015 = + +* New: added Simplified Chinese language support +* Tweak: added many new filters (for developers) +* Fixed: Display name update in profile +* Fixed: Photo upload unique IDs +* Fixed: Remove duplicated method um_convert_tags + += 1.3.29: October 31, 2015 = + +* New: added new documentation links to plugin files +* New: added filters to control profile photo menu (for developers) +* Fixed: added security patch to remove decrypted passwords from database +* Fixed: bug with blocked words during registration +* Fixed: some localization strings +* Fixed: php warnings/bugs on specific installs + += 1.3.28: October 13, 2015 = + +* Fixed: Bug with plugin folder structure + += 1.3.27: October 13, 2015 = + +* Fixed: Role name display in Users dashboard + += 1.3.26: September 25, 2015 = + +* New: added Greek language support +* Tweak: added custom class to every user meta in member directory +* Tweak: added option to stop flushing rewrite rules every load (performance tweak) +* Fixed: WPML issue on multisite install +* Fixed: Removed redux menu from tools +* Fixed: fix for wp_authenticate_username_password() +* Fixed: searching users by e-mail address +* Fixed: conflict with sites with thousands of pages + += 1.3.25: September 7, 2015 = + +* Fixed: 404 error on UM pages + += 1.3.24: September 6, 2015 = + +* Tweak: saved some database queries +* Tweak: plugin not compatible with cache plugins out of the box - needs to exclude dynamic urls from cache +* Tweak: added more development filters in backend + += 1.3.23: September 2, 2015 = + +* Fixed: PHP strstr() notice on profile + += 1.3.22: September 2, 2015 = + +* Fixed: compatibility bug with older PHP versions + += 1.3.21: September 2, 2015 = + +* Tweak: added security by sanitizing file/image uploads +* Fixed: issue with account page > notifications tab +* Fixed: image upload path in email notification +* Fixed: php issue with displaying name +* Fixed: missing localisation strings +* Fixed: couple of php notices + += 1.3.20: August 28, 2015 = + +* New: added security measure for profile photo uploads +* New: added filter to hook in registration details sent in email notification +* New: added core pages filter to allow you change pages of extensions within plugin settings (e.g. activity) +* Fixed: multi-select field filtering bug +* Fixed: strip slashes from field names in fields modal +* Fixed: show drag and drop footer content only in the drag and drop form builder page +* Fixed: profile photo crop/upload issue +* Fixed: category/post specific restriction conflict +* Fixed: display UM classes only in UM pages +* Fixed: minor code improvements + += 1.3.19: August 20, 2015 = + +* Fixed: please update - profile issue + += 1.3.18: August 20, 2015 = + +* New: filter for comment types tab in profile +* New: jQuery.scrollto script added (for developers and extensions support) +* Fixed: XSS vulnerability in text input +* Fixed: user goes to profile about tab after editing profile + += 1.3.17: August 13, 2015 = + +* New: added Brazilian Portuguese language support +* Tweak: added support for upcoming social activity extension + += 1.3.16: August 11, 2015 = + +* New: added option to restrict categories in addition to per post content restriction +* New: added support to use dynamic user/profile ID in shortcode field e.g. [your-shortcode user_id={profile_id}] +* New: added security feature to disable admin logging via frontend (optional) +* New: added filter to um_get_core_page() function (for developers) +* Tweak: removed delay from tooltips +* Fixed: conflict with Podcast feed + += 1.3.15: August 4, 2015 = + +* Fixed: issue with logout from adminbar + += 1.3.14: August 4, 2015 = + +* New: added last login date support +* New: show user's last login in profile +* New: added sorting members by last login date +* New: added option to re-assign core pages in plugin settings +* Fixed: issue with multi-select required field +* Fixed: URL validation for custom fields +* Fixed: backend user filtering by non-english role +* Fixed: RTL css bugs + += 1.3.13: July 22, 2015 = + +* Fixed: Woocommerce manual order dropdown conflict + += 1.3.12: July 22, 2015 = + +* New: ability to delete user cache from plugin dashboard +* New: function is_ultimatemember() checks if user is on UM page (developers) +* New: option to disallow editing email in account page +* New: added Spanish (Mexico) language support +* Fixed: bug with profile viewing and user roles +* Fixed: Woocommerce dropdown bugs/conflicts +* Fixed: ipad/tablet css fixes for profile columns +* Fixed: deleting users delete their content + += 1.3.11: July 8, 2015 = + +* Fixed: Redux errors and popups in backend + += 1.3.1: July 7, 2015 = + +* Fixed: major issue with showing HTML in profiles + += 1.3.0: July 7, 2015 = + +* New: easily sync UM roles with WP roles with role settings +* New: first steps towards WPML compatibility +* New: option to show member results only If user has searched +* New: add .um-err class to UM form if the form contains errors +* New: updated redux framework to latest version +* Fixed: feed issue with private / access locked posts + += 1.2.997: June 21, 2015 = + +* New: added support for Farsi / Romanian language +* Tweak: adapted core community roles to prevent conflicts +* Fixed: bug with search results pagination +* Fixed: issue with panic key usage and wp-admin screen +* Fixed: bug with custom field validation action + += 1.2.996: June 11, 2015 = + +* Fixed: php notice causing errors to appear in both frontend and backend + += 1.2.995: June 11, 2015 = + +* New: added required support for WooCommerce extension +* Tweak: added option to fix conflicts of user profile links using different server method to get current url +* Fixed: security fix for redux framework added +* Fixed: button appearance on tablets +* Fixed: member search by display name + += 1.2.994: June 6, 2015 = + +* Tweak: added a filter hook to change priority of enqueued styles/scripts +* Fixed: UM forms and elements not appearing in IE +* Fixed: Skype field output +* Fixed: conflict with libraries using Mobile Detect +* Fixed: issue with WP locale (using get_locale() now instead) + += 1.2.993: May 29, 2015 = + +* Fixed: correction to last update +* Fixed: Private messages extension bug + += 1.2.99: May 29, 2015 = + +* New: added Czech language support +* Fixed: WooCommerce dropdown issues and bugs in backend + += 1.2.98: May 18, 2015 = + +* New: added Google map field +* New: added Vimeo video field +* New: added YouTube video field +* New: added SoundCloud track field +* New: added Hebrew language support +* Tweak: do not show captcha response in submitted registration details +* Fixed: profile photo upload issue on profile view mode +* Fixed: user search in backend/frontend +* Fixed: UM login check +* Fixed: admin settings css issue on mobile +* Fixed: cache variable undefined issue + += 1.2.97: May 13, 2015 = + +* Fixed: issue with image upload fields +* Fixed: date localization resolved +* Fixed: issue with image upload during registration +* Fixed: JS issues for PM extension + += 1.2.96: May 12, 2015 = + +* New: hooks and compatibility with Private Messages extension +* Fixed: bug with empty password on welcome e-mail +* Fixed: bug with member search using default permalinks + += 1.2.95: May 9, 2015 = + +* New: RESTful API methods update.user, get.stats, and delete.user +* New: added Danish (Dansk) support +* New: added Swedish (Svenska) support +* Tweak: minor account and logout redirection tweaks +* Fixed: issue with changing user role +* Fixed: bug with login form validation +* Fixed: issue with biography field and html + += 1.2.94: May 6, 2015 = + +* Fixed: bug with activation e-mails +* Fixed: bug stopping password reset +* Fixed: bug with changing user role and status in backend + += 1.2.93: May 5, 2015 = + +* New: user profiles are cached to speed up load time +* New: emoji support added to bio / user descriptions +* Fixed: issues with bio field HTML +* Fixed: WP-admin PHP warning +* Fixed: bug with localization of en_US.po file + += 1.2.92: May 2, 2015 = + +* New: Important: Introduces the Ultimate Member RESTful API +* Tweak: improved um_user_ip() function +* Fixed: issue with invalid html on profile photo and cover photo + += 1.2.91: April 30, 2015 = + +* New: added custom field validation support via hooks um_custom_field_validation_{$hook} +* Fixed: important bug with profile menu tabs / system + += 1.2.9: April 29, 2015 = + +* New: display pending users count in backend +* Tweak: improved user deletion process from backend +* Tweak: tweaked filter for register/login buttons +* Tweak: disabled registration timebot for admins +* Fixed: wp-load.php path in image and file upload scripts +* Fixed: RTL compatibility bugs +* Fixed: bug with registration and role field +* Fixed: bug with edit profile and biography length in header + += 1.2.8: April 25, 2015 = + +* Fixed: Important WP 4.2 conflict resolved: filtering users in backend + += 1.2.7: April 25, 2015 = + +* Tweak: Compatible with WordPress 4.2 +* Tweak: general code tweaks and improvements +* Tweak: new action hook when user is deleted +* Tweak: new action/filter hooks for profiles (developers) +* Tweak: new filter hook for profile privacy option +* Fixed: permalink issues + += 1.2.6: April 22, 2015 = + +* Fixed: password reset security fix ( do not reveal emails ) +* Fixed: bug with custom profile templates +* Fixed: display name in member directories +* Fixed: URL fields display in member directory +* Fixed: many bugs with previous version + += 1.2.5: April 21, 2015 = + +* Fixed: e-mail activation bugs + += 1.2.4: April 20, 2015 = + +* New: added Russian language support +* Fixed: Security patch related to add_query_arg() +* Fixed: bug with approval HTML e-mail + += 1.2.3: April 16, 2015 = + +* Fixed: major bug with admin capability / editing user profiles via frontend + += 1.2.2: April 15, 2015 = + +* New: added caching to user roles and user permissions to save queries +* New: added user switching feature to allow super admins to sign in as another user easily (without password) +* New: added new modal css/js for future support +* New: added custom scrollbar support for future development use +* Tweak: added form elements focus css +* Fixed: bug with required radio button +* Fixed: prevent access for backend login/register/lost password for a logged in user + += 1.1.6: April 7, 2015 = + +* Fixed: major bug with datepicker (Update recommended) + += 1.1.5: April 4, 2015 = + +* New: new action hook that runs when user role is changed um_member_role_upgrade +* Fixed: bug/compatibility issue with caching UM roles data +* Fixed: bug with changing role settings/permissions +* Fixed: bug with setting e-mail activation redirect URL + += 1.1.4: April 2, 2015 = + +* Fixed: Major bug with dropdown and date fields (Update recommended) +* Fixed: hard-coded translation issues + += 1.1.3: April 1, 2015 = + +* New: added option to manage if access control widgets can be edited by admins only +* Tweak: update to last security patch - deletes user who try to get unauthorized access + += 1.1.2: March 30, 2015 = + +* Fixed: Important security patch - please update +* Fixed: conflict with The Events Calendar plugin +* Fixed: bug with edit profile link + += 1.1.1: March 29, 2015 = + +* Fixed: bug where you user could use an already existing e-mail in account page +* Fixed: bug with special characaters in username +* Fixed: bug with showing draft posts in user profile + += 1.1.0: March 27, 2015 = + +* New: added multi language support to assign different languages to different forms (beta feature) +* New: added RTL support (beta, still partial) +* New: added a dashboard widget to view latest blog posts from the plugin +* Tweak: changed manage_options permission to edit_users on some admin actions +* Fixed: corrected all active color references in the css +* Fixed: bug with user_row_actions filter +* Fixed: do not store user_pass in submitted metakey during registration + += 1.0.96: March 25, 2015 = + +* New: Added Arabic language (ar) support +* Fixed: Date fields not working in Safari +* Fixed: issue with HTML e-mails +* Fixed: issue with showing sidebar logout widget on bbpress forums + += 1.0.95: March 24, 2015 = + +* Tweak: added more hooks to mail function to allow for sending custom e-mails +* Fixed: issue with content lock settings in backend appearing for non-admins +* Fixed: issue with form errors handling + += 1.0.94: March 23, 2015 = + +* Fixed: bug with member directory search +* Fixed: bug with custom role homepage + += 1.0.93: March 22, 2015 = + +* Fixed: bug with showing register and login forms on same page + += 1.0.92: March 20, 2015 = + +* New: added option to customize redirection URL after e-mail activation +* Fixed: issue with hardcoded ajax/upload URLs - they are now localized +* Fixed: issue with admin notification for a deleted account +* Fixed: admin notifications are in plain text format + += 1.0.91: March 20, 2015 = + +* Tweak: featured image in user posts goes to post link +* Fixed: solved a bug with e-mail validation + += 1.0.90: March 19, 2015 = + +* Tweak: minor admin css changes +* Tweak: error message for frontend upload with theme/plugin conflicts + += 1.0.89: March 18, 2015 = + +* Tweak: Major Performance Improvements (beta) + += 1.0.88: March 18, 2015 = + +* Fixed: bug with viewing member profiles + += 1.0.87: March 17, 2015 = + +* Tweak: profile edit form tweaked to be processed for profile edit only. allows you to have custom (not nested) valid forms in other profile tabs + += 1.0.86: March 16, 2015 = + +* Tweak: UM admins can see unapproved users on front-end members directory +* Fixed: few misspelling errors +* Fixed: bug with custom profile templates (showing blank) resolved + += 1.0.85: March 14, 2015 = + +* New: added option to show user social links in profile header (optional) +* New: added option to display post featured image in profile "posts" tab +* Tweak: improved error reporting for theme conflicts on photo upload +* Fixed: issue with comments tab on profile + += 1.0.84: March 13, 2015 = + +* New: adds automatic body class to UM core pages automatically +* Fixed: important jQuery issue +* Fixed: upload security issue - extension error was empty + += 1.0.83: March 12, 2015 = + +* New: added a logout template If user is already logged in (customizable) +* New: strong password formula not required when resetting password (optional) +* Fixed: jQuery issue with live() method - Thanks to Jim Wetton + += 1.0.82: March 11, 2015 = + +* Fixed: issue with saving user account general tab + += 1.0.81: March 11, 2015 = + +* New: official support for plugin extensions released + += 1.0.80: March 10, 2015 = + +* Tweak: added licensing support to plugin core +* Fixed: issue with account form + += 1.0.79: March 10, 2015 = + +* Tweak: Redux up to date +* Fixed: security issue related to deleting a temp file via ajax +* Fixed: bug with a php warning on undefined field type + +Credits to "James Golovich http://www.pritect.net" for the security checks + += 1.0.78: March 10, 2015 = + +* Fixed: important correction from previous version + += 1.0.77: March 10, 2015 = + +* New: integration with comments to show user profile link instead of user link (not compatible with all themes) +* New: option to control maximum size of uploaded profile photo +* New: option to control maximum size of uploaded cover photo +* Tweak: URL fields will are now treated as hyperlinks +* Fixed: bug with member directory privacy option +* Fixed: bug with using # as a character in file or image upload + += 1.0.76: March 7, 2015 = + +* New: added {user_avatar_small} tag to display user photo in menu (requires extra css work) +* Tweak: Removed !important css rules from colors and backgrounds +* Fixed: issue with content block field + += 1.0.75: March 5, 2015 = + +* New: improved & modern html e-mail templates +* New: addon to transfer BuddyPress profile photos to Ultimate Member (user request) +* New: added option to turn off time bot feature (fixes conflict with plugins) +* New: added built-in addons support +* Tweak: improved backend design and css + += 1.0.74: March 4, 2015 = + +* Fixed: bug with numeric validation for a field +* Fixed: bug with conditional logic rules with checkbox + += 1.0.73: March 3, 2015 = + +* Tweak: general code improvements + += 1.0.72: March 2, 2015 = + +* Fixed: bug with e-mail activation since last update + += 1.0.71: March 2, 2015 = + +* Fixed: issue with password reset link +* Fixed: issue with social links showing but user did not fill them + += 1.0.70: March 2, 2015 = + +* Tweak: added a filter hook to control profile photo url +* Tweak: harder random generated passwords by making the length 40 characters for a key/password +* Tweak: added option to enable/disable custom css tab (off by default) +* Tweak: changed rewrite rules to be compatible with some themes and plugins +* Fixed: bug with Role field not showing error when required and left empty +* Fixed: bug with showing incorrect age when users did not fill their age +* Fixed: issue with template name for custom profile templates + += 1.0.69: February 28, 2015 = + +* Tweak: better WP logout handling +* Tweak: new action and filter hooks added + += 1.0.68: February 27, 2015 = + +* New: added support for mp3 as allowed filetype / upload +* Fixed: bug with profile privacy option (on non-english sites) +* Fixed: uncommon php warning caused by um_get_user_avatar_url() function +* Fixed: new translation corrections + += 1.0.67: February 26, 2015 = + +* New: Improved the default HTML e-mail templates design +* New: added a bunch of action hooks to account tabs and content +* Tweak: added a few template tags to use in email: {site_url}, {user_account_link} +* Fixed: issue with making a checkbox required prior to registering +* Fixed: issue with comments showing in posts tab under profile +* Fixed: issue with plugin uninstallation link not showing in multisite + += 1.0.66: February 25, 2015 = + +* New: added option to send e-mails as HTML +* New: added default HTML templates for e-mail notifications + += 1.0.65: February 24, 2015 = + +* New: added option to customize register form secondary button URL +* New: added option to customize login form secondary button URL +* Fixed: issue with global access lock when homepage is excluded +* Fixed: issue with custom account tabs +* Fixed: minor css conflict with profile photo + += 1.0.64: February 22, 2015 = + +* Tweak: updated language files on server +* Tweak: modified account page hooks to accept custom hooks easily +* Fixed: important css issues with safari browser +* Fixed: language notice will no longer show on (English UK/Other) wordpress sites + += 1.0.63: February 21, 2015 = + +* Tweak: minor changes to dashboard widgets +* Tweak: cleaned dashboard js +* Tweak: a few action hooks refined +* Tweak: added filters to registration form buttons +* Fixed: issue with delete account feature + += 1.0.62: February 20, 2015 = + +* New: added Polish (Polski) language +* New: added option to disable Name fields from Account page +* New: added support for custom profile templates selectable from template dropdown +* Tweak: remove rows with no fields from profile view +* Tweak: remove empty rows/row headings from profile +* Fixed: removed plain password user meta key from all users +* Fixed: issue with image upload when form has errors +* Fixed: resolved issue with disabling profile menu / tabs + += 1.0.61: February 20, 2015 = + +* Tweak: Upload button text is made translatable +* Fixed: conflicts with Divi theme +* Fixed: issue with Roles dropdown field + += 1.0.60: February 18, 2015 = + +* Tweak: added a protection to prevent wp-admin lockout for admin users +* Tweak: new hook for account page form submitting (for developers) +* Tweak: added a few missing translations +* Fixed: issue with roles dropdown not saving its state +* Fixed: issue with roles dropdown when made required in form +* Fixed: issue with tabbing on form fields + += 1.0.59: February 17, 2015 = + +* New added Finnish language (fi_FI) +* Tweak: show e-mail column in users backend +* Fixed: issue with showing members directory on frontpage + += 1.0.58: February 16, 2015 = + +* Fixed: display name as search field in member directory +* Fixed: translation issues in backend settings +* Fixed: issue with non-english letters in display names +* Fixed: bug with multiple default values for multi-select and checkbox fields +* Fixed: bug with multiple conditional logic based on different checkbox values + += 1.0.57: February 16, 2015 = + +* Tweak: Italian language up-to-date +* Fixed: issue with registration where it can trigger a php warning +* Fixed: some translation issues + += 1.0.56: February 15, 2015 = + +* Fixed: issue with permalink changes + += 1.0.55: February 15, 2015 = + +* New: added Dutch (Nederlands) language +* New: show user registration/joined date in profile and/or member directory +* New: added facebook meta tags on user profiles (You have to disable facebook og tags in your SEO plugin) +* Tweak: sort users by default in "backend" by newest users first +* Tweak: added a close icon to profile and account notices +* Fixed: changed all time features to reflect WordPress installation time +* Fixed: timestamp on registration info shows form submission date/day +* Fixed: updated language files and new translation words + += 1.0.54: February 15, 2015 = + +* New: added a remember me checkbox to login forms by default (optional) +* Tweak: keep your users signed in even if they close browser (optional) +* Tweak: minor css changes +* Fixed: bug with double redirects (causing incorrect loop) after login on some sites + += 1.0.53: February 14, 2015 = + +* Tweak: when deleting users in backend, users will be deleted upon confirmation only +* Tweak: deleted users content is assigned to admin by default (to avoid losing content) +* Fixed: include plugin js and css on specific pages only + += 1.0.52: February 13, 2015 = + +* Fixed: issue with users backend **update recommended** +* Fixed: preview registration info in users backend + += 1.0.51: February 13, 2015 = + +* New: show registration info for each user in users backend +* New: show user stats at a glance in plugin dashboard +* New: sort users in backend by account status +* New: sort users in backend by user role +* New: added option to disable plugin css and js on homepage +* Tweak: updated language and translations files +* Fixed: issue with changing user role from Profile page +* Fixed: php bug with user description that has links +* Fixed: small issue with rewrite rules + += 1.0.50: February 12, 2015 = + +* New: added option to include plugin js/css only on specific pages (user suggestion) +* Tweak: image and file uploads tweaked +* Fixed: date and time picker localization +* Fixed: bug with date and time fields +* Fixed: issue with searching members with default permalinks used +* Fixed: minor css fixes + += 1.0.49: February 10, 2015 = + +* New: added option to disable UM menu (fixes conflict with mega-menu on some themes/plugins) +* New: added option to disable strong password in Account / Password change tab +* New: added a notice to Account page when user updates account +* Fixed: issue with global access settings + += 1.0.48: February 10, 2015 = + +* New: added translation downloader/updater in plugin dashboard +* New: added admin notice when language is updated or downloaded +* Tweak: redirect to login page by default if content is restricted +* Tweak: redirect back to the protected content after successful login +* Tweak: small modifications to plugin admin css +* Fixed: issue with registration form per role not appearing (when logged in) +* Fixed: image and file uploads strip illegal characters from file name +* Fixed: small issue with mandrill plugin +* Fixed: bug with role creation that have used slugs that exist in database + += 1.0.47: February 9, 2015 = + +* New: A more native dashboard for Ultimate Member +* New: view your temp uploads directory size and purge it from dashboard +* Fixed: user uploads bug with handling photo uploads at once +* Fixed: issue with using UM role as search filter in directory +* Fixed: a little icon issue with directory backend +* Fixed: localized a few words from predefined fields + += 1.0.46: February 8, 2015 = + +(Update Recommended) + +* New: added Spanish language pack +* Fixed: important JS conflict in admin when UM is active +* Fixed: profile permalink issue for e-mail usernames +* Fixed: installation issue on some WP databases + += 1.0.45: February 8, 2015 = + +* Fixed: Multisite bug php Fatal error: call to undefined function wpmu_delete_user() + += 1.0.44: February 8, 2015 = + +* Tweak: improved performance: unused user photos are deleted when user upload +* Tweak: cleaned up dashboard code +* Tweak: updated current translations +* Fixed: display name field should be updated with wp_update_user and not in usermeta +* Fixed: admin js and css should are loaded in UM backend only + += 1.0.43: February 7, 2015 = + +* New: added German (Deutsch) language support +* Tweak: updated all translation packs +* Fixed: profile social links in member directory +* Fixed: prevent storing user_pass in usermeta table +* Fixed: php error triggered from um-access.php file + += 1.0.42: February 6, 2015 = + +* New: added option to block specific e-mail domains from registering +* New: 2 new social profile fields: YouTube and SoundCloud +* New: added option to show field icons in profile header +* New: import/export plugin settings feature added to the backend +* New: added option to duplicate forms in backend with one click +* Tweak: cleaned up installation code +* Tweak: minor css modifications +* Fixed: adding HTML and iframe content to html-allowed textarea fields +* Fixed: upload folders permissions with some configurations and servers +* Fixed: live preview of profile forms in backend + += 1.0.41: February 5, 2015 = + +* New: added access control settings to custom post types, you can have custom access settings applied to your custom post types now +* New: divider and spacing fields fully support conditional logic +* Tweak: Turkish language completed +* Tweak: updated some translations +* Fixed: a couple of PHP warnings and errors have been resolved +* Fixed: conflict with MailPoet plugin has been resolved + += 1.0.40: February 4, 2015 = + +* Tweak: line-breaks and automatic urls are now working for textarea fields +* Tweak: updated ReduxFramework to latest version +* Tweak: backend sentences are now properly localized / updated translation +* Fixed: important issue with field positions in backend form builder +* Fixed: issue with usernames that have spaces resolved +* Fixed: conflict with page title in bbpress forums resolved +* Fixed: issue with escaping the apostrophes resolved +* Fixed: issue with loading more posts/comments in profile resolved + += 1.0.39: February 3, 2015 = + +* New: added support for child templates to allow customizing the templates of plugin via theme or child theme. [See how](https://ultimatemember.com/codex/overriding-default-ultimate-member-profile-templates/) +* New: added French language pack +* Tweak: improved localization notification in backend +* Tweak: improved template loading +* Fixed: a minor css issue with multi-select field placeholder + += 1.0.38: February 3, 2015 = + +* New: added a built-in automatic language pack downloader +* New: plugin now available in Italian, Turkish (40%) +* Tweak: If you need the plugin on available language pack you can download it automatically via the dashboard +* Tweak: when user updates account page the page will refresh and stay in the same tab +* Fixed: possible permalinks conflict with some wordpress themes + += 1.0.37: February 2, 2015 = + +* Tweak: automatic line breaks in user description field +* Tweak: added gravatar rating parameter to the gravatar function +* Fixed: permalinks issue with customized slug for user and account pages + += 1.0.36: February 1, 2015 = + +* New: URLs in user description are automatically converted to hyperlinks +* New: added option to redirect author archive to their UM profile automatically +* New: added option to show asterisk next to required fields (optional) +* New: Turkish language file (40% completed) +* Tweak: updated language file with missing sentences and words +* Tweak: auto redirect user/ base to user profile (e.g. user/username/) +* Fixed: issue with wrong comments count on user profile menu +* Fixed: issue with display name tags in nav menu +* Fixed: issue with conditional logic for select/multi-select fields +* Fixed: issue with conditional logic for content blocks and shortcode fields +* Fixed: conflict with Pods wordpress plugin + += 1.0.35: January 31, 2015 = + +* Tweak: exif module is not required anymore and does not stop photo uploads (exif is highly recommended) +* Fixed: issue with changing a WP administrator role to a community administrator role +* Fixed: issue with plugin uploads directory on some multisite installations +* Fixed: conflict with default profile tab and editing profile +* Fixed: minor css conflict on account page with some themes when viewed on tablets + += 1.0.34: January 31, 2015 = + +* New: added option to set a default cover photo +* New: added option to hide restricted content from search and archive +* Fixed: php error in title tab with ElegantThemes +* Fixed: theme conflict with photo/cover upload +* Fixed: issue with country field showing country code in profile +* Fixed: issue with setting default tab +* Fixed: issue with 2-name user roles + += 1.0.33: January 30, 2015 = + +* New: Introducing profile menu / tab system (optional) +* New: display user posts and comments in profile menu (optional) +* New: added option to force hide adminbar on the frontend even for administrators +* Tweak: added profile menu options to plugin settings panel +* Tweak: added option to enable/disable profile menu and/or profile menu tabs +* Tweak: added option to show or hide post and comment counts (when the tabs are active) +* Tweak: account activation via e-mail redirects user to login page and displays a success message +* Fixed: issue with conditional logic on profile fields has been resolved +* Fixed: bug with searching members by gender +* Fixed: admin nav menus conditional logic conflict with some themes +* Fixed: bug with datepicker field on windows servers + += 1.0.32: January 30, 2015 = + +* New: added 3 new tags to use in email templates {first_name}, {last_name}, and {gender} +* Fixed: Issue with account page permalink resolved - [view issue](https://ultimatemember.com/forums/topic/permalink-bug/) +* Fixed: Issue with conditional menu items showing for un-approved users resolved - [view issue](https://ultimatemember.com/forums/topic/registration/) + += 1.0.31: January 29, 2015 = + +* Fixed: Issue with custom user page slug resolved [view issue](https://wordpress.org/support/topic/translate-plugin-9) +* Fixed: PHP warning in members directory resolved +* Fixed: Issue with hardcoded user profile URLs in menu + += 1.0.30: January 29, 2015 = + +* New: added option to control number of profiles to display in members directory for mobile devices +* New: new admin action hook 'um_extend_admin_menu' to extend plugin administration menu +* New: Improved plugin accessbility e.g add alt text to links and images so people with disabilities can use screen readers +* New: added option to show/hide the message that appears if profile is empty (includes emoticon show/hide) +* Tweak: new translatable strings +* Tweak: added option to customize single-result text for members directory +* Tweak: removed unnecessary code from member directory backend +* Tweak: removed unnecessary js from admin head +* Fixed: Account page is now translatable +* Fixed: content restriction widget css in backend + += 1.0.29: January 28, 2015 = + +* New: added feature to show user display name in menu (e.g. Welcome, {display_name}) +* New: added option to add text to dividers (which can be added using the drag-and-drop form builder) +* New: security improvement: added whitelisted IP(s) option to allow you to access the WP-admin screen always (prevents lockout) +* New: added filter hook um_whitelisted_wpadmin_access to control access to wp-admin login screens (for developers) +* New: added custom css option to apply extra css styling rules from plugin settings +* New: added custom css option to each form allowing you to apply extra styling rules per form +* New: added option to customize profile fields area width (per form basis) besides global option +* Tweak: compatibility with default permalinks (Pretty permalinks are strongly recommended though!) +* Tweak: improved the function that gets user IP address +* Tweak: performance: inline css from the plugin is automatically compressed/minified + += 1.0.28: January 27, 2015 = + +* New: added compatibility with wpMandrill to handle email delivery +* Fixed: Issue with profile edit menu not appearing + += 1.0.27: January 27, 2015 = + +* Fixed: WP admin bar issue with some plugins and themes +* Fixed: conflict with WP Recent Comments With Avatars plugin + += 1.0.26: January 26, 2015 = + +* Fixed: Important issue fix (update recommended) + += 1.0.25: January 26, 2015 = + +* New: addded support to use gravatars (optionally) If the user does not have a custom avatar +* New: um_user_permissions_filter hook (for developer use) +* Tweak: plugin uses get_avatar() properly now +* Fixed: user avatars in backend are fixed +* Fixed: Mobile_Detect class does not throw php error if it was previously called +* Fixed: corrected a few translations errors + += 1.0.24: January 26, 2015 = + +* Tweak: predefined fields are now localized (translatable) +* Fixed: PHP warning in comments was fixed +* Fixed: avatars in comments + += 1.0.23: January 25, 2015 = + +* Fixed: important bugfix with profile editing + += 1.0.22: January 25, 2015 = + +* New: option to set maximum profile fields area width +* New: ajax functions for future development use +* Tweak: improved profile permalinks for e-mail based usernames +* Tweak: disable user from editing username (If admin put the username field by mistake in profile) +* Tweak: minor css changes +* Fixed: ability to clear conditional logic from fields in backend +* Fixed: corrected spacing issue in a multi-column layout in profile + += 1.0.21: January 24, 2015 = + +* New: Added ajax action hook for development use +* New: Extended profile hooks +* New: you can restrict / apply access control to woocommerce shop page +* Fixed: content restriction for woocommerce shop page + += 1.0.20: January 24, 2015 = + +* New: Custom email is sent to user after resetting/changing password +* New: Added action/filter hooks to profile +* Tweak: Improved a few core functions +* Fixed: Encoding issue with non-english sites fixed + += 1.0.19: January 23, 2015 = + +* New: Border thickness option for members directory +* New: Option to show/hide forgot password link on login form +* Tweak: Capital initials on members directory +* Fixed: Issue with row styling in form builder +* Fixed: Conditional logic bug fixes +* Fixed: Icon for conditional rules in backend +* Fixed: php warning in debug mode +* Fixed: Mobile/phone number validation fixed + += 1.0.18: January 23, 2015 = + +* Fixed: Issue with drag and drop form builder +* Fixed: Form builder trash icon in backend +* Fixed: Minor css adjustments in frontend + += 1.0.17: January 22, 2015 = + +* New: WordPress Multi-site compatibility for user uploads and photos +* Fixed: Searching members by username or email in directory (partial search supported) +* Fixed: Anonymous tracking +* Fixed: Minor css fixes + += 1.0.16: January 22, 2015 = + +* Fixed: Settings page: tracking popup removed + += 1.0.15: January 22, 2015 = + +* New: User profiles now show a cool message if the user profile field area is empty +* New: Added 'visibility' setting to all field types in backend +* Tweak: Members search function supports partial search matching +* Tweak: Deleting photo or file removes file from server +* Tweak: Deleting a user will delete all his personal uploads from the server +* Fixed: Duplicate tooltip for password field has been removed + += 1.0.10: January 22, 2015 = + +* Fixed: Template tags for welcome e-mail +* Fixed: {submitted_registration} e-mail template tag + += 1.0.0: January, 2015 = + +* First official release! The easiest way to create powerful online communities and beautiful user profiles with WordPress From 20548f26e885328cd33076af35bb2cadd9b54280 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Tue, 20 Jun 2017 21:49:36 +0800 Subject: [PATCH 26/28] Update git readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1dfd2774..67b9b8f1 100644 --- a/README.md +++ b/README.md @@ -53,9 +53,9 @@ GNU Version 2 or Any Later Version Releases ==================== -[Pre-Release Version: 1.3.85.18](https://github.com/ultimatemember/ultimatemember/releases). +[Pre-Release Version: 1.3.86](https://github.com/ultimatemember/ultimatemember/releases). -[Official Release Version: 1.3.83](https://github.com/ultimatemember/ultimatemember/releases). +[Official Release Version: 1.3.86](https://github.com/ultimatemember/ultimatemember/releases). Changelog ==================== From d8f4c820a19e7ba761c29f12b4032fbc53a13a85 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Sat, 24 Jun 2017 21:35:15 +0800 Subject: [PATCH 27/28] Fix system info --- readme.txt | 1789 +--------------------------------------------------- 1 file changed, 9 insertions(+), 1780 deletions(-) diff --git a/readme.txt b/readme.txt index d9987d03..29944cac 100644 --- a/readme.txt +++ b/readme.txt @@ -6,7 +6,7 @@ Donate link: Tags: community, member, membership, user-profile, user-registration Requires at least: 4.1 Tested up to: 4.8 -Stable tag: 1.3.86 +Stable tag: 1.3.87 License: GNU Version 2 or Any Later Version License URI: http://www.gnu.org/licenses/gpl-3.0.txt @@ -149,1788 +149,17 @@ The plugin works with popular caching plugins by automatically excluding Ultimat == Changelog == -= 1.3.85: June 19, 2017 = + += 1.3.87: June 19, 2017 = + +* Bugfixes + - Fix system info + += 1.3.86: June 19, 2017 = * Enhancements: - * Add new filter hook to modify the profile cancel uri for redirection - * `um_edit_profile_cancel_uri` - * Add new filter hook to modify the specific field type's value - * `um_edit_{$type}_field_value` - * Add new filter hook that modies the file name - * `um_upload_file_name` - * Update en_US translation files - -* Bugfixes: - * Fix file clean up with image/file fields on profile update - * Fix text domain slug for wp.org translation compatibility - * Fix change password email notification - * Fix double click submission in registration forms - * Fix custom field role validation - * Fix conditional logic 'content block' field - * Fix conditional logic field operators and visibility - * Fix textarea field sanitation - * Fix system info false positive virus scan results - * Fix field validation for minimum and maximum numeric values - * Fix used custom fields visibility in form builders - * Fix cache user's profile option description - * Fix double click for android device - * Fix png image upload with transparency - * Fix extra slashes in form edit view when invalid input fields occur - * Remove notices + - Update readme.txt - -= 1.3.84: April 18, 2017 = - -* Enhancements: - * Adds new action hooks before and after WP_User_Query. - * `um_user_before_query` - * `um_user_after_query` - * Adds a dismiss link in locale / language translation notices - * Adds correct user profile url in WPML language switcher - * Adds new option to disable name fields in account page - * `UM > Settings > Account > Disable First & Last Name fields` - * Add new filters to modify upload base directories - * `um_multisite_upload_sites_directory` - * `um_multisite_upload_directory` - * Adds new action hook in admin > user edit > Ultimate Member to append any customisation - * `um_user_profile_section` - * Adds H2 for UltimateMember section to Add/Edit User Form - -* Bugfixes - * Fix image url cache filter - * Fix PHP 7.1+ compatibility issues - * Fix UTF8 encoding in form fields - * Fix hide member directory option. - * Fix conditional logic fields. - * Fix login access settings for logged-in users. - * Fix WP role synchronisation on UM role update - * Fix WP authenticate filter hook - * Fix radio and checbox field active state colors when disabled. - * Fix Content Availability conditional fields in edit/add category screens - * Remove notices - -= 1.3.83: February 20, 2017 = - -* Enhancements: - * Adds user avatar's alternate text. The default text is set to `display_name` - * Adds new filter hook to modif the user avatar's alternate text. - * `um_avatar_image_alternate_text` - * Set gravatar for newly registered users - * Adds Tag archive page access settings - -* Bugfixes - * Remove pointer cursor from field areas in profile view mode - * Fix profile slug in permalinks - * Fix URL field 'nofollow' issue - * Fix field icons display - * Fix an issue with admin roles in editing fields - * Fix whitepspace issue with Email Address validation - * Fix profile visibility option in member directories - * Fix icon display as label in profile view - * Fix PHP 7.1.1 compatibility - * Fix redirection on update profile slug - * Fix dynamic CSS options in member directory - * Fix edit profile option by specific role - * Fix Vkontakte view - * Remove notices - -= 1.3.82: January 31, 2017 = - -* Enhancements: - * Add filter hook to disable secure account fields - * `um_account_secure_fields__enabled` - * Updates ReduxFramework to version 3.6.2 - * Adds a body class in profile/user page for the current loggedin user - * `um-own-profile` - -* Bugfixes - * Fix select/multi-select field options translation - * Fix profiles visibility and access permissions in member directories - * Fix User deletion in mobile browsers - * Fix WPML & PolyLang compatibility issues - * Fix field view and edit restriction - * Fix author name in recent comments widget - * Fix overwrite of multiple image and file uploads with the same filename - * Remove notices - -= 1.3.81: January 19, 2017 = - -* Bugfixes - * Fix conditional field option with 'contains' - * Fix WPML compatibility with UM logout - -= 1.3.80: January 18, 2017 = - -* Bugfixes: - * Fix loop email notifications on user creation in the back-end - -= 1.3.79: January 17, 2017 = - -* Enhancements: - * Adds new username and string validation filter hooks: - * um_validation_safe_username_regex - * um_validation_safe_string_regex - * Adds new filter hook to modify conditional fields - * um_get_field__{$field_key} - * Change max limit of users queue's count in cache - * Adds current logged in users WP and Community roles in the System Info - * Adds confirmation on user deletion - -* Bugfixes: - * Fix conditional fields - * Fix logout compatibility issues with WPML - * Fix select option's custom callback validation - * Fix translation strings of primary and secondary buttons on Login and Register forms. - * Fix gender filter and results - * Fix user deletion in account page for mobile browsers - * Fix form rows CSS options - * Fix default text autocomplete - * Remove notices - -= 1.3.78: December 08, 2016 = - -* Bugfixes: - * Fix menu settings compatibility issue with WP 4.7 - * Fix mobile class on account delete tab heading - * Fixes an issue where tagline shows the current users to all members - * Fixes notice on updating WP List Table quick edit - * Remove notices - - = 1.3.77: November 30, 2016 = - -* Bugfixes: - * Fix set and reset password validation. - * Remove notices - -= 1.3.76: November 30, 2016 = - -* Bugfixes: - * Fix invalid security notice in set password. - -= 1.3.75: November 29, 2016 = - -* Bugfixes: - * Fix 'Invalid user ID' on profile update - -= 1.3.74: November 29, 2016 = - -* Enhancements: - * Improves clear users cache. - * Removes user id from redirect URL on registration process for pending review and email activation statuses. - -* Bugfixes: - * Fix assigning of role on registration process - * Fix change email address in edit mode. - * Fix change password validation. - * Removes notices when role field is present in the profile form. - - -= 1.3.73: November 17, 2016 = - -* Enhancements: - * Adds a filter hook to modify the submitted details on registration process - * `um_before_save_filter_submitted` - * Adds a filter hook to disable canonical link in header - * `um_allow_canonical__filter` - * Adds a filter hook to modify the auto-generated email address on registration process - * `um_user_register_submitted__email` - * Adds filter hooks to modify locale, language file path and textdomain - * `um_language_textdomain` - * `um_language_locale` - * `um_language_file` - * Adds filter hook to modify the data of selected value: - * `um_is_selected_filter_data` - * Adds new select/multi-select options to retrieve options from a callback. - * In the form builder, edit or add a select/multi-select field and add your callback function in `Choices callback` field to get populated. - * Adds parent select field option to dynamically populate another select field. - * If `Choices Callback` option is set in the field settings, the `Parent Option` triggers an Ajax request to populate the child options on `change` event. - * Updates `um.min.js` file. - * Updates `en_US` translation file. - -* Bugfixes: - * Removes notices from WPCLI console. - * Removes notices from edit profile mode - * Removes autocomplete from search filter fields - * Fix translation strings of search filters on a member directory - * Fix email notifications not sending on registration process - * Fix field selection with special characters on form submission - * Fix assigning of role on register submission process - -= 1.3.72: October 10, 2016 = - -* Enhancements: - * Improves the bulk filters, actions and redirection in `User Screens` - * Adds new access options to disallow access on homepage and category pages. - * Adds Textarea to show in profile tagline on Member Directory - * Adds a filter hook `um_allow_frontend_image_uploads` to allow profile and cover photo uploads on front-end pages. - * Adds new filter hooks to modify image field data on upload: - * `um_image_handle_global__option` - * `um_image_handle_{$field}__option` - * Adds a new filter hook to modify the redirection of non logged in users who visit the parent user page. - * `um_locate_user_profile_not_loggedin__redirect` - * Improves generate dummies tool with `wp_remote_get` - * Adds a new action hook for a new section in cover area: - * `um_cover_area_content` - * Updates the English translation .po and .mo files. - * Improves the shortcode `um_show_content` to swap the `user_id` with the current profile. - -* Bugfixes: - * Fixes a bug where multi-select field options doesn't match the user selected options that contain html entities. - * Fixes a bug to display correct role slugs in radio and select fields. - * Fixes a bug where reset password form is conflicting with register and login form on a page. - * Fixes a bug where Users queue count in the Admin > `All Users / Users` menu doesn't update when a user account is in `pending user review` and gets deleted. - * Fixes a typo in Password Reset Email option's description - * Fixes a bug where conditional fields 'equals to' validation on registration process - * Fixes a bug to disable the query with hiding account on member directory - * Fixes a bug to retrieve specific number of members - * Fixes a bug to retrieve all members with `get_members` new parameter `number` - * Fixes a typo in Welcome Email template. - * Fixes a bug where login form redirection is set to `wp-admin/admin-ajax.php` instead of the current page when loaded via ajax. - * Fixes a bug where uninstall link doesn't load. - * Fixes a bug to redirect users to correct URL after login based from login options. - * Fixes a bug where non-logged in users are not able to access the profile page when `Global Site Access` is set to `Site accessible to Logged In Users`. - * Fixes a bug to modify the login redirection url especially when DOING_AJAX is defined. - * Fixes a bug to retrieve correct community roles per site in a Multisite Network setup. - -= 1.3.71: September 12, 2016 = - -* Enhancements: - * Adds a new filter hook to modify the `cover photo` uri. - * `um_user_cover_photo_uri__filter` -* Bugfixes: - * Fixes a bug to allow users change their password in account form - * Fixes a bug to allow role validation and assigning of roles to users on registration process - * Fixes a bug to avoid blank admin footer text all around WordPress - -= 1.3.70: September 09, 2016 = - -* Enhancements: - * Adds a new filter hook to modify the profile `cover photo` uri. - * `um_user_cover_photo_uri__filter` -* Bugfixes: - * Fixes a bug to allow users change their password in account form - * Fixes a bug to reset passwords - -= 1.3.69: September 08, 2016 = - -* Enhancements: - * Adds a system information tool for support purposes - * Adds a new option to disable generating profile slugs on every load of member directory pages. - * Located in UM > Settings > Advanced > Stop generating profile slugs in member directory. - * This improves the performance when loading profiles in directories. It generates profile slug on Profile Update ( front and back-end ), Registration Process and viewing the Users in the back-end. - * Adds new filter hook `um_activate_url` to modify the account activation url. - * Adds new filter hooks to modify first and last name cases - * `um_user_first_name_case` - * `um_user_last_name_case` - * Adds new filter hooks to modify nonces of image and file uploads - * `um_file_upload_nonce` - * `um_image_upload_nonce` - * Improves search member filters and keyword sensitivity - * Improves generation of profile slugs - * Improves force capitalization of display names with dash - * Improves the pagination and loading of profiles in member directory - -* Bugfixes: - * Fixes a bug where users in member directory are missing after updating their profile - * Fixes a bug to generate random email when email field is not added in a form. - * Fixes a bug to show hidden members in member directory for admins - * Fixes a bug to validate username length on registration process - * Fixes a bug to display profile name in dynamic menu and profile page title - * Fixes a bug where frequent security notices show on registration process - * Fixes a bug to assign correct role to a user on registration process - * Fixes a bug to display correct roles in radio and dropdown fields - * Fixes a bug to validate the reset password - * Fixes a bug to change the assign of role in navigation menu items - * Fixes a bug to select radio field in profile form - * Fixes a bug to allow frontpage and posts page to handle custom access settings - * Fixes a bug where profile role field's conditional logic doesn't show/hide the second field. - * Fixes a bug to show 'Last Login' field in profile edit and view mode. - * Fixes a bug to sync roles with users in Edit Roles. - * Fixes a bug to disable/enable UM profile cache - * Fixes a bug to disable biography field's character limit when added in form - - -= 1.3.68: August 02, 2016 = - -* Fixed: radio field in account page - -= 1.3.67: August 02, 2016 = - -* New: allow non-editable fields in registration form -* Fixed: member directory mobile pagination -* Fixed: biography field validation in profile header and forms -* Fixed: remove override 'birth date' label -* Fixed: html support in biography field -* Fixed: select options search -* Fixed: select field's search query -* Fixed: search filters and multi-select fields -* Fixed: select, radio and checkbox field options -* Fixed: multiple select in UM settings -* Fixed: member directory's pagination links -* Fixed: remove nonce and http referer from submitted user details -* Fixed: disallow direct access link to posts with enabled category access restriction -* Added: new filter hook: `um_get_default_cover_uri_filter` -* Added: new filter hook: `um_register_allow_nonce_verification` -* Added: new filter hook: `um_get_option_filter__{$option_id}` -* Added: new filter hook: ` um_profile_{$key}__filter` -* Added: new filter hook: `um_profile_{$key}_empty__filter` -* Added: new filter hook `um_enable_ajax_urls` -* Added: new filter hook `um_field_checkbox_item_title` - - -= 1.3.66: July 14, 2016 = - -* Tweak: update translation strings and English translation file. -* Fixed: alphabetic and lowercase validations -* Fixed: checkbox and radio label encoding -* Fixed: user_login field validation type -* Fixed: registration form process -* Fixed: remove comments with hidden/private posts from comment tab - -= 1.3.65: July 06, 2016 = - -* Tweak: update ReduxFramework to version 3.6.0.1 -* Added: new action hook 'um_registration_after_auto_login' -* Added: new option for Network Permalink Structure -* Added: an account option to require first and last name -* Fixed: account deletion and password confirmation -* Fixed: registration form submission process -* Fixed: access settings in home page and posts conflict -* Fixed: encoding non UTF8 strings - -= 1.3.64: June 29, 2016 = -* Fixed: edit profile permission - -= 1.3.63: June 28, 2016 = -* Fixed: admin navigation -* Fixed: profile access and redirection - -= 1.3.62: June 27, 2016 = -* Fixed: access settings and redirection for logged out users -* Fixed: global access settings -* Fixed: remove notice in permalink - -= 1.3.61: June 24, 2016 = -* Fixed: edit profile url in multi-site setup -* Fixed: global access settings - -= 1.3.60: June 23, 2016 = -* Fixed: change password -* Fixed: menu settings and roles -* Fixed: cropper issue with Avada theme -* Fixed: image cropper and modal -* Fixed: nonce in registration forms -* Fixed: user redirection for non-loggedin users -* Fixed: global access setting - -= 1.3.59: June 17, 2016 = -* Added: filter 'um_register_hidden_role_field' -* Added: filters and action hooks in form post -* Added: cache time filter in avatar url -* Fixed: Nonces added to file uploads -* Fixed: remove notices -* Fixed: upload image cropper -* Fixed: select field multiple select -* Fixed: changing community role by admin -* Fixed: current url method in multisite setup -* Fixed: access settings - -= 1.3.58: June 09, 2016 = -* Fixed: change password -* Fixed: select field overlay - -= 1.3.57: June 09, 2016 = -* Fixed: admin access restriction - -= 1.3.56: June 09, 2016 = -* Fixed: query of pages - -= 1.3.55: June 09, 2016 = -* Fixed: select fields styles -* Fixed: select fields with accented characters -* Fixed: select fields with accented text values -* Fixed: select fields in overlay -* Fixed: admin front-end access restriction -* Fixed: pages query - -= 1.3.54: June 02, 2016 = -* Fixed: remove quick edit from Built-in roles row actions -* Fixed: remove notices -* Fixed: dropdown/select fields -* Fixed: upload file extension's case sensitive issue -* Fixed: reset and change password - -= 1.3.53: June 01, 2016 = -* New: generate dummy users tool -* Added: filter 'um_submit_form_error' for custom error messages -* Tweak: update compressed CSS -* Tweak: update select2.js to version 4.0.2 -* Fixed: gravatar and transfer tool -* Fixed: permalink base for username -* Fixed: saving account fields -* Fixed: remove notice -* Fixed: upload form error logging -* Fixed: cache option -* Fixed: edit profile url -* Fixed: login redirection -* Fixed: remove account information from welcome email -* Fixed: form error with users tags -* Fixed: select fields with accented characters -* Fixed: image upload - -= 1.3.52: May 14, 2016 = -* Added: 'wp_authenticate_username_password_before' action hook -* Tweak: remove access settings in media screens -* Fixed: convert tags format -* Fixed: ReduxFramework notice -* Fixed: remove PHP notice - -= 1.3.51: May 10, 2016 = -* Added: 'um_form_fields_textarea_settings' filter -* Added: reset password limit options -* Added: option to force display name to be capitlized -* Fixed: remove notices -* Fixed: redirect url on login -* Fixed: optimize query and object caching -* Fixed: profile photo as required field -* Fixed: admin access in front-end login -* Fixed: typos in tooltips -* Fixed: embedding video fields -* Fixed: Flush rewrite rules - -= 1.3.50: April 21, 2016 = -* Fixed: menu incompatibility issue -* Fixed: username validation -* Fixed: admin css conflict -* Fixed: display name capitalization -* Fixed: search member filter and fields -* Fixed: member directory big SELECT query -* Added: action hook 'um_access_post_type' & 'um_access_post_type_{current_page_type}' for current page type in access settings - -= 1.3.49: April 14, 2016 = -* Fixed: remove core notices from ajax requests -* Fixed: upload form and media path - -= 1.3.48: April 11, 2016 = -* New: advanced option to disable profile object caching -* Added: ssl media uri function -* Added: first and last name initial as meta key -* Fixed: order by random and pagination -* Fixed: user sort by random -* Fixed: status message encoding -* Fixed: image upload and file name -* Fixed: user login with other provider -* Fixed: translation strings -* Fixed: dependencies fatal errors -* Fixed: remove notices - -= 1.3.47: April 6, 2016 = -* Fixed: Fatal errors with language filter file - -= 1.3.46: April 6, 2016 = -* Fixed: Search widget fatal error -* Fixed: image jpeg upload sizes - -= 1.3.45: April 6, 2016 = -* New: support for wordfence and limit login -* New: search widget -* New: secondary email address -* Added: hook to password reset form fields -* Added: privacy options for profile menu tabs -* Added: option to allow primary email editable in profile view -* Added: member directory sort randomly -* Fixed: user page redirection -* Fixed: admin script error -* Fixed: invalid image path -* Fixed: upload image png with transparency -* Fixed: permalink basename fallback -* Fixed: casting variable and add new filter -* Fixed: remove notices -* Fixed: search users by tag -* Fixed: force UT8 encoding option -* Fixed: email content type -* Fixed: WPML compatibility -* Fixed: permalink base name format and redirect loop in profile page -* Fixed: form labels textdomain -* Fixed: edit profile redirect -* Tweak: accept period in profile url - -= 1.3.44: March 11, 2016 = -* New: an option to force Strings to use UTF-8 encoding -* New: an option to change Gravatar default image -* New: South Sudan to the list of countries. -* Fixed: update profile edit -* Fixed: remove feed from content restriction -* Fixed: search username query -* Fixed: support for server query string data after user login -* Fixed: matching fields values -* Fixed: email template path -* Fixed: shortcode within [um_show_content] shortcode -* Tweak: remove notices - -= 1.3.43: March 5, 2016 = -* Fixed: redirect URL after login -* Fixed: security check in registration form -* Fixed: email template path string -* Fixed: member directory query - -= 1.3.42: March 3, 2016 = -* Fixed: email template and localization -* Fixed: redirect URL - -= 1.3.41: March 3, 2016 = -* Fixed: Registration form redirect url - -= 1.3.40: March 3, 2016 = - -* New: filter `um__form_show_field` for display field -* New: shortcode: show custom content to specific role [um_show_content roles='member'][/um_show_content] -* New: 'not' attribute to [um_show_content not='member,contributor'][/um_show_content] shortcode -* Tweak: update masonry script -* Tweak: sql concatenate with prepare statement -* Fixed: remove notices -* Fixed: missing mCSB_buttons.png -* Fixed: set Gravatar default image as UM default image -* Fixed: fix default gravatar image -* Fixed: select2 multi dropdown for wc orders -* Fixed: show admin bar option -* Fixed: session issue with logout -* Fixed: register using email address if it exists -* Fixed: duplicate full_name permalinks -* Fixed: duplicate profile -* Fixed: show admin bar for non-logged in users -* Fixed: honorifics in full name -* Fixed: unsynced wp role -* Fixed: display wp user role filters -* Fixed: select and radio invalid value -* Fixed: email template path -* Fixed: user profile url with single dash in the last name -* Fixed: function to check meta value existence by meta key -* Fixed: um-admin-dashboard warnings -* Fixed: community role field in profile edit screen -* Fixed: mismatched roles -* Fixed: admin access in profiles -* Fixed: allow multiple member directory shortcode in a page -* Fixed: datepicker for ios and safari -* Fixed: adding of members in wp-admin -* Fixed: Fix redirection and XSS issue in login form - -= 1.3.39: February 24, 2016 = - -* New: add gravatar transfer tool -* New: show users with gravatar photo in member directory -* New: add upgrade class for data migration -* Tweak: Set last login for new users to show in member directory -* Tweak: validate roles for forms without fields -* Tweak: cropper js update -* Tweak: update minified script -* Tweak: tooltip and comment -* Fixed: member search query -* Fixed: Registration process with pending and show message enabled -* Fixed: Fix form security validation -* Fixed: email content type, template and localization -* Fixed: remove php notices -* Fixed: custom columns for roles -* Fixed: admin bar visibility per user role -* Fixed: community role editing - -= 1.3.38: February 19, 2016 = - -* Tweak: remove username validation -* Tweak: update minified scripts -* Fixed: Fix email and user submitted data encoding -* Fixed: role validation on register submission -* Fixed: form role and validation -* Fixed: search form pagination visibility - -= 1.3.37: February 17, 2016 = - -* New: Add password confirmation validation -* New: Add VK url validation -* New: Add Vkontakte as predefined url field -* New: Add additional file types -* New: Add file size limit label in image field -* New: Added password reset limit -* New: Allow redirect_to param after registration -* New: Indonesian language support added -* New: Add bio characters limit -* Tweak: Use native WP masonry script instead of duplicating it -* Tweak: Add image upload notice -* Tweak: Add option to allow users to hide profiles from member page -* Tweak: Add filters to modify output field -* Tweak: Add filter hook for email template path -* Tweak: Tweak upload form styles -* Tweak: Remove masonry from core and gulp -* Tweak: Add admin assets and apply minification -* Tweak: Update pickadate assets -* Tweak: Allowing usertags in search filters -* Tweak: Allow members template to be customized/overridden -* Tweak: Option to login user after clicking the activation link -* Tweak: Remove bio count strings -* Fixed: bio limit javascript error -* Fixed: ssl checker for load balancers -* Fixed: redirect loop with wpml permalink -* Fixed: WPML permalink and form compatibility -* Fixed: blocked words -* Fixed: searching with space -* Fixed: change password -* Fixed: members grid override -* Fixed: tipsy.js error -* Fixed: Plugin conflict causing account page displaying wrong info -* Fixed: email locale tempalte path -* Fixed: invalid role -* Fixed: validation for change password -* Fixed: unchecked access roles -* Fixed: telno input styles -* Fixed: escape display name in title attributes -* Fixed: datepicker css issue with some themes -* Fixed: make sure the hash parameter is a string -* Fixed: loading core assets -* Fixed: title tags not updated -* Fixed: empty uneditable fields -* Fixed: account deletion on one submission -* Fixed: Fixed indentation -* Fixed: user_login fallbacks and remove email address -* Fixed: password changed email template - -= 1.3.36: January 6, 2016 = - -* New: added in-page content restriction to protect content for logged-in or logged out users -* New: added community role field to user creation in backend -* New: added community role field to user editing in backend -* New: show specific users in members directory -* New: added a new field type: Number -* New: added filter hooks to specific profile fields -* New: added custom admin bulk actions support -* New: added usermeta support to content locking feature in-page -* Tweak: several tweaks in core to be more WordPress native -* Tweak: added fallback for page setup selections -* Tweak: automatic clickable links in profile header bio -* Tweak: trim long field labels in backend fields modal -* Fixed: profile page SEO title -* Fixed: multi-site redirect support -* Fixed: activation hash comparison -* Fixed: page setup fallback field -* Fixed: prevents php warnings and notices -* Fixed: WP-CLI and cronjobs issues -* Fixed: category posts restriction and redirection -* Fixed: category access settings -* Fixed: activation link - -= 1.3.35: December 15, 2015 = - -* Fixed: registration/login issues resolved - -= 1.3.34: December 15, 2015 = - -* New: new privacy option for fields: allow profile owner & specific roles to view the field -* Fixed: wrong php syntax in admin notice - -= 1.3.33: December 15, 2015 = - -* Fixed: Member search on homepage -* Fixed: emoticons support -* Fixed: redux notices, css styles in admin -* Fixed: users not being deleted - -= 1.3.32: December 10, 2015 = - -* Fixed: array format and notices -* Fixed: users search, delete confirmation and role filter -* Fixed: unique key field validation - -= 1.3.31: December 9, 2015 = - -* Fixed: Add slash in base url filter for multisite -* Fixed: manage user roles, status and filters -* Fixed: Enable WPML support to all UM url/links -* Fixed: Sanitize referers and printing notices in admin screens - -= 1.3.30: December 3, 2015 = - -* New: added Simplified Chinese language support -* Tweak: added many new filters (for developers) -* Fixed: Display name update in profile -* Fixed: Photo upload unique IDs -* Fixed: Remove duplicated method um_convert_tags - -= 1.3.29: October 31, 2015 = - -* New: added new documentation links to plugin files -* New: added filters to control profile photo menu (for developers) -* Fixed: added security patch to remove decrypted passwords from database -* Fixed: bug with blocked words during registration -* Fixed: some localization strings -* Fixed: php warnings/bugs on specific installs - -= 1.3.28: October 13, 2015 = - -* Fixed: Bug with plugin folder structure - -= 1.3.27: October 13, 2015 = - -* Fixed: Role name display in Users dashboard - -= 1.3.26: September 25, 2015 = - -* New: added Greek language support -* Tweak: added custom class to every user meta in member directory -* Tweak: added option to stop flushing rewrite rules every load (performance tweak) -* Fixed: WPML issue on multisite install -* Fixed: Removed redux menu from tools -* Fixed: fix for wp_authenticate_username_password() -* Fixed: searching users by e-mail address -* Fixed: conflict with sites with thousands of pages - -= 1.3.25: September 7, 2015 = - -* Fixed: 404 error on UM pages - -= 1.3.24: September 6, 2015 = - -* Tweak: saved some database queries -* Tweak: plugin not compatible with cache plugins out of the box - needs to exclude dynamic urls from cache -* Tweak: added more development filters in backend - -= 1.3.23: September 2, 2015 = - -* Fixed: PHP strstr() notice on profile - -= 1.3.22: September 2, 2015 = - -* Fixed: compatibility bug with older PHP versions - -= 1.3.21: September 2, 2015 = - -* Tweak: added security by sanitizing file/image uploads -* Fixed: issue with account page > notifications tab -* Fixed: image upload path in email notification -* Fixed: php issue with displaying name -* Fixed: missing localisation strings -* Fixed: couple of php notices - -= 1.3.20: August 28, 2015 = - -* New: added security measure for profile photo uploads -* New: added filter to hook in registration details sent in email notification -* New: added core pages filter to allow you change pages of extensions within plugin settings (e.g. activity) -* Fixed: multi-select field filtering bug -* Fixed: strip slashes from field names in fields modal -* Fixed: show drag and drop footer content only in the drag and drop form builder page -* Fixed: profile photo crop/upload issue -* Fixed: category/post specific restriction conflict -* Fixed: display UM classes only in UM pages -* Fixed: minor code improvements - -= 1.3.19: August 20, 2015 = - -* Fixed: please update - profile issue - -= 1.3.18: August 20, 2015 = - -* New: filter for comment types tab in profile -* New: jQuery.scrollto script added (for developers and extensions support) -* Fixed: XSS vulnerability in text input -* Fixed: user goes to profile about tab after editing profile - -= 1.3.17: August 13, 2015 = - -* New: added Brazilian Portuguese language support -* Tweak: added support for upcoming social activity extension - -= 1.3.16: August 11, 2015 = - -* New: added option to restrict categories in addition to per post content restriction -* New: added support to use dynamic user/profile ID in shortcode field e.g. [your-shortcode user_id={profile_id}] -* New: added security feature to disable admin logging via frontend (optional) -* New: added filter to um_get_core_page() function (for developers) -* Tweak: removed delay from tooltips -* Fixed: conflict with Podcast feed - -= 1.3.15: August 4, 2015 = - -* Fixed: issue with logout from adminbar - -= 1.3.14: August 4, 2015 = - -* New: added last login date support -* New: show user's last login in profile -* New: added sorting members by last login date -* New: added option to re-assign core pages in plugin settings -* Fixed: issue with multi-select required field -* Fixed: URL validation for custom fields -* Fixed: backend user filtering by non-english role -* Fixed: RTL css bugs - -= 1.3.13: July 22, 2015 = - -* Fixed: Woocommerce manual order dropdown conflict - -= 1.3.12: July 22, 2015 = - -* New: ability to delete user cache from plugin dashboard -* New: function is_ultimatemember() checks if user is on UM page (developers) -* New: option to disallow editing email in account page -* New: added Spanish (Mexico) language support -* Fixed: bug with profile viewing and user roles -* Fixed: Woocommerce dropdown bugs/conflicts -* Fixed: ipad/tablet css fixes for profile columns -* Fixed: deleting users delete their content - -= 1.3.11: July 8, 2015 = - -* Fixed: Redux errors and popups in backend - -= 1.3.1: July 7, 2015 = - -* Fixed: major issue with showing HTML in profiles - -= 1.3.0: July 7, 2015 = - -* New: easily sync UM roles with WP roles with role settings -* New: first steps towards WPML compatibility -* New: option to show member results only If user has searched -* New: add .um-err class to UM form if the form contains errors -* New: updated redux framework to latest version -* Fixed: feed issue with private / access locked posts - -= 1.2.997: June 21, 2015 = - -* New: added support for Farsi / Romanian language -* Tweak: adapted core community roles to prevent conflicts -* Fixed: bug with search results pagination -* Fixed: issue with panic key usage and wp-admin screen -* Fixed: bug with custom field validation action - -= 1.2.996: June 11, 2015 = - -* Fixed: php notice causing errors to appear in both frontend and backend - -= 1.2.995: June 11, 2015 = - -* New: added required support for WooCommerce extension -* Tweak: added option to fix conflicts of user profile links using different server method to get current url -* Fixed: security fix for redux framework added -* Fixed: button appearance on tablets -* Fixed: member search by display name - -= 1.2.994: June 6, 2015 = - -* Tweak: added a filter hook to change priority of enqueued styles/scripts -* Fixed: UM forms and elements not appearing in IE -* Fixed: Skype field output -* Fixed: conflict with libraries using Mobile Detect -* Fixed: issue with WP locale (using get_locale() now instead) - -= 1.2.993: May 29, 2015 = - -* Fixed: correction to last update -* Fixed: Private messages extension bug - -= 1.2.99: May 29, 2015 = - -* New: added Czech language support -* Fixed: WooCommerce dropdown issues and bugs in backend - -= 1.2.98: May 18, 2015 = - -* New: added Google map field -* New: added Vimeo video field -* New: added YouTube video field -* New: added SoundCloud track field -* New: added Hebrew language support -* Tweak: do not show captcha response in submitted registration details -* Fixed: profile photo upload issue on profile view mode -* Fixed: user search in backend/frontend -* Fixed: UM login check -* Fixed: admin settings css issue on mobile -* Fixed: cache variable undefined issue - -= 1.2.97: May 13, 2015 = - -* Fixed: issue with image upload fields -* Fixed: date localization resolved -* Fixed: issue with image upload during registration -* Fixed: JS issues for PM extension - -= 1.2.96: May 12, 2015 = - -* New: hooks and compatibility with Private Messages extension -* Fixed: bug with empty password on welcome e-mail -* Fixed: bug with member search using default permalinks - -= 1.2.95: May 9, 2015 = - -* New: RESTful API methods update.user, get.stats, and delete.user -* New: added Danish (Dansk) support -* New: added Swedish (Svenska) support -* Tweak: minor account and logout redirection tweaks -* Fixed: issue with changing user role -* Fixed: bug with login form validation -* Fixed: issue with biography field and html - -= 1.2.94: May 6, 2015 = - -* Fixed: bug with activation e-mails -* Fixed: bug stopping password reset -* Fixed: bug with changing user role and status in backend - -= 1.2.93: May 5, 2015 = - -* New: user profiles are cached to speed up load time -* New: emoji support added to bio / user descriptions -* Fixed: issues with bio field HTML -* Fixed: WP-admin PHP warning -* Fixed: bug with localization of en_US.po file - -= 1.2.92: May 2, 2015 = - -* New: Important: Introduces the Ultimate Member RESTful API -* Tweak: improved um_user_ip() function -* Fixed: issue with invalid html on profile photo and cover photo - -= 1.2.91: April 30, 2015 = - -* New: added custom field validation support via hooks um_custom_field_validation_{$hook} -* Fixed: important bug with profile menu tabs / system - -= 1.2.9: April 29, 2015 = - -* New: display pending users count in backend -* Tweak: improved user deletion process from backend -* Tweak: tweaked filter for register/login buttons -* Tweak: disabled registration timebot for admins -* Fixed: wp-load.php path in image and file upload scripts -* Fixed: RTL compatibility bugs -* Fixed: bug with registration and role field -* Fixed: bug with edit profile and biography length in header - -= 1.2.8: April 25, 2015 = - -* Fixed: Important WP 4.2 conflict resolved: filtering users in backend - -= 1.2.7: April 25, 2015 = - -* Tweak: Compatible with WordPress 4.2 -* Tweak: general code tweaks and improvements -* Tweak: new action hook when user is deleted -* Tweak: new action/filter hooks for profiles (developers) -* Tweak: new filter hook for profile privacy option -* Fixed: permalink issues - -= 1.2.6: April 22, 2015 = - -* Fixed: password reset security fix ( do not reveal emails ) -* Fixed: bug with custom profile templates -* Fixed: display name in member directories -* Fixed: URL fields display in member directory -* Fixed: many bugs with previous version - -= 1.2.5: April 21, 2015 = - -* Fixed: e-mail activation bugs - -= 1.2.4: April 20, 2015 = - -* New: added Russian language support -* Fixed: Security patch related to add_query_arg() -* Fixed: bug with approval HTML e-mail - -= 1.2.3: April 16, 2015 = - -* Fixed: major bug with admin capability / editing user profiles via frontend - -= 1.2.2: April 15, 2015 = - -* New: added caching to user roles and user permissions to save queries -* New: added user switching feature to allow super admins to sign in as another user easily (without password) -* New: added new modal css/js for future support -* New: added custom scrollbar support for future development use -* Tweak: added form elements focus css -* Fixed: bug with required radio button -* Fixed: prevent access for backend login/register/lost password for a logged in user - -= 1.1.6: April 7, 2015 = - -* Fixed: major bug with datepicker (Update recommended) - -= 1.1.5: April 4, 2015 = - -* New: new action hook that runs when user role is changed um_member_role_upgrade -* Fixed: bug/compatibility issue with caching UM roles data -* Fixed: bug with changing role settings/permissions -* Fixed: bug with setting e-mail activation redirect URL - -= 1.1.4: April 2, 2015 = - -* Fixed: Major bug with dropdown and date fields (Update recommended) -* Fixed: hard-coded translation issues - -= 1.1.3: April 1, 2015 = - -* New: added option to manage if access control widgets can be edited by admins only -* Tweak: update to last security patch - deletes user who try to get unauthorized access - -= 1.1.2: March 30, 2015 = - -* Fixed: Important security patch - please update -* Fixed: conflict with The Events Calendar plugin -* Fixed: bug with edit profile link - -= 1.1.1: March 29, 2015 = - -* Fixed: bug where you user could use an already existing e-mail in account page -* Fixed: bug with special characaters in username -* Fixed: bug with showing draft posts in user profile - -= 1.1.0: March 27, 2015 = - -* New: added multi language support to assign different languages to different forms (beta feature) -* New: added RTL support (beta, still partial) -* New: added a dashboard widget to view latest blog posts from the plugin -* Tweak: changed manage_options permission to edit_users on some admin actions -* Fixed: corrected all active color references in the css -* Fixed: bug with user_row_actions filter -* Fixed: do not store user_pass in submitted metakey during registration - -= 1.0.96: March 25, 2015 = - -* New: Added Arabic language (ar) support -* Fixed: Date fields not working in Safari -* Fixed: issue with HTML e-mails -* Fixed: issue with showing sidebar logout widget on bbpress forums - -= 1.0.95: March 24, 2015 = - -* Tweak: added more hooks to mail function to allow for sending custom e-mails -* Fixed: issue with content lock settings in backend appearing for non-admins -* Fixed: issue with form errors handling - -= 1.0.94: March 23, 2015 = - -* Fixed: bug with member directory search -* Fixed: bug with custom role homepage - -= 1.0.93: March 22, 2015 = - -* Fixed: bug with showing register and login forms on same page - -= 1.0.92: March 20, 2015 = - -* New: added option to customize redirection URL after e-mail activation -* Fixed: issue with hardcoded ajax/upload URLs - they are now localized -* Fixed: issue with admin notification for a deleted account -* Fixed: admin notifications are in plain text format - -= 1.0.91: March 20, 2015 = - -* Tweak: featured image in user posts goes to post link -* Fixed: solved a bug with e-mail validation - -= 1.0.90: March 19, 2015 = - -* Tweak: minor admin css changes -* Tweak: error message for frontend upload with theme/plugin conflicts - -= 1.0.89: March 18, 2015 = - -* Tweak: Major Performance Improvements (beta) - -= 1.0.88: March 18, 2015 = - -* Fixed: bug with viewing member profiles - -= 1.0.87: March 17, 2015 = - -* Tweak: profile edit form tweaked to be processed for profile edit only. allows you to have custom (not nested) valid forms in other profile tabs - -= 1.0.86: March 16, 2015 = - -* Tweak: UM admins can see unapproved users on front-end members directory -* Fixed: few misspelling errors -* Fixed: bug with custom profile templates (showing blank) resolved - -= 1.0.85: March 14, 2015 = - -* New: added option to show user social links in profile header (optional) -* New: added option to display post featured image in profile "posts" tab -* Tweak: improved error reporting for theme conflicts on photo upload -* Fixed: issue with comments tab on profile - -= 1.0.84: March 13, 2015 = - -* New: adds automatic body class to UM core pages automatically -* Fixed: important jQuery issue -* Fixed: upload security issue - extension error was empty - -= 1.0.83: March 12, 2015 = - -* New: added a logout template If user is already logged in (customizable) -* New: strong password formula not required when resetting password (optional) -* Fixed: jQuery issue with live() method - Thanks to Jim Wetton - -= 1.0.82: March 11, 2015 = - -* Fixed: issue with saving user account general tab - -= 1.0.81: March 11, 2015 = - -* New: official support for plugin extensions released - -= 1.0.80: March 10, 2015 = - -* Tweak: added licensing support to plugin core -* Fixed: issue with account form - -= 1.0.79: March 10, 2015 = - -* Tweak: Redux up to date -* Fixed: security issue related to deleting a temp file via ajax -* Fixed: bug with a php warning on undefined field type - -Credits to "James Golovich http://www.pritect.net" for the security checks - -= 1.0.78: March 10, 2015 = - -* Fixed: important correction from previous version - -= 1.0.77: March 10, 2015 = - -* New: integration with comments to show user profile link instead of user link (not compatible with all themes) -* New: option to control maximum size of uploaded profile photo -* New: option to control maximum size of uploaded cover photo -* Tweak: URL fields will are now treated as hyperlinks -* Fixed: bug with member directory privacy option -* Fixed: bug with using # as a character in file or image upload - -= 1.0.76: March 7, 2015 = - -* New: added {user_avatar_small} tag to display user photo in menu (requires extra css work) -* Tweak: Removed !important css rules from colors and backgrounds -* Fixed: issue with content block field - -= 1.0.75: March 5, 2015 = - -* New: improved & modern html e-mail templates -* New: addon to transfer BuddyPress profile photos to Ultimate Member (user request) -* New: added option to turn off time bot feature (fixes conflict with plugins) -* New: added built-in addons support -* Tweak: improved backend design and css - -= 1.0.74: March 4, 2015 = - -* Fixed: bug with numeric validation for a field -* Fixed: bug with conditional logic rules with checkbox - -= 1.0.73: March 3, 2015 = - -* Tweak: general code improvements - -= 1.0.72: March 2, 2015 = - -* Fixed: bug with e-mail activation since last update - -= 1.0.71: March 2, 2015 = - -* Fixed: issue with password reset link -* Fixed: issue with social links showing but user did not fill them - -= 1.0.70: March 2, 2015 = - -* Tweak: added a filter hook to control profile photo url -* Tweak: harder random generated passwords by making the length 40 characters for a key/password -* Tweak: added option to enable/disable custom css tab (off by default) -* Tweak: changed rewrite rules to be compatible with some themes and plugins -* Fixed: bug with Role field not showing error when required and left empty -* Fixed: bug with showing incorrect age when users did not fill their age -* Fixed: issue with template name for custom profile templates - -= 1.0.69: February 28, 2015 = - -* Tweak: better WP logout handling -* Tweak: new action and filter hooks added - -= 1.0.68: February 27, 2015 = - -* New: added support for mp3 as allowed filetype / upload -* Fixed: bug with profile privacy option (on non-english sites) -* Fixed: uncommon php warning caused by um_get_user_avatar_url() function -* Fixed: new translation corrections - -= 1.0.67: February 26, 2015 = - -* New: Improved the default HTML e-mail templates design -* New: added a bunch of action hooks to account tabs and content -* Tweak: added a few template tags to use in email: {site_url}, {user_account_link} -* Fixed: issue with making a checkbox required prior to registering -* Fixed: issue with comments showing in posts tab under profile -* Fixed: issue with plugin uninstallation link not showing in multisite - -= 1.0.66: February 25, 2015 = - -* New: added option to send e-mails as HTML -* New: added default HTML templates for e-mail notifications - -= 1.0.65: February 24, 2015 = - -* New: added option to customize register form secondary button URL -* New: added option to customize login form secondary button URL -* Fixed: issue with global access lock when homepage is excluded -* Fixed: issue with custom account tabs -* Fixed: minor css conflict with profile photo - -= 1.0.64: February 22, 2015 = - -* Tweak: updated language files on server -* Tweak: modified account page hooks to accept custom hooks easily -* Fixed: important css issues with safari browser -* Fixed: language notice will no longer show on (English UK/Other) wordpress sites - -= 1.0.63: February 21, 2015 = - -* Tweak: minor changes to dashboard widgets -* Tweak: cleaned dashboard js -* Tweak: a few action hooks refined -* Tweak: added filters to registration form buttons -* Fixed: issue with delete account feature - -= 1.0.62: February 20, 2015 = - -* New: added Polish (Polski) language -* New: added option to disable Name fields from Account page -* New: added support for custom profile templates selectable from template dropdown -* Tweak: remove rows with no fields from profile view -* Tweak: remove empty rows/row headings from profile -* Fixed: removed plain password user meta key from all users -* Fixed: issue with image upload when form has errors -* Fixed: resolved issue with disabling profile menu / tabs - -= 1.0.61: February 20, 2015 = - -* Tweak: Upload button text is made translatable -* Fixed: conflicts with Divi theme -* Fixed: issue with Roles dropdown field - -= 1.0.60: February 18, 2015 = - -* Tweak: added a protection to prevent wp-admin lockout for admin users -* Tweak: new hook for account page form submitting (for developers) -* Tweak: added a few missing translations -* Fixed: issue with roles dropdown not saving its state -* Fixed: issue with roles dropdown when made required in form -* Fixed: issue with tabbing on form fields - -= 1.0.59: February 17, 2015 = - -* New added Finnish language (fi_FI) -* Tweak: show e-mail column in users backend -* Fixed: issue with showing members directory on frontpage - -= 1.0.58: February 16, 2015 = - -* Fixed: display name as search field in member directory -* Fixed: translation issues in backend settings -* Fixed: issue with non-english letters in display names -* Fixed: bug with multiple default values for multi-select and checkbox fields -* Fixed: bug with multiple conditional logic based on different checkbox values - -= 1.0.57: February 16, 2015 = - -* Tweak: Italian language up-to-date -* Fixed: issue with registration where it can trigger a php warning -* Fixed: some translation issues - -= 1.0.56: February 15, 2015 = - -* Fixed: issue with permalink changes - -= 1.0.55: February 15, 2015 = - -* New: added Dutch (Nederlands) language -* New: show user registration/joined date in profile and/or member directory -* New: added facebook meta tags on user profiles (You have to disable facebook og tags in your SEO plugin) -* Tweak: sort users by default in "backend" by newest users first -* Tweak: added a close icon to profile and account notices -* Fixed: changed all time features to reflect WordPress installation time -* Fixed: timestamp on registration info shows form submission date/day -* Fixed: updated language files and new translation words - -= 1.0.54: February 15, 2015 = - -* New: added a remember me checkbox to login forms by default (optional) -* Tweak: keep your users signed in even if they close browser (optional) -* Tweak: minor css changes -* Fixed: bug with double redirects (causing incorrect loop) after login on some sites - -= 1.0.53: February 14, 2015 = - -* Tweak: when deleting users in backend, users will be deleted upon confirmation only -* Tweak: deleted users content is assigned to admin by default (to avoid losing content) -* Fixed: include plugin js and css on specific pages only - -= 1.0.52: February 13, 2015 = - -* Fixed: issue with users backend **update recommended** -* Fixed: preview registration info in users backend - -= 1.0.51: February 13, 2015 = - -* New: show registration info for each user in users backend -* New: show user stats at a glance in plugin dashboard -* New: sort users in backend by account status -* New: sort users in backend by user role -* New: added option to disable plugin css and js on homepage -* Tweak: updated language and translations files -* Fixed: issue with changing user role from Profile page -* Fixed: php bug with user description that has links -* Fixed: small issue with rewrite rules - -= 1.0.50: February 12, 2015 = - -* New: added option to include plugin js/css only on specific pages (user suggestion) -* Tweak: image and file uploads tweaked -* Fixed: date and time picker localization -* Fixed: bug with date and time fields -* Fixed: issue with searching members with default permalinks used -* Fixed: minor css fixes - -= 1.0.49: February 10, 2015 = - -* New: added option to disable UM menu (fixes conflict with mega-menu on some themes/plugins) -* New: added option to disable strong password in Account / Password change tab -* New: added a notice to Account page when user updates account -* Fixed: issue with global access settings - -= 1.0.48: February 10, 2015 = - -* New: added translation downloader/updater in plugin dashboard -* New: added admin notice when language is updated or downloaded -* Tweak: redirect to login page by default if content is restricted -* Tweak: redirect back to the protected content after successful login -* Tweak: small modifications to plugin admin css -* Fixed: issue with registration form per role not appearing (when logged in) -* Fixed: image and file uploads strip illegal characters from file name -* Fixed: small issue with mandrill plugin -* Fixed: bug with role creation that have used slugs that exist in database - -= 1.0.47: February 9, 2015 = - -* New: A more native dashboard for Ultimate Member -* New: view your temp uploads directory size and purge it from dashboard -* Fixed: user uploads bug with handling photo uploads at once -* Fixed: issue with using UM role as search filter in directory -* Fixed: a little icon issue with directory backend -* Fixed: localized a few words from predefined fields - -= 1.0.46: February 8, 2015 = - -(Update Recommended) - -* New: added Spanish language pack -* Fixed: important JS conflict in admin when UM is active -* Fixed: profile permalink issue for e-mail usernames -* Fixed: installation issue on some WP databases - -= 1.0.45: February 8, 2015 = - -* Fixed: Multisite bug php Fatal error: call to undefined function wpmu_delete_user() - -= 1.0.44: February 8, 2015 = - -* Tweak: improved performance: unused user photos are deleted when user upload -* Tweak: cleaned up dashboard code -* Tweak: updated current translations -* Fixed: display name field should be updated with wp_update_user and not in usermeta -* Fixed: admin js and css should are loaded in UM backend only - -= 1.0.43: February 7, 2015 = - -* New: added German (Deutsch) language support -* Tweak: updated all translation packs -* Fixed: profile social links in member directory -* Fixed: prevent storing user_pass in usermeta table -* Fixed: php error triggered from um-access.php file - -= 1.0.42: February 6, 2015 = - -* New: added option to block specific e-mail domains from registering -* New: 2 new social profile fields: YouTube and SoundCloud -* New: added option to show field icons in profile header -* New: import/export plugin settings feature added to the backend -* New: added option to duplicate forms in backend with one click -* Tweak: cleaned up installation code -* Tweak: minor css modifications -* Fixed: adding HTML and iframe content to html-allowed textarea fields -* Fixed: upload folders permissions with some configurations and servers -* Fixed: live preview of profile forms in backend - -= 1.0.41: February 5, 2015 = - -* New: added access control settings to custom post types, you can have custom access settings applied to your custom post types now -* New: divider and spacing fields fully support conditional logic -* Tweak: Turkish language completed -* Tweak: updated some translations -* Fixed: a couple of PHP warnings and errors have been resolved -* Fixed: conflict with MailPoet plugin has been resolved - -= 1.0.40: February 4, 2015 = - -* Tweak: line-breaks and automatic urls are now working for textarea fields -* Tweak: updated ReduxFramework to latest version -* Tweak: backend sentences are now properly localized / updated translation -* Fixed: important issue with field positions in backend form builder -* Fixed: issue with usernames that have spaces resolved -* Fixed: conflict with page title in bbpress forums resolved -* Fixed: issue with escaping the apostrophes resolved -* Fixed: issue with loading more posts/comments in profile resolved - -= 1.0.39: February 3, 2015 = - -* New: added support for child templates to allow customizing the templates of plugin via theme or child theme. [See how](https://ultimatemember.com/codex/overriding-default-ultimate-member-profile-templates/) -* New: added French language pack -* Tweak: improved localization notification in backend -* Tweak: improved template loading -* Fixed: a minor css issue with multi-select field placeholder - -= 1.0.38: February 3, 2015 = - -* New: added a built-in automatic language pack downloader -* New: plugin now available in Italian, Turkish (40%) -* Tweak: If you need the plugin on available language pack you can download it automatically via the dashboard -* Tweak: when user updates account page the page will refresh and stay in the same tab -* Fixed: possible permalinks conflict with some wordpress themes - -= 1.0.37: February 2, 2015 = - -* Tweak: automatic line breaks in user description field -* Tweak: added gravatar rating parameter to the gravatar function -* Fixed: permalinks issue with customized slug for user and account pages - -= 1.0.36: February 1, 2015 = - -* New: URLs in user description are automatically converted to hyperlinks -* New: added option to redirect author archive to their UM profile automatically -* New: added option to show asterisk next to required fields (optional) -* New: Turkish language file (40% completed) -* Tweak: updated language file with missing sentences and words -* Tweak: auto redirect user/ base to user profile (e.g. user/username/) -* Fixed: issue with wrong comments count on user profile menu -* Fixed: issue with display name tags in nav menu -* Fixed: issue with conditional logic for select/multi-select fields -* Fixed: issue with conditional logic for content blocks and shortcode fields -* Fixed: conflict with Pods wordpress plugin - -= 1.0.35: January 31, 2015 = - -* Tweak: exif module is not required anymore and does not stop photo uploads (exif is highly recommended) -* Fixed: issue with changing a WP administrator role to a community administrator role -* Fixed: issue with plugin uploads directory on some multisite installations -* Fixed: conflict with default profile tab and editing profile -* Fixed: minor css conflict on account page with some themes when viewed on tablets - -= 1.0.34: January 31, 2015 = - -* New: added option to set a default cover photo -* New: added option to hide restricted content from search and archive -* Fixed: php error in title tab with ElegantThemes -* Fixed: theme conflict with photo/cover upload -* Fixed: issue with country field showing country code in profile -* Fixed: issue with setting default tab -* Fixed: issue with 2-name user roles - -= 1.0.33: January 30, 2015 = - -* New: Introducing profile menu / tab system (optional) -* New: display user posts and comments in profile menu (optional) -* New: added option to force hide adminbar on the frontend even for administrators -* Tweak: added profile menu options to plugin settings panel -* Tweak: added option to enable/disable profile menu and/or profile menu tabs -* Tweak: added option to show or hide post and comment counts (when the tabs are active) -* Tweak: account activation via e-mail redirects user to login page and displays a success message -* Fixed: issue with conditional logic on profile fields has been resolved -* Fixed: bug with searching members by gender -* Fixed: admin nav menus conditional logic conflict with some themes -* Fixed: bug with datepicker field on windows servers - -= 1.0.32: January 30, 2015 = - -* New: added 3 new tags to use in email templates {first_name}, {last_name}, and {gender} -* Fixed: Issue with account page permalink resolved - [view issue](https://ultimatemember.com/forums/topic/permalink-bug/) -* Fixed: Issue with conditional menu items showing for un-approved users resolved - [view issue](https://ultimatemember.com/forums/topic/registration/) - -= 1.0.31: January 29, 2015 = - -* Fixed: Issue with custom user page slug resolved [view issue](https://wordpress.org/support/topic/translate-plugin-9) -* Fixed: PHP warning in members directory resolved -* Fixed: Issue with hardcoded user profile URLs in menu - -= 1.0.30: January 29, 2015 = - -* New: added option to control number of profiles to display in members directory for mobile devices -* New: new admin action hook 'um_extend_admin_menu' to extend plugin administration menu -* New: Improved plugin accessbility e.g add alt text to links and images so people with disabilities can use screen readers -* New: added option to show/hide the message that appears if profile is empty (includes emoticon show/hide) -* Tweak: new translatable strings -* Tweak: added option to customize single-result text for members directory -* Tweak: removed unnecessary code from member directory backend -* Tweak: removed unnecessary js from admin head -* Fixed: Account page is now translatable -* Fixed: content restriction widget css in backend - -= 1.0.29: January 28, 2015 = - -* New: added feature to show user display name in menu (e.g. Welcome, {display_name}) -* New: added option to add text to dividers (which can be added using the drag-and-drop form builder) -* New: security improvement: added whitelisted IP(s) option to allow you to access the WP-admin screen always (prevents lockout) -* New: added filter hook um_whitelisted_wpadmin_access to control access to wp-admin login screens (for developers) -* New: added custom css option to apply extra css styling rules from plugin settings -* New: added custom css option to each form allowing you to apply extra styling rules per form -* New: added option to customize profile fields area width (per form basis) besides global option -* Tweak: compatibility with default permalinks (Pretty permalinks are strongly recommended though!) -* Tweak: improved the function that gets user IP address -* Tweak: performance: inline css from the plugin is automatically compressed/minified - -= 1.0.28: January 27, 2015 = - -* New: added compatibility with wpMandrill to handle email delivery -* Fixed: Issue with profile edit menu not appearing - -= 1.0.27: January 27, 2015 = - -* Fixed: WP admin bar issue with some plugins and themes -* Fixed: conflict with WP Recent Comments With Avatars plugin - -= 1.0.26: January 26, 2015 = - -* Fixed: Important issue fix (update recommended) - -= 1.0.25: January 26, 2015 = - -* New: addded support to use gravatars (optionally) If the user does not have a custom avatar -* New: um_user_permissions_filter hook (for developer use) -* Tweak: plugin uses get_avatar() properly now -* Fixed: user avatars in backend are fixed -* Fixed: Mobile_Detect class does not throw php error if it was previously called -* Fixed: corrected a few translations errors - -= 1.0.24: January 26, 2015 = - -* Tweak: predefined fields are now localized (translatable) -* Fixed: PHP warning in comments was fixed -* Fixed: avatars in comments - -= 1.0.23: January 25, 2015 = - -* Fixed: important bugfix with profile editing - -= 1.0.22: January 25, 2015 = - -* New: option to set maximum profile fields area width -* New: ajax functions for future development use -* Tweak: improved profile permalinks for e-mail based usernames -* Tweak: disable user from editing username (If admin put the username field by mistake in profile) -* Tweak: minor css changes -* Fixed: ability to clear conditional logic from fields in backend -* Fixed: corrected spacing issue in a multi-column layout in profile - -= 1.0.21: January 24, 2015 = - -* New: Added ajax action hook for development use -* New: Extended profile hooks -* New: you can restrict / apply access control to woocommerce shop page -* Fixed: content restriction for woocommerce shop page - -= 1.0.20: January 24, 2015 = - -* New: Custom email is sent to user after resetting/changing password -* New: Added action/filter hooks to profile -* Tweak: Improved a few core functions -* Fixed: Encoding issue with non-english sites fixed - -= 1.0.19: January 23, 2015 = - -* New: Border thickness option for members directory -* New: Option to show/hide forgot password link on login form -* Tweak: Capital initials on members directory -* Fixed: Issue with row styling in form builder -* Fixed: Conditional logic bug fixes -* Fixed: Icon for conditional rules in backend -* Fixed: php warning in debug mode -* Fixed: Mobile/phone number validation fixed - -= 1.0.18: January 23, 2015 = - -* Fixed: Issue with drag and drop form builder -* Fixed: Form builder trash icon in backend -* Fixed: Minor css adjustments in frontend - -= 1.0.17: January 22, 2015 = - -* New: WordPress Multi-site compatibility for user uploads and photos -* Fixed: Searching members by username or email in directory (partial search supported) -* Fixed: Anonymous tracking -* Fixed: Minor css fixes - -= 1.0.16: January 22, 2015 = - -* Fixed: Settings page: tracking popup removed - -= 1.0.15: January 22, 2015 = - -* New: User profiles now show a cool message if the user profile field area is empty -* New: Added 'visibility' setting to all field types in backend -* Tweak: Members search function supports partial search matching -* Tweak: Deleting photo or file removes file from server -* Tweak: Deleting a user will delete all his personal uploads from the server -* Fixed: Duplicate tooltip for password field has been removed - -= 1.0.10: January 22, 2015 = - -* Fixed: Template tags for welcome e-mail -* Fixed: {submitted_registration} e-mail template tag - -= 1.0.0: January, 2015 = - -* First official release! - -The easiest way to create powerful online communities and beautiful user profiles with WordPress - -== Description == - -Ultimate Member is a powerful and flexible plugin that makes it a breeze for users to sign-up and become members. The plugin allows you to add beautiful user profiles to your site and is perfect for creating advanced online communities. Lightweight and highly extendible, Ultimate Member will enable you to create almost any type of site where users can join and become members with absolute ease. - -= Features of the plugin include: = - -* Front-end user registration -* Front-end user login -* Front-end user profiles -* Custom form fields -* Conditional logic for form fields -* Drag and drop form builder -* User account page -* Custom user roles -* Searchable member directories -* Custom e-mail templates -* Content restriction -* Conditional menus -* Show author posts & comments on user profiles -* Mobile adaptive & responsive -* SEO optimized -* Developer friendly with dozens of actions and filters -* Multi-site compatibility -* Mandrill compatibility - -Read about all of the plugin's features at [Ultimate Member](https://ultimatemember.com) - -= Paid Extensions = - -Ultimate Member has a range of extensions that allow you to extend the power of the plugin - -* [Instagram](https://ultimatemember.com/extensions/instagram/) - Allow users to show their Instagram photos on their profile -* [User Tags](https://ultimatemember.com/extensions/user-tags/) - Lets you add a user tag system to your website -* [Social Activity](https://ultimatemember.com/extensions/social-activity/) - Let users create public wall posts & see the activity of other users -* [WooCommerce](https://ultimatemember.com/extensions/woocommerce/) - Allow you to integrate WooCommerce with Ultimate Member -* [Private Messages](https://ultimatemember.com/extensions/private-messages/) - Add a private messaging system to your site & allow users to message each other -* [Followers](https://ultimatemember.com/extensions/followers/) - Allow users to follow each other on your site and protect their profile information -* [Real-time Notifications](https://ultimatemember.com/extensions/real-time-notifications/) - Add a notifications system to your site so users can receive real-time notifications -* [Social Login](https://ultimatemember.com/extensions/social-login/) - Let users register & login to your site via Facebook, Twitter, G+, LinkedIn, Instagram and Vkontakte (VK.com) -* [bbPress](https://ultimatemember.com/extensions/bbpress/) - With the bbPress extension you can beautifully integrate Ultimate Member with bbPress -* [MailChimp](https://ultimatemember.com/extensions/mailchimp/) - Allow users to subscribe to your MailChimp lists when they signup on your site and sync user meta to MailChimp -* [User Reviews](https://ultimatemember.com/extensions/user-reviews/) - Allow users to rate & review each other using a 5 star rate/review system -* [Verified Users](https://ultimatemember.com/extensions/verified-users/) - Add a user verficiation system to your site so user accounts can be verified -* [myCRED](https://ultimatemember.com/extensions/mycred/) - With the myCRED extension you can integrate Ultimate Member with the popular myCRED points management plugin -* [Notices](https://ultimatemember.com/extensions/notices/) - Alert users to important information using conditional notices -* [Profile Completeness](https://ultimatemember.com/extensions/profile-completeness/) - Encourage or force users to complete their profiles with the profile completeness extension -* [Friends](https://ultimatemember.com/extensions/friends/) - Allows users to become friends by sending & accepting/rejecting friend requests - -= Free Extensions = - -* [Google reCAPTCHA](https://ultimatemember.com/extensions/google-recaptcha/) - Stop bots on your registration & login forms with Google reCAPTCHA -* [Online Users](https://ultimatemember.com/extensions/online-users/) - Display what users are online with this extension - -= Development = - -If you're a developer and would like to contribute to the source code of the plugin you can do so via our [GitHub Repository](https://github.com/ultimatemember/ultimatemember). - -= Documentation & Support = - -Got a problem or need help with Ultimate Member? Head over to our [documentation](http://docs.ultimatemember.com/) and perform a search of the knowledge base. If you can’t find a solution to your issue then you can create a [support ticket](https://ultimatemember.com/support-contact/). - -= Languages = - -Ultimate Member has been translated into the following languages: - -* English (US) -* Spanish - Español -* Spanish (Mexico) - Español (México) -* French - Français -* Italian - Italiano -* German - Deutsch -* Dutch - Nederlands -* Brazilian Portuguese - Português do Brasil -* Finnish - Suomi -* Romanian - Română -* Danish - Dansk -* Swedish - Svenska -* Polish - Polski -* Czech -* Greek -* Indonesian -* Simplified Chinese -* Russian - Русский -* Turkish - Türkçe -* Farsi - فارسى -* Hebrew -* العربية - -== Installation == - -1. Activate the plugin -2. That's it. Go to Ultimate Member > Settings to customize plugin options -3. For more details, please visit the official [Documentation](http://docs.ultimatemember.com/) page. - -== Frequently Asked Questions == - -= Do I need to know any coding to use this plugin? = - -No, we have built Ultimate Member to be extremely easy to use and does not require you to manually build shortcodes or have any coding knowledge. - -= Is Ultimate Member mobile responsive? = - -Yes. Ultimate Member is designed to adapt nicely to any screen resolution. It includes specific designs for phones, tablets and desktops. - -= Is Ultimate Member multi-site compatible? = - -Yes. Ultimate Member works great on both single site and multi-site WordPress installs. - -= Does the plugin work with any WordPress theme? = - -Yes. Ultimate Member will work with any properly coded theme. However, some themes may cause conflicts with the plugin. If you find a styling issue with your theme please create a post in the community forum. - -= Does the plugin work with caching plugins? = - -The plugin works with popular caching plugins by automatically excluding Ultimate Member pages from being cached. This ensures other visitors to a page will not see the private information of another user. However, if you add features of Ultimate Member to other pages you have to exclude those pages from being cached through your cache plugin settings panel. - -== Screenshots == - -1. Screenshot 1 -2. Screenshot 2 -3. Screenshot 3 -4. Screenshot 4 -5. Screenshot 5 -6. Screenshot 6 -7. Screenshot 7 -8. Screenshot 8 -9. Screenshot 9 -10. Screenshot 10 -11. Screenshot 11 -12. Screenshot 12 -13. Screenshot 13 -14. Screenshot 14 -15. Screenshot 15 -16. Screenshot 16 - -== Changelog == = 1.3.85: June 19, 2017 = From 66b9a5e9e3f59c310b38bdd4861990266e54dbfe Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Sat, 24 Jun 2017 22:38:59 +0800 Subject: [PATCH 28/28] Tagging 1.3.87 --- readme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index 29944cac..256b73ab 100644 --- a/readme.txt +++ b/readme.txt @@ -150,7 +150,7 @@ The plugin works with popular caching plugins by automatically excluding Ultimat == Changelog == -= 1.3.87: June 19, 2017 = += 1.3.87: June 24, 2017 = * Bugfixes - Fix system info
    - + - +