Version Description
Download this release
Release Info
Developer | champsupertramp |
Plugin | Ultimate Member – User Profile & Membership Plugin |
Version | 1.3.36 |
Comparing to | |
See all releases |
Code changes from version 1.3.35 to 1.3.36
- admin/assets/css/um-admin-columns.css +0 -3
- admin/assets/css/um-admin-misc.css +11 -3
- admin/assets/css/um-admin-select2.css +0 -15
- admin/assets/js/um-admin-scripts.js +10 -6
- admin/core/um-admin-actions-modal.php +2 -2
- admin/core/um-admin-actions-user.php +7 -1
- admin/core/um-admin-actions.php +45 -63
- admin/core/um-admin-metabox.php +24 -0
- admin/core/um-admin-users.php +19 -37
- admin/templates/directory/general.php +14 -0
- admin/templates/extensions.php +7 -0
- assets/css/um-misc.css +17 -0
- assets/css/um-profile.css +2 -0
- assets/css/um-styles.css +20 -1
- assets/css/um.min.css +2 -2
- assets/dynamic_css/dynamic_global.php +4 -0
- assets/js/um-functions.js +46 -8
- assets/js/um-scripts.js +28 -28
- core/um-actions-access.php +15 -5
- core/um-actions-login.php +1 -0
- core/um-actions-members.php +6 -4
- core/um-actions-profile.php +222 -216
- core/um-actions-save-profile.php +31 -14
- core/um-builtin.php +33 -13
- core/um-fields.php +648 -565
- core/um-filters-members.php +38 -28
- core/um-filters-profile.php +1 -1
- core/um-filters-user.php +1 -1
- core/um-form.php +5 -1
- core/um-permalinks.php +1 -1
- core/um-setup.php +72 -65
- core/um-short-functions.php +57 -6
- core/um-shortcodes.php +63 -1
- core/um-user.php +44 -0
- index.php +1 -1
- readme.txt +28 -3
- templates/login-to-view.php +5 -0
- templates/profile.php +1 -1
- um-config.php +205 -179
- um-init.php +7 -3
admin/assets/css/um-admin-columns.css
CHANGED
@@ -17,9 +17,6 @@
|
|
17 |
.um-admin.post-type-um_role .manage-column.column-count {width: 150px}
|
18 |
.um-admin.post-type-um_role .manage-column.column-core {width: 150px}
|
19 |
|
20 |
-
.um-admin.users-php .tablenav.top .bulkactions,
|
21 |
-
.um-admin.users-php .tablenav.bottom .bulkactions{display:none}
|
22 |
-
|
23 |
.um-admin.post-type-um_form td.column-shortcode,
|
24 |
.um-admin.post-type-um_form td.column-id,
|
25 |
.um-admin.post-type-um_directory td.column-shortcode,
|
17 |
.um-admin.post-type-um_role .manage-column.column-count {width: 150px}
|
18 |
.um-admin.post-type-um_role .manage-column.column-core {width: 150px}
|
19 |
|
|
|
|
|
|
|
20 |
.um-admin.post-type-um_form td.column-shortcode,
|
21 |
.um-admin.post-type-um_form td.column-id,
|
22 |
.um-admin.post-type-um_directory td.column-shortcode,
|
admin/assets/css/um-admin-misc.css
CHANGED
@@ -127,8 +127,12 @@ body.um-admin-modal-open {
|
|
127 |
color: #aaa !important;
|
128 |
}
|
129 |
|
|
|
|
|
|
|
|
|
130 |
.um-admin-metabox input[type=text],
|
131 |
-
.um-admin-metabox textarea{
|
132 |
width: 100%;
|
133 |
max-width: 100%;
|
134 |
display: block;
|
@@ -139,13 +143,17 @@ body.um-admin-modal-open {
|
|
139 |
outline: none !important;
|
140 |
box-sizing: border-box !important;
|
141 |
box-shadow: none !important;
|
142 |
-
|
143 |
font-size: 13px !important;
|
144 |
-
height: auto !important;
|
145 |
line-height: 1.4em !important;
|
146 |
padding: 4px 10px !important;
|
147 |
}
|
148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
.um-admin-metabox input[type=text].um-admin-error,
|
150 |
.um-admin-metabox textarea.um-admin-error
|
151 |
{border-color: #C74A4A!important}
|
127 |
color: #aaa !important;
|
128 |
}
|
129 |
|
130 |
+
.um-admin-metabox input[type=text] {
|
131 |
+
height: auto !important;
|
132 |
+
}
|
133 |
+
|
134 |
.um-admin-metabox input[type=text],
|
135 |
+
.um-admin-metabox textarea {
|
136 |
width: 100%;
|
137 |
max-width: 100%;
|
138 |
display: block;
|
143 |
outline: none !important;
|
144 |
box-sizing: border-box !important;
|
145 |
box-shadow: none !important;
|
|
|
146 |
font-size: 13px !important;
|
|
|
147 |
line-height: 1.4em !important;
|
148 |
padding: 4px 10px !important;
|
149 |
}
|
150 |
|
151 |
+
.um-admin-metabox textarea {
|
152 |
+
padding: 8px !important;
|
153 |
+
line-height: 1.6em;
|
154 |
+
color: #888 !important;
|
155 |
+
}
|
156 |
+
|
157 |
.um-admin-metabox input[type=text].um-admin-error,
|
158 |
.um-admin-metabox textarea.um-admin-error
|
159 |
{border-color: #C74A4A!important}
|
admin/assets/css/um-admin-select2.css
CHANGED
@@ -1,18 +1,3 @@
|
|
1 |
-
body.um-admin .actions,
|
2 |
-
body.um-admin .bulkactions {
|
3 |
-
float: left;
|
4 |
-
margin: 0!important;
|
5 |
-
padding:0!important;
|
6 |
-
top: 0!important;
|
7 |
-
}
|
8 |
-
|
9 |
-
body.um-admin .actions .button {
|
10 |
-
height: 29px !important;
|
11 |
-
margin: 0 12px 0 0 !important;
|
12 |
-
display: inline !important;
|
13 |
-
position: relative;
|
14 |
-
}
|
15 |
-
|
16 |
body.um-admin .select2-container {margin-right: 2px!important;}
|
17 |
|
18 |
body.um-admin .select2-drop,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
body.um-admin .select2-container {margin-right: 2px!important;}
|
2 |
|
3 |
body.um-admin .select2-drop,
|
admin/assets/js/um-admin-scripts.js
CHANGED
@@ -81,12 +81,6 @@ jQuery(document).ready(function() {
|
|
81 |
minimumResultsForSearch: 10
|
82 |
});
|
83 |
|
84 |
-
jQuery("body.um-admin .actions select:not('.umaf-selectjs')").select2({
|
85 |
-
allowClear: false,
|
86 |
-
minimumResultsForSearch: 10,
|
87 |
-
width: '160px'
|
88 |
-
});
|
89 |
-
|
90 |
/**
|
91 |
Tooltips
|
92 |
**/
|
@@ -106,6 +100,11 @@ jQuery(document).ready(function() {
|
|
106 |
if (jQuery(this).val() == jQuery(this).data('cond1') ){
|
107 |
jQuery('.' + jQuery(this).data('cond1-show') ).show();
|
108 |
jQuery('.' + jQuery(this).data('cond1-hide') ).hide();
|
|
|
|
|
|
|
|
|
|
|
109 |
} else {
|
110 |
jQuery('.' + jQuery(this).data('cond1-show') ).hide();
|
111 |
jQuery('.' + jQuery(this).data('cond1-hide') ).show();
|
@@ -116,6 +115,11 @@ jQuery(document).ready(function() {
|
|
116 |
if (jQuery(this).val() == jQuery(this).data('cond2') ){
|
117 |
jQuery('.' + jQuery(this).data('cond2-show') ).show();
|
118 |
jQuery('.' + jQuery(this).data('cond2-hide') ).hide();
|
|
|
|
|
|
|
|
|
|
|
119 |
} else {
|
120 |
jQuery('.' + jQuery(this).data('cond2-show') ).hide();
|
121 |
jQuery('.' + jQuery(this).data('cond2-hide') ).show();
|
81 |
minimumResultsForSearch: 10
|
82 |
});
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
/**
|
85 |
Tooltips
|
86 |
**/
|
100 |
if (jQuery(this).val() == jQuery(this).data('cond1') ){
|
101 |
jQuery('.' + jQuery(this).data('cond1-show') ).show();
|
102 |
jQuery('.' + jQuery(this).data('cond1-hide') ).hide();
|
103 |
+
|
104 |
+
if ( jQuery(this).data('cond1-show') == '_roles' ) {
|
105 |
+
return false;
|
106 |
+
}
|
107 |
+
|
108 |
} else {
|
109 |
jQuery('.' + jQuery(this).data('cond1-show') ).hide();
|
110 |
jQuery('.' + jQuery(this).data('cond1-hide') ).show();
|
115 |
if (jQuery(this).val() == jQuery(this).data('cond2') ){
|
116 |
jQuery('.' + jQuery(this).data('cond2-show') ).show();
|
117 |
jQuery('.' + jQuery(this).data('cond2-hide') ).hide();
|
118 |
+
|
119 |
+
if ( jQuery(this).data('cond2-show') == '_roles' ) {
|
120 |
+
return false;
|
121 |
+
}
|
122 |
+
|
123 |
} else {
|
124 |
jQuery('.' + jQuery(this).data('cond2-show') ).hide();
|
125 |
jQuery('.' + jQuery(this).data('cond2-hide') ).show();
|
admin/core/um-admin-actions-modal.php
CHANGED
@@ -167,7 +167,7 @@
|
|
167 |
if ( !isset( $array['account_only'] ) && !isset( $array['private_use'] ) ) {
|
168 |
?>
|
169 |
|
170 |
-
<a href="#" class="button" data-silent_action="um_admin_add_field_from_predefined" data-arg1="<?php echo $field_key; ?>" data-arg2="<?php echo $arg2; ?>"><?php echo stripslashes( $array['title'] ); ?></a>
|
171 |
|
172 |
<?php } } } else { echo '<p>' . __('None','ultimatemember') . '</p>'; } ?>
|
173 |
|
@@ -182,7 +182,7 @@
|
|
182 |
|
183 |
?>
|
184 |
|
185 |
-
<a href="#" class="button with-icon" data-silent_action="um_admin_add_field_from_list" data-arg1="<?php echo $field_key; ?>" data-arg2="<?php echo $arg2; ?>"><?php echo stripslashes( $array['title'] ); ?><span class="remove"></span></a>
|
186 |
|
187 |
<?php } } else { echo '<p>' . __('You did not create any custom fields', 'ultimatemember') . '</p>'; } ?>
|
188 |
|
167 |
if ( !isset( $array['account_only'] ) && !isset( $array['private_use'] ) ) {
|
168 |
?>
|
169 |
|
170 |
+
<a href="#" class="button" data-silent_action="um_admin_add_field_from_predefined" data-arg1="<?php echo $field_key; ?>" data-arg2="<?php echo $arg2; ?>"><?php echo um_trim_string( stripslashes( $array['title'] ), 20 ); ?></a>
|
171 |
|
172 |
<?php } } } else { echo '<p>' . __('None','ultimatemember') . '</p>'; } ?>
|
173 |
|
182 |
|
183 |
?>
|
184 |
|
185 |
+
<a href="#" class="button with-icon" data-silent_action="um_admin_add_field_from_list" data-arg1="<?php echo $field_key; ?>" data-arg2="<?php echo $arg2; ?>"><?php echo um_trim_string( stripslashes( $array['title'] ), 20 ); ?><span class="remove"></span></a>
|
186 |
|
187 |
<?php } } else { echo '<p>' . __('You did not create any custom fields', 'ultimatemember') . '</p>'; } ?>
|
188 |
|
admin/core/um-admin-actions-user.php
CHANGED
@@ -6,9 +6,13 @@
|
|
6 |
add_action('um_admin_user_action_hook', 'um_admin_user_action_hook');
|
7 |
function um_admin_user_action_hook( $action ){
|
8 |
global $ultimatemember;
|
9 |
-
|
10 |
switch ( $action ) {
|
11 |
|
|
|
|
|
|
|
|
|
12 |
case 'um_put_as_pending':
|
13 |
$ultimatemember->user->pending();
|
14 |
break;
|
@@ -31,6 +35,8 @@
|
|
31 |
break;
|
32 |
|
33 |
case 'um_delete':
|
|
|
|
|
34 |
$ultimatemember->user->delete();
|
35 |
break;
|
36 |
|
6 |
add_action('um_admin_user_action_hook', 'um_admin_user_action_hook');
|
7 |
function um_admin_user_action_hook( $action ){
|
8 |
global $ultimatemember;
|
9 |
+
|
10 |
switch ( $action ) {
|
11 |
|
12 |
+
default:
|
13 |
+
do_action("um_admin_custom_hook_{$action}", $ultimatemember->user->id );
|
14 |
+
break;
|
15 |
+
|
16 |
case 'um_put_as_pending':
|
17 |
$ultimatemember->user->pending();
|
18 |
break;
|
35 |
break;
|
36 |
|
37 |
case 'um_delete':
|
38 |
+
if ( is_admin() )
|
39 |
+
wp_die('This action is not allowed in backend.','ultimatemember');
|
40 |
$ultimatemember->user->delete();
|
41 |
break;
|
42 |
|
admin/core/um-admin-actions.php
CHANGED
@@ -1,5 +1,49 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
/**
|
4 |
*
|
5 |
* Add access settings to category
|
@@ -186,68 +230,6 @@
|
|
186 |
}
|
187 |
}
|
188 |
add_action('save_post', 'um_admin_delete_role_cache', 1111, 2);
|
189 |
-
|
190 |
-
/***
|
191 |
-
*** @delete users need confirmation
|
192 |
-
***/
|
193 |
-
add_action('um_admin_do_action__delete_users', 'um_admin_do_action__delete_users');
|
194 |
-
function um_admin_do_action__delete_users( $action ){
|
195 |
-
global $ultimatemember;
|
196 |
-
if ( !is_admin() || !current_user_can( 'edit_users' ) ) die();
|
197 |
-
|
198 |
-
$redirect = admin_url('users.php');
|
199 |
-
|
200 |
-
$users = array_map( 'intval', (array) $_REQUEST['user'] );
|
201 |
-
if ( !$users ) exit( wp_redirect( $redirect ) );
|
202 |
-
|
203 |
-
if ( isset( $_REQUEST['confirm'] ) && $_REQUEST['confirm'] == 1 ) { // delete
|
204 |
-
|
205 |
-
$bulk_action = 'um_delete';
|
206 |
-
|
207 |
-
foreach($users as $user_id){
|
208 |
-
$ultimatemember->user->set( $user_id );
|
209 |
-
if ( !um_user('super_admin') ) {
|
210 |
-
|
211 |
-
do_action("um_admin_user_action_hook", $bulk_action);
|
212 |
-
|
213 |
-
do_action("um_admin_user_action_{$bulk_action}_hook");
|
214 |
-
|
215 |
-
} else {
|
216 |
-
$admin_err = 1;
|
217 |
-
}
|
218 |
-
}
|
219 |
-
|
220 |
-
// Finished. redirect now
|
221 |
-
if ( $admin_err == 0 ){
|
222 |
-
wp_redirect( admin_url('users.php?update=users_updated') );
|
223 |
-
exit;
|
224 |
-
} else {
|
225 |
-
wp_redirect( admin_url('users.php?update=err_users_updated') );
|
226 |
-
exit;
|
227 |
-
}
|
228 |
-
|
229 |
-
} else {
|
230 |
-
|
231 |
-
$redirect = add_query_arg('update','confirm_delete',$redirect);
|
232 |
-
|
233 |
-
foreach( $users as $id ) {
|
234 |
-
$query .= '&user[]='.$id;
|
235 |
-
}
|
236 |
-
|
237 |
-
$uri = $ultimatemember->permalinks->get_current_url( true );
|
238 |
-
$uri = add_query_arg('um_adm_action', 'delete_users', $uri);
|
239 |
-
foreach( $users as $user_id ) {
|
240 |
-
$uri = add_query_arg('user[]', $user_id, $uri);
|
241 |
-
$redirect = add_query_arg('user[]', $user_id, $redirect);
|
242 |
-
}
|
243 |
-
$uri = add_query_arg('_refer', $_POST['_wp_http_referer'], $redirect);
|
244 |
-
$redirect = add_query_arg('confirm', 1, $uri);
|
245 |
-
|
246 |
-
exit( wp_redirect($redirect) );
|
247 |
-
|
248 |
-
}
|
249 |
-
|
250 |
-
}
|
251 |
|
252 |
/***
|
253 |
*** @clear user cache
|
@@ -433,7 +415,7 @@
|
|
433 |
um_fetch_user( $_REQUEST['user_id'] );
|
434 |
|
435 |
$subaction = $_REQUEST['sub'];
|
436 |
-
|
437 |
do_action("um_admin_user_action_hook", $subaction);
|
438 |
do_action("um_admin_user_action_{$subaction}_hook");
|
439 |
|
1 |
<?php
|
2 |
|
3 |
+
/***
|
4 |
+
*** @Add community role to user creatino page
|
5 |
+
***/
|
6 |
+
add_action('admin_footer_text', 'um_add_custom_user_profile_fields');
|
7 |
+
function um_add_custom_user_profile_fields() {
|
8 |
+
global $ultimatemember, $pagenow;
|
9 |
+
|
10 |
+
if( $pagenow !== 'user-new.php' )
|
11 |
+
return;
|
12 |
+
|
13 |
+
if( !current_user_can('manage_options') )
|
14 |
+
return false;
|
15 |
+
|
16 |
+
?>
|
17 |
+
<table id="table_my_custom_field" style="display:none;">
|
18 |
+
<tr>
|
19 |
+
<th><label for="um_role"><?php _e( 'Community Role', 'ultimatemember' ); ?></label></th>
|
20 |
+
<td>
|
21 |
+
<select name="um_role" id="um_role">
|
22 |
+
<?php foreach( $ultimatemember->query->get_roles() as $key => $value ) { ?>
|
23 |
+
<option value="<?php echo $key; ?>" <?php selected( um_get_option('default_role'), $key ); ?> ><?php echo $value; ?></option>
|
24 |
+
<?php } ?>
|
25 |
+
</select>
|
26 |
+
</td>
|
27 |
+
</tr>
|
28 |
+
</table>
|
29 |
+
<script>
|
30 |
+
jQuery(function($){
|
31 |
+
$('#table_my_custom_field tr').insertAfter($('#role').parentsUntil('tr').parent());
|
32 |
+
});
|
33 |
+
</script>
|
34 |
+
<?php
|
35 |
+
}
|
36 |
+
|
37 |
+
/***
|
38 |
+
*** @Save the community role in user creation in backend
|
39 |
+
***/
|
40 |
+
add_action('user_register', 'um_save_custom_user_profile_fields');
|
41 |
+
function um_save_custom_user_profile_fields( $user_id ) {
|
42 |
+
if( !current_user_can('manage_options') || !is_admin() || !isset( $_POST['um_role'] ) )
|
43 |
+
return false;
|
44 |
+
update_user_meta($user_id, 'role', sanitize_title_with_dashes( $_POST['um_role'] ) );
|
45 |
+
}
|
46 |
+
|
47 |
/**
|
48 |
*
|
49 |
* Add access settings to category
|
230 |
}
|
231 |
}
|
232 |
add_action('save_post', 'um_admin_delete_role_cache', 1111, 2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
|
234 |
/***
|
235 |
*** @clear user cache
|
415 |
um_fetch_user( $_REQUEST['user_id'] );
|
416 |
|
417 |
$subaction = $_REQUEST['sub'];
|
418 |
+
|
419 |
do_action("um_admin_user_action_hook", $subaction);
|
420 |
do_action("um_admin_user_action_{$subaction}_hook");
|
421 |
|
admin/core/um-admin-metabox.php
CHANGED
@@ -327,7 +327,11 @@ class UM_Admin_Metabox {
|
|
327 |
delete_post_meta( $post_id, '_um_reveal_fields' );
|
328 |
delete_post_meta( $post_id, '_um_search_fields' );
|
329 |
delete_post_meta( $post_id, '_um_roles_can_search' );
|
|
|
330 |
foreach( $_POST as $k => $v ) {
|
|
|
|
|
|
|
331 |
if (strstr($k, '_um_')){
|
332 |
update_post_meta( $post_id, $k, $v);
|
333 |
}
|
@@ -1243,6 +1247,26 @@ class UM_Admin_Metabox {
|
|
1243 |
<?php
|
1244 |
break;
|
1245 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1246 |
case '_min_chars':
|
1247 |
?>
|
1248 |
|
327 |
delete_post_meta( $post_id, '_um_reveal_fields' );
|
328 |
delete_post_meta( $post_id, '_um_search_fields' );
|
329 |
delete_post_meta( $post_id, '_um_roles_can_search' );
|
330 |
+
delete_post_meta( $post_id, '_um_show_these_users' );
|
331 |
foreach( $_POST as $k => $v ) {
|
332 |
+
if ( $k == '_um_show_these_users' && trim( $_POST[ $k ] ) ) {
|
333 |
+
$v = preg_split('/[\r\n]+/', $v, -1, PREG_SPLIT_NO_EMPTY);
|
334 |
+
}
|
335 |
if (strstr($k, '_um_')){
|
336 |
update_post_meta( $post_id, $k, $v);
|
337 |
}
|
1247 |
<?php
|
1248 |
break;
|
1249 |
|
1250 |
+
case '_min':
|
1251 |
+
?>
|
1252 |
+
|
1253 |
+
<p><label for="_min">Minimum Number <?php $this->tooltip( __('Minimum number that can be entered in this field','ultimatemember') ); ?></label>
|
1254 |
+
<input type="text" name="_min" id="_min" value="<?php echo $this->edit_mode_value; ?>" />
|
1255 |
+
</p>
|
1256 |
+
|
1257 |
+
<?php
|
1258 |
+
break;
|
1259 |
+
|
1260 |
+
case '_max':
|
1261 |
+
?>
|
1262 |
+
|
1263 |
+
<p><label for="_max">Maximum Number <?php $this->tooltip( __('Maximum number that can be entered in this field','ultimatemember') ); ?></label>
|
1264 |
+
<input type="text" name="_max" id="_max" value="<?php echo $this->edit_mode_value; ?>" />
|
1265 |
+
</p>
|
1266 |
+
|
1267 |
+
<?php
|
1268 |
+
break;
|
1269 |
+
|
1270 |
case '_min_chars':
|
1271 |
?>
|
1272 |
|
admin/core/um-admin-users.php
CHANGED
@@ -7,21 +7,21 @@ class UM_Admin_Users {
|
|
7 |
$this->custom_role = 'um_role';
|
8 |
|
9 |
add_filter('manage_users_columns', array(&$this, 'manage_users_columns') );
|
10 |
-
|
11 |
add_action('manage_users_custom_column', array(&$this, 'manage_users_custom_column'), 10, 3);
|
12 |
-
|
13 |
add_action('restrict_manage_users', array(&$this, 'restrict_manage_users') );
|
14 |
-
|
15 |
add_action('admin_init', array(&$this, 'um_bulk_users_edit'), 9);
|
16 |
-
|
17 |
add_filter('views_users', array(&$this, 'views_users') );
|
18 |
-
|
19 |
add_filter('pre_user_query', array(&$this, 'sort_by_newest') );
|
20 |
-
|
21 |
add_filter('pre_user_query', array(&$this, 'custom_users_filter') );
|
22 |
-
|
23 |
add_filter('user_row_actions', array(&$this, 'user_row_actions'), 10, 2);
|
24 |
-
|
25 |
}
|
26 |
|
27 |
/***
|
@@ -32,17 +32,14 @@ class UM_Admin_Users {
|
|
32 |
$user_id = $user_object->ID;
|
33 |
um_fetch_user( $user_id );
|
34 |
|
35 |
-
|
36 |
-
unset( $actions['delete'] );
|
37 |
|
38 |
-
$actions['frontend_profile'] = "<a class='' href='" . um_user_profile_url() . "'>" . __( 'Profile','ultimatemember') . "</a>";
|
39 |
-
|
40 |
if ( um_user('submitted') ) {
|
41 |
$actions['view_info'] = '<a href="#" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="'.$user_id.'" data-arg2="edit_registration">' . __('Info','ultimatemember') . '</a>';
|
42 |
}
|
43 |
-
|
44 |
$actions = apply_filters('um_admin_user_row_actions', $actions, $user_id );
|
45 |
-
|
46 |
return $actions;
|
47 |
}
|
48 |
|
@@ -208,22 +205,7 @@ class UM_Admin_Users {
|
|
208 |
|
209 |
$users = $_REQUEST['users'];
|
210 |
$bulk_action = current( array_filter( $_REQUEST['um_bulk_action']) );
|
211 |
-
|
212 |
-
if ( 'um_delete' == $bulk_action ) { // this needs confirmation
|
213 |
-
|
214 |
-
$uri = admin_url('users.php');
|
215 |
-
$userids = array_map( 'intval', (array) $_REQUEST['users'] );
|
216 |
-
|
217 |
-
if ( is_array( $userids ) ) {
|
218 |
-
$uri = add_query_arg('um_adm_action', 'delete_users', $uri);
|
219 |
-
foreach( $userids as $user_id ) {
|
220 |
-
$uri = add_query_arg('user[]', $user_id, $uri);
|
221 |
-
}
|
222 |
-
exit( wp_redirect( $uri ) );
|
223 |
-
}
|
224 |
|
225 |
-
}
|
226 |
-
|
227 |
foreach($users as $user_id){
|
228 |
$ultimatemember->user->set( $user_id );
|
229 |
if ( !um_user('super_admin') ) {
|
@@ -273,10 +255,10 @@ class UM_Admin_Users {
|
|
273 |
global $ultimatemember;
|
274 |
?>
|
275 |
|
276 |
-
<div
|
277 |
|
278 |
<label class="screen-reader-text" for="um_filter_role"><?php _e('Filter by','ultimatemember'); ?></label>
|
279 |
-
<select name="um_filter_role[]" id="um_filter_role" class="
|
280 |
<option value="0"><?php _e('Filter by','ultimatemember'); ?></option>
|
281 |
<?php
|
282 |
$roles = $ultimatemember->query->get_roles();
|
@@ -290,11 +272,11 @@ class UM_Admin_Users {
|
|
290 |
|
291 |
</div>
|
292 |
|
293 |
-
<div
|
294 |
|
295 |
-
<label class="screen-reader-text" for="um_bulk_action"><?php _e('
|
296 |
-
<select name="um_bulk_action[]" id="um_bulk_action" class="
|
297 |
-
<option value="0"><?php _e('
|
298 |
<?php echo $ultimatemember->user->get_bulk_admin_actions(); ?>
|
299 |
</select>
|
300 |
|
@@ -302,10 +284,10 @@ class UM_Admin_Users {
|
|
302 |
|
303 |
</div>
|
304 |
|
305 |
-
<div
|
306 |
|
307 |
<label class="screen-reader-text" for="um_change_role"><?php _e('Community role…','ultimatemember'); ?></label>
|
308 |
-
<select name="um_change_role[]" id="um_change_role" class="
|
309 |
<?php foreach($ultimatemember->query->get_roles( $add_default = 'Community role…' ) as $key => $value) { ?>
|
310 |
<option value="<?php echo $key; ?>"><?php echo $value; ?></option>
|
311 |
<?php } ?>
|
7 |
$this->custom_role = 'um_role';
|
8 |
|
9 |
add_filter('manage_users_columns', array(&$this, 'manage_users_columns') );
|
10 |
+
|
11 |
add_action('manage_users_custom_column', array(&$this, 'manage_users_custom_column'), 10, 3);
|
12 |
+
|
13 |
add_action('restrict_manage_users', array(&$this, 'restrict_manage_users') );
|
14 |
+
|
15 |
add_action('admin_init', array(&$this, 'um_bulk_users_edit'), 9);
|
16 |
+
|
17 |
add_filter('views_users', array(&$this, 'views_users') );
|
18 |
+
|
19 |
add_filter('pre_user_query', array(&$this, 'sort_by_newest') );
|
20 |
+
|
21 |
add_filter('pre_user_query', array(&$this, 'custom_users_filter') );
|
22 |
+
|
23 |
add_filter('user_row_actions', array(&$this, 'user_row_actions'), 10, 2);
|
24 |
+
|
25 |
}
|
26 |
|
27 |
/***
|
32 |
$user_id = $user_object->ID;
|
33 |
um_fetch_user( $user_id );
|
34 |
|
35 |
+
$actions['frontend_profile'] = "<a class='' href='" . um_user_profile_url() . "'>" . __( 'View profile','ultimatemember') . "</a>";
|
|
|
36 |
|
|
|
|
|
37 |
if ( um_user('submitted') ) {
|
38 |
$actions['view_info'] = '<a href="#" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="'.$user_id.'" data-arg2="edit_registration">' . __('Info','ultimatemember') . '</a>';
|
39 |
}
|
40 |
+
|
41 |
$actions = apply_filters('um_admin_user_row_actions', $actions, $user_id );
|
42 |
+
|
43 |
return $actions;
|
44 |
}
|
45 |
|
205 |
|
206 |
$users = $_REQUEST['users'];
|
207 |
$bulk_action = current( array_filter( $_REQUEST['um_bulk_action']) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
|
|
|
|
|
209 |
foreach($users as $user_id){
|
210 |
$ultimatemember->user->set( $user_id );
|
211 |
if ( !um_user('super_admin') ) {
|
255 |
global $ultimatemember;
|
256 |
?>
|
257 |
|
258 |
+
<div style="float:right;margin:0 4px">
|
259 |
|
260 |
<label class="screen-reader-text" for="um_filter_role"><?php _e('Filter by','ultimatemember'); ?></label>
|
261 |
+
<select name="um_filter_role[]" id="um_filter_role" class="" style="width: 120px">
|
262 |
<option value="0"><?php _e('Filter by','ultimatemember'); ?></option>
|
263 |
<?php
|
264 |
$roles = $ultimatemember->query->get_roles();
|
272 |
|
273 |
</div>
|
274 |
|
275 |
+
<div style="float:right;margin:0 4px">
|
276 |
|
277 |
+
<label class="screen-reader-text" for="um_bulk_action"><?php _e('UM Action','ultimatemember'); ?></label>
|
278 |
+
<select name="um_bulk_action[]" id="um_bulk_action" class="" style="width: 200px">
|
279 |
+
<option value="0"><?php _e('UM Action','ultimatemember'); ?></option>
|
280 |
<?php echo $ultimatemember->user->get_bulk_admin_actions(); ?>
|
281 |
</select>
|
282 |
|
284 |
|
285 |
</div>
|
286 |
|
287 |
+
<div style="float:right;margin:0 4px">
|
288 |
|
289 |
<label class="screen-reader-text" for="um_change_role"><?php _e('Community role…','ultimatemember'); ?></label>
|
290 |
+
<select name="um_change_role[]" id="um_change_role" class="" style="width: 160px">
|
291 |
<?php foreach($ultimatemember->query->get_roles( $add_default = 'Community role…' ) as $key => $value) { ?>
|
292 |
<option value="<?php echo $key; ?>"><?php echo $value; ?></option>
|
293 |
<?php } ?>
|
admin/templates/directory/general.php
CHANGED
@@ -7,6 +7,11 @@
|
|
7 |
}
|
8 |
}
|
9 |
|
|
|
|
|
|
|
|
|
|
|
10 |
?>
|
11 |
|
12 |
<div class="um-admin-metabox">
|
@@ -73,6 +78,15 @@
|
|
73 |
</span>
|
74 |
</p><div class="um-admin-clear"></div>
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
<?php do_action('um_admin_extend_directory_options_general', $this); ?>
|
77 |
|
78 |
</div>
|
7 |
}
|
8 |
}
|
9 |
|
10 |
+
$show_these_users = get_post_meta( get_the_ID(), '_um_show_these_users', true );
|
11 |
+
if ( $show_these_users ) {
|
12 |
+
$show_these_users = implode("\n", str_replace("\r", "", $show_these_users));
|
13 |
+
}
|
14 |
+
|
15 |
?>
|
16 |
|
17 |
<div class="um-admin-metabox">
|
78 |
</span>
|
79 |
</p><div class="um-admin-clear"></div>
|
80 |
|
81 |
+
<p>
|
82 |
+
<label class="um-admin-half"><?php _e('Only show specific users (Enter one username per line)','ultimatemember'); ?></label>
|
83 |
+
<span class="um-admin-half">
|
84 |
+
|
85 |
+
<textarea name="_um_show_these_users" id="_um_show_these_users"><?php echo $show_these_users; ?></textarea>
|
86 |
+
|
87 |
+
</span>
|
88 |
+
</p><div class="um-admin-clear"></div>
|
89 |
+
|
90 |
<?php do_action('um_admin_extend_directory_options_general', $this); ?>
|
91 |
|
92 |
</div>
|
admin/templates/extensions.php
CHANGED
@@ -1,5 +1,12 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
$premium['verified-users'] = array(
|
4 |
'url' => 'https://ultimatemember.com/extensions/verified-users/',
|
5 |
'image' => 'https://ultimatemember.com/wp-content/uploads/2015/09/image.png',
|
1 |
<?php
|
2 |
|
3 |
+
$premium['user-tags'] = array(
|
4 |
+
'url' => 'https://ultimatemember.com/extensions/user-tags/',
|
5 |
+
'image' => 'https://ultimatemember.com/wp-content/uploads/2015/12/user-tags-copy.jpg',
|
6 |
+
'name' => 'User Tags',
|
7 |
+
'desc' => 'Add a user tag system to your site and allow users to associate tags with their profile and enable users to find other users easily with the same tag.',
|
8 |
+
);
|
9 |
+
|
10 |
$premium['verified-users'] = array(
|
11 |
'url' => 'https://ultimatemember.com/extensions/verified-users/',
|
12 |
'image' => 'https://ultimatemember.com/wp-content/uploads/2015/09/image.png',
|
assets/css/um-misc.css
CHANGED
@@ -88,4 +88,21 @@
|
|
88 |
animation-timing-function: linear;
|
89 |
-webkit-animation-iteration-count: 1;
|
90 |
animation-iteration-count: 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
}
|
88 |
animation-timing-function: linear;
|
89 |
-webkit-animation-iteration-count: 1;
|
90 |
animation-iteration-count: 1;
|
91 |
+
}
|
92 |
+
|
93 |
+
/* content lockers */
|
94 |
+
.um-locked-content {
|
95 |
+
width: 100%;
|
96 |
+
box-sizing: border-box;
|
97 |
+
border: 2px dotted #cc3000;
|
98 |
+
color: #333;
|
99 |
+
background: #fff;
|
100 |
+
font-size: 14px;
|
101 |
+
padding: 20px;
|
102 |
+
border-radius: 4px;
|
103 |
+
margin-bottom: 20px;
|
104 |
+
}
|
105 |
+
|
106 |
+
.um-locked-content a {
|
107 |
+
border: none !important;
|
108 |
}
|
assets/css/um-profile.css
CHANGED
@@ -287,6 +287,8 @@ font-weight: normal;
|
|
287 |
.um-meta-text {
|
288 |
margin: 6px 0 0 0;
|
289 |
color: #666;
|
|
|
|
|
290 |
}
|
291 |
|
292 |
.um-meta-text p {
|
287 |
.um-meta-text {
|
288 |
margin: 6px 0 0 0;
|
289 |
color: #666;
|
290 |
+
line-height: 1.4em;
|
291 |
+
font-size: 13px;
|
292 |
}
|
293 |
|
294 |
.um-meta-text p {
|
assets/css/um-styles.css
CHANGED
@@ -381,6 +381,7 @@ p.um-notice.warning {
|
|
381 |
}
|
382 |
|
383 |
.um-form input[type=text],
|
|
|
384 |
.um-form input[type=password] {
|
385 |
padding: 0 12px !important;
|
386 |
width: 100%;
|
@@ -399,7 +400,14 @@ p.um-notice.warning {
|
|
399 |
outline: none !important;
|
400 |
}
|
401 |
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
.um-form input[type=text]:focus,
|
|
|
403 |
.um-form input[type=password]:focus,
|
404 |
.um-form textarea:focus {
|
405 |
box-shadow: none !important;
|
@@ -428,6 +436,16 @@ p.um-notice.warning {
|
|
428 |
outline: none !important;
|
429 |
}
|
430 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
431 |
/*
|
432 |
- Radio & Checkboxes
|
433 |
*/
|
@@ -550,7 +568,8 @@ p.um-notice.warning {
|
|
550 |
.um div.disabled,
|
551 |
.um-disabled,
|
552 |
.um input[type=submit]:disabled,
|
553 |
-
.um input[type=text]:disabled
|
|
|
554 |
opacity: 0.6 !important;
|
555 |
cursor: no-drop !important;
|
556 |
}
|
381 |
}
|
382 |
|
383 |
.um-form input[type=text],
|
384 |
+
.um-form input[type=number],
|
385 |
.um-form input[type=password] {
|
386 |
padding: 0 12px !important;
|
387 |
width: 100%;
|
400 |
outline: none !important;
|
401 |
}
|
402 |
|
403 |
+
.um-form input[type=number] {
|
404 |
+
width: auto;
|
405 |
+
padding: 0 0 0 5px !important;
|
406 |
+
height: 30px !important;
|
407 |
+
}
|
408 |
+
|
409 |
.um-form input[type=text]:focus,
|
410 |
+
.um-form input[type=number]:focus,
|
411 |
.um-form input[type=password]:focus,
|
412 |
.um-form textarea:focus {
|
413 |
box-shadow: none !important;
|
436 |
outline: none !important;
|
437 |
}
|
438 |
|
439 |
+
.um-form .wp-editor-container {
|
440 |
+
border: 1px solid #ddd;
|
441 |
+
}
|
442 |
+
|
443 |
+
.um-form .wp-editor-container textarea {
|
444 |
+
background: #ddd !important;
|
445 |
+
color: #222 !important;
|
446 |
+
border-radius: 0;
|
447 |
+
}
|
448 |
+
|
449 |
/*
|
450 |
- Radio & Checkboxes
|
451 |
*/
|
568 |
.um div.disabled,
|
569 |
.um-disabled,
|
570 |
.um input[type=submit]:disabled,
|
571 |
+
.um input[type=text]:disabled,
|
572 |
+
.um input[type=number]:disabled {
|
573 |
opacity: 0.6 !important;
|
574 |
cursor: no-drop !important;
|
575 |
}
|
assets/css/um.min.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
@-webkit-keyframes um-effect-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes um-effect-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}.um-effect-pop{-webkit-animation-name:um-effect-pop;animation-name:um-effect-pop;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}.um-youtube,.um-vimeo,.um-googlemap{position:relative;height:0;overflow:hidden}.um-youtube{padding-bottom:56.25%}.um-vimeo{padding-bottom:56.25%}.um-googlemap{padding-bottom:75%}.um-youtube iframe,.um-vimeo iframe,.um-googlemap iframe{position:absolute;top:0;left:0;width:100%!important;height:100%!important}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.mCustomScrollbar{-ms-touch-action:none;touch-action:none}.mCustomScrollbar.mCS_no_scrollbar{-ms-touch-action:auto;touch-action:auto}.mCustomScrollBox{position:relative;overflow:hidden;height:100%;max-width:100%;outline:none;direction:ltr}.mCSB_container{overflow:hidden;width:auto;height:auto}.mCSB_inside>.mCSB_container{margin-right:0}.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container{margin-right:0;margin-left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-left:0}.mCSB_scrollTools{position:absolute;width:16px;height:auto;left:auto;top:0;right:0;bottom:0}.mCSB_outside+.mCSB_scrollTools{right:-26px}.mCS-dir-rtl>.mCSB_inside>.mCSB_scrollTools,.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{right:auto;left:0}.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{left:-26px}.mCSB_scrollTools .mCSB_draggerContainer{position:absolute;top:0;left:0;bottom:0;right:0;height:auto}.mCSB_scrollTools a+.mCSB_draggerContainer{margin:20px 0}.mCSB_scrollTools .mCSB_draggerRail{width:2px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCSB_scrollTools .mCSB_dragger{cursor:pointer;width:100%;height:30px;z-index:1}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{position:relative;width:4px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;text-align:center}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:12px}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:8px}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown{display:block;position:absolute;height:20px;width:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools .mCSB_buttonDown{bottom:0}.mCSB_horizontal.mCSB_inside>.mCSB_container{margin-right:0;margin-bottom:30px}.mCSB_horizontal.mCSB_outside>.mCSB_container{min-height:100%}.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal{width:auto;height:16px;top:auto;right:0;bottom:0;left:0}.mCustomScrollBox+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:-26px}.mCSB_scrollTools.mCSB_scrollTools_horizontal a+.mCSB_draggerContainer{margin:0 20px}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:2px;margin:7px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger{width:30px;height:100%;left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:12px;margin:2px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:8px;margin:4px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{display:block;position:absolute;width:20px;height:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft{left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{right:0}.mCSB_container_wrapper{position:absolute;height:auto;width:auto;overflow:hidden;top:0;left:0;right:0;bottom:0;margin-right:30px;margin-bottom:30px}.mCSB_container_wrapper>.mCSB_container{padding-right:30px;padding-bottom:30px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:20px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:20px}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden+.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:0}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:20px}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal{left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container_wrapper{margin-right:0;margin-left:30px}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container{padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container{padding-bottom:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0;margin-left:0}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools,.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail{-webkit-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:0;filter:"alpha(opacity=0)";-ms-filter:"alpha(opacity=0)"}.mCustomScrollbar>.mCustomScrollBox>.mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollbar>.mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollBox:hover>.mCSB_scrollTools,.mCustomScrollBox:hover ~ .mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:1;filter:"alpha(opacity=100)";-ms-filter:"alpha(opacity=100)"}.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.4);filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75);filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85);filter:"alpha(opacity=85)";-ms-filter:"alpha(opacity=85)"}.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9);filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{background-image:url(mCSB_buttons.png);background-repeat:no-repeat;opacity:.4;filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_buttonUp:hover,.mCSB_scrollTools .mCSB_buttonDown:hover,.mCSB_scrollTools .mCSB_buttonLeft:hover,.mCSB_scrollTools .mCSB_buttonRight:hover{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_buttonUp:active,.mCSB_scrollTools .mCSB_buttonDown:active,.mCSB_scrollTools .mCSB_buttonLeft:active,.mCSB_scrollTools .mCSB_buttonRight:active{opacity:.9;filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCS-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.85)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.9)}.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px 0}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:6px;margin:5px auto}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.1)}.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:2px}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:2px;margin:7px auto}.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.15)}.mCS-rounded.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger{height:14px}.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:14px;margin:0 1px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:14px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:14px;margin:1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:16px;height:16px;margin:-1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:4px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:16px;width:16px;margin:0 -1px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:4px;margin:6px 0}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail{width:4px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{background-color:transparent;background-position:center}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==");background-repeat:repeat-y;opacity:.3;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{height:4px;margin:6px 0;background-repeat:repeat-x}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=")}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-y;background-image:-moz-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,right top,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to right,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-x;background-image:-moz-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to bottom,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:70px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:70px}.mCS-3d.mCSB_scrollTools,.mCS-3d-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{width:8px;background-color:#000;background-color:rgba(0,0,0,0.2);box-shadow:inset 1px 0 1px rgba(0,0,0,0.5),inset -1px 0 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:8px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:8px;margin:4px 0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.5),inset 0 -1px 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:8px;margin:4px auto}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);box-shadow:inset 1px 0 1px rgba(0,0,0,0.1)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mCSB_inside+.mCS-3d-thick.mCSB_scrollTools_vertical,.mCSB_inside+.mCS-3d-thick-dark.mCSB_scrollTools_vertical{right:1px}.mCS-3d-thick.mCSB_scrollTools_vertical,.mCS-3d-thick-dark.mCSB_scrollTools_vertical{box-shadow:inset 1px 0 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools_horizontal,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{bottom:1px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4);width:12px;margin:2px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:12px;width:auto}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{background-color:#000;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick-dark.mCSB_scrollTools{box-shadow:inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4),inset -1px 0 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4),inset 0 -1px 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#777}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{background-color:#fff;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{right:0;margin:12px 0}.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:0;margin:0 12px}.mCS-dir-rtl>.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCS-dir-rtl>.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{left:0;right:auto}.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:50px}.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:50px}.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{width:6px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px}.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:6px;margin:5px 0}.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:12px}.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:12px;margin:2px 0}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:rgba(0,0,0,0.1)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{background-color:rgba(0,0,0,0.1)}.mCS-inset.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{width:12px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;margin:3px 5px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:6px;margin:5px 3px;position:absolute;width:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:12px;margin:2px 0}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1)}.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent;border-width:1px;border-style:solid;border-color:#fff;border-color:rgba(255,255,255,0.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{border-color:#000;border-color:rgba(0,0,0,0.2)}.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.6)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.6)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}
|
2 |
-
.um-login.um-logout{max-width:300px!important}.um-misc-with-img{position:relative;font-size:15px;border-bottom:3px solid #eee;text-align:center;margin-bottom:14px;padding-top:4px;padding-bottom:14px}.um-misc-img{text-align:center}.um-misc-img img{border-radius:999px;height:auto!important;display:inline-block!important}.um-misc-ul,.um-misc-ul li{font-size:14px}.um-profile-connect.um-member-connect{padding:5px 0 10px}.um-profile-connect.um-member-connect a{text-align:center;width:36px;line-height:36px;height:36px;font-size:20px}@charset "UTF-8";@font-face{font-family:FontAwesome;src:url(../font/fontawesome-webfont.eot?v=4.2.0);src:url(../font/fontawesome-webfont.eot?v=4.2.0#iefix) format("embedded-opentype"),url(../font/fontawesome-webfont.woff?v=4.2.0) format("woff"),url(../font/fontawesome-webfont.ttf?v=4.2.0) format("truetype"),url(../font/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}[class*=" um-faicon-"]:before,[class^=um-faicon-]:before{font-family:FontAwesome!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-faicon-glass:before{content:"\f000"}.um-faicon-music:before{content:"\f001"}.um-faicon-search:before{content:"\f002"}.um-faicon-envelope-o:before{content:"\f003"}.um-faicon-heart:before{content:"\f004"}.um-faicon-star:before{content:"\f005"}.um-faicon-star-o:before{content:"\f006"}.um-faicon-user:before{content:"\f007"}.um-faicon-film:before{content:"\f008"}.um-faicon-th-large:before{content:"\f009"}.um-faicon-th:before{content:"\f00a"}.um-faicon-th-list:before{content:"\f00b"}.um-faicon-check:before{content:"\f00c"}.um-faicon-close:before,.um-faicon-remove:before,.um-faicon-times:before{content:"\f00d"}.um-faicon-search-plus:before{content:"\f00e"}.um-faicon-search-minus:before{content:"\f010"}.um-faicon-power-off:before{content:"\f011"}.um-faicon-signal:before{content:"\f012"}.um-faicon-cog:before,.um-faicon-gear:before{content:"\f013"}.um-faicon-trash-o:before{content:"\f014"}.um-faicon-home:before{content:"\f015"}.um-faicon-file-o:before{content:"\f016"}.um-faicon-clock-o:before{content:"\f017"}.um-faicon-road:before{content:"\f018"}.um-faicon-download:before{content:"\f019"}.um-faicon-arrow-circle-o-down:before{content:"\f01a"}.um-faicon-arrow-circle-o-up:before{content:"\f01b"}.um-faicon-inbox:before{content:"\f01c"}.um-faicon-play-circle-o:before{content:"\f01d"}.um-faicon-repeat:before,.um-faicon-rotate-right:before{content:"\f01e"}.um-faicon-refresh:before{content:"\f021"}.um-faicon-list-alt:before{content:"\f022"}.um-faicon-lock:before{content:"\f023"}.um-faicon-flag:before{content:"\f024"}.um-faicon-headphones:before{content:"\f025"}.um-faicon-volume-off:before{content:"\f026"}.um-faicon-volume-down:before{content:"\f027"}.um-faicon-volume-up:before{content:"\f028"}.um-faicon-qrcode:before{content:"\f029"}.um-faicon-barcode:before{content:"\f02a"}.um-faicon-tag:before{content:"\f02b"}.um-faicon-tags:before{content:"\f02c"}.um-faicon-book:before{content:"\f02d"}.um-faicon-bookmark:before{content:"\f02e"}.um-faicon-print:before{content:"\f02f"}.um-faicon-camera:before{content:"\f030"}.um-faicon-font:before{content:"\f031"}.um-faicon-bold:before{content:"\f032"}.um-faicon-italic:before{content:"\f033"}.um-faicon-text-height:before{content:"\f034"}.um-faicon-text-width:before{content:"\f035"}.um-faicon-align-left:before{content:"\f036"}.um-faicon-align-center:before{content:"\f037"}.um-faicon-align-right:before{content:"\f038"}.um-faicon-align-justify:before{content:"\f039"}.um-faicon-list:before{content:"\f03a"}.um-faicon-dedent:before,.um-faicon-outdent:before{content:"\f03b"}.um-faicon-indent:before{content:"\f03c"}.um-faicon-video-camera:before{content:"\f03d"}.um-faicon-image:before,.um-faicon-photo:before,.um-faicon-picture-o:before{content:"\f03e"}.um-faicon-pencil:before{content:"\f040"}.um-faicon-map-marker:before{content:"\f041"}.um-faicon-adjust:before{content:"\f042"}.um-faicon-tint:before{content:"\f043"}.um-faicon-edit:before,.um-faicon-pencil-square-o:before{content:"\f044"}.um-faicon-share-square-o:before{content:"\f045"}.um-faicon-check-square-o:before{content:"\f046"}.um-faicon-arrows:before{content:"\f047"}.um-faicon-step-backward:before{content:"\f048"}.um-faicon-fast-backward:before{content:"\f049"}.um-faicon-backward:before{content:"\f04a"}.um-faicon-play:before{content:"\f04b"}.um-faicon-pause:before{content:"\f04c"}.um-faicon-stop:before{content:"\f04d"}.um-faicon-forward:before{content:"\f04e"}.um-faicon-fast-forward:before{content:"\f050"}.um-faicon-step-forward:before{content:"\f051"}.um-faicon-eject:before{content:"\f052"}.um-faicon-chevron-left:before{content:"\f053"}.um-faicon-chevron-right:before{content:"\f054"}.um-faicon-plus-circle:before{content:"\f055"}.um-faicon-minus-circle:before{content:"\f056"}.um-faicon-times-circle:before{content:"\f057"}.um-faicon-check-circle:before{content:"\f058"}.um-faicon-question-circle:before{content:"\f059"}.um-faicon-info-circle:before{content:"\f05a"}.um-faicon-crosshairs:before{content:"\f05b"}.um-faicon-times-circle-o:before{content:"\f05c"}.um-faicon-check-circle-o:before{content:"\f05d"}.um-faicon-ban:before{content:"\f05e"}.um-faicon-arrow-left:before{content:"\f060"}.um-faicon-arrow-right:before{content:"\f061"}.um-faicon-arrow-up:before{content:"\f062"}.um-faicon-arrow-down:before{content:"\f063"}.um-faicon-mail-forward:before,.um-faicon-share:before{content:"\f064"}.um-faicon-expand:before{content:"\f065"}.um-faicon-compress:before{content:"\f066"}.um-faicon-plus:before{content:"\f067"}.um-faicon-minus:before{content:"\f068"}.um-faicon-asterisk:before{content:"\f069"}.um-faicon-exclamation-circle:before{content:"\f06a"}.um-faicon-gift:before{content:"\f06b"}.um-faicon-leaf:before{content:"\f06c"}.um-faicon-fire:before{content:"\f06d"}.um-faicon-eye:before{content:"\f06e"}.um-faicon-eye-slash:before{content:"\f070"}.um-faicon-exclamation-triangle:before,.um-faicon-warning:before{content:"\f071"}.um-faicon-plane:before{content:"\f072"}.um-faicon-calendar:before{content:"\f073"}.um-faicon-random:before{content:"\f074"}.um-faicon-comment:before{content:"\f075"}.um-faicon-magnet:before{content:"\f076"}.um-faicon-chevron-up:before{content:"\f077"}.um-faicon-chevron-down:before{content:"\f078"}.um-faicon-retweet:before{content:"\f079"}.um-faicon-shopping-cart:before{content:"\f07a"}.um-faicon-folder:before{content:"\f07b"}.um-faicon-folder-open:before{content:"\f07c"}.um-faicon-arrows-v:before{content:"\f07d"}.um-faicon-arrows-h:before{content:"\f07e"}.um-faicon-bar-chart-o:before,.um-faicon-bar-chart:before{content:"\f080"}.um-faicon-twitter-square:before{content:"\f081"}.um-faicon-facebook-square:before{content:"\f082"}.um-faicon-camera-retro:before{content:"\f083"}.um-faicon-key:before{content:"\f084"}.um-faicon-cogs:before,.um-faicon-gears:before{content:"\f085"}.um-faicon-comments:before{content:"\f086"}.um-faicon-thumbs-o-up:before{content:"\f087"}.um-faicon-thumbs-o-down:before{content:"\f088"}.um-faicon-star-half:before{content:"\f089"}.um-faicon-heart-o:before{content:"\f08a"}.um-faicon-sign-out:before{content:"\f08b"}.um-faicon-linkedin-square:before{content:"\f08c"}.um-faicon-thumb-tack:before{content:"\f08d"}.um-faicon-external-link:before{content:"\f08e"}.um-faicon-sign-in:before{content:"\f090"}.um-faicon-trophy:before{content:"\f091"}.um-faicon-github-square:before{content:"\f092"}.um-faicon-upload:before{content:"\f093"}.um-faicon-lemon-o:before{content:"\f094"}.um-faicon-phone:before{content:"\f095"}.um-faicon-square-o:before{content:"\f096"}.um-faicon-bookmark-o:before{content:"\f097"}.um-faicon-phone-square:before{content:"\f098"}.um-faicon-twitter:before{content:"\f099"}.um-faicon-facebook:before{content:"\f09a"}.um-faicon-github:before{content:"\f09b"}.um-faicon-unlock:before{content:"\f09c"}.um-faicon-credit-card:before{content:"\f09d"}.um-faicon-rss:before{content:"\f09e"}.um-faicon-hdd-o:before{content:"\f0a0"}.um-faicon-bullhorn:before{content:"\f0a1"}.um-faicon-bell:before{content:"\f0f3"}.um-faicon-certificate:before{content:"\f0a3"}.um-faicon-hand-o-right:before{content:"\f0a4"}.um-faicon-hand-o-left:before{content:"\f0a5"}.um-faicon-hand-o-up:before{content:"\f0a6"}.um-faicon-hand-o-down:before{content:"\f0a7"}.um-faicon-arrow-circle-left:before{content:"\f0a8"}.um-faicon-arrow-circle-right:before{content:"\f0a9"}.um-faicon-arrow-circle-up:before{content:"\f0aa"}.um-faicon-arrow-circle-down:before{content:"\f0ab"}.um-faicon-globe:before{content:"\f0ac"}.um-faicon-wrench:before{content:"\f0ad"}.um-faicon-tasks:before{content:"\f0ae"}.um-faicon-filter:before{content:"\f0b0"}.um-faicon-briefcase:before{content:"\f0b1"}.um-faicon-arrows-alt:before{content:"\f0b2"}.um-faicon-group:before,.um-faicon-users:before{content:"\f0c0"}.um-faicon-chain:before,.um-faicon-link:before{content:"\f0c1"}.um-faicon-cloud:before{content:"\f0c2"}.um-faicon-flask:before{content:"\f0c3"}.um-faicon-cut:before,.um-faicon-scissors:before{content:"\f0c4"}.um-faicon-copy:before,.um-faicon-files-o:before{content:"\f0c5"}.um-faicon-paperclip:before{content:"\f0c6"}.um-faicon-floppy-o:before,.um-faicon-save:before{content:"\f0c7"}.um-faicon-square:before{content:"\f0c8"}.um-faicon-bars:before,.um-faicon-navicon:before,.um-faicon-reorder:before{content:"\f0c9"}.um-faicon-list-ul:before{content:"\f0ca"}.um-faicon-list-ol:before{content:"\f0cb"}.um-faicon-strikethrough:before{content:"\f0cc"}.um-faicon-underline:before{content:"\f0cd"}.um-faicon-table:before{content:"\f0ce"}.um-faicon-magic:before{content:"\f0d0"}.um-faicon-truck:before{content:"\f0d1"}.um-faicon-pinterest:before{content:"\f0d2"}.um-faicon-pinterest-square:before{content:"\f0d3"}.um-faicon-google-plus-square:before{content:"\f0d4"}.um-faicon-google-plus:before{content:"\f0d5"}.um-faicon-money:before{content:"\f0d6"}.um-faicon-caret-down:before{content:"\f0d7"}.um-faicon-caret-up:before{content:"\f0d8"}.um-faicon-caret-left:before{content:"\f0d9"}.um-faicon-caret-right:before{content:"\f0da"}.um-faicon-columns:before{content:"\f0db"}.um-faicon-sort:before,.um-faicon-unsorted:before{content:"\f0dc"}.um-faicon-sort-desc:before,.um-faicon-sort-down:before{content:"\f0dd"}.um-faicon-sort-asc:before,.um-faicon-sort-up:before{content:"\f0de"}.um-faicon-envelope:before{content:"\f0e0"}.um-faicon-linkedin:before{content:"\f0e1"}.um-faicon-rotate-left:before,.um-faicon-undo:before{content:"\f0e2"}.um-faicon-gavel:before,.um-faicon-legal:before{content:"\f0e3"}.um-faicon-dashboard:before,.um-faicon-tachometer:before{content:"\f0e4"}.um-faicon-comment-o:before{content:"\f0e5"}.um-faicon-comments-o:before{content:"\f0e6"}.um-faicon-bolt:before,.um-faicon-flash:before{content:"\f0e7"}.um-faicon-sitemap:before{content:"\f0e8"}.um-faicon-umbrella:before{content:"\f0e9"}.um-faicon-clipboard:before,.um-faicon-paste:before{content:"\f0ea"}.um-faicon-lightbulb-o:before{content:"\f0eb"}.um-faicon-exchange:before{content:"\f0ec"}.um-faicon-cloud-download:before{content:"\f0ed"}.um-faicon-cloud-upload:before{content:"\f0ee"}.um-faicon-user-md:before{content:"\f0f0"}.um-faicon-stethoscope:before{content:"\f0f1"}.um-faicon-suitcase:before{content:"\f0f2"}.um-faicon-bell-o:before{content:"\f0a2"}.um-faicon-coffee:before{content:"\f0f4"}.um-faicon-cutlery:before{content:"\f0f5"}.um-faicon-file-text-o:before{content:"\f0f6"}.um-faicon-building-o:before{content:"\f0f7"}.um-faicon-hospital-o:before{content:"\f0f8"}.um-faicon-ambulance:before{content:"\f0f9"}.um-faicon-medkit:before{content:"\f0fa"}.um-faicon-fighter-jet:before{content:"\f0fb"}.um-faicon-beer:before{content:"\f0fc"}.um-faicon-h-square:before{content:"\f0fd"}.um-faicon-plus-square:before{content:"\f0fe"}.um-faicon-angle-double-left:before{content:"\f100"}.um-faicon-angle-double-right:before{content:"\f101"}.um-faicon-angle-double-up:before{content:"\f102"}.um-faicon-angle-double-down:before{content:"\f103"}.um-faicon-angle-left:before{content:"\f104"}.um-faicon-angle-right:before{content:"\f105"}.um-faicon-angle-up:before{content:"\f106"}.um-faicon-angle-down:before{content:"\f107"}.um-faicon-desktop:before{content:"\f108"}.um-faicon-laptop:before{content:"\f109"}.um-faicon-tablet:before{content:"\f10a"}.um-faicon-mobile-phone:before,.um-faicon-mobile:before{content:"\f10b"}.um-faicon-circle-o:before{content:"\f10c"}.um-faicon-quote-left:before{content:"\f10d"}.um-faicon-quote-right:before{content:"\f10e"}.um-faicon-spinner:before{content:"\f110"}.um-faicon-circle:before{content:"\f111"}.um-faicon-mail-reply:before,.um-faicon-reply:before{content:"\f112"}.um-faicon-github-alt:before{content:"\f113"}.um-faicon-folder-o:before{content:"\f114"}.um-faicon-folder-open-o:before{content:"\f115"}.um-faicon-smile-o:before{content:"\f118"}.um-faicon-frown-o:before{content:"\f119"}.um-faicon-meh-o:before{content:"\f11a"}.um-faicon-gamepad:before{content:"\f11b"}.um-faicon-keyboard-o:before{content:"\f11c"}.um-faicon-flag-o:before{content:"\f11d"}.um-faicon-flag-checkered:before{content:"\f11e"}.um-faicon-terminal:before{content:"\f120"}.um-faicon-code:before{content:"\f121"}.um-faicon-mail-reply-all:before,.um-faicon-reply-all:before{content:"\f122"}.um-faicon-star-half-empty:before,.um-faicon-star-half-full:before,.um-faicon-star-half-o:before{content:"\f123"}.um-faicon-location-arrow:before{content:"\f124"}.um-faicon-crop:before{content:"\f125"}.um-faicon-code-fork:before{content:"\f126"}.um-faicon-chain-broken:before,.um-faicon-unlink:before{content:"\f127"}.um-faicon-question:before{content:"\f128"}.um-faicon-info:before{content:"\f129"}.um-faicon-exclamation:before{content:"\f12a"}.um-faicon-superscript:before{content:"\f12b"}.um-faicon-subscript:before{content:"\f12c"}.um-faicon-eraser:before{content:"\f12d"}.um-faicon-puzzle-piece:before{content:"\f12e"}.um-faicon-microphone:before{content:"\f130"}.um-faicon-microphone-slash:before{content:"\f131"}.um-faicon-shield:before{content:"\f132"}.um-faicon-calendar-o:before{content:"\f133"}.um-faicon-fire-extinguisher:before{content:"\f134"}.um-faicon-rocket:before{content:"\f135"}.um-faicon-maxcdn:before{content:"\f136"}.um-faicon-chevron-circle-left:before{content:"\f137"}.um-faicon-chevron-circle-right:before{content:"\f138"}.um-faicon-chevron-circle-up:before{content:"\f139"}.um-faicon-chevron-circle-down:before{content:"\f13a"}.um-faicon-html5:before{content:"\f13b"}.um-faicon-css3:before{content:"\f13c"}.um-faicon-anchor:before{content:"\f13d"}.um-faicon-unlock-alt:before{content:"\f13e"}.um-faicon-bullseye:before{content:"\f140"}.um-faicon-ellipsis-h:before{content:"\f141"}.um-faicon-ellipsis-v:before{content:"\f142"}.um-faicon-rss-square:before{content:"\f143"}.um-faicon-play-circle:before{content:"\f144"}.um-faicon-ticket:before{content:"\f145"}.um-faicon-minus-square:before{content:"\f146"}.um-faicon-minus-square-o:before{content:"\f147"}.um-faicon-level-up:before{content:"\f148"}.um-faicon-level-down:before{content:"\f149"}.um-faicon-check-square:before{content:"\f14a"}.um-faicon-pencil-square:before{content:"\f14b"}.um-faicon-external-link-square:before{content:"\f14c"}.um-faicon-share-square:before{content:"\f14d"}.um-faicon-compass:before{content:"\f14e"}.um-faicon-caret-square-o-down:before,.um-faicon-toggle-down:before{content:"\f150"}.um-faicon-caret-square-o-up:before,.um-faicon-toggle-up:before{content:"\f151"}.um-faicon-caret-square-o-right:before,.um-faicon-toggle-right:before{content:"\f152"}.um-faicon-eur:before,.um-faicon-euro:before{content:"\f153"}.um-faicon-gbp:before{content:"\f154"}.um-faicon-dollar:before,.um-faicon-usd:before{content:"\f155"}.um-faicon-inr:before,.um-faicon-rupee:before{content:"\f156"}.um-faicon-cny:before,.um-faicon-jpy:before,.um-faicon-rmb:before,.um-faicon-yen:before{content:"\f157"}.um-faicon-rouble:before,.um-faicon-rub:before,.um-faicon-ruble:before{content:"\f158"}.um-faicon-krw:before,.um-faicon-won:before{content:"\f159"}.um-faicon-bitcoin:before,.um-faicon-btc:before{content:"\f15a"}.um-faicon-file:before{content:"\f15b"}.um-faicon-file-text:before{content:"\f15c"}.um-faicon-sort-alpha-asc:before{content:"\f15d"}.um-faicon-sort-alpha-desc:before{content:"\f15e"}.um-faicon-sort-amount-asc:before{content:"\f160"}.um-faicon-sort-amount-desc:before{content:"\f161"}.um-faicon-sort-numeric-asc:before{content:"\f162"}.um-faicon-sort-numeric-desc:before{content:"\f163"}.um-faicon-thumbs-up:before{content:"\f164"}.um-faicon-thumbs-down:before{content:"\f165"}.um-faicon-youtube-square:before{content:"\f166"}.um-faicon-youtube:before{content:"\f167"}.um-faicon-xing:before{content:"\f168"}.um-faicon-xing-square:before{content:"\f169"}.um-faicon-youtube-play:before{content:"\f16a"}.um-faicon-dropbox:before{content:"\f16b"}.um-faicon-stack-overflow:before{content:"\f16c"}.um-faicon-instagram:before{content:"\f16d"}.um-faicon-flickr:before{content:"\f16e"}.um-faicon-adn:before{content:"\f170"}.um-faicon-bitbucket:before{content:"\f171"}.um-faicon-bitbucket-square:before{content:"\f172"}.um-faicon-tumblr:before{content:"\f173"}.um-faicon-tumblr-square:before{content:"\f174"}.um-faicon-long-arrow-down:before{content:"\f175"}.um-faicon-long-arrow-up:before{content:"\f176"}.um-faicon-long-arrow-left:before{content:"\f177"}.um-faicon-long-arrow-right:before{content:"\f178"}.um-faicon-apple:before{content:"\f179"}.um-faicon-windows:before{content:"\f17a"}.um-faicon-android:before{content:"\f17b"}.um-faicon-linux:before{content:"\f17c"}.um-faicon-dribbble:before{content:"\f17d"}.um-faicon-skype:before{content:"\f17e"}.um-faicon-foursquare:before{content:"\f180"}.um-faicon-trello:before{content:"\f181"}.um-faicon-female:before{content:"\f182"}.um-faicon-male:before{content:"\f183"}.um-faicon-gittip:before{content:"\f184"}.um-faicon-sun-o:before{content:"\f185"}.um-faicon-moon-o:before{content:"\f186"}.um-faicon-archive:before{content:"\f187"}.um-faicon-bug:before{content:"\f188"}.um-faicon-vk:before{content:"\f189"}.um-faicon-weibo:before{content:"\f18a"}.um-faicon-renren:before{content:"\f18b"}.um-faicon-pagelines:before{content:"\f18c"}.um-faicon-stack-exchange:before{content:"\f18d"}.um-faicon-arrow-circle-o-right:before{content:"\f18e"}.um-faicon-arrow-circle-o-left:before{content:"\f190"}.um-faicon-caret-square-o-left:before,.um-faicon-toggle-left:before{content:"\f191"}.um-faicon-dot-circle-o:before{content:"\f192"}.um-faicon-wheelchair:before{content:"\f193"}.um-faicon-vimeo-square:before{content:"\f194"}.um-faicon-try:before,.um-faicon-turkish-lira:before{content:"\f195"}.um-faicon-plus-square-o:before{content:"\f196"}.um-faicon-space-shuttle:before{content:"\f197"}.um-faicon-slack:before{content:"\f198"}.um-faicon-envelope-square:before{content:"\f199"}.um-faicon-wordpress:before{content:"\f19a"}.um-faicon-openid:before{content:"\f19b"}.um-faicon-bank:before,.um-faicon-institution:before,.um-faicon-university:before{content:"\f19c"}.um-faicon-graduation-cap:before,.um-faicon-mortar-board:before{content:"\f19d"}.um-faicon-yahoo:before{content:"\f19e"}.um-faicon-google:before{content:"\f1a0"}.um-faicon-reddit:before{content:"\f1a1"}.um-faicon-reddit-square:before{content:"\f1a2"}.um-faicon-stumbleupon-circle:before{content:"\f1a3"}.um-faicon-stumbleupon:before{content:"\f1a4"}.um-faicon-delicious:before{content:"\f1a5"}.um-faicon-digg:before{content:"\f1a6"}.um-faicon-pied-piper:before{content:"\f1a7"}.um-faicon-pied-piper-alt:before{content:"\f1a8"}.um-faicon-drupal:before{content:"\f1a9"}.um-faicon-joomla:before{content:"\f1aa"}.um-faicon-language:before{content:"\f1ab"}.um-faicon-fax:before{content:"\f1ac"}.um-faicon-building:before{content:"\f1ad"}.um-faicon-child:before{content:"\f1ae"}.um-faicon-paw:before{content:"\f1b0"}.um-faicon-spoon:before{content:"\f1b1"}.um-faicon-cube:before{content:"\f1b2"}.um-faicon-cubes:before{content:"\f1b3"}.um-faicon-behance:before{content:"\f1b4"}.um-faicon-behance-square:before{content:"\f1b5"}.um-faicon-steam:before{content:"\f1b6"}.um-faicon-steam-square:before{content:"\f1b7"}.um-faicon-recycle:before{content:"\f1b8"}.um-faicon-automobile:before,.um-faicon-car:before{content:"\f1b9"}.um-faicon-cab:before,.um-faicon-taxi:before{content:"\f1ba"}.um-faicon-tree:before{content:"\f1bb"}.um-faicon-spotify:before{content:"\f1bc"}.um-faicon-deviantart:before{content:"\f1bd"}.um-faicon-soundcloud:before{content:"\f1be"}.um-faicon-database:before{content:"\f1c0"}.um-faicon-file-pdf-o:before{content:"\f1c1"}.um-faicon-file-word-o:before{content:"\f1c2"}.um-faicon-file-excel-o:before{content:"\f1c3"}.um-faicon-file-powerpoint-o:before{content:"\f1c4"}.um-faicon-file-image-o:before,.um-faicon-file-photo-o:before,.um-faicon-file-picture-o:before{content:"\f1c5"}.um-faicon-file-archive-o:before,.um-faicon-file-zip-o:before{content:"\f1c6"}.um-faicon-file-audio-o:before,.um-faicon-file-sound-o:before{content:"\f1c7"}.um-faicon-file-movie-o:before,.um-faicon-file-video-o:before{content:"\f1c8"}.um-faicon-file-code-o:before{content:"\f1c9"}.um-faicon-vine:before{content:"\f1ca"}.um-faicon-codepen:before{content:"\f1cb"}.um-faicon-jsfiddle:before{content:"\f1cc"}.um-faicon-life-bouy:before,.um-faicon-life-buoy:before,.um-faicon-life-ring:before,.um-faicon-life-saver:before,.um-faicon-support:before{content:"\f1cd"}.um-faicon-circle-o-notch:before{content:"\f1ce"}.um-faicon-ra:before,.um-faicon-rebel:before{content:"\f1d0"}.um-faicon-empire:before,.um-faicon-ge:before{content:"\f1d1"}.um-faicon-git-square:before{content:"\f1d2"}.um-faicon-git:before{content:"\f1d3"}.um-faicon-hacker-news:before{content:"\f1d4"}.um-faicon-tencent-weibo:before{content:"\f1d5"}.um-faicon-qq:before{content:"\f1d6"}.um-faicon-wechat:before,.um-faicon-weixin:before{content:"\f1d7"}.um-faicon-paper-plane:before,.um-faicon-send:before{content:"\f1d8"}.um-faicon-paper-plane-o:before,.um-faicon-send-o:before{content:"\f1d9"}.um-faicon-history:before{content:"\f1da"}.um-faicon-circle-thin:before{content:"\f1db"}.um-faicon-header:before{content:"\f1dc"}.um-faicon-paragraph:before{content:"\f1dd"}.um-faicon-sliders:before{content:"\f1de"}.um-faicon-share-alt:before{content:"\f1e0"}.um-faicon-share-alt-square:before{content:"\f1e1"}.um-faicon-bomb:before{content:"\f1e2"}.um-faicon-futbol-o:before,.um-faicon-soccer-ball-o:before{content:"\f1e3"}.um-faicon-tty:before{content:"\f1e4"}.um-faicon-binoculars:before{content:"\f1e5"}.um-faicon-plug:before{content:"\f1e6"}.um-faicon-slideshare:before{content:"\f1e7"}.um-faicon-twitch:before{content:"\f1e8"}.um-faicon-yelp:before{content:"\f1e9"}.um-faicon-newspaper-o:before{content:"\f1ea"}.um-faicon-wifi:before{content:"\f1eb"}.um-faicon-calculator:before{content:"\f1ec"}.um-faicon-paypal:before{content:"\f1ed"}.um-faicon-google-wallet:before{content:"\f1ee"}.um-faicon-cc-visa:before{content:"\f1f0"}.um-faicon-cc-mastercard:before{content:"\f1f1"}.um-faicon-cc-discover:before{content:"\f1f2"}.um-faicon-cc-amex:before{content:"\f1f3"}.um-faicon-cc-paypal:before{content:"\f1f4"}.um-faicon-cc-stripe:before{content:"\f1f5"}.um-faicon-bell-slash:before{content:"\f1f6"}.um-faicon-bell-slash-o:before{content:"\f1f7"}.um-faicon-trash:before{content:"\f1f8"}.um-faicon-copyright:before{content:"\f1f9"}.um-faicon-at:before{content:"\f1fa"}.um-faicon-eyedropper:before{content:"\f1fb"}.um-faicon-paint-brush:before{content:"\f1fc"}.um-faicon-birthday-cake:before{content:"\f1fd"}.um-faicon-area-chart:before{content:"\f1fe"}.um-faicon-pie-chart:before{content:"\f200"}.um-faicon-line-chart:before{content:"\f201"}.um-faicon-lastfm:before{content:"\f202"}.um-faicon-lastfm-square:before{content:"\f203"}.um-faicon-toggle-off:before{content:"\f204"}.um-faicon-toggle-on:before{content:"\f205"}.um-faicon-bicycle:before{content:"\f206"}.um-faicon-bus:before{content:"\f207"}.um-faicon-ioxhost:before{content:"\f208"}.um-faicon-angellist:before{content:"\f209"}.um-faicon-cc:before{content:"\f20a"}.um-faicon-ils:before,.um-faicon-shekel:before,.um-faicon-sheqel:before{content:"\f20b"}.um-faicon-meanpath:before{content:"\f20c"}@font-face{font-family:Ionicons;src:url(../font/ionicons.eot?v=2.0.0);src:url(../font/ionicons.eot?v=2.0.0#iefix) format("embedded-opentype"),url(../font/ionicons.woff?v=2.0.0) format("woff"),url(../font/ionicons.ttf?v=2.0.0) format("truetype"),url(../font/ionicons.svg?v=2.0.0#Ionicons) format("svg");font-weight:400;font-style:normal}[class*=" um-icon-"]:before,[class^=um-icon-]:before{font-family:Ionicons!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-icon-alert:before{content:"\f101"}.um-icon-alert-circled:before{content:"\f100"}.um-icon-android-add:before{content:"\f2c7"}.um-icon-android-add-circle:before{content:"\f359"}.um-icon-android-alarm-clock:before{content:"\f35a"}.um-icon-android-alert:before{content:"\f35b"}.um-icon-android-apps:before{content:"\f35c"}.um-icon-android-archive:before{content:"\f2c9"}.um-icon-android-arrow-back:before{content:"\f2ca"}.um-icon-android-arrow-down:before{content:"\f35d"}.um-icon-android-arrow-dropdown:before{content:"\f35f"}.um-icon-android-arrow-dropdown-circle:before{content:"\f35e"}.um-icon-android-arrow-dropleft:before{content:"\f361"}.um-icon-android-arrow-dropleft-circle:before{content:"\f360"}.um-icon-android-arrow-dropright:before{content:"\f363"}.um-icon-android-arrow-dropright-circle:before{content:"\f362"}.um-icon-android-arrow-dropup:before{content:"\f365"}.um-icon-android-arrow-dropup-circle:before{content:"\f364"}.um-icon-android-arrow-forward:before{content:"\f30f"}.um-icon-android-arrow-up:before{content:"\f366"}.um-icon-android-attach:before{content:"\f367"}.um-icon-android-bar:before{content:"\f368"}.um-icon-android-bicycle:before{content:"\f369"}.um-icon-android-boat:before{content:"\f36a"}.um-icon-android-bookmark:before{content:"\f36b"}.um-icon-android-bulb:before{content:"\f36c"}.um-icon-android-bus:before{content:"\f36d"}.um-icon-android-calendar:before{content:"\f2d1"}.um-icon-android-call:before{content:"\f2d2"}.um-icon-android-camera:before{content:"\f2d3"}.um-icon-android-cancel:before{content:"\f36e"}.um-icon-android-car:before{content:"\f36f"}.um-icon-android-cart:before{content:"\f370"}.um-icon-android-chat:before{content:"\f2d4"}.um-icon-android-checkbox:before{content:"\f374"}.um-icon-android-checkbox-blank:before{content:"\f371"}.um-icon-android-checkbox-outline:before{content:"\f373"}.um-icon-android-checkbox-outline-blank:before{content:"\f372"}.um-icon-android-checkmark-circle:before{content:"\f375"}.um-icon-android-clipboard:before{content:"\f376"}.um-icon-android-close:before{content:"\f2d7"}.um-icon-android-cloud:before{content:"\f37a"}.um-icon-android-cloud-circle:before{content:"\f377"}.um-icon-android-cloud-done:before{content:"\f378"}.um-icon-android-cloud-outline:before{content:"\f379"}.um-icon-android-color-palette:before{content:"\f37b"}.um-icon-android-compass:before{content:"\f37c"}.um-icon-android-contact:before{content:"\f2d8"}.um-icon-android-contacts:before{content:"\f2d9"}.um-icon-android-contract:before{content:"\f37d"}.um-icon-android-create:before{content:"\f37e"}.um-icon-android-delete:before{content:"\f37f"}.um-icon-android-desktop:before{content:"\f380"}.um-icon-android-document:before{content:"\f381"}.um-icon-android-done:before{content:"\f383"}.um-icon-android-done-all:before{content:"\f382"}.um-icon-android-download:before{content:"\f2dd"}.um-icon-android-drafts:before{content:"\f384"}.um-icon-android-exit:before{content:"\f385"}.um-icon-android-expand:before{content:"\f386"}.um-icon-android-favorite:before{content:"\f388"}.um-icon-android-favorite-outline:before{content:"\f387"}.um-icon-android-film:before{content:"\f389"}.um-icon-android-folder:before{content:"\f2e0"}.um-icon-android-folder-open:before{content:"\f38a"}.um-icon-android-funnel:before{content:"\f38b"}.um-icon-android-globe:before{content:"\f38c"}.um-icon-android-hand:before{content:"\f2e3"}.um-icon-android-hangout:before{content:"\f38d"}.um-icon-android-happy:before{content:"\f38e"}.um-icon-android-home:before{content:"\f38f"}.um-icon-android-image:before{content:"\f2e4"}.um-icon-android-laptop:before{content:"\f390"}.um-icon-android-list:before{content:"\f391"}.um-icon-android-locate:before{content:"\f2e9"}.um-icon-android-lock:before{content:"\f392"}.um-icon-android-mail:before{content:"\f2eb"}.um-icon-android-map:before{content:"\f393"}.um-icon-android-menu:before{content:"\f394"}.um-icon-android-microphone:before{content:"\f2ec"}.um-icon-android-microphone-off:before{content:"\f395"}.um-icon-android-more-horizontal:before{content:"\f396"}.um-icon-android-more-vertical:before{content:"\f397"}.um-icon-android-navigate:before{content:"\f398"}.um-icon-android-notifications:before{content:"\f39b"}.um-icon-android-notifications-none:before{content:"\f399"}.um-icon-android-notifications-off:before{content:"\f39a"}.um-icon-android-open:before{content:"\f39c"}.um-icon-android-options:before{content:"\f39d"}.um-icon-android-people:before{content:"\f39e"}.um-icon-android-person:before{content:"\f3a0"}.um-icon-android-person-add:before{content:"\f39f"}.um-icon-android-phone-landscape:before{content:"\f3a1"}.um-icon-android-phone-portrait:before{content:"\f3a2"}.um-icon-android-pin:before{content:"\f3a3"}.um-icon-android-plane:before{content:"\f3a4"}.um-icon-android-playstore:before{content:"\f2f0"}.um-icon-android-print:before{content:"\f3a5"}.um-icon-android-radio-button-off:before{content:"\f3a6"}.um-icon-android-radio-button-on:before{content:"\f3a7"}.um-icon-android-refresh:before{content:"\f3a8"}.um-icon-android-remove:before{content:"\f2f4"}.um-icon-android-remove-circle:before{content:"\f3a9"}.um-icon-android-restaurant:before{content:"\f3aa"}.um-icon-android-sad:before{content:"\f3ab"}.um-icon-android-search:before{content:"\f2f5"}.um-icon-android-send:before{content:"\f2f6"}.um-icon-android-settings:before{content:"\f2f7"}.um-icon-android-share:before{content:"\f2f8"}.um-icon-android-share-alt:before{content:"\f3ac"}.um-icon-android-star:before{content:"\f2fc"}.um-icon-android-star-half:before{content:"\f3ad"}.um-icon-android-star-outline:before{content:"\f3ae"}.um-icon-android-stopwatch:before{content:"\f2fd"}.um-icon-android-subway:before{content:"\f3af"}.um-icon-android-sunny:before{content:"\f3b0"}.um-icon-android-sync:before{content:"\f3b1"}.um-icon-android-textsms:before{content:"\f3b2"}.um-icon-android-time:before{content:"\f3b3"}.um-icon-android-train:before{content:"\f3b4"}.um-icon-android-unlock:before{content:"\f3b5"}.um-icon-android-upload:before{content:"\f3b6"}.um-icon-android-volume-down:before{content:"\f3b7"}.um-icon-android-volume-mute:before{content:"\f3b8"}.um-icon-android-volume-off:before{content:"\f3b9"}.um-icon-android-volume-up:before{content:"\f3ba"}.um-icon-android-walk:before{content:"\f3bb"}.um-icon-android-warning:before{content:"\f3bc"}.um-icon-android-watch:before{content:"\f3bd"}.um-icon-android-wifi:before{content:"\f305"}.um-icon-aperture:before{content:"\f313"}.um-icon-archive:before{content:"\f102"}.um-icon-arrow-down-a:before{content:"\f103"}.um-icon-arrow-down-b:before{content:"\f104"}.um-icon-arrow-down-c:before{content:"\f105"}.um-icon-arrow-expand:before{content:"\f25e"}.um-icon-arrow-graph-down-left:before{content:"\f25f"}.um-icon-arrow-graph-down-right:before{content:"\f260"}.um-icon-arrow-graph-up-left:before{content:"\f261"}.um-icon-arrow-graph-up-right:before{content:"\f262"}.um-icon-arrow-left-a:before{content:"\f106"}.um-icon-arrow-left-b:before{content:"\f107"}.um-icon-arrow-left-c:before{content:"\f108"}.um-icon-arrow-move:before{content:"\f263"}.um-icon-arrow-resize:before{content:"\f264"}.um-icon-arrow-return-left:before{content:"\f265"}.um-icon-arrow-return-right:before{content:"\f266"}.um-icon-arrow-right-a:before{content:"\f109"}.um-icon-arrow-right-b:before{content:"\f10a"}.um-icon-arrow-right-c:before{content:"\f10b"}.um-icon-arrow-shrink:before{content:"\f267"}.um-icon-arrow-swap:before{content:"\f268"}.um-icon-arrow-up-a:before{content:"\f10c"}.um-icon-arrow-up-b:before{content:"\f10d"}.um-icon-arrow-up-c:before{content:"\f10e"}.um-icon-asterisk:before{content:"\f314"}.um-icon-at:before{content:"\f10f"}.um-icon-backspace:before{content:"\f3bf"}.um-icon-backspace-outline:before{content:"\f3be"}.um-icon-bag:before{content:"\f110"}.um-icon-battery-charging:before{content:"\f111"}.um-icon-battery-empty:before{content:"\f112"}.um-icon-battery-full:before{content:"\f113"}.um-icon-battery-half:before{content:"\f114"}.um-icon-battery-low:before{content:"\f115"}.um-icon-beaker:before{content:"\f269"}.um-icon-beer:before{content:"\f26a"}.um-icon-bluetooth:before{content:"\f116"}.um-icon-bonfire:before{content:"\f315"}.um-icon-bookmark:before{content:"\f26b"}.um-icon-bowtie:before{content:"\f3c0"}.um-icon-briefcase:before{content:"\f26c"}.um-icon-bug:before{content:"\f2be"}.um-icon-calculator:before{content:"\f26d"}.um-icon-calendar:before{content:"\f117"}.um-icon-camera:before{content:"\f118"}.um-icon-card:before{content:"\f119"}.um-icon-cash:before{content:"\f316"}.um-icon-chatbox:before{content:"\f11b"}.um-icon-chatbox-working:before{content:"\f11a"}.um-icon-chatboxes:before{content:"\f11c"}.um-icon-chatbubble:before{content:"\f11e"}.um-icon-chatbubble-working:before{content:"\f11d"}.um-icon-chatbubbles:before{content:"\f11f"}.um-icon-checkmark:before{content:"\f122"}.um-icon-checkmark-circled:before{content:"\f120"}.um-icon-checkmark-round:before{content:"\f121"}.um-icon-chevron-down:before{content:"\f123"}.um-icon-chevron-left:before{content:"\f124"}.um-icon-chevron-right:before{content:"\f125"}.um-icon-chevron-up:before{content:"\f126"}.um-icon-clipboard:before{content:"\f127"}.um-icon-clock:before{content:"\f26e"}.um-icon-close:before{content:"\f12a"}.um-icon-close-circled:before{content:"\f128"}.um-icon-close-round:before{content:"\f129"}.um-icon-closed-captioning:before{content:"\f317"}.um-icon-cloud:before{content:"\f12b"}.um-icon-code:before{content:"\f271"}.um-icon-code-download:before{content:"\f26f"}.um-icon-code-working:before{content:"\f270"}.um-icon-coffee:before{content:"\f272"}.um-icon-compass:before{content:"\f273"}.um-icon-compose:before{content:"\f12c"}.um-icon-connection-bars:before{content:"\f274"}.um-icon-contrast:before{content:"\f275"}.um-icon-crop:before{content:"\f3c1"}.um-icon-cube:before{content:"\f318"}.um-icon-disc:before{content:"\f12d"}.um-icon-document:before{content:"\f12f"}.um-icon-document-text:before{content:"\f12e"}.um-icon-drag:before{content:"\f130"}.um-icon-earth:before{content:"\f276"}.um-icon-easel:before{content:"\f3c2"}.um-icon-edit:before{content:"\f2bf"}.um-icon-egg:before{content:"\f277"}.um-icon-eject:before{content:"\f131"}.um-icon-email:before{content:"\f132"}.um-icon-email-unread:before{content:"\f3c3"}.um-icon-erlenmeyer-flask:before{content:"\f3c5"}.um-icon-erlenmeyer-flask-bubbles:before{content:"\f3c4"}.um-icon-eye:before{content:"\f133"}.um-icon-eye-disabled:before{content:"\f306"}.um-icon-female:before{content:"\f278"}.um-icon-filing:before{content:"\f134"}.um-icon-film-marker:before{content:"\f135"}.um-icon-fireball:before{content:"\f319"}.um-icon-flag:before{content:"\f279"}.um-icon-flame:before{content:"\f31a"}.um-icon-flash:before{content:"\f137"}.um-icon-flash-off:before{content:"\f136"}.um-icon-folder:before{content:"\f139"}.um-icon-fork:before{content:"\f27a"}.um-icon-fork-repo:before{content:"\f2c0"}.um-icon-forward:before{content:"\f13a"}.um-icon-funnel:before{content:"\f31b"}.um-icon-gear-a:before{content:"\f13d"}.um-icon-gear-b:before{content:"\f13e"}.um-icon-grid:before{content:"\f13f"}.um-icon-hammer:before{content:"\f27b"}.um-icon-happy:before{content:"\f31c"}.um-icon-happy-outline:before{content:"\f3c6"}.um-icon-headphone:before{content:"\f140"}.um-icon-heart:before{content:"\f141"}.um-icon-heart-broken:before{content:"\f31d"}.um-icon-help:before{content:"\f143"}.um-icon-help-buoy:before{content:"\f27c"}.um-icon-help-circled:before{content:"\f142"}.um-icon-home:before{content:"\f144"}.um-icon-icecream:before{content:"\f27d"}.um-icon-image:before{content:"\f147"}.um-icon-images:before{content:"\f148"}.um-icon-information:before{content:"\f14a"}.um-icon-information-circled:before{content:"\f149"}.um-icon-ionic:before{content:"\f14b"}.um-icon-ios-alarm:before{content:"\f3c8"}.um-icon-ios-alarm-outline:before{content:"\f3c7"}.um-icon-ios-albums:before{content:"\f3ca"}.um-icon-ios-albums-outline:before{content:"\f3c9"}.um-icon-ios-americanfootball:before{content:"\f3cc"}.um-icon-ios-americanfootball-outline:before{content:"\f3cb"}.um-icon-ios-analytics:before{content:"\f3ce"}.um-icon-ios-analytics-outline:before{content:"\f3cd"}.um-icon-ios-arrow-back:before{content:"\f3cf"}.um-icon-ios-arrow-down:before{content:"\f3d0"}.um-icon-ios-arrow-forward:before{content:"\f3d1"}.um-icon-ios-arrow-left:before{content:"\f3d2"}.um-icon-ios-arrow-right:before{content:"\f3d3"}.um-icon-ios-arrow-thin-down:before{content:"\f3d4"}.um-icon-ios-arrow-thin-left:before{content:"\f3d5"}.um-icon-ios-arrow-thin-right:before{content:"\f3d6"}.um-icon-ios-arrow-thin-up:before{content:"\f3d7"}.um-icon-ios-arrow-up:before{content:"\f3d8"}.um-icon-ios-at:before{content:"\f3da"}.um-icon-ios-at-outline:before{content:"\f3d9"}.um-icon-ios-barcode:before{content:"\f3dc"}.um-icon-ios-barcode-outline:before{content:"\f3db"}.um-icon-ios-baseball:before{content:"\f3de"}.um-icon-ios-baseball-outline:before{content:"\f3dd"}.um-icon-ios-basketball:before{content:"\f3e0"}.um-icon-ios-basketball-outline:before{content:"\f3df"}.um-icon-ios-bell:before{content:"\f3e2"}.um-icon-ios-bell-outline:before{content:"\f3e1"}.um-icon-ios-body:before{content:"\f3e4"}.um-icon-ios-body-outline:before{content:"\f3e3"}.um-icon-ios-bolt:before{content:"\f3e6"}.um-icon-ios-bolt-outline:before{content:"\f3e5"}.um-icon-ios-book:before{content:"\f3e8"}.um-icon-ios-book-outline:before{content:"\f3e7"}.um-icon-ios-bookmarks:before{content:"\f3ea"}.um-icon-ios-bookmarks-outline:before{content:"\f3e9"}.um-icon-ios-box:before{content:"\f3ec"}.um-icon-ios-box-outline:before{content:"\f3eb"}.um-icon-ios-briefcase:before{content:"\f3ee"}.um-icon-ios-briefcase-outline:before{content:"\f3ed"}.um-icon-ios-browsers:before{content:"\f3f0"}.um-icon-ios-browsers-outline:before{content:"\f3ef"}.um-icon-ios-calculator:before{content:"\f3f2"}.um-icon-ios-calculator-outline:before{content:"\f3f1"}.um-icon-ios-calendar:before{content:"\f3f4"}.um-icon-ios-calendar-outline:before{content:"\f3f3"}.um-icon-ios-camera:before{content:"\f3f6"}.um-icon-ios-camera-outline:before{content:"\f3f5"}.um-icon-ios-cart:before{content:"\f3f8"}.um-icon-ios-cart-outline:before{content:"\f3f7"}.um-icon-ios-chatboxes:before{content:"\f3fa"}.um-icon-ios-chatboxes-outline:before{content:"\f3f9"}.um-icon-ios-chatbubble:before{content:"\f3fc"}.um-icon-ios-chatbubble-outline:before{content:"\f3fb"}.um-icon-ios-checkmark:before{content:"\f3ff"}.um-icon-ios-checkmark-empty:before{content:"\f3fd"}.um-icon-ios-checkmark-outline:before{content:"\f3fe"}.um-icon-ios-circle-filled:before{content:"\f400"}.um-icon-ios-circle-outline:before{content:"\f401"}.um-icon-ios-clock:before{content:"\f403"}.um-icon-ios-clock-outline:before{content:"\f402"}.um-icon-ios-close:before{content:"\f406"}.um-icon-ios-close-empty:before{content:"\f404"}.um-icon-ios-close-outline:before{content:"\f405"}.um-icon-ios-cloud:before{content:"\f40c"}.um-icon-ios-cloud-download:before{content:"\f408"}.um-icon-ios-cloud-download-outline:before{content:"\f407"}.um-icon-ios-cloud-outline:before{content:"\f409"}.um-icon-ios-cloud-upload:before{content:"\f40b"}.um-icon-ios-cloud-upload-outline:before{content:"\f40a"}.um-icon-ios-cloudy:before{content:"\f410"}.um-icon-ios-cloudy-night:before{content:"\f40e"}.um-icon-ios-cloudy-night-outline:before{content:"\f40d"}.um-icon-ios-cloudy-outline:before{content:"\f40f"}.um-icon-ios-cog:before{content:"\f412"}.um-icon-ios-cog-outline:before{content:"\f411"}.um-icon-ios-color-filter:before{content:"\f414"}.um-icon-ios-color-filter-outline:before{content:"\f413"}.um-icon-ios-color-wand:before{content:"\f416"}.um-icon-ios-color-wand-outline:before{content:"\f415"}.um-icon-ios-compose:before{content:"\f418"}.um-icon-ios-compose-outline:before{content:"\f417"}.um-icon-ios-contact:before{content:"\f41a"}.um-icon-ios-contact-outline:before{content:"\f419"}.um-icon-ios-copy:before{content:"\f41c"}.um-icon-ios-copy-outline:before{content:"\f41b"}.um-icon-ios-crop:before{content:"\f41e"}.um-icon-ios-crop-strong:before{content:"\f41d"}.um-icon-ios-download:before{content:"\f420"}.um-icon-ios-download-outline:before{content:"\f41f"}.um-icon-ios-drag:before{content:"\f421"}.um-icon-ios-email:before{content:"\f423"}.um-icon-ios-email-outline:before{content:"\f422"}.um-icon-ios-eye:before{content:"\f425"}.um-icon-ios-eye-outline:before{content:"\f424"}.um-icon-ios-fastforward:before{content:"\f427"}.um-icon-ios-fastforward-outline:before{content:"\f426"}.um-icon-ios-filing:before{content:"\f429"}.um-icon-ios-filing-outline:before{content:"\f428"}.um-icon-ios-film:before{content:"\f42b"}.um-icon-ios-film-outline:before{content:"\f42a"}.um-icon-ios-flag:before{content:"\f42d"}.um-icon-ios-flag-outline:before{content:"\f42c"}.um-icon-ios-flame:before{content:"\f42f"}.um-icon-ios-flame-outline:before{content:"\f42e"}.um-icon-ios-flask:before{content:"\f431"}.um-icon-ios-flask-outline:before{content:"\f430"}.um-icon-ios-flower:before{content:"\f433"}.um-icon-ios-flower-outline:before{content:"\f432"}.um-icon-ios-folder:before{content:"\f435"}.um-icon-ios-folder-outline:before{content:"\f434"}.um-icon-ios-football:before{content:"\f437"}.um-icon-ios-football-outline:before{content:"\f436"}.um-icon-ios-game-controller-a:before{content:"\f439"}.um-icon-ios-game-controller-a-outline:before{content:"\f438"}.um-icon-ios-game-controller-b:before{content:"\f43b"}.um-icon-ios-game-controller-b-outline:before{content:"\f43a"}.um-icon-ios-gear:before{content:"\f43d"}.um-icon-ios-gear-outline:before{content:"\f43c"}.um-icon-ios-glasses:before{content:"\f43f"}.um-icon-ios-glasses-outline:before{content:"\f43e"}.um-icon-ios-grid-view:before{content:"\f441"}.um-icon-ios-grid-view-outline:before{content:"\f440"}.um-icon-ios-heart:before{content:"\f443"}.um-icon-ios-heart-outline:before{content:"\f442"}.um-icon-ios-help:before{content:"\f446"}.um-icon-ios-help-empty:before{content:"\f444"}.um-icon-ios-help-outline:before{content:"\f445"}.um-icon-ios-home:before{content:"\f448"}.um-icon-ios-home-outline:before{content:"\f447"}.um-icon-ios-infinite:before{content:"\f44a"}.um-icon-ios-infinite-outline:before{content:"\f449"}.um-icon-ios-information:before{content:"\f44d"}.um-icon-ios-information-empty:before{content:"\f44b"}.um-icon-ios-information-outline:before{content:"\f44c"}.um-icon-ios-ionic-outline:before{content:"\f44e"}.um-icon-ios-keypad:before{content:"\f450"}.um-icon-ios-keypad-outline:before{content:"\f44f"}.um-icon-ios-lightbulb:before{content:"\f452"}.um-icon-ios-lightbulb-outline:before{content:"\f451"}.um-icon-ios-list:before{content:"\f454"}.um-icon-ios-list-outline:before{content:"\f453"}.um-icon-ios-location:before{content:"\f456"}.um-icon-ios-location-outline:before{content:"\f455"}.um-icon-ios-locked:before{content:"\f458"}.um-icon-ios-locked-outline:before{content:"\f457"}.um-icon-ios-loop:before{content:"\f45a"}.um-icon-ios-loop-strong:before{content:"\f459"}.um-icon-ios-medical:before{content:"\f45c"}.um-icon-ios-medical-outline:before{content:"\f45b"}.um-icon-ios-medkit:before{content:"\f45e"}.um-icon-ios-medkit-outline:before{content:"\f45d"}.um-icon-ios-mic:before{content:"\f461"}.um-icon-ios-mic-off:before{content:"\f45f"}.um-icon-ios-mic-outline:before{content:"\f460"}.um-icon-ios-minus:before{content:"\f464"}.um-icon-ios-minus-empty:before{content:"\f462"}.um-icon-ios-minus-outline:before{content:"\f463"}.um-icon-ios-monitor:before{content:"\f466"}.um-icon-ios-monitor-outline:before{content:"\f465"}.um-icon-ios-moon:before{content:"\f468"}.um-icon-ios-moon-outline:before{content:"\f467"}.um-icon-ios-more:before{content:"\f46a"}.um-icon-ios-more-outline:before{content:"\f469"}.um-icon-ios-musical-note:before{content:"\f46b"}.um-icon-ios-musical-notes:before{content:"\f46c"}.um-icon-ios-navigate:before{content:"\f46e"}.um-icon-ios-navigate-outline:before{content:"\f46d"}.um-icon-ios-nutrition:before{content:"\f470"}.um-icon-ios-nutrition-outline:before{content:"\f46f"}.um-icon-ios-paper:before{content:"\f472"}.um-icon-ios-paper-outline:before{content:"\f471"}.um-icon-ios-paperplane:before{content:"\f474"}.um-icon-ios-paperplane-outline:before{content:"\f473"}.um-icon-ios-partlysunny:before{content:"\f476"}.um-icon-ios-partlysunny-outline:before{content:"\f475"}.um-icon-ios-pause:before{content:"\f478"}.um-icon-ios-pause-outline:before{content:"\f477"}.um-icon-ios-paw:before{content:"\f47a"}.um-icon-ios-paw-outline:before{content:"\f479"}.um-icon-ios-people:before{content:"\f47c"}.um-icon-ios-people-outline:before{content:"\f47b"}.um-icon-ios-person:before{content:"\f47e"}.um-icon-ios-person-outline:before{content:"\f47d"}.um-icon-ios-personadd:before{content:"\f480"}.um-icon-ios-personadd-outline:before{content:"\f47f"}.um-icon-ios-photos:before{content:"\f482"}.um-icon-ios-photos-outline:before{content:"\f481"}.um-icon-ios-pie:before{content:"\f484"}.um-icon-ios-pie-outline:before{content:"\f483"}.um-icon-ios-pint:before{content:"\f486"}.um-icon-ios-pint-outline:before{content:"\f485"}.um-icon-ios-play:before{content:"\f488"}.um-icon-ios-play-outline:before{content:"\f487"}.um-icon-ios-plus:before{content:"\f48b"}.um-icon-ios-plus-empty:before{content:"\f489"}.um-icon-ios-plus-outline:before{content:"\f48a"}.um-icon-ios-pricetag:before{content:"\f48d"}.um-icon-ios-pricetag-outline:before{content:"\f48c"}.um-icon-ios-pricetags:before{content:"\f48f"}.um-icon-ios-pricetags-outline:before{content:"\f48e"}.um-icon-ios-printer:before{content:"\f491"}.um-icon-ios-printer-outline:before{content:"\f490"}.um-icon-ios-pulse:before{content:"\f493"}.um-icon-ios-pulse-strong:before{content:"\f492"}.um-icon-ios-rainy:before{content:"\f495"}.um-icon-ios-rainy-outline:before{content:"\f494"}.um-icon-ios-recording:before{content:"\f497"}.um-icon-ios-recording-outline:before{content:"\f496"}.um-icon-ios-redo:before{content:"\f499"}.um-icon-ios-redo-outline:before{content:"\f498"}.um-icon-ios-refresh:before{content:"\f49c"}.um-icon-ios-refresh-empty:before{content:"\f49a"}.um-icon-ios-refresh-outline:before{content:"\f49b"}.um-icon-ios-reload:before{content:"\f49d"}.um-icon-ios-reverse-camera:before{content:"\f49f"}.um-icon-ios-reverse-camera-outline:before{content:"\f49e"}.um-icon-ios-rewind:before{content:"\f4a1"}.um-icon-ios-rewind-outline:before{content:"\f4a0"}.um-icon-ios-rose:before{content:"\f4a3"}.um-icon-ios-rose-outline:before{content:"\f4a2"}.um-icon-ios-search:before{content:"\f4a5"}.um-icon-ios-search-strong:before{content:"\f4a4"}.um-icon-ios-settings:before{content:"\f4a7"}.um-icon-ios-settings-strong:before{content:"\f4a6"}.um-icon-ios-shuffle:before{content:"\f4a9"}.um-icon-ios-shuffle-strong:before{content:"\f4a8"}.um-icon-ios-skipbackward:before{content:"\f4ab"}.um-icon-ios-skipbackward-outline:before{content:"\f4aa"}.um-icon-ios-skipforward:before{content:"\f4ad"}.um-icon-ios-skipforward-outline:before{content:"\f4ac"}.um-icon-ios-snowy:before{content:"\f4ae"}.um-icon-ios-speedometer:before{content:"\f4b0"}.um-icon-ios-speedometer-outline:before{content:"\f4af"}.um-icon-ios-star:before{content:"\f4b3"}.um-icon-ios-star-half:before{content:"\f4b1"}.um-icon-ios-star-outline:before{content:"\f4b2"}.um-icon-ios-stopwatch:before{content:"\f4b5"}.um-icon-ios-stopwatch-outline:before{content:"\f4b4"}.um-icon-ios-sunny:before{content:"\f4b7"}.um-icon-ios-sunny-outline:before{content:"\f4b6"}.um-icon-ios-telephone:before{content:"\f4b9"}.um-icon-ios-telephone-outline:before{content:"\f4b8"}.um-icon-ios-tennisball:before{content:"\f4bb"}.um-icon-ios-tennisball-outline:before{content:"\f4ba"}.um-icon-ios-thunderstorm:before{content:"\f4bd"}.um-icon-ios-thunderstorm-outline:before{content:"\f4bc"}.um-icon-ios-time:before{content:"\f4bf"}.um-icon-ios-time-outline:before{content:"\f4be"}.um-icon-ios-timer:before{content:"\f4c1"}.um-icon-ios-timer-outline:before{content:"\f4c0"}.um-icon-ios-toggle:before{content:"\f4c3"}.um-icon-ios-toggle-outline:before{content:"\f4c2"}.um-icon-ios-trash:before{content:"\f4c5"}.um-icon-ios-trash-outline:before{content:"\f4c4"}.um-icon-ios-undo:before{content:"\f4c7"}.um-icon-ios-undo-outline:before{content:"\f4c6"}.um-icon-ios-unlocked:before{content:"\f4c9"}.um-icon-ios-unlocked-outline:before{content:"\f4c8"}.um-icon-ios-upload:before{content:"\f4cb"}.um-icon-ios-upload-outline:before{content:"\f4ca"}.um-icon-ios-videocam:before{content:"\f4cd"}.um-icon-ios-videocam-outline:before{content:"\f4cc"}.um-icon-ios-volume-high:before{content:"\f4ce"}.um-icon-ios-volume-low:before{content:"\f4cf"}.um-icon-ios-wineglass:before{content:"\f4d1"}.um-icon-ios-wineglass-outline:before{content:"\f4d0"}.um-icon-ios-world:before{content:"\f4d3"}.um-icon-ios-world-outline:before{content:"\f4d2"}.um-icon-ipad:before{content:"\f1f9"}.um-icon-iphone:before{content:"\f1fa"}.um-icon-ipod:before{content:"\f1fb"}.um-icon-jet:before{content:"\f295"}.um-icon-key:before{content:"\f296"}.um-icon-knife:before{content:"\f297"}.um-icon-laptop:before{content:"\f1fc"}.um-icon-leaf:before{content:"\f1fd"}.um-icon-levels:before{content:"\f298"}.um-icon-lightbulb:before{content:"\f299"}.um-icon-link:before{content:"\f1fe"}.um-icon-load-a:before{content:"\f29a"}.um-icon-load-b:before{content:"\f29b"}.um-icon-load-c:before{content:"\f29c"}.um-icon-load-d:before{content:"\f29d"}.um-icon-location:before{content:"\f1ff"}.um-icon-lock-combination:before{content:"\f4d4"}.um-icon-locked:before{content:"\f200"}.um-icon-log-in:before{content:"\f29e"}.um-icon-log-out:before{content:"\f29f"}.um-icon-loop:before{content:"\f201"}.um-icon-magnet:before{content:"\f2a0"}.um-icon-male:before{content:"\f2a1"}.um-icon-man:before{content:"\f202"}.um-icon-map:before{content:"\f203"}.um-icon-medkit:before{content:"\f2a2"}.um-icon-merge:before{content:"\f33f"}.um-icon-mic-a:before{content:"\f204"}.um-icon-mic-b:before{content:"\f205"}.um-icon-mic-c:before{content:"\f206"}.um-icon-minus:before{content:"\f209"}.um-icon-minus-circled:before{content:"\f207"}.um-icon-minus-round:before{content:"\f208"}.um-icon-model-s:before{content:"\f2c1"}.um-icon-monitor:before{content:"\f20a"}.um-icon-more:before{content:"\f20b"}.um-icon-mouse:before{content:"\f340"}.um-icon-music-note:before{content:"\f20c"}.um-icon-navicon:before{content:"\f20e"}.um-icon-navicon-round:before{content:"\f20d"}.um-icon-navigate:before{content:"\f2a3"}.um-icon-network:before{content:"\f341"}.um-icon-no-smoking:before{content:"\f2c2"}.um-icon-nuclear:before{content:"\f2a4"}.um-icon-outlet:before{content:"\f342"}.um-icon-paintbrush:before{content:"\f4d5"}.um-icon-paintbucket:before{content:"\f4d6"}.um-icon-paper-airplane:before{content:"\f2c3"}.um-icon-paperclip:before{content:"\f20f"}.um-icon-pause:before{content:"\f210"}.um-icon-person:before{content:"\f213"}.um-icon-person-add:before{content:"\f211"}.um-icon-person-stalker:before{content:"\f212"}.um-icon-pie-graph:before{content:"\f2a5"}.um-icon-pin:before{content:"\f2a6"}.um-icon-pinpoint:before{content:"\f2a7"}.um-icon-pizza:before{content:"\f2a8"}.um-icon-plane:before{content:"\f214"}.um-icon-planet:before{content:"\f343"}.um-icon-play:before{content:"\f215"}.um-icon-playstation:before{content:"\f30a"}.um-icon-plus:before{content:"\f218"}.um-icon-plus-circled:before{content:"\f216"}.um-icon-plus-round:before{content:"\f217"}.um-icon-podium:before{content:"\f344"}.um-icon-pound:before{content:"\f219"}.um-icon-power:before{content:"\f2a9"}.um-icon-pricetag:before{content:"\f2aa"}.um-icon-pricetags:before{content:"\f2ab"}.um-icon-printer:before{content:"\f21a"}.um-icon-pull-request:before{content:"\f345"}.um-icon-qr-scanner:before{content:"\f346"}.um-icon-quote:before{content:"\f347"}.um-icon-radio-waves:before{content:"\f2ac"}.um-icon-record:before{content:"\f21b"}.um-icon-refresh:before{content:"\f21c"}.um-icon-reply:before{content:"\f21e"}.um-icon-reply-all:before{content:"\f21d"}.um-icon-ribbon-a:before{content:"\f348"}.um-icon-ribbon-b:before{content:"\f349"}.um-icon-sad:before{content:"\f34a"}.um-icon-sad-outline:before{content:"\f4d7"}.um-icon-scissors:before{content:"\f34b"}.um-icon-search:before{content:"\f21f"}.um-icon-settings:before{content:"\f2ad"}.um-icon-share:before{content:"\f220"}.um-icon-shuffle:before{content:"\f221"}.um-icon-skip-backward:before{content:"\f222"}.um-icon-skip-forward:before{content:"\f223"}.um-icon-social-android:before{content:"\f225"}.um-icon-social-android-outline:before{content:"\f224"}.um-icon-social-angular:before{content:"\f4d9"}.um-icon-social-angular-outline:before{content:"\f4d8"}.um-icon-social-apple:before{content:"\f227"}.um-icon-social-apple-outline:before{content:"\f226"}.um-icon-social-bitcoin:before{content:"\f2af"}.um-icon-social-bitcoin-outline:before{content:"\f2ae"}.um-icon-social-buffer:before{content:"\f229"}.um-icon-social-buffer-outline:before{content:"\f228"}.um-icon-social-chrome:before{content:"\f4db"}.um-icon-social-chrome-outline:before{content:"\f4da"}.um-icon-social-codepen:before{content:"\f4dd"}.um-icon-social-codepen-outline:before{content:"\f4dc"}.um-icon-social-css3:before{content:"\f4df"}.um-icon-social-css3-outline:before{content:"\f4de"}.um-icon-social-designernews:before{content:"\f22b"}.um-icon-social-designernews-outline:before{content:"\f22a"}.um-icon-social-dribbble:before{content:"\f22d"}.um-icon-social-dribbble-outline:before{content:"\f22c"}.um-icon-social-dropbox:before{content:"\f22f"}.um-icon-social-dropbox-outline:before{content:"\f22e"}.um-icon-social-euro:before{content:"\f4e1"}.um-icon-social-euro-outline:before{content:"\f4e0"}.um-icon-social-facebook:before{content:"\f231"}.um-icon-social-facebook-outline:before{content:"\f230"}.um-icon-social-foursquare:before{content:"\f34d"}.um-icon-social-foursquare-outline:before{content:"\f34c"}.um-icon-social-freebsd-devil:before{content:"\f2c4"}.um-icon-social-github:before{content:"\f233"}.um-icon-social-github-outline:before{content:"\f232"}.um-icon-social-google:before{content:"\f34f"}.um-icon-social-google-outline:before{content:"\f34e"}.um-icon-social-googleplus:before{content:"\f235"}.um-icon-social-googleplus-outline:before{content:"\f234"}.um-icon-social-hackernews:before{content:"\f237"}.um-icon-social-hackernews-outline:before{content:"\f236"}.um-icon-social-html5:before{content:"\f4e3"}.um-icon-social-html5-outline:before{content:"\f4e2"}.um-icon-social-instagram:before{content:"\f351"}.um-icon-social-instagram-outline:before{content:"\f350"}.um-icon-social-javascript:before{content:"\f4e5"}.um-icon-social-javascript-outline:before{content:"\f4e4"}.um-icon-social-linkedin:before{content:"\f239"}.um-icon-social-linkedin-outline:before{content:"\f238"}.um-icon-social-markdown:before{content:"\f4e6"}.um-icon-social-nodejs:before{content:"\f4e7"}.um-icon-social-octocat:before{content:"\f4e8"}.um-icon-social-pinterest:before{content:"\f2b1"}.um-icon-social-pinterest-outline:before{content:"\f2b0"}.um-icon-social-python:before{content:"\f4e9"}.um-icon-social-reddit:before{content:"\f23b"}.um-icon-social-reddit-outline:before{content:"\f23a"}.um-icon-social-rss:before{content:"\f23d"}.um-icon-social-rss-outline:before{content:"\f23c"}.um-icon-social-sass:before{content:"\f4ea"}.um-icon-social-skype:before{content:"\f23f"}.um-icon-social-skype-outline:before{content:"\f23e"}.um-icon-social-snapchat:before{content:"\f4ec"}.um-icon-social-snapchat-outline:before{content:"\f4eb"}.um-icon-social-tumblr:before{content:"\f241"}.um-icon-social-tumblr-outline:before{content:"\f240"}.um-icon-social-tux:before{content:"\f2c5"}.um-icon-social-twitch:before{content:"\f4ee"}.um-icon-social-twitch-outline:before{content:"\f4ed"}.um-icon-social-twitter:before{content:"\f243"}.um-icon-social-twitter-outline:before{content:"\f242"}.um-icon-social-usd:before{content:"\f353"}.um-icon-social-usd-outline:before{content:"\f352"}.um-icon-social-vimeo:before{content:"\f245"}.um-icon-social-vimeo-outline:before{content:"\f244"}.um-icon-social-whatsapp:before{content:"\f4f0"}.um-icon-social-whatsapp-outline:before{content:"\f4ef"}.um-icon-social-windows:before{content:"\f247"}.um-icon-social-windows-outline:before{content:"\f246"}.um-icon-social-wordpress:before{content:"\f249"}.um-icon-social-wordpress-outline:before{content:"\f248"}.um-icon-social-yahoo:before{content:"\f24b"}.um-icon-social-yahoo-outline:before{content:"\f24a"}.um-icon-social-yen:before{content:"\f4f2"}.um-icon-social-yen-outline:before{content:"\f4f1"}.um-icon-social-youtube:before{content:"\f24d"}.um-icon-social-youtube-outline:before{content:"\f24c"}.um-icon-soup-can:before{content:"\f4f4"}.um-icon-soup-can-outline:before{content:"\f4f3"}.um-icon-speakerphone:before{content:"\f2b2"}.um-icon-speedometer:before{content:"\f2b3"}.um-icon-spoon:before{content:"\f2b4"}.um-icon-star:before{content:"\f24e"}.um-icon-stats-bars:before{content:"\f2b5"}.um-icon-steam:before{content:"\f30b"}.um-icon-stop:before{content:"\f24f"}.um-icon-thermometer:before{content:"\f2b6"}.um-icon-thumbsdown:before{content:"\f250"}.um-icon-thumbsup:before{content:"\f251"}.um-icon-toggle:before{content:"\f355"}.um-icon-toggle-filled:before{content:"\f354"}.um-icon-transgender:before{content:"\f4f5"}.um-icon-trash-a:before{content:"\f252"}.um-icon-trash-b:before{content:"\f253"}.um-icon-trophy:before{content:"\f356"}.um-icon-tshirt:before{content:"\f4f7"}.um-icon-tshirt-outline:before{content:"\f4f6"}.um-icon-umbrella:before{content:"\f2b7"}.um-icon-university:before{content:"\f357"}.um-icon-unlocked:before{content:"\f254"}.um-icon-upload:before{content:"\f255"}.um-icon-usb:before{content:"\f2b8"}.um-icon-videocamera:before{content:"\f256"}.um-icon-volume-high:before{content:"\f257"}.um-icon-volume-low:before{content:"\f258"}.um-icon-volume-medium:before{content:"\f259"}.um-icon-volume-mute:before{content:"\f25a"}.um-icon-wand:before{content:"\f358"}.um-icon-waterdrop:before{content:"\f25b"}.um-icon-wifi:before{content:"\f25c"}.um-icon-wineglass:before{content:"\f2b9"}.um-icon-woman:before{content:"\f25d"}.um-icon-wrench:before{content:"\f2ba"}.um-icon-xbox:before{content:"\f30c"}.um{width:100%;text-align:left;box-sizing:border-box;color:#666;font-size:15px;margin-bottom:30px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;opacity:0}.um-s1,.um-s2{display:none}.um *,.um :after,.um :before{box-sizing:content-box}.um-account-side li a,.um-cover a,.um-field-value a,.um-header a,.um-member-less a,.um-member-more a,.um-member-name a,.um-member-photo a,.um-members a,.um-members-pagi a,.um-members-pagi span{border-bottom:0!important}.um a:focus,.um-modal a:focus{outline:0!important}.um a .image-overlay,.um a:hover .image-overlay,.um a:hover .image-overlay *{display:none!important;width:0!important;height:0!important;position:static!important}.um.um-in-admin{padding-top:0}.um.um-in-admin .um-tip{display:none!important}.um input,.um select,.um textarea{font-size:15px}.um *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-left{float:left}.um-right{float:right}.um-clear{clear:both}.um-center{text-align:center}.um-center .um-button{display:inline-block!important;width:auto!important;min-width:250px!important}.um-half{width:48%}.um-field-half{width:48%;float:left}.um-field-half.right{float:right}.um-field-tri{width:30%;float:left;margin-right:3%}.um img{box-shadow:none!important}.um-col{padding-bottom:20px}.um-col-alt{margin:0 0 5px}.um-col-alt-s{padding-top:10px}.um-col-alt-b{padding-top:20px}.um-col-121{float:left;width:48%}.um-col-122{float:right;width:48%}.um-col-131{float:left;width:30%}.um-col-132{float:left;width:30%;margin:0 5%}.um-col-133{float:left;width:30%}.um-raty i{font-size:26px}.um-field-half .um-raty i,.um-field-tri .um-raty i{font-size:21px}.um-button i{font-size:22px;width:22px;height:12px!important;display:inline-block;line-height:12px!important;vertical-align:middle!important;position:relative;top:-6px;margin-right:8px}.um-row-heading{padding:5px 0;font-size:16px}.um-row-heading i{font-size:24px;height:24px;line-height:24px;margin:0 12px 0 0;display:inline-block;width:30px;text-align:center}.um-row-heading i:before{vertical-align:middle!important}p.um-notice{width:auto;color:#fff;box-sizing:border-box;font-size:15px;padding:12px!important;margin:12px 0 0!important;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative}p.um-notice i{position:absolute;right:14px;font-size:36px;cursor:pointer;top:7px;display:block;height:30px;line-height:30px}p.um-notice.success{background:#7ACF58}p.um-notice.err{background:#C74A4A}p.um-notice.warning{background:#f9f9d1;color:#666;border:1px solid #efe4a2;padding:8px 15px!important}.um-field-error{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:20px!important;margin:12px 0 0}.um-field-error a{color:#fff!important;text-decoration:underline!important}.um-field-arrow{top:-17px;left:10px;position:absolute;z-index:900;color:#C74A4A;font-size:28px;line-height:1em!important}.um-error-block{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:1em!important;margin:12px 0 0}.um-tip{margin:0 0 0 8px;cursor:pointer;display:inline-block;position:relative;top:3px}.um-tip i{font-size:22px;height:22px;line-height:22px;display:block;position:relative}.um-tip-text{display:block;font-size:13px;line-height:15px;color:#999}.um-form button::-moz-focus-inner,.um-form input::-moz-focus-inner{border:0!important;padding:0!important}.um-field{position:relative;padding:15px 0 0}.um-field-b,.um-field-c{padding-top:0!important}.um-field.um-is-conditional{display:none}.um-field-label{display:block;margin:0 0 8px}.um-field-label .um-field-label-icon{float:left;margin:0 8px 0 0;height:22px;line-height:18px;display:inline-block;width:24px;text-align:center}.um-field-label .um-field-label-icon i{font-size:22px;position:relative;top:1px}.um-field-label label{font-size:15px!important;line-height:22px!important;font-weight:700;font-weight:600}.um-field-area{position:relative;word-wrap:break-word}.um-field-value p{margin:0 0 6px 0!important;padding:0}.um-field-block{color:#777;font-size:17px}.um-field-spacing{width:100%}.um-field-divider{width:100%;margin:0 0 12px;height:24px;position:relative}.um-field-divider-text{position:absolute;width:100%;text-align:center;bottom:-24px;left:0;font-size:16px;padding:10px 0}.um-field-divider-text span{background:#fff;color:#555;display:inline-block;padding:0 15px}.um-field-icon{position:absolute;cursor:default;text-align:center!important;top:2px;left:0;width:44px;font-size:22px;line-height:1.7em}.um-form input[type=password],.um-form input[type=text]{padding:0 12px!important;width:100%;display:block!important;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;cursor:text!important;font-size:15px!important;height:40px!important;box-sizing:border-box!important;box-shadow:none!important;margin:0!important;position:static;outline:0!important}.um-form input[type=password]:focus,.um-form input[type=text]:focus,.um-form textarea:focus{box-shadow:none!important;outline:0!important}.um-form input[type=password].um-iconed,.um-form input[type=text].um-iconed{padding-left:44px!important}.um-form input[type=password].um-error,.um-form input[type=text].um-error{border-color:#C74A4A!important}.um-form textarea{width:100%;padding:8px 12px!important;display:block;font-size:15px!important;line-height:22px!important;background:#fff;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-sizing:border-box;min-height:80px!important;box-shadow:none;outline:0!important}.um-field-c .um-field-checkbox{margin:0!important;position:relative;top:-14px}.um-field-checkbox,.um-field-radio{display:block;margin:8px 0;position:relative;cursor:pointer!important}.um-field-checkbox:hover i,.um-field-radio:hover i{color:#666}.um-field-checkbox input,.um-field-radio input{opacity:0!important;display:inline!important;width:0!important;float:left}.um-field-checkbox-state,.um-field-radio-state{position:absolute;top:0;left:1px;width:24px;height:24px}.um-field-checkbox-state i,.um-field-radio-state i{font-size:24px;line-height:24px;height:24px;color:#aaa;transition:all .2s linear}.um-field-checkbox-option,.um-field-radio-option{margin:0px 0px 0px 36px;line-height:24px;color:#888!important;display:block}.um-field-group{margin-top:20px}.um-field-group-head{cursor:pointer;color:#fff;font-size:16px;line-height:22px;padding:10px 20px;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0)!important;border-bottom:2px solid rgba(0,0,0,.1)!important}.um-field-group-head i{font-size:20px;margin:0 8px 0 0}.um-field-group-head i:before{vertical-align:middle!important}.um-field-group-body{display:none;margin:15px 0 0;padding:15px 20px 5px;background:#f9f9f9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative;box-sizing:border-box;width:100%}.um-field-group-body div.um-field{padding:0 0 15px}.um-field-group-cancel{font-size:18px;position:absolute;z-index:800;right:8px;top:8px;color:#ccc!important;text-decoration:none!important}.um-field-group-cancel:hover{color:#777!important}.um div.disabled,.um-disabled,.um input[type=submit]:disabled,.um input[type=text]:disabled{opacity:.6!important;cursor:no-drop!important}input[type=submit].um-button,input[type=submit].um-button:focus{vertical-align:middle!important;height:auto!important;font-size:15px;cursor:pointer!important;width:100%;box-shadow:none;text-shadow:none;font-family:inherit;outline:0!important;margin:0;opacity:1;-webkit-appearance:none}input[type=submit].um-button:hover{opacity:1}.um-button{font-size:15px;border:none!important;display:block;width:100%;line-height:1em!important;padding:16px 20px!important;text-decoration:none!important;text-align:center;text-transform:none!important;font-weight:400!important;overflow:hidden;position:relative;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0)!important;border-bottom:2px solid rgba(0,0,0,.1)!important;opacity:1}.um-button.um-btn-auto-width{width:auto;display:inline-block;padding:14px 20px!important;min-width:200px;max-width:450px}a.um-link-alt{line-height:22px;color:#888!important;display:block!important;text-decoration:none!important;font-weight:400;text-align:center;border-bottom:none!important}a.um-link-alt:hover{text-decoration:underline!important}.um-dropdown{position:absolute;height:auto;background:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;z-index:10;display:none;border:1px solid #e5e5e5;box-sizing:border-box;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1);box-shadow:0 0 1px rgba(0,0,0,.1)}.um-dropdown li,.um-dropdown ul{list-style-type:none!important;padding:0!important;margin:0!important}.um-dropdown li a{display:block;padding:8px 12px;color:#666;font-size:14px;line-height:18px}.um-dropdown li:last-child a{border-top:1px solid #e5e5e5;padding:12px}.um-dropdown-b{position:relative}.um-dropdown-arr{position:absolute;font-size:24px;width:24px;height:24px;overflow:hidden;z-index:15;color:#eee}.um-dropdown-arr *{display:block!important;width:24px!important;height:24px!important;vertical-align:bottom!important;overflow:hidden!important;line-height:24px!important}div.um-photo{margin:20px auto 0;text-align:center;box-sizing:border-box;max-width:100%}div.um-photo,div.um-photo a,div.um-photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.um-photo a{border:1px solid #e5e5e5;padding:5px;box-sizing:border-box;display:inline-block;box-shadow:0 1px 1px #eee;margin:0 auto;max-width:100%}div.um-photo img{max-height:300px;max-width:100%}span.um-req{margin:0 0 0 8px;font-size:14px;display:inline-block}.picker{font-size:16px;text-align:left;line-height:1.2;color:#fff;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;-webkit-transition:background .15s ease-out,top 0s .15s;-moz-transition:background .15s ease-out,top 0s .15s;transition:background .15s ease-out,top 0s .15s}.picker__frame{position:absolute;margin:0 auto;min-width:256px;max-width:400px;width:100%;-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}@media (min-height:33.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:15%!important}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:33.875em){.picker__wrap{display:block}}.picker__box{display:table-cell;vertical-align:middle}@media (min-height:33.875em){.picker__box{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}@media (min-height:40.125em){.picker__box{border-bottom-width:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}.picker--opened .picker__holder{top:0;zoom:1;background:rgba(0,0,0,.7);-webkit-transition:background .15s ease-out;-moz-transition:background .15s ease-out;transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:33.875em){.picker--opened .picker__frame{top:auto;bottom:0}}.picker__header{text-align:center;position:relative;margin-top:.75em;border-radius:2px 2px 0 0;padding:15px 0;font-size:18px}.picker__month,.picker__year{display:inline-block;margin-left:10px;margin-right:10px}.picker__select--month,.picker__select--year{margin-left:.25em;margin-right:.25em;font-size:16px;color:#999;background:#fff!important;outline:0!important;border:0!important}@media (min-width:24.5em){.picker__select--month,.picker__select--year{margin-top:-.5em}}.picker__select--month{width:35%}.picker__select--year{width:22.5%}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;box-sizing:content-box!important;top:8px;color:#fff}.picker__nav--prev{left:0;padding-right:1.25em}@media (min-width:24.5em){.picker__nav--prev{padding-right:1.5em}}.picker__nav--next{right:0;padding-left:1.25em}@media (min-width:24.5em){.picker__nav--next{padding-left:1.5em}}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.5em solid #fff;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.5em solid #fff}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#fff}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:0 0}.picker__table{text-align:center;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:inherit;width:100%;margin-top:5px;border:none;margin-bottom:0}.picker__table td{margin:0;padding:0 10px;text-align:center;border:0}.picker__weekday{width:14.285714286%;color:#fff;text-align:center;padding:5px 0!important}.picker__day{padding:10px 0;line-height:1em!important}.picker__day--today{position:relative}.picker__day--outfocus{opacity:.75}.picker__day--infocus:hover,.picker__day--outfocus:hover{border-radius:2px;cursor:pointer}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{border-radius:2px}.picker__day--disabled,.picker__day--disabled:hover{cursor:default;background:transparent!important;opacity:.3}.picker__footer{text-align:center;height:50px!important;line-height:50px!important;margin-top:5px;border-radius:0 0 2px 2px}.picker__button--clear,.picker__button--today{width:50%;display:inline-block;background:none!important;box-shadow:none!important;border:0!important;outline:0!important;box-sizing:border-box!important}.picker__button--clear:focus,.picker__button--clear:hover,.picker__button--today:focus,.picker__button--today:hover{cursor:pointer}.picker__list{list-style:none;list-style:none!important;padding:5px!important;margin:0!important}.picker__list-item{position:relative;border-radius:2px;display:inline-block;width:25%;text-align:center;box-sizing:border-box;padding:6px 0!important;margin:5px 0!important}.picker__list-item:hover{cursor:pointer;z-index:10}.picker__list-item--highlighted{z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;font-weight:700}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{color:#a9e792;cursor:default;background:0 0;z-index:auto}.picker--time .picker__button--clear{width:100%;display:inline-block;box-shadow:none!important;border:0!important;outline:0!important;background:none!important;border-radius:0 0 2px 2px;color:#fff!important}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{cursor:pointer}.picker--time .picker__frame{min-width:256px;max-width:400px}.picker--time .picker__box{font-size:15px;padding:0;border-radius:2px!important}@media (min-height:40.125em){.picker--time .picker__frame{margin-bottom:10%!important}}.um-members img{display:block;overflow:hidden;-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important;margin:0!important;padding:0!important}.um-members a,.um-members a:hover{text-decoration:none!important}.um-members-intro{text-align:center;margin:0 0 20px}.um-members-total{font-size:30px;font-weight:300}.um-members-none{text-align:center;font-size:18px}.um-search{text-align:center;padding:20px 50px}.um-search.um-search-2{padding-left:20%;padding-right:20%;width:100%;box-sizing:border-box}.um-search.um-search-1{padding-left:32%;padding-right:32%;width:100%;box-sizing:border-box}.um-search.um-search-1 .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 10px!important}.um-search.um-search-1 .um-search-filter{width:100%;padding:0 0 10px;float:none}.um-search.um-search-2 .um-search-filter{width:50%}.um-search-filter{padding:0 15px 30px;display:block;float:left;width:33%;box-sizing:border-box}.um-search-submit .um-button{display:inline-block!important;width:auto!important;padding:12px 20px!important;margin:0 10px!important;min-width:150px!important}.um-members{-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-member{float:left;width:30%;background:#fff;text-align:center;border:1px solid #eee;box-sizing:border-box;margin-bottom:40px;position:relative}.um-member.awaiting_admin_review,.um-member.inactive,.um-member.rejected{opacity:.7}.um-member-status{display:none}.um-member-status.awaiting_admin_review,.um-member-status.inactive,.um-member-status.rejected{display:block;position:absolute;top:0;left:0;width:100%;padding:7px 15px;background:#C74A4A;color:#fff;z-index:10;font-size:13px;box-sizing:border-box}.um-member-status.inactive,.um-member-status.rejected{background:#999}.um-gutter-sizer{width:5%}.um-member-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-member-cover-e{text-align:center;box-sizing:border-box}.um-member-cover-e img{width:100%!important}.um-member-photo{padding:40px 0 20px;text-align:center}.um-member-photo a{display:inline!important}.um-member-photo img{display:inline!important;border:5px solid #fff;background:#fff;width:140px;height:140px;float:none!important}.um-member.with-cover .um-member-photo{padding-top:0}.um-member.with-cover .um-member-photo img{width:90px;height:90px;position:relative;top:-35px;margin-bottom:-45px!important;float:none!important;opacity:1}.um-member-photo.radius-1 img{-moz-border-radius:999px!important;-webkit-border-radius:999px!important;border-radius:999px!important}.um-member-photo.radius-2 img{-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important}.um-member-photo.radius-3 img{-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important}.um-member-card.no-photo{padding-top:30px}.um-member-card{padding-bottom:15px}.um-member-name{margin:0 0 4px}.um-member-name a{font-size:16px;line-height:26px;color:#444;font-weight:700}.um-member-tagline{font-size:13px;line-height:22px;color:#999;padding:0 15px}.um-member-less{display:none}.um-member-less a,.um-member-more a{color:#666;display:inline-block}.um-member-less i,.um-member-more i{display:block;font-size:32px;height:32px;line-height:32px}.um-member-meta{display:none;margin:20px 15px 0;padding:15px 0;border-top:1px solid #e5e5e5}.um-member-meta.no-animate{display:block}.um-member-metaline{font-size:13px;padding:12px 0 0;line-height:16px;vertical-align:middle}.um-member-metaline span{display:block;text-align:center}.um-member-connect{padding-top:20px}.um-member-connect a{display:inline-block;width:40px;line-height:40px;height:40px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;color:#fff!important;opacity:.85;margin:0 1px;font-size:22px;transition:.25s}.um-member-connect a:hover{opacity:1;color:#fff}.um-members-pagi,.um-members-pagidrop{text-align:center;padding:5px 0;font-size:15px}.um-members-pagi span.current,.um-members-pagi span.current:hover{color:#fff!important}.um-members-pagi i:before{font-size:20px;vertical-align:middle!important;height:34px;line-height:34px;top:-2px;position:relative}.um-members-pagi span.disabled{opacity:.4;cursor:default}.um-members-pagi span.none{color:#aaa!important}.um-members-pagi span{cursor:default}.um-members-pagi a,.um-members-pagi span{display:inline-block;width:auto;height:34px;line-height:34px;transition:all .2s linear;padding:0 14px;color:#666!important;font-weight:400}.um-members-pagi a:hover{text-decoration:none!important}.um-popup-overlay{background:rgba(0,0,0,0.7);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-popup *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;top:10%;margin-left:-250px;width:500px;background:#fff;box-shadow:0 1px 3px #111;z-index:1999993;box-sizing:border-box;overflow:auto;color:#888;padding:0!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup.loading{background:#fff url(../img/loading.gif) no-repeat center;min-height:100px}.um-popup a{outline:none!important}.um-modal-overlay{background:rgba(0,0,0,0.85);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-modal *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-modal-hidden-content{display:none}.um-modal-close{display:block;position:fixed;right:0;top:0;font-size:24px;text-decoration:none!important;color:#fff!important;padding:0 10px}.um-modal{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;display:none;z-index:1999993;box-sizing:border-box;bottom:-50px}.um-modal.normal{width:500px;margin-left:-250px}.um-modal.large{width:730px;margin-left:-365px}.um-modal.small{width:400px;margin-left:-200px}.um-modal-body{min-height:3px;padding:20px;box-sizing:border-box;width:100%;background:#fff;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.um-modal-body.photo{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,0.1),0px 0 0 1px rgba(255,255,255,0.12) inset;background:#888;padding:0}.um-modal-body.photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;display:block;overflow:hidden;opacity:0}.um-modal.loading .um-modal-body{background:#fff url(../img/loading.gif) no-repeat center;min-height:150px}.um-modal div.um{margin-bottom:20px!important}.um-modal-header{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;height:44px;line-height:44px;color:#fff;padding:0 20px;box-sizing:border-box;font-size:17px}.um-modal-footer{margin-top:20px}.um-modal-left{float:left}.um-modal-right{float:right}.um-modal-btn.disabled,.um-modal-btn.disabled:hover{opacity:.5;cursor:default!important}.um-modal-btn{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;text-align:center;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s;text-decoration:none!important}.um-modal-btn:hover{background:#44b0ec;color:#fff}.um-modal-btn.alt{color:#666;background:#eee}.um-modal-btn.alt:hover{background:#e5e5e5}.um-profile{box-sizing:border-box}.um-profile .um-cover-overlay{display:none}.um-profile.um-editing .um-cover.has-cover .um-cover-overlay{display:block}.um-profile.um-viewing .um-profile-photo-overlay{display:none}.um-profile img{display:block;overflow:hidden;border-radius:0;margin:0!important}.um-profile a,.um-profile a:hover{text-decoration:none!important}.um-profile .um-profile-body{padding-top:15px;padding-bottom:15px;max-width:600px;margin:auto}.um-profile.um-editing{padding-bottom:15px}.um-profile.um-viewing{padding-bottom:1px}.um-profile.um-viewing .um-field-label{display:block;margin:0 0 8px;border-bottom:solid 2px #eee;padding-bottom:4px}.um-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-cover-add{color:#aaa;font-size:36px;width:100%;display:table}.um-cover-add span{display:table-cell;vertical-align:middle}.um-cover-e{text-align:center;box-sizing:border-box}.um-cover-e img{width:100%!important}.um-cover-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0 40px;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-cover-overlay:hover{background:rgba(0,0,0,.55)}.um-cover-overlay span.um-cover-overlay-s{display:table;height:100%;width:100%}.um-cover-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-cover-overlay i{font-size:46px;display:block;margin-bottom:6px}.um-header{position:relative;padding:0 0 25px;border-bottom:solid 2px #eee;min-height:85px;box-sizing:content-box!important}.um-profile-edit{position:absolute;top:15px;right:0;vertical-align:middle;font-size:30px;height:30px;line-height:30px;z-index:66;padding-right:10px}.um-header.no-cover .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important}.um-header.no-cover .um-name{float:none!important;margin-right:0!important}.um-header.no-cover .um-profile-photo{float:none!important;margin:0 auto!important;text-align:center!important}.um-header.no-cover a.um-profile-photo-img{position:relative!important;top:auto!important;left:auto!important;float:none!important;display:inline-block!important;text-align:center!important}.um-header.no-cover .um-main-meta{padding:0}.um-profile .gravatar{position:static}.um-profile-photo{float:left;position:relative}.um-profile-photo a.um-profile-photo-img{float:left;position:absolute;background:#fff;padding:5px;left:30px}.um-profile-photo a.um-profile-photo-img img{width:100%;height:100%}.um-profile-photo-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-profile-photo-overlay:hover{background:rgba(0,0,0,.55)}.um-profile-photo-overlay span.um-profile-photo-overlay-s{display:table;height:100%;width:100%}.um-profile-photo-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-profile-photo-overlay i{font-size:46px;display:block}.um-profile-meta{padding-right:30px;-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-main-meta{padding:10px 0 0}.um-name{float:left;font-size:24px;font-weight:700;margin-right:30px;line-height:1.7em}.um-meta{font-size:15px}.um-meta span a{font-weight:400}.um-meta span:first-child{margin:0 5px 0 0}.um-meta span{margin:0 5px;font-size:14px;display:inline-block}.um-meta span i{font-size:16px;margin:0 5px 0 0}.um-meta-text{margin:6px 0 0;color:#666}.um-meta-text p{margin:0 0 6px 0!important;padding:0!important}.um-profile-status{display:none}.um-profile-status.awaiting_admin_review,.um-profile-status.inactive,.um-profile-status.rejected{display:inline-block;margin:6px 0 0;border-left:3px solid #C74A4A;padding-left:10px;font-size:14px;color:#777}.um-profile-note{display:none;text-align:center;padding-top:20px;color:#666}.um-profile-note i{display:inline-block;font-size:70px;height:70px;line-height:70px}.um-profile-note i.um-faicon-lock{position:relative;top:2px;display:inline-block;font-size:24px;height:auto;line-height:24px;margin-right:10px}.um-profile-note span{margin-top:10px;display:block;font-size:16px;color:#888}.um-profile-note a{border:none!important}.um-profile-note a:hover{text-decoration:underline!important}.um-profile-nav{padding:10px;background:#444;text-align:center}.um-profile-nav-item.active a,.um-profile-nav-item.active a:hover{color:#FFF!important}.um-profile-nav-item.active a span.count{background:0 0;padding:4px 0;color:#fff}.um-profile-nav-item a{color:#fff!important;font-size:14px;font-weight:600;padding:6px 10px 6px 28px;display:block;float:left;border-radius:4px;margin-left:5px;position:relative;border-bottom:0!important}.um-profile-nav-item.without-icon a{padding-left:10px}.um-profile-nav-item.without-icon span.title{padding-left:0}.um-profile-nav-item.without-icon i{display:none}.um-profile-nav-item a:hover{background:#555}.um-profile-nav-item i{font-size:18px;height:18px;line-height:18px;position:absolute;display:block;top:8px;left:10px}.um-profile-nav-item span.title{padding-left:5px}.um-profile-nav-item span.count{font-size:12px;font-weight:300;background:#ddd;color:#666;border-radius:3px;padding:4px 8px;margin-left:3px}.um-profile-subnav{background:#eee;padding:15px;text-align:center}.um-profile-subnav a{display:inline-block;color:#555;font-size:15px;font-weight:600;margin:0 20px;border-bottom:0!important}.um-profile-subnav a:hover{color:#333}.um-profile-subnav span{display:inline-block;margin:0 0 0 8px;background:#ddd;padding:1px 8px;color:#aaa!important;border-radius:2px}.um-item{padding:20px 0;border-bottom:1px solid #eee;position:relative}.um-item-action{position:absolute;right:0;top:16px;width:20px;height:20px;font-size:20px;text-align:center}.um-item-action a{color:#ccc}.um-item-action a:hover{color:#999}.um-item-link{padding-right:40px}.um-item-link a{color:#333;font-size:16px;line-height:20px}.um-item-link a:hover{text-decoration:underline!important}.um-item-link i{font-size:24px;color:#666;margin-right:10px;position:relative;top:3px}.um-item-img{padding:10px 0 0}.um-item-img a{display:inline-block;padding:8px;border-radius:3px;border:1px solid #ddd}.um-item-img a:hover{border-color:#bbb}.um-item-img img{max-width:100%;border-radius:3px}.um-item-meta{color:#888}.um-item-meta span{font-size:13px;font-weight:400;font-style:italic}.um-item-meta span:not(:last-child):after{position:relative;padding:0 4px 0 7px;content:"•"}.um-item-meta a{font-weight:700;border-bottom:1px solid #E0E0E0}.um-item-meta a:hover{border-bottom-color:#bbb}.um-load-items{text-align:center;margin-top:12px;padding-top:30px}.um-load-items.loading{background:url(../img/loading-dots.gif) no-repeat top center}.um-load-items a{max-width:250px;display:inline-block;margin:0 auto}.um-tab-notifier{position:absolute;background:none repeat scroll 0 0 #c65151;right:0;top:0;width:18px;height:18px;border-radius:999px;line-height:18px;top:2px;right:8px;font-size:11px;font-weight:400}@font-face{font-family:raty;font-style:normal;font-weight:400;src:url(../font/raty.eot);src:url(../font/raty.eot?#iefix) format("embedded-opentype");src:url(../font/raty.svg#raty) format("svg");src:url(../font/raty.ttf) format("truetype");src:url(../font/raty.woff) format("woff")}.cancel-off-png,.cancel-on-png,.star-half-png,.star-off-png,.star-on-png{font-family:raty;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-right:.2em;color:#ccc}.star-half-png,.star-on-png{color:#ffbe32}.cancel-on-png:before{content:"\e600"}.cancel-off-png:before{content:"\e601"}.star-on-png:before{content:"\f005"}.star-off-png:before{content:"\f006"}.star-half-png:before{content:"\f123"}.select2-container{margin:0!important;position:relative!important;display:inline-block!important;zoom:1!important;*display:inline!important;vertical-align:middle!important}.select2-container a:hover{color:#666!important}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block!important;height:36px!important;padding:0 0 0 12px!important;overflow:hidden!important;position:relative!important;white-space:nowrap!important;line-height:35px!important;color:#666!important;font-size:15px!important;text-align:left!important;text-decoration:none!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#fff!important}.select2-container.select2-drop-above .select2-choice{-moz-border-radius:0 0 2px 2px!important;-webkit-border-radius:0 0 2px 2px!important;border-radius:0 0 2px 2px!important}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px!important;display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;float:none!important;width:auto!important;font-weight:400}.select2-container .select2-choice abbr{display:none;width:20px!important;height:100%!important;right:24px!important;font-size:1px!important;text-decoration:none!important;border:0!important;background:none!important;cursor:pointer!important;outline:0!important}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block!important}.select2-container .select2-choice abbr:hover{cursor:pointer!important}.select2-drop-mask{border:0!important;margin:0!important;padding:0!important;position:fixed!important;left:0!important;top:0!important;min-height:100%!important;min-width:100%!important;height:auto!important;width:auto!important;opacity:0!important;z-index:1999997!important;background-color:#fff!important;filter:alpha(opacity=0)!important}.select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:1999998!important;top:100%;background:#fff;color:#666;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;box-shadow:none}.select2-drop.select2-drop-above{margin-top:1px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;box-shadow:none}.select2-drop-active{box-shadow:none!important}.select2-drop-auto-width{width:auto!important}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block!important;width:34px!important;height:100%!important;position:absolute!important;right:0!important;top:0!important;-moz-border-radius:0 2px 2px 0!important;-webkit-border-radius:0 2px 2px 0!important;border-radius:0 2px 2px 0!important;text-align:center!important;background:transparent!important;border-left:0!important}.select2-container .select2-choice .select2-arrow *{line-height:100%!important;vertical-align:middle!important}.select2-container .select2-choice .select2-arrow b{display:block!important;width:100%!important;height:100%!important;background:none!important}.select2-container .select2-choice .select2-arrow:before{content:"\f3d0"!important;font-size:27px!important;font-family:Ionicons!important;width:100%!important;display:block;height:100%;line-height:36px}.select2-container .select2-choice .select2-arrow:hover:before{color:#666!important}.select2-search{display:inline-block!important;width:100%!important;min-height:32px!important;height:32px!important;line-height:1em!important;margin:0!important;padding-left:4px!important;padding-right:4px!important;position:relative!important;z-index:1999999!important;white-space:nowrap!important}.select2-search input[type=text]{background:none!important;width:100%!important;height:32px!important;line-height:auto!important;padding:0 38px 0 7px!important;margin:0!important;outline:0!important;border:1px solid #ddd!important;color:#666!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;font-size:15px!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;box-shadow:none!important}.select2-search:before{content:"\f4a4"!important;font-size:20px!important;height:32px!important;line-height:32px!important;font-family:Ionicons!important;top:0!important;right:10px!important;position:absolute!important}.select2-drop .select2-search{margin-top:4px!important}.select2-search input.select2-active{background:#fff!important}.select2-container-active .select2-choice,.select2-container-active .select2-choices{outline:0!important;box-shadow:none!important}.select2-dropdown-open .select2-choice{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.select2-dropdown-open .select2-choice .select2-arrow{background:transparent!important;filter:none!important;border-color:transparent!important}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:0 0 0 5px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0)}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none;font-size:15px;margin:0!important;padding:3px 0!important;color:#666!important}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700!important}.select2-results .select2-result-label{padding:3px 7px 4px!important;margin:0!important;cursor:pointer;min-height:1em!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:none!important;background:#f4f4f4!important;color:#666!important}.select2-results li em{background:#feffde!important;font-style:normal!important}.select2-results .select2-highlighted em{background:transparent!important}.select2-results .select2-highlighted ul{background:#fff!important;color:#666!important}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4!important;display:list-item!important;padding:5px!important;font-size:15px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results .select2-disabled .select2-result-label,.select2-results .select2-disabled.select2-highlighted .select2-result-label{color:#bbb!important;background:#fff!important;display:list-item!important;cursor:default!important}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:#f4f4f4!important}.select2-more-results{background:#f4f4f4!important;display:list-item!important}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4!important;background-image:none!important;border:1px solid #ddd!important;cursor:default!important}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background:none!important;background:#f9f9f9!important;border-left:0!important}.select2-container.select2-container-disabled .select2-choice abbr{display:none!important}.select2-container-multi .select2-choices{height:auto!important;height:1%!important;margin:0!important;padding:1px 3px!important;position:relative!important;cursor:text!important;overflow:hidden!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;box-shadow:none!important}.select2-locked{padding:3px 5px!important}.select2-container-multi .select2-choices{min-height:26px;background-image:none!important}.select2-container-multi.select2-container-active .select2-choices{outline:0;box-shadow:none}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:5px!important;margin:3px 0!important;font-size:100%;height:auto!important;outline:0;border:0!important;-webkit-box-shadow:none;box-shadow:none;background:transparent!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:#fff!important}.select2-container-multi .select2-choices .select2-search-choice{padding:4px 20px 4px 5px!important;margin:6px 0 4px 5px!important;position:relative;line-height:14px;font-size:14px;color:#666;cursor:default;border:1px solid #ddd;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:none!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#f9f9f9!important}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin-left:0;margin-right:5px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#f1f1f1}.select2-search-choice-close{position:absolute!important;width:18px!important;height:18px!important;right:0!important;top:0!important;left:auto!important;outline:0!important;background:none!important}.select2-search-choice-close:before{content:"\f2d7"!important;font-size:22px!important;font-family:Ionicons!important;right:4px!important;position:relative!important;display:block;height:100%;width:100%;line-height:36px}.select2-search-choice-close:hover:before{color:#666!important}.select2-container-multi .select2-search-choice-close{text-decoration:none!important;width:21px!important;height:100%!important;text-align:center!important;border-bottom:0!important}.select2-container-multi .select2-search-choice-close:before{font-size:16px!important;right:0!important;line-height:23px!important}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}.tipsy{padding:5px;position:absolute;z-index:9999999999!important}.tipsy-inner{font-size:13px!important;line-height:17px!important;background-color:#333!important;color:#fff!important;max-width:250px!important;padding:6px 10px!important;text-align:left!important;word-wrap:break-word!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.tipsy-arrow{position:absolute!important;width:0!important;height:0!important;line-height:0!important;border:5px dashed #333}.tipsy-arrow-n{border-bottom-color:#333!important}.tipsy-arrow-s{border-top-color:#333!important}.tipsy-arrow-e{border-left-color:#333!important}.tipsy-arrow-w{border-right-color:#333!important}.tipsy-n .tipsy-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-nw .tipsy-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-sw .tipsy-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-se .tipsy-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-e .tipsy-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.tipsy-w .tipsy-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.um-account p.um-notice{margin:0 0 20px 0!important;padding:12px 15px!important}.um-account a:focus{outline:0!important}.um-account-side{float:left;width:35%;padding:0 30px;box-sizing:border-box}.um-account-main{float:left;width:50%;padding:0 30px;box-sizing:border-box}.um-account-main a{border-bottom:none!important}.um-account-tab{display:none}.um-account-main div.um-account-heading{margin:0!important;font-size:18px;line-height:18px;font-weight:700;color:#555}.um-account-main div.um-account-heading i{margin-right:10px;font-size:26px;position:relative;top:2px}.um-account-main p{margin:20px 0 0!important;padding:0!important}.um-account-main label{font-size:15px}.um-account-meta{text-align:center;margin-bottom:20px}.um-account-meta img{margin:0!important;position:static!important;float:none!important;display:inline-block}.um-account-meta.radius-1 img{-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px}.um-account-meta.radius-2 img{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.um-account-meta.radius-3 img{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-account-name a{font-weight:700;color:#555!important;text-decoration:none!important;font-size:18px;line-height:2em}.um-account-nav a{display:block;height:44px;line-height:44px;color:#666!important;text-decoration:none!important;position:relative;padding-left:40px;border-bottom:1px solid #eee!important;transition:all .2s linear;font-size:14px}.um-account-nav a.current{font-weight:700}.um-account-nav span.arr{position:absolute;right:0;top:1px;font-size:28px}.um-account-nav span.ico{position:absolute;left:0;top:0;font-size:21px;width:21px;text-align:center}.um-account-side li,.um-account-side ul{margin:0!important;padding:0!important;list-style-type:none!important}.um-account-side li{margin-bottom:1px!important;background:#eee}.um-account-side li a{display:block;padding:4px 0;font-size:14px;height:30px;line-height:20px;color:#999;position:relative}.um-account-side li a span.um-account-arrow{position:absolute;right:10px;top:6px;font-size:26px;opacity:0.6}.um-account-side li a span.um-account-icon,.um-account-side li a.current span.um-account-icon,.um-account-side li a.current:hover span.um-account-icon{text-align:center;font-size:20px;width:20px;height:30px;border-right:1px solid #ccc;color:#444;float:left;padding:0 15px;font-weight:400!important}.um-account-side li a span.um-account-icon i{display:block;height:30px;line-height:30px}.um-account-side li a span.um-account-title{padding-left:20px;float:left;height:30px;line-height:30px;color:#555}.um-account-side li a:hover{color:#444;background:#ddd}.um-account-side li a.current,.um-account-side li a.current:hover{color:#444;font-weight:700;text-decoration:none!important}.cropper-container{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.cropper-container img{width:100%;height:100%;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important}.cropper-canvas,.cropper-modal{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-canvas{background-color:#fff;opacity:0;filter:alpha(opacity=0)}.cropper-modal{background-color:#000;opacity:.5;filter:alpha(opacity=50)}.cropper-dragger{position:absolute;top:10%;left:10%;width:80%;height:80%}.cropper-viewer{display:block;width:100%;height:100%;overflow:hidden;outline-width:1px;outline-style:solid;outline-color:#69f;outline-color:rgba(51,102,255,.75)}.cropper-dashed{position:absolute;display:block;border:0 dashed #fff;opacity:.5;filter:alpha(opacity=50)}.cropper-dashed.dashed-h{top:33.3%;left:0;width:100%;height:33.3%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.3%;width:33.3%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;opacity:.1;filter:alpha(opacity=10)}.cropper-face{top:0;left:0;cursor:move;background-color:#fff}.cropper-line{background-color:#69f}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;background-color:#69f;opacity:.75;filter:alpha(opacity=75)}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;opacity:1;filter:alpha(opacity=100)}.cropper-point.point-se:before{position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;content:" ";background-color:#69f;opacity:0;filter:alpha(opacity=0)}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}}.cropper-hidden{display:none!important}.cropper-invisible{position:fixed;top:0;left:0;z-index:-1;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;opacity:0;filter:alpha(opacity=0)}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-canvas,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.um .um-single-file-preview,.um .um-single-image-preview{margin-bottom:20px}.um .um-single-image-preview>img{max-height:300px;display:inline-block;overflow:hidden;margin:auto;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.um-single-file-preview,.um-single-image-preview{display:none;text-align:center;position:relative}.um-single-file-preview.show,.um-single-image-preview.show{display:block}.um-single-image-preview>img{max-width:100%;max-height:inherit}.um-single-file-preview a.cancel,.um-single-image-preview a.cancel{position:absolute;top:-15px;right:-15px;width:30px;height:30px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;background:#ddd;cursor:pointer;text-decoration:none!important;z-index:666;opacity:.75}.um-single-file-preview a.cancel i,.um-single-image-preview a.cancel i{font-size:16px;color:#888;position:relative;display:block;width:100%;height:100%;line-height:30px;overflow:hidden}.um-single-file-preview a.cancel i:before,.um-single-image-preview a.cancel i:before{line-height:inherit}.um-single-fileinfo{padding:26px 0 20px;display:inline-block}.um-single-fileinfo span.icon{font-size:40px;display:inline-block;width:100px;height:70px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#666;color:#fff!important}.um-single-fileinfo span.icon i{display:block;height:70px;line-height:70px;overflow:hidden}.um-single-fileinfo span.icon i:before{line-height:inherit}.um-single-fileinfo span.filename{display:block;font-size:16px;color:#888;padding-top:5px}.um-single-fileinfo a{text-decoration:none!important;opacity:.9}.um-single-fileinfo a:hover{opacity:1}.upload-statusbar{margin:20px 0 0}.upload-filename{display:none!important}.upload-progress{position:relative;width:100%;box-sizing:border-box}.upload-bar{width:0;height:10px;color:#666;background:#7ACF58;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ajax-upload-dragdrop{width:100%;text-align:center;vertical-align:middle;padding:20px;box-sizing:border-box;border:2px dashed #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;font-size:18px;line-height:1em}.ajax-upload-dragdrop span.str{display:block;margin:0 0 15px}.ajax-upload-dragdrop span.icon{display:block;font-size:80px;line-height:80px;vertical-align:middle;margin-bottom:10px}.ajax-upload-dragdrop span.help{display:block;font-size:14px;color:#aaa;margin:0 0 12px}.upload{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;text-decoration:none;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s}.upload:hover{background:#44b0ec}.um-modal input[type=file]::-webkit-file-upload-button{cursor:pointer}.uimob340-show,.uimob500-show,.uimob800-show,.uimob960-show{display:none}div.uimob340 .uimob340-show,div.uimob500 .uimob500-show,div.uimob800 .uimob800-show,div.uimob960 .uimob960-show{display:block}div.uimob340 .uimob340-hide,div.uimob500 .uimob500-hide,div.uimob800 .uimob800-hide,div.uimob960 .uimob960-hide{display:none}div.uimob340 .um-item-link a{font-size:14px}div.uimob340 .um-item-meta span{font-size:13px}div.uimob340 .um-load-items a{width:100%!important;max-width:100%!important}div.uimob340 .um-profile-nav{padding:0}div.uimob340 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob340 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto}div.uimob340 .um-profile-subnav{padding:8px 15px}div.uimob340 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob340 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob340 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob340 .um-cover-overlay{padding:0}div.uimob340 .um-cover-overlay i,div.uimob340 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob340{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob340,.um-modal.uimob340 .um-modal-body,.um-modal.uimob340 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob340 .um-modal-header{text-align:center}.um-modal.uimob340 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob340 .um-modal-right{width:100%;float:none}.um-modal.uimob340 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob340 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob340 .um-profile-body{padding-left:0;padding-right:0}div.uimob340 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob340 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob340 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob340 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob340 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob340 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob340 .um-header .um-name{float:none!important;margin-right:0!important;font-size:18px}div.uimob340 .um-header .um-meta,div.uimob340 .um-header .um-meta-text{padding:0 20px}div.uimob340 .um-header .um-meta span:first-child{display:block}div.uimob340 .um-header .um-meta span{display:none}div.uimob340 .um-col-121,div.uimob340 .um-col-122,div.uimob340 .um-col-131,div.uimob340 .um-col-132,div.uimob340 .um-col-133{float:none;width:100%;margin:0}div.uimob340 .um-field-half{float:none;width:100%}div.uimob340 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob340 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob340 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob340 .um-member{width:100%}div.uimob340 .um-gutter-sizer{width:0}div.uimob340 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob340 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob340 .um-account-meta{margin-bottom:0}.uimob340 .um-half{float:none;width:100%;margin:0 0 10px}.uimob340 .um-button.um-btn-auto-width{min-width:auto;max-width:auto;width:100%}.uimob340 .um-col-alt-s{padding-top:0}div.uimob500 .um-profile-nav{padding:0}div.uimob500 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob500 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:22px;height:22px;line-height:22px}div.uimob500 .um-profile-subnav{padding:8px 15px}div.uimob500 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob500 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob500 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob500 .um-cover-overlay{padding:0}div.uimob500 .um-cover-overlay i,div.uimob500 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob500{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob500,.um-modal.uimob500 .um-modal-body,.um-modal.uimob500 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob500 .um-modal-header{text-align:center}.um-modal.uimob500 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob500 .um-modal-right{width:100%;float:none}.um-modal.uimob500 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob500 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob500 .um-profile-body{padding-left:0;padding-right:0}div.uimob500 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob500 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob500 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob500 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob500 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob500 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob500 .um-header .um-name{float:none!important;margin-right:0!important;font-size:21px}div.uimob500 .um-header .um-meta,div.uimob500 .um-header .um-meta-text{padding:0 20px}div.uimob500 .um-header .um-meta span:first-child{display:block}div.uimob500 .um-header .um-meta span{display:none}div.uimob500 .um-col-121,div.uimob500 .um-col-122,div.uimob500 .um-col-131,div.uimob500 .um-col-132,div.uimob500 .um-col-133{float:none;width:100%;margin:0}div.uimob500 .um-field-half{float:none;width:100%}div.uimob500 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob500 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob500 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob500 .um-member{width:100%}div.uimob500 .um-gutter-sizer{width:0}div.uimob500 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob500 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob500 .um-account-meta{margin-bottom:0}div.uimob800 .um-profile-nav{padding:0}div.uimob800 .um-profile-nav-item a{padding:10px 20px;margin-left:0;border-radius:0}div.uimob800 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:26px;height:26px;line-height:26px}div.uimob800 .um-profile-subnav{padding:8px 15px}div.uimob800 .um-profile-subnav a{display:block;text-align:left;font-size:14px;margin:0;padding:6px 0}div.uimob800 .um-profile-subnav span{font-size:12px;padding:2px 8px}div.uimob800 .um-account-main{width:90%;max-width:450px}div.uimob800 .um-account-side{padding:0;width:10%}div.uimob800 .um-account-side ul{border:1px solid #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.uimob800 .um-account-side li{margin-bottom:0!important;background:0 0}div.uimob800 .um-account-side li a{display:block;padding:0!important;height:44px;line-height:44px;color:#666!important;text-align:center;text-decoration:none!important;background:0 0;transition:all .2s linear}div.uimob800 .um-account-side li:first-child a{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}div.uimob800 .um-account-side li:last-child a{-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}div.uimob800 .um-account-side li a span.um-account-icontip{display:block;float:left;text-align:center;width:100%;height:100%;font-size:22px;line-height:44px}div.uimob800 .um-account-side li a span.um-account-icontip i{position:relative;text-align:center;width:100%}div.uimob800 .um-account-side li a.current,div.uimob800 .um-account-side li a.current:hover{color:#fff!important}div.uimob800 .um-account-meta a{border:1px solid #ddd}div.uimob800 .um-account-meta a,div.uimob800 .um-account-meta img{display:block;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;max-width:100%;height:auto}div.uimob800 .um-profile-photo{width:200px!important}div.uimob800 .um-profile-photo a.um-profile-photo-img{width:140px!important;height:140px!important;top:-70px!important}div.uimob800 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{top:auto!important}div.uimob800 .um-header .um-profile-meta{padding-left:200px}div.uimob800 .um-cover-overlay{padding:0}div.uimob800 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob800 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob800 .um-search .um-search-filter-2{margin-left:4%}div.uimob800 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob800 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob800 .um-member{width:48%}div.uimob800 .um-gutter-sizer{width:4%}div.uimob960 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob960 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob960 .um-search .um-search-filter-2{margin-left:4%}div.uimob960 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob960 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob960 .um-member{width:48%}div.uimob960 .um-gutter-sizer{width:4%}@media screen and (max-height:400px){.ajax-upload-dragdrop span.icon{display:none}.um-modal.no-photo{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.no-photo,.um-modal.no-photo .um-modal-body,.um-modal.no-photo .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.no-photo .um-modal-header{text-align:center;font-size:14px}.um-modal.no-photo .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.no-photo .um-modal-right{width:100%;float:none}.um-modal.no-photo .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}}@media screen and (max-height:300px){.ajax-upload-dragdrop span.icon,.ajax-upload-dragdrop span.str,.um-modal.no-photo .um-modal-header{display:none}}@media screen and (max-width:600px){.um-popup{width:96%;margin-left:2%;left:0;top:15px}}
|
1 |
+
@-webkit-keyframes um-effect-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes um-effect-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}.um-effect-pop{-webkit-animation-name:um-effect-pop;animation-name:um-effect-pop;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}.um-locked-content{width:100%;box-sizing:border-box;border:2px dotted #cc3000;color:#333;background:#fff;font-size:14px;padding:20px;border-radius:4px;margin-bottom:20px}.um-locked-content a{border:none!important}.um-youtube,.um-vimeo,.um-googlemap{position:relative;height:0;overflow:hidden}.um-youtube{padding-bottom:56.25%}.um-vimeo{padding-bottom:56.25%}.um-googlemap{padding-bottom:75%}.um-youtube iframe,.um-vimeo iframe,.um-googlemap iframe{position:absolute;top:0;left:0;width:100%!important;height:100%!important}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.mCustomScrollbar{-ms-touch-action:none;touch-action:none}.mCustomScrollbar.mCS_no_scrollbar{-ms-touch-action:auto;touch-action:auto}.mCustomScrollBox{position:relative;overflow:hidden;height:100%;max-width:100%;outline:none;direction:ltr}.mCSB_container{overflow:hidden;width:auto;height:auto}.mCSB_inside>.mCSB_container{margin-right:0}.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container{margin-right:0;margin-left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-left:0}.mCSB_scrollTools{position:absolute;width:16px;height:auto;left:auto;top:0;right:0;bottom:0}.mCSB_outside+.mCSB_scrollTools{right:-26px}.mCS-dir-rtl>.mCSB_inside>.mCSB_scrollTools,.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{right:auto;left:0}.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{left:-26px}.mCSB_scrollTools .mCSB_draggerContainer{position:absolute;top:0;left:0;bottom:0;right:0;height:auto}.mCSB_scrollTools a+.mCSB_draggerContainer{margin:20px 0}.mCSB_scrollTools .mCSB_draggerRail{width:2px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCSB_scrollTools .mCSB_dragger{cursor:pointer;width:100%;height:30px;z-index:1}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{position:relative;width:4px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;text-align:center}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:12px}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:8px}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown{display:block;position:absolute;height:20px;width:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools .mCSB_buttonDown{bottom:0}.mCSB_horizontal.mCSB_inside>.mCSB_container{margin-right:0;margin-bottom:30px}.mCSB_horizontal.mCSB_outside>.mCSB_container{min-height:100%}.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal{width:auto;height:16px;top:auto;right:0;bottom:0;left:0}.mCustomScrollBox+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:-26px}.mCSB_scrollTools.mCSB_scrollTools_horizontal a+.mCSB_draggerContainer{margin:0 20px}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:2px;margin:7px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger{width:30px;height:100%;left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:12px;margin:2px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:8px;margin:4px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{display:block;position:absolute;width:20px;height:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft{left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{right:0}.mCSB_container_wrapper{position:absolute;height:auto;width:auto;overflow:hidden;top:0;left:0;right:0;bottom:0;margin-right:30px;margin-bottom:30px}.mCSB_container_wrapper>.mCSB_container{padding-right:30px;padding-bottom:30px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:20px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:20px}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden+.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:0}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:20px}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal{left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container_wrapper{margin-right:0;margin-left:30px}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container{padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container{padding-bottom:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0;margin-left:0}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools,.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail{-webkit-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:0;filter:"alpha(opacity=0)";-ms-filter:"alpha(opacity=0)"}.mCustomScrollbar>.mCustomScrollBox>.mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollbar>.mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollBox:hover>.mCSB_scrollTools,.mCustomScrollBox:hover ~ .mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:1;filter:"alpha(opacity=100)";-ms-filter:"alpha(opacity=100)"}.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.4);filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75);filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85);filter:"alpha(opacity=85)";-ms-filter:"alpha(opacity=85)"}.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9);filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{background-image:url(mCSB_buttons.png);background-repeat:no-repeat;opacity:.4;filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_buttonUp:hover,.mCSB_scrollTools .mCSB_buttonDown:hover,.mCSB_scrollTools .mCSB_buttonLeft:hover,.mCSB_scrollTools .mCSB_buttonRight:hover{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_buttonUp:active,.mCSB_scrollTools .mCSB_buttonDown:active,.mCSB_scrollTools .mCSB_buttonLeft:active,.mCSB_scrollTools .mCSB_buttonRight:active{opacity:.9;filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCS-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.85)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.9)}.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px 0}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:6px;margin:5px auto}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.1)}.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:2px}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:2px;margin:7px auto}.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.15)}.mCS-rounded.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger{height:14px}.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:14px;margin:0 1px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:14px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:14px;margin:1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:16px;height:16px;margin:-1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:4px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:16px;width:16px;margin:0 -1px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:4px;margin:6px 0}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail{width:4px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{background-color:transparent;background-position:center}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==");background-repeat:repeat-y;opacity:.3;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{height:4px;margin:6px 0;background-repeat:repeat-x}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=")}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-y;background-image:-moz-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,right top,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to right,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-x;background-image:-moz-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to bottom,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:70px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:70px}.mCS-3d.mCSB_scrollTools,.mCS-3d-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{width:8px;background-color:#000;background-color:rgba(0,0,0,0.2);box-shadow:inset 1px 0 1px rgba(0,0,0,0.5),inset -1px 0 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:8px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:8px;margin:4px 0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.5),inset 0 -1px 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:8px;margin:4px auto}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);box-shadow:inset 1px 0 1px rgba(0,0,0,0.1)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mCSB_inside+.mCS-3d-thick.mCSB_scrollTools_vertical,.mCSB_inside+.mCS-3d-thick-dark.mCSB_scrollTools_vertical{right:1px}.mCS-3d-thick.mCSB_scrollTools_vertical,.mCS-3d-thick-dark.mCSB_scrollTools_vertical{box-shadow:inset 1px 0 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools_horizontal,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{bottom:1px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4);width:12px;margin:2px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:12px;width:auto}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{background-color:#000;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick-dark.mCSB_scrollTools{box-shadow:inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4),inset -1px 0 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4),inset 0 -1px 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#777}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{background-color:#fff;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{right:0;margin:12px 0}.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:0;margin:0 12px}.mCS-dir-rtl>.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCS-dir-rtl>.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{left:0;right:auto}.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:50px}.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:50px}.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{width:6px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px}.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:6px;margin:5px 0}.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:12px}.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:12px;margin:2px 0}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:rgba(0,0,0,0.1)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{background-color:rgba(0,0,0,0.1)}.mCS-inset.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{width:12px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;margin:3px 5px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:6px;margin:5px 3px;position:absolute;width:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:12px;margin:2px 0}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1)}.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent;border-width:1px;border-style:solid;border-color:#fff;border-color:rgba(255,255,255,0.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{border-color:#000;border-color:rgba(0,0,0,0.2)}.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.6)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.6)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}
|
2 |
+
.um-login.um-logout{max-width:300px!important}.um-misc-with-img{position:relative;font-size:15px;border-bottom:3px solid #eee;text-align:center;margin-bottom:14px;padding-top:4px;padding-bottom:14px}.um-misc-img{text-align:center}.um-misc-img img{border-radius:999px;height:auto!important;display:inline-block!important}.um-misc-ul,.um-misc-ul li{font-size:14px}.um-profile-connect.um-member-connect{padding:5px 0 10px}.um-profile-connect.um-member-connect a{text-align:center;width:36px;line-height:36px;height:36px;font-size:20px}@charset "UTF-8";@font-face{font-family:FontAwesome;src:url(../font/fontawesome-webfont.eot?v=4.2.0);src:url(../font/fontawesome-webfont.eot?v=4.2.0#iefix) format("embedded-opentype"),url(../font/fontawesome-webfont.woff?v=4.2.0) format("woff"),url(../font/fontawesome-webfont.ttf?v=4.2.0) format("truetype"),url(../font/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}[class*=" um-faicon-"]:before,[class^=um-faicon-]:before{font-family:FontAwesome!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-faicon-glass:before{content:"\f000"}.um-faicon-music:before{content:"\f001"}.um-faicon-search:before{content:"\f002"}.um-faicon-envelope-o:before{content:"\f003"}.um-faicon-heart:before{content:"\f004"}.um-faicon-star:before{content:"\f005"}.um-faicon-star-o:before{content:"\f006"}.um-faicon-user:before{content:"\f007"}.um-faicon-film:before{content:"\f008"}.um-faicon-th-large:before{content:"\f009"}.um-faicon-th:before{content:"\f00a"}.um-faicon-th-list:before{content:"\f00b"}.um-faicon-check:before{content:"\f00c"}.um-faicon-close:before,.um-faicon-remove:before,.um-faicon-times:before{content:"\f00d"}.um-faicon-search-plus:before{content:"\f00e"}.um-faicon-search-minus:before{content:"\f010"}.um-faicon-power-off:before{content:"\f011"}.um-faicon-signal:before{content:"\f012"}.um-faicon-cog:before,.um-faicon-gear:before{content:"\f013"}.um-faicon-trash-o:before{content:"\f014"}.um-faicon-home:before{content:"\f015"}.um-faicon-file-o:before{content:"\f016"}.um-faicon-clock-o:before{content:"\f017"}.um-faicon-road:before{content:"\f018"}.um-faicon-download:before{content:"\f019"}.um-faicon-arrow-circle-o-down:before{content:"\f01a"}.um-faicon-arrow-circle-o-up:before{content:"\f01b"}.um-faicon-inbox:before{content:"\f01c"}.um-faicon-play-circle-o:before{content:"\f01d"}.um-faicon-repeat:before,.um-faicon-rotate-right:before{content:"\f01e"}.um-faicon-refresh:before{content:"\f021"}.um-faicon-list-alt:before{content:"\f022"}.um-faicon-lock:before{content:"\f023"}.um-faicon-flag:before{content:"\f024"}.um-faicon-headphones:before{content:"\f025"}.um-faicon-volume-off:before{content:"\f026"}.um-faicon-volume-down:before{content:"\f027"}.um-faicon-volume-up:before{content:"\f028"}.um-faicon-qrcode:before{content:"\f029"}.um-faicon-barcode:before{content:"\f02a"}.um-faicon-tag:before{content:"\f02b"}.um-faicon-tags:before{content:"\f02c"}.um-faicon-book:before{content:"\f02d"}.um-faicon-bookmark:before{content:"\f02e"}.um-faicon-print:before{content:"\f02f"}.um-faicon-camera:before{content:"\f030"}.um-faicon-font:before{content:"\f031"}.um-faicon-bold:before{content:"\f032"}.um-faicon-italic:before{content:"\f033"}.um-faicon-text-height:before{content:"\f034"}.um-faicon-text-width:before{content:"\f035"}.um-faicon-align-left:before{content:"\f036"}.um-faicon-align-center:before{content:"\f037"}.um-faicon-align-right:before{content:"\f038"}.um-faicon-align-justify:before{content:"\f039"}.um-faicon-list:before{content:"\f03a"}.um-faicon-dedent:before,.um-faicon-outdent:before{content:"\f03b"}.um-faicon-indent:before{content:"\f03c"}.um-faicon-video-camera:before{content:"\f03d"}.um-faicon-image:before,.um-faicon-photo:before,.um-faicon-picture-o:before{content:"\f03e"}.um-faicon-pencil:before{content:"\f040"}.um-faicon-map-marker:before{content:"\f041"}.um-faicon-adjust:before{content:"\f042"}.um-faicon-tint:before{content:"\f043"}.um-faicon-edit:before,.um-faicon-pencil-square-o:before{content:"\f044"}.um-faicon-share-square-o:before{content:"\f045"}.um-faicon-check-square-o:before{content:"\f046"}.um-faicon-arrows:before{content:"\f047"}.um-faicon-step-backward:before{content:"\f048"}.um-faicon-fast-backward:before{content:"\f049"}.um-faicon-backward:before{content:"\f04a"}.um-faicon-play:before{content:"\f04b"}.um-faicon-pause:before{content:"\f04c"}.um-faicon-stop:before{content:"\f04d"}.um-faicon-forward:before{content:"\f04e"}.um-faicon-fast-forward:before{content:"\f050"}.um-faicon-step-forward:before{content:"\f051"}.um-faicon-eject:before{content:"\f052"}.um-faicon-chevron-left:before{content:"\f053"}.um-faicon-chevron-right:before{content:"\f054"}.um-faicon-plus-circle:before{content:"\f055"}.um-faicon-minus-circle:before{content:"\f056"}.um-faicon-times-circle:before{content:"\f057"}.um-faicon-check-circle:before{content:"\f058"}.um-faicon-question-circle:before{content:"\f059"}.um-faicon-info-circle:before{content:"\f05a"}.um-faicon-crosshairs:before{content:"\f05b"}.um-faicon-times-circle-o:before{content:"\f05c"}.um-faicon-check-circle-o:before{content:"\f05d"}.um-faicon-ban:before{content:"\f05e"}.um-faicon-arrow-left:before{content:"\f060"}.um-faicon-arrow-right:before{content:"\f061"}.um-faicon-arrow-up:before{content:"\f062"}.um-faicon-arrow-down:before{content:"\f063"}.um-faicon-mail-forward:before,.um-faicon-share:before{content:"\f064"}.um-faicon-expand:before{content:"\f065"}.um-faicon-compress:before{content:"\f066"}.um-faicon-plus:before{content:"\f067"}.um-faicon-minus:before{content:"\f068"}.um-faicon-asterisk:before{content:"\f069"}.um-faicon-exclamation-circle:before{content:"\f06a"}.um-faicon-gift:before{content:"\f06b"}.um-faicon-leaf:before{content:"\f06c"}.um-faicon-fire:before{content:"\f06d"}.um-faicon-eye:before{content:"\f06e"}.um-faicon-eye-slash:before{content:"\f070"}.um-faicon-exclamation-triangle:before,.um-faicon-warning:before{content:"\f071"}.um-faicon-plane:before{content:"\f072"}.um-faicon-calendar:before{content:"\f073"}.um-faicon-random:before{content:"\f074"}.um-faicon-comment:before{content:"\f075"}.um-faicon-magnet:before{content:"\f076"}.um-faicon-chevron-up:before{content:"\f077"}.um-faicon-chevron-down:before{content:"\f078"}.um-faicon-retweet:before{content:"\f079"}.um-faicon-shopping-cart:before{content:"\f07a"}.um-faicon-folder:before{content:"\f07b"}.um-faicon-folder-open:before{content:"\f07c"}.um-faicon-arrows-v:before{content:"\f07d"}.um-faicon-arrows-h:before{content:"\f07e"}.um-faicon-bar-chart-o:before,.um-faicon-bar-chart:before{content:"\f080"}.um-faicon-twitter-square:before{content:"\f081"}.um-faicon-facebook-square:before{content:"\f082"}.um-faicon-camera-retro:before{content:"\f083"}.um-faicon-key:before{content:"\f084"}.um-faicon-cogs:before,.um-faicon-gears:before{content:"\f085"}.um-faicon-comments:before{content:"\f086"}.um-faicon-thumbs-o-up:before{content:"\f087"}.um-faicon-thumbs-o-down:before{content:"\f088"}.um-faicon-star-half:before{content:"\f089"}.um-faicon-heart-o:before{content:"\f08a"}.um-faicon-sign-out:before{content:"\f08b"}.um-faicon-linkedin-square:before{content:"\f08c"}.um-faicon-thumb-tack:before{content:"\f08d"}.um-faicon-external-link:before{content:"\f08e"}.um-faicon-sign-in:before{content:"\f090"}.um-faicon-trophy:before{content:"\f091"}.um-faicon-github-square:before{content:"\f092"}.um-faicon-upload:before{content:"\f093"}.um-faicon-lemon-o:before{content:"\f094"}.um-faicon-phone:before{content:"\f095"}.um-faicon-square-o:before{content:"\f096"}.um-faicon-bookmark-o:before{content:"\f097"}.um-faicon-phone-square:before{content:"\f098"}.um-faicon-twitter:before{content:"\f099"}.um-faicon-facebook:before{content:"\f09a"}.um-faicon-github:before{content:"\f09b"}.um-faicon-unlock:before{content:"\f09c"}.um-faicon-credit-card:before{content:"\f09d"}.um-faicon-rss:before{content:"\f09e"}.um-faicon-hdd-o:before{content:"\f0a0"}.um-faicon-bullhorn:before{content:"\f0a1"}.um-faicon-bell:before{content:"\f0f3"}.um-faicon-certificate:before{content:"\f0a3"}.um-faicon-hand-o-right:before{content:"\f0a4"}.um-faicon-hand-o-left:before{content:"\f0a5"}.um-faicon-hand-o-up:before{content:"\f0a6"}.um-faicon-hand-o-down:before{content:"\f0a7"}.um-faicon-arrow-circle-left:before{content:"\f0a8"}.um-faicon-arrow-circle-right:before{content:"\f0a9"}.um-faicon-arrow-circle-up:before{content:"\f0aa"}.um-faicon-arrow-circle-down:before{content:"\f0ab"}.um-faicon-globe:before{content:"\f0ac"}.um-faicon-wrench:before{content:"\f0ad"}.um-faicon-tasks:before{content:"\f0ae"}.um-faicon-filter:before{content:"\f0b0"}.um-faicon-briefcase:before{content:"\f0b1"}.um-faicon-arrows-alt:before{content:"\f0b2"}.um-faicon-group:before,.um-faicon-users:before{content:"\f0c0"}.um-faicon-chain:before,.um-faicon-link:before{content:"\f0c1"}.um-faicon-cloud:before{content:"\f0c2"}.um-faicon-flask:before{content:"\f0c3"}.um-faicon-cut:before,.um-faicon-scissors:before{content:"\f0c4"}.um-faicon-copy:before,.um-faicon-files-o:before{content:"\f0c5"}.um-faicon-paperclip:before{content:"\f0c6"}.um-faicon-floppy-o:before,.um-faicon-save:before{content:"\f0c7"}.um-faicon-square:before{content:"\f0c8"}.um-faicon-bars:before,.um-faicon-navicon:before,.um-faicon-reorder:before{content:"\f0c9"}.um-faicon-list-ul:before{content:"\f0ca"}.um-faicon-list-ol:before{content:"\f0cb"}.um-faicon-strikethrough:before{content:"\f0cc"}.um-faicon-underline:before{content:"\f0cd"}.um-faicon-table:before{content:"\f0ce"}.um-faicon-magic:before{content:"\f0d0"}.um-faicon-truck:before{content:"\f0d1"}.um-faicon-pinterest:before{content:"\f0d2"}.um-faicon-pinterest-square:before{content:"\f0d3"}.um-faicon-google-plus-square:before{content:"\f0d4"}.um-faicon-google-plus:before{content:"\f0d5"}.um-faicon-money:before{content:"\f0d6"}.um-faicon-caret-down:before{content:"\f0d7"}.um-faicon-caret-up:before{content:"\f0d8"}.um-faicon-caret-left:before{content:"\f0d9"}.um-faicon-caret-right:before{content:"\f0da"}.um-faicon-columns:before{content:"\f0db"}.um-faicon-sort:before,.um-faicon-unsorted:before{content:"\f0dc"}.um-faicon-sort-desc:before,.um-faicon-sort-down:before{content:"\f0dd"}.um-faicon-sort-asc:before,.um-faicon-sort-up:before{content:"\f0de"}.um-faicon-envelope:before{content:"\f0e0"}.um-faicon-linkedin:before{content:"\f0e1"}.um-faicon-rotate-left:before,.um-faicon-undo:before{content:"\f0e2"}.um-faicon-gavel:before,.um-faicon-legal:before{content:"\f0e3"}.um-faicon-dashboard:before,.um-faicon-tachometer:before{content:"\f0e4"}.um-faicon-comment-o:before{content:"\f0e5"}.um-faicon-comments-o:before{content:"\f0e6"}.um-faicon-bolt:before,.um-faicon-flash:before{content:"\f0e7"}.um-faicon-sitemap:before{content:"\f0e8"}.um-faicon-umbrella:before{content:"\f0e9"}.um-faicon-clipboard:before,.um-faicon-paste:before{content:"\f0ea"}.um-faicon-lightbulb-o:before{content:"\f0eb"}.um-faicon-exchange:before{content:"\f0ec"}.um-faicon-cloud-download:before{content:"\f0ed"}.um-faicon-cloud-upload:before{content:"\f0ee"}.um-faicon-user-md:before{content:"\f0f0"}.um-faicon-stethoscope:before{content:"\f0f1"}.um-faicon-suitcase:before{content:"\f0f2"}.um-faicon-bell-o:before{content:"\f0a2"}.um-faicon-coffee:before{content:"\f0f4"}.um-faicon-cutlery:before{content:"\f0f5"}.um-faicon-file-text-o:before{content:"\f0f6"}.um-faicon-building-o:before{content:"\f0f7"}.um-faicon-hospital-o:before{content:"\f0f8"}.um-faicon-ambulance:before{content:"\f0f9"}.um-faicon-medkit:before{content:"\f0fa"}.um-faicon-fighter-jet:before{content:"\f0fb"}.um-faicon-beer:before{content:"\f0fc"}.um-faicon-h-square:before{content:"\f0fd"}.um-faicon-plus-square:before{content:"\f0fe"}.um-faicon-angle-double-left:before{content:"\f100"}.um-faicon-angle-double-right:before{content:"\f101"}.um-faicon-angle-double-up:before{content:"\f102"}.um-faicon-angle-double-down:before{content:"\f103"}.um-faicon-angle-left:before{content:"\f104"}.um-faicon-angle-right:before{content:"\f105"}.um-faicon-angle-up:before{content:"\f106"}.um-faicon-angle-down:before{content:"\f107"}.um-faicon-desktop:before{content:"\f108"}.um-faicon-laptop:before{content:"\f109"}.um-faicon-tablet:before{content:"\f10a"}.um-faicon-mobile-phone:before,.um-faicon-mobile:before{content:"\f10b"}.um-faicon-circle-o:before{content:"\f10c"}.um-faicon-quote-left:before{content:"\f10d"}.um-faicon-quote-right:before{content:"\f10e"}.um-faicon-spinner:before{content:"\f110"}.um-faicon-circle:before{content:"\f111"}.um-faicon-mail-reply:before,.um-faicon-reply:before{content:"\f112"}.um-faicon-github-alt:before{content:"\f113"}.um-faicon-folder-o:before{content:"\f114"}.um-faicon-folder-open-o:before{content:"\f115"}.um-faicon-smile-o:before{content:"\f118"}.um-faicon-frown-o:before{content:"\f119"}.um-faicon-meh-o:before{content:"\f11a"}.um-faicon-gamepad:before{content:"\f11b"}.um-faicon-keyboard-o:before{content:"\f11c"}.um-faicon-flag-o:before{content:"\f11d"}.um-faicon-flag-checkered:before{content:"\f11e"}.um-faicon-terminal:before{content:"\f120"}.um-faicon-code:before{content:"\f121"}.um-faicon-mail-reply-all:before,.um-faicon-reply-all:before{content:"\f122"}.um-faicon-star-half-empty:before,.um-faicon-star-half-full:before,.um-faicon-star-half-o:before{content:"\f123"}.um-faicon-location-arrow:before{content:"\f124"}.um-faicon-crop:before{content:"\f125"}.um-faicon-code-fork:before{content:"\f126"}.um-faicon-chain-broken:before,.um-faicon-unlink:before{content:"\f127"}.um-faicon-question:before{content:"\f128"}.um-faicon-info:before{content:"\f129"}.um-faicon-exclamation:before{content:"\f12a"}.um-faicon-superscript:before{content:"\f12b"}.um-faicon-subscript:before{content:"\f12c"}.um-faicon-eraser:before{content:"\f12d"}.um-faicon-puzzle-piece:before{content:"\f12e"}.um-faicon-microphone:before{content:"\f130"}.um-faicon-microphone-slash:before{content:"\f131"}.um-faicon-shield:before{content:"\f132"}.um-faicon-calendar-o:before{content:"\f133"}.um-faicon-fire-extinguisher:before{content:"\f134"}.um-faicon-rocket:before{content:"\f135"}.um-faicon-maxcdn:before{content:"\f136"}.um-faicon-chevron-circle-left:before{content:"\f137"}.um-faicon-chevron-circle-right:before{content:"\f138"}.um-faicon-chevron-circle-up:before{content:"\f139"}.um-faicon-chevron-circle-down:before{content:"\f13a"}.um-faicon-html5:before{content:"\f13b"}.um-faicon-css3:before{content:"\f13c"}.um-faicon-anchor:before{content:"\f13d"}.um-faicon-unlock-alt:before{content:"\f13e"}.um-faicon-bullseye:before{content:"\f140"}.um-faicon-ellipsis-h:before{content:"\f141"}.um-faicon-ellipsis-v:before{content:"\f142"}.um-faicon-rss-square:before{content:"\f143"}.um-faicon-play-circle:before{content:"\f144"}.um-faicon-ticket:before{content:"\f145"}.um-faicon-minus-square:before{content:"\f146"}.um-faicon-minus-square-o:before{content:"\f147"}.um-faicon-level-up:before{content:"\f148"}.um-faicon-level-down:before{content:"\f149"}.um-faicon-check-square:before{content:"\f14a"}.um-faicon-pencil-square:before{content:"\f14b"}.um-faicon-external-link-square:before{content:"\f14c"}.um-faicon-share-square:before{content:"\f14d"}.um-faicon-compass:before{content:"\f14e"}.um-faicon-caret-square-o-down:before,.um-faicon-toggle-down:before{content:"\f150"}.um-faicon-caret-square-o-up:before,.um-faicon-toggle-up:before{content:"\f151"}.um-faicon-caret-square-o-right:before,.um-faicon-toggle-right:before{content:"\f152"}.um-faicon-eur:before,.um-faicon-euro:before{content:"\f153"}.um-faicon-gbp:before{content:"\f154"}.um-faicon-dollar:before,.um-faicon-usd:before{content:"\f155"}.um-faicon-inr:before,.um-faicon-rupee:before{content:"\f156"}.um-faicon-cny:before,.um-faicon-jpy:before,.um-faicon-rmb:before,.um-faicon-yen:before{content:"\f157"}.um-faicon-rouble:before,.um-faicon-rub:before,.um-faicon-ruble:before{content:"\f158"}.um-faicon-krw:before,.um-faicon-won:before{content:"\f159"}.um-faicon-bitcoin:before,.um-faicon-btc:before{content:"\f15a"}.um-faicon-file:before{content:"\f15b"}.um-faicon-file-text:before{content:"\f15c"}.um-faicon-sort-alpha-asc:before{content:"\f15d"}.um-faicon-sort-alpha-desc:before{content:"\f15e"}.um-faicon-sort-amount-asc:before{content:"\f160"}.um-faicon-sort-amount-desc:before{content:"\f161"}.um-faicon-sort-numeric-asc:before{content:"\f162"}.um-faicon-sort-numeric-desc:before{content:"\f163"}.um-faicon-thumbs-up:before{content:"\f164"}.um-faicon-thumbs-down:before{content:"\f165"}.um-faicon-youtube-square:before{content:"\f166"}.um-faicon-youtube:before{content:"\f167"}.um-faicon-xing:before{content:"\f168"}.um-faicon-xing-square:before{content:"\f169"}.um-faicon-youtube-play:before{content:"\f16a"}.um-faicon-dropbox:before{content:"\f16b"}.um-faicon-stack-overflow:before{content:"\f16c"}.um-faicon-instagram:before{content:"\f16d"}.um-faicon-flickr:before{content:"\f16e"}.um-faicon-adn:before{content:"\f170"}.um-faicon-bitbucket:before{content:"\f171"}.um-faicon-bitbucket-square:before{content:"\f172"}.um-faicon-tumblr:before{content:"\f173"}.um-faicon-tumblr-square:before{content:"\f174"}.um-faicon-long-arrow-down:before{content:"\f175"}.um-faicon-long-arrow-up:before{content:"\f176"}.um-faicon-long-arrow-left:before{content:"\f177"}.um-faicon-long-arrow-right:before{content:"\f178"}.um-faicon-apple:before{content:"\f179"}.um-faicon-windows:before{content:"\f17a"}.um-faicon-android:before{content:"\f17b"}.um-faicon-linux:before{content:"\f17c"}.um-faicon-dribbble:before{content:"\f17d"}.um-faicon-skype:before{content:"\f17e"}.um-faicon-foursquare:before{content:"\f180"}.um-faicon-trello:before{content:"\f181"}.um-faicon-female:before{content:"\f182"}.um-faicon-male:before{content:"\f183"}.um-faicon-gittip:before{content:"\f184"}.um-faicon-sun-o:before{content:"\f185"}.um-faicon-moon-o:before{content:"\f186"}.um-faicon-archive:before{content:"\f187"}.um-faicon-bug:before{content:"\f188"}.um-faicon-vk:before{content:"\f189"}.um-faicon-weibo:before{content:"\f18a"}.um-faicon-renren:before{content:"\f18b"}.um-faicon-pagelines:before{content:"\f18c"}.um-faicon-stack-exchange:before{content:"\f18d"}.um-faicon-arrow-circle-o-right:before{content:"\f18e"}.um-faicon-arrow-circle-o-left:before{content:"\f190"}.um-faicon-caret-square-o-left:before,.um-faicon-toggle-left:before{content:"\f191"}.um-faicon-dot-circle-o:before{content:"\f192"}.um-faicon-wheelchair:before{content:"\f193"}.um-faicon-vimeo-square:before{content:"\f194"}.um-faicon-try:before,.um-faicon-turkish-lira:before{content:"\f195"}.um-faicon-plus-square-o:before{content:"\f196"}.um-faicon-space-shuttle:before{content:"\f197"}.um-faicon-slack:before{content:"\f198"}.um-faicon-envelope-square:before{content:"\f199"}.um-faicon-wordpress:before{content:"\f19a"}.um-faicon-openid:before{content:"\f19b"}.um-faicon-bank:before,.um-faicon-institution:before,.um-faicon-university:before{content:"\f19c"}.um-faicon-graduation-cap:before,.um-faicon-mortar-board:before{content:"\f19d"}.um-faicon-yahoo:before{content:"\f19e"}.um-faicon-google:before{content:"\f1a0"}.um-faicon-reddit:before{content:"\f1a1"}.um-faicon-reddit-square:before{content:"\f1a2"}.um-faicon-stumbleupon-circle:before{content:"\f1a3"}.um-faicon-stumbleupon:before{content:"\f1a4"}.um-faicon-delicious:before{content:"\f1a5"}.um-faicon-digg:before{content:"\f1a6"}.um-faicon-pied-piper:before{content:"\f1a7"}.um-faicon-pied-piper-alt:before{content:"\f1a8"}.um-faicon-drupal:before{content:"\f1a9"}.um-faicon-joomla:before{content:"\f1aa"}.um-faicon-language:before{content:"\f1ab"}.um-faicon-fax:before{content:"\f1ac"}.um-faicon-building:before{content:"\f1ad"}.um-faicon-child:before{content:"\f1ae"}.um-faicon-paw:before{content:"\f1b0"}.um-faicon-spoon:before{content:"\f1b1"}.um-faicon-cube:before{content:"\f1b2"}.um-faicon-cubes:before{content:"\f1b3"}.um-faicon-behance:before{content:"\f1b4"}.um-faicon-behance-square:before{content:"\f1b5"}.um-faicon-steam:before{content:"\f1b6"}.um-faicon-steam-square:before{content:"\f1b7"}.um-faicon-recycle:before{content:"\f1b8"}.um-faicon-automobile:before,.um-faicon-car:before{content:"\f1b9"}.um-faicon-cab:before,.um-faicon-taxi:before{content:"\f1ba"}.um-faicon-tree:before{content:"\f1bb"}.um-faicon-spotify:before{content:"\f1bc"}.um-faicon-deviantart:before{content:"\f1bd"}.um-faicon-soundcloud:before{content:"\f1be"}.um-faicon-database:before{content:"\f1c0"}.um-faicon-file-pdf-o:before{content:"\f1c1"}.um-faicon-file-word-o:before{content:"\f1c2"}.um-faicon-file-excel-o:before{content:"\f1c3"}.um-faicon-file-powerpoint-o:before{content:"\f1c4"}.um-faicon-file-image-o:before,.um-faicon-file-photo-o:before,.um-faicon-file-picture-o:before{content:"\f1c5"}.um-faicon-file-archive-o:before,.um-faicon-file-zip-o:before{content:"\f1c6"}.um-faicon-file-audio-o:before,.um-faicon-file-sound-o:before{content:"\f1c7"}.um-faicon-file-movie-o:before,.um-faicon-file-video-o:before{content:"\f1c8"}.um-faicon-file-code-o:before{content:"\f1c9"}.um-faicon-vine:before{content:"\f1ca"}.um-faicon-codepen:before{content:"\f1cb"}.um-faicon-jsfiddle:before{content:"\f1cc"}.um-faicon-life-bouy:before,.um-faicon-life-buoy:before,.um-faicon-life-ring:before,.um-faicon-life-saver:before,.um-faicon-support:before{content:"\f1cd"}.um-faicon-circle-o-notch:before{content:"\f1ce"}.um-faicon-ra:before,.um-faicon-rebel:before{content:"\f1d0"}.um-faicon-empire:before,.um-faicon-ge:before{content:"\f1d1"}.um-faicon-git-square:before{content:"\f1d2"}.um-faicon-git:before{content:"\f1d3"}.um-faicon-hacker-news:before{content:"\f1d4"}.um-faicon-tencent-weibo:before{content:"\f1d5"}.um-faicon-qq:before{content:"\f1d6"}.um-faicon-wechat:before,.um-faicon-weixin:before{content:"\f1d7"}.um-faicon-paper-plane:before,.um-faicon-send:before{content:"\f1d8"}.um-faicon-paper-plane-o:before,.um-faicon-send-o:before{content:"\f1d9"}.um-faicon-history:before{content:"\f1da"}.um-faicon-circle-thin:before{content:"\f1db"}.um-faicon-header:before{content:"\f1dc"}.um-faicon-paragraph:before{content:"\f1dd"}.um-faicon-sliders:before{content:"\f1de"}.um-faicon-share-alt:before{content:"\f1e0"}.um-faicon-share-alt-square:before{content:"\f1e1"}.um-faicon-bomb:before{content:"\f1e2"}.um-faicon-futbol-o:before,.um-faicon-soccer-ball-o:before{content:"\f1e3"}.um-faicon-tty:before{content:"\f1e4"}.um-faicon-binoculars:before{content:"\f1e5"}.um-faicon-plug:before{content:"\f1e6"}.um-faicon-slideshare:before{content:"\f1e7"}.um-faicon-twitch:before{content:"\f1e8"}.um-faicon-yelp:before{content:"\f1e9"}.um-faicon-newspaper-o:before{content:"\f1ea"}.um-faicon-wifi:before{content:"\f1eb"}.um-faicon-calculator:before{content:"\f1ec"}.um-faicon-paypal:before{content:"\f1ed"}.um-faicon-google-wallet:before{content:"\f1ee"}.um-faicon-cc-visa:before{content:"\f1f0"}.um-faicon-cc-mastercard:before{content:"\f1f1"}.um-faicon-cc-discover:before{content:"\f1f2"}.um-faicon-cc-amex:before{content:"\f1f3"}.um-faicon-cc-paypal:before{content:"\f1f4"}.um-faicon-cc-stripe:before{content:"\f1f5"}.um-faicon-bell-slash:before{content:"\f1f6"}.um-faicon-bell-slash-o:before{content:"\f1f7"}.um-faicon-trash:before{content:"\f1f8"}.um-faicon-copyright:before{content:"\f1f9"}.um-faicon-at:before{content:"\f1fa"}.um-faicon-eyedropper:before{content:"\f1fb"}.um-faicon-paint-brush:before{content:"\f1fc"}.um-faicon-birthday-cake:before{content:"\f1fd"}.um-faicon-area-chart:before{content:"\f1fe"}.um-faicon-pie-chart:before{content:"\f200"}.um-faicon-line-chart:before{content:"\f201"}.um-faicon-lastfm:before{content:"\f202"}.um-faicon-lastfm-square:before{content:"\f203"}.um-faicon-toggle-off:before{content:"\f204"}.um-faicon-toggle-on:before{content:"\f205"}.um-faicon-bicycle:before{content:"\f206"}.um-faicon-bus:before{content:"\f207"}.um-faicon-ioxhost:before{content:"\f208"}.um-faicon-angellist:before{content:"\f209"}.um-faicon-cc:before{content:"\f20a"}.um-faicon-ils:before,.um-faicon-shekel:before,.um-faicon-sheqel:before{content:"\f20b"}.um-faicon-meanpath:before{content:"\f20c"}@font-face{font-family:Ionicons;src:url(../font/ionicons.eot?v=2.0.0);src:url(../font/ionicons.eot?v=2.0.0#iefix) format("embedded-opentype"),url(../font/ionicons.woff?v=2.0.0) format("woff"),url(../font/ionicons.ttf?v=2.0.0) format("truetype"),url(../font/ionicons.svg?v=2.0.0#Ionicons) format("svg");font-weight:400;font-style:normal}[class*=" um-icon-"]:before,[class^=um-icon-]:before{font-family:Ionicons!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-icon-alert:before{content:"\f101"}.um-icon-alert-circled:before{content:"\f100"}.um-icon-android-add:before{content:"\f2c7"}.um-icon-android-add-circle:before{content:"\f359"}.um-icon-android-alarm-clock:before{content:"\f35a"}.um-icon-android-alert:before{content:"\f35b"}.um-icon-android-apps:before{content:"\f35c"}.um-icon-android-archive:before{content:"\f2c9"}.um-icon-android-arrow-back:before{content:"\f2ca"}.um-icon-android-arrow-down:before{content:"\f35d"}.um-icon-android-arrow-dropdown:before{content:"\f35f"}.um-icon-android-arrow-dropdown-circle:before{content:"\f35e"}.um-icon-android-arrow-dropleft:before{content:"\f361"}.um-icon-android-arrow-dropleft-circle:before{content:"\f360"}.um-icon-android-arrow-dropright:before{content:"\f363"}.um-icon-android-arrow-dropright-circle:before{content:"\f362"}.um-icon-android-arrow-dropup:before{content:"\f365"}.um-icon-android-arrow-dropup-circle:before{content:"\f364"}.um-icon-android-arrow-forward:before{content:"\f30f"}.um-icon-android-arrow-up:before{content:"\f366"}.um-icon-android-attach:before{content:"\f367"}.um-icon-android-bar:before{content:"\f368"}.um-icon-android-bicycle:before{content:"\f369"}.um-icon-android-boat:before{content:"\f36a"}.um-icon-android-bookmark:before{content:"\f36b"}.um-icon-android-bulb:before{content:"\f36c"}.um-icon-android-bus:before{content:"\f36d"}.um-icon-android-calendar:before{content:"\f2d1"}.um-icon-android-call:before{content:"\f2d2"}.um-icon-android-camera:before{content:"\f2d3"}.um-icon-android-cancel:before{content:"\f36e"}.um-icon-android-car:before{content:"\f36f"}.um-icon-android-cart:before{content:"\f370"}.um-icon-android-chat:before{content:"\f2d4"}.um-icon-android-checkbox:before{content:"\f374"}.um-icon-android-checkbox-blank:before{content:"\f371"}.um-icon-android-checkbox-outline:before{content:"\f373"}.um-icon-android-checkbox-outline-blank:before{content:"\f372"}.um-icon-android-checkmark-circle:before{content:"\f375"}.um-icon-android-clipboard:before{content:"\f376"}.um-icon-android-close:before{content:"\f2d7"}.um-icon-android-cloud:before{content:"\f37a"}.um-icon-android-cloud-circle:before{content:"\f377"}.um-icon-android-cloud-done:before{content:"\f378"}.um-icon-android-cloud-outline:before{content:"\f379"}.um-icon-android-color-palette:before{content:"\f37b"}.um-icon-android-compass:before{content:"\f37c"}.um-icon-android-contact:before{content:"\f2d8"}.um-icon-android-contacts:before{content:"\f2d9"}.um-icon-android-contract:before{content:"\f37d"}.um-icon-android-create:before{content:"\f37e"}.um-icon-android-delete:before{content:"\f37f"}.um-icon-android-desktop:before{content:"\f380"}.um-icon-android-document:before{content:"\f381"}.um-icon-android-done:before{content:"\f383"}.um-icon-android-done-all:before{content:"\f382"}.um-icon-android-download:before{content:"\f2dd"}.um-icon-android-drafts:before{content:"\f384"}.um-icon-android-exit:before{content:"\f385"}.um-icon-android-expand:before{content:"\f386"}.um-icon-android-favorite:before{content:"\f388"}.um-icon-android-favorite-outline:before{content:"\f387"}.um-icon-android-film:before{content:"\f389"}.um-icon-android-folder:before{content:"\f2e0"}.um-icon-android-folder-open:before{content:"\f38a"}.um-icon-android-funnel:before{content:"\f38b"}.um-icon-android-globe:before{content:"\f38c"}.um-icon-android-hand:before{content:"\f2e3"}.um-icon-android-hangout:before{content:"\f38d"}.um-icon-android-happy:before{content:"\f38e"}.um-icon-android-home:before{content:"\f38f"}.um-icon-android-image:before{content:"\f2e4"}.um-icon-android-laptop:before{content:"\f390"}.um-icon-android-list:before{content:"\f391"}.um-icon-android-locate:before{content:"\f2e9"}.um-icon-android-lock:before{content:"\f392"}.um-icon-android-mail:before{content:"\f2eb"}.um-icon-android-map:before{content:"\f393"}.um-icon-android-menu:before{content:"\f394"}.um-icon-android-microphone:before{content:"\f2ec"}.um-icon-android-microphone-off:before{content:"\f395"}.um-icon-android-more-horizontal:before{content:"\f396"}.um-icon-android-more-vertical:before{content:"\f397"}.um-icon-android-navigate:before{content:"\f398"}.um-icon-android-notifications:before{content:"\f39b"}.um-icon-android-notifications-none:before{content:"\f399"}.um-icon-android-notifications-off:before{content:"\f39a"}.um-icon-android-open:before{content:"\f39c"}.um-icon-android-options:before{content:"\f39d"}.um-icon-android-people:before{content:"\f39e"}.um-icon-android-person:before{content:"\f3a0"}.um-icon-android-person-add:before{content:"\f39f"}.um-icon-android-phone-landscape:before{content:"\f3a1"}.um-icon-android-phone-portrait:before{content:"\f3a2"}.um-icon-android-pin:before{content:"\f3a3"}.um-icon-android-plane:before{content:"\f3a4"}.um-icon-android-playstore:before{content:"\f2f0"}.um-icon-android-print:before{content:"\f3a5"}.um-icon-android-radio-button-off:before{content:"\f3a6"}.um-icon-android-radio-button-on:before{content:"\f3a7"}.um-icon-android-refresh:before{content:"\f3a8"}.um-icon-android-remove:before{content:"\f2f4"}.um-icon-android-remove-circle:before{content:"\f3a9"}.um-icon-android-restaurant:before{content:"\f3aa"}.um-icon-android-sad:before{content:"\f3ab"}.um-icon-android-search:before{content:"\f2f5"}.um-icon-android-send:before{content:"\f2f6"}.um-icon-android-settings:before{content:"\f2f7"}.um-icon-android-share:before{content:"\f2f8"}.um-icon-android-share-alt:before{content:"\f3ac"}.um-icon-android-star:before{content:"\f2fc"}.um-icon-android-star-half:before{content:"\f3ad"}.um-icon-android-star-outline:before{content:"\f3ae"}.um-icon-android-stopwatch:before{content:"\f2fd"}.um-icon-android-subway:before{content:"\f3af"}.um-icon-android-sunny:before{content:"\f3b0"}.um-icon-android-sync:before{content:"\f3b1"}.um-icon-android-textsms:before{content:"\f3b2"}.um-icon-android-time:before{content:"\f3b3"}.um-icon-android-train:before{content:"\f3b4"}.um-icon-android-unlock:before{content:"\f3b5"}.um-icon-android-upload:before{content:"\f3b6"}.um-icon-android-volume-down:before{content:"\f3b7"}.um-icon-android-volume-mute:before{content:"\f3b8"}.um-icon-android-volume-off:before{content:"\f3b9"}.um-icon-android-volume-up:before{content:"\f3ba"}.um-icon-android-walk:before{content:"\f3bb"}.um-icon-android-warning:before{content:"\f3bc"}.um-icon-android-watch:before{content:"\f3bd"}.um-icon-android-wifi:before{content:"\f305"}.um-icon-aperture:before{content:"\f313"}.um-icon-archive:before{content:"\f102"}.um-icon-arrow-down-a:before{content:"\f103"}.um-icon-arrow-down-b:before{content:"\f104"}.um-icon-arrow-down-c:before{content:"\f105"}.um-icon-arrow-expand:before{content:"\f25e"}.um-icon-arrow-graph-down-left:before{content:"\f25f"}.um-icon-arrow-graph-down-right:before{content:"\f260"}.um-icon-arrow-graph-up-left:before{content:"\f261"}.um-icon-arrow-graph-up-right:before{content:"\f262"}.um-icon-arrow-left-a:before{content:"\f106"}.um-icon-arrow-left-b:before{content:"\f107"}.um-icon-arrow-left-c:before{content:"\f108"}.um-icon-arrow-move:before{content:"\f263"}.um-icon-arrow-resize:before{content:"\f264"}.um-icon-arrow-return-left:before{content:"\f265"}.um-icon-arrow-return-right:before{content:"\f266"}.um-icon-arrow-right-a:before{content:"\f109"}.um-icon-arrow-right-b:before{content:"\f10a"}.um-icon-arrow-right-c:before{content:"\f10b"}.um-icon-arrow-shrink:before{content:"\f267"}.um-icon-arrow-swap:before{content:"\f268"}.um-icon-arrow-up-a:before{content:"\f10c"}.um-icon-arrow-up-b:before{content:"\f10d"}.um-icon-arrow-up-c:before{content:"\f10e"}.um-icon-asterisk:before{content:"\f314"}.um-icon-at:before{content:"\f10f"}.um-icon-backspace:before{content:"\f3bf"}.um-icon-backspace-outline:before{content:"\f3be"}.um-icon-bag:before{content:"\f110"}.um-icon-battery-charging:before{content:"\f111"}.um-icon-battery-empty:before{content:"\f112"}.um-icon-battery-full:before{content:"\f113"}.um-icon-battery-half:before{content:"\f114"}.um-icon-battery-low:before{content:"\f115"}.um-icon-beaker:before{content:"\f269"}.um-icon-beer:before{content:"\f26a"}.um-icon-bluetooth:before{content:"\f116"}.um-icon-bonfire:before{content:"\f315"}.um-icon-bookmark:before{content:"\f26b"}.um-icon-bowtie:before{content:"\f3c0"}.um-icon-briefcase:before{content:"\f26c"}.um-icon-bug:before{content:"\f2be"}.um-icon-calculator:before{content:"\f26d"}.um-icon-calendar:before{content:"\f117"}.um-icon-camera:before{content:"\f118"}.um-icon-card:before{content:"\f119"}.um-icon-cash:before{content:"\f316"}.um-icon-chatbox:before{content:"\f11b"}.um-icon-chatbox-working:before{content:"\f11a"}.um-icon-chatboxes:before{content:"\f11c"}.um-icon-chatbubble:before{content:"\f11e"}.um-icon-chatbubble-working:before{content:"\f11d"}.um-icon-chatbubbles:before{content:"\f11f"}.um-icon-checkmark:before{content:"\f122"}.um-icon-checkmark-circled:before{content:"\f120"}.um-icon-checkmark-round:before{content:"\f121"}.um-icon-chevron-down:before{content:"\f123"}.um-icon-chevron-left:before{content:"\f124"}.um-icon-chevron-right:before{content:"\f125"}.um-icon-chevron-up:before{content:"\f126"}.um-icon-clipboard:before{content:"\f127"}.um-icon-clock:before{content:"\f26e"}.um-icon-close:before{content:"\f12a"}.um-icon-close-circled:before{content:"\f128"}.um-icon-close-round:before{content:"\f129"}.um-icon-closed-captioning:before{content:"\f317"}.um-icon-cloud:before{content:"\f12b"}.um-icon-code:before{content:"\f271"}.um-icon-code-download:before{content:"\f26f"}.um-icon-code-working:before{content:"\f270"}.um-icon-coffee:before{content:"\f272"}.um-icon-compass:before{content:"\f273"}.um-icon-compose:before{content:"\f12c"}.um-icon-connection-bars:before{content:"\f274"}.um-icon-contrast:before{content:"\f275"}.um-icon-crop:before{content:"\f3c1"}.um-icon-cube:before{content:"\f318"}.um-icon-disc:before{content:"\f12d"}.um-icon-document:before{content:"\f12f"}.um-icon-document-text:before{content:"\f12e"}.um-icon-drag:before{content:"\f130"}.um-icon-earth:before{content:"\f276"}.um-icon-easel:before{content:"\f3c2"}.um-icon-edit:before{content:"\f2bf"}.um-icon-egg:before{content:"\f277"}.um-icon-eject:before{content:"\f131"}.um-icon-email:before{content:"\f132"}.um-icon-email-unread:before{content:"\f3c3"}.um-icon-erlenmeyer-flask:before{content:"\f3c5"}.um-icon-erlenmeyer-flask-bubbles:before{content:"\f3c4"}.um-icon-eye:before{content:"\f133"}.um-icon-eye-disabled:before{content:"\f306"}.um-icon-female:before{content:"\f278"}.um-icon-filing:before{content:"\f134"}.um-icon-film-marker:before{content:"\f135"}.um-icon-fireball:before{content:"\f319"}.um-icon-flag:before{content:"\f279"}.um-icon-flame:before{content:"\f31a"}.um-icon-flash:before{content:"\f137"}.um-icon-flash-off:before{content:"\f136"}.um-icon-folder:before{content:"\f139"}.um-icon-fork:before{content:"\f27a"}.um-icon-fork-repo:before{content:"\f2c0"}.um-icon-forward:before{content:"\f13a"}.um-icon-funnel:before{content:"\f31b"}.um-icon-gear-a:before{content:"\f13d"}.um-icon-gear-b:before{content:"\f13e"}.um-icon-grid:before{content:"\f13f"}.um-icon-hammer:before{content:"\f27b"}.um-icon-happy:before{content:"\f31c"}.um-icon-happy-outline:before{content:"\f3c6"}.um-icon-headphone:before{content:"\f140"}.um-icon-heart:before{content:"\f141"}.um-icon-heart-broken:before{content:"\f31d"}.um-icon-help:before{content:"\f143"}.um-icon-help-buoy:before{content:"\f27c"}.um-icon-help-circled:before{content:"\f142"}.um-icon-home:before{content:"\f144"}.um-icon-icecream:before{content:"\f27d"}.um-icon-image:before{content:"\f147"}.um-icon-images:before{content:"\f148"}.um-icon-information:before{content:"\f14a"}.um-icon-information-circled:before{content:"\f149"}.um-icon-ionic:before{content:"\f14b"}.um-icon-ios-alarm:before{content:"\f3c8"}.um-icon-ios-alarm-outline:before{content:"\f3c7"}.um-icon-ios-albums:before{content:"\f3ca"}.um-icon-ios-albums-outline:before{content:"\f3c9"}.um-icon-ios-americanfootball:before{content:"\f3cc"}.um-icon-ios-americanfootball-outline:before{content:"\f3cb"}.um-icon-ios-analytics:before{content:"\f3ce"}.um-icon-ios-analytics-outline:before{content:"\f3cd"}.um-icon-ios-arrow-back:before{content:"\f3cf"}.um-icon-ios-arrow-down:before{content:"\f3d0"}.um-icon-ios-arrow-forward:before{content:"\f3d1"}.um-icon-ios-arrow-left:before{content:"\f3d2"}.um-icon-ios-arrow-right:before{content:"\f3d3"}.um-icon-ios-arrow-thin-down:before{content:"\f3d4"}.um-icon-ios-arrow-thin-left:before{content:"\f3d5"}.um-icon-ios-arrow-thin-right:before{content:"\f3d6"}.um-icon-ios-arrow-thin-up:before{content:"\f3d7"}.um-icon-ios-arrow-up:before{content:"\f3d8"}.um-icon-ios-at:before{content:"\f3da"}.um-icon-ios-at-outline:before{content:"\f3d9"}.um-icon-ios-barcode:before{content:"\f3dc"}.um-icon-ios-barcode-outline:before{content:"\f3db"}.um-icon-ios-baseball:before{content:"\f3de"}.um-icon-ios-baseball-outline:before{content:"\f3dd"}.um-icon-ios-basketball:before{content:"\f3e0"}.um-icon-ios-basketball-outline:before{content:"\f3df"}.um-icon-ios-bell:before{content:"\f3e2"}.um-icon-ios-bell-outline:before{content:"\f3e1"}.um-icon-ios-body:before{content:"\f3e4"}.um-icon-ios-body-outline:before{content:"\f3e3"}.um-icon-ios-bolt:before{content:"\f3e6"}.um-icon-ios-bolt-outline:before{content:"\f3e5"}.um-icon-ios-book:before{content:"\f3e8"}.um-icon-ios-book-outline:before{content:"\f3e7"}.um-icon-ios-bookmarks:before{content:"\f3ea"}.um-icon-ios-bookmarks-outline:before{content:"\f3e9"}.um-icon-ios-box:before{content:"\f3ec"}.um-icon-ios-box-outline:before{content:"\f3eb"}.um-icon-ios-briefcase:before{content:"\f3ee"}.um-icon-ios-briefcase-outline:before{content:"\f3ed"}.um-icon-ios-browsers:before{content:"\f3f0"}.um-icon-ios-browsers-outline:before{content:"\f3ef"}.um-icon-ios-calculator:before{content:"\f3f2"}.um-icon-ios-calculator-outline:before{content:"\f3f1"}.um-icon-ios-calendar:before{content:"\f3f4"}.um-icon-ios-calendar-outline:before{content:"\f3f3"}.um-icon-ios-camera:before{content:"\f3f6"}.um-icon-ios-camera-outline:before{content:"\f3f5"}.um-icon-ios-cart:before{content:"\f3f8"}.um-icon-ios-cart-outline:before{content:"\f3f7"}.um-icon-ios-chatboxes:before{content:"\f3fa"}.um-icon-ios-chatboxes-outline:before{content:"\f3f9"}.um-icon-ios-chatbubble:before{content:"\f3fc"}.um-icon-ios-chatbubble-outline:before{content:"\f3fb"}.um-icon-ios-checkmark:before{content:"\f3ff"}.um-icon-ios-checkmark-empty:before{content:"\f3fd"}.um-icon-ios-checkmark-outline:before{content:"\f3fe"}.um-icon-ios-circle-filled:before{content:"\f400"}.um-icon-ios-circle-outline:before{content:"\f401"}.um-icon-ios-clock:before{content:"\f403"}.um-icon-ios-clock-outline:before{content:"\f402"}.um-icon-ios-close:before{content:"\f406"}.um-icon-ios-close-empty:before{content:"\f404"}.um-icon-ios-close-outline:before{content:"\f405"}.um-icon-ios-cloud:before{content:"\f40c"}.um-icon-ios-cloud-download:before{content:"\f408"}.um-icon-ios-cloud-download-outline:before{content:"\f407"}.um-icon-ios-cloud-outline:before{content:"\f409"}.um-icon-ios-cloud-upload:before{content:"\f40b"}.um-icon-ios-cloud-upload-outline:before{content:"\f40a"}.um-icon-ios-cloudy:before{content:"\f410"}.um-icon-ios-cloudy-night:before{content:"\f40e"}.um-icon-ios-cloudy-night-outline:before{content:"\f40d"}.um-icon-ios-cloudy-outline:before{content:"\f40f"}.um-icon-ios-cog:before{content:"\f412"}.um-icon-ios-cog-outline:before{content:"\f411"}.um-icon-ios-color-filter:before{content:"\f414"}.um-icon-ios-color-filter-outline:before{content:"\f413"}.um-icon-ios-color-wand:before{content:"\f416"}.um-icon-ios-color-wand-outline:before{content:"\f415"}.um-icon-ios-compose:before{content:"\f418"}.um-icon-ios-compose-outline:before{content:"\f417"}.um-icon-ios-contact:before{content:"\f41a"}.um-icon-ios-contact-outline:before{content:"\f419"}.um-icon-ios-copy:before{content:"\f41c"}.um-icon-ios-copy-outline:before{content:"\f41b"}.um-icon-ios-crop:before{content:"\f41e"}.um-icon-ios-crop-strong:before{content:"\f41d"}.um-icon-ios-download:before{content:"\f420"}.um-icon-ios-download-outline:before{content:"\f41f"}.um-icon-ios-drag:before{content:"\f421"}.um-icon-ios-email:before{content:"\f423"}.um-icon-ios-email-outline:before{content:"\f422"}.um-icon-ios-eye:before{content:"\f425"}.um-icon-ios-eye-outline:before{content:"\f424"}.um-icon-ios-fastforward:before{content:"\f427"}.um-icon-ios-fastforward-outline:before{content:"\f426"}.um-icon-ios-filing:before{content:"\f429"}.um-icon-ios-filing-outline:before{content:"\f428"}.um-icon-ios-film:before{content:"\f42b"}.um-icon-ios-film-outline:before{content:"\f42a"}.um-icon-ios-flag:before{content:"\f42d"}.um-icon-ios-flag-outline:before{content:"\f42c"}.um-icon-ios-flame:before{content:"\f42f"}.um-icon-ios-flame-outline:before{content:"\f42e"}.um-icon-ios-flask:before{content:"\f431"}.um-icon-ios-flask-outline:before{content:"\f430"}.um-icon-ios-flower:before{content:"\f433"}.um-icon-ios-flower-outline:before{content:"\f432"}.um-icon-ios-folder:before{content:"\f435"}.um-icon-ios-folder-outline:before{content:"\f434"}.um-icon-ios-football:before{content:"\f437"}.um-icon-ios-football-outline:before{content:"\f436"}.um-icon-ios-game-controller-a:before{content:"\f439"}.um-icon-ios-game-controller-a-outline:before{content:"\f438"}.um-icon-ios-game-controller-b:before{content:"\f43b"}.um-icon-ios-game-controller-b-outline:before{content:"\f43a"}.um-icon-ios-gear:before{content:"\f43d"}.um-icon-ios-gear-outline:before{content:"\f43c"}.um-icon-ios-glasses:before{content:"\f43f"}.um-icon-ios-glasses-outline:before{content:"\f43e"}.um-icon-ios-grid-view:before{content:"\f441"}.um-icon-ios-grid-view-outline:before{content:"\f440"}.um-icon-ios-heart:before{content:"\f443"}.um-icon-ios-heart-outline:before{content:"\f442"}.um-icon-ios-help:before{content:"\f446"}.um-icon-ios-help-empty:before{content:"\f444"}.um-icon-ios-help-outline:before{content:"\f445"}.um-icon-ios-home:before{content:"\f448"}.um-icon-ios-home-outline:before{content:"\f447"}.um-icon-ios-infinite:before{content:"\f44a"}.um-icon-ios-infinite-outline:before{content:"\f449"}.um-icon-ios-information:before{content:"\f44d"}.um-icon-ios-information-empty:before{content:"\f44b"}.um-icon-ios-information-outline:before{content:"\f44c"}.um-icon-ios-ionic-outline:before{content:"\f44e"}.um-icon-ios-keypad:before{content:"\f450"}.um-icon-ios-keypad-outline:before{content:"\f44f"}.um-icon-ios-lightbulb:before{content:"\f452"}.um-icon-ios-lightbulb-outline:before{content:"\f451"}.um-icon-ios-list:before{content:"\f454"}.um-icon-ios-list-outline:before{content:"\f453"}.um-icon-ios-location:before{content:"\f456"}.um-icon-ios-location-outline:before{content:"\f455"}.um-icon-ios-locked:before{content:"\f458"}.um-icon-ios-locked-outline:before{content:"\f457"}.um-icon-ios-loop:before{content:"\f45a"}.um-icon-ios-loop-strong:before{content:"\f459"}.um-icon-ios-medical:before{content:"\f45c"}.um-icon-ios-medical-outline:before{content:"\f45b"}.um-icon-ios-medkit:before{content:"\f45e"}.um-icon-ios-medkit-outline:before{content:"\f45d"}.um-icon-ios-mic:before{content:"\f461"}.um-icon-ios-mic-off:before{content:"\f45f"}.um-icon-ios-mic-outline:before{content:"\f460"}.um-icon-ios-minus:before{content:"\f464"}.um-icon-ios-minus-empty:before{content:"\f462"}.um-icon-ios-minus-outline:before{content:"\f463"}.um-icon-ios-monitor:before{content:"\f466"}.um-icon-ios-monitor-outline:before{content:"\f465"}.um-icon-ios-moon:before{content:"\f468"}.um-icon-ios-moon-outline:before{content:"\f467"}.um-icon-ios-more:before{content:"\f46a"}.um-icon-ios-more-outline:before{content:"\f469"}.um-icon-ios-musical-note:before{content:"\f46b"}.um-icon-ios-musical-notes:before{content:"\f46c"}.um-icon-ios-navigate:before{content:"\f46e"}.um-icon-ios-navigate-outline:before{content:"\f46d"}.um-icon-ios-nutrition:before{content:"\f470"}.um-icon-ios-nutrition-outline:before{content:"\f46f"}.um-icon-ios-paper:before{content:"\f472"}.um-icon-ios-paper-outline:before{content:"\f471"}.um-icon-ios-paperplane:before{content:"\f474"}.um-icon-ios-paperplane-outline:before{content:"\f473"}.um-icon-ios-partlysunny:before{content:"\f476"}.um-icon-ios-partlysunny-outline:before{content:"\f475"}.um-icon-ios-pause:before{content:"\f478"}.um-icon-ios-pause-outline:before{content:"\f477"}.um-icon-ios-paw:before{content:"\f47a"}.um-icon-ios-paw-outline:before{content:"\f479"}.um-icon-ios-people:before{content:"\f47c"}.um-icon-ios-people-outline:before{content:"\f47b"}.um-icon-ios-person:before{content:"\f47e"}.um-icon-ios-person-outline:before{content:"\f47d"}.um-icon-ios-personadd:before{content:"\f480"}.um-icon-ios-personadd-outline:before{content:"\f47f"}.um-icon-ios-photos:before{content:"\f482"}.um-icon-ios-photos-outline:before{content:"\f481"}.um-icon-ios-pie:before{content:"\f484"}.um-icon-ios-pie-outline:before{content:"\f483"}.um-icon-ios-pint:before{content:"\f486"}.um-icon-ios-pint-outline:before{content:"\f485"}.um-icon-ios-play:before{content:"\f488"}.um-icon-ios-play-outline:before{content:"\f487"}.um-icon-ios-plus:before{content:"\f48b"}.um-icon-ios-plus-empty:before{content:"\f489"}.um-icon-ios-plus-outline:before{content:"\f48a"}.um-icon-ios-pricetag:before{content:"\f48d"}.um-icon-ios-pricetag-outline:before{content:"\f48c"}.um-icon-ios-pricetags:before{content:"\f48f"}.um-icon-ios-pricetags-outline:before{content:"\f48e"}.um-icon-ios-printer:before{content:"\f491"}.um-icon-ios-printer-outline:before{content:"\f490"}.um-icon-ios-pulse:before{content:"\f493"}.um-icon-ios-pulse-strong:before{content:"\f492"}.um-icon-ios-rainy:before{content:"\f495"}.um-icon-ios-rainy-outline:before{content:"\f494"}.um-icon-ios-recording:before{content:"\f497"}.um-icon-ios-recording-outline:before{content:"\f496"}.um-icon-ios-redo:before{content:"\f499"}.um-icon-ios-redo-outline:before{content:"\f498"}.um-icon-ios-refresh:before{content:"\f49c"}.um-icon-ios-refresh-empty:before{content:"\f49a"}.um-icon-ios-refresh-outline:before{content:"\f49b"}.um-icon-ios-reload:before{content:"\f49d"}.um-icon-ios-reverse-camera:before{content:"\f49f"}.um-icon-ios-reverse-camera-outline:before{content:"\f49e"}.um-icon-ios-rewind:before{content:"\f4a1"}.um-icon-ios-rewind-outline:before{content:"\f4a0"}.um-icon-ios-rose:before{content:"\f4a3"}.um-icon-ios-rose-outline:before{content:"\f4a2"}.um-icon-ios-search:before{content:"\f4a5"}.um-icon-ios-search-strong:before{content:"\f4a4"}.um-icon-ios-settings:before{content:"\f4a7"}.um-icon-ios-settings-strong:before{content:"\f4a6"}.um-icon-ios-shuffle:before{content:"\f4a9"}.um-icon-ios-shuffle-strong:before{content:"\f4a8"}.um-icon-ios-skipbackward:before{content:"\f4ab"}.um-icon-ios-skipbackward-outline:before{content:"\f4aa"}.um-icon-ios-skipforward:before{content:"\f4ad"}.um-icon-ios-skipforward-outline:before{content:"\f4ac"}.um-icon-ios-snowy:before{content:"\f4ae"}.um-icon-ios-speedometer:before{content:"\f4b0"}.um-icon-ios-speedometer-outline:before{content:"\f4af"}.um-icon-ios-star:before{content:"\f4b3"}.um-icon-ios-star-half:before{content:"\f4b1"}.um-icon-ios-star-outline:before{content:"\f4b2"}.um-icon-ios-stopwatch:before{content:"\f4b5"}.um-icon-ios-stopwatch-outline:before{content:"\f4b4"}.um-icon-ios-sunny:before{content:"\f4b7"}.um-icon-ios-sunny-outline:before{content:"\f4b6"}.um-icon-ios-telephone:before{content:"\f4b9"}.um-icon-ios-telephone-outline:before{content:"\f4b8"}.um-icon-ios-tennisball:before{content:"\f4bb"}.um-icon-ios-tennisball-outline:before{content:"\f4ba"}.um-icon-ios-thunderstorm:before{content:"\f4bd"}.um-icon-ios-thunderstorm-outline:before{content:"\f4bc"}.um-icon-ios-time:before{content:"\f4bf"}.um-icon-ios-time-outline:before{content:"\f4be"}.um-icon-ios-timer:before{content:"\f4c1"}.um-icon-ios-timer-outline:before{content:"\f4c0"}.um-icon-ios-toggle:before{content:"\f4c3"}.um-icon-ios-toggle-outline:before{content:"\f4c2"}.um-icon-ios-trash:before{content:"\f4c5"}.um-icon-ios-trash-outline:before{content:"\f4c4"}.um-icon-ios-undo:before{content:"\f4c7"}.um-icon-ios-undo-outline:before{content:"\f4c6"}.um-icon-ios-unlocked:before{content:"\f4c9"}.um-icon-ios-unlocked-outline:before{content:"\f4c8"}.um-icon-ios-upload:before{content:"\f4cb"}.um-icon-ios-upload-outline:before{content:"\f4ca"}.um-icon-ios-videocam:before{content:"\f4cd"}.um-icon-ios-videocam-outline:before{content:"\f4cc"}.um-icon-ios-volume-high:before{content:"\f4ce"}.um-icon-ios-volume-low:before{content:"\f4cf"}.um-icon-ios-wineglass:before{content:"\f4d1"}.um-icon-ios-wineglass-outline:before{content:"\f4d0"}.um-icon-ios-world:before{content:"\f4d3"}.um-icon-ios-world-outline:before{content:"\f4d2"}.um-icon-ipad:before{content:"\f1f9"}.um-icon-iphone:before{content:"\f1fa"}.um-icon-ipod:before{content:"\f1fb"}.um-icon-jet:before{content:"\f295"}.um-icon-key:before{content:"\f296"}.um-icon-knife:before{content:"\f297"}.um-icon-laptop:before{content:"\f1fc"}.um-icon-leaf:before{content:"\f1fd"}.um-icon-levels:before{content:"\f298"}.um-icon-lightbulb:before{content:"\f299"}.um-icon-link:before{content:"\f1fe"}.um-icon-load-a:before{content:"\f29a"}.um-icon-load-b:before{content:"\f29b"}.um-icon-load-c:before{content:"\f29c"}.um-icon-load-d:before{content:"\f29d"}.um-icon-location:before{content:"\f1ff"}.um-icon-lock-combination:before{content:"\f4d4"}.um-icon-locked:before{content:"\f200"}.um-icon-log-in:before{content:"\f29e"}.um-icon-log-out:before{content:"\f29f"}.um-icon-loop:before{content:"\f201"}.um-icon-magnet:before{content:"\f2a0"}.um-icon-male:before{content:"\f2a1"}.um-icon-man:before{content:"\f202"}.um-icon-map:before{content:"\f203"}.um-icon-medkit:before{content:"\f2a2"}.um-icon-merge:before{content:"\f33f"}.um-icon-mic-a:before{content:"\f204"}.um-icon-mic-b:before{content:"\f205"}.um-icon-mic-c:before{content:"\f206"}.um-icon-minus:before{content:"\f209"}.um-icon-minus-circled:before{content:"\f207"}.um-icon-minus-round:before{content:"\f208"}.um-icon-model-s:before{content:"\f2c1"}.um-icon-monitor:before{content:"\f20a"}.um-icon-more:before{content:"\f20b"}.um-icon-mouse:before{content:"\f340"}.um-icon-music-note:before{content:"\f20c"}.um-icon-navicon:before{content:"\f20e"}.um-icon-navicon-round:before{content:"\f20d"}.um-icon-navigate:before{content:"\f2a3"}.um-icon-network:before{content:"\f341"}.um-icon-no-smoking:before{content:"\f2c2"}.um-icon-nuclear:before{content:"\f2a4"}.um-icon-outlet:before{content:"\f342"}.um-icon-paintbrush:before{content:"\f4d5"}.um-icon-paintbucket:before{content:"\f4d6"}.um-icon-paper-airplane:before{content:"\f2c3"}.um-icon-paperclip:before{content:"\f20f"}.um-icon-pause:before{content:"\f210"}.um-icon-person:before{content:"\f213"}.um-icon-person-add:before{content:"\f211"}.um-icon-person-stalker:before{content:"\f212"}.um-icon-pie-graph:before{content:"\f2a5"}.um-icon-pin:before{content:"\f2a6"}.um-icon-pinpoint:before{content:"\f2a7"}.um-icon-pizza:before{content:"\f2a8"}.um-icon-plane:before{content:"\f214"}.um-icon-planet:before{content:"\f343"}.um-icon-play:before{content:"\f215"}.um-icon-playstation:before{content:"\f30a"}.um-icon-plus:before{content:"\f218"}.um-icon-plus-circled:before{content:"\f216"}.um-icon-plus-round:before{content:"\f217"}.um-icon-podium:before{content:"\f344"}.um-icon-pound:before{content:"\f219"}.um-icon-power:before{content:"\f2a9"}.um-icon-pricetag:before{content:"\f2aa"}.um-icon-pricetags:before{content:"\f2ab"}.um-icon-printer:before{content:"\f21a"}.um-icon-pull-request:before{content:"\f345"}.um-icon-qr-scanner:before{content:"\f346"}.um-icon-quote:before{content:"\f347"}.um-icon-radio-waves:before{content:"\f2ac"}.um-icon-record:before{content:"\f21b"}.um-icon-refresh:before{content:"\f21c"}.um-icon-reply:before{content:"\f21e"}.um-icon-reply-all:before{content:"\f21d"}.um-icon-ribbon-a:before{content:"\f348"}.um-icon-ribbon-b:before{content:"\f349"}.um-icon-sad:before{content:"\f34a"}.um-icon-sad-outline:before{content:"\f4d7"}.um-icon-scissors:before{content:"\f34b"}.um-icon-search:before{content:"\f21f"}.um-icon-settings:before{content:"\f2ad"}.um-icon-share:before{content:"\f220"}.um-icon-shuffle:before{content:"\f221"}.um-icon-skip-backward:before{content:"\f222"}.um-icon-skip-forward:before{content:"\f223"}.um-icon-social-android:before{content:"\f225"}.um-icon-social-android-outline:before{content:"\f224"}.um-icon-social-angular:before{content:"\f4d9"}.um-icon-social-angular-outline:before{content:"\f4d8"}.um-icon-social-apple:before{content:"\f227"}.um-icon-social-apple-outline:before{content:"\f226"}.um-icon-social-bitcoin:before{content:"\f2af"}.um-icon-social-bitcoin-outline:before{content:"\f2ae"}.um-icon-social-buffer:before{content:"\f229"}.um-icon-social-buffer-outline:before{content:"\f228"}.um-icon-social-chrome:before{content:"\f4db"}.um-icon-social-chrome-outline:before{content:"\f4da"}.um-icon-social-codepen:before{content:"\f4dd"}.um-icon-social-codepen-outline:before{content:"\f4dc"}.um-icon-social-css3:before{content:"\f4df"}.um-icon-social-css3-outline:before{content:"\f4de"}.um-icon-social-designernews:before{content:"\f22b"}.um-icon-social-designernews-outline:before{content:"\f22a"}.um-icon-social-dribbble:before{content:"\f22d"}.um-icon-social-dribbble-outline:before{content:"\f22c"}.um-icon-social-dropbox:before{content:"\f22f"}.um-icon-social-dropbox-outline:before{content:"\f22e"}.um-icon-social-euro:before{content:"\f4e1"}.um-icon-social-euro-outline:before{content:"\f4e0"}.um-icon-social-facebook:before{content:"\f231"}.um-icon-social-facebook-outline:before{content:"\f230"}.um-icon-social-foursquare:before{content:"\f34d"}.um-icon-social-foursquare-outline:before{content:"\f34c"}.um-icon-social-freebsd-devil:before{content:"\f2c4"}.um-icon-social-github:before{content:"\f233"}.um-icon-social-github-outline:before{content:"\f232"}.um-icon-social-google:before{content:"\f34f"}.um-icon-social-google-outline:before{content:"\f34e"}.um-icon-social-googleplus:before{content:"\f235"}.um-icon-social-googleplus-outline:before{content:"\f234"}.um-icon-social-hackernews:before{content:"\f237"}.um-icon-social-hackernews-outline:before{content:"\f236"}.um-icon-social-html5:before{content:"\f4e3"}.um-icon-social-html5-outline:before{content:"\f4e2"}.um-icon-social-instagram:before{content:"\f351"}.um-icon-social-instagram-outline:before{content:"\f350"}.um-icon-social-javascript:before{content:"\f4e5"}.um-icon-social-javascript-outline:before{content:"\f4e4"}.um-icon-social-linkedin:before{content:"\f239"}.um-icon-social-linkedin-outline:before{content:"\f238"}.um-icon-social-markdown:before{content:"\f4e6"}.um-icon-social-nodejs:before{content:"\f4e7"}.um-icon-social-octocat:before{content:"\f4e8"}.um-icon-social-pinterest:before{content:"\f2b1"}.um-icon-social-pinterest-outline:before{content:"\f2b0"}.um-icon-social-python:before{content:"\f4e9"}.um-icon-social-reddit:before{content:"\f23b"}.um-icon-social-reddit-outline:before{content:"\f23a"}.um-icon-social-rss:before{content:"\f23d"}.um-icon-social-rss-outline:before{content:"\f23c"}.um-icon-social-sass:before{content:"\f4ea"}.um-icon-social-skype:before{content:"\f23f"}.um-icon-social-skype-outline:before{content:"\f23e"}.um-icon-social-snapchat:before{content:"\f4ec"}.um-icon-social-snapchat-outline:before{content:"\f4eb"}.um-icon-social-tumblr:before{content:"\f241"}.um-icon-social-tumblr-outline:before{content:"\f240"}.um-icon-social-tux:before{content:"\f2c5"}.um-icon-social-twitch:before{content:"\f4ee"}.um-icon-social-twitch-outline:before{content:"\f4ed"}.um-icon-social-twitter:before{content:"\f243"}.um-icon-social-twitter-outline:before{content:"\f242"}.um-icon-social-usd:before{content:"\f353"}.um-icon-social-usd-outline:before{content:"\f352"}.um-icon-social-vimeo:before{content:"\f245"}.um-icon-social-vimeo-outline:before{content:"\f244"}.um-icon-social-whatsapp:before{content:"\f4f0"}.um-icon-social-whatsapp-outline:before{content:"\f4ef"}.um-icon-social-windows:before{content:"\f247"}.um-icon-social-windows-outline:before{content:"\f246"}.um-icon-social-wordpress:before{content:"\f249"}.um-icon-social-wordpress-outline:before{content:"\f248"}.um-icon-social-yahoo:before{content:"\f24b"}.um-icon-social-yahoo-outline:before{content:"\f24a"}.um-icon-social-yen:before{content:"\f4f2"}.um-icon-social-yen-outline:before{content:"\f4f1"}.um-icon-social-youtube:before{content:"\f24d"}.um-icon-social-youtube-outline:before{content:"\f24c"}.um-icon-soup-can:before{content:"\f4f4"}.um-icon-soup-can-outline:before{content:"\f4f3"}.um-icon-speakerphone:before{content:"\f2b2"}.um-icon-speedometer:before{content:"\f2b3"}.um-icon-spoon:before{content:"\f2b4"}.um-icon-star:before{content:"\f24e"}.um-icon-stats-bars:before{content:"\f2b5"}.um-icon-steam:before{content:"\f30b"}.um-icon-stop:before{content:"\f24f"}.um-icon-thermometer:before{content:"\f2b6"}.um-icon-thumbsdown:before{content:"\f250"}.um-icon-thumbsup:before{content:"\f251"}.um-icon-toggle:before{content:"\f355"}.um-icon-toggle-filled:before{content:"\f354"}.um-icon-transgender:before{content:"\f4f5"}.um-icon-trash-a:before{content:"\f252"}.um-icon-trash-b:before{content:"\f253"}.um-icon-trophy:before{content:"\f356"}.um-icon-tshirt:before{content:"\f4f7"}.um-icon-tshirt-outline:before{content:"\f4f6"}.um-icon-umbrella:before{content:"\f2b7"}.um-icon-university:before{content:"\f357"}.um-icon-unlocked:before{content:"\f254"}.um-icon-upload:before{content:"\f255"}.um-icon-usb:before{content:"\f2b8"}.um-icon-videocamera:before{content:"\f256"}.um-icon-volume-high:before{content:"\f257"}.um-icon-volume-low:before{content:"\f258"}.um-icon-volume-medium:before{content:"\f259"}.um-icon-volume-mute:before{content:"\f25a"}.um-icon-wand:before{content:"\f358"}.um-icon-waterdrop:before{content:"\f25b"}.um-icon-wifi:before{content:"\f25c"}.um-icon-wineglass:before{content:"\f2b9"}.um-icon-woman:before{content:"\f25d"}.um-icon-wrench:before{content:"\f2ba"}.um-icon-xbox:before{content:"\f30c"}.um{width:100%;text-align:left;box-sizing:border-box;color:#666;font-size:15px;margin-bottom:30px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;opacity:0}.um-s1,.um-s2{display:none}.um *,.um :before,.um :after{box-sizing:content-box}.um-header a,.um-cover a,.um-member-photo a,.um-member-name a,.um-member-more a,.um-member-less a,.um-members a,.um-account-side li a,.um-members-pagi span,.um-members-pagi a,.um-field-value a{border-bottom:0!important}.um a:focus,.um-modal a:focus{outline:0!important}.um a .image-overlay,.um a:hover .image-overlay,.um a:hover .image-overlay *{display:none!important;width:0!important;height:0!important;position:static!important}.um.um-in-admin{padding-top:0}.um.um-in-admin .um-tip{display:none!important}.um input,.um select,.um textarea{font-size:15px}.um *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-left{float:left}.um-right{float:right}.um-clear{clear:both}.um-center{text-align:center}.um-center .um-button{display:inline-block!important;width:auto!important;min-width:250px!important}.um-half{width:48%}.um-field-half{width:48%;float:left}.um-field-half.right{float:right}.um-field-tri{width:30%;float:left;margin-right:3%}.um img{box-shadow:none!important}.um-col{padding-bottom:20px}.um-col-alt{margin:0 0 5px}.um-col-alt-s{padding-top:10px}.um-col-alt-b{padding-top:20px}.um-col-121{float:left;width:48%}.um-col-122{float:right;width:48%}.um-col-131{float:left;width:30%}.um-col-132{float:left;width:30%;margin:0 5%}.um-col-133{float:left;width:30%}.um-raty i{font-size:26px}.um-field-half .um-raty i{font-size:21px}.um-field-tri .um-raty i{font-size:21px}.um-button i{font-size:22px;width:22px;height:12px!important;display:inline-block;line-height:12px!important;vertical-align:middle!important;position:relative;top:-6px;margin-right:8px}.um-row-heading{padding:5px 0;font-size:16px}.um-row-heading i{font-size:24px;height:24px;line-height:24px;margin:0 12px 0 0;display:inline-block;width:30px;text-align:center}.um-row-heading i:before{vertical-align:middle!important}p.um-notice{width:auto;color:#fff;box-sizing:border-box;font-size:15px;padding:12px!important;margin:12px 0 0!important;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative}p.um-notice i{position:absolute;right:14px;font-size:36px;cursor:pointer;top:7px;display:block;height:30px;line-height:30px}p.um-notice.success{background:#7ACF58}p.um-notice.err{background:#C74A4A}p.um-notice.warning{background:#f9f9d1;color:#666;border:1px solid #efe4a2;padding:8px 15px!important}.um-field-error{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:20px!important;margin:12px 0 0}.um-field-error a{color:#fff!important;text-decoration:underline!important}.um-field-arrow{top:-17px;left:10px;position:absolute;z-index:900;color:#C74A4A;font-size:28px;line-height:1em!important}.um-error-block{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:1em!important;margin:12px 0 0}.um-tip{margin:0 0 0 8px;cursor:pointer;display:inline-block;position:relative;top:3px}.um-tip i{font-size:22px;height:22px;line-height:22px;display:block;position:relative}.um-tip-text{display:block;font-size:13px;line-height:15px;color:#999}.um-form button::-moz-focus-inner,.um-form input::-moz-focus-inner{border:0!important;padding:0!important}.um-field{position:relative;padding:15px 0 0}.um-field-b,.um-field-c{padding-top:0!important}.um-field.um-is-conditional{display:none}.um-field-label{display:block;margin:0 0 8px}.um-field-label .um-field-label-icon{float:left;margin:0 8px 0 0;height:22px;line-height:18px;display:inline-block;width:24px;text-align:center}.um-field-label .um-field-label-icon i{font-size:22px;position:relative;top:1px}.um-field-label label{font-size:15px!important;line-height:22px!important;font-weight:700;font-weight:600}.um-field-area{position:relative;word-wrap:break-word}.um-field-value p{margin:0 0 6px!important;padding:0}.um-field-block{color:#777;font-size:17px}.um-field-spacing{width:100%}.um-field-divider{width:100%;margin:0 0 12px;height:24px;position:relative}.um-field-divider-text{position:absolute;width:100%;text-align:center;bottom:-24px;left:0;font-size:16px;padding:10px 0}.um-field-divider-text span{background:#fff;color:#555;display:inline-block;padding:0 15px}.um-field-icon{position:absolute;cursor:default;text-align:center!important;top:2px;left:0;width:44px;font-size:22px;line-height:1.7em}.um-form input[type=text],.um-form input[type=number],.um-form input[type=password]{padding:0 12px!important;width:100%;display:block!important;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;outline:none!important;cursor:text!important;font-size:15px!important;height:40px!important;box-sizing:border-box!important;box-shadow:none!important;margin:0!important;position:static;outline:none!important}.um-form input[type=number]{width:auto;padding:0 0 0 5px !important;height:30px!important}.um-form input[type=text]:focus,.um-form input[type=number]:focus,.um-form input[type=password]:focus,.um-form textarea:focus{box-shadow:none!important;outline:none!important}.um-form input[type=text].um-iconed,.um-form input[type=password].um-iconed{padding-left:44px!important}.um-form input[type=text].um-error,.um-form input[type=password].um-error{border-color:#C74A4A!important}.um-form textarea{width:100%;padding:8px 12px!important;display:block;font-size:15px!important;line-height:22px!important;background:#fff;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-sizing:border-box;min-height:80px!important;box-shadow:none;outline:none!important}.um-form .wp-editor-container{border:1px solid #ddd}.um-form .wp-editor-container textarea{background:#ddd!important;color:#222!important;border-radius:0}.um-field-c .um-field-checkbox{margin:0!important;position:relative;top:-14px}.um-field-checkbox,.um-field-radio{display:block;margin:8px 0;position:relative;cursor:pointer!important}.um-field-checkbox:hover i,.um-field-radio:hover i{color:#666}.um-field-checkbox input,.um-field-radio input{opacity:0!important;display:inline!important;width:0!important;float:left}.um-field-checkbox-state,.um-field-radio-state{position:absolute;top:0;left:1px;width:24px;height:24px}.um-field-checkbox-state i,.um-field-radio-state i{font-size:24px;line-height:24px;height:24px;color:#aaa;transition:all .2s linear}.um-field-checkbox-option,.um-field-radio-option{margin:0 0 0 36px;line-height:24px;color:#888!important;display:block}.um-field-group{margin-top:20px}.um-field-group-head{cursor:pointer;color:#fff;font-size:16px;line-height:22px;padding:10px 20px;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0.0)!important;border-bottom:2px solid rgba(0,0,0,0.1)!important}.um-field-group-head i{font-size:20px;margin:0 8px 0 0}.um-field-group-head i:before{vertical-align:middle!important}.um-field-group-body{display:none;margin:15px 0 0;padding:15px 20px 5px;background:#f9f9f9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative;box-sizing:border-box;width:100%}.um-field-group-body div.um-field{padding:0 0 15px}.um-field-group-cancel{font-size:18px;position:absolute;z-index:800;right:8px;top:8px;color:#ccc!important;text-decoration:none!important}.um-field-group-cancel:hover{color:#777!important}.um div.disabled,.um-disabled,.um input[type=submit]:disabled,.um input[type=text]:disabled,.um input[type=number]:disabled{opacity:.6!important;cursor:no-drop!important}input[type=submit].um-button,input[type=submit].um-button:focus{vertical-align:middle!important;height:auto!important;font-size:15px;cursor:pointer!important;width:100%;box-shadow:none;text-shadow:none;font-family:inherit;outline:none!important;margin:0;opacity:1;-webkit-appearance:none}input[type=submit].um-button:hover{opacity:1}.um-button{font-size:15px;border:none!important;display:block;width:100%;line-height:1em!important;padding:16px 20px!important;text-decoration:none!important;text-align:center;text-transform:none!important;font-weight:400!important;overflow:hidden;position:relative;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0.0)!important;border-bottom:2px solid rgba(0,0,0,0.1)!important;opacity:1}.um-button.um-btn-auto-width{width:auto;display:inline-block;padding:14px 20px!important;min-width:200px;max-width:450px}a.um-link-alt{line-height:22px;color:#888!important;display:block!important;text-decoration:none!important;font-weight:400;text-align:center;border-bottom:none!important}a.um-link-alt:hover{text-decoration:underline!important}.um-dropdown{position:absolute;height:auto;background:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;z-index:10;display:none;border:1px solid #e5e5e5;box-sizing:border-box;-webkit-box-shadow:0 0 2px rgba(0,0,0,0.1);box-shadow:0 0 1px rgba(0,0,0,0.1)}.um-dropdown ul,.um-dropdown li{list-style-type:none!important;padding:0!important;margin:0!important}.um-dropdown li a{display:block;padding:8px 12px;color:#666;font-size:14px;line-height:18px}.um-dropdown li:last-child a{border-top:1px solid #e5e5e5;padding:12px}.um-dropdown-b{position:relative}.um-dropdown-arr{position:absolute;color:#fff;font-size:24px;width:24px;height:24px;overflow:hidden;z-index:15;color:#eee}.um-dropdown-arr *{display:block!important;width:24px!important;height:24px!important;vertical-align:bottom!important;overflow:hidden!important;line-height:24px!important}div.um-photo{margin:20px auto 0;text-align:center;box-sizing:border-box;max-width:100%}div.um-photo,div.um-photo a,div.um-photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.um-photo a{border:1px solid #e5e5e5;padding:5px;box-sizing:border-box;display:inline-block;box-shadow:0 1px 1px #eee;margin:0 auto;max-width:100%}div.um-photo img{max-height:300px;max-width:100%}span.um-req{margin:0 0 0 8px;font-size:14px;display:inline-block}.picker{font-size:16px;text-align:left;line-height:1.2;color:#fff;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;-webkit-transition:background .15s ease-out,top 0s .15s;-moz-transition:background .15s ease-out,top 0s .15s;transition:background .15s ease-out,top 0s .15s}.picker__frame{position:absolute;margin:0 auto;min-width:256px;max-width:400px;width:100%;-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}@media (min-height:33.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:15%!important}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:33.875em){.picker__wrap{display:block}}.picker__box{display:table-cell;vertical-align:middle}@media (min-height:33.875em){.picker__box{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}@media (min-height:40.125em){.picker__box{border-bottom-width:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}.picker--opened .picker__holder{top:0;zoom:1;background:rgba(0,0,0,.7);-webkit-transition:background .15s ease-out;-moz-transition:background .15s ease-out;transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:33.875em){.picker--opened .picker__frame{top:auto;bottom:0}}.picker__header{text-align:center;position:relative;margin-top:.75em;border-radius:2px 2px 0 0;padding:15px 0;font-size:18px}.picker__month,.picker__year{display:inline-block;margin-left:10px;margin-right:10px}.picker__select--month,.picker__select--year{margin-left:.25em;margin-right:.25em;font-size:16px;color:#999;background:#fff!important;outline:0!important;border:0!important}@media (min-width:24.5em){.picker__select--month,.picker__select--year{margin-top:-.5em}}.picker__select--month{width:35%}.picker__select--year{width:22.5%}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;box-sizing:content-box!important;top:8px;color:#fff}.picker__nav--prev{left:0;padding-right:1.25em}@media (min-width:24.5em){.picker__nav--prev{padding-right:1.5em}}.picker__nav--next{right:0;padding-left:1.25em}@media (min-width:24.5em){.picker__nav--next{padding-left:1.5em}}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.5em solid #fff;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.5em solid #fff}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#fff}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:0 0}.picker__table{text-align:center;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:inherit;width:100%;margin-top:5px;border:none;margin-bottom:0}.picker__table td{margin:0;padding:0 10px;text-align:center;border:0}.picker__weekday{width:14.285714286%;color:#fff;text-align:center;padding:5px 0!important}.picker__day{padding:10px 0;line-height:1em!important}.picker__day--today{position:relative}.picker__day--outfocus{opacity:.75}.picker__day--infocus:hover,.picker__day--outfocus:hover{border-radius:2px;cursor:pointer}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{border-radius:2px}.picker__day--disabled,.picker__day--disabled:hover{cursor:default;background:transparent!important;opacity:.3}.picker__footer{text-align:center;height:50px!important;line-height:50px!important;margin-top:5px;border-radius:0 0 2px 2px}.picker__button--clear,.picker__button--today{width:50%;display:inline-block;background:none!important;box-shadow:none!important;border:0!important;outline:0!important;box-sizing:border-box!important}.picker__button--clear:focus,.picker__button--clear:hover,.picker__button--today:focus,.picker__button--today:hover{cursor:pointer}.picker__list{list-style:none;list-style:none!important;padding:5px!important;margin:0!important}.picker__list-item{position:relative;border-radius:2px;display:inline-block;width:25%;text-align:center;box-sizing:border-box;padding:6px 0!important;margin:5px 0!important}.picker__list-item:hover{cursor:pointer;z-index:10}.picker__list-item--highlighted{z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;font-weight:700}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{color:#a9e792;cursor:default;background:0 0;z-index:auto}.picker--time .picker__button--clear{width:100%;display:inline-block;box-shadow:none!important;border:0!important;outline:0!important;background:none!important;border-radius:0 0 2px 2px;color:#fff!important}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{cursor:pointer}.picker--time .picker__frame{min-width:256px;max-width:400px}.picker--time .picker__box{font-size:15px;padding:0;border-radius:2px!important}@media (min-height:40.125em){.picker--time .picker__frame{margin-bottom:10%!important}}.um-members img{display:block;overflow:hidden;-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important;margin:0!important;padding:0!important}.um-members a,.um-members a:hover{text-decoration:none!important}.um-members-intro{text-align:center;margin:0 0 20px}.um-members-total{font-size:30px;font-weight:300}.um-members-none{text-align:center;font-size:18px}.um-search{text-align:center;padding:20px 50px}.um-search.um-search-2{padding-left:20%;padding-right:20%;width:100%;box-sizing:border-box}.um-search.um-search-1{padding-left:32%;padding-right:32%;width:100%;box-sizing:border-box}.um-search.um-search-1 .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 10px!important}.um-search.um-search-1 .um-search-filter{width:100%;padding:0 0 10px;float:none}.um-search.um-search-2 .um-search-filter{width:50%}.um-search-filter{padding:0 15px 30px;display:block;float:left;width:33%;box-sizing:border-box}.um-search-submit .um-button{display:inline-block!important;width:auto!important;padding:12px 20px!important;margin:0 10px!important;min-width:150px!important}.um-members{-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-member{float:left;width:30%;background:#fff;text-align:center;border:1px solid #eee;box-sizing:border-box;margin-bottom:40px;position:relative}.um-member.awaiting_admin_review,.um-member.inactive,.um-member.rejected{opacity:.7}.um-member-status{display:none}.um-member-status.awaiting_admin_review,.um-member-status.inactive,.um-member-status.rejected{display:block;position:absolute;top:0;left:0;width:100%;padding:7px 15px;background:#C74A4A;color:#fff;z-index:10;font-size:13px;box-sizing:border-box}.um-member-status.inactive,.um-member-status.rejected{background:#999}.um-gutter-sizer{width:5%}.um-member-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-member-cover-e{text-align:center;box-sizing:border-box}.um-member-cover-e img{width:100%!important}.um-member-photo{padding:40px 0 20px;text-align:center}.um-member-photo a{display:inline!important}.um-member-photo img{display:inline!important;border:5px solid #fff;background:#fff;width:140px;height:140px;float:none!important}.um-member.with-cover .um-member-photo{padding-top:0}.um-member.with-cover .um-member-photo img{width:90px;height:90px;position:relative;top:-35px;margin-bottom:-45px!important;float:none!important;opacity:1}.um-member-photo.radius-1 img{-moz-border-radius:999px!important;-webkit-border-radius:999px!important;border-radius:999px!important}.um-member-photo.radius-2 img{-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important}.um-member-photo.radius-3 img{-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important}.um-member-card.no-photo{padding-top:30px}.um-member-card{padding-bottom:15px}.um-member-name{margin:0 0 4px}.um-member-name a{font-size:16px;line-height:26px;color:#444;font-weight:700}.um-member-tagline{font-size:13px;line-height:22px;color:#999;padding:0 15px}.um-member-less{display:none}.um-member-less a,.um-member-more a{color:#666;display:inline-block}.um-member-less i,.um-member-more i{display:block;font-size:32px;height:32px;line-height:32px}.um-member-meta{display:none;margin:20px 15px 0;padding:15px 0;border-top:1px solid #e5e5e5}.um-member-meta.no-animate{display:block}.um-member-metaline{font-size:13px;padding:12px 0 0;line-height:16px;vertical-align:middle}.um-member-metaline span{display:block;text-align:center}.um-member-connect{padding-top:20px}.um-member-connect a{display:inline-block;width:40px;line-height:40px;height:40px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;color:#fff!important;opacity:.85;margin:0 1px;font-size:22px;transition:.25s}.um-member-connect a:hover{opacity:1;color:#fff}.um-members-pagi,.um-members-pagidrop{text-align:center;padding:5px 0;font-size:15px}.um-members-pagi span.current,.um-members-pagi span.current:hover{color:#fff!important}.um-members-pagi i:before{font-size:20px;vertical-align:middle!important;height:34px;line-height:34px;top:-2px;position:relative}.um-members-pagi span.disabled{opacity:.4;cursor:default}.um-members-pagi span.none{color:#aaa!important}.um-members-pagi span{cursor:default}.um-members-pagi a,.um-members-pagi span{display:inline-block;width:auto;height:34px;line-height:34px;transition:all .2s linear;padding:0 14px;color:#666!important;font-weight:400}.um-members-pagi a:hover{text-decoration:none!important}.um-popup-overlay{background:rgba(0,0,0,0.7);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-popup *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;top:10%;margin-left:-250px;width:500px;background:#fff;box-shadow:0 1px 3px #111;z-index:1999993;box-sizing:border-box;overflow:auto;color:#888;padding:0!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup.loading{background:#fff url(../img/loading.gif) no-repeat center;min-height:100px}.um-popup a{outline:none!important}.um-modal-overlay{background:rgba(0,0,0,0.85);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-modal *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-modal-hidden-content{display:none}.um-modal-close{display:block;position:fixed;right:0;top:0;font-size:24px;text-decoration:none!important;color:#fff!important;padding:0 10px}.um-modal{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;display:none;z-index:1999993;box-sizing:border-box;bottom:-50px}.um-modal.normal{width:500px;margin-left:-250px}.um-modal.large{width:730px;margin-left:-365px}.um-modal.small{width:400px;margin-left:-200px}.um-modal-body{min-height:3px;padding:20px;box-sizing:border-box;width:100%;background:#fff;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.um-modal-body.photo{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,0.1),0px 0 0 1px rgba(255,255,255,0.12) inset;background:#888;padding:0}.um-modal-body.photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;display:block;overflow:hidden;opacity:0}.um-modal.loading .um-modal-body{background:#fff url(../img/loading.gif) no-repeat center;min-height:150px}.um-modal div.um{margin-bottom:20px!important}.um-modal-header{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;height:44px;line-height:44px;color:#fff;padding:0 20px;box-sizing:border-box;font-size:17px}.um-modal-footer{margin-top:20px}.um-modal-left{float:left}.um-modal-right{float:right}.um-modal-btn.disabled,.um-modal-btn.disabled:hover{opacity:.5;cursor:default!important}.um-modal-btn{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;text-align:center;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s;text-decoration:none!important}.um-modal-btn:hover{background:#44b0ec;color:#fff}.um-modal-btn.alt{color:#666;background:#eee}.um-modal-btn.alt:hover{background:#e5e5e5}.um-profile{box-sizing:border-box}.um-profile .um-cover-overlay{display:none}.um-profile.um-editing .um-cover.has-cover .um-cover-overlay{display:block}.um-profile.um-viewing .um-profile-photo-overlay{display:none}.um-profile img{display:block;overflow:hidden;border-radius:0;margin:0!important}.um-profile a,.um-profile a:hover{text-decoration:none!important}.um-profile .um-profile-body{padding-top:15px;padding-bottom:15px;max-width:600px;margin:auto}.um-profile.um-editing{padding-bottom:15px}.um-profile.um-viewing{padding-bottom:1px}.um-profile.um-viewing .um-field-label{display:block;margin:0 0 8px;border-bottom:solid 2px #eee;padding-bottom:4px}.um-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-cover-add{color:#aaa;font-size:36px;width:100%;display:table}.um-cover-add span{display:table-cell;vertical-align:middle}.um-cover-e{text-align:center;box-sizing:border-box}.um-cover-e img{width:100%!important}.um-cover-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0 40px;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-cover-overlay:hover{background:rgba(0,0,0,.55)}.um-cover-overlay span.um-cover-overlay-s{display:table;height:100%;width:100%}.um-cover-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-cover-overlay i{font-size:46px;display:block;margin-bottom:6px}.um-header{position:relative;padding:0 0 25px;border-bottom:solid 2px #eee;min-height:85px;box-sizing:content-box!important}.um-profile-edit{position:absolute;top:15px;right:0;vertical-align:middle;font-size:30px;height:30px;line-height:30px;z-index:66;padding-right:10px}.um-header.no-cover .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important}.um-header.no-cover .um-name{float:none!important;margin-right:0!important}.um-header.no-cover .um-profile-photo{float:none!important;margin:0 auto!important;text-align:center!important}.um-header.no-cover a.um-profile-photo-img{position:relative!important;top:auto!important;left:auto!important;float:none!important;display:inline-block!important;text-align:center!important}.um-header.no-cover .um-main-meta{padding:0}.um-profile .gravatar{position:static}.um-profile-photo{float:left;position:relative}.um-profile-photo a.um-profile-photo-img{float:left;position:absolute;background:#fff;padding:5px;left:30px}.um-profile-photo a.um-profile-photo-img img{width:100%;height:100%}.um-profile-photo-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-profile-photo-overlay:hover{background:rgba(0,0,0,.55)}.um-profile-photo-overlay span.um-profile-photo-overlay-s{display:table;height:100%;width:100%}.um-profile-photo-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-profile-photo-overlay i{font-size:46px;display:block}.um-profile-meta{padding-right:30px;-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-main-meta{padding:10px 0 0}.um-name{float:left;font-size:24px;font-weight:700;margin-right:30px;line-height:1.7em}.um-meta{font-size:15px}.um-meta span a{font-weight:400}.um-meta span:first-child{margin:0 5px 0 0}.um-meta span{margin:0 5px;font-size:14px;display:inline-block}.um-meta span i{font-size:16px;margin:0 5px 0 0}.um-meta-text{margin:6px 0 0;color:#666;line-height:1.4em;font-size: 13px}.um-meta-text p{margin:0 0 6px 0!important;padding:0!important}.um-profile-status{display:none}.um-profile-status.awaiting_admin_review,.um-profile-status.inactive,.um-profile-status.rejected{display:inline-block;margin:6px 0 0;border-left:3px solid #C74A4A;padding-left:10px;font-size:14px;color:#777}.um-profile-note{display:none;text-align:center;padding-top:20px;color:#666}.um-profile-note i{display:inline-block;font-size:70px;height:70px;line-height:70px}.um-profile-note i.um-faicon-lock{position:relative;top:2px;display:inline-block;font-size:24px;height:auto;line-height:24px;margin-right:10px}.um-profile-note span{margin-top:10px;display:block;font-size:16px;color:#888}.um-profile-note a{border:none!important}.um-profile-note a:hover{text-decoration:underline!important}.um-profile-nav{padding:10px;background:#444;text-align:center}.um-profile-nav-item.active a,.um-profile-nav-item.active a:hover{color:#FFF!important}.um-profile-nav-item.active a span.count{background:0 0;padding:4px 0;color:#fff}.um-profile-nav-item a{color:#fff!important;font-size:14px;font-weight:600;padding:6px 10px 6px 28px;display:block;float:left;border-radius:4px;margin-left:5px;position:relative;border-bottom:0!important}.um-profile-nav-item.without-icon a{padding-left:10px}.um-profile-nav-item.without-icon span.title{padding-left:0}.um-profile-nav-item.without-icon i{display:none}.um-profile-nav-item a:hover{background:#555}.um-profile-nav-item i{font-size:18px;height:18px;line-height:18px;position:absolute;display:block;top:8px;left:10px}.um-profile-nav-item span.title{padding-left:5px}.um-profile-nav-item span.count{font-size:12px;font-weight:300;background:#ddd;color:#666;border-radius:3px;padding:4px 8px;margin-left:3px}.um-profile-subnav{background:#eee;padding:15px;text-align:center}.um-profile-subnav a{display:inline-block;color:#555;font-size:15px;font-weight:600;margin:0 20px;border-bottom:0!important}.um-profile-subnav a:hover{color:#333}.um-profile-subnav span{display:inline-block;margin:0 0 0 8px;background:#ddd;padding:1px 8px;color:#aaa!important;border-radius:2px}.um-item{padding:20px 0;border-bottom:1px solid #eee;position:relative}.um-item-action{position:absolute;right:0;top:16px;width:20px;height:20px;font-size:20px;text-align:center}.um-item-action a{color:#ccc}.um-item-action a:hover{color:#999}.um-item-link{padding-right:40px}.um-item-link a{color:#333;font-size:16px;line-height:20px}.um-item-link a:hover{text-decoration:underline!important}.um-item-link i{font-size:24px;color:#666;margin-right:10px;position:relative;top:3px}.um-item-img{padding:10px 0 0}.um-item-img a{display:inline-block;padding:8px;border-radius:3px;border:1px solid #ddd}.um-item-img a:hover{border-color:#bbb}.um-item-img img{max-width:100%;border-radius:3px}.um-item-meta{color:#888}.um-item-meta span{font-size:13px;font-weight:400;font-style:italic}.um-item-meta span:not(:last-child):after{position:relative;padding:0 4px 0 7px;content:"•"}.um-item-meta a{font-weight:700;border-bottom:1px solid #E0E0E0}.um-item-meta a:hover{border-bottom-color:#bbb}.um-load-items{text-align:center;margin-top:12px;padding-top:30px}.um-load-items.loading{background:url(../img/loading-dots.gif) no-repeat top center}.um-load-items a{max-width:250px;display:inline-block;margin:0 auto}.um-tab-notifier{position:absolute;background:none repeat scroll 0 0 #c65151;right:0;top:0;width:18px;height:18px;border-radius:999px;line-height:18px;top:2px;right:8px;font-size:11px;font-weight:400}@font-face{font-family:raty;font-style:normal;font-weight:400;src:url(../font/raty.eot);src:url(../font/raty.eot?#iefix) format("embedded-opentype");src:url(../font/raty.svg#raty) format("svg");src:url(../font/raty.ttf) format("truetype");src:url(../font/raty.woff) format("woff")}.cancel-off-png,.cancel-on-png,.star-half-png,.star-off-png,.star-on-png{font-family:raty;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-right:.2em;color:#ccc}.star-half-png,.star-on-png{color:#ffbe32}.cancel-on-png:before{content:"\e600"}.cancel-off-png:before{content:"\e601"}.star-on-png:before{content:"\f005"}.star-off-png:before{content:"\f006"}.star-half-png:before{content:"\f123"}.select2-container{margin:0!important;position:relative!important;display:inline-block!important;zoom:1!important;*display:inline!important;vertical-align:middle!important}.select2-container a:hover{color:#666!important}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block!important;height:36px!important;padding:0 0 0 12px!important;overflow:hidden!important;position:relative!important;white-space:nowrap!important;line-height:35px!important;color:#666!important;font-size:15px!important;text-align:left!important;text-decoration:none!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#fff!important}.select2-container.select2-drop-above .select2-choice{-moz-border-radius:0 0 2px 2px!important;-webkit-border-radius:0 0 2px 2px!important;border-radius:0 0 2px 2px!important}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px!important;display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;float:none!important;width:auto!important;font-weight:400}.select2-container .select2-choice abbr{display:none;width:20px!important;height:100%!important;right:24px!important;font-size:1px!important;text-decoration:none!important;border:0!important;background:none!important;cursor:pointer!important;outline:0!important}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block!important}.select2-container .select2-choice abbr:hover{cursor:pointer!important}.select2-drop-mask{border:0!important;margin:0!important;padding:0!important;position:fixed!important;left:0!important;top:0!important;min-height:100%!important;min-width:100%!important;height:auto!important;width:auto!important;opacity:0!important;z-index:1999997!important;background-color:#fff!important;filter:alpha(opacity=0)!important}.select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:1999998!important;top:100%;background:#fff;color:#666;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;box-shadow:none}.select2-drop.select2-drop-above{margin-top:1px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;box-shadow:none}.select2-drop-active{box-shadow:none!important}.select2-drop-auto-width{width:auto!important}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block!important;width:34px!important;height:100%!important;position:absolute!important;right:0!important;top:0!important;-moz-border-radius:0 2px 2px 0!important;-webkit-border-radius:0 2px 2px 0!important;border-radius:0 2px 2px 0!important;text-align:center!important;background:transparent!important;border-left:0!important}.select2-container .select2-choice .select2-arrow *{line-height:100%!important;vertical-align:middle!important}.select2-container .select2-choice .select2-arrow b{display:block!important;width:100%!important;height:100%!important;background:none!important}.select2-container .select2-choice .select2-arrow:before{content:"\f3d0"!important;font-size:27px!important;font-family:Ionicons!important;width:100%!important;display:block;height:100%;line-height:36px}.select2-container .select2-choice .select2-arrow:hover:before{color:#666!important}.select2-search{display:inline-block!important;width:100%!important;min-height:32px!important;height:32px!important;line-height:1em!important;margin:0!important;padding-left:4px!important;padding-right:4px!important;position:relative!important;z-index:1999999!important;white-space:nowrap!important}.select2-search input[type=text]{background:none!important;width:100%!important;height:32px!important;line-height:auto!important;padding:0 38px 0 7px!important;margin:0!important;outline:0!important;border:1px solid #ddd!important;color:#666!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;font-size:15px!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;box-shadow:none!important}.select2-search:before{content:"\f4a4"!important;font-size:20px!important;height:32px!important;line-height:32px!important;font-family:Ionicons!important;top:0!important;right:10px!important;position:absolute!important}.select2-drop .select2-search{margin-top:4px!important}.select2-search input.select2-active{background:#fff!important}.select2-container-active .select2-choice,.select2-container-active .select2-choices{outline:0!important;box-shadow:none!important}.select2-dropdown-open .select2-choice{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.select2-dropdown-open .select2-choice .select2-arrow{background:transparent!important;filter:none!important;border-color:transparent!important}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:0 0 0 5px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0)}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none;font-size:15px;margin:0!important;padding:3px 0!important;color:#666!important}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700!important}.select2-results .select2-result-label{padding:3px 7px 4px!important;margin:0!important;cursor:pointer;min-height:1em!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:none!important;background:#f4f4f4!important;color:#666!important}.select2-results li em{background:#feffde!important;font-style:normal!important}.select2-results .select2-highlighted em{background:transparent!important}.select2-results .select2-highlighted ul{background:#fff!important;color:#666!important}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4!important;display:list-item!important;padding:5px!important;font-size:15px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results .select2-disabled .select2-result-label,.select2-results .select2-disabled.select2-highlighted .select2-result-label{color:#bbb!important;background:#fff!important;display:list-item!important;cursor:default!important}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:#f4f4f4!important}.select2-more-results{background:#f4f4f4!important;display:list-item!important}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4!important;background-image:none!important;border:1px solid #ddd!important;cursor:default!important}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background:none!important;background:#f9f9f9!important;border-left:0!important}.select2-container.select2-container-disabled .select2-choice abbr{display:none!important}.select2-container-multi .select2-choices{height:auto!important;height:1%!important;margin:0!important;padding:1px 3px!important;position:relative!important;cursor:text!important;overflow:hidden!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;box-shadow:none!important}.select2-locked{padding:3px 5px!important}.select2-container-multi .select2-choices{min-height:26px;background-image:none!important}.select2-container-multi.select2-container-active .select2-choices{outline:0;box-shadow:none}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:5px!important;margin:3px 0!important;font-size:100%;height:auto!important;outline:0;border:0!important;-webkit-box-shadow:none;box-shadow:none;background:transparent!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:#fff!important}.select2-container-multi .select2-choices .select2-search-choice{padding:4px 20px 4px 5px!important;margin:6px 0 4px 5px!important;position:relative;line-height:14px;font-size:14px;color:#666;cursor:default;border:1px solid #ddd;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:none!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#f9f9f9!important}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin-left:0;margin-right:5px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#f1f1f1}.select2-search-choice-close{position:absolute!important;width:18px!important;height:18px!important;right:0!important;top:0!important;left:auto!important;outline:0!important;background:none!important}.select2-search-choice-close:before{content:"\f2d7"!important;font-size:22px!important;font-family:Ionicons!important;right:4px!important;position:relative!important;display:block;height:100%;width:100%;line-height:36px}.select2-search-choice-close:hover:before{color:#666!important}.select2-container-multi .select2-search-choice-close{text-decoration:none!important;width:21px!important;height:100%!important;text-align:center!important;border-bottom:0!important}.select2-container-multi .select2-search-choice-close:before{font-size:16px!important;right:0!important;line-height:23px!important}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}.tipsy{padding:5px;position:absolute;z-index:9999999999!important}.tipsy-inner{font-size:13px!important;line-height:17px!important;background-color:#333!important;color:#fff!important;max-width:250px!important;padding:6px 10px!important;text-align:left!important;word-wrap:break-word!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.tipsy-arrow{position:absolute!important;width:0!important;height:0!important;line-height:0!important;border:5px dashed #333}.tipsy-arrow-n{border-bottom-color:#333!important}.tipsy-arrow-s{border-top-color:#333!important}.tipsy-arrow-e{border-left-color:#333!important}.tipsy-arrow-w{border-right-color:#333!important}.tipsy-n .tipsy-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-nw .tipsy-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-sw .tipsy-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-se .tipsy-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-e .tipsy-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.tipsy-w .tipsy-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.um-account p.um-notice{margin:0 0 20px 0!important;padding:12px 15px!important}.um-account a:focus{outline:0!important}.um-account-side{float:left;width:35%;padding:0 30px;box-sizing:border-box}.um-account-main{float:left;width:50%;padding:0 30px;box-sizing:border-box}.um-account-main a{border-bottom:none!important}.um-account-tab{display:none}.um-account-main div.um-account-heading{margin:0!important;font-size:18px;line-height:18px;font-weight:700;color:#555}.um-account-main div.um-account-heading i{margin-right:10px;font-size:26px;position:relative;top:2px}.um-account-main p{margin:20px 0 0!important;padding:0!important}.um-account-main label{font-size:15px}.um-account-meta{text-align:center;margin-bottom:20px}.um-account-meta img{margin:0!important;position:static!important;float:none!important;display:inline-block}.um-account-meta.radius-1 img{-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px}.um-account-meta.radius-2 img{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.um-account-meta.radius-3 img{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-account-name a{font-weight:700;color:#555!important;text-decoration:none!important;font-size:18px;line-height:2em}.um-account-nav a{display:block;height:44px;line-height:44px;color:#666!important;text-decoration:none!important;position:relative;padding-left:40px;border-bottom:1px solid #eee!important;transition:all .2s linear;font-size:14px}.um-account-nav a.current{font-weight:700}.um-account-nav span.arr{position:absolute;right:0;top:1px;font-size:28px}.um-account-nav span.ico{position:absolute;left:0;top:0;font-size:21px;width:21px;text-align:center}.um-account-side li,.um-account-side ul{margin:0!important;padding:0!important;list-style-type:none!important}.um-account-side li{margin-bottom:1px!important;background:#eee}.um-account-side li a{display:block;padding:4px 0;font-size:14px;height:30px;line-height:20px;color:#999;position:relative}.um-account-side li a span.um-account-arrow{position:absolute;right:10px;top:6px;font-size:26px;opacity:0.6}.um-account-side li a span.um-account-icon,.um-account-side li a.current span.um-account-icon,.um-account-side li a.current:hover span.um-account-icon{text-align:center;font-size:20px;width:20px;height:30px;border-right:1px solid #ccc;color:#444;float:left;padding:0 15px;font-weight:400!important}.um-account-side li a span.um-account-icon i{display:block;height:30px;line-height:30px}.um-account-side li a span.um-account-title{padding-left:20px;float:left;height:30px;line-height:30px;color:#555}.um-account-side li a:hover{color:#444;background:#ddd}.um-account-side li a.current,.um-account-side li a.current:hover{color:#444;font-weight:700;text-decoration:none!important}.cropper-container{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.cropper-container img{width:100%;height:100%;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important}.cropper-canvas,.cropper-modal{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-canvas{background-color:#fff;opacity:0;filter:alpha(opacity=0)}.cropper-modal{background-color:#000;opacity:.5;filter:alpha(opacity=50)}.cropper-dragger{position:absolute;top:10%;left:10%;width:80%;height:80%}.cropper-viewer{display:block;width:100%;height:100%;overflow:hidden;outline-width:1px;outline-style:solid;outline-color:#69f;outline-color:rgba(51,102,255,.75)}.cropper-dashed{position:absolute;display:block;border:0 dashed #fff;opacity:.5;filter:alpha(opacity=50)}.cropper-dashed.dashed-h{top:33.3%;left:0;width:100%;height:33.3%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.3%;width:33.3%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;opacity:.1;filter:alpha(opacity=10)}.cropper-face{top:0;left:0;cursor:move;background-color:#fff}.cropper-line{background-color:#69f}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;background-color:#69f;opacity:.75;filter:alpha(opacity=75)}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;opacity:1;filter:alpha(opacity=100)}.cropper-point.point-se:before{position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;content:" ";background-color:#69f;opacity:0;filter:alpha(opacity=0)}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}}.cropper-hidden{display:none!important}.cropper-invisible{position:fixed;top:0;left:0;z-index:-1;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;opacity:0;filter:alpha(opacity=0)}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-canvas,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.um .um-single-file-preview,.um .um-single-image-preview{margin-bottom:20px}.um .um-single-image-preview>img{max-height:300px;display:inline-block;overflow:hidden;margin:auto;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.um-single-file-preview,.um-single-image-preview{display:none;text-align:center;position:relative}.um-single-file-preview.show,.um-single-image-preview.show{display:block}.um-single-image-preview>img{max-width:100%;max-height:inherit}.um-single-file-preview a.cancel,.um-single-image-preview a.cancel{position:absolute;top:-15px;right:-15px;width:30px;height:30px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;background:#ddd;cursor:pointer;text-decoration:none!important;z-index:666;opacity:.75}.um-single-file-preview a.cancel i,.um-single-image-preview a.cancel i{font-size:16px;color:#888;position:relative;display:block;width:100%;height:100%;line-height:30px;overflow:hidden}.um-single-file-preview a.cancel i:before,.um-single-image-preview a.cancel i:before{line-height:inherit}.um-single-fileinfo{padding:26px 0 20px;display:inline-block}.um-single-fileinfo span.icon{font-size:40px;display:inline-block;width:100px;height:70px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#666;color:#fff!important}.um-single-fileinfo span.icon i{display:block;height:70px;line-height:70px;overflow:hidden}.um-single-fileinfo span.icon i:before{line-height:inherit}.um-single-fileinfo span.filename{display:block;font-size:16px;color:#888;padding-top:5px}.um-single-fileinfo a{text-decoration:none!important;opacity:.9}.um-single-fileinfo a:hover{opacity:1}.upload-statusbar{margin:20px 0 0}.upload-filename{display:none!important}.upload-progress{position:relative;width:100%;box-sizing:border-box}.upload-bar{width:0;height:10px;color:#666;background:#7ACF58;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ajax-upload-dragdrop{width:100%;text-align:center;vertical-align:middle;padding:20px;box-sizing:border-box;border:2px dashed #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;font-size:18px;line-height:1em}.ajax-upload-dragdrop span.str{display:block;margin:0 0 15px}.ajax-upload-dragdrop span.icon{display:block;font-size:80px;line-height:80px;vertical-align:middle;margin-bottom:10px}.ajax-upload-dragdrop span.help{display:block;font-size:14px;color:#aaa;margin:0 0 12px}.upload{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;text-decoration:none;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s}.upload:hover{background:#44b0ec}.um-modal input[type=file]::-webkit-file-upload-button{cursor:pointer}.uimob340-show,.uimob500-show,.uimob800-show,.uimob960-show{display:none}div.uimob340 .uimob340-show,div.uimob500 .uimob500-show,div.uimob800 .uimob800-show,div.uimob960 .uimob960-show{display:block}div.uimob340 .uimob340-hide,div.uimob500 .uimob500-hide,div.uimob800 .uimob800-hide,div.uimob960 .uimob960-hide{display:none}div.uimob340 .um-item-link a{font-size:14px}div.uimob340 .um-item-meta span{font-size:13px}div.uimob340 .um-load-items a{width:100%!important;max-width:100%!important}div.uimob340 .um-profile-nav{padding:0}div.uimob340 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob340 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto}div.uimob340 .um-profile-subnav{padding:8px 15px}div.uimob340 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob340 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob340 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob340 .um-cover-overlay{padding:0}div.uimob340 .um-cover-overlay i,div.uimob340 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob340{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob340,.um-modal.uimob340 .um-modal-body,.um-modal.uimob340 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob340 .um-modal-header{text-align:center}.um-modal.uimob340 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob340 .um-modal-right{width:100%;float:none}.um-modal.uimob340 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob340 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob340 .um-profile-body{padding-left:0;padding-right:0}div.uimob340 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob340 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob340 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob340 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob340 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob340 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob340 .um-header .um-name{float:none!important;margin-right:0!important;font-size:18px}div.uimob340 .um-header .um-meta,div.uimob340 .um-header .um-meta-text{padding:0 20px}div.uimob340 .um-header .um-meta span:first-child{display:block}div.uimob340 .um-header .um-meta span{display:none}div.uimob340 .um-col-121,div.uimob340 .um-col-122,div.uimob340 .um-col-131,div.uimob340 .um-col-132,div.uimob340 .um-col-133{float:none;width:100%;margin:0}div.uimob340 .um-field-half{float:none;width:100%}div.uimob340 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob340 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob340 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob340 .um-member{width:100%}div.uimob340 .um-gutter-sizer{width:0}div.uimob340 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob340 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob340 .um-account-meta{margin-bottom:0}.uimob340 .um-half{float:none;width:100%;margin:0 0 10px}.uimob340 .um-button.um-btn-auto-width{min-width:auto;max-width:auto;width:100%}.uimob340 .um-col-alt-s{padding-top:0}div.uimob500 .um-profile-nav{padding:0}div.uimob500 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob500 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:22px;height:22px;line-height:22px}div.uimob500 .um-profile-subnav{padding:8px 15px}div.uimob500 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob500 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob500 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob500 .um-cover-overlay{padding:0}div.uimob500 .um-cover-overlay i,div.uimob500 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob500{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob500,.um-modal.uimob500 .um-modal-body,.um-modal.uimob500 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob500 .um-modal-header{text-align:center}.um-modal.uimob500 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob500 .um-modal-right{width:100%;float:none}.um-modal.uimob500 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob500 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob500 .um-profile-body{padding-left:0;padding-right:0}div.uimob500 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob500 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob500 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob500 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob500 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob500 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob500 .um-header .um-name{float:none!important;margin-right:0!important;font-size:21px}div.uimob500 .um-header .um-meta,div.uimob500 .um-header .um-meta-text{padding:0 20px}div.uimob500 .um-header .um-meta span:first-child{display:block}div.uimob500 .um-header .um-meta span{display:none}div.uimob500 .um-col-121,div.uimob500 .um-col-122,div.uimob500 .um-col-131,div.uimob500 .um-col-132,div.uimob500 .um-col-133{float:none;width:100%;margin:0}div.uimob500 .um-field-half{float:none;width:100%}div.uimob500 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob500 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob500 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob500 .um-member{width:100%}div.uimob500 .um-gutter-sizer{width:0}div.uimob500 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob500 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob500 .um-account-meta{margin-bottom:0}div.uimob800 .um-profile-nav{padding:0}div.uimob800 .um-profile-nav-item a{padding:10px 20px;margin-left:0;border-radius:0}div.uimob800 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:26px;height:26px;line-height:26px}div.uimob800 .um-profile-subnav{padding:8px 15px}div.uimob800 .um-profile-subnav a{display:block;text-align:left;font-size:14px;margin:0;padding:6px 0}div.uimob800 .um-profile-subnav span{font-size:12px;padding:2px 8px}div.uimob800 .um-account-main{width:90%;max-width:450px}div.uimob800 .um-account-side{padding:0;width:10%}div.uimob800 .um-account-side ul{border:1px solid #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.uimob800 .um-account-side li{margin-bottom:0!important;background:0 0}div.uimob800 .um-account-side li a{display:block;padding:0!important;height:44px;line-height:44px;color:#666!important;text-align:center;text-decoration:none!important;background:0 0;transition:all .2s linear}div.uimob800 .um-account-side li:first-child a{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}div.uimob800 .um-account-side li:last-child a{-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}div.uimob800 .um-account-side li a span.um-account-icontip{display:block;float:left;text-align:center;width:100%;height:100%;font-size:22px;line-height:44px}div.uimob800 .um-account-side li a span.um-account-icontip i{position:relative;text-align:center;width:100%}div.uimob800 .um-account-side li a.current,div.uimob800 .um-account-side li a.current:hover{color:#fff!important}div.uimob800 .um-account-meta a{border:1px solid #ddd}div.uimob800 .um-account-meta a,div.uimob800 .um-account-meta img{display:block;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;max-width:100%;height:auto}div.uimob800 .um-profile-photo{width:200px!important}div.uimob800 .um-profile-photo a.um-profile-photo-img{width:140px!important;height:140px!important;top:-70px!important}div.uimob800 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{top:auto!important}div.uimob800 .um-header .um-profile-meta{padding-left:200px}div.uimob800 .um-cover-overlay{padding:0}div.uimob800 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob800 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob800 .um-search .um-search-filter-2{margin-left:4%}div.uimob800 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob800 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob800 .um-member{width:48%}div.uimob800 .um-gutter-sizer{width:4%}div.uimob960 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob960 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob960 .um-search .um-search-filter-2{margin-left:4%}div.uimob960 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob960 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob960 .um-member{width:48%}div.uimob960 .um-gutter-sizer{width:4%}@media screen and (max-height:400px){.ajax-upload-dragdrop span.icon{display:none}.um-modal.no-photo{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.no-photo,.um-modal.no-photo .um-modal-body,.um-modal.no-photo .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.no-photo .um-modal-header{text-align:center;font-size:14px}.um-modal.no-photo .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.no-photo .um-modal-right{width:100%;float:none}.um-modal.no-photo .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}}@media screen and (max-height:300px){.ajax-upload-dragdrop span.icon,.ajax-upload-dragdrop span.str,.um-modal.no-photo .um-modal-header{display:none}}@media screen and (max-width:600px){.um-popup{width:96%;margin-left:2%;left:0;top:15px}}
|
assets/dynamic_css/dynamic_global.php
CHANGED
@@ -146,6 +146,7 @@ print ".um-$form_id.um .um-button.um-alt,
|
|
146 |
if ( $form_border ) {
|
147 |
print "
|
148 |
.um-$form_id.um .um-form input[type=text],
|
|
|
149 |
.um-$form_id.um .um-form input[type=password],
|
150 |
.um-$form_id.um .um-form textarea,
|
151 |
.um-$form_id.um .upload-progress,
|
@@ -166,6 +167,7 @@ print "
|
|
166 |
if ( $form_border_hover ) {
|
167 |
print "
|
168 |
.um-$form_id.um .um-form input[type=text]:focus,
|
|
|
169 |
.um-$form_id.um .um-form input[type=password]:focus,
|
170 |
.um-$form_id.um .um-form textarea:focus {
|
171 |
border: $form_border_hover !important;
|
@@ -176,6 +178,7 @@ print "
|
|
176 |
if ( $form_bg_color ) {
|
177 |
print "
|
178 |
.um-$form_id.um .um-form input[type=text],
|
|
|
179 |
.um-$form_id.um .um-form input[type=password],
|
180 |
.um-$form_id.um .um-form textarea,
|
181 |
.select2-container .select2-choice,
|
@@ -189,6 +192,7 @@ print "
|
|
189 |
if ( $form_bg_color_focus ) {
|
190 |
print "
|
191 |
.um-$form_id.um .um-form input[type=text]:focus,
|
|
|
192 |
.um-$form_id.um .um-form input[type=password]:focus,
|
193 |
.um-$form_id.um .um-form textarea:focus {
|
194 |
background-color: $form_bg_color_focus;
|
146 |
if ( $form_border ) {
|
147 |
print "
|
148 |
.um-$form_id.um .um-form input[type=text],
|
149 |
+
.um-$form_id.um .um-form input[type=number],
|
150 |
.um-$form_id.um .um-form input[type=password],
|
151 |
.um-$form_id.um .um-form textarea,
|
152 |
.um-$form_id.um .upload-progress,
|
167 |
if ( $form_border_hover ) {
|
168 |
print "
|
169 |
.um-$form_id.um .um-form input[type=text]:focus,
|
170 |
+
.um-$form_id.um .um-form input[type=number]:focus,
|
171 |
.um-$form_id.um .um-form input[type=password]:focus,
|
172 |
.um-$form_id.um .um-form textarea:focus {
|
173 |
border: $form_border_hover !important;
|
178 |
if ( $form_bg_color ) {
|
179 |
print "
|
180 |
.um-$form_id.um .um-form input[type=text],
|
181 |
+
.um-$form_id.um .um-form input[type=number],
|
182 |
.um-$form_id.um .um-form input[type=password],
|
183 |
.um-$form_id.um .um-form textarea,
|
184 |
.select2-container .select2-choice,
|
192 |
if ( $form_bg_color_focus ) {
|
193 |
print "
|
194 |
.um-$form_id.um .um-form input[type=text]:focus,
|
195 |
+
.um-$form_id.um .um-form input[type=number]:focus,
|
196 |
.um-$form_id.um .um-form input[type=password]:focus,
|
197 |
.um-$form_id.um .um-form textarea:focus {
|
198 |
background-color: $form_bg_color_focus;
|
assets/js/um-functions.js
CHANGED
@@ -6,6 +6,7 @@ function um_conditional(){
|
|
6 |
jQuery('.um-field.um-is-conditional').each(function(){
|
7 |
//console.log('-----');
|
8 |
var found = 0;
|
|
|
9 |
for (var i = 0; i < 5; i++) {
|
10 |
|
11 |
var action0 = jQuery(this).data('cond-'+i+'-action');
|
@@ -15,14 +16,15 @@ function um_conditional(){
|
|
15 |
|
16 |
|
17 |
if ( action0 == 'show' && field0 == live_field && typeof value0 !== 'undefined' ) {
|
18 |
-
|
19 |
-
|
20 |
if ( operator0 == 'empty' ) {
|
21 |
if ( !live_value || live_value == '' || found > 0 ) {
|
22 |
jQuery(this).fadeIn();
|
23 |
found++;
|
24 |
} else {
|
25 |
jQuery(this).hide();
|
|
|
|
|
26 |
|
27 |
}
|
28 |
}
|
@@ -33,7 +35,9 @@ function um_conditional(){
|
|
33 |
found++;
|
34 |
} else {
|
35 |
jQuery(this).hide();
|
36 |
-
|
|
|
|
|
37 |
}
|
38 |
}
|
39 |
|
@@ -43,7 +47,9 @@ function um_conditional(){
|
|
43 |
found++;
|
44 |
} else {
|
45 |
jQuery(this).hide();
|
46 |
-
|
|
|
|
|
47 |
}
|
48 |
}
|
49 |
|
@@ -56,7 +62,9 @@ function um_conditional(){
|
|
56 |
found++;
|
57 |
} else {
|
58 |
jQuery(this).hide();
|
59 |
-
|
|
|
|
|
60 |
}
|
61 |
}
|
62 |
|
@@ -66,7 +74,9 @@ function um_conditional(){
|
|
66 |
found++;
|
67 |
} else {
|
68 |
jQuery(this).hide();
|
69 |
-
|
|
|
|
|
70 |
}
|
71 |
}
|
72 |
|
@@ -76,7 +86,9 @@ function um_conditional(){
|
|
76 |
found++;
|
77 |
} else {
|
78 |
jQuery(this).hide();
|
79 |
-
|
|
|
|
|
80 |
}
|
81 |
}
|
82 |
|
@@ -86,7 +98,9 @@ function um_conditional(){
|
|
86 |
found++;
|
87 |
} else {
|
88 |
jQuery(this).hide();
|
89 |
-
|
|
|
|
|
90 |
}
|
91 |
}
|
92 |
|
@@ -100,6 +114,7 @@ function um_conditional(){
|
|
100 |
found++;
|
101 |
} else {
|
102 |
jQuery(this).fadeIn();
|
|
|
103 |
}
|
104 |
}
|
105 |
|
@@ -109,6 +124,8 @@ function um_conditional(){
|
|
109 |
found++;
|
110 |
} else {
|
111 |
jQuery(this).fadeIn();
|
|
|
|
|
112 |
}
|
113 |
}
|
114 |
|
@@ -118,6 +135,8 @@ function um_conditional(){
|
|
118 |
found++;
|
119 |
} else {
|
120 |
jQuery(this).fadeIn();
|
|
|
|
|
121 |
}
|
122 |
}
|
123 |
|
@@ -130,6 +149,8 @@ function um_conditional(){
|
|
130 |
found++;
|
131 |
} else {
|
132 |
jQuery(this).fadeIn();
|
|
|
|
|
133 |
}
|
134 |
}
|
135 |
|
@@ -139,6 +160,8 @@ function um_conditional(){
|
|
139 |
found++;
|
140 |
} else {
|
141 |
jQuery(this).fadeIn();
|
|
|
|
|
142 |
}
|
143 |
}
|
144 |
|
@@ -148,6 +171,8 @@ function um_conditional(){
|
|
148 |
found++;
|
149 |
} else {
|
150 |
jQuery(this).fadeIn();
|
|
|
|
|
151 |
}
|
152 |
}
|
153 |
|
@@ -157,6 +182,8 @@ function um_conditional(){
|
|
157 |
found++;
|
158 |
} else {
|
159 |
jQuery(this).fadeIn();
|
|
|
|
|
160 |
}
|
161 |
}
|
162 |
//console.log( 'hide',i,value0, live_value );
|
@@ -827,4 +854,15 @@ function responsive_Modal() {
|
|
827 |
|
828 |
}
|
829 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
830 |
}
|
6 |
jQuery('.um-field.um-is-conditional').each(function(){
|
7 |
//console.log('-----');
|
8 |
var found = 0;
|
9 |
+
var um_field_key = jQuery(this).data('key');
|
10 |
for (var i = 0; i < 5; i++) {
|
11 |
|
12 |
var action0 = jQuery(this).data('cond-'+i+'-action');
|
16 |
|
17 |
|
18 |
if ( action0 == 'show' && field0 == live_field && typeof value0 !== 'undefined' ) {
|
19 |
+
|
|
|
20 |
if ( operator0 == 'empty' ) {
|
21 |
if ( !live_value || live_value == '' || found > 0 ) {
|
22 |
jQuery(this).fadeIn();
|
23 |
found++;
|
24 |
} else {
|
25 |
jQuery(this).hide();
|
26 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
|
27 |
+
um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
|
28 |
|
29 |
}
|
30 |
}
|
35 |
found++;
|
36 |
} else {
|
37 |
jQuery(this).hide();
|
38 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
|
39 |
+
um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
|
40 |
+
|
41 |
}
|
42 |
}
|
43 |
|
47 |
found++;
|
48 |
} else {
|
49 |
jQuery(this).hide();
|
50 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
|
51 |
+
um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
|
52 |
+
|
53 |
}
|
54 |
}
|
55 |
|
62 |
found++;
|
63 |
} else {
|
64 |
jQuery(this).hide();
|
65 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
|
66 |
+
um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
|
67 |
+
|
68 |
}
|
69 |
}
|
70 |
|
74 |
found++;
|
75 |
} else {
|
76 |
jQuery(this).hide();
|
77 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
|
78 |
+
um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
|
79 |
+
|
80 |
}
|
81 |
}
|
82 |
|
86 |
found++;
|
87 |
} else {
|
88 |
jQuery(this).hide();
|
89 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
|
90 |
+
um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
|
91 |
+
|
92 |
}
|
93 |
}
|
94 |
|
98 |
found++;
|
99 |
} else {
|
100 |
jQuery(this).hide();
|
101 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
|
102 |
+
um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
|
103 |
+
|
104 |
}
|
105 |
}
|
106 |
|
114 |
found++;
|
115 |
} else {
|
116 |
jQuery(this).fadeIn();
|
117 |
+
|
118 |
}
|
119 |
}
|
120 |
|
124 |
found++;
|
125 |
} else {
|
126 |
jQuery(this).fadeIn();
|
127 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
|
128 |
+
|
129 |
}
|
130 |
}
|
131 |
|
135 |
found++;
|
136 |
} else {
|
137 |
jQuery(this).fadeIn();
|
138 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
|
139 |
+
|
140 |
}
|
141 |
}
|
142 |
|
149 |
found++;
|
150 |
} else {
|
151 |
jQuery(this).fadeIn();
|
152 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
|
153 |
+
|
154 |
}
|
155 |
}
|
156 |
|
160 |
found++;
|
161 |
} else {
|
162 |
jQuery(this).fadeIn();
|
163 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
|
164 |
+
|
165 |
}
|
166 |
}
|
167 |
|
171 |
found++;
|
172 |
} else {
|
173 |
jQuery(this).fadeIn();
|
174 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
|
175 |
+
|
176 |
}
|
177 |
}
|
178 |
|
182 |
found++;
|
183 |
} else {
|
184 |
jQuery(this).fadeIn();
|
185 |
+
jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
|
186 |
+
|
187 |
}
|
188 |
}
|
189 |
//console.log( 'hide',i,value0, live_value );
|
854 |
|
855 |
}
|
856 |
}
|
857 |
+
}
|
858 |
+
|
859 |
+
function um_reset_field( dOm ){
|
860 |
+
//console.log(dOm);
|
861 |
+
jQuery(dOm)
|
862 |
+
.find('div.um-field-area')
|
863 |
+
.find('input,textarea,select')
|
864 |
+
.not(':button, :submit, :reset, :hidden')
|
865 |
+
.val('')
|
866 |
+
.removeAttr('checked')
|
867 |
+
.removeAttr('selected');
|
868 |
}
|
assets/js/um-scripts.js
CHANGED
@@ -3,7 +3,7 @@ jQuery(document).ready(function() {
|
|
3 |
jQuery(document).on('click', '.um-dropdown a', function(e){
|
4 |
return false;
|
5 |
});
|
6 |
-
|
7 |
jQuery(document).on('click', '.um-dropdown a.real_url', function(e){
|
8 |
window.location = jQuery(this).attr('href');
|
9 |
});
|
@@ -40,7 +40,7 @@ jQuery(document).ready(function() {
|
|
40 |
});
|
41 |
|
42 |
jQuery(document).on('change', '.um-field-area input[type=checkbox]', function(){
|
43 |
-
|
44 |
var field = jQuery(this).parents('.um-field-area');
|
45 |
var this_field = jQuery(this).parents('label');
|
46 |
if ( this_field.hasClass('active') ) {
|
@@ -63,13 +63,13 @@ jQuery(document).ready(function() {
|
|
63 |
}
|
64 |
|
65 |
var years_n = elem.attr('data-years');
|
66 |
-
|
67 |
var min = elem.attr('data-date_min');
|
68 |
var max = elem.attr('data-date_max');
|
69 |
|
70 |
-
var min = min.split(",");
|
71 |
-
var max = max.split(",");
|
72 |
-
|
73 |
elem.pickadate({
|
74 |
selectYears: years_n,
|
75 |
min: min,
|
@@ -85,7 +85,7 @@ jQuery(document).ready(function() {
|
|
85 |
|
86 |
jQuery('.um-timepicker').each(function(){
|
87 |
elem = jQuery(this);
|
88 |
-
|
89 |
elem.pickatime({
|
90 |
format: elem.attr('data-format'),
|
91 |
interval: parseInt( elem.attr('data-intervals') ),
|
@@ -128,7 +128,7 @@ jQuery(document).ready(function() {
|
|
128 |
parent.find('.um-single-image-preview').hide();
|
129 |
parent.find('.um-btn-auto-width').html('Upload');
|
130 |
parent.find('input[type=hidden]').val('');
|
131 |
-
|
132 |
jQuery.ajax({
|
133 |
url: um_scripts.ajaxurl,
|
134 |
type: 'post',
|
@@ -137,7 +137,7 @@ jQuery(document).ready(function() {
|
|
137 |
src: src
|
138 |
}
|
139 |
});
|
140 |
-
|
141 |
return false;
|
142 |
});
|
143 |
|
@@ -148,7 +148,7 @@ jQuery(document).ready(function() {
|
|
148 |
parent.find('.um-single-file-preview').hide();
|
149 |
parent.find('.um-btn-auto-width').html('Upload');
|
150 |
parent.find('input[type=hidden]').val('');
|
151 |
-
|
152 |
jQuery.ajax({
|
153 |
url: um_scripts.ajaxurl,
|
154 |
type: 'post',
|
@@ -157,7 +157,7 @@ jQuery(document).ready(function() {
|
|
157 |
src: src
|
158 |
}
|
159 |
});
|
160 |
-
|
161 |
return false;
|
162 |
});
|
163 |
|
@@ -165,24 +165,24 @@ jQuery(document).ready(function() {
|
|
165 |
allowClear: true,
|
166 |
minimumResultsForSearch: 10
|
167 |
});
|
168 |
-
|
169 |
jQuery(".um-s2").select2({
|
170 |
allowClear: false,
|
171 |
minimumResultsForSearch: 10
|
172 |
});
|
173 |
-
|
174 |
jQuery('.um-s1,.um-s2').css({'display':'block'});
|
175 |
|
176 |
jQuery(document).on('click', '.um-field-group-head:not(.disabled)', function(){
|
177 |
var field = jQuery(this).parents('.um-field-group');
|
178 |
var limit = field.data('max_entries');
|
179 |
-
|
180 |
if ( field.find('.um-field-group-body').is(':hidden')){
|
181 |
field.find('.um-field-group-body').show();
|
182 |
} else {
|
183 |
field.find('.um-field-group-body:first').clone().appendTo( field );
|
184 |
}
|
185 |
-
|
186 |
increase_id = 0;
|
187 |
field.find('.um-field-group-body').each(function(){
|
188 |
increase_id++;
|
@@ -193,34 +193,34 @@ jQuery(document).ready(function() {
|
|
193 |
input.parent().parent().find('label').attr('for', input.data('key') + '-' + increase_id );
|
194 |
});
|
195 |
});
|
196 |
-
|
197 |
if ( limit > 0 && field.find('.um-field-group-body').length == limit ) {
|
198 |
-
|
199 |
jQuery(this).addClass('disabled');
|
200 |
-
|
201 |
}
|
202 |
-
|
203 |
});
|
204 |
|
205 |
jQuery(document).on('click', '.um-field-group-cancel', function(e){
|
206 |
e.preventDefault();
|
207 |
var field = jQuery(this).parents('.um-field-group');
|
208 |
-
|
209 |
var limit = field.data('max_entries');
|
210 |
-
|
211 |
if ( field.find('.um-field-group-body').length > 1 ) {
|
212 |
jQuery(this).parents('.um-field-group-body').remove();
|
213 |
} else {
|
214 |
jQuery(this).parents('.um-field-group-body').hide();
|
215 |
}
|
216 |
-
|
217 |
if ( limit > 0 && field.find('.um-field-group-body').length < limit ) {
|
218 |
field.find('.um-field-group-head').removeClass('disabled');
|
219 |
}
|
220 |
-
|
221 |
return false;
|
222 |
});
|
223 |
-
|
224 |
jQuery(document).on('click', '.um-ajax-paginate', function(e){
|
225 |
e.preventDefault();
|
226 |
var parent = jQuery(this).parent();
|
@@ -246,17 +246,17 @@ jQuery(document).ready(function() {
|
|
246 |
});
|
247 |
return false;
|
248 |
});
|
249 |
-
|
250 |
jQuery(document).on('click', '.um-ajax-action', function(e){
|
251 |
e.preventDefault();
|
252 |
var hook = jQuery(this).data('hook');
|
253 |
var user_id = jQuery(this).data('user_id');
|
254 |
var arguments = jQuery(this).data('arguments');
|
255 |
-
|
256 |
if ( jQuery(this).data('js-remove') ){
|
257 |
jQuery(this).parents('.'+jQuery(this).data('js-remove')).fadeOut('fast');
|
258 |
}
|
259 |
-
|
260 |
jQuery.ajax({
|
261 |
url: um_scripts.ajaxurl,
|
262 |
type: 'post',
|
@@ -273,4 +273,4 @@ jQuery(document).ready(function() {
|
|
273 |
return false;
|
274 |
});
|
275 |
|
276 |
-
});
|
3 |
jQuery(document).on('click', '.um-dropdown a', function(e){
|
4 |
return false;
|
5 |
});
|
6 |
+
|
7 |
jQuery(document).on('click', '.um-dropdown a.real_url', function(e){
|
8 |
window.location = jQuery(this).attr('href');
|
9 |
});
|
40 |
});
|
41 |
|
42 |
jQuery(document).on('change', '.um-field-area input[type=checkbox]', function(){
|
43 |
+
|
44 |
var field = jQuery(this).parents('.um-field-area');
|
45 |
var this_field = jQuery(this).parents('label');
|
46 |
if ( this_field.hasClass('active') ) {
|
63 |
}
|
64 |
|
65 |
var years_n = elem.attr('data-years');
|
66 |
+
|
67 |
var min = elem.attr('data-date_min');
|
68 |
var max = elem.attr('data-date_max');
|
69 |
|
70 |
+
var min = min.length ? new Date(min.split(",")) : null;
|
71 |
+
var max = max.length ? new Date(max.split(",")) : null;
|
72 |
+
|
73 |
elem.pickadate({
|
74 |
selectYears: years_n,
|
75 |
min: min,
|
85 |
|
86 |
jQuery('.um-timepicker').each(function(){
|
87 |
elem = jQuery(this);
|
88 |
+
|
89 |
elem.pickatime({
|
90 |
format: elem.attr('data-format'),
|
91 |
interval: parseInt( elem.attr('data-intervals') ),
|
128 |
parent.find('.um-single-image-preview').hide();
|
129 |
parent.find('.um-btn-auto-width').html('Upload');
|
130 |
parent.find('input[type=hidden]').val('');
|
131 |
+
|
132 |
jQuery.ajax({
|
133 |
url: um_scripts.ajaxurl,
|
134 |
type: 'post',
|
137 |
src: src
|
138 |
}
|
139 |
});
|
140 |
+
|
141 |
return false;
|
142 |
});
|
143 |
|
148 |
parent.find('.um-single-file-preview').hide();
|
149 |
parent.find('.um-btn-auto-width').html('Upload');
|
150 |
parent.find('input[type=hidden]').val('');
|
151 |
+
|
152 |
jQuery.ajax({
|
153 |
url: um_scripts.ajaxurl,
|
154 |
type: 'post',
|
157 |
src: src
|
158 |
}
|
159 |
});
|
160 |
+
|
161 |
return false;
|
162 |
});
|
163 |
|
165 |
allowClear: true,
|
166 |
minimumResultsForSearch: 10
|
167 |
});
|
168 |
+
|
169 |
jQuery(".um-s2").select2({
|
170 |
allowClear: false,
|
171 |
minimumResultsForSearch: 10
|
172 |
});
|
173 |
+
|
174 |
jQuery('.um-s1,.um-s2').css({'display':'block'});
|
175 |
|
176 |
jQuery(document).on('click', '.um-field-group-head:not(.disabled)', function(){
|
177 |
var field = jQuery(this).parents('.um-field-group');
|
178 |
var limit = field.data('max_entries');
|
179 |
+
|
180 |
if ( field.find('.um-field-group-body').is(':hidden')){
|
181 |
field.find('.um-field-group-body').show();
|
182 |
} else {
|
183 |
field.find('.um-field-group-body:first').clone().appendTo( field );
|
184 |
}
|
185 |
+
|
186 |
increase_id = 0;
|
187 |
field.find('.um-field-group-body').each(function(){
|
188 |
increase_id++;
|
193 |
input.parent().parent().find('label').attr('for', input.data('key') + '-' + increase_id );
|
194 |
});
|
195 |
});
|
196 |
+
|
197 |
if ( limit > 0 && field.find('.um-field-group-body').length == limit ) {
|
198 |
+
|
199 |
jQuery(this).addClass('disabled');
|
200 |
+
|
201 |
}
|
202 |
+
|
203 |
});
|
204 |
|
205 |
jQuery(document).on('click', '.um-field-group-cancel', function(e){
|
206 |
e.preventDefault();
|
207 |
var field = jQuery(this).parents('.um-field-group');
|
208 |
+
|
209 |
var limit = field.data('max_entries');
|
210 |
+
|
211 |
if ( field.find('.um-field-group-body').length > 1 ) {
|
212 |
jQuery(this).parents('.um-field-group-body').remove();
|
213 |
} else {
|
214 |
jQuery(this).parents('.um-field-group-body').hide();
|
215 |
}
|
216 |
+
|
217 |
if ( limit > 0 && field.find('.um-field-group-body').length < limit ) {
|
218 |
field.find('.um-field-group-head').removeClass('disabled');
|
219 |
}
|
220 |
+
|
221 |
return false;
|
222 |
});
|
223 |
+
|
224 |
jQuery(document).on('click', '.um-ajax-paginate', function(e){
|
225 |
e.preventDefault();
|
226 |
var parent = jQuery(this).parent();
|
246 |
});
|
247 |
return false;
|
248 |
});
|
249 |
+
|
250 |
jQuery(document).on('click', '.um-ajax-action', function(e){
|
251 |
e.preventDefault();
|
252 |
var hook = jQuery(this).data('hook');
|
253 |
var user_id = jQuery(this).data('user_id');
|
254 |
var arguments = jQuery(this).data('arguments');
|
255 |
+
|
256 |
if ( jQuery(this).data('js-remove') ){
|
257 |
jQuery(this).parents('.'+jQuery(this).data('js-remove')).fadeOut('fast');
|
258 |
}
|
259 |
+
|
260 |
jQuery.ajax({
|
261 |
url: um_scripts.ajaxurl,
|
262 |
type: 'post',
|
273 |
return false;
|
274 |
});
|
275 |
|
276 |
+
});
|
core/um-actions-access.php
CHANGED
@@ -63,7 +63,12 @@
|
|
63 |
add_action('um_access_category_settings','um_access_category_settings');
|
64 |
function um_access_category_settings() {
|
65 |
global $post, $wp_query, $ultimatemember;
|
66 |
-
|
|
|
|
|
|
|
|
|
|
|
67 |
|
68 |
|
69 |
$categories = get_the_category();
|
@@ -82,7 +87,7 @@
|
|
82 |
case 1:
|
83 |
|
84 |
if ( is_user_logged_in() )
|
85 |
-
$ultimatemember->access->redirect_handler = ( isset( $opt['_um_redirect'] ) ) ? $opt['_um_redirect'] :
|
86 |
|
87 |
if ( !is_user_logged_in() )
|
88 |
$ultimatemember->access->allow_access = true;
|
@@ -98,7 +103,7 @@
|
|
98 |
if ( !in_array( um_user('role'), $opt['_um_roles'] ) ) {
|
99 |
|
100 |
if ( is_user_logged_in() )
|
101 |
-
$ultimatemember->access->redirect_handler = ( isset( $opt['_um_redirect'] ) ) ? $opt['_um_redirect'] :
|
102 |
|
103 |
if ( !is_user_logged_in() )
|
104 |
$ultimatemember->access->redirect_handler = um_get_core_page('login');
|
@@ -107,6 +112,11 @@
|
|
107 |
|
108 |
}
|
109 |
}
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
111 |
}
|
112 |
}
|
@@ -123,7 +133,7 @@
|
|
123 |
|
124 |
$post_id = get_option('woocommerce_shop_page_id');
|
125 |
|
126 |
-
} else if ( is_archive() || is_front_page() || is_search() || in_the_loop() ) {
|
127 |
|
128 |
return;
|
129 |
|
@@ -184,7 +194,7 @@
|
|
184 |
if ( !in_array( um_user('role'), unserialize( $access_roles ) ) ) {
|
185 |
if ( !$access_redirect ) {
|
186 |
if ( is_user_logged_in() ) {
|
187 |
-
$access_redirect =
|
188 |
} else {
|
189 |
$access_redirect = um_get_core_page('login');
|
190 |
}
|
63 |
add_action('um_access_category_settings','um_access_category_settings');
|
64 |
function um_access_category_settings() {
|
65 |
global $post, $wp_query, $ultimatemember;
|
66 |
+
|
67 |
+
if( is_front_page() || is_home() ){
|
68 |
+
return;
|
69 |
+
}
|
70 |
+
|
71 |
+
if ( is_single() || get_the_category() ) {
|
72 |
|
73 |
|
74 |
$categories = get_the_category();
|
87 |
case 1:
|
88 |
|
89 |
if ( is_user_logged_in() )
|
90 |
+
$ultimatemember->access->redirect_handler = ( isset( $opt['_um_redirect'] ) ) ? $opt['_um_redirect'] : site_url();
|
91 |
|
92 |
if ( !is_user_logged_in() )
|
93 |
$ultimatemember->access->allow_access = true;
|
103 |
if ( !in_array( um_user('role'), $opt['_um_roles'] ) ) {
|
104 |
|
105 |
if ( is_user_logged_in() )
|
106 |
+
$ultimatemember->access->redirect_handler = ( isset( $opt['_um_redirect'] ) ) ? $opt['_um_redirect'] : site_url();
|
107 |
|
108 |
if ( !is_user_logged_in() )
|
109 |
$ultimatemember->access->redirect_handler = um_get_core_page('login');
|
112 |
|
113 |
}
|
114 |
}
|
115 |
+
|
116 |
+
if( is_archive() ){
|
117 |
+
$ultimatemember->access->allow_access = true;
|
118 |
+
$ultimatemember->access->redirect_handler = false; // open to everyone
|
119 |
+
}
|
120 |
}
|
121 |
}
|
122 |
}
|
133 |
|
134 |
$post_id = get_option('woocommerce_shop_page_id');
|
135 |
|
136 |
+
} else if ( is_archive() || is_front_page() || is_home() || is_search() || in_the_loop() ) {
|
137 |
|
138 |
return;
|
139 |
|
194 |
if ( !in_array( um_user('role'), unserialize( $access_roles ) ) ) {
|
195 |
if ( !$access_redirect ) {
|
196 |
if ( is_user_logged_in() ) {
|
197 |
+
$access_redirect = site_url();
|
198 |
} else {
|
199 |
$access_redirect = um_get_core_page('login');
|
200 |
}
|
core/um-actions-login.php
CHANGED
@@ -203,6 +203,7 @@
|
|
203 |
|
204 |
<?php if ( isset( $args['show_rememberme'] ) && $args['show_rememberme'] ) {
|
205 |
echo $ultimatemember->fields->checkbox('rememberme', __('Keep me signed in','ultimatemember') );
|
|
|
206 |
} ?>
|
207 |
|
208 |
<?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
|
203 |
|
204 |
<?php if ( isset( $args['show_rememberme'] ) && $args['show_rememberme'] ) {
|
205 |
echo $ultimatemember->fields->checkbox('rememberme', __('Keep me signed in','ultimatemember') );
|
206 |
+
echo '<div class="um-clear"></div>';
|
207 |
} ?>
|
208 |
|
209 |
<?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
|
core/um-actions-members.php
CHANGED
@@ -222,22 +222,24 @@
|
|
222 |
|
223 |
<?php $i = 0; foreach( um_members('users_per_page') as $member) { $i++; um_fetch_user( $member ); ?>
|
224 |
|
225 |
-
<div class="um-member <?php echo um_user('account_status'); ?> <?php if ($cover_photos) { echo 'with-cover'; } ?>">
|
226 |
|
227 |
<span class="um-member-status <?php echo um_user('account_status'); ?>"><?php echo um_user('account_status_name'); ?></span>
|
228 |
|
229 |
<?php if ($cover_photos) {
|
230 |
|
|
|
|
|
231 |
if ( $ultimatemember->mobile->isTablet() ) {
|
232 |
-
$cover_size =
|
233 |
} else {
|
234 |
-
$cover_size =
|
235 |
}
|
236 |
|
237 |
?>
|
238 |
|
239 |
<div class="um-member-cover" data-ratio="<?php echo um_get_option('profile_cover_ratio'); ?>">
|
240 |
-
<div class="um-member-cover-e"><?php echo um_user('cover_photo', $cover_size); ?></div>
|
241 |
</div>
|
242 |
|
243 |
<?php } ?>
|
222 |
|
223 |
<?php $i = 0; foreach( um_members('users_per_page') as $member) { $i++; um_fetch_user( $member ); ?>
|
224 |
|
225 |
+
<div class="um-member um-role-<?php echo um_user('role'); ?> <?php echo um_user('account_status'); ?> <?php if ($cover_photos) { echo 'with-cover'; } ?>">
|
226 |
|
227 |
<span class="um-member-status <?php echo um_user('account_status'); ?>"><?php echo um_user('account_status_name'); ?></span>
|
228 |
|
229 |
<?php if ($cover_photos) {
|
230 |
|
231 |
+
$sizes = um_get_option('cover_thumb_sizes');
|
232 |
+
|
233 |
if ( $ultimatemember->mobile->isTablet() ) {
|
234 |
+
$cover_size = $sizes[1];
|
235 |
} else {
|
236 |
+
$cover_size = $sizes[0];
|
237 |
}
|
238 |
|
239 |
?>
|
240 |
|
241 |
<div class="um-member-cover" data-ratio="<?php echo um_get_option('profile_cover_ratio'); ?>">
|
242 |
+
<div class="um-member-cover-e"><a href="<?php echo um_user_profile_url(); ?>" title="<?php echo um_user('display_name'); ?>"><?php echo um_user('cover_photo', $cover_size); ?></a></div>
|
243 |
</div>
|
244 |
|
245 |
<?php } ?>
|
core/um-actions-profile.php
CHANGED
@@ -6,49 +6,49 @@
|
|
6 |
add_action('um_profile_content_main','um_profile_content_main');
|
7 |
function um_profile_content_main( $args ) {
|
8 |
extract( $args );
|
9 |
-
|
10 |
if ( !um_get_option('profile_tab_main') && !isset( $_REQUEST['um_action'] ) )
|
11 |
return;
|
12 |
-
|
13 |
$can_view = apply_filters('um_profile_can_view_main', -1, um_profile_id() );
|
14 |
-
|
15 |
if ( $can_view == -1 ) {
|
16 |
-
|
17 |
do_action("um_before_form", $args);
|
18 |
-
|
19 |
do_action("um_before_{$mode}_fields", $args);
|
20 |
-
|
21 |
do_action("um_main_{$mode}_fields", $args);
|
22 |
-
|
23 |
do_action("um_after_form_fields", $args);
|
24 |
-
|
25 |
do_action("um_after_{$mode}_fields", $args);
|
26 |
-
|
27 |
do_action("um_after_form", $args);
|
28 |
-
|
29 |
} else {
|
30 |
-
|
31 |
?>
|
32 |
-
|
33 |
<div class="um-profile-note"><span><i class="um-faicon-lock"></i><?php echo $can_view; ?></span></div>
|
34 |
-
|
35 |
<?php
|
36 |
-
|
37 |
}
|
38 |
-
|
39 |
}
|
40 |
-
|
41 |
/***
|
42 |
*** @update user's profile
|
43 |
***/
|
44 |
add_action('um_user_edit_profile', 'um_user_edit_profile', 10);
|
45 |
function um_user_edit_profile($args){
|
46 |
-
|
47 |
global $ultimatemember;
|
48 |
-
|
49 |
$to_update = null;
|
50 |
$files = null;
|
51 |
-
|
52 |
if ( isset( $args['user_id'] ) ) {
|
53 |
if ( um_current_user_can('edit', $args['user_id'] ) ) {
|
54 |
$ultimatemember->user->set( $args['user_id'] );
|
@@ -58,27 +58,27 @@
|
|
58 |
} else if ( isset( $args['_user_id'] ) ) {
|
59 |
$ultimatemember->user->set( $args['_user_id'] );
|
60 |
}
|
61 |
-
|
62 |
$userinfo = $ultimatemember->user->profile;
|
63 |
-
|
64 |
$fields = unserialize( $args['custom_fields'] );
|
65 |
-
|
66 |
do_action('um_user_before_updating_profile', $userinfo );
|
67 |
-
|
68 |
// loop through fields
|
69 |
if ( isset( $fields ) && is_array( $fields ) ) {
|
70 |
foreach( $fields as $key => $array ) {
|
71 |
-
|
72 |
if ( $fields[$key]['type'] == 'multiselect' || $fields[$key]['type'] == 'checkbox' && !isset($args['submitted'][$key]) ) {
|
73 |
delete_user_meta( um_user('ID'), $key );
|
74 |
}
|
75 |
-
|
76 |
if ( isset( $args['submitted'][ $key ] ) ) {
|
77 |
|
78 |
if ( isset( $fields[$key]['type'] ) && in_array( $fields[$key]['type'], array('image','file') ) && um_is_temp_upload( $args['submitted'][ $key ] ) ) {
|
79 |
-
|
80 |
$files[ $key ] = $args['submitted'][ $key ];
|
81 |
-
|
82 |
} else {
|
83 |
|
84 |
if ( isset( $userinfo[$key]) && $args['submitted'][$key] != $userinfo[$key] ) {
|
@@ -86,23 +86,23 @@
|
|
86 |
} else if ( $args['submitted'][$key] ) {
|
87 |
$to_update[ $key ] = $args['submitted'][ $key ];
|
88 |
}
|
89 |
-
|
90 |
}
|
91 |
-
|
92 |
}
|
93 |
}
|
94 |
}
|
95 |
-
|
96 |
if ( isset( $args['submitted']['description'] ) ) {
|
97 |
$to_update['description'] = $args['submitted']['description'];
|
98 |
}
|
99 |
-
|
100 |
if ( isset( $args['submitted']['role'] ) && !empty( $args['submitted']['role'] ) ) {
|
101 |
$to_update['role'] = $args['submitted']['role'];
|
102 |
}
|
103 |
-
|
104 |
do_action('um_user_pre_updating_profile', $to_update );
|
105 |
-
|
106 |
$to_update = apply_filters('um_user_pre_updating_profile_array', $to_update);
|
107 |
|
108 |
if ( is_array( $to_update ) ) {
|
@@ -112,78 +112,78 @@
|
|
112 |
if ( is_array( $files ) ) {
|
113 |
$ultimatemember->user->update_files( $files );
|
114 |
}
|
115 |
-
|
116 |
do_action('um_after_user_updated', um_user('ID') );
|
117 |
do_action('um_after_user_upload', um_user('ID') );
|
118 |
do_action('um_user_after_updating_profile', $to_update );
|
119 |
-
|
120 |
if ( !isset( $args['is_signup'] ) ) {
|
121 |
exit( wp_redirect( um_edit_my_profile_cancel_uri() ) );
|
122 |
}
|
123 |
-
|
124 |
}
|
125 |
-
|
126 |
/***
|
127 |
*** @if editing another user
|
128 |
***/
|
129 |
add_action('um_after_form_fields', 'um_editing_user_id_input');
|
130 |
-
function um_editing_user_id_input($args){
|
131 |
global $ultimatemember;
|
132 |
if ( $ultimatemember->fields->editing == 1 && $ultimatemember->fields->set_mode == 'profile' && $ultimatemember->user->target_id ) { ?>
|
133 |
-
|
134 |
<input type="hidden" name="user_id" id="user_id" value="<?php echo $ultimatemember->user->target_id; ?>" />
|
135 |
|
136 |
<?php
|
137 |
-
|
138 |
}
|
139 |
}
|
140 |
-
|
141 |
/***
|
142 |
*** @meta description
|
143 |
***/
|
144 |
add_action('wp_head', 'um_profile_dynamic_meta_desc', 9999999);
|
145 |
function um_profile_dynamic_meta_desc() {
|
146 |
global $ultimatemember;
|
147 |
-
|
148 |
if ( um_is_core_page('user') && um_get_requested_user() ) {
|
149 |
-
|
150 |
um_fetch_user( um_get_requested_user() );
|
151 |
-
|
152 |
$content = um_convert_tags( um_get_option('profile_desc') );
|
153 |
$user_id = um_user('ID');
|
154 |
$url = um_user_profile_url();
|
155 |
-
|
156 |
if ( um_profile('profile_photo') ) {
|
157 |
$avatar = um_user_uploads_uri() . um_profile('profile_photo');
|
158 |
} else {
|
159 |
$avatar = um_get_default_avatar_uri();
|
160 |
}
|
161 |
-
|
162 |
um_reset_user(); ?>
|
163 |
-
|
164 |
<meta name="description" content="<?php echo $content; ?>">
|
165 |
-
|
166 |
<meta property="og:title" content="<?php echo um_get_display_name( $user_id ); ?>" />
|
167 |
<meta property="og:type" content="article" />
|
168 |
<meta property="og:image" content="<?php echo $avatar; ?>" />
|
169 |
<meta property="og:url" content="<?php echo $url; ?>" />
|
170 |
<meta property="og:description" content="<?php echo $content; ?>" />
|
171 |
-
|
172 |
<?php
|
173 |
}
|
174 |
}
|
175 |
-
|
176 |
/***
|
177 |
*** @profile header cover
|
178 |
***/
|
179 |
add_action('um_profile_header_cover_area', 'um_profile_header_cover_area', 9 );
|
180 |
function um_profile_header_cover_area( $args ) {
|
181 |
global $ultimatemember;
|
182 |
-
|
183 |
if ( $args['cover_enabled'] == 1 ) {
|
184 |
-
|
185 |
$default_cover = um_get_option('default_cover');
|
186 |
-
|
187 |
$overlay = '<span class="um-cover-overlay">
|
188 |
<span class="um-cover-overlay-s">
|
189 |
<ins>
|
@@ -192,36 +192,36 @@
|
|
192 |
</ins>
|
193 |
</span>
|
194 |
</span>';
|
195 |
-
|
196 |
?>
|
197 |
|
198 |
<div class="um-cover <?php if ( um_profile('cover_photo') || ( $default_cover && $default_cover['url'] ) ) echo 'has-cover'; ?>" data-user_id="<?php echo um_profile_id(); ?>" data-ratio="<?php echo $args['cover_ratio']; ?>">
|
199 |
-
|
200 |
<?php
|
201 |
-
|
202 |
if ( $ultimatemember->fields->editing ) {
|
203 |
-
|
204 |
$items = array(
|
205 |
'<a href="#" class="um-manual-trigger" data-parent=".um-cover" data-child=".um-btn-auto-width">'.__('Change cover photo','ultimatemember').'</a>',
|
206 |
'<a href="#" class="um-reset-cover-photo" data-user_id="'.um_profile_id().'">'.__('Remove','ultimatemember').'</a>',
|
207 |
'<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
|
208 |
);
|
209 |
-
|
210 |
echo $ultimatemember->menu->new_ui( 'bc', 'div.um-cover', 'click', $items );
|
211 |
-
|
212 |
}
|
213 |
?>
|
214 |
-
|
215 |
<?php $ultimatemember->fields->add_hidden_field( 'cover_photo' ); ?>
|
216 |
-
|
217 |
<?php echo $overlay; ?>
|
218 |
-
|
219 |
<div class="um-cover-e">
|
220 |
-
|
221 |
<?php if ( um_profile('cover_photo') ) { ?>
|
222 |
-
|
223 |
<?php
|
224 |
-
|
225 |
if( $ultimatemember->mobile->isMobile() ){
|
226 |
if ( $ultimatemember->mobile->isTablet() ) {
|
227 |
echo um_user('cover_photo', 1000);
|
@@ -231,35 +231,35 @@
|
|
231 |
} else {
|
232 |
echo um_user('cover_photo', 1000);
|
233 |
}
|
234 |
-
|
235 |
?>
|
236 |
-
|
237 |
<?php } elseif ( $default_cover && $default_cover['url'] ) {
|
238 |
|
239 |
$default_cover = $default_cover['url'];
|
240 |
-
|
241 |
echo '<img src="'. $default_cover . '" alt="" />';
|
242 |
-
|
243 |
} else {
|
244 |
-
|
245 |
if ( !isset( $ultimatemember->user->cannot_edit ) ) { ?>
|
246 |
-
|
247 |
<a href="#" class="um-cover-add um-manual-trigger" data-parent=".um-cover" data-child=".um-btn-auto-width"><span class="um-cover-add-i"><i class="um-icon-plus um-tip-n" title="<?php _e('Upload a cover photo','ultimatemember'); ?>"></i></span></a>
|
248 |
-
|
249 |
<?php }
|
250 |
-
|
251 |
} ?>
|
252 |
-
|
253 |
</div>
|
254 |
-
|
255 |
</div>
|
256 |
-
|
257 |
<?php
|
258 |
|
259 |
}
|
260 |
-
|
261 |
}
|
262 |
-
|
263 |
/***
|
264 |
*** @Show social links as icons below profile name
|
265 |
***/
|
@@ -281,15 +281,15 @@
|
|
281 |
add_action('um_profile_header', 'um_profile_header', 9 );
|
282 |
function um_profile_header( $args ) {
|
283 |
global $ultimatemember;
|
284 |
-
|
285 |
$classes = null;
|
286 |
-
|
287 |
if ( !$args['cover_enabled'] ) {
|
288 |
$classes .= ' no-cover';
|
289 |
}
|
290 |
-
|
291 |
$default_size = str_replace( 'px', '', $args['photosize'] );
|
292 |
-
|
293 |
$overlay = '<span class="um-profile-photo-overlay">
|
294 |
<span class="um-profile-photo-overlay-s">
|
295 |
<ins>
|
@@ -297,115 +297,121 @@
|
|
297 |
</ins>
|
298 |
</span>
|
299 |
</span>';
|
300 |
-
|
301 |
?>
|
302 |
-
|
303 |
<div class="um-header<?php echo $classes; ?>">
|
304 |
-
|
305 |
<?php do_action('um_pre_header_editprofile', $args); ?>
|
306 |
-
|
307 |
<div class="um-profile-photo" data-user_id="<?php echo um_profile_id(); ?>">
|
308 |
|
309 |
<a href="<?php echo um_user_profile_url(); ?>" class="um-profile-photo-img" title="<?php echo um_user('display_name'); ?>"><?php echo $overlay . get_avatar( um_user('ID'), $default_size ); ?></a>
|
310 |
-
|
311 |
<?php
|
312 |
-
|
313 |
-
if ( !isset( $ultimatemember->user->cannot_edit ) ) {
|
314 |
-
|
315 |
$ultimatemember->fields->add_hidden_field( 'profile_photo' );
|
316 |
-
|
317 |
if ( !um_profile('profile_photo') ) { // has profile photo
|
318 |
-
|
319 |
$items = array(
|
320 |
'<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">'.__('Upload photo','ultimatemember').'</a>',
|
321 |
'<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
|
322 |
);
|
323 |
-
|
324 |
$items = apply_filters('um_user_photo_menu_view', $items );
|
325 |
-
|
326 |
echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
|
327 |
-
|
328 |
} else if ( $ultimatemember->fields->editing == true ) {
|
329 |
-
|
330 |
$items = array(
|
331 |
'<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">'.__('Change photo','ultimatemember').'</a>',
|
332 |
'<a href="#" class="um-reset-profile-photo" data-user_id="'.um_profile_id().'" data-default_src="'.um_get_default_avatar_uri().'">'.__('Remove photo','ultimatemember').'</a>',
|
333 |
'<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
|
334 |
);
|
335 |
-
|
336 |
$items = apply_filters('um_user_photo_menu_edit', $items );
|
337 |
-
|
338 |
echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
|
339 |
-
|
340 |
}
|
341 |
-
|
342 |
}
|
343 |
-
|
344 |
?>
|
345 |
-
|
346 |
</div>
|
347 |
-
|
348 |
<div class="um-profile-meta">
|
349 |
-
|
350 |
<div class="um-main-meta">
|
351 |
-
|
352 |
<?php if ( $args['show_name'] ) { ?>
|
353 |
<div class="um-name">
|
354 |
-
|
355 |
<a href="<?php echo um_user_profile_url(); ?>" title="<?php echo um_user('display_name'); ?>"><?php echo um_user('display_name', 'html'); ?></a>
|
356 |
-
|
357 |
<?php do_action('um_after_profile_name_inline', $args ); ?>
|
358 |
-
|
359 |
</div>
|
360 |
<?php } ?>
|
361 |
-
|
362 |
<div class="um-clear"></div>
|
363 |
-
|
364 |
<?php do_action('um_after_profile_header_name_args', $args ); ?>
|
365 |
<?php do_action('um_after_profile_header_name'); ?>
|
366 |
-
|
367 |
</div>
|
368 |
-
|
369 |
<?php if ( isset( $args['metafields'] ) && !empty( $args['metafields'] ) ) { ?>
|
370 |
<div class="um-meta">
|
371 |
-
|
372 |
<?php echo $ultimatemember->profile->show_meta( $args['metafields'] ); ?>
|
373 |
-
|
374 |
</div>
|
375 |
<?php } ?>
|
376 |
|
377 |
<?php if ( $ultimatemember->fields->viewing == true && um_user('description') && $args['show_bio'] ) { ?>
|
378 |
-
|
379 |
-
<div class="um-meta-text"
|
380 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
381 |
<?php } else if ( $ultimatemember->fields->editing == true && $args['show_bio'] ) { ?>
|
382 |
-
|
383 |
<div class="um-meta-text">
|
384 |
<textarea placeholder="<?php _e('Tell us a bit about yourself...','ultimatemember'); ?>" name="<?php echo 'description-' . $args['form_id']; ?>" id="<?php echo 'description-' . $args['form_id']; ?>"><?php if ( um_user('description') ) { echo um_user('description'); } ?></textarea>
|
385 |
-
|
386 |
<?php if ( $ultimatemember->fields->is_error('description') ) {
|
387 |
-
echo $ultimatemember->fields->field_error( $ultimatemember->fields->show_error('description'), true ); }
|
388 |
?>
|
389 |
-
|
390 |
</div>
|
391 |
-
|
392 |
<?php } ?>
|
393 |
-
|
394 |
<div class="um-profile-status <?php echo um_user('account_status'); ?>">
|
395 |
<span><?php printf(__('This user account status is %s','ultimatemember'), um_user('account_status_name') ); ?></span>
|
396 |
</div>
|
397 |
-
|
398 |
<?php do_action('um_after_header_meta', um_user('ID'), $args ); ?>
|
399 |
-
|
400 |
</div><div class="um-clear"></div>
|
401 |
-
|
402 |
<?php do_action('um_after_header_info', um_user('ID'), $args); ?>
|
403 |
-
|
404 |
</div>
|
405 |
-
|
406 |
<?php
|
407 |
}
|
408 |
-
|
409 |
/***
|
410 |
*** @adds profile permissions to view/edit
|
411 |
***/
|
@@ -413,10 +419,10 @@
|
|
413 |
function um_pre_profile_shortcode($args){
|
414 |
global $ultimatemember;
|
415 |
extract( $args );
|
416 |
-
|
417 |
if ( $mode == 'profile' && $ultimatemember->fields->editing == false ) {
|
418 |
$ultimatemember->fields->viewing = 1;
|
419 |
-
|
420 |
if ( um_get_requested_user() ) {
|
421 |
if ( !um_can_view_profile( um_get_requested_user() ) ) um_redirect_home();
|
422 |
if ( !um_current_user_can('edit', um_get_requested_user() ) ) $ultimatemember->user->cannot_edit = 1;
|
@@ -425,21 +431,21 @@
|
|
425 |
if ( !is_user_logged_in() ) um_redirect_home();
|
426 |
if ( !um_user('can_edit_profile') ) $ultimatemember->user->cannot_edit = 1;
|
427 |
}
|
428 |
-
|
429 |
}
|
430 |
|
431 |
if ( $mode == 'profile' && $ultimatemember->fields->editing == true ) {
|
432 |
$ultimatemember->fields->editing = 1;
|
433 |
-
|
434 |
if ( um_get_requested_user() ) {
|
435 |
if ( !um_current_user_can('edit', um_get_requested_user() ) ) um_redirect_home();
|
436 |
um_fetch_user( um_get_requested_user() );
|
437 |
}
|
438 |
-
|
439 |
}
|
440 |
-
|
441 |
}
|
442 |
-
|
443 |
/***
|
444 |
*** @display the edit profile icon
|
445 |
***/
|
@@ -447,160 +453,160 @@
|
|
447 |
function um_add_edit_icon( $args ) {
|
448 |
global $ultimatemember;
|
449 |
$output = '';
|
450 |
-
|
451 |
if ( !is_user_logged_in() ) return; // not allowed for guests
|
452 |
-
|
453 |
if ( isset( $ultimatemember->user->cannot_edit ) && $ultimatemember->user->cannot_edit == 1 ) return; // do not proceed if user cannot edit
|
454 |
-
|
455 |
if ( $ultimatemember->fields->editing == true ) {
|
456 |
-
|
457 |
?>
|
458 |
-
|
459 |
<div class="um-profile-edit um-profile-headericon">
|
460 |
-
|
461 |
<a href="#" class="um-profile-edit-a um-profile-save"><i class="um-faicon-check"></i></a>
|
462 |
-
|
463 |
</div>
|
464 |
-
|
465 |
<?php } else { ?>
|
466 |
-
|
467 |
<div class="um-profile-edit um-profile-headericon">
|
468 |
-
|
469 |
<a href="#" class="um-profile-edit-a"><i class="um-faicon-cog"></i></a>
|
470 |
-
|
471 |
<?php
|
472 |
-
|
473 |
$items = array(
|
474 |
'editprofile' => '<a href="'.um_edit_profile_url().'" class="real_url">'.__('Edit Profile','ultimatemember').'</a>',
|
475 |
'myaccount' => '<a href="'.um_get_core_page('account').'" class="real_url">'.__('My Account','ultimatemember').'</a>',
|
476 |
'logout' => '<a href="'.um_get_core_page('logout').'" class="real_url">'.__('Logout','ultimatemember').'</a>',
|
477 |
'cancel' => '<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
|
478 |
);
|
479 |
-
|
480 |
$cancel = $items['cancel'];
|
481 |
-
|
482 |
if ( !um_is_myprofile() ) {
|
483 |
-
|
484 |
$actions = $ultimatemember->user->get_admin_actions();
|
485 |
-
|
486 |
unset( $items['myaccount'] );
|
487 |
unset( $items['logout'] );
|
488 |
unset( $items['cancel'] );
|
489 |
-
|
490 |
if ( is_array( $actions ) ) {
|
491 |
$items = array_merge( $items, $actions );
|
492 |
}
|
493 |
-
|
494 |
$items = apply_filters('um_profile_edit_menu_items', $items, um_profile_id() );
|
495 |
-
|
496 |
$items['cancel'] = $cancel;
|
497 |
|
498 |
} else {
|
499 |
-
|
500 |
$items = apply_filters('um_myprofile_edit_menu_items', $items );
|
501 |
-
|
502 |
}
|
503 |
-
|
504 |
echo $ultimatemember->menu->new_ui( $args['header_menu'], 'div.um-profile-edit', 'click', $items );
|
505 |
-
|
506 |
?>
|
507 |
-
|
508 |
</div>
|
509 |
-
|
510 |
<?php
|
511 |
}
|
512 |
-
|
513 |
}
|
514 |
-
|
515 |
/***
|
516 |
*** @Show Fields
|
517 |
***/
|
518 |
add_action('um_main_profile_fields', 'um_add_profile_fields', 100);
|
519 |
function um_add_profile_fields($args){
|
520 |
global $ultimatemember;
|
521 |
-
|
522 |
if ( $ultimatemember->fields->editing == true ) {
|
523 |
-
|
524 |
echo $ultimatemember->fields->display( 'profile', $args );
|
525 |
-
|
526 |
} else {
|
527 |
-
|
528 |
$ultimatemember->fields->viewing = true;
|
529 |
-
|
530 |
echo $ultimatemember->fields->display_view( 'profile', $args );
|
531 |
-
|
532 |
}
|
533 |
-
|
534 |
}
|
535 |
-
|
536 |
/***
|
537 |
*** @form processing
|
538 |
***/
|
539 |
add_action('um_submit_form_profile', 'um_submit_form_profile', 10);
|
540 |
function um_submit_form_profile($args){
|
541 |
global $ultimatemember;
|
542 |
-
|
543 |
if ( !isset($ultimatemember->form->errors) ) do_action('um_user_edit_profile', $args);
|
544 |
|
545 |
do_action('um_user_profile_extra_hook', $args );
|
546 |
-
|
547 |
}
|
548 |
-
|
549 |
/***
|
550 |
*** @Show the submit button (highest priority)
|
551 |
***/
|
552 |
add_action('um_after_profile_fields', 'um_add_submit_button_to_profile', 1000);
|
553 |
function um_add_submit_button_to_profile($args){
|
554 |
global $ultimatemember;
|
555 |
-
|
556 |
// DO NOT add when reviewing user's details
|
557 |
if ( $ultimatemember->user->preview == true && is_admin() ) return;
|
558 |
-
|
559 |
// only when editing
|
560 |
if ( $ultimatemember->fields->editing == false ) return;
|
561 |
-
|
562 |
?>
|
563 |
-
|
564 |
<div class="um-col-alt">
|
565 |
-
|
566 |
<?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
|
567 |
-
|
568 |
<div class="um-left um-half"><input type="submit" value="<?php echo $args['primary_btn_word']; ?>" class="um-button" /></div>
|
569 |
<div class="um-right um-half"><a href="<?php echo um_edit_my_profile_cancel_uri(); ?>" class="um-button um-alt"><?php echo $args['secondary_btn_word']; ?></a></div>
|
570 |
-
|
571 |
<?php } else { ?>
|
572 |
-
|
573 |
<div class="um-center"><input type="submit" value="<?php echo $args['primary_btn_word']; ?>" class="um-button" /></div>
|
574 |
-
|
575 |
<?php } ?>
|
576 |
-
|
577 |
<div class="um-clear"></div>
|
578 |
-
|
579 |
</div>
|
580 |
-
|
581 |
<?php
|
582 |
}
|
583 |
-
|
584 |
/***
|
585 |
*** @display the available profile tabs
|
586 |
***/
|
587 |
add_action('um_profile_navbar', 'um_profile_navbar', 9 );
|
588 |
function um_profile_navbar( $args ) {
|
589 |
global $ultimatemember;
|
590 |
-
|
591 |
if ( !um_get_option('profile_menu') )
|
592 |
return;
|
593 |
-
|
594 |
// get active tabs
|
595 |
$tabs = $ultimatemember->profile->tabs_active();
|
596 |
|
597 |
$tabs = apply_filters('um_user_profile_tabs', $tabs );
|
598 |
|
599 |
$ultimatemember->user->tabs = $tabs;
|
600 |
-
|
601 |
// need enough tabs to continue
|
602 |
if ( count( $tabs ) <= 1 ) return;
|
603 |
-
|
604 |
$active_tab = $ultimatemember->profile->active_tab();
|
605 |
|
606 |
if ( !isset( $tabs[$active_tab] ) ) {
|
@@ -608,7 +614,7 @@
|
|
608 |
$ultimatemember->profile->active_tab = $active_tab;
|
609 |
$ultimatemember->profile->active_subnav = null;
|
610 |
}
|
611 |
-
|
612 |
// Move default tab priority
|
613 |
$default_tab = um_get_option('profile_menu_default_tab');
|
614 |
$dtab = ( isset( $tabs[$default_tab] ) )? $tabs[$default_tab] : 'main';
|
@@ -617,63 +623,63 @@
|
|
617 |
$dtabs[$default_tab] = $dtab;
|
618 |
$tabs = $dtabs + $tabs;
|
619 |
}
|
620 |
-
|
621 |
?>
|
622 |
-
|
623 |
<div class="um-profile-nav">
|
624 |
-
|
625 |
<?php foreach( $tabs as $id => $tab ) {
|
626 |
-
|
627 |
if ( isset( $tab['hidden'] ) ) continue;
|
628 |
-
|
629 |
$nav_link = $ultimatemember->permalinks->get_current_url( get_option('permalink_structure') );
|
630 |
$nav_link = remove_query_arg( 'um_action', $nav_link );
|
631 |
$nav_link = remove_query_arg( 'subnav', $nav_link );
|
632 |
$nav_link = add_query_arg('profiletab', $id, $nav_link );
|
633 |
-
|
634 |
$nav_link = apply_filters("um_profile_menu_link_{$id}", $nav_link);
|
635 |
-
|
636 |
?>
|
637 |
-
|
638 |
<div class="um-profile-nav-item um-profile-nav-<?php echo $id; ?> <?php if ( !um_get_option('profile_menu_icons') ) { echo 'without-icon'; } ?> <?php if ( $id == $active_tab ) { echo 'active'; } ?>">
|
639 |
<a href="<?php echo $nav_link; ?>" title="<?php echo $tab['name']; ?>">
|
640 |
|
641 |
<i class="<?php echo $tab['icon']; ?>"></i>
|
642 |
-
|
643 |
<?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
|
644 |
<span class="um-tab-notifier uimob500-show uimob340-show uimob800-show"><?php echo $tab['notifier']; ?></span>
|
645 |
<?php } ?>
|
646 |
-
|
647 |
<span class="uimob500-hide uimob340-hide uimob800-hide title"><?php echo $tab['name']; ?></span>
|
648 |
-
|
649 |
</a>
|
650 |
</div>
|
651 |
-
|
652 |
<?php } ?>
|
653 |
-
|
654 |
<div class="um-clear"></div>
|
655 |
-
|
656 |
</div>
|
657 |
-
|
658 |
<?php foreach( $tabs as $id => $tab ) {
|
659 |
-
|
660 |
if ( isset( $tab['subnav'] ) && $active_tab == $id ) {
|
661 |
-
|
662 |
$active_subnav = ( $ultimatemember->profile->active_subnav() ) ? $ultimatemember->profile->active_subnav() : $tab['subnav_default'];
|
663 |
|
664 |
echo '<div class="um-profile-subnav">';
|
665 |
foreach( $tab['subnav'] as $id => $subtab ) {
|
666 |
-
|
667 |
?>
|
668 |
-
|
669 |
<a href="<?php echo add_query_arg('subnav', $id ); ?>" class="<?php if ( $active_subnav == $id ) echo 'active'; ?>"><?php echo $subtab; ?></a>
|
670 |
-
|
671 |
<?php
|
672 |
-
|
673 |
}
|
674 |
echo '</div>';
|
675 |
}
|
676 |
-
|
677 |
}
|
678 |
-
|
679 |
-
}
|
6 |
add_action('um_profile_content_main','um_profile_content_main');
|
7 |
function um_profile_content_main( $args ) {
|
8 |
extract( $args );
|
9 |
+
|
10 |
if ( !um_get_option('profile_tab_main') && !isset( $_REQUEST['um_action'] ) )
|
11 |
return;
|
12 |
+
|
13 |
$can_view = apply_filters('um_profile_can_view_main', -1, um_profile_id() );
|
14 |
+
|
15 |
if ( $can_view == -1 ) {
|
16 |
+
|
17 |
do_action("um_before_form", $args);
|
18 |
+
|
19 |
do_action("um_before_{$mode}_fields", $args);
|
20 |
+
|
21 |
do_action("um_main_{$mode}_fields", $args);
|
22 |
+
|
23 |
do_action("um_after_form_fields", $args);
|
24 |
+
|
25 |
do_action("um_after_{$mode}_fields", $args);
|
26 |
+
|
27 |
do_action("um_after_form", $args);
|
28 |
+
|
29 |
} else {
|
30 |
+
|
31 |
?>
|
32 |
+
|
33 |
<div class="um-profile-note"><span><i class="um-faicon-lock"></i><?php echo $can_view; ?></span></div>
|
34 |
+
|
35 |
<?php
|
36 |
+
|
37 |
}
|
38 |
+
|
39 |
}
|
40 |
+
|
41 |
/***
|
42 |
*** @update user's profile
|
43 |
***/
|
44 |
add_action('um_user_edit_profile', 'um_user_edit_profile', 10);
|
45 |
function um_user_edit_profile($args){
|
46 |
+
|
47 |
global $ultimatemember;
|
48 |
+
|
49 |
$to_update = null;
|
50 |
$files = null;
|
51 |
+
|
52 |
if ( isset( $args['user_id'] ) ) {
|
53 |
if ( um_current_user_can('edit', $args['user_id'] ) ) {
|
54 |
$ultimatemember->user->set( $args['user_id'] );
|
58 |
} else if ( isset( $args['_user_id'] ) ) {
|
59 |
$ultimatemember->user->set( $args['_user_id'] );
|
60 |
}
|
61 |
+
|
62 |
$userinfo = $ultimatemember->user->profile;
|
63 |
+
|
64 |
$fields = unserialize( $args['custom_fields'] );
|
65 |
+
|
66 |
do_action('um_user_before_updating_profile', $userinfo );
|
67 |
+
|
68 |
// loop through fields
|
69 |
if ( isset( $fields ) && is_array( $fields ) ) {
|
70 |
foreach( $fields as $key => $array ) {
|
71 |
+
|
72 |
if ( $fields[$key]['type'] == 'multiselect' || $fields[$key]['type'] == 'checkbox' && !isset($args['submitted'][$key]) ) {
|
73 |
delete_user_meta( um_user('ID'), $key );
|
74 |
}
|
75 |
+
|
76 |
if ( isset( $args['submitted'][ $key ] ) ) {
|
77 |
|
78 |
if ( isset( $fields[$key]['type'] ) && in_array( $fields[$key]['type'], array('image','file') ) && um_is_temp_upload( $args['submitted'][ $key ] ) ) {
|
79 |
+
|
80 |
$files[ $key ] = $args['submitted'][ $key ];
|
81 |
+
|
82 |
} else {
|
83 |
|
84 |
if ( isset( $userinfo[$key]) && $args['submitted'][$key] != $userinfo[$key] ) {
|
86 |
} else if ( $args['submitted'][$key] ) {
|
87 |
$to_update[ $key ] = $args['submitted'][ $key ];
|
88 |
}
|
89 |
+
|
90 |
}
|
91 |
+
|
92 |
}
|
93 |
}
|
94 |
}
|
95 |
+
|
96 |
if ( isset( $args['submitted']['description'] ) ) {
|
97 |
$to_update['description'] = $args['submitted']['description'];
|
98 |
}
|
99 |
+
|
100 |
if ( isset( $args['submitted']['role'] ) && !empty( $args['submitted']['role'] ) ) {
|
101 |
$to_update['role'] = $args['submitted']['role'];
|
102 |
}
|
103 |
+
|
104 |
do_action('um_user_pre_updating_profile', $to_update );
|
105 |
+
|
106 |
$to_update = apply_filters('um_user_pre_updating_profile_array', $to_update);
|
107 |
|
108 |
if ( is_array( $to_update ) ) {
|
112 |
if ( is_array( $files ) ) {
|
113 |
$ultimatemember->user->update_files( $files );
|
114 |
}
|
115 |
+
|
116 |
do_action('um_after_user_updated', um_user('ID') );
|
117 |
do_action('um_after_user_upload', um_user('ID') );
|
118 |
do_action('um_user_after_updating_profile', $to_update );
|
119 |
+
|
120 |
if ( !isset( $args['is_signup'] ) ) {
|
121 |
exit( wp_redirect( um_edit_my_profile_cancel_uri() ) );
|
122 |
}
|
123 |
+
|
124 |
}
|
125 |
+
|
126 |
/***
|
127 |
*** @if editing another user
|
128 |
***/
|
129 |
add_action('um_after_form_fields', 'um_editing_user_id_input');
|
130 |
+
function um_editing_user_id_input($args){
|
131 |
global $ultimatemember;
|
132 |
if ( $ultimatemember->fields->editing == 1 && $ultimatemember->fields->set_mode == 'profile' && $ultimatemember->user->target_id ) { ?>
|
133 |
+
|
134 |
<input type="hidden" name="user_id" id="user_id" value="<?php echo $ultimatemember->user->target_id; ?>" />
|
135 |
|
136 |
<?php
|
137 |
+
|
138 |
}
|
139 |
}
|
140 |
+
|
141 |
/***
|
142 |
*** @meta description
|
143 |
***/
|
144 |
add_action('wp_head', 'um_profile_dynamic_meta_desc', 9999999);
|
145 |
function um_profile_dynamic_meta_desc() {
|
146 |
global $ultimatemember;
|
147 |
+
|
148 |
if ( um_is_core_page('user') && um_get_requested_user() ) {
|
149 |
+
|
150 |
um_fetch_user( um_get_requested_user() );
|
151 |
+
|
152 |
$content = um_convert_tags( um_get_option('profile_desc') );
|
153 |
$user_id = um_user('ID');
|
154 |
$url = um_user_profile_url();
|
155 |
+
|
156 |
if ( um_profile('profile_photo') ) {
|
157 |
$avatar = um_user_uploads_uri() . um_profile('profile_photo');
|
158 |
} else {
|
159 |
$avatar = um_get_default_avatar_uri();
|
160 |
}
|
161 |
+
|
162 |
um_reset_user(); ?>
|
163 |
+
|
164 |
<meta name="description" content="<?php echo $content; ?>">
|
165 |
+
|
166 |
<meta property="og:title" content="<?php echo um_get_display_name( $user_id ); ?>" />
|
167 |
<meta property="og:type" content="article" />
|
168 |
<meta property="og:image" content="<?php echo $avatar; ?>" />
|
169 |
<meta property="og:url" content="<?php echo $url; ?>" />
|
170 |
<meta property="og:description" content="<?php echo $content; ?>" />
|
171 |
+
|
172 |
<?php
|
173 |
}
|
174 |
}
|
175 |
+
|
176 |
/***
|
177 |
*** @profile header cover
|
178 |
***/
|
179 |
add_action('um_profile_header_cover_area', 'um_profile_header_cover_area', 9 );
|
180 |
function um_profile_header_cover_area( $args ) {
|
181 |
global $ultimatemember;
|
182 |
+
|
183 |
if ( $args['cover_enabled'] == 1 ) {
|
184 |
+
|
185 |
$default_cover = um_get_option('default_cover');
|
186 |
+
|
187 |
$overlay = '<span class="um-cover-overlay">
|
188 |
<span class="um-cover-overlay-s">
|
189 |
<ins>
|
192 |
</ins>
|
193 |
</span>
|
194 |
</span>';
|
195 |
+
|
196 |
?>
|
197 |
|
198 |
<div class="um-cover <?php if ( um_profile('cover_photo') || ( $default_cover && $default_cover['url'] ) ) echo 'has-cover'; ?>" data-user_id="<?php echo um_profile_id(); ?>" data-ratio="<?php echo $args['cover_ratio']; ?>">
|
199 |
+
|
200 |
<?php
|
201 |
+
|
202 |
if ( $ultimatemember->fields->editing ) {
|
203 |
+
|
204 |
$items = array(
|
205 |
'<a href="#" class="um-manual-trigger" data-parent=".um-cover" data-child=".um-btn-auto-width">'.__('Change cover photo','ultimatemember').'</a>',
|
206 |
'<a href="#" class="um-reset-cover-photo" data-user_id="'.um_profile_id().'">'.__('Remove','ultimatemember').'</a>',
|
207 |
'<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
|
208 |
);
|
209 |
+
|
210 |
echo $ultimatemember->menu->new_ui( 'bc', 'div.um-cover', 'click', $items );
|
211 |
+
|
212 |
}
|
213 |
?>
|
214 |
+
|
215 |
<?php $ultimatemember->fields->add_hidden_field( 'cover_photo' ); ?>
|
216 |
+
|
217 |
<?php echo $overlay; ?>
|
218 |
+
|
219 |
<div class="um-cover-e">
|
220 |
+
|
221 |
<?php if ( um_profile('cover_photo') ) { ?>
|
222 |
+
|
223 |
<?php
|
224 |
+
|
225 |
if( $ultimatemember->mobile->isMobile() ){
|
226 |
if ( $ultimatemember->mobile->isTablet() ) {
|
227 |
echo um_user('cover_photo', 1000);
|
231 |
} else {
|
232 |
echo um_user('cover_photo', 1000);
|
233 |
}
|
234 |
+
|
235 |
?>
|
236 |
+
|
237 |
<?php } elseif ( $default_cover && $default_cover['url'] ) {
|
238 |
|
239 |
$default_cover = $default_cover['url'];
|
240 |
+
|
241 |
echo '<img src="'. $default_cover . '" alt="" />';
|
242 |
+
|
243 |
} else {
|
244 |
+
|
245 |
if ( !isset( $ultimatemember->user->cannot_edit ) ) { ?>
|
246 |
+
|
247 |
<a href="#" class="um-cover-add um-manual-trigger" data-parent=".um-cover" data-child=".um-btn-auto-width"><span class="um-cover-add-i"><i class="um-icon-plus um-tip-n" title="<?php _e('Upload a cover photo','ultimatemember'); ?>"></i></span></a>
|
248 |
+
|
249 |
<?php }
|
250 |
+
|
251 |
} ?>
|
252 |
+
|
253 |
</div>
|
254 |
+
|
255 |
</div>
|
256 |
+
|
257 |
<?php
|
258 |
|
259 |
}
|
260 |
+
|
261 |
}
|
262 |
+
|
263 |
/***
|
264 |
*** @Show social links as icons below profile name
|
265 |
***/
|
281 |
add_action('um_profile_header', 'um_profile_header', 9 );
|
282 |
function um_profile_header( $args ) {
|
283 |
global $ultimatemember;
|
284 |
+
|
285 |
$classes = null;
|
286 |
+
|
287 |
if ( !$args['cover_enabled'] ) {
|
288 |
$classes .= ' no-cover';
|
289 |
}
|
290 |
+
|
291 |
$default_size = str_replace( 'px', '', $args['photosize'] );
|
292 |
+
|
293 |
$overlay = '<span class="um-profile-photo-overlay">
|
294 |
<span class="um-profile-photo-overlay-s">
|
295 |
<ins>
|
297 |
</ins>
|
298 |
</span>
|
299 |
</span>';
|
300 |
+
|
301 |
?>
|
302 |
+
|
303 |
<div class="um-header<?php echo $classes; ?>">
|
304 |
+
|
305 |
<?php do_action('um_pre_header_editprofile', $args); ?>
|
306 |
+
|
307 |
<div class="um-profile-photo" data-user_id="<?php echo um_profile_id(); ?>">
|
308 |
|
309 |
<a href="<?php echo um_user_profile_url(); ?>" class="um-profile-photo-img" title="<?php echo um_user('display_name'); ?>"><?php echo $overlay . get_avatar( um_user('ID'), $default_size ); ?></a>
|
310 |
+
|
311 |
<?php
|
312 |
+
|
313 |
+
if ( !isset( $ultimatemember->user->cannot_edit ) ) {
|
314 |
+
|
315 |
$ultimatemember->fields->add_hidden_field( 'profile_photo' );
|
316 |
+
|
317 |
if ( !um_profile('profile_photo') ) { // has profile photo
|
318 |
+
|
319 |
$items = array(
|
320 |
'<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">'.__('Upload photo','ultimatemember').'</a>',
|
321 |
'<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
|
322 |
);
|
323 |
+
|
324 |
$items = apply_filters('um_user_photo_menu_view', $items );
|
325 |
+
|
326 |
echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
|
327 |
+
|
328 |
} else if ( $ultimatemember->fields->editing == true ) {
|
329 |
+
|
330 |
$items = array(
|
331 |
'<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">'.__('Change photo','ultimatemember').'</a>',
|
332 |
'<a href="#" class="um-reset-profile-photo" data-user_id="'.um_profile_id().'" data-default_src="'.um_get_default_avatar_uri().'">'.__('Remove photo','ultimatemember').'</a>',
|
333 |
'<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
|
334 |
);
|
335 |
+
|
336 |
$items = apply_filters('um_user_photo_menu_edit', $items );
|
337 |
+
|
338 |
echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
|
339 |
+
|
340 |
}
|
341 |
+
|
342 |
}
|
343 |
+
|
344 |
?>
|
345 |
+
|
346 |
</div>
|
347 |
+
|
348 |
<div class="um-profile-meta">
|
349 |
+
|
350 |
<div class="um-main-meta">
|
351 |
+
|
352 |
<?php if ( $args['show_name'] ) { ?>
|
353 |
<div class="um-name">
|
354 |
+
|
355 |
<a href="<?php echo um_user_profile_url(); ?>" title="<?php echo um_user('display_name'); ?>"><?php echo um_user('display_name', 'html'); ?></a>
|
356 |
+
|
357 |
<?php do_action('um_after_profile_name_inline', $args ); ?>
|
358 |
+
|
359 |
</div>
|
360 |
<?php } ?>
|
361 |
+
|
362 |
<div class="um-clear"></div>
|
363 |
+
|
364 |
<?php do_action('um_after_profile_header_name_args', $args ); ?>
|
365 |
<?php do_action('um_after_profile_header_name'); ?>
|
366 |
+
|
367 |
</div>
|
368 |
+
|
369 |
<?php if ( isset( $args['metafields'] ) && !empty( $args['metafields'] ) ) { ?>
|
370 |
<div class="um-meta">
|
371 |
+
|
372 |
<?php echo $ultimatemember->profile->show_meta( $args['metafields'] ); ?>
|
373 |
+
|
374 |
</div>
|
375 |
<?php } ?>
|
376 |
|
377 |
<?php if ( $ultimatemember->fields->viewing == true && um_user('description') && $args['show_bio'] ) { ?>
|
378 |
+
|
379 |
+
<div class="um-meta-text">
|
380 |
+
<?php if( um_get_option( 'profile_show_html_bio' ) ) : ?>
|
381 |
+
<?php echo um_clickable_links( strip_tags( um_filtered_value('description'), '<p><a><img><br><strong><b><em><i><quote><sub><sup>') ); ?>
|
382 |
+
<?php else : ?>
|
383 |
+
<?php echo um_clickable_links( wp_strip_all_tags( um_filtered_value('description') ) ); ?>
|
384 |
+
<?php endif; ?>
|
385 |
+
</div>
|
386 |
+
|
387 |
<?php } else if ( $ultimatemember->fields->editing == true && $args['show_bio'] ) { ?>
|
388 |
+
|
389 |
<div class="um-meta-text">
|
390 |
<textarea placeholder="<?php _e('Tell us a bit about yourself...','ultimatemember'); ?>" name="<?php echo 'description-' . $args['form_id']; ?>" id="<?php echo 'description-' . $args['form_id']; ?>"><?php if ( um_user('description') ) { echo um_user('description'); } ?></textarea>
|
391 |
+
|
392 |
<?php if ( $ultimatemember->fields->is_error('description') ) {
|
393 |
+
echo $ultimatemember->fields->field_error( $ultimatemember->fields->show_error('description'), true ); }
|
394 |
?>
|
395 |
+
|
396 |
</div>
|
397 |
+
|
398 |
<?php } ?>
|
399 |
+
|
400 |
<div class="um-profile-status <?php echo um_user('account_status'); ?>">
|
401 |
<span><?php printf(__('This user account status is %s','ultimatemember'), um_user('account_status_name') ); ?></span>
|
402 |
</div>
|
403 |
+
|
404 |
<?php do_action('um_after_header_meta', um_user('ID'), $args ); ?>
|
405 |
+
|
406 |
</div><div class="um-clear"></div>
|
407 |
+
|
408 |
<?php do_action('um_after_header_info', um_user('ID'), $args); ?>
|
409 |
+
|
410 |
</div>
|
411 |
+
|
412 |
<?php
|
413 |
}
|
414 |
+
|
415 |
/***
|
416 |
*** @adds profile permissions to view/edit
|
417 |
***/
|
419 |
function um_pre_profile_shortcode($args){
|
420 |
global $ultimatemember;
|
421 |
extract( $args );
|
422 |
+
|
423 |
if ( $mode == 'profile' && $ultimatemember->fields->editing == false ) {
|
424 |
$ultimatemember->fields->viewing = 1;
|
425 |
+
|
426 |
if ( um_get_requested_user() ) {
|
427 |
if ( !um_can_view_profile( um_get_requested_user() ) ) um_redirect_home();
|
428 |
if ( !um_current_user_can('edit', um_get_requested_user() ) ) $ultimatemember->user->cannot_edit = 1;
|
431 |
if ( !is_user_logged_in() ) um_redirect_home();
|
432 |
if ( !um_user('can_edit_profile') ) $ultimatemember->user->cannot_edit = 1;
|
433 |
}
|
434 |
+
|
435 |
}
|
436 |
|
437 |
if ( $mode == 'profile' && $ultimatemember->fields->editing == true ) {
|
438 |
$ultimatemember->fields->editing = 1;
|
439 |
+
|
440 |
if ( um_get_requested_user() ) {
|
441 |
if ( !um_current_user_can('edit', um_get_requested_user() ) ) um_redirect_home();
|
442 |
um_fetch_user( um_get_requested_user() );
|
443 |
}
|
444 |
+
|
445 |
}
|
446 |
+
|
447 |
}
|
448 |
+
|
449 |
/***
|
450 |
*** @display the edit profile icon
|
451 |
***/
|
453 |
function um_add_edit_icon( $args ) {
|
454 |
global $ultimatemember;
|
455 |
$output = '';
|
456 |
+
|
457 |
if ( !is_user_logged_in() ) return; // not allowed for guests
|
458 |
+
|
459 |
if ( isset( $ultimatemember->user->cannot_edit ) && $ultimatemember->user->cannot_edit == 1 ) return; // do not proceed if user cannot edit
|
460 |
+
|
461 |
if ( $ultimatemember->fields->editing == true ) {
|
462 |
+
|
463 |
?>
|
464 |
+
|
465 |
<div class="um-profile-edit um-profile-headericon">
|
466 |
+
|
467 |
<a href="#" class="um-profile-edit-a um-profile-save"><i class="um-faicon-check"></i></a>
|
468 |
+
|
469 |
</div>
|
470 |
+
|
471 |
<?php } else { ?>
|
472 |
+
|
473 |
<div class="um-profile-edit um-profile-headericon">
|
474 |
+
|
475 |
<a href="#" class="um-profile-edit-a"><i class="um-faicon-cog"></i></a>
|
476 |
+
|
477 |
<?php
|
478 |
+
|
479 |
$items = array(
|
480 |
'editprofile' => '<a href="'.um_edit_profile_url().'" class="real_url">'.__('Edit Profile','ultimatemember').'</a>',
|
481 |
'myaccount' => '<a href="'.um_get_core_page('account').'" class="real_url">'.__('My Account','ultimatemember').'</a>',
|
482 |
'logout' => '<a href="'.um_get_core_page('logout').'" class="real_url">'.__('Logout','ultimatemember').'</a>',
|
483 |
'cancel' => '<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
|
484 |
);
|
485 |
+
|
486 |
$cancel = $items['cancel'];
|
487 |
+
|
488 |
if ( !um_is_myprofile() ) {
|
489 |
+
|
490 |
$actions = $ultimatemember->user->get_admin_actions();
|
491 |
+
|
492 |
unset( $items['myaccount'] );
|
493 |
unset( $items['logout'] );
|
494 |
unset( $items['cancel'] );
|
495 |
+
|
496 |
if ( is_array( $actions ) ) {
|
497 |
$items = array_merge( $items, $actions );
|
498 |
}
|
499 |
+
|
500 |
$items = apply_filters('um_profile_edit_menu_items', $items, um_profile_id() );
|
501 |
+
|
502 |
$items['cancel'] = $cancel;
|
503 |
|
504 |
} else {
|
505 |
+
|
506 |
$items = apply_filters('um_myprofile_edit_menu_items', $items );
|
507 |
+
|
508 |
}
|
509 |
+
|
510 |
echo $ultimatemember->menu->new_ui( $args['header_menu'], 'div.um-profile-edit', 'click', $items );
|
511 |
+
|
512 |
?>
|
513 |
+
|
514 |
</div>
|
515 |
+
|
516 |
<?php
|
517 |
}
|
518 |
+
|
519 |
}
|
520 |
+
|
521 |
/***
|
522 |
*** @Show Fields
|
523 |
***/
|
524 |
add_action('um_main_profile_fields', 'um_add_profile_fields', 100);
|
525 |
function um_add_profile_fields($args){
|
526 |
global $ultimatemember;
|
527 |
+
|
528 |
if ( $ultimatemember->fields->editing == true ) {
|
529 |
+
|
530 |
echo $ultimatemember->fields->display( 'profile', $args );
|
531 |
+
|
532 |
} else {
|
533 |
+
|
534 |
$ultimatemember->fields->viewing = true;
|
535 |
+
|
536 |
echo $ultimatemember->fields->display_view( 'profile', $args );
|
537 |
+
|
538 |
}
|
539 |
+
|
540 |
}
|
541 |
+
|
542 |
/***
|
543 |
*** @form processing
|
544 |
***/
|
545 |
add_action('um_submit_form_profile', 'um_submit_form_profile', 10);
|
546 |
function um_submit_form_profile($args){
|
547 |
global $ultimatemember;
|
548 |
+
|
549 |
if ( !isset($ultimatemember->form->errors) ) do_action('um_user_edit_profile', $args);
|
550 |
|
551 |
do_action('um_user_profile_extra_hook', $args );
|
552 |
+
|
553 |
}
|
554 |
+
|
555 |
/***
|
556 |
*** @Show the submit button (highest priority)
|
557 |
***/
|
558 |
add_action('um_after_profile_fields', 'um_add_submit_button_to_profile', 1000);
|
559 |
function um_add_submit_button_to_profile($args){
|
560 |
global $ultimatemember;
|
561 |
+
|
562 |
// DO NOT add when reviewing user's details
|
563 |
if ( $ultimatemember->user->preview == true && is_admin() ) return;
|
564 |
+
|
565 |
// only when editing
|
566 |
if ( $ultimatemember->fields->editing == false ) return;
|
567 |
+
|
568 |
?>
|
569 |
+
|
570 |
<div class="um-col-alt">
|
571 |
+
|
572 |
<?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
|
573 |
+
|
574 |
<div class="um-left um-half"><input type="submit" value="<?php echo $args['primary_btn_word']; ?>" class="um-button" /></div>
|
575 |
<div class="um-right um-half"><a href="<?php echo um_edit_my_profile_cancel_uri(); ?>" class="um-button um-alt"><?php echo $args['secondary_btn_word']; ?></a></div>
|
576 |
+
|
577 |
<?php } else { ?>
|
578 |
+
|
579 |
<div class="um-center"><input type="submit" value="<?php echo $args['primary_btn_word']; ?>" class="um-button" /></div>
|
580 |
+
|
581 |
<?php } ?>
|
582 |
+
|
583 |
<div class="um-clear"></div>
|
584 |
+
|
585 |
</div>
|
586 |
+
|
587 |
<?php
|
588 |
}
|
589 |
+
|
590 |
/***
|
591 |
*** @display the available profile tabs
|
592 |
***/
|
593 |
add_action('um_profile_navbar', 'um_profile_navbar', 9 );
|
594 |
function um_profile_navbar( $args ) {
|
595 |
global $ultimatemember;
|
596 |
+
|
597 |
if ( !um_get_option('profile_menu') )
|
598 |
return;
|
599 |
+
|
600 |
// get active tabs
|
601 |
$tabs = $ultimatemember->profile->tabs_active();
|
602 |
|
603 |
$tabs = apply_filters('um_user_profile_tabs', $tabs );
|
604 |
|
605 |
$ultimatemember->user->tabs = $tabs;
|
606 |
+
|
607 |
// need enough tabs to continue
|
608 |
if ( count( $tabs ) <= 1 ) return;
|
609 |
+
|
610 |
$active_tab = $ultimatemember->profile->active_tab();
|
611 |
|
612 |
if ( !isset( $tabs[$active_tab] ) ) {
|
614 |
$ultimatemember->profile->active_tab = $active_tab;
|
615 |
$ultimatemember->profile->active_subnav = null;
|
616 |
}
|
617 |
+
|
618 |
// Move default tab priority
|
619 |
$default_tab = um_get_option('profile_menu_default_tab');
|
620 |
$dtab = ( isset( $tabs[$default_tab] ) )? $tabs[$default_tab] : 'main';
|
623 |
$dtabs[$default_tab] = $dtab;
|
624 |
$tabs = $dtabs + $tabs;
|
625 |
}
|
626 |
+
|
627 |
?>
|
628 |
+
|
629 |
<div class="um-profile-nav">
|
630 |
+
|
631 |
<?php foreach( $tabs as $id => $tab ) {
|
632 |
+
|
633 |
if ( isset( $tab['hidden'] ) ) continue;
|
634 |
+
|
635 |
$nav_link = $ultimatemember->permalinks->get_current_url( get_option('permalink_structure') );
|
636 |
$nav_link = remove_query_arg( 'um_action', $nav_link );
|
637 |
$nav_link = remove_query_arg( 'subnav', $nav_link );
|
638 |
$nav_link = add_query_arg('profiletab', $id, $nav_link );
|
639 |
+
|
640 |
$nav_link = apply_filters("um_profile_menu_link_{$id}", $nav_link);
|
641 |
+
|
642 |
?>
|
643 |
+
|
644 |
<div class="um-profile-nav-item um-profile-nav-<?php echo $id; ?> <?php if ( !um_get_option('profile_menu_icons') ) { echo 'without-icon'; } ?> <?php if ( $id == $active_tab ) { echo 'active'; } ?>">
|
645 |
<a href="<?php echo $nav_link; ?>" title="<?php echo $tab['name']; ?>">
|
646 |
|
647 |
<i class="<?php echo $tab['icon']; ?>"></i>
|
648 |
+
|
649 |
<?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
|
650 |
<span class="um-tab-notifier uimob500-show uimob340-show uimob800-show"><?php echo $tab['notifier']; ?></span>
|
651 |
<?php } ?>
|
652 |
+
|
653 |
<span class="uimob500-hide uimob340-hide uimob800-hide title"><?php echo $tab['name']; ?></span>
|
654 |
+
|
655 |
</a>
|
656 |
</div>
|
657 |
+
|
658 |
<?php } ?>
|
659 |
+
|
660 |
<div class="um-clear"></div>
|
661 |
+
|
662 |
</div>
|
663 |
+
|
664 |
<?php foreach( $tabs as $id => $tab ) {
|
665 |
+
|
666 |
if ( isset( $tab['subnav'] ) && $active_tab == $id ) {
|
667 |
+
|
668 |
$active_subnav = ( $ultimatemember->profile->active_subnav() ) ? $ultimatemember->profile->active_subnav() : $tab['subnav_default'];
|
669 |
|
670 |
echo '<div class="um-profile-subnav">';
|
671 |
foreach( $tab['subnav'] as $id => $subtab ) {
|
672 |
+
|
673 |
?>
|
674 |
+
|
675 |
<a href="<?php echo add_query_arg('subnav', $id ); ?>" class="<?php if ( $active_subnav == $id ) echo 'active'; ?>"><?php echo $subtab; ?></a>
|
676 |
+
|
677 |
<?php
|
678 |
+
|
679 |
}
|
680 |
echo '</div>';
|
681 |
}
|
682 |
+
|
683 |
}
|
684 |
+
|
685 |
+
}
|
core/um-actions-save-profile.php
CHANGED
@@ -9,18 +9,7 @@
|
|
9 |
|
10 |
if ( isset( $changes['first_name'] ) && isset( $changes['last_name'] ) ) {
|
11 |
|
12 |
-
|
13 |
-
|
14 |
-
wp_update_user( array( 'ID' => $ultimatemember->user->id, 'display_name' => $changes['first_name'] . ' ' . $changes['last_name'] ) );
|
15 |
-
|
16 |
-
$full_name = $changes['first_name'] . '.' . $changes['last_name'];
|
17 |
-
|
18 |
-
} else {
|
19 |
-
|
20 |
-
$full_name = $ultimatemember->user->profile['display_name'];
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
$full_name = $ultimatemember->validation->safe_name_in_url( $full_name );
|
25 |
|
26 |
/* duplicate or not */
|
@@ -59,8 +48,36 @@
|
|
59 |
|
60 |
}
|
61 |
|
62 |
-
|
63 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
}
|
65 |
|
|
|
|
|
|
|
66 |
}
|
9 |
|
10 |
if ( isset( $changes['first_name'] ) && isset( $changes['last_name'] ) ) {
|
11 |
|
12 |
+
$full_name = $ultimatemember->user->profile['display_name'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
$full_name = $ultimatemember->validation->safe_name_in_url( $full_name );
|
14 |
|
15 |
/* duplicate or not */
|
48 |
|
49 |
}
|
50 |
|
51 |
+
// Sync display name changes
|
52 |
+
$option = um_get_option('display_name');
|
53 |
+
$user_id = $ultimatemember->user->id;
|
54 |
+
switch ( $option ) {
|
55 |
+
default:
|
56 |
+
break;
|
57 |
+
case 'full_name':
|
58 |
+
$update_name = get_user_meta( $user_id, 'first_name', true ) . ' ' . get_user_meta( $user_id, 'last_name', true );
|
59 |
+
break;
|
60 |
+
case 'sur_name':
|
61 |
+
$fname = get_user_meta( $user_id, 'first_name', true );
|
62 |
+
$lname = get_user_meta( $user_id, 'last_name', true );
|
63 |
+
$update_name = $lname . ' ' . $fname;
|
64 |
+
break;
|
65 |
+
case 'initial_name':
|
66 |
+
$fname = get_user_meta( $user_id, 'first_name', true );
|
67 |
+
$lname = get_user_meta( $user_id, 'last_name', true );
|
68 |
+
$update_name = $fname . ' ' . $lname[0];
|
69 |
+
break;
|
70 |
+
case 'initial_name_f':
|
71 |
+
$fname = get_user_meta( $user_id, 'first_name', true );
|
72 |
+
$lname = get_user_meta( $user_id, 'last_name', true );
|
73 |
+
$update_name = $fname[0] . ' ' . $lname;
|
74 |
+
break;
|
75 |
+
case 'nickname':
|
76 |
+
$update_name = get_user_meta( $user_id, 'nickname', true );
|
77 |
+
break;
|
78 |
}
|
79 |
|
80 |
+
if ( isset( $update_name ) ) {
|
81 |
+
wp_update_user( array( 'ID' => $user_id, 'display_name' => $update_name ) );
|
82 |
+
}
|
83 |
}
|
core/um-builtin.php
CHANGED
@@ -2,6 +2,8 @@
|
|
2 |
|
3 |
class UM_Builtin {
|
4 |
|
|
|
|
|
5 |
function __construct() {
|
6 |
|
7 |
add_action('init', array(&$this, 'set_core_fields'), 1);
|
@@ -145,6 +147,22 @@ class UM_Builtin {
|
|
145 |
)
|
146 |
),
|
147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
'textarea' => array(
|
149 |
'name' => 'Textarea',
|
150 |
'col1' => array('_title','_metakey','_help','_height','_max_chars','_max_words','_visibility'),
|
@@ -522,12 +540,14 @@ class UM_Builtin {
|
|
522 |
|
523 |
global $ultimatemember;
|
524 |
|
525 |
-
if (
|
526 |
-
|
527 |
} else {
|
528 |
-
|
529 |
}
|
530 |
|
|
|
|
|
531 |
$profile_privacy = apply_filters('um_profile_privacy_options', array( __('Everyone','ultimatemember'), __('Only me','ultimatemember') ) );
|
532 |
|
533 |
$this->predefined_fields = array(
|
@@ -590,6 +610,16 @@ class UM_Builtin {
|
|
590 |
'editable' => 1,
|
591 |
),
|
592 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
593 |
'user_registered' => array(
|
594 |
'title' => __('Registration Date','ultimatemember'),
|
595 |
'metakey' => 'user_registered',
|
@@ -612,16 +642,6 @@ class UM_Builtin {
|
|
612 |
'edit_forbidden' => 1,
|
613 |
),
|
614 |
|
615 |
-
'display_name' => array(
|
616 |
-
'title' => __('Display Name','ultimatemember'),
|
617 |
-
'metakey' => 'display_name',
|
618 |
-
'type' => 'text',
|
619 |
-
'label' => __('Display Name','ultimatemember'),
|
620 |
-
'required' => 0,
|
621 |
-
'public' => 1,
|
622 |
-
'editable' => 1,
|
623 |
-
),
|
624 |
-
|
625 |
'user_email' => array(
|
626 |
'title' => __('E-mail Address','ultimatemember'),
|
627 |
'metakey' => 'user_email',
|
2 |
|
3 |
class UM_Builtin {
|
4 |
|
5 |
+
public $predefined_fields = array();
|
6 |
+
|
7 |
function __construct() {
|
8 |
|
9 |
add_action('init', array(&$this, 'set_core_fields'), 1);
|
147 |
)
|
148 |
),
|
149 |
|
150 |
+
'number' => array(
|
151 |
+
'name' => __('Number','ultimatemember'),
|
152 |
+
'col1' => array('_title','_metakey','_help','_default','_min','_visibility'),
|
153 |
+
'col2' => array('_label','_placeholder','_public','_roles','_validate','_custom_validate','_max'),
|
154 |
+
'col3' => array('_required','_editable','_icon'),
|
155 |
+
'validate' => array(
|
156 |
+
'_title' => array(
|
157 |
+
'mode' => 'required',
|
158 |
+
'error' => __('You must provide a title','ultimatemember')
|
159 |
+
),
|
160 |
+
'_metakey' => array(
|
161 |
+
'mode' => 'unique',
|
162 |
+
),
|
163 |
+
)
|
164 |
+
),
|
165 |
+
|
166 |
'textarea' => array(
|
167 |
'name' => 'Textarea',
|
168 |
'col1' => array('_title','_metakey','_help','_height','_max_chars','_max_words','_visibility'),
|
540 |
|
541 |
global $ultimatemember;
|
542 |
|
543 |
+
if ( !isset( $ultimatemember->query ) || ! method_exists( $ultimatemember->query, 'get_roles' ) ) {
|
544 |
+
return;
|
545 |
} else {
|
546 |
+
//die('Method loaded!');
|
547 |
}
|
548 |
|
549 |
+
$um_roles = $ultimatemember->query->get_roles( false, array('admin') );
|
550 |
+
|
551 |
$profile_privacy = apply_filters('um_profile_privacy_options', array( __('Everyone','ultimatemember'), __('Only me','ultimatemember') ) );
|
552 |
|
553 |
$this->predefined_fields = array(
|
610 |
'editable' => 1,
|
611 |
),
|
612 |
|
613 |
+
'nickname' => array(
|
614 |
+
'title' => __('Nickname','ultimatemember'),
|
615 |
+
'metakey' => 'nickname',
|
616 |
+
'type' => 'text',
|
617 |
+
'label' => __('Nickname','ultimatemember'),
|
618 |
+
'required' => 0,
|
619 |
+
'public' => 1,
|
620 |
+
'editable' => 1,
|
621 |
+
),
|
622 |
+
|
623 |
'user_registered' => array(
|
624 |
'title' => __('Registration Date','ultimatemember'),
|
625 |
'metakey' => 'user_registered',
|
642 |
'edit_forbidden' => 1,
|
643 |
),
|
644 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
645 |
'user_email' => array(
|
646 |
'title' => __('E-mail Address','ultimatemember'),
|
647 |
'metakey' => 'user_email',
|
core/um-fields.php
CHANGED
@@ -3,18 +3,18 @@
|
|
3 |
class UM_Fields {
|
4 |
|
5 |
function __construct() {
|
6 |
-
|
7 |
$this->editing = false;
|
8 |
$this->viewing = false;
|
9 |
|
10 |
}
|
11 |
-
|
12 |
/***
|
13 |
*** @standard checkbox field
|
14 |
***/
|
15 |
function checkbox( $id, $title ) {
|
16 |
?>
|
17 |
-
|
18 |
<div class="um-field um-field-c">
|
19 |
<div class="um-field-area">
|
20 |
<label class="um-field-checkbox active">
|
@@ -23,10 +23,10 @@ class UM_Fields {
|
|
23 |
</label>
|
24 |
</div>
|
25 |
</div>
|
26 |
-
|
27 |
<?php
|
28 |
}
|
29 |
-
|
30 |
/***
|
31 |
*** @show user social links
|
32 |
***/
|
@@ -40,41 +40,41 @@ class UM_Fields {
|
|
40 |
}
|
41 |
foreach( $social as $k => $arr ) {
|
42 |
if ( um_profile( $k ) ) { ?>
|
43 |
-
|
44 |
<a href="<?php echo um_filtered_social_link( $k , $arr['match'] ); ?>" style="background: <?php echo $arr['color']; ?>;" target="_blank" class="um-tip-n" title="<?php echo $arr['title']; ?>"><i class="<?php echo $arr['icon']; ?>"></i></a>
|
45 |
-
|
46 |
<?php
|
47 |
}
|
48 |
}
|
49 |
}
|
50 |
-
|
51 |
/***
|
52 |
*** @hidden fields inside shortcode
|
53 |
***/
|
54 |
function add_hidden_field( $field ) {
|
55 |
global $ultimatemember;
|
56 |
echo '<div style="display: none !important;">';
|
57 |
-
|
58 |
$fields = $ultimatemember->builtin->get_specific_fields( $field );
|
59 |
-
|
60 |
$output = null;
|
61 |
-
|
62 |
foreach( $fields as $key => $data ) {
|
63 |
$output .= $ultimatemember->fields->edit_field( $key, $data );
|
64 |
}
|
65 |
-
|
66 |
echo $output;
|
67 |
-
|
68 |
echo '</div>';
|
69 |
}
|
70 |
-
|
71 |
/***
|
72 |
*** @update a field globally
|
73 |
***/
|
74 |
function globally_update_field($id, $args){
|
75 |
global $ultimatemember;
|
76 |
$fields = $ultimatemember->builtin->saved_fields;
|
77 |
-
|
78 |
$fields[$id] = $args;
|
79 |
|
80 |
unset( $fields[ $id ]['in_row'] );
|
@@ -82,17 +82,17 @@ class UM_Fields {
|
|
82 |
unset( $fields[ $id ]['in_column'] );
|
83 |
unset( $fields[ $id ]['in_group'] );
|
84 |
unset( $fields[ $id ]['position'] );
|
85 |
-
|
86 |
update_option('um_fields', $fields );
|
87 |
}
|
88 |
-
|
89 |
/***
|
90 |
*** @update a field in form only
|
91 |
***/
|
92 |
function update_field($id, $args, $form_id){
|
93 |
global $ultimatemember;
|
94 |
$fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
|
95 |
-
|
96 |
if ( $args['type'] == 'row' ) {
|
97 |
if ( isset( $fields[$id] ) ){
|
98 |
$old_args = $fields[$id];
|
@@ -104,22 +104,22 @@ class UM_Fields {
|
|
104 |
$args = array_merge( $old_args, $args );
|
105 |
}
|
106 |
}
|
107 |
-
|
108 |
// custom fields support
|
109 |
if ( isset( $ultimatemember->builtin->predefined_fields[$id] ) && isset( $ultimatemember->builtin->predefined_fields[$id]['custom'] ) ) {
|
110 |
$args = array_merge( $ultimatemember->builtin->predefined_fields[$id], $args);
|
111 |
}
|
112 |
-
|
113 |
$fields[$id] = $args;
|
114 |
-
|
115 |
// for group field only
|
116 |
if ( $args['type'] == 'group' ){
|
117 |
$fields[$id]['in_group'] = '';
|
118 |
}
|
119 |
-
|
120 |
$ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
|
121 |
}
|
122 |
-
|
123 |
/***
|
124 |
*** @delete a field in form only
|
125 |
***/
|
@@ -131,7 +131,7 @@ class UM_Fields {
|
|
131 |
$ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
|
132 |
}
|
133 |
}
|
134 |
-
|
135 |
/***
|
136 |
*** @delete the field from custom fields
|
137 |
***/
|
@@ -143,7 +143,7 @@ class UM_Fields {
|
|
143 |
update_option('um_fields', $fields );
|
144 |
}
|
145 |
}
|
146 |
-
|
147 |
/***
|
148 |
*** @quickly add field from custom fields
|
149 |
***/
|
@@ -151,61 +151,61 @@ class UM_Fields {
|
|
151 |
global $ultimatemember;
|
152 |
$fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
|
153 |
$field_scope = $ultimatemember->builtin->saved_fields;
|
154 |
-
|
155 |
if ( !isset( $fields[$global_id] ) ) {
|
156 |
-
|
157 |
$count = 1;
|
158 |
if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1;
|
159 |
-
|
160 |
$fields[$global_id] = $field_scope[$global_id];
|
161 |
$fields[$global_id]['position'] = $count;
|
162 |
-
|
163 |
// set position
|
164 |
if ( $position ) {
|
165 |
foreach( $position as $key => $val ) {
|
166 |
$fields[$global_id][$key] = $val;
|
167 |
}
|
168 |
}
|
169 |
-
|
170 |
// add field to form
|
171 |
$ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
|
172 |
-
|
173 |
}
|
174 |
}
|
175 |
-
|
176 |
/***
|
177 |
*** @quickly add field from predefined fields
|
178 |
***/
|
179 |
function add_field_from_predefined( $global_id, $form_id, $position = array() ) {
|
180 |
global $ultimatemember;
|
181 |
-
|
182 |
$fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
|
183 |
$field_scope = $ultimatemember->builtin->predefined_fields;
|
184 |
-
|
185 |
if ( !isset( $fields[$global_id] ) ) {
|
186 |
-
|
187 |
$count = 1;
|
188 |
if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1;
|
189 |
-
|
190 |
$fields[$global_id] = $field_scope[$global_id];
|
191 |
$fields[$global_id]['position'] = $count;
|
192 |
-
|
193 |
// set position
|
194 |
if ( $position ) {
|
195 |
foreach( $position as $key => $val ) {
|
196 |
$fields[$global_id][$key] = $val;
|
197 |
}
|
198 |
}
|
199 |
-
|
200 |
// add field to form
|
201 |
$ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
|
202 |
-
|
203 |
// add field to db
|
204 |
//$this->globally_update_field( $global_id, $fields[$global_id] );
|
205 |
-
|
206 |
}
|
207 |
}
|
208 |
-
|
209 |
/***
|
210 |
*** @Duplicates a field by meta key
|
211 |
*** @requires form id and meta key
|
@@ -214,34 +214,34 @@ class UM_Fields {
|
|
214 |
global $ultimatemember;
|
215 |
$fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
|
216 |
$all_fields = $ultimatemember->builtin->saved_fields;
|
217 |
-
|
218 |
$inc = count( $fields ) + 1;
|
219 |
-
|
220 |
$duplicate = $fields[ $id ];
|
221 |
-
|
222 |
$new_metakey = $id . "_" . $inc;
|
223 |
$new_title = $fields[ $id ]['title'] . " #" . $inc;
|
224 |
$new_position = $inc;
|
225 |
-
|
226 |
$duplicate['title'] = $new_title;
|
227 |
$duplicate['metakey'] = $new_metakey;
|
228 |
$duplicate['position'] = $new_position;
|
229 |
|
230 |
$fields[ $new_metakey ] = $duplicate;
|
231 |
$all_fields[ $new_metakey ] = $duplicate;
|
232 |
-
|
233 |
// not global attributes
|
234 |
unset( $all_fields[ $new_metakey ]['in_row'] );
|
235 |
unset( $all_fields[ $new_metakey ]['in_sub_row'] );
|
236 |
unset( $all_fields[ $new_metakey ]['in_column'] );
|
237 |
unset( $all_fields[ $new_metakey ]['in_group'] );
|
238 |
unset( $all_fields[ $new_metakey ]['position'] );
|
239 |
-
|
240 |
$ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
|
241 |
update_option('um_fields', $all_fields );
|
242 |
-
|
243 |
}
|
244 |
-
|
245 |
/***
|
246 |
*** @Print field error
|
247 |
***/
|
@@ -256,13 +256,13 @@ class UM_Fields {
|
|
256 |
} else {
|
257 |
$output = '';
|
258 |
}
|
259 |
-
|
260 |
if ( !$ultimatemember->form->processing ) {
|
261 |
$output = '<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>'.$text.'</div>';
|
262 |
}
|
263 |
return $output;
|
264 |
}
|
265 |
-
|
266 |
/***
|
267 |
*** @Check if field has a server side error
|
268 |
***/
|
@@ -270,7 +270,7 @@ class UM_Fields {
|
|
270 |
global $ultimatemember;
|
271 |
return $ultimatemember->form->has_error($key);
|
272 |
}
|
273 |
-
|
274 |
/***
|
275 |
*** @Return field error
|
276 |
***/
|
@@ -278,7 +278,7 @@ class UM_Fields {
|
|
278 |
global $ultimatemember;
|
279 |
return $ultimatemember->form->errors[$key];
|
280 |
}
|
281 |
-
|
282 |
/***
|
283 |
*** @Display field label
|
284 |
***/
|
@@ -286,36 +286,36 @@ class UM_Fields {
|
|
286 |
global $ultimatemember;
|
287 |
$output = null;
|
288 |
$output .= '<div class="um-field-label">';
|
289 |
-
|
290 |
if ( isset($data['icon']) && $data['icon'] != '' && isset( $this->field_icons ) && $this->field_icons != 'off' && ( $this->field_icons == 'label' || $this->viewing == true ) ) {
|
291 |
$output .= '<div class="um-field-label-icon"><i class="'.$data['icon'].'"></i></div>';
|
292 |
}
|
293 |
-
|
294 |
if ( $this->viewing == true ) {
|
295 |
$label = apply_filters("um_view_label_{$key}", $label );
|
296 |
} else {
|
297 |
$label = apply_filters("um_edit_label_{$key}", $label );
|
298 |
$label = apply_filters("um_edit_label_all_fields", $label, $data );
|
299 |
}
|
300 |
-
|
301 |
$output .= '<label for="'.$key.$ultimatemember->form->form_suffix.'">'.$label.'</label>';
|
302 |
-
|
303 |
if ( isset( $data['help'] ) && !empty( $data['help'] ) && $this->viewing == false && !strstr($key, 'confirm_user_pass') ) {
|
304 |
-
|
305 |
if ( !$ultimatemember->mobile->isMobile() ) {
|
306 |
if ( !isset( $this->disable_tooltips ) ) {
|
307 |
$output .= '<span class="um-tip um-tip-w" title="'.$data['help'].'"><i class="um-icon-help-circled"></i></span>';
|
308 |
}
|
309 |
}
|
310 |
-
|
311 |
if ( $ultimatemember->mobile->isMobile() || isset( $this->disable_tooltips ) ) {
|
312 |
$output .= '<span class="um-tip-text">'. $data['help'] . '</span>';
|
313 |
}
|
314 |
-
|
315 |
}
|
316 |
-
|
317 |
$output .= '<div class="um-clear"></div></div>';
|
318 |
-
|
319 |
return $output;
|
320 |
}
|
321 |
|
@@ -324,27 +324,27 @@ class UM_Fields {
|
|
324 |
***/
|
325 |
function get_class($key, $data, $add = null) {
|
326 |
$classes = null;
|
327 |
-
|
328 |
$classes .= 'um-form-field ';
|
329 |
-
|
330 |
if ( $this->is_error($key) ) {
|
331 |
$classes .= 'um-error ';
|
332 |
} else {
|
333 |
$classes .= 'valid ';
|
334 |
}
|
335 |
-
|
336 |
if ( !isset($data['required']) ) {
|
337 |
$classes .= 'not-required ';
|
338 |
}
|
339 |
-
|
340 |
if ( $data['type'] == 'date' ) {
|
341 |
$classes .= 'um-datepicker ';
|
342 |
}
|
343 |
-
|
344 |
if ( $data['type'] == 'time' ) {
|
345 |
$classes .= 'um-timepicker ';
|
346 |
}
|
347 |
-
|
348 |
if ( isset($data['icon']) && $data['icon'] && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
|
349 |
$classes .= 'um-iconed';
|
350 |
}
|
@@ -352,21 +352,21 @@ class UM_Fields {
|
|
352 |
if ($add) {
|
353 |
$classes .= $add . ' ';
|
354 |
}
|
355 |
-
|
356 |
return $classes;
|
357 |
}
|
358 |
-
|
359 |
/***
|
360 |
*** @Get field value
|
361 |
***/
|
362 |
function field_value( $key, $default = false, $data = null ) {
|
363 |
global $ultimatemember;
|
364 |
-
|
365 |
if ( isset($_SESSION) && isset($_SESSION['um_social_profile'][$key]) && isset( $this->set_mode ) && $this->set_mode == 'register' )
|
366 |
return $_SESSION['um_social_profile'][$key];
|
367 |
-
|
368 |
$type = (isset($data['type']))?$data['type']:'';
|
369 |
-
|
370 |
// preview in backend
|
371 |
if ( isset( $ultimatemember->user->preview ) && $ultimatemember->user->preview ) {
|
372 |
$submitted = um_user('submitted');
|
@@ -376,81 +376,87 @@ class UM_Fields {
|
|
376 |
return 'Undefined';
|
377 |
}
|
378 |
}
|
379 |
-
|
380 |
// normal state
|
381 |
if ( isset($ultimatemember->form->post_form[$key]) ) {
|
382 |
-
|
383 |
if ( strstr( $key, 'user_pass' ) && $this->set_mode != 'password' ) return '';
|
384 |
-
|
385 |
return $ultimatemember->form->post_form[$key];
|
386 |
-
|
387 |
} else if ( um_user( $key ) && $this->editing == true ) {
|
388 |
-
|
389 |
if ( strstr( $key, 'user_pass' ) ) return '';
|
390 |
-
|
391 |
-
return um_user( $key );
|
392 |
-
|
393 |
} else if ( ( um_user( $key ) || isset($data['show_anyway']) ) && $this->viewing == true ) {
|
394 |
-
|
395 |
$value = um_filtered_value( $key, $data );
|
396 |
return $value;
|
397 |
-
|
398 |
-
} else if ($default) {
|
|
|
399 |
return $default;
|
|
|
|
|
|
|
|
|
|
|
400 |
}
|
401 |
|
402 |
return '';
|
403 |
}
|
404 |
-
|
405 |
/***
|
406 |
*** @Check if option is selected
|
407 |
***/
|
408 |
function is_selected($key, $value, $data){
|
409 |
global $ultimatemember;
|
410 |
-
|
411 |
if ( isset( $ultimatemember->form->post_form[$key] ) && is_array( $ultimatemember->form->post_form[$key] ) ) {
|
412 |
-
|
413 |
if ( in_array( $value, $ultimatemember->form->post_form[$key] ) ){
|
414 |
return true;
|
415 |
}
|
416 |
-
|
417 |
} else {
|
418 |
-
|
419 |
if ( !isset( $ultimatemember->form->post_form ) ) {
|
420 |
-
|
421 |
if ( um_user( $key ) && $this->editing == true && is_array( um_user( $key ) ) && in_array($value, um_user( $key ) ) ) {
|
422 |
return true;
|
423 |
}
|
424 |
-
|
425 |
if ( um_user( $key ) && $this->editing == true && !is_array( um_user( $key ) ) && um_user( $key ) == $value ) {
|
426 |
return true;
|
427 |
}
|
428 |
-
|
429 |
if ( strstr( $data['default'], ', ') ) {
|
430 |
$data['default'] = explode(', ', $data['default']);
|
431 |
}
|
432 |
-
|
433 |
if ( isset($data['default']) && !is_array($data['default']) && $data['default'] == $value ) {
|
434 |
return true;
|
435 |
}
|
436 |
-
|
437 |
if ( isset($data['default']) && is_array($data['default']) && in_array($value, $data['default'] ) ){
|
438 |
return true;
|
439 |
}
|
440 |
-
|
441 |
} else {
|
442 |
-
|
443 |
if ( isset( $ultimatemember->form->post_form[$key] ) && $value == $ultimatemember->form->post_form[$key] ) {
|
444 |
return true;
|
445 |
}
|
446 |
-
|
447 |
}
|
448 |
-
|
449 |
}
|
450 |
-
|
451 |
return false;
|
452 |
}
|
453 |
-
|
454 |
/***
|
455 |
*** @Check if radio button is checked
|
456 |
***/
|
@@ -458,43 +464,43 @@ class UM_Fields {
|
|
458 |
global $ultimatemember;
|
459 |
|
460 |
if ( isset( $ultimatemember->form->post_form[$key] ) && is_array( $ultimatemember->form->post_form[$key] ) ) {
|
461 |
-
|
462 |
if ( in_array( $value, $ultimatemember->form->post_form[$key] ) ){
|
463 |
return true;
|
464 |
}
|
465 |
-
|
466 |
} else {
|
467 |
-
|
468 |
if ( !isset( $ultimatemember->form->post_form ) ) {
|
469 |
-
|
470 |
if ( um_user( $key ) && $this->editing == true ) {
|
471 |
-
|
472 |
if ( strstr($key, 'role_') ) {
|
473 |
$key = 'role';
|
474 |
}
|
475 |
-
|
476 |
if ( um_user( $key ) == $value ) {
|
477 |
return true;
|
478 |
}
|
479 |
-
|
480 |
} else {
|
481 |
-
|
482 |
if ( isset($data['default']) && $data['default'] == $value ) {
|
483 |
return true;
|
484 |
}
|
485 |
-
|
486 |
}
|
487 |
-
|
488 |
} else {
|
489 |
-
|
490 |
if ( isset( $ultimatemember->form->post_form[$key] ) && $value == $ultimatemember->form->post_form[$key] ) {
|
491 |
return true;
|
492 |
}
|
493 |
-
|
494 |
}
|
495 |
-
|
496 |
}
|
497 |
-
|
498 |
return false;
|
499 |
}
|
500 |
|
@@ -508,7 +514,7 @@ class UM_Fields {
|
|
508 |
return $fields[$key]['icon'];
|
509 |
return '';
|
510 |
}
|
511 |
-
|
512 |
/***
|
513 |
*** @Get Field Type
|
514 |
***/
|
@@ -519,7 +525,7 @@ class UM_Fields {
|
|
519 |
return $fields[$key]['type'];
|
520 |
return '';
|
521 |
}
|
522 |
-
|
523 |
/***
|
524 |
*** @Get Field Label
|
525 |
***/
|
@@ -532,7 +538,7 @@ class UM_Fields {
|
|
532 |
return $fields[$key]['title'];
|
533 |
return '';
|
534 |
}
|
535 |
-
|
536 |
/***
|
537 |
*** @Get Field Title
|
538 |
***/
|
@@ -545,7 +551,7 @@ class UM_Fields {
|
|
545 |
return $fields[$key]['label'];
|
546 |
return __('Custom Field','ultimatemember');
|
547 |
}
|
548 |
-
|
549 |
/***
|
550 |
*** @Get form fields
|
551 |
***/
|
@@ -554,13 +560,13 @@ class UM_Fields {
|
|
554 |
$this->fields = apply_filters("um_get_form_fields", $this->fields );
|
555 |
return $this->fields;
|
556 |
}
|
557 |
-
|
558 |
/***
|
559 |
*** @Get Field
|
560 |
***/
|
561 |
function get_field( $key ) {
|
562 |
global $ultimatemember;
|
563 |
-
|
564 |
$fields = $this->get_fields();
|
565 |
|
566 |
if ( isset( $fields ) && is_array( $fields ) && isset( $fields[$key] ) ) {
|
@@ -571,30 +577,30 @@ class UM_Fields {
|
|
571 |
}
|
572 |
$array = (isset( $ultimatemember->builtin->predefined_fields[$key] ) ) ? $ultimatemember->builtin->predefined_fields[$key] : $ultimatemember->builtin->all_user_fields[$key];
|
573 |
}
|
574 |
-
|
575 |
$array['classes'] = null;
|
576 |
|
577 |
if (!isset($array['placeholder'])) $array['placeholder'] = null;
|
578 |
if (!isset($array['required'])) $array['required'] = null;
|
579 |
if (!isset($array['validate'])) $array['validate'] = null;
|
580 |
if (!isset($array['default'])) $array['default'] = null;
|
581 |
-
|
582 |
if ( isset( $array['conditions'] ) && is_array( $array['conditions'] ) && !$this->viewing ) {
|
583 |
$array['conditional'] = '';
|
584 |
|
585 |
foreach( $array['conditions'] as $cond_id => $cond ) {
|
586 |
$array['conditional'] .= ' data-cond-'.$cond_id.'-action="'. $cond[0] . '" data-cond-'.$cond_id.'-field="'. $cond[1] . '" data-cond-'.$cond_id.'-operator="'. $cond[2] . '" data-cond-'.$cond_id.'-value="'. $cond[3] . '"';
|
587 |
}
|
588 |
-
|
589 |
$array['classes'] .= ' um-is-conditional';
|
590 |
-
|
591 |
} else {
|
592 |
$array['conditional'] = null;
|
593 |
}
|
594 |
-
|
595 |
$array['classes'] .= ' um-field-' . $key;
|
596 |
$array['classes'] .= ' um-field-' . $array['type'];
|
597 |
-
|
598 |
switch( $array['type'] ) {
|
599 |
|
600 |
case 'googlemap':
|
@@ -604,37 +610,43 @@ class UM_Fields {
|
|
604 |
$array['disabled'] = '';
|
605 |
$array['input'] = 'text';
|
606 |
break;
|
607 |
-
|
608 |
case 'text':
|
609 |
-
|
610 |
$array['disabled'] = '';
|
611 |
-
|
612 |
if ( $key == 'user_login' && $this->set_mode == 'account' ) {
|
613 |
$array['disabled'] = 'disabled="disabled"';
|
614 |
}
|
615 |
-
|
616 |
$array['input'] = 'text';
|
617 |
|
618 |
break;
|
619 |
-
|
620 |
case 'password':
|
621 |
-
|
622 |
$array['input'] = 'password';
|
623 |
|
624 |
break;
|
625 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
626 |
case 'url':
|
627 |
-
|
628 |
$array['input'] = 'text';
|
629 |
|
630 |
break;
|
631 |
-
|
632 |
case 'date':
|
633 |
-
|
634 |
$array['input'] = 'text';
|
635 |
-
|
636 |
if ( !isset( $array['format'] ) ) $array['format'] = 'j M Y';
|
637 |
-
|
638 |
switch( $array['format'] ) {
|
639 |
case 'j M Y':
|
640 |
$js_format = 'd mmm yyyy';
|
@@ -649,68 +661,68 @@ class UM_Fields {
|
|
649 |
$js_format = 'mmmm d yyyy';
|
650 |
break;
|
651 |
}
|
652 |
-
|
653 |
$array['js_format'] = $js_format;
|
654 |
-
|
655 |
if ( !isset( $array['range'] ) ) $array['range'] = 'years';
|
656 |
if ( !isset( $array['years'] ) ) $array['years'] = 100;
|
657 |
if ( !isset( $array['years_x'] ) ) $array['years_x'] = 'past';
|
658 |
if ( !isset( $array['disabled_weekdays'] ) ) $array['disabled_weekdays'] = '';
|
659 |
-
|
660 |
if ( !empty( $array['disabled_weekdays'] ) ) {
|
661 |
$array['disabled_weekdays'] = '[' . implode(',',$array['disabled_weekdays']) . ']';
|
662 |
}
|
663 |
-
|
664 |
// When date range is strictly defined
|
665 |
if ( $array['range'] == 'date_range' ) {
|
666 |
-
|
667 |
$array['date_min'] = str_replace('/',',',$array['range_start']);
|
668 |
$array['date_max'] = str_replace('/',',',$array['range_end']);
|
669 |
-
|
670 |
} else {
|
671 |
-
|
672 |
if ( $array['years_x'] == 'past' ) {
|
673 |
|
674 |
$date = new DateTime( date('Y-n-d') );
|
675 |
$past = $date->modify('-'.$array['years'].' years');
|
676 |
$past = $date->format('Y,n,d');
|
677 |
-
|
678 |
$array['date_min'] = $past;
|
679 |
$array['date_max'] = date('Y,n,d');
|
680 |
-
|
681 |
} else if ( $array['years_x'] == 'future' ) {
|
682 |
-
|
683 |
$date = new DateTime( date('Y-n-d') );
|
684 |
$future = $date->modify('+'.$array['years'].' years');
|
685 |
$future = $date->format('Y,n,d');
|
686 |
-
|
687 |
-
$array['date_min'] = date('Y,n,d');
|
688 |
$array['date_max'] = $future;
|
689 |
-
|
690 |
} else {
|
691 |
-
|
692 |
$date = new DateTime( date('Y-n-d') );
|
693 |
$date_f = new DateTime( date('Y-n-d') );
|
694 |
$past = $date->modify('-'. ( $array['years'] / 2 ).' years');
|
695 |
$past = $date->format('Y,n,d');
|
696 |
$future = $date_f->modify('+'. ( $array['years'] / 2 ).' years');
|
697 |
$future = $date_f->format('Y,n,d');
|
698 |
-
|
699 |
-
$array['date_min'] = $past;
|
700 |
$array['date_max'] = $future;
|
701 |
|
702 |
}
|
703 |
|
704 |
}
|
705 |
-
|
706 |
break;
|
707 |
-
|
708 |
case 'time':
|
709 |
-
|
710 |
$array['input'] = 'text';
|
711 |
-
|
712 |
if ( !isset( $array['format'] ) ) $array['format'] = 'g:i a';
|
713 |
-
|
714 |
switch( $array['format'] ) {
|
715 |
case 'g:i a':
|
716 |
$js_format = 'h:i a';
|
@@ -722,63 +734,63 @@ class UM_Fields {
|
|
722 |
$js_format = 'HH:i';
|
723 |
break;
|
724 |
}
|
725 |
-
|
726 |
$array['js_format'] = $js_format;
|
727 |
-
|
728 |
if ( !isset( $array['intervals'] ) ) $array['intervals'] = 60;
|
729 |
|
730 |
break;
|
731 |
-
|
732 |
case 'textarea':
|
733 |
-
|
734 |
if (!isset($array['height'])) $array['height'] = '100px';
|
735 |
-
|
736 |
break;
|
737 |
|
738 |
case 'rating':
|
739 |
-
|
740 |
if (!isset($array['number'])) $array['number'] = 5;
|
741 |
-
|
742 |
break;
|
743 |
|
744 |
case 'spacing':
|
745 |
-
|
746 |
if ( !isset($array['spacing'])){
|
747 |
$array['spacing'] = '20px';
|
748 |
}
|
749 |
-
|
750 |
break;
|
751 |
-
|
752 |
case 'divider':
|
753 |
-
|
754 |
if (isset($array['width'])){
|
755 |
$array['borderwidth'] = $array['width'];
|
756 |
} else {
|
757 |
$array['borderwidth'] = 4;
|
758 |
}
|
759 |
-
|
760 |
if (isset($array['color'])){
|
761 |
$array['bordercolor'] = $array['color'];
|
762 |
} else {
|
763 |
$array['bordercolor'] = '#eee';
|
764 |
}
|
765 |
-
|
766 |
if (isset($array['style'])){
|
767 |
$array['borderstyle'] = $array['style'];
|
768 |
} else {
|
769 |
$array['borderstyle'] = 'solid';
|
770 |
}
|
771 |
-
|
772 |
if ( !isset( $array['divider_text'] ) ) {
|
773 |
$array['divider_text'] = '';
|
774 |
}
|
775 |
-
|
776 |
break;
|
777 |
|
778 |
case 'image':
|
779 |
-
|
780 |
if ( !isset( $array['crop'] ) ) $array['crop'] = 0;
|
781 |
-
|
782 |
if ( $array['crop'] == 0 ) {
|
783 |
$array['crop_data'] = 0;
|
784 |
} else if ( $array['crop'] == 1 ) {
|
@@ -788,26 +800,26 @@ class UM_Fields {
|
|
788 |
} else {
|
789 |
$array['crop_data'] = 'user';
|
790 |
}
|
791 |
-
|
792 |
if ( !isset( $array['modal_size'] ) ) $array['modal_size'] = 'normal';
|
793 |
-
|
794 |
if ( $array['crop'] > 0 ) {
|
795 |
$array['crop_class'] = 'crop';
|
796 |
} else {
|
797 |
$array['crop_class'] = '';
|
798 |
}
|
799 |
-
|
800 |
if ( !isset( $array['ratio'] ) ) $array['ratio'] = 1.0;
|
801 |
-
|
802 |
if ( !isset( $array['min_width'] ) ) $array['min_width'] = '';
|
803 |
if ( !isset( $array['min_height'] ) ) $array['min_height'] = '';
|
804 |
-
|
805 |
if ( $array['min_width'] == '' && $array['crop'] == 1 ) $array['min_width'] = 600;
|
806 |
if ( $array['min_height'] == '' && $array['crop'] == 1 ) $array['min_height'] = 600;
|
807 |
-
|
808 |
if ( $array['min_width'] == '' && $array['crop'] == 3 ) $array['min_width'] = 600;
|
809 |
if ( $array['min_height'] == '' && $array['crop'] == 3 ) $array['min_height'] = 600;
|
810 |
-
|
811 |
if (!isset($array['invalid_image'])) $array['invalid_image'] = __("Please upload a valid image!",'ultimatemember');
|
812 |
if (!isset($array['allowed_types'])) {
|
813 |
$array['allowed_types'] = "gif,jpg,jpeg,png";
|
@@ -827,9 +839,9 @@ class UM_Fields {
|
|
827 |
break;
|
828 |
|
829 |
case 'file':
|
830 |
-
|
831 |
if ( !isset( $array['modal_size'] ) ) $array['modal_size'] = 'normal';
|
832 |
-
|
833 |
if (!isset($array['allowed_types'])) {
|
834 |
$array['allowed_types'] = "pdf,txt";
|
835 |
} else {
|
@@ -848,57 +860,57 @@ class UM_Fields {
|
|
848 |
break;
|
849 |
|
850 |
case 'select':
|
851 |
-
|
852 |
break;
|
853 |
-
|
854 |
case 'multiselect':
|
855 |
-
|
856 |
break;
|
857 |
-
|
858 |
case 'group':
|
859 |
-
|
860 |
if ( !isset( $array['max_entries'] ) ) $array['max_entries'] = 0;
|
861 |
-
|
862 |
break;
|
863 |
-
|
864 |
}
|
865 |
-
|
866 |
if ( !isset( $array['visibility'] ) ) $array['visibility'] = 'all';
|
867 |
-
|
868 |
return $array;
|
869 |
}
|
870 |
-
|
871 |
/***
|
872 |
*** @a field in input mode
|
873 |
***/
|
874 |
function edit_field( $key, $data, $rule=false ) {
|
875 |
global $ultimatemember;
|
876 |
-
|
877 |
$output = null;
|
878 |
-
|
879 |
// get whole field data
|
880 |
if ( isset( $data ) && is_array( $data ) ) {
|
881 |
$data = $this->get_field($key);
|
882 |
extract($data);
|
883 |
}
|
884 |
-
|
885 |
if ( !isset( $data['type'] ) ) return;
|
886 |
-
|
887 |
if ( isset( $data['in_group'] ) && $data['in_group'] != '' && $rule != 'group' ) return;
|
888 |
-
|
889 |
if ( $visibility == 'view' ) return;
|
890 |
-
|
891 |
if ( !um_can_view_field( $data ) ) return;
|
892 |
if ( !um_can_edit_field( $data ) ) return;
|
893 |
-
|
894 |
// fields that need to be disabled in edit mode (profile)
|
895 |
if ( in_array( $key, array('user_email','username','user_login','user_password') ) && $this->editing == true && $this->set_mode == 'profile' ) {
|
896 |
return;
|
897 |
}
|
898 |
-
|
899 |
// forbidden in edit mode?
|
900 |
if ( isset( $data['edit_forbidden'] ) ) return;
|
901 |
-
|
902 |
// required option
|
903 |
if ( isset( $data['required_opt'] ) ) {
|
904 |
$opt = $data['required_opt'];
|
@@ -906,14 +918,14 @@ class UM_Fields {
|
|
906 |
return;
|
907 |
}
|
908 |
}
|
909 |
-
|
910 |
// required user permission
|
911 |
if ( isset( $data['required_perm'] ) ) {
|
912 |
if ( !um_user( $data['required_perm'] ) ) {
|
913 |
return;
|
914 |
}
|
915 |
}
|
916 |
-
|
917 |
// do not show passwords
|
918 |
if ( isset( $ultimatemember->user->preview ) && $ultimatemember->user->preview ) {
|
919 |
if ( $data['type'] == 'password' ){
|
@@ -925,13 +937,13 @@ class UM_Fields {
|
|
925 |
|
926 |
/* Begin by field type */
|
927 |
switch( $type ) {
|
928 |
-
|
929 |
/* Default: Integration */
|
930 |
default:
|
931 |
$mode = (isset($this->set_mode))?$this->set_mode:'no_mode';
|
932 |
$output .= apply_filters("um_edit_field_{$mode}_{$type}", $output, $data);
|
933 |
break;
|
934 |
-
|
935 |
/* Other fields */
|
936 |
case 'googlemap':
|
937 |
case 'youtube_video':
|
@@ -939,27 +951,27 @@ class UM_Fields {
|
|
939 |
case 'soundcloud_track':
|
940 |
|
941 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
942 |
-
|
943 |
if ( isset( $data['label'] ) ) {
|
944 |
$output .= $this->field_label($label, $key, $data);
|
945 |
}
|
946 |
|
947 |
$output .= '<div class="um-field-area">';
|
948 |
-
|
949 |
if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
|
950 |
-
|
951 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
952 |
-
|
953 |
}
|
954 |
-
|
955 |
$output .= '<input '.$disabled.' class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. htmlspecialchars( $this->field_value( $key, $default, $data ) ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
956 |
-
|
957 |
</div>';
|
958 |
-
|
959 |
if ( $this->is_error($key) ) {
|
960 |
$output .= $this->field_error( $this->show_error($key) );
|
961 |
}
|
962 |
-
|
963 |
$output .= '</div>';
|
964 |
break;
|
965 |
|
@@ -967,39 +979,67 @@ class UM_Fields {
|
|
967 |
case 'text':
|
968 |
|
969 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
970 |
-
|
971 |
if ( isset( $data['label'] ) ) {
|
972 |
$output .= $this->field_label($label, $key, $data);
|
973 |
}
|
974 |
|
975 |
$output .= '<div class="um-field-area">';
|
976 |
-
|
977 |
if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
|
978 |
-
|
979 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
980 |
-
|
981 |
}
|
982 |
-
|
983 |
$output .= '<input '.$disabled.' class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. htmlspecialchars( $this->field_value( $key, $default, $data ) ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
984 |
-
|
985 |
</div>';
|
986 |
-
|
987 |
if ( $this->is_error($key) ) {
|
988 |
$output .= $this->field_error( $this->show_error($key) );
|
989 |
}
|
990 |
-
|
991 |
$output .= '</div>';
|
992 |
break;
|
993 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
994 |
/* Password */
|
995 |
case 'password':
|
996 |
-
|
997 |
$original_key = $key;
|
998 |
-
|
999 |
if ( $key == 'single_user_password' ) {
|
1000 |
-
|
1001 |
$key = $original_key;
|
1002 |
-
|
1003 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1004 |
|
1005 |
if ( isset( $data['label'] ) ) {
|
@@ -1007,252 +1047,277 @@ class UM_Fields {
|
|
1007 |
}
|
1008 |
|
1009 |
$output .= '<div class="um-field-area">';
|
1010 |
-
|
1011 |
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
|
1012 |
-
|
1013 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1014 |
-
|
1015 |
}
|
1016 |
-
|
1017 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
1018 |
-
|
1019 |
</div>';
|
1020 |
-
|
1021 |
if ( $this->is_error($key) ) {
|
1022 |
$output .= $this->field_error( $this->show_error($key) );
|
1023 |
}
|
1024 |
-
|
1025 |
$output .= '</div>';
|
1026 |
-
|
1027 |
} else {
|
1028 |
-
|
1029 |
if ( $this->set_mode == 'account' && um_is_core_page('account') ) {
|
1030 |
|
1031 |
$key = 'current_' . $original_key;
|
1032 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1033 |
-
|
1034 |
if ( isset( $data['label'] ) ) {
|
1035 |
$output .= $this->field_label( __('Current Password','ultimatemember'), $key, $data);
|
1036 |
}
|
1037 |
-
|
1038 |
$output .= '<div class="um-field-area">';
|
1039 |
-
|
1040 |
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
|
1041 |
-
|
1042 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1043 |
-
|
1044 |
}
|
1045 |
-
|
1046 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="' . $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
1047 |
-
|
1048 |
</div>';
|
1049 |
-
|
1050 |
if ( $this->is_error($key) ) {
|
1051 |
$output .= $this->field_error( $this->show_error($key) );
|
1052 |
}
|
1053 |
-
|
1054 |
$output .= '</div>';
|
1055 |
-
|
1056 |
}
|
1057 |
|
1058 |
$key = $original_key;
|
1059 |
-
|
1060 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1061 |
|
1062 |
if ( $this->set_mode == 'account' && um_is_core_page('account') || $this->set_mode == 'password' && um_is_core_page('password-reset') ) {
|
1063 |
-
|
1064 |
$output .= $this->field_label( __('New Password','ultimatemember'), $key, $data);
|
1065 |
-
|
1066 |
} else if ( isset( $data['label'] ) ) {
|
1067 |
-
|
1068 |
$output .= $this->field_label($label, $key, $data);
|
1069 |
-
|
1070 |
}
|
1071 |
|
1072 |
$output .= '<div class="um-field-area">';
|
1073 |
-
|
1074 |
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
|
1075 |
-
|
1076 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1077 |
-
|
1078 |
}
|
1079 |
-
|
1080 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
1081 |
-
|
1082 |
</div>';
|
1083 |
-
|
1084 |
if ( $this->is_error($key) ) {
|
1085 |
$output .= $this->field_error( $this->show_error($key) );
|
1086 |
}
|
1087 |
-
|
1088 |
$output .= '</div>';
|
1089 |
-
|
1090 |
if ( $this->set_mode != 'login' && isset( $data['force_confirm_pass'] ) && $data['force_confirm_pass'] == 1 ) {
|
1091 |
|
1092 |
$key = 'confirm_' . $original_key;
|
1093 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1094 |
-
|
1095 |
if ( isset( $data['label'] ) ) {
|
1096 |
$output .= $this->field_label( sprintf(__('Confirm %s','ultimatemember'), $data['label'] ), $key, $data);
|
1097 |
}
|
1098 |
-
|
1099 |
$output .= '<div class="um-field-area">';
|
1100 |
-
|
1101 |
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
|
1102 |
-
|
1103 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1104 |
-
|
1105 |
}
|
1106 |
-
|
1107 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="' . $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
1108 |
-
|
1109 |
</div>';
|
1110 |
-
|
1111 |
if ( $this->is_error($key) ) {
|
1112 |
$output .= $this->field_error( $this->show_error($key) );
|
1113 |
}
|
1114 |
-
|
1115 |
$output .= '</div>';
|
1116 |
-
|
1117 |
}
|
1118 |
-
|
1119 |
}
|
1120 |
-
|
1121 |
break;
|
1122 |
-
|
1123 |
/* URL */
|
1124 |
case 'url':
|
1125 |
-
|
1126 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1127 |
-
|
1128 |
if ( isset( $data['label'] ) ) {
|
1129 |
$output .= $this->field_label($label, $key, $data);
|
1130 |
}
|
1131 |
|
1132 |
$output .= '<div class="um-field-area">';
|
1133 |
-
|
1134 |
if ( isset($icon) && $icon && isset($this->field_icons) && $this->field_icons == 'field' ) {
|
1135 |
-
|
1136 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1137 |
-
|
1138 |
}
|
1139 |
-
|
1140 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
1141 |
-
|
1142 |
</div>';
|
1143 |
-
|
1144 |
if ( $this->is_error($key) ) {
|
1145 |
$output .= $this->field_error( $this->show_error($key) );
|
1146 |
}
|
1147 |
-
|
1148 |
$output .= '</div>';
|
1149 |
break;
|
1150 |
-
|
1151 |
/* Date */
|
1152 |
case 'date':
|
1153 |
-
|
1154 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1155 |
-
|
1156 |
if ( isset( $data['label'] ) ) {
|
1157 |
$output .= $this->field_label($label, $key, $data);
|
1158 |
}
|
1159 |
|
1160 |
$output .= '<div class="um-field-area">';
|
1161 |
-
|
1162 |
if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
|
1163 |
-
|
1164 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1165 |
-
|
1166 |
}
|
1167 |
-
|
1168 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" data-range="'.$range.'" data-years="'.$years.'" data-years_x="'.$years_x.'" data-disabled_weekdays="'.$disabled_weekdays.'" data-date_min="'.$date_min.'" data-date_max="'.$date_max.'" data-format="'.$js_format.'" data-value="'. $this->field_value( $key, $default, $data ) .'" />
|
1169 |
-
|
1170 |
</div>';
|
1171 |
-
|
1172 |
if ( $this->is_error($key) ) {
|
1173 |
$output .= $this->field_error( $this->show_error($key) );
|
1174 |
}
|
1175 |
-
|
1176 |
$output .= '</div>';
|
1177 |
break;
|
1178 |
-
|
1179 |
/* Time */
|
1180 |
case 'time':
|
1181 |
-
|
1182 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1183 |
-
|
1184 |
if ( isset( $data['label'] ) ) {
|
1185 |
$output .= $this->field_label($label, $key, $data);
|
1186 |
}
|
1187 |
|
1188 |
$output .= '<div class="um-field-area">';
|
1189 |
-
|
1190 |
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
|
1191 |
-
|
1192 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1193 |
-
|
1194 |
}
|
1195 |
-
|
1196 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" data-format="'.$js_format.'" data-intervals="'.$intervals.'" data-value="'. $this->field_value( $key, $default, $data ) .'" />
|
1197 |
-
|
1198 |
</div>';
|
1199 |
-
|
1200 |
if ( $this->is_error($key) ) {
|
1201 |
$output .= $this->field_error( $this->show_error($key) );
|
1202 |
}
|
1203 |
-
|
1204 |
$output .= '</div>';
|
1205 |
break;
|
1206 |
-
|
1207 |
/* Row */
|
1208 |
case 'row':
|
1209 |
$output .= '';
|
1210 |
break;
|
1211 |
-
|
1212 |
/* Textarea */
|
1213 |
case 'textarea':
|
1214 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1215 |
-
|
1216 |
if ( isset( $data['label'] ) ) {
|
1217 |
$output .= $this->field_label($label, $key, $data);
|
1218 |
}
|
1219 |
-
|
1220 |
$output .= '<div class="um-field-area">';
|
1221 |
|
1222 |
-
|
1223 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1224 |
</div>';
|
1225 |
-
|
1226 |
if ( $this->is_error($key) ) {
|
1227 |
$output .= $this->field_error( $this->show_error($key) );
|
1228 |
}
|
1229 |
-
|
1230 |
$output .= '</div>';
|
1231 |
break;
|
1232 |
-
|
1233 |
/* Rating */
|
1234 |
case 'rating':
|
1235 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1236 |
-
|
1237 |
if ( isset( $data['label'] ) ) {
|
1238 |
$output .= $this->field_label($label, $key, $data);
|
1239 |
}
|
1240 |
-
|
1241 |
$output .= '<div class="um-field-area">';
|
1242 |
-
|
1243 |
$output .= '<div class="um-rating um-raty" id="'.$key.'" data-key="'.$key.'" data-number="'.$data['number'].'" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>';
|
1244 |
-
|
1245 |
$output .= '</div>';
|
1246 |
-
|
1247 |
$output .= '</div>';
|
1248 |
-
|
1249 |
break;
|
1250 |
-
|
1251 |
/* Gap/Space */
|
1252 |
case 'spacing':
|
1253 |
$output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: '.$spacing.'"></div>';
|
1254 |
break;
|
1255 |
-
|
1256 |
/* A line divider */
|
1257 |
case 'divider':
|
1258 |
$output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
|
@@ -1261,29 +1326,29 @@ class UM_Fields {
|
|
1261 |
}
|
1262 |
$output .= '</div>';
|
1263 |
break;
|
1264 |
-
|
1265 |
/* Single Image Upload */
|
1266 |
case 'image':
|
1267 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1268 |
-
|
1269 |
if ( in_array( $key, array('profile_photo','cover_photo') ) ) {
|
1270 |
$field_value = '';
|
1271 |
} else {
|
1272 |
$field_value = $this->field_value( $key, $default, $data );
|
1273 |
}
|
1274 |
-
|
1275 |
$output .= '<input type="hidden" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $field_value . '" />';
|
1276 |
-
|
1277 |
if ( isset( $data['label'] ) ) {
|
1278 |
$output .= $this->field_label($label, $key, $data);
|
1279 |
}
|
1280 |
-
|
1281 |
$modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimatemember');
|
1282 |
|
1283 |
$output .= '<div class="um-field-area" style="text-align: center">';
|
1284 |
-
|
1285 |
if ( $this->field_value( $key, $default, $data ) ) {
|
1286 |
-
|
1287 |
if ( !in_array( $key, array('profile_photo','cover_photo') ) ) {
|
1288 |
if ( isset( $this->set_mode ) && $this->set_mode == 'register' ) {
|
1289 |
$imgValue = $this->field_value( $key, $default, $data );
|
@@ -1294,29 +1359,29 @@ class UM_Fields {
|
|
1294 |
} else {
|
1295 |
$img = '';
|
1296 |
}
|
1297 |
-
|
1298 |
$output .= '<div class="um-single-image-preview show '. $crop_class .'" data-crop="'.$crop_data.'" data-key="'.$key.'">
|
1299 |
<a href="#" class="cancel"><i class="um-icon-close"></i></a>' . $img . '
|
1300 |
</div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. __('Change photo','ultimatemember') . '</a>';
|
1301 |
-
|
1302 |
} else {
|
1303 |
-
|
1304 |
$output .= '<div class="um-single-image-preview '. $crop_class .'" data-crop="'.$crop_data.'" data-key="'.$key.'">
|
1305 |
<a href="#" class="cancel"><i class="um-icon-close"></i></a>
|
1306 |
<img src="" alt="" />
|
1307 |
</div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. $button_text . '</a>';
|
1308 |
-
|
1309 |
}
|
1310 |
-
|
1311 |
$output .= '</div>';
|
1312 |
|
1313 |
/* modal hidden */
|
1314 |
$output .= '<div class="um-modal-hidden-content">';
|
1315 |
|
1316 |
$output .= '<div class="um-modal-header"> ' . $modal_label . '</div>';
|
1317 |
-
|
1318 |
$output .= '<div class="um-modal-body">';
|
1319 |
-
|
1320 |
if ( isset( $this->set_id ) ) {
|
1321 |
$set_id = $this->set_id;
|
1322 |
$set_mode = $this->set_mode;
|
@@ -1324,10 +1389,10 @@ class UM_Fields {
|
|
1324 |
$set_id = 0;
|
1325 |
$set_mode = '';
|
1326 |
}
|
1327 |
-
|
1328 |
$output .= '<div class="um-single-image-preview '. $crop_class .'" data-crop="'.$crop_data.'" data-ratio="'.$ratio.'" data-min_width="'.$min_width.'" data-min_height="'.$min_height.'" data-coord=""><a href="#" class="cancel"><i class="um-icon-close"></i></a><img src="" alt="" /></div>';
|
1329 |
$output .= '<div class="um-single-image-upload" data-icon="'.$icon.'" data-set_id="'.$set_id.'" data-set_mode="'.$set_mode.'" data-type="'.$type.'" data-key="'.$key.'" data-max_size="'.$max_size.'" data-max_size_error="'.$max_size_error.'" data-min_size_error="'.$min_size_error.'" data-extension_error="'.$extension_error.'" data-allowed_types="'.$allowed_types.'" data-upload_text="'.$upload_text.'" data-max_files_error="'.$max_files_error.'" data-upload_help_text="'.$upload_help_text.'">'.$button_text.'</div>';
|
1330 |
-
|
1331 |
$output .= '<div class="um-modal-footer">
|
1332 |
<div class="um-modal-right">
|
1333 |
<a href="#" class="um-modal-btn um-finish-upload image disabled" data-key="'.$key.'" data-change="'.__('Change photo','ultimatemember').'" data-processing="'.__('Processing...','ultimatemember').'"> ' . __('Apply','ultimatemember') . '</a>
|
@@ -1335,39 +1400,39 @@ class UM_Fields {
|
|
1335 |
</div>
|
1336 |
<div class="um-clear"></div>
|
1337 |
</div>';
|
1338 |
-
|
1339 |
$output .= '</div>';
|
1340 |
-
|
1341 |
$output .= '</div>';
|
1342 |
-
|
1343 |
/* end */
|
1344 |
-
|
1345 |
if ( $this->is_error($key) ) {
|
1346 |
$output .= $this->field_error( $this->show_error($key) );
|
1347 |
}
|
1348 |
-
|
1349 |
$output .= '</div>';
|
1350 |
-
|
1351 |
break;
|
1352 |
-
|
1353 |
/* Single File Upload */
|
1354 |
case 'file':
|
1355 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1356 |
-
|
1357 |
$output .= '<input type="hidden" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) . '" />';
|
1358 |
-
|
1359 |
if ( isset( $data['label'] ) ) {
|
1360 |
$output .= $this->field_label($label, $key, $data);
|
1361 |
}
|
1362 |
-
|
1363 |
$modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimatemember');
|
1364 |
-
|
1365 |
$output .= '<div class="um-field-area" style="text-align: center">';
|
1366 |
-
|
1367 |
if ( $this->field_value( $key, $default, $data ) ) {
|
1368 |
-
|
1369 |
$extension = pathinfo( $this->field_value( $key, $default, $data ), PATHINFO_EXTENSION);
|
1370 |
-
|
1371 |
$output .= '<div class="um-single-file-preview show" data-key="'.$key.'">
|
1372 |
<a href="#" class="cancel"><i class="um-icon-close"></i></a>
|
1373 |
<div class="um-single-fileinfo">
|
@@ -1377,12 +1442,12 @@ class UM_Fields {
|
|
1377 |
</a>
|
1378 |
</div>
|
1379 |
</div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. __('Change file','ultimatemember') . '</a>';
|
1380 |
-
|
1381 |
} else {
|
1382 |
-
|
1383 |
$output .= '<div class="um-single-file-preview" data-key="'.$key.'">
|
1384 |
</div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. $button_text . '</a>';
|
1385 |
-
|
1386 |
}
|
1387 |
|
1388 |
$output .= '</div>';
|
@@ -1391,9 +1456,9 @@ class UM_Fields {
|
|
1391 |
$output .= '<div class="um-modal-hidden-content">';
|
1392 |
|
1393 |
$output .= '<div class="um-modal-header"> ' . $modal_label . '</div>';
|
1394 |
-
|
1395 |
$output .= '<div class="um-modal-body">';
|
1396 |
-
|
1397 |
if ( isset( $this->set_id ) ) {
|
1398 |
$set_id = $this->set_id;
|
1399 |
$set_mode = $this->set_mode;
|
@@ -1401,7 +1466,7 @@ class UM_Fields {
|
|
1401 |
$set_id = 0;
|
1402 |
$set_mode = '';
|
1403 |
}
|
1404 |
-
|
1405 |
$output .= '<div class="um-single-file-preview">
|
1406 |
<a href="#" class="cancel"><i class="um-icon-close"></i></a>
|
1407 |
<div class="um-single-fileinfo">
|
@@ -1412,7 +1477,7 @@ class UM_Fields {
|
|
1412 |
</div>
|
1413 |
</div>';
|
1414 |
$output .= '<div class="um-single-file-upload" data-icon="'.$icon.'" data-set_id="'.$set_id.'" data-set_mode="'.$set_mode.'" data-type="'.$type.'" data-key="'.$key.'" data-max_size="'.$max_size.'" data-max_size_error="'.$max_size_error.'" data-min_size_error="'.$min_size_error.'" data-extension_error="'.$extension_error.'" data-allowed_types="'.$allowed_types.'" data-upload_text="'.$upload_text.'" data-max_files_error="'.$max_files_error.'" data-upload_help_text="'.$upload_help_text.'">'.$button_text.'</div>';
|
1415 |
-
|
1416 |
$output .= '<div class="um-modal-footer">
|
1417 |
<div class="um-modal-right">
|
1418 |
<a href="#" class="um-modal-btn um-finish-upload file disabled" data-key="'.$key.'" data-change="'.__('Change file').'" data-processing="'.__('Processing...','ultimatemember').'"> ' . __('Save','ultimatemember') . '</a>
|
@@ -1420,26 +1485,26 @@ class UM_Fields {
|
|
1420 |
</div>
|
1421 |
<div class="um-clear"></div>
|
1422 |
</div>';
|
1423 |
-
|
1424 |
$output .= '</div>';
|
1425 |
-
|
1426 |
$output .= '</div>';
|
1427 |
-
|
1428 |
/* end */
|
1429 |
-
|
1430 |
if ( $this->is_error($key) ) {
|
1431 |
$output .= $this->field_error( $this->show_error($key) );
|
1432 |
}
|
1433 |
-
|
1434 |
$output .= '</div>';
|
1435 |
-
|
1436 |
break;
|
1437 |
-
|
1438 |
/* Select dropdown */
|
1439 |
case 'select':
|
1440 |
-
|
1441 |
$form_key = str_replace('role_select','role',$key);
|
1442 |
-
|
1443 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1444 |
|
1445 |
if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
|
@@ -1447,28 +1512,31 @@ class UM_Fields {
|
|
1447 |
} else {
|
1448 |
$class = 'um-s1';
|
1449 |
}
|
1450 |
-
|
1451 |
if ( isset( $data['label'] ) ) {
|
1452 |
$output .= $this->field_label($label, $key, $data);
|
1453 |
}
|
1454 |
|
1455 |
$output .= '<div class="um-field-area">';
|
1456 |
-
|
1457 |
$output .= '<select name="'.$form_key.'" id="'.$form_key.'" data-validate="'.$validate.'" data-key="'.$key.'" class="'.$this->get_class($key, $data, $class).'" style="width: 100%" data-placeholder="'.$placeholder.'">';
|
1458 |
-
|
1459 |
if ( isset($options) && $options == 'builtin'){
|
1460 |
$options = $ultimatemember->builtin->get ( $filter );
|
1461 |
}
|
1462 |
-
|
1463 |
if (!isset($options)){
|
1464 |
$options = $ultimatemember->builtin->get ( 'countries' );
|
1465 |
}
|
1466 |
|
|
|
|
|
|
|
|
|
1467 |
|
1468 |
-
|
1469 |
// role field
|
1470 |
if ( $form_key == 'role' ) {
|
1471 |
-
|
1472 |
global $wpdb;
|
1473 |
foreach($options as $key => $val ) {
|
1474 |
$val = (string) $val;
|
@@ -1478,53 +1546,53 @@ class UM_Fields {
|
|
1478 |
$new_roles[$_role->post_name] = $_role->post_title;
|
1479 |
wp_reset_postdata();
|
1480 |
}
|
1481 |
-
|
1482 |
$options = $new_roles;
|
1483 |
}
|
1484 |
-
|
1485 |
-
|
1486 |
// add an empty option!
|
1487 |
$output .= '<option value=""></option>';
|
1488 |
|
1489 |
// add options
|
1490 |
foreach($options as $k => $v) {
|
1491 |
-
|
1492 |
$v = rtrim($v);
|
1493 |
-
|
1494 |
if ( !is_numeric( $k ) && in_array($form_key, array('role') ) ) {
|
1495 |
$option_value = $k;
|
1496 |
} else {
|
1497 |
$option_value = $v;
|
1498 |
}
|
1499 |
-
|
1500 |
if ( isset( $options_pair ) ) {
|
1501 |
$option_value = $k;
|
1502 |
}
|
1503 |
-
|
1504 |
$output .= '<option value="'.$option_value.'" ';
|
1505 |
-
if ( $this->is_selected($form_key, $option_value, $data) ) {
|
1506 |
$output.= 'selected';
|
1507 |
}
|
1508 |
$output .= '>'.$v.'</option>';
|
1509 |
-
|
1510 |
}
|
1511 |
-
|
1512 |
$output .= '</select>';
|
1513 |
-
|
1514 |
$output .= '</div>';
|
1515 |
-
|
1516 |
if ( $this->is_error($form_key) ) {
|
1517 |
$output .= $this->field_error( $this->show_error($form_key) );
|
1518 |
}
|
1519 |
-
|
1520 |
$output .= '</div>';
|
1521 |
break;
|
1522 |
-
|
1523 |
/* Multi-Select dropdown */
|
1524 |
case 'multiselect':
|
1525 |
-
|
1526 |
$max_selections = ( isset( $max_selections ) ) ? absint( $max_selections ) : 0;
|
1527 |
-
|
1528 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1529 |
|
1530 |
if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
|
@@ -1532,15 +1600,15 @@ class UM_Fields {
|
|
1532 |
} else {
|
1533 |
$class = 'um-s1';
|
1534 |
}
|
1535 |
-
|
1536 |
if ( isset( $data['label'] ) ) {
|
1537 |
$output .= $this->field_label($label, $key, $data);
|
1538 |
}
|
1539 |
|
1540 |
$output .= '<div class="um-field-area">';
|
1541 |
-
|
1542 |
$output .= '<select multiple="multiple" name="'.$key.'[]" id="'.$key.'" data-maxsize="'. $max_selections . '" data-validate="'.$validate.'" data-key="'.$key.'" class="'.$this->get_class($key, $data, $class).'" style="width: 100%" data-placeholder="'.$placeholder.'">';
|
1543 |
-
|
1544 |
if ( isset($options) && $options == 'builtin'){
|
1545 |
$options = $ultimatemember->builtin->get ( $filter );
|
1546 |
}
|
@@ -1549,59 +1617,68 @@ class UM_Fields {
|
|
1549 |
$options = $ultimatemember->builtin->get ( 'countries' );
|
1550 |
}
|
1551 |
|
1552 |
-
|
1553 |
-
|
|
|
|
|
|
|
|
|
1554 |
// add an empty option!
|
1555 |
$output .= '<option value=""></option>';
|
1556 |
-
|
1557 |
// add options
|
1558 |
foreach($options as $k => $v) {
|
1559 |
-
|
1560 |
$v = rtrim($v);
|
1561 |
-
|
1562 |
$use_keyword = apply_filters('um_multiselect_option_value', 0, $data['type'] );
|
1563 |
-
|
1564 |
if ( $use_keyword ) {
|
1565 |
$opt_value = $k;
|
1566 |
} else {
|
1567 |
$opt_value = $v;
|
1568 |
}
|
1569 |
-
|
1570 |
$output .= '<option value="'.$opt_value.'" ';
|
1571 |
-
if ( $this->is_selected($key, $opt_value, $data) ) {
|
1572 |
$output.= 'selected';
|
1573 |
}
|
1574 |
$output .= '>'.$v.'</option>';
|
1575 |
-
|
1576 |
}
|
1577 |
-
|
1578 |
$output .= '</select>';
|
1579 |
-
|
1580 |
$output .= '</div>';
|
1581 |
-
|
1582 |
if ( $this->is_error($key) ) {
|
1583 |
$output .= $this->field_error( $this->show_error($key) );
|
1584 |
}
|
1585 |
-
|
1586 |
$output .= '</div>';
|
1587 |
break;
|
1588 |
-
|
1589 |
/* Radio */
|
1590 |
case 'radio':
|
1591 |
-
|
1592 |
$form_key = str_replace('role_radio','role',$key);
|
1593 |
-
|
|
|
|
|
|
|
|
|
|
|
1594 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1595 |
-
|
1596 |
if ( isset( $data['label'] ) ) {
|
1597 |
$output .= $this->field_label($label, $key, $data);
|
1598 |
}
|
1599 |
-
|
1600 |
$output .= '<div class="um-field-area">';
|
1601 |
|
1602 |
// role field
|
1603 |
if ( $form_key == 'role' ) {
|
1604 |
-
|
1605 |
global $wpdb;
|
1606 |
foreach($options as $key => $val ) {
|
1607 |
$val = (string) $val;
|
@@ -1611,30 +1688,30 @@ class UM_Fields {
|
|
1611 |
$new_roles[$_role->post_name] = $_role->post_title;
|
1612 |
wp_reset_postdata();
|
1613 |
}
|
1614 |
-
|
1615 |
$options = $new_roles;
|
1616 |
}
|
1617 |
-
|
1618 |
// add options
|
1619 |
$i = 0;
|
1620 |
|
1621 |
foreach($options as $k => $v) {
|
1622 |
-
|
1623 |
$v = rtrim($v);
|
1624 |
-
|
1625 |
if ( !is_numeric( $k ) && in_array($form_key, array('role') ) ) {
|
1626 |
$option_value = $k;
|
1627 |
} else {
|
1628 |
$option_value = $v;
|
1629 |
}
|
1630 |
-
|
1631 |
$i++;
|
1632 |
if ($i % 2 == 0 ) {
|
1633 |
$col_class = 'right';
|
1634 |
} else {
|
1635 |
$col_class = '';
|
1636 |
}
|
1637 |
-
|
1638 |
if ( $this->is_radio_checked($key, $option_value, $data) ) {
|
1639 |
$active = 'active';
|
1640 |
$class = "um-icon-android-radio-button-on";
|
@@ -1642,10 +1719,10 @@ class UM_Fields {
|
|
1642 |
$active = '';
|
1643 |
$class = "um-icon-android-radio-button-off";
|
1644 |
}
|
1645 |
-
|
1646 |
$output .= '<label class="um-field-radio '.$active.' um-field-half '.$col_class.'">';
|
1647 |
$output .= '<input type="radio" name="'.$form_key.'" value="'.$option_value.'" ';
|
1648 |
-
|
1649 |
if ( $this->is_radio_checked($key, $option_value, $data) ) {
|
1650 |
$output.= 'checked';
|
1651 |
}
|
@@ -1654,48 +1731,54 @@ class UM_Fields {
|
|
1654 |
$output .= '<span class="um-field-radio-state"><i class="'.$class.'"></i></span>';
|
1655 |
$output .= '<span class="um-field-radio-option">'.$v.'</span>';
|
1656 |
$output .= '</label>';
|
1657 |
-
|
1658 |
if ($i % 2 == 0) {
|
1659 |
$output .= '<div class="um-clear"></div>';
|
1660 |
}
|
1661 |
|
1662 |
}
|
1663 |
-
|
1664 |
$output .= '<div class="um-clear"></div>';
|
1665 |
-
|
1666 |
$output .= '</div>';
|
1667 |
-
|
1668 |
if ( $this->is_error($form_key) ) {
|
1669 |
$output .= $this->field_error( $this->show_error($form_key) );
|
1670 |
}
|
1671 |
-
|
1672 |
$output .= '</div>';
|
1673 |
break;
|
1674 |
-
|
1675 |
/* Checkbox */
|
1676 |
case 'checkbox':
|
|
|
|
|
|
|
|
|
|
|
|
|
1677 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1678 |
-
|
1679 |
if ( isset( $data['label'] ) ) {
|
1680 |
$output .= $this->field_label($label, $key, $data);
|
1681 |
}
|
1682 |
-
|
1683 |
$output .= '<div class="um-field-area">';
|
1684 |
-
|
1685 |
// add options
|
1686 |
$i = 0;
|
1687 |
-
|
1688 |
foreach($options as $k => $v) {
|
1689 |
-
|
1690 |
$v = rtrim($v);
|
1691 |
-
|
1692 |
$i++;
|
1693 |
if ($i % 2 == 0 ) {
|
1694 |
$col_class = 'right';
|
1695 |
} else {
|
1696 |
$col_class = '';
|
1697 |
}
|
1698 |
-
|
1699 |
if ( $this->is_selected($key, $v, $data) ) {
|
1700 |
$active = 'active';
|
1701 |
$class = "um-icon-android-checkbox-outline";
|
@@ -1703,85 +1786,85 @@ class UM_Fields {
|
|
1703 |
$active = '';
|
1704 |
$class = "um-icon-android-checkbox-outline-blank";
|
1705 |
}
|
1706 |
-
|
1707 |
$output .= '<label class="um-field-checkbox '.$active.' um-field-half '.$col_class.'">';
|
1708 |
$output .= '<input type="checkbox" name="'.$key.'[]" value="'.strip_tags( $v ).'" ';
|
1709 |
-
|
1710 |
-
if ( $this->is_selected($key, $v, $data) ) {
|
1711 |
$output.= 'checked';
|
1712 |
}
|
1713 |
-
|
1714 |
$output .= ' />';
|
1715 |
-
|
1716 |
$output .= '<span class="um-field-checkbox-state"><i class="'.$class.'"></i></span>';
|
1717 |
$output .= '<span class="um-field-checkbox-option">'. $v .'</span>';
|
1718 |
$output .= '</label>';
|
1719 |
-
|
1720 |
if ($i % 2 == 0) {
|
1721 |
$output .= '<div class="um-clear"></div>';
|
1722 |
}
|
1723 |
-
|
1724 |
}
|
1725 |
-
|
1726 |
$output .= '<div class="um-clear"></div>';
|
1727 |
-
|
1728 |
$output .= '</div>';
|
1729 |
-
|
1730 |
if ( $this->is_error($key) ) {
|
1731 |
$output .= $this->field_error( $this->show_error($key) );
|
1732 |
}
|
1733 |
-
|
1734 |
$output .= '</div>';
|
1735 |
break;
|
1736 |
-
|
1737 |
/* HTML */
|
1738 |
case 'block':
|
1739 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
|
1740 |
<div class="um-field-block">'.$content.'</div>
|
1741 |
</div>';
|
1742 |
break;
|
1743 |
-
|
1744 |
/* Shortcode */
|
1745 |
case 'shortcode':
|
1746 |
-
|
1747 |
$content = str_replace('{profile_id}', um_profile_id(), $content );
|
1748 |
-
|
1749 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
|
1750 |
<div class="um-field-shortcode">' . do_shortcode($content) . '</div>
|
1751 |
</div>';
|
1752 |
break;
|
1753 |
-
|
1754 |
/* Unlimited Group */
|
1755 |
case 'group':
|
1756 |
-
|
1757 |
$fields = $this->get_fields_in_group( $key );
|
1758 |
if ( !empty( $fields ) ) {
|
1759 |
-
|
1760 |
$output .= '<div class="um-field-group" data-max_entries="'.$max_entries.'">
|
1761 |
<div class="um-field-group-head"><i class="um-icon-plus"></i>'.$label.'</div>';
|
1762 |
$output .= '<div class="um-field-group-body"><a href="#" class="um-field-group-cancel"><i class="um-icon-close"></i></a>';
|
1763 |
-
|
1764 |
foreach($fields as $subkey => $subdata) {
|
1765 |
$output .= $this->edit_field( $subkey, $subdata, 'group' );
|
1766 |
}
|
1767 |
-
|
1768 |
$output .= '</div>';
|
1769 |
$output .= '</div>';
|
1770 |
-
|
1771 |
}
|
1772 |
-
|
1773 |
break;
|
1774 |
-
|
1775 |
}
|
1776 |
-
|
1777 |
// Custom filter for field output
|
1778 |
if ( isset( $this->set_mode ) ) {
|
1779 |
$output = apply_filters("um_{$key}_form_edit_field", $output, $this->set_mode);
|
1780 |
}
|
1781 |
-
|
1782 |
return $output;
|
1783 |
}
|
1784 |
-
|
1785 |
/***
|
1786 |
*** @sort array function
|
1787 |
***/
|
@@ -1796,7 +1879,7 @@ class UM_Fields {
|
|
1796 |
array_multisort($sort_col, $dir, $arr);
|
1797 |
return $arr;
|
1798 |
}
|
1799 |
-
|
1800 |
/***
|
1801 |
*** @get fields in row
|
1802 |
***/
|
@@ -1808,7 +1891,7 @@ class UM_Fields {
|
|
1808 |
}
|
1809 |
return ( isset ( $results ) ) ? $results : '';
|
1810 |
}
|
1811 |
-
|
1812 |
/***
|
1813 |
*** @get fields by sub row
|
1814 |
***/
|
@@ -1821,7 +1904,7 @@ class UM_Fields {
|
|
1821 |
}
|
1822 |
return ( isset ( $results ) ) ? $results : '';
|
1823 |
}
|
1824 |
-
|
1825 |
/***
|
1826 |
*** @get fields in group
|
1827 |
***/
|
@@ -1833,7 +1916,7 @@ class UM_Fields {
|
|
1833 |
}
|
1834 |
return ( isset ( $results ) ) ? $results : '';
|
1835 |
}
|
1836 |
-
|
1837 |
/***
|
1838 |
*** @get fields in column
|
1839 |
***/
|
@@ -1845,28 +1928,28 @@ class UM_Fields {
|
|
1845 |
}
|
1846 |
return ( isset ( $results ) ) ? $results : '';
|
1847 |
}
|
1848 |
-
|
1849 |
/***
|
1850 |
*** @display fields
|
1851 |
***/
|
1852 |
function display( $mode, $args ) {
|
1853 |
global $ultimatemember;
|
1854 |
$output = null;
|
1855 |
-
|
1856 |
$this->global_args = $args;
|
1857 |
-
|
1858 |
$ultimatemember->form->form_suffix = '-' . $this->global_args['form_id'];
|
1859 |
-
|
1860 |
$this->set_mode = $mode;
|
1861 |
$this->set_id = $this->global_args['form_id'];
|
1862 |
-
|
1863 |
$this->field_icons = ( isset( $this->global_args['icons'] ) ) ? $this->global_args['icons'] : 'label';
|
1864 |
-
|
1865 |
// start output here
|
1866 |
$this->get_fields = $this->get_fields();
|
1867 |
|
1868 |
if ( !empty( $this->get_fields ) ) {
|
1869 |
-
|
1870 |
// find rows
|
1871 |
foreach( $this->get_fields as $key => $array ) {
|
1872 |
if ( $array['type'] == 'row' ) {
|
@@ -1874,26 +1957,26 @@ class UM_Fields {
|
|
1874 |
unset( $this->get_fields[ $key ] ); // not needed anymore
|
1875 |
}
|
1876 |
}
|
1877 |
-
|
1878 |
// rows fallback
|
1879 |
if ( !isset( $this->rows ) ){
|
1880 |
$this->rows = array( '_um_row_1' => array(
|
1881 |
-
'type' => 'row',
|
1882 |
'id' => '_um_row_1',
|
1883 |
'sub_rows' => 1,
|
1884 |
'cols' => 1
|
1885 |
)
|
1886 |
);
|
1887 |
}
|
1888 |
-
|
1889 |
// master rows
|
1890 |
foreach ( $this->rows as $row_id => $row_array ) {
|
1891 |
-
|
1892 |
$row_fields = $this->get_fields_by_row( $row_id );
|
1893 |
if ( $row_fields ) {
|
1894 |
-
|
1895 |
$output .= $this->new_row_output( $row_id, $row_array );
|
1896 |
-
|
1897 |
$sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
|
1898 |
for( $c = 0; $c < $sub_rows; $c++ ) {
|
1899 |
|
@@ -1909,154 +1992,154 @@ class UM_Fields {
|
|
1909 |
// sub row fields
|
1910 |
$subrow_fields = null;
|
1911 |
$subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
|
1912 |
-
|
1913 |
if ( is_array( $subrow_fields ) ) {
|
1914 |
-
|
1915 |
$subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position');
|
1916 |
|
1917 |
if ( $cols_num == 1 ) {
|
1918 |
-
|
1919 |
$output .= '<div class="um-col-1">';
|
1920 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
1921 |
if ( $col1_fields ) {
|
1922 |
foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
1923 |
}
|
1924 |
$output .= '</div>';
|
1925 |
-
|
1926 |
} else if ( $cols_num == 2 ) {
|
1927 |
-
|
1928 |
$output .= '<div class="um-col-121">';
|
1929 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
1930 |
if ( $col1_fields ) {
|
1931 |
foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
1932 |
}
|
1933 |
$output .= '</div>';
|
1934 |
-
|
1935 |
$output .= '<div class="um-col-122">';
|
1936 |
$col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
|
1937 |
if ( $col2_fields ) {
|
1938 |
foreach( $col2_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
1939 |
}
|
1940 |
$output .= '</div><div class="um-clear"></div>';
|
1941 |
-
|
1942 |
} else {
|
1943 |
-
|
1944 |
$output .= '<div class="um-col-131">';
|
1945 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
1946 |
if ( $col1_fields ) {
|
1947 |
foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
1948 |
}
|
1949 |
$output .= '</div>';
|
1950 |
-
|
1951 |
$output .= '<div class="um-col-132">';
|
1952 |
$col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
|
1953 |
if ( $col2_fields ) {
|
1954 |
foreach( $col2_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
1955 |
}
|
1956 |
$output .= '</div>';
|
1957 |
-
|
1958 |
$output .= '<div class="um-col-133">';
|
1959 |
$col3_fields = $this->get_fields_in_column( $subrow_fields, 3 );
|
1960 |
if ( $col3_fields ) {
|
1961 |
foreach( $col3_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
1962 |
}
|
1963 |
$output .= '</div><div class="um-clear"></div>';
|
1964 |
-
|
1965 |
}
|
1966 |
-
|
1967 |
}
|
1968 |
-
|
1969 |
}
|
1970 |
-
|
1971 |
$output .= '</div>';
|
1972 |
-
|
1973 |
}
|
1974 |
-
|
1975 |
}
|
1976 |
|
1977 |
}
|
1978 |
-
|
1979 |
return $output;
|
1980 |
}
|
1981 |
-
|
1982 |
/***
|
1983 |
*** @a field in view mode
|
1984 |
***/
|
1985 |
function view_field( $key, $data, $rule=false ) {
|
1986 |
global $ultimatemember;
|
1987 |
-
|
1988 |
$output = null;
|
1989 |
-
|
1990 |
// get whole field data
|
1991 |
if (is_array($data)) {
|
1992 |
$data = $this->get_field($key);
|
1993 |
extract($data);
|
1994 |
}
|
1995 |
-
|
1996 |
if ( !isset( $data['type'] ) ) return;
|
1997 |
-
|
1998 |
if ( isset( $data['in_group'] ) && $data['in_group'] != '' && $rule != 'group' ) return;
|
1999 |
|
2000 |
if ( $visibility == 'edit' ) return;
|
2001 |
-
|
2002 |
if ( in_array( $type, array('block','shortcode','spacing','divider','group') ) ) {
|
2003 |
|
2004 |
} else {
|
2005 |
if ( ! $this->field_value( $key, $default, $data ) ) return;
|
2006 |
}
|
2007 |
-
|
2008 |
if ( !um_can_view_field( $data ) ) return;
|
2009 |
-
|
2010 |
// disable these fields in profile view only
|
2011 |
if ( in_array( $key, array('user_password') ) && $this->set_mode == 'profile' ) {
|
2012 |
return;
|
2013 |
}
|
2014 |
-
|
2015 |
if ( !um_field_conditions_are_met( $data ) ) return;
|
2016 |
-
|
2017 |
switch( $type ) {
|
2018 |
|
2019 |
/* Default */
|
2020 |
default:
|
2021 |
-
|
2022 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
2023 |
-
|
2024 |
if ( isset( $data['label'] ) ) {
|
2025 |
$output .= $this->field_label($label, $key, $data);
|
2026 |
}
|
2027 |
-
|
2028 |
$res = stripslashes( $this->field_value( $key, $default, $data ) );
|
2029 |
|
2030 |
$output .= '<div class="um-field-area">';
|
2031 |
$output .= '<div class="um-field-value">' . $res . '</div>';
|
2032 |
$output .= '</div>';
|
2033 |
-
|
2034 |
$output .= '</div>';
|
2035 |
-
|
2036 |
break;
|
2037 |
-
|
2038 |
/* HTML */
|
2039 |
case 'block':
|
2040 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
|
2041 |
<div class="um-field-block">'.$content.'</div>
|
2042 |
</div>';
|
2043 |
break;
|
2044 |
-
|
2045 |
/* Shortcode */
|
2046 |
case 'shortcode':
|
2047 |
-
|
2048 |
$content = str_replace('{profile_id}', um_profile_id(), $content );
|
2049 |
-
|
2050 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
|
2051 |
<div class="um-field-shortcode">' . do_shortcode($content) . '</div>
|
2052 |
</div>';
|
2053 |
break;
|
2054 |
-
|
2055 |
/* Gap/Space */
|
2056 |
case 'spacing':
|
2057 |
$output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: '.$spacing.'"></div>';
|
2058 |
break;
|
2059 |
-
|
2060 |
/* A line divider */
|
2061 |
case 'divider':
|
2062 |
$output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
|
@@ -2065,12 +2148,12 @@ class UM_Fields {
|
|
2065 |
}
|
2066 |
$output .= '</div>';
|
2067 |
break;
|
2068 |
-
|
2069 |
/* Rating */
|
2070 |
case 'rating':
|
2071 |
-
|
2072 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
2073 |
-
|
2074 |
if ( isset( $data['label'] ) ) {
|
2075 |
$output .= $this->field_label($label, $key, $data);
|
2076 |
}
|
@@ -2080,58 +2163,58 @@ class UM_Fields {
|
|
2080 |
<div class="um-rating-readonly um-raty" id="'.$key.'" data-key="'.$key.'" data-number="'.$data['number'].'" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>
|
2081 |
</div>';
|
2082 |
$output .= '</div>';
|
2083 |
-
|
2084 |
$output .= '</div>';
|
2085 |
-
|
2086 |
break;
|
2087 |
-
|
2088 |
}
|
2089 |
-
|
2090 |
// Custom filter for field output
|
2091 |
if ( isset( $this->set_mode ) ) {
|
2092 |
$output = apply_filters("um_{$key}_form_show_field", $output, $this->set_mode);
|
2093 |
}
|
2094 |
-
|
2095 |
return $output;
|
2096 |
}
|
2097 |
-
|
2098 |
/***
|
2099 |
*** @display fields (view mode)
|
2100 |
***/
|
2101 |
function display_view( $mode, $args ) {
|
2102 |
global $ultimatemember;
|
2103 |
$output = null;
|
2104 |
-
|
2105 |
$this->global_args = $args;
|
2106 |
-
|
2107 |
$ultimatemember->form->form_suffix = '-' . $this->global_args['form_id'];
|
2108 |
-
|
2109 |
$this->set_mode = $mode;
|
2110 |
$this->set_id = $this->global_args['form_id'];
|
2111 |
-
|
2112 |
$this->field_icons = ( isset( $this->global_args['icons'] ) ) ? $this->global_args['icons'] : 'label';
|
2113 |
-
|
2114 |
// start output here
|
2115 |
$this->get_fields = $this->get_fields();
|
2116 |
|
2117 |
if ( um_get_option('profile_empty_text') ) {
|
2118 |
-
|
2119 |
$emo = um_get_option('profile_empty_text_emo');
|
2120 |
if ( $emo ) {
|
2121 |
$emo = '<i class="um-faicon-frown-o"></i>';
|
2122 |
} else {
|
2123 |
$emo = false;
|
2124 |
}
|
2125 |
-
|
2126 |
if ( um_is_myprofile() ) {
|
2127 |
$output .= '<p class="um-profile-note">' . $emo .'<span>' . sprintf(__('Your profile is looking a little empty. Why not <a href="%s">add</a> some information!','ultimatemember'), um_edit_profile_url() ) . '</span></p>';
|
2128 |
} else {
|
2129 |
$output .= '<p class="um-profile-note">'. $emo . '<span>' . __('This user has not added any information to their profile yet.','ultimatemember') . '</span></p>';
|
2130 |
}
|
2131 |
}
|
2132 |
-
|
2133 |
if ( !empty( $this->get_fields ) ) {
|
2134 |
-
|
2135 |
// find rows
|
2136 |
foreach( $this->get_fields as $key => $array ) {
|
2137 |
if ( $array['type'] == 'row' ) {
|
@@ -2139,24 +2222,24 @@ class UM_Fields {
|
|
2139 |
unset( $this->get_fields[ $key ] ); // not needed anymore
|
2140 |
}
|
2141 |
}
|
2142 |
-
|
2143 |
// rows fallback
|
2144 |
if ( !isset( $this->rows ) ){
|
2145 |
$this->rows = array( '_um_row_1' => array(
|
2146 |
-
'type' => 'row',
|
2147 |
'id' => '_um_row_1',
|
2148 |
'sub_rows' => 1,
|
2149 |
'cols' => 1
|
2150 |
)
|
2151 |
);
|
2152 |
}
|
2153 |
-
|
2154 |
// master rows
|
2155 |
foreach ( $this->rows as $row_id => $row_array ) {
|
2156 |
-
|
2157 |
$row_fields = $this->get_fields_by_row( $row_id );
|
2158 |
if ( $row_fields ) {
|
2159 |
-
|
2160 |
$output .= $this->new_row_output( $row_id, $row_array );
|
2161 |
|
2162 |
$sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
|
@@ -2174,83 +2257,83 @@ class UM_Fields {
|
|
2174 |
// sub row fields
|
2175 |
$subrow_fields = null;
|
2176 |
$subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
|
2177 |
-
|
2178 |
if ( is_array( $subrow_fields ) ) {
|
2179 |
-
|
2180 |
$subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position');
|
2181 |
|
2182 |
if ( $cols_num == 1 ) {
|
2183 |
-
|
2184 |
$output .= '<div class="um-col-1">';
|
2185 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
2186 |
if ( $col1_fields ) {
|
2187 |
foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2188 |
}
|
2189 |
$output .= '</div>';
|
2190 |
-
|
2191 |
} else if ( $cols_num == 2 ) {
|
2192 |
-
|
2193 |
$output .= '<div class="um-col-121">';
|
2194 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
2195 |
if ( $col1_fields ) {
|
2196 |
foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2197 |
}
|
2198 |
$output .= '</div>';
|
2199 |
-
|
2200 |
$output .= '<div class="um-col-122">';
|
2201 |
$col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
|
2202 |
if ( $col2_fields ) {
|
2203 |
foreach( $col2_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2204 |
}
|
2205 |
$output .= '</div><div class="um-clear"></div>';
|
2206 |
-
|
2207 |
} else {
|
2208 |
-
|
2209 |
$output .= '<div class="um-col-131">';
|
2210 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
2211 |
if ( $col1_fields ) {
|
2212 |
foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2213 |
}
|
2214 |
$output .= '</div>';
|
2215 |
-
|
2216 |
$output .= '<div class="um-col-132">';
|
2217 |
$col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
|
2218 |
if ( $col2_fields ) {
|
2219 |
foreach( $col2_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2220 |
}
|
2221 |
$output .= '</div>';
|
2222 |
-
|
2223 |
$output .= '<div class="um-col-133">';
|
2224 |
$col3_fields = $this->get_fields_in_column( $subrow_fields, 3 );
|
2225 |
if ( $col3_fields ) {
|
2226 |
foreach( $col3_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2227 |
}
|
2228 |
$output .= '</div><div class="um-clear"></div>';
|
2229 |
-
|
2230 |
}
|
2231 |
-
|
2232 |
}
|
2233 |
-
|
2234 |
}
|
2235 |
-
|
2236 |
$output .= '</div>';
|
2237 |
-
|
2238 |
}
|
2239 |
-
|
2240 |
}
|
2241 |
|
2242 |
}
|
2243 |
-
|
2244 |
return $output;
|
2245 |
}
|
2246 |
-
|
2247 |
/***
|
2248 |
*** @begin new row in form
|
2249 |
***/
|
2250 |
function new_row_output( $row_id, $row_array ) {
|
2251 |
$output = null;
|
2252 |
extract($row_array);
|
2253 |
-
|
2254 |
$padding = (isset($padding))?$padding:'';
|
2255 |
$margin = (isset($margin))?$margin:'';
|
2256 |
$background = (isset($background))?$background:'';
|
@@ -2260,7 +2343,7 @@ class UM_Fields {
|
|
2260 |
$borderstyle = (isset($borderstyle))?$borderstyle:'';
|
2261 |
$heading = (isset($heading))?$heading:'';
|
2262 |
$css_class = (isset($css_class))?$css_class:'';
|
2263 |
-
|
2264 |
$css_padding = '';
|
2265 |
$css_margin = '';
|
2266 |
$css_background = '';
|
@@ -2272,7 +2355,7 @@ class UM_Fields {
|
|
2272 |
$css_heading_padding = '';
|
2273 |
$css_heading_text_color = '';
|
2274 |
$css_heading_borderradius = '';
|
2275 |
-
|
2276 |
// row css rules
|
2277 |
if ( $padding ) $css_padding = 'padding: ' . $padding .';';
|
2278 |
if ( $margin ) {
|
@@ -2280,19 +2363,19 @@ class UM_Fields {
|
|
2280 |
} else {
|
2281 |
$css_margin = 'margin: 0 0 30px 0;';
|
2282 |
}
|
2283 |
-
|
2284 |
if ( $background ) $css_background = 'background-color: ' . $background .';';
|
2285 |
if ( $borderradius ) $css_borderradius = 'border-radius: 0px 0px ' . $borderradius . ' ' . $borderradius . ';';
|
2286 |
if ( $border ) $css_border = 'border-width: ' . $border . ';';
|
2287 |
if ( $bordercolor ) $css_bordercolor = 'border-color: ' . $bordercolor . ';';
|
2288 |
if ( $borderstyle ) $css_borderstyle = 'border-style: ' . $borderstyle . ';';
|
2289 |
-
|
2290 |
// show the heading
|
2291 |
if ( $heading ) {
|
2292 |
|
2293 |
$heading_background_color = (isset($heading_background_color))?$heading_background_color:'';
|
2294 |
$heading_text_color = (isset($heading_text_color))?$heading_text_color:'';
|
2295 |
-
|
2296 |
if ( $heading_background_color ) {
|
2297 |
$css_heading_background_color = 'background-color: ' . $heading_background_color .';';
|
2298 |
$css_heading_padding = 'padding: 10px 15px;';
|
@@ -2300,21 +2383,21 @@ class UM_Fields {
|
|
2300 |
|
2301 |
if ( $heading_text_color ) $css_heading_text_color = 'color: ' . $heading_text_color .';';
|
2302 |
if ( $borderradius ) $css_heading_borderradius = 'border-radius: ' . $borderradius . ' ' . $borderradius . ' 0px 0px;';
|
2303 |
-
|
2304 |
$output .= '<div class="um-row-heading" style="' . $css_heading_background_color . $css_heading_padding . $css_heading_text_color . $css_heading_borderradius . '">';
|
2305 |
if ( isset($icon) ) $output .= '<span class="um-row-heading-icon"><i class="' . $icon . '"></i></span>';
|
2306 |
$output .= $heading_text .'</div>';
|
2307 |
-
|
2308 |
} else {
|
2309 |
-
|
2310 |
// no heading
|
2311 |
if ( $borderradius ) $css_borderradius = 'border-radius: ' . $borderradius . ';';
|
2312 |
-
|
2313 |
}
|
2314 |
|
2315 |
$output .= '<div class="um-row ' . $row_id . ' ' . $css_class . '" style="'. $css_padding . $css_background . $css_margin . $css_border . $css_borderstyle . $css_bordercolor . $css_borderradius . '">';
|
2316 |
-
|
2317 |
return $output;
|
2318 |
}
|
2319 |
|
2320 |
-
}
|
3 |
class UM_Fields {
|
4 |
|
5 |
function __construct() {
|
6 |
+
|
7 |
$this->editing = false;
|
8 |
$this->viewing = false;
|
9 |
|
10 |
}
|
11 |
+
|
12 |
/***
|
13 |
*** @standard checkbox field
|
14 |
***/
|
15 |
function checkbox( $id, $title ) {
|
16 |
?>
|
17 |
+
|
18 |
<div class="um-field um-field-c">
|
19 |
<div class="um-field-area">
|
20 |
<label class="um-field-checkbox active">
|
23 |
</label>
|
24 |
</div>
|
25 |
</div>
|
26 |
+
|
27 |
<?php
|
28 |
}
|
29 |
+
|
30 |
/***
|
31 |
*** @show user social links
|
32 |
***/
|
40 |
}
|
41 |
foreach( $social as $k => $arr ) {
|
42 |
if ( um_profile( $k ) ) { ?>
|
43 |
+
|
44 |
<a href="<?php echo um_filtered_social_link( $k , $arr['match'] ); ?>" style="background: <?php echo $arr['color']; ?>;" target="_blank" class="um-tip-n" title="<?php echo $arr['title']; ?>"><i class="<?php echo $arr['icon']; ?>"></i></a>
|
45 |
+
|
46 |
<?php
|
47 |
}
|
48 |
}
|
49 |
}
|
50 |
+
|
51 |
/***
|
52 |
*** @hidden fields inside shortcode
|
53 |
***/
|
54 |
function add_hidden_field( $field ) {
|
55 |
global $ultimatemember;
|
56 |
echo '<div style="display: none !important;">';
|
57 |
+
|
58 |
$fields = $ultimatemember->builtin->get_specific_fields( $field );
|
59 |
+
|
60 |
$output = null;
|
61 |
+
|
62 |
foreach( $fields as $key => $data ) {
|
63 |
$output .= $ultimatemember->fields->edit_field( $key, $data );
|
64 |
}
|
65 |
+
|
66 |
echo $output;
|
67 |
+
|
68 |
echo '</div>';
|
69 |
}
|
70 |
+
|
71 |
/***
|
72 |
*** @update a field globally
|
73 |
***/
|
74 |
function globally_update_field($id, $args){
|
75 |
global $ultimatemember;
|
76 |
$fields = $ultimatemember->builtin->saved_fields;
|
77 |
+
|
78 |
$fields[$id] = $args;
|
79 |
|
80 |
unset( $fields[ $id ]['in_row'] );
|
82 |
unset( $fields[ $id ]['in_column'] );
|
83 |
unset( $fields[ $id ]['in_group'] );
|
84 |
unset( $fields[ $id ]['position'] );
|
85 |
+
|
86 |
update_option('um_fields', $fields );
|
87 |
}
|
88 |
+
|
89 |
/***
|
90 |
*** @update a field in form only
|
91 |
***/
|
92 |
function update_field($id, $args, $form_id){
|
93 |
global $ultimatemember;
|
94 |
$fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
|
95 |
+
|
96 |
if ( $args['type'] == 'row' ) {
|
97 |
if ( isset( $fields[$id] ) ){
|
98 |
$old_args = $fields[$id];
|
104 |
$args = array_merge( $old_args, $args );
|
105 |
}
|
106 |
}
|
107 |
+
|
108 |
// custom fields support
|
109 |
if ( isset( $ultimatemember->builtin->predefined_fields[$id] ) && isset( $ultimatemember->builtin->predefined_fields[$id]['custom'] ) ) {
|
110 |
$args = array_merge( $ultimatemember->builtin->predefined_fields[$id], $args);
|
111 |
}
|
112 |
+
|
113 |
$fields[$id] = $args;
|
114 |
+
|
115 |
// for group field only
|
116 |
if ( $args['type'] == 'group' ){
|
117 |
$fields[$id]['in_group'] = '';
|
118 |
}
|
119 |
+
|
120 |
$ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
|
121 |
}
|
122 |
+
|
123 |
/***
|
124 |
*** @delete a field in form only
|
125 |
***/
|
131 |
$ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
|
132 |
}
|
133 |
}
|
134 |
+
|
135 |
/***
|
136 |
*** @delete the field from custom fields
|
137 |
***/
|
143 |
update_option('um_fields', $fields );
|
144 |
}
|
145 |
}
|
146 |
+
|
147 |
/***
|
148 |
*** @quickly add field from custom fields
|
149 |
***/
|
151 |
global $ultimatemember;
|
152 |
$fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
|
153 |
$field_scope = $ultimatemember->builtin->saved_fields;
|
154 |
+
|
155 |
if ( !isset( $fields[$global_id] ) ) {
|
156 |
+
|
157 |
$count = 1;
|
158 |
if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1;
|
159 |
+
|
160 |
$fields[$global_id] = $field_scope[$global_id];
|
161 |
$fields[$global_id]['position'] = $count;
|
162 |
+
|
163 |
// set position
|
164 |
if ( $position ) {
|
165 |
foreach( $position as $key => $val ) {
|
166 |
$fields[$global_id][$key] = $val;
|
167 |
}
|
168 |
}
|
169 |
+
|
170 |
// add field to form
|
171 |
$ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
|
172 |
+
|
173 |
}
|
174 |
}
|
175 |
+
|
176 |
/***
|
177 |
*** @quickly add field from predefined fields
|
178 |
***/
|
179 |
function add_field_from_predefined( $global_id, $form_id, $position = array() ) {
|
180 |
global $ultimatemember;
|
181 |
+
|
182 |
$fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
|
183 |
$field_scope = $ultimatemember->builtin->predefined_fields;
|
184 |
+
|
185 |
if ( !isset( $fields[$global_id] ) ) {
|
186 |
+
|
187 |
$count = 1;
|
188 |
if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1;
|
189 |
+
|
190 |
$fields[$global_id] = $field_scope[$global_id];
|
191 |
$fields[$global_id]['position'] = $count;
|
192 |
+
|
193 |
// set position
|
194 |
if ( $position ) {
|
195 |
foreach( $position as $key => $val ) {
|
196 |
$fields[$global_id][$key] = $val;
|
197 |
}
|
198 |
}
|
199 |
+
|
200 |
// add field to form
|
201 |
$ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
|
202 |
+
|
203 |
// add field to db
|
204 |
//$this->globally_update_field( $global_id, $fields[$global_id] );
|
205 |
+
|
206 |
}
|
207 |
}
|
208 |
+
|
209 |
/***
|
210 |
*** @Duplicates a field by meta key
|
211 |
*** @requires form id and meta key
|
214 |
global $ultimatemember;
|
215 |
$fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
|
216 |
$all_fields = $ultimatemember->builtin->saved_fields;
|
217 |
+
|
218 |
$inc = count( $fields ) + 1;
|
219 |
+
|
220 |
$duplicate = $fields[ $id ];
|
221 |
+
|
222 |
$new_metakey = $id . "_" . $inc;
|
223 |
$new_title = $fields[ $id ]['title'] . " #" . $inc;
|
224 |
$new_position = $inc;
|
225 |
+
|
226 |
$duplicate['title'] = $new_title;
|
227 |
$duplicate['metakey'] = $new_metakey;
|
228 |
$duplicate['position'] = $new_position;
|
229 |
|
230 |
$fields[ $new_metakey ] = $duplicate;
|
231 |
$all_fields[ $new_metakey ] = $duplicate;
|
232 |
+
|
233 |
// not global attributes
|
234 |
unset( $all_fields[ $new_metakey ]['in_row'] );
|
235 |
unset( $all_fields[ $new_metakey ]['in_sub_row'] );
|
236 |
unset( $all_fields[ $new_metakey ]['in_column'] );
|
237 |
unset( $all_fields[ $new_metakey ]['in_group'] );
|
238 |
unset( $all_fields[ $new_metakey ]['position'] );
|
239 |
+
|
240 |
$ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
|
241 |
update_option('um_fields', $all_fields );
|
242 |
+
|
243 |
}
|
244 |
+
|
245 |
/***
|
246 |
*** @Print field error
|
247 |
***/
|
256 |
} else {
|
257 |
$output = '';
|
258 |
}
|
259 |
+
|
260 |
if ( !$ultimatemember->form->processing ) {
|
261 |
$output = '<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>'.$text.'</div>';
|
262 |
}
|
263 |
return $output;
|
264 |
}
|
265 |
+
|
266 |
/***
|
267 |
*** @Check if field has a server side error
|
268 |
***/
|
270 |
global $ultimatemember;
|
271 |
return $ultimatemember->form->has_error($key);
|
272 |
}
|
273 |
+
|
274 |
/***
|
275 |
*** @Return field error
|
276 |
***/
|
278 |
global $ultimatemember;
|
279 |
return $ultimatemember->form->errors[$key];
|
280 |
}
|
281 |
+
|
282 |
/***
|
283 |
*** @Display field label
|
284 |
***/
|
286 |
global $ultimatemember;
|
287 |
$output = null;
|
288 |
$output .= '<div class="um-field-label">';
|
289 |
+
|
290 |
if ( isset($data['icon']) && $data['icon'] != '' && isset( $this->field_icons ) && $this->field_icons != 'off' && ( $this->field_icons == 'label' || $this->viewing == true ) ) {
|
291 |
$output .= '<div class="um-field-label-icon"><i class="'.$data['icon'].'"></i></div>';
|
292 |
}
|
293 |
+
|
294 |
if ( $this->viewing == true ) {
|
295 |
$label = apply_filters("um_view_label_{$key}", $label );
|
296 |
} else {
|
297 |
$label = apply_filters("um_edit_label_{$key}", $label );
|
298 |
$label = apply_filters("um_edit_label_all_fields", $label, $data );
|
299 |
}
|
300 |
+
|
301 |
$output .= '<label for="'.$key.$ultimatemember->form->form_suffix.'">'.$label.'</label>';
|
302 |
+
|
303 |
if ( isset( $data['help'] ) && !empty( $data['help'] ) && $this->viewing == false && !strstr($key, 'confirm_user_pass') ) {
|
304 |
+
|
305 |
if ( !$ultimatemember->mobile->isMobile() ) {
|
306 |
if ( !isset( $this->disable_tooltips ) ) {
|
307 |
$output .= '<span class="um-tip um-tip-w" title="'.$data['help'].'"><i class="um-icon-help-circled"></i></span>';
|
308 |
}
|
309 |
}
|
310 |
+
|
311 |
if ( $ultimatemember->mobile->isMobile() || isset( $this->disable_tooltips ) ) {
|
312 |
$output .= '<span class="um-tip-text">'. $data['help'] . '</span>';
|
313 |
}
|
314 |
+
|
315 |
}
|
316 |
+
|
317 |
$output .= '<div class="um-clear"></div></div>';
|
318 |
+
|
319 |
return $output;
|
320 |
}
|
321 |
|
324 |
***/
|
325 |
function get_class($key, $data, $add = null) {
|
326 |
$classes = null;
|
327 |
+
|
328 |
$classes .= 'um-form-field ';
|
329 |
+
|
330 |
if ( $this->is_error($key) ) {
|
331 |
$classes .= 'um-error ';
|
332 |
} else {
|
333 |
$classes .= 'valid ';
|
334 |
}
|
335 |
+
|
336 |
if ( !isset($data['required']) ) {
|
337 |
$classes .= 'not-required ';
|
338 |
}
|
339 |
+
|
340 |
if ( $data['type'] == 'date' ) {
|
341 |
$classes .= 'um-datepicker ';
|
342 |
}
|
343 |
+
|
344 |
if ( $data['type'] == 'time' ) {
|
345 |
$classes .= 'um-timepicker ';
|
346 |
}
|
347 |
+
|
348 |
if ( isset($data['icon']) && $data['icon'] && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
|
349 |
$classes .= 'um-iconed';
|
350 |
}
|
352 |
if ($add) {
|
353 |
$classes .= $add . ' ';
|
354 |
}
|
355 |
+
|
356 |
return $classes;
|
357 |
}
|
358 |
+
|
359 |
/***
|
360 |
*** @Get field value
|
361 |
***/
|
362 |
function field_value( $key, $default = false, $data = null ) {
|
363 |
global $ultimatemember;
|
364 |
+
|
365 |
if ( isset($_SESSION) && isset($_SESSION['um_social_profile'][$key]) && isset( $this->set_mode ) && $this->set_mode == 'register' )
|
366 |
return $_SESSION['um_social_profile'][$key];
|
367 |
+
|
368 |
$type = (isset($data['type']))?$data['type']:'';
|
369 |
+
|
370 |
// preview in backend
|
371 |
if ( isset( $ultimatemember->user->preview ) && $ultimatemember->user->preview ) {
|
372 |
$submitted = um_user('submitted');
|
376 |
return 'Undefined';
|
377 |
}
|
378 |
}
|
379 |
+
|
380 |
// normal state
|
381 |
if ( isset($ultimatemember->form->post_form[$key]) ) {
|
382 |
+
|
383 |
if ( strstr( $key, 'user_pass' ) && $this->set_mode != 'password' ) return '';
|
384 |
+
|
385 |
return $ultimatemember->form->post_form[$key];
|
386 |
+
|
387 |
} else if ( um_user( $key ) && $this->editing == true ) {
|
388 |
+
|
389 |
if ( strstr( $key, 'user_pass' ) ) return '';
|
390 |
+
|
391 |
+
return apply_filters( "um_edit_{$key}_field_value", um_user( $key ), $key );
|
392 |
+
|
393 |
} else if ( ( um_user( $key ) || isset($data['show_anyway']) ) && $this->viewing == true ) {
|
394 |
+
|
395 |
$value = um_filtered_value( $key, $data );
|
396 |
return $value;
|
397 |
+
|
398 |
+
} else if ( $default ) {
|
399 |
+
|
400 |
return $default;
|
401 |
+
|
402 |
+
} else if ( $this->editing == true ) {
|
403 |
+
|
404 |
+
return apply_filters( "um_edit_{$key}_field_value", '', $key);
|
405 |
+
|
406 |
}
|
407 |
|
408 |
return '';
|
409 |
}
|
410 |
+
|
411 |
/***
|
412 |
*** @Check if option is selected
|
413 |
***/
|
414 |
function is_selected($key, $value, $data){
|
415 |
global $ultimatemember;
|
416 |
+
|
417 |
if ( isset( $ultimatemember->form->post_form[$key] ) && is_array( $ultimatemember->form->post_form[$key] ) ) {
|
418 |
+
|
419 |
if ( in_array( $value, $ultimatemember->form->post_form[$key] ) ){
|
420 |
return true;
|
421 |
}
|
422 |
+
|
423 |
} else {
|
424 |
+
|
425 |
if ( !isset( $ultimatemember->form->post_form ) ) {
|
426 |
+
|
427 |
if ( um_user( $key ) && $this->editing == true && is_array( um_user( $key ) ) && in_array($value, um_user( $key ) ) ) {
|
428 |
return true;
|
429 |
}
|
430 |
+
|
431 |
if ( um_user( $key ) && $this->editing == true && !is_array( um_user( $key ) ) && um_user( $key ) == $value ) {
|
432 |
return true;
|
433 |
}
|
434 |
+
|
435 |
if ( strstr( $data['default'], ', ') ) {
|
436 |
$data['default'] = explode(', ', $data['default']);
|
437 |
}
|
438 |
+
|
439 |
if ( isset($data['default']) && !is_array($data['default']) && $data['default'] == $value ) {
|
440 |
return true;
|
441 |
}
|
442 |
+
|
443 |
if ( isset($data['default']) && is_array($data['default']) && in_array($value, $data['default'] ) ){
|
444 |
return true;
|
445 |
}
|
446 |
+
|
447 |
} else {
|
448 |
+
|
449 |
if ( isset( $ultimatemember->form->post_form[$key] ) && $value == $ultimatemember->form->post_form[$key] ) {
|
450 |
return true;
|
451 |
}
|
452 |
+
|
453 |
}
|
454 |
+
|
455 |
}
|
456 |
+
|
457 |
return false;
|
458 |
}
|
459 |
+
|
460 |
/***
|
461 |
*** @Check if radio button is checked
|
462 |
***/
|
464 |
global $ultimatemember;
|
465 |
|
466 |
if ( isset( $ultimatemember->form->post_form[$key] ) && is_array( $ultimatemember->form->post_form[$key] ) ) {
|
467 |
+
|
468 |
if ( in_array( $value, $ultimatemember->form->post_form[$key] ) ){
|
469 |
return true;
|
470 |
}
|
471 |
+
|
472 |
} else {
|
473 |
+
|
474 |
if ( !isset( $ultimatemember->form->post_form ) ) {
|
475 |
+
|
476 |
if ( um_user( $key ) && $this->editing == true ) {
|
477 |
+
|
478 |
if ( strstr($key, 'role_') ) {
|
479 |
$key = 'role';
|
480 |
}
|
481 |
+
|
482 |
if ( um_user( $key ) == $value ) {
|
483 |
return true;
|
484 |
}
|
485 |
+
|
486 |
} else {
|
487 |
+
|
488 |
if ( isset($data['default']) && $data['default'] == $value ) {
|
489 |
return true;
|
490 |
}
|
491 |
+
|
492 |
}
|
493 |
+
|
494 |
} else {
|
495 |
+
|
496 |
if ( isset( $ultimatemember->form->post_form[$key] ) && $value == $ultimatemember->form->post_form[$key] ) {
|
497 |
return true;
|
498 |
}
|
499 |
+
|
500 |
}
|
501 |
+
|
502 |
}
|
503 |
+
|
504 |
return false;
|
505 |
}
|
506 |
|
514 |
return $fields[$key]['icon'];
|
515 |
return '';
|
516 |
}
|
517 |
+
|
518 |
/***
|
519 |
*** @Get Field Type
|
520 |
***/
|
525 |
return $fields[$key]['type'];
|
526 |
return '';
|
527 |
}
|
528 |
+
|
529 |
/***
|
530 |
*** @Get Field Label
|
531 |
***/
|
538 |
return $fields[$key]['title'];
|
539 |
return '';
|
540 |
}
|
541 |
+
|
542 |
/***
|
543 |
*** @Get Field Title
|
544 |
***/
|
551 |
return $fields[$key]['label'];
|
552 |
return __('Custom Field','ultimatemember');
|
553 |
}
|
554 |
+
|
555 |
/***
|
556 |
*** @Get form fields
|
557 |
***/
|
560 |
$this->fields = apply_filters("um_get_form_fields", $this->fields );
|
561 |
return $this->fields;
|
562 |
}
|
563 |
+
|
564 |
/***
|
565 |
*** @Get Field
|
566 |
***/
|
567 |
function get_field( $key ) {
|
568 |
global $ultimatemember;
|
569 |
+
|
570 |
$fields = $this->get_fields();
|
571 |
|
572 |
if ( isset( $fields ) && is_array( $fields ) && isset( $fields[$key] ) ) {
|
577 |
}
|
578 |
$array = (isset( $ultimatemember->builtin->predefined_fields[$key] ) ) ? $ultimatemember->builtin->predefined_fields[$key] : $ultimatemember->builtin->all_user_fields[$key];
|
579 |
}
|
580 |
+
|
581 |
$array['classes'] = null;
|
582 |
|
583 |
if (!isset($array['placeholder'])) $array['placeholder'] = null;
|
584 |
if (!isset($array['required'])) $array['required'] = null;
|
585 |
if (!isset($array['validate'])) $array['validate'] = null;
|
586 |
if (!isset($array['default'])) $array['default'] = null;
|
587 |
+
|
588 |
if ( isset( $array['conditions'] ) && is_array( $array['conditions'] ) && !$this->viewing ) {
|
589 |
$array['conditional'] = '';
|
590 |
|
591 |
foreach( $array['conditions'] as $cond_id => $cond ) {
|
592 |
$array['conditional'] .= ' data-cond-'.$cond_id.'-action="'. $cond[0] . '" data-cond-'.$cond_id.'-field="'. $cond[1] . '" data-cond-'.$cond_id.'-operator="'. $cond[2] . '" data-cond-'.$cond_id.'-value="'. $cond[3] . '"';
|
593 |
}
|
594 |
+
|
595 |
$array['classes'] .= ' um-is-conditional';
|
596 |
+
|
597 |
} else {
|
598 |
$array['conditional'] = null;
|
599 |
}
|
600 |
+
|
601 |
$array['classes'] .= ' um-field-' . $key;
|
602 |
$array['classes'] .= ' um-field-' . $array['type'];
|
603 |
+
|
604 |
switch( $array['type'] ) {
|
605 |
|
606 |
case 'googlemap':
|
610 |
$array['disabled'] = '';
|
611 |
$array['input'] = 'text';
|
612 |
break;
|
613 |
+
|
614 |
case 'text':
|
615 |
+
|
616 |
$array['disabled'] = '';
|
617 |
+
|
618 |
if ( $key == 'user_login' && $this->set_mode == 'account' ) {
|
619 |
$array['disabled'] = 'disabled="disabled"';
|
620 |
}
|
621 |
+
|
622 |
$array['input'] = 'text';
|
623 |
|
624 |
break;
|
625 |
+
|
626 |
case 'password':
|
627 |
+
|
628 |
$array['input'] = 'password';
|
629 |
|
630 |
break;
|
631 |
+
|
632 |
+
case 'number':
|
633 |
+
|
634 |
+
$array['disabled'] = '';
|
635 |
+
|
636 |
+
break;
|
637 |
+
|
638 |
case 'url':
|
639 |
+
|
640 |
$array['input'] = 'text';
|
641 |
|
642 |
break;
|
643 |
+
|
644 |
case 'date':
|
645 |
+
|
646 |
$array['input'] = 'text';
|
647 |
+
|
648 |
if ( !isset( $array['format'] ) ) $array['format'] = 'j M Y';
|
649 |
+
|
650 |
switch( $array['format'] ) {
|
651 |
case 'j M Y':
|
652 |
$js_format = 'd mmm yyyy';
|
661 |
$js_format = 'mmmm d yyyy';
|
662 |
break;
|
663 |
}
|
664 |
+
|
665 |
$array['js_format'] = $js_format;
|
666 |
+
|
667 |
if ( !isset( $array['range'] ) ) $array['range'] = 'years';
|
668 |
if ( !isset( $array['years'] ) ) $array['years'] = 100;
|
669 |
if ( !isset( $array['years_x'] ) ) $array['years_x'] = 'past';
|
670 |
if ( !isset( $array['disabled_weekdays'] ) ) $array['disabled_weekdays'] = '';
|
671 |
+
|
672 |
if ( !empty( $array['disabled_weekdays'] ) ) {
|
673 |
$array['disabled_weekdays'] = '[' . implode(',',$array['disabled_weekdays']) . ']';
|
674 |
}
|
675 |
+
|
676 |
// When date range is strictly defined
|
677 |
if ( $array['range'] == 'date_range' ) {
|
678 |
+
|
679 |
$array['date_min'] = str_replace('/',',',$array['range_start']);
|
680 |
$array['date_max'] = str_replace('/',',',$array['range_end']);
|
681 |
+
|
682 |
} else {
|
683 |
+
|
684 |
if ( $array['years_x'] == 'past' ) {
|
685 |
|
686 |
$date = new DateTime( date('Y-n-d') );
|
687 |
$past = $date->modify('-'.$array['years'].' years');
|
688 |
$past = $date->format('Y,n,d');
|
689 |
+
|
690 |
$array['date_min'] = $past;
|
691 |
$array['date_max'] = date('Y,n,d');
|
692 |
+
|
693 |
} else if ( $array['years_x'] == 'future' ) {
|
694 |
+
|
695 |
$date = new DateTime( date('Y-n-d') );
|
696 |
$future = $date->modify('+'.$array['years'].' years');
|
697 |
$future = $date->format('Y,n,d');
|
698 |
+
|
699 |
+
$array['date_min'] = date('Y,n,d');
|
700 |
$array['date_max'] = $future;
|
701 |
+
|
702 |
} else {
|
703 |
+
|
704 |
$date = new DateTime( date('Y-n-d') );
|
705 |
$date_f = new DateTime( date('Y-n-d') );
|
706 |
$past = $date->modify('-'. ( $array['years'] / 2 ).' years');
|
707 |
$past = $date->format('Y,n,d');
|
708 |
$future = $date_f->modify('+'. ( $array['years'] / 2 ).' years');
|
709 |
$future = $date_f->format('Y,n,d');
|
710 |
+
|
711 |
+
$array['date_min'] = $past;
|
712 |
$array['date_max'] = $future;
|
713 |
|
714 |
}
|
715 |
|
716 |
}
|
717 |
+
|
718 |
break;
|
719 |
+
|
720 |
case 'time':
|
721 |
+
|
722 |
$array['input'] = 'text';
|
723 |
+
|
724 |
if ( !isset( $array['format'] ) ) $array['format'] = 'g:i a';
|
725 |
+
|
726 |
switch( $array['format'] ) {
|
727 |
case 'g:i a':
|
728 |
$js_format = 'h:i a';
|
734 |
$js_format = 'HH:i';
|
735 |
break;
|
736 |
}
|
737 |
+
|
738 |
$array['js_format'] = $js_format;
|
739 |
+
|
740 |
if ( !isset( $array['intervals'] ) ) $array['intervals'] = 60;
|
741 |
|
742 |
break;
|
743 |
+
|
744 |
case 'textarea':
|
745 |
+
|
746 |
if (!isset($array['height'])) $array['height'] = '100px';
|
747 |
+
|
748 |
break;
|
749 |
|
750 |
case 'rating':
|
751 |
+
|
752 |
if (!isset($array['number'])) $array['number'] = 5;
|
753 |
+
|
754 |
break;
|
755 |
|
756 |
case 'spacing':
|
757 |
+
|
758 |
if ( !isset($array['spacing'])){
|
759 |
$array['spacing'] = '20px';
|
760 |
}
|
761 |
+
|
762 |
break;
|
763 |
+
|
764 |
case 'divider':
|
765 |
+
|
766 |
if (isset($array['width'])){
|
767 |
$array['borderwidth'] = $array['width'];
|
768 |
} else {
|
769 |
$array['borderwidth'] = 4;
|
770 |
}
|
771 |
+
|
772 |
if (isset($array['color'])){
|
773 |
$array['bordercolor'] = $array['color'];
|
774 |
} else {
|
775 |
$array['bordercolor'] = '#eee';
|
776 |
}
|
777 |
+
|
778 |
if (isset($array['style'])){
|
779 |
$array['borderstyle'] = $array['style'];
|
780 |
} else {
|
781 |
$array['borderstyle'] = 'solid';
|
782 |
}
|
783 |
+
|
784 |
if ( !isset( $array['divider_text'] ) ) {
|
785 |
$array['divider_text'] = '';
|
786 |
}
|
787 |
+
|
788 |
break;
|
789 |
|
790 |
case 'image':
|
791 |
+
|
792 |
if ( !isset( $array['crop'] ) ) $array['crop'] = 0;
|
793 |
+
|
794 |
if ( $array['crop'] == 0 ) {
|
795 |
$array['crop_data'] = 0;
|
796 |
} else if ( $array['crop'] == 1 ) {
|
800 |
} else {
|
801 |
$array['crop_data'] = 'user';
|
802 |
}
|
803 |
+
|
804 |
if ( !isset( $array['modal_size'] ) ) $array['modal_size'] = 'normal';
|
805 |
+
|
806 |
if ( $array['crop'] > 0 ) {
|
807 |
$array['crop_class'] = 'crop';
|
808 |
} else {
|
809 |
$array['crop_class'] = '';
|
810 |
}
|
811 |
+
|
812 |
if ( !isset( $array['ratio'] ) ) $array['ratio'] = 1.0;
|
813 |
+
|
814 |
if ( !isset( $array['min_width'] ) ) $array['min_width'] = '';
|
815 |
if ( !isset( $array['min_height'] ) ) $array['min_height'] = '';
|
816 |
+
|
817 |
if ( $array['min_width'] == '' && $array['crop'] == 1 ) $array['min_width'] = 600;
|
818 |
if ( $array['min_height'] == '' && $array['crop'] == 1 ) $array['min_height'] = 600;
|
819 |
+
|
820 |
if ( $array['min_width'] == '' && $array['crop'] == 3 ) $array['min_width'] = 600;
|
821 |
if ( $array['min_height'] == '' && $array['crop'] == 3 ) $array['min_height'] = 600;
|
822 |
+
|
823 |
if (!isset($array['invalid_image'])) $array['invalid_image'] = __("Please upload a valid image!",'ultimatemember');
|
824 |
if (!isset($array['allowed_types'])) {
|
825 |
$array['allowed_types'] = "gif,jpg,jpeg,png";
|
839 |
break;
|
840 |
|
841 |
case 'file':
|
842 |
+
|
843 |
if ( !isset( $array['modal_size'] ) ) $array['modal_size'] = 'normal';
|
844 |
+
|
845 |
if (!isset($array['allowed_types'])) {
|
846 |
$array['allowed_types'] = "pdf,txt";
|
847 |
} else {
|
860 |
break;
|
861 |
|
862 |
case 'select':
|
863 |
+
|
864 |
break;
|
865 |
+
|
866 |
case 'multiselect':
|
867 |
+
|
868 |
break;
|
869 |
+
|
870 |
case 'group':
|
871 |
+
|
872 |
if ( !isset( $array['max_entries'] ) ) $array['max_entries'] = 0;
|
873 |
+
|
874 |
break;
|
875 |
+
|
876 |
}
|
877 |
+
|
878 |
if ( !isset( $array['visibility'] ) ) $array['visibility'] = 'all';
|
879 |
+
|
880 |
return $array;
|
881 |
}
|
882 |
+
|
883 |
/***
|
884 |
*** @a field in input mode
|
885 |
***/
|
886 |
function edit_field( $key, $data, $rule=false ) {
|
887 |
global $ultimatemember;
|
888 |
+
|
889 |
$output = null;
|
890 |
+
|
891 |
// get whole field data
|
892 |
if ( isset( $data ) && is_array( $data ) ) {
|
893 |
$data = $this->get_field($key);
|
894 |
extract($data);
|
895 |
}
|
896 |
+
|
897 |
if ( !isset( $data['type'] ) ) return;
|
898 |
+
|
899 |
if ( isset( $data['in_group'] ) && $data['in_group'] != '' && $rule != 'group' ) return;
|
900 |
+
|
901 |
if ( $visibility == 'view' ) return;
|
902 |
+
|
903 |
if ( !um_can_view_field( $data ) ) return;
|
904 |
if ( !um_can_edit_field( $data ) ) return;
|
905 |
+
|
906 |
// fields that need to be disabled in edit mode (profile)
|
907 |
if ( in_array( $key, array('user_email','username','user_login','user_password') ) && $this->editing == true && $this->set_mode == 'profile' ) {
|
908 |
return;
|
909 |
}
|
910 |
+
|
911 |
// forbidden in edit mode?
|
912 |
if ( isset( $data['edit_forbidden'] ) ) return;
|
913 |
+
|
914 |
// required option
|
915 |
if ( isset( $data['required_opt'] ) ) {
|
916 |
$opt = $data['required_opt'];
|
918 |
return;
|
919 |
}
|
920 |
}
|
921 |
+
|
922 |
// required user permission
|
923 |
if ( isset( $data['required_perm'] ) ) {
|
924 |
if ( !um_user( $data['required_perm'] ) ) {
|
925 |
return;
|
926 |
}
|
927 |
}
|
928 |
+
|
929 |
// do not show passwords
|
930 |
if ( isset( $ultimatemember->user->preview ) && $ultimatemember->user->preview ) {
|
931 |
if ( $data['type'] == 'password' ){
|
937 |
|
938 |
/* Begin by field type */
|
939 |
switch( $type ) {
|
940 |
+
|
941 |
/* Default: Integration */
|
942 |
default:
|
943 |
$mode = (isset($this->set_mode))?$this->set_mode:'no_mode';
|
944 |
$output .= apply_filters("um_edit_field_{$mode}_{$type}", $output, $data);
|
945 |
break;
|
946 |
+
|
947 |
/* Other fields */
|
948 |
case 'googlemap':
|
949 |
case 'youtube_video':
|
951 |
case 'soundcloud_track':
|
952 |
|
953 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
954 |
+
|
955 |
if ( isset( $data['label'] ) ) {
|
956 |
$output .= $this->field_label($label, $key, $data);
|
957 |
}
|
958 |
|
959 |
$output .= '<div class="um-field-area">';
|
960 |
+
|
961 |
if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
|
962 |
+
|
963 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
964 |
+
|
965 |
}
|
966 |
+
|
967 |
$output .= '<input '.$disabled.' class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. htmlspecialchars( $this->field_value( $key, $default, $data ) ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
968 |
+
|
969 |
</div>';
|
970 |
+
|
971 |
if ( $this->is_error($key) ) {
|
972 |
$output .= $this->field_error( $this->show_error($key) );
|
973 |
}
|
974 |
+
|
975 |
$output .= '</div>';
|
976 |
break;
|
977 |
|
979 |
case 'text':
|
980 |
|
981 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
982 |
+
|
983 |
if ( isset( $data['label'] ) ) {
|
984 |
$output .= $this->field_label($label, $key, $data);
|
985 |
}
|
986 |
|
987 |
$output .= '<div class="um-field-area">';
|
988 |
+
|
989 |
if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
|
990 |
+
|
991 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
992 |
+
|
993 |
}
|
994 |
+
|
995 |
$output .= '<input '.$disabled.' class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. htmlspecialchars( $this->field_value( $key, $default, $data ) ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
996 |
+
|
997 |
</div>';
|
998 |
+
|
999 |
if ( $this->is_error($key) ) {
|
1000 |
$output .= $this->field_error( $this->show_error($key) );
|
1001 |
}
|
1002 |
+
|
1003 |
$output .= '</div>';
|
1004 |
break;
|
1005 |
+
|
1006 |
+
/* Number */
|
1007 |
+
case 'number':
|
1008 |
+
|
1009 |
+
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1010 |
+
|
1011 |
+
if ( isset( $data['label'] ) ) {
|
1012 |
+
$output .= $this->field_label($label, $key, $data);
|
1013 |
+
}
|
1014 |
+
|
1015 |
+
$output .= '<div class="um-field-area">';
|
1016 |
+
|
1017 |
+
if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
|
1018 |
+
|
1019 |
+
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1020 |
+
|
1021 |
+
}
|
1022 |
+
|
1023 |
+
$output .= '<input '.$disabled.' class="'.$this->get_class($key, $data).'" type="number" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. htmlspecialchars( $this->field_value( $key, $default, $data ) ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" min="' . $min . '" max="' . $max . '" />
|
1024 |
+
|
1025 |
+
</div>';
|
1026 |
+
|
1027 |
+
if ( $this->is_error($key) ) {
|
1028 |
+
$output .= $this->field_error( $this->show_error($key) );
|
1029 |
+
}
|
1030 |
+
|
1031 |
+
$output .= '</div>';
|
1032 |
+
break;
|
1033 |
+
|
1034 |
/* Password */
|
1035 |
case 'password':
|
1036 |
+
|
1037 |
$original_key = $key;
|
1038 |
+
|
1039 |
if ( $key == 'single_user_password' ) {
|
1040 |
+
|
1041 |
$key = $original_key;
|
1042 |
+
|
1043 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1044 |
|
1045 |
if ( isset( $data['label'] ) ) {
|
1047 |
}
|
1048 |
|
1049 |
$output .= '<div class="um-field-area">';
|
1050 |
+
|
1051 |
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
|
1052 |
+
|
1053 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1054 |
+
|
1055 |
}
|
1056 |
+
|
1057 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
1058 |
+
|
1059 |
</div>';
|
1060 |
+
|
1061 |
if ( $this->is_error($key) ) {
|
1062 |
$output .= $this->field_error( $this->show_error($key) );
|
1063 |
}
|
1064 |
+
|
1065 |
$output .= '</div>';
|
1066 |
+
|
1067 |
} else {
|
1068 |
+
|
1069 |
if ( $this->set_mode == 'account' && um_is_core_page('account') ) {
|
1070 |
|
1071 |
$key = 'current_' . $original_key;
|
1072 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1073 |
+
|
1074 |
if ( isset( $data['label'] ) ) {
|
1075 |
$output .= $this->field_label( __('Current Password','ultimatemember'), $key, $data);
|
1076 |
}
|
1077 |
+
|
1078 |
$output .= '<div class="um-field-area">';
|
1079 |
+
|
1080 |
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
|
1081 |
+
|
1082 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1083 |
+
|
1084 |
}
|
1085 |
+
|
1086 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="' . $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
1087 |
+
|
1088 |
</div>';
|
1089 |
+
|
1090 |
if ( $this->is_error($key) ) {
|
1091 |
$output .= $this->field_error( $this->show_error($key) );
|
1092 |
}
|
1093 |
+
|
1094 |
$output .= '</div>';
|
1095 |
+
|
1096 |
}
|
1097 |
|
1098 |
$key = $original_key;
|
1099 |
+
|
1100 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1101 |
|
1102 |
if ( $this->set_mode == 'account' && um_is_core_page('account') || $this->set_mode == 'password' && um_is_core_page('password-reset') ) {
|
1103 |
+
|
1104 |
$output .= $this->field_label( __('New Password','ultimatemember'), $key, $data);
|
1105 |
+
|
1106 |
} else if ( isset( $data['label'] ) ) {
|
1107 |
+
|
1108 |
$output .= $this->field_label($label, $key, $data);
|
1109 |
+
|
1110 |
}
|
1111 |
|
1112 |
$output .= '<div class="um-field-area">';
|
1113 |
+
|
1114 |
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
|
1115 |
+
|
1116 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1117 |
+
|
1118 |
}
|
1119 |
+
|
1120 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
1121 |
+
|
1122 |
</div>';
|
1123 |
+
|
1124 |
if ( $this->is_error($key) ) {
|
1125 |
$output .= $this->field_error( $this->show_error($key) );
|
1126 |
}
|
1127 |
+
|
1128 |
$output .= '</div>';
|
1129 |
+
|
1130 |
if ( $this->set_mode != 'login' && isset( $data['force_confirm_pass'] ) && $data['force_confirm_pass'] == 1 ) {
|
1131 |
|
1132 |
$key = 'confirm_' . $original_key;
|
1133 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1134 |
+
|
1135 |
if ( isset( $data['label'] ) ) {
|
1136 |
$output .= $this->field_label( sprintf(__('Confirm %s','ultimatemember'), $data['label'] ), $key, $data);
|
1137 |
}
|
1138 |
+
|
1139 |
$output .= '<div class="um-field-area">';
|
1140 |
+
|
1141 |
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
|
1142 |
+
|
1143 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1144 |
+
|
1145 |
}
|
1146 |
+
|
1147 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="' . $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
1148 |
+
|
1149 |
</div>';
|
1150 |
+
|
1151 |
if ( $this->is_error($key) ) {
|
1152 |
$output .= $this->field_error( $this->show_error($key) );
|
1153 |
}
|
1154 |
+
|
1155 |
$output .= '</div>';
|
1156 |
+
|
1157 |
}
|
1158 |
+
|
1159 |
}
|
1160 |
+
|
1161 |
break;
|
1162 |
+
|
1163 |
/* URL */
|
1164 |
case 'url':
|
1165 |
+
|
1166 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1167 |
+
|
1168 |
if ( isset( $data['label'] ) ) {
|
1169 |
$output .= $this->field_label($label, $key, $data);
|
1170 |
}
|
1171 |
|
1172 |
$output .= '<div class="um-field-area">';
|
1173 |
+
|
1174 |
if ( isset($icon) && $icon && isset($this->field_icons) && $this->field_icons == 'field' ) {
|
1175 |
+
|
1176 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1177 |
+
|
1178 |
}
|
1179 |
+
|
1180 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
|
1181 |
+
|
1182 |
</div>';
|
1183 |
+
|
1184 |
if ( $this->is_error($key) ) {
|
1185 |
$output .= $this->field_error( $this->show_error($key) );
|
1186 |
}
|
1187 |
+
|
1188 |
$output .= '</div>';
|
1189 |
break;
|
1190 |
+
|
1191 |
/* Date */
|
1192 |
case 'date':
|
1193 |
+
|
1194 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1195 |
+
|
1196 |
if ( isset( $data['label'] ) ) {
|
1197 |
$output .= $this->field_label($label, $key, $data);
|
1198 |
}
|
1199 |
|
1200 |
$output .= '<div class="um-field-area">';
|
1201 |
+
|
1202 |
if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
|
1203 |
+
|
1204 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1205 |
+
|
1206 |
}
|
1207 |
+
|
1208 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" data-range="'.$range.'" data-years="'.$years.'" data-years_x="'.$years_x.'" data-disabled_weekdays="'.$disabled_weekdays.'" data-date_min="'.$date_min.'" data-date_max="'.$date_max.'" data-format="'.$js_format.'" data-value="'. $this->field_value( $key, $default, $data ) .'" />
|
1209 |
+
|
1210 |
</div>';
|
1211 |
+
|
1212 |
if ( $this->is_error($key) ) {
|
1213 |
$output .= $this->field_error( $this->show_error($key) );
|
1214 |
}
|
1215 |
+
|
1216 |
$output .= '</div>';
|
1217 |
break;
|
1218 |
+
|
1219 |
/* Time */
|
1220 |
case 'time':
|
1221 |
+
|
1222 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1223 |
+
|
1224 |
if ( isset( $data['label'] ) ) {
|
1225 |
$output .= $this->field_label($label, $key, $data);
|
1226 |
}
|
1227 |
|
1228 |
$output .= '<div class="um-field-area">';
|
1229 |
+
|
1230 |
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
|
1231 |
+
|
1232 |
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
|
1233 |
+
|
1234 |
}
|
1235 |
+
|
1236 |
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" data-format="'.$js_format.'" data-intervals="'.$intervals.'" data-value="'. $this->field_value( $key, $default, $data ) .'" />
|
1237 |
+
|
1238 |
</div>';
|
1239 |
+
|
1240 |
if ( $this->is_error($key) ) {
|
1241 |
$output .= $this->field_error( $this->show_error($key) );
|
1242 |
}
|
1243 |
+
|
1244 |
$output .= '</div>';
|
1245 |
break;
|
1246 |
+
|
1247 |
/* Row */
|
1248 |
case 'row':
|
1249 |
$output .= '';
|
1250 |
break;
|
1251 |
+
|
1252 |
/* Textarea */
|
1253 |
case 'textarea':
|
1254 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1255 |
+
|
1256 |
if ( isset( $data['label'] ) ) {
|
1257 |
$output .= $this->field_label($label, $key, $data);
|
1258 |
}
|
1259 |
+
|
1260 |
$output .= '<div class="um-field-area">';
|
1261 |
|
1262 |
+
if ( isset( $data['html'] ) && $data['html'] != 0 && $key != "description" ) {
|
1263 |
+
|
1264 |
+
|
1265 |
+
$textarea_settings = array(
|
1266 |
+
'media_buttons' => false,
|
1267 |
+
'wpautop' => false,
|
1268 |
+
'editor_class' => $this->get_class($key, $data),
|
1269 |
+
'editor_height' => $height,
|
1270 |
+
'tinymce'=> array(
|
1271 |
+
'toolbar1' => 'formatselect,bullist,numlist,bold,italic,underline,forecolor,blockquote,hr,removeformat,link,unlink,undo,redo',
|
1272 |
+
'toolbar2' => ''
|
1273 |
+
)
|
1274 |
+
);
|
1275 |
+
|
1276 |
+
// turn on the output buffer
|
1277 |
+
ob_start();
|
1278 |
+
|
1279 |
+
// echo the editor to the buffer
|
1280 |
+
wp_editor( $this->field_value( $key, $default, $data ) , $key, $textarea_settings );
|
1281 |
+
|
1282 |
+
// add the contents of the buffer to the output variable
|
1283 |
+
$output .= ob_get_clean();
|
1284 |
+
|
1285 |
+
}
|
1286 |
+
else $output .= '<textarea style="height: '.$height.';" class="'.$this->get_class($key, $data).'" name="'.$key.'" id="'.$key.'" placeholder="'.$placeholder.'">'.$this->field_value( $key, $default, $data ).'</textarea>';
|
1287 |
+
|
1288 |
+
$output .= '
|
1289 |
</div>';
|
1290 |
+
|
1291 |
if ( $this->is_error($key) ) {
|
1292 |
$output .= $this->field_error( $this->show_error($key) );
|
1293 |
}
|
1294 |
+
|
1295 |
$output .= '</div>';
|
1296 |
break;
|
1297 |
+
|
1298 |
/* Rating */
|
1299 |
case 'rating':
|
1300 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1301 |
+
|
1302 |
if ( isset( $data['label'] ) ) {
|
1303 |
$output .= $this->field_label($label, $key, $data);
|
1304 |
}
|
1305 |
+
|
1306 |
$output .= '<div class="um-field-area">';
|
1307 |
+
|
1308 |
$output .= '<div class="um-rating um-raty" id="'.$key.'" data-key="'.$key.'" data-number="'.$data['number'].'" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>';
|
1309 |
+
|
1310 |
$output .= '</div>';
|
1311 |
+
|
1312 |
$output .= '</div>';
|
1313 |
+
|
1314 |
break;
|
1315 |
+
|
1316 |
/* Gap/Space */
|
1317 |
case 'spacing':
|
1318 |
$output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: '.$spacing.'"></div>';
|
1319 |
break;
|
1320 |
+
|
1321 |
/* A line divider */
|
1322 |
case 'divider':
|
1323 |
$output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
|
1326 |
}
|
1327 |
$output .= '</div>';
|
1328 |
break;
|
1329 |
+
|
1330 |
/* Single Image Upload */
|
1331 |
case 'image':
|
1332 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1333 |
+
|
1334 |
if ( in_array( $key, array('profile_photo','cover_photo') ) ) {
|
1335 |
$field_value = '';
|
1336 |
} else {
|
1337 |
$field_value = $this->field_value( $key, $default, $data );
|
1338 |
}
|
1339 |
+
|
1340 |
$output .= '<input type="hidden" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $field_value . '" />';
|
1341 |
+
|
1342 |
if ( isset( $data['label'] ) ) {
|
1343 |
$output .= $this->field_label($label, $key, $data);
|
1344 |
}
|
1345 |
+
|
1346 |
$modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimatemember');
|
1347 |
|
1348 |
$output .= '<div class="um-field-area" style="text-align: center">';
|
1349 |
+
|
1350 |
if ( $this->field_value( $key, $default, $data ) ) {
|
1351 |
+
|
1352 |
if ( !in_array( $key, array('profile_photo','cover_photo') ) ) {
|
1353 |
if ( isset( $this->set_mode ) && $this->set_mode == 'register' ) {
|
1354 |
$imgValue = $this->field_value( $key, $default, $data );
|
1359 |
} else {
|
1360 |
$img = '';
|
1361 |
}
|
1362 |
+
|
1363 |
$output .= '<div class="um-single-image-preview show '. $crop_class .'" data-crop="'.$crop_data.'" data-key="'.$key.'">
|
1364 |
<a href="#" class="cancel"><i class="um-icon-close"></i></a>' . $img . '
|
1365 |
</div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. __('Change photo','ultimatemember') . '</a>';
|
1366 |
+
|
1367 |
} else {
|
1368 |
+
|
1369 |
$output .= '<div class="um-single-image-preview '. $crop_class .'" data-crop="'.$crop_data.'" data-key="'.$key.'">
|
1370 |
<a href="#" class="cancel"><i class="um-icon-close"></i></a>
|
1371 |
<img src="" alt="" />
|
1372 |
</div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. $button_text . '</a>';
|
1373 |
+
|
1374 |
}
|
1375 |
+
|
1376 |
$output .= '</div>';
|
1377 |
|
1378 |
/* modal hidden */
|
1379 |
$output .= '<div class="um-modal-hidden-content">';
|
1380 |
|
1381 |
$output .= '<div class="um-modal-header"> ' . $modal_label . '</div>';
|
1382 |
+
|
1383 |
$output .= '<div class="um-modal-body">';
|
1384 |
+
|
1385 |
if ( isset( $this->set_id ) ) {
|
1386 |
$set_id = $this->set_id;
|
1387 |
$set_mode = $this->set_mode;
|
1389 |
$set_id = 0;
|
1390 |
$set_mode = '';
|
1391 |
}
|
1392 |
+
|
1393 |
$output .= '<div class="um-single-image-preview '. $crop_class .'" data-crop="'.$crop_data.'" data-ratio="'.$ratio.'" data-min_width="'.$min_width.'" data-min_height="'.$min_height.'" data-coord=""><a href="#" class="cancel"><i class="um-icon-close"></i></a><img src="" alt="" /></div>';
|
1394 |
$output .= '<div class="um-single-image-upload" data-icon="'.$icon.'" data-set_id="'.$set_id.'" data-set_mode="'.$set_mode.'" data-type="'.$type.'" data-key="'.$key.'" data-max_size="'.$max_size.'" data-max_size_error="'.$max_size_error.'" data-min_size_error="'.$min_size_error.'" data-extension_error="'.$extension_error.'" data-allowed_types="'.$allowed_types.'" data-upload_text="'.$upload_text.'" data-max_files_error="'.$max_files_error.'" data-upload_help_text="'.$upload_help_text.'">'.$button_text.'</div>';
|
1395 |
+
|
1396 |
$output .= '<div class="um-modal-footer">
|
1397 |
<div class="um-modal-right">
|
1398 |
<a href="#" class="um-modal-btn um-finish-upload image disabled" data-key="'.$key.'" data-change="'.__('Change photo','ultimatemember').'" data-processing="'.__('Processing...','ultimatemember').'"> ' . __('Apply','ultimatemember') . '</a>
|
1400 |
</div>
|
1401 |
<div class="um-clear"></div>
|
1402 |
</div>';
|
1403 |
+
|
1404 |
$output .= '</div>';
|
1405 |
+
|
1406 |
$output .= '</div>';
|
1407 |
+
|
1408 |
/* end */
|
1409 |
+
|
1410 |
if ( $this->is_error($key) ) {
|
1411 |
$output .= $this->field_error( $this->show_error($key) );
|
1412 |
}
|
1413 |
+
|
1414 |
$output .= '</div>';
|
1415 |
+
|
1416 |
break;
|
1417 |
+
|
1418 |
/* Single File Upload */
|
1419 |
case 'file':
|
1420 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1421 |
+
|
1422 |
$output .= '<input type="hidden" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) . '" />';
|
1423 |
+
|
1424 |
if ( isset( $data['label'] ) ) {
|
1425 |
$output .= $this->field_label($label, $key, $data);
|
1426 |
}
|
1427 |
+
|
1428 |
$modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimatemember');
|
1429 |
+
|
1430 |
$output .= '<div class="um-field-area" style="text-align: center">';
|
1431 |
+
|
1432 |
if ( $this->field_value( $key, $default, $data ) ) {
|
1433 |
+
|
1434 |
$extension = pathinfo( $this->field_value( $key, $default, $data ), PATHINFO_EXTENSION);
|
1435 |
+
|
1436 |
$output .= '<div class="um-single-file-preview show" data-key="'.$key.'">
|
1437 |
<a href="#" class="cancel"><i class="um-icon-close"></i></a>
|
1438 |
<div class="um-single-fileinfo">
|
1442 |
</a>
|
1443 |
</div>
|
1444 |
</div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. __('Change file','ultimatemember') . '</a>';
|
1445 |
+
|
1446 |
} else {
|
1447 |
+
|
1448 |
$output .= '<div class="um-single-file-preview" data-key="'.$key.'">
|
1449 |
</div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. $button_text . '</a>';
|
1450 |
+
|
1451 |
}
|
1452 |
|
1453 |
$output .= '</div>';
|
1456 |
$output .= '<div class="um-modal-hidden-content">';
|
1457 |
|
1458 |
$output .= '<div class="um-modal-header"> ' . $modal_label . '</div>';
|
1459 |
+
|
1460 |
$output .= '<div class="um-modal-body">';
|
1461 |
+
|
1462 |
if ( isset( $this->set_id ) ) {
|
1463 |
$set_id = $this->set_id;
|
1464 |
$set_mode = $this->set_mode;
|
1466 |
$set_id = 0;
|
1467 |
$set_mode = '';
|
1468 |
}
|
1469 |
+
|
1470 |
$output .= '<div class="um-single-file-preview">
|
1471 |
<a href="#" class="cancel"><i class="um-icon-close"></i></a>
|
1472 |
<div class="um-single-fileinfo">
|
1477 |
</div>
|
1478 |
</div>';
|
1479 |
$output .= '<div class="um-single-file-upload" data-icon="'.$icon.'" data-set_id="'.$set_id.'" data-set_mode="'.$set_mode.'" data-type="'.$type.'" data-key="'.$key.'" data-max_size="'.$max_size.'" data-max_size_error="'.$max_size_error.'" data-min_size_error="'.$min_size_error.'" data-extension_error="'.$extension_error.'" data-allowed_types="'.$allowed_types.'" data-upload_text="'.$upload_text.'" data-max_files_error="'.$max_files_error.'" data-upload_help_text="'.$upload_help_text.'">'.$button_text.'</div>';
|
1480 |
+
|
1481 |
$output .= '<div class="um-modal-footer">
|
1482 |
<div class="um-modal-right">
|
1483 |
<a href="#" class="um-modal-btn um-finish-upload file disabled" data-key="'.$key.'" data-change="'.__('Change file').'" data-processing="'.__('Processing...','ultimatemember').'"> ' . __('Save','ultimatemember') . '</a>
|
1485 |
</div>
|
1486 |
<div class="um-clear"></div>
|
1487 |
</div>';
|
1488 |
+
|
1489 |
$output .= '</div>';
|
1490 |
+
|
1491 |
$output .= '</div>';
|
1492 |
+
|
1493 |
/* end */
|
1494 |
+
|
1495 |
if ( $this->is_error($key) ) {
|
1496 |
$output .= $this->field_error( $this->show_error($key) );
|
1497 |
}
|
1498 |
+
|
1499 |
$output .= '</div>';
|
1500 |
+
|
1501 |
break;
|
1502 |
+
|
1503 |
/* Select dropdown */
|
1504 |
case 'select':
|
1505 |
+
|
1506 |
$form_key = str_replace('role_select','role',$key);
|
1507 |
+
|
1508 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1509 |
|
1510 |
if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
|
1512 |
} else {
|
1513 |
$class = 'um-s1';
|
1514 |
}
|
1515 |
+
|
1516 |
if ( isset( $data['label'] ) ) {
|
1517 |
$output .= $this->field_label($label, $key, $data);
|
1518 |
}
|
1519 |
|
1520 |
$output .= '<div class="um-field-area">';
|
1521 |
+
|
1522 |
$output .= '<select name="'.$form_key.'" id="'.$form_key.'" data-validate="'.$validate.'" data-key="'.$key.'" class="'.$this->get_class($key, $data, $class).'" style="width: 100%" data-placeholder="'.$placeholder.'">';
|
1523 |
+
|
1524 |
if ( isset($options) && $options == 'builtin'){
|
1525 |
$options = $ultimatemember->builtin->get ( $filter );
|
1526 |
}
|
1527 |
+
|
1528 |
if (!isset($options)){
|
1529 |
$options = $ultimatemember->builtin->get ( 'countries' );
|
1530 |
}
|
1531 |
|
1532 |
+
if ( isset( $options ) ) {
|
1533 |
+
$options = apply_filters('um_select_dropdown_dynamic_options', $options, $data );
|
1534 |
+
$options = apply_filters("um_select_dropdown_dynamic_options_{$key}", $options );
|
1535 |
+
}
|
1536 |
|
|
|
1537 |
// role field
|
1538 |
if ( $form_key == 'role' ) {
|
1539 |
+
|
1540 |
global $wpdb;
|
1541 |
foreach($options as $key => $val ) {
|
1542 |
$val = (string) $val;
|
1546 |
$new_roles[$_role->post_name] = $_role->post_title;
|
1547 |
wp_reset_postdata();
|
1548 |
}
|
1549 |
+
|
1550 |
$options = $new_roles;
|
1551 |
}
|
1552 |
+
|
1553 |
+
|
1554 |
// add an empty option!
|
1555 |
$output .= '<option value=""></option>';
|
1556 |
|
1557 |
// add options
|
1558 |
foreach($options as $k => $v) {
|
1559 |
+
|
1560 |
$v = rtrim($v);
|
1561 |
+
|
1562 |
if ( !is_numeric( $k ) && in_array($form_key, array('role') ) ) {
|
1563 |
$option_value = $k;
|
1564 |
} else {
|
1565 |
$option_value = $v;
|
1566 |
}
|
1567 |
+
|
1568 |
if ( isset( $options_pair ) ) {
|
1569 |
$option_value = $k;
|
1570 |
}
|
1571 |
+
|
1572 |
$output .= '<option value="'.$option_value.'" ';
|
1573 |
+
if ( $this->is_selected($form_key, $option_value, $data) ) {
|
1574 |
$output.= 'selected';
|
1575 |
}
|
1576 |
$output .= '>'.$v.'</option>';
|
1577 |
+
|
1578 |
}
|
1579 |
+
|
1580 |
$output .= '</select>';
|
1581 |
+
|
1582 |
$output .= '</div>';
|
1583 |
+
|
1584 |
if ( $this->is_error($form_key) ) {
|
1585 |
$output .= $this->field_error( $this->show_error($form_key) );
|
1586 |
}
|
1587 |
+
|
1588 |
$output .= '</div>';
|
1589 |
break;
|
1590 |
+
|
1591 |
/* Multi-Select dropdown */
|
1592 |
case 'multiselect':
|
1593 |
+
|
1594 |
$max_selections = ( isset( $max_selections ) ) ? absint( $max_selections ) : 0;
|
1595 |
+
|
1596 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1597 |
|
1598 |
if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
|
1600 |
} else {
|
1601 |
$class = 'um-s1';
|
1602 |
}
|
1603 |
+
|
1604 |
if ( isset( $data['label'] ) ) {
|
1605 |
$output .= $this->field_label($label, $key, $data);
|
1606 |
}
|
1607 |
|
1608 |
$output .= '<div class="um-field-area">';
|
1609 |
+
|
1610 |
$output .= '<select multiple="multiple" name="'.$key.'[]" id="'.$key.'" data-maxsize="'. $max_selections . '" data-validate="'.$validate.'" data-key="'.$key.'" class="'.$this->get_class($key, $data, $class).'" style="width: 100%" data-placeholder="'.$placeholder.'">';
|
1611 |
+
|
1612 |
if ( isset($options) && $options == 'builtin'){
|
1613 |
$options = $ultimatemember->builtin->get ( $filter );
|
1614 |
}
|
1617 |
$options = $ultimatemember->builtin->get ( 'countries' );
|
1618 |
}
|
1619 |
|
1620 |
+
if ( isset( $options ) ) {
|
1621 |
+
$options = apply_filters('um_multiselect_options', $options, $data );
|
1622 |
+
$options = apply_filters("um_multiselect_options_{$key}", $options );
|
1623 |
+
$options = apply_filters("um_multiselect_options_{$data['type']}", $options, $data );
|
1624 |
+
}
|
1625 |
+
|
1626 |
// add an empty option!
|
1627 |
$output .= '<option value=""></option>';
|
1628 |
+
|
1629 |
// add options
|
1630 |
foreach($options as $k => $v) {
|
1631 |
+
|
1632 |
$v = rtrim($v);
|
1633 |
+
|
1634 |
$use_keyword = apply_filters('um_multiselect_option_value', 0, $data['type'] );
|
1635 |
+
|
1636 |
if ( $use_keyword ) {
|
1637 |
$opt_value = $k;
|
1638 |
} else {
|
1639 |
$opt_value = $v;
|
1640 |
}
|
1641 |
+
|
1642 |
$output .= '<option value="'.$opt_value.'" ';
|
1643 |
+
if ( $this->is_selected($key, $opt_value, $data) ) {
|
1644 |
$output.= 'selected';
|
1645 |
}
|
1646 |
$output .= '>'.$v.'</option>';
|
1647 |
+
|
1648 |
}
|
1649 |
+
|
1650 |
$output .= '</select>';
|
1651 |
+
|
1652 |
$output .= '</div>';
|
1653 |
+
|
1654 |
if ( $this->is_error($key) ) {
|
1655 |
$output .= $this->field_error( $this->show_error($key) );
|
1656 |
}
|
1657 |
+
|
1658 |
$output .= '</div>';
|
1659 |
break;
|
1660 |
+
|
1661 |
/* Radio */
|
1662 |
case 'radio':
|
1663 |
+
|
1664 |
$form_key = str_replace('role_radio','role',$key);
|
1665 |
+
|
1666 |
+
if ( isset( $options ) ) {
|
1667 |
+
$options = apply_filters('um_radio_field_options', $options, $data );
|
1668 |
+
$options = apply_filters("um_radio_field_options_{$key}", $options );
|
1669 |
+
}
|
1670 |
+
|
1671 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1672 |
+
|
1673 |
if ( isset( $data['label'] ) ) {
|
1674 |
$output .= $this->field_label($label, $key, $data);
|
1675 |
}
|
1676 |
+
|
1677 |
$output .= '<div class="um-field-area">';
|
1678 |
|
1679 |
// role field
|
1680 |
if ( $form_key == 'role' ) {
|
1681 |
+
|
1682 |
global $wpdb;
|
1683 |
foreach($options as $key => $val ) {
|
1684 |
$val = (string) $val;
|
1688 |
$new_roles[$_role->post_name] = $_role->post_title;
|
1689 |
wp_reset_postdata();
|
1690 |
}
|
1691 |
+
|
1692 |
$options = $new_roles;
|
1693 |
}
|
1694 |
+
|
1695 |
// add options
|
1696 |
$i = 0;
|
1697 |
|
1698 |
foreach($options as $k => $v) {
|
1699 |
+
|
1700 |
$v = rtrim($v);
|
1701 |
+
|
1702 |
if ( !is_numeric( $k ) && in_array($form_key, array('role') ) ) {
|
1703 |
$option_value = $k;
|
1704 |
} else {
|
1705 |
$option_value = $v;
|
1706 |
}
|
1707 |
+
|
1708 |
$i++;
|
1709 |
if ($i % 2 == 0 ) {
|
1710 |
$col_class = 'right';
|
1711 |
} else {
|
1712 |
$col_class = '';
|
1713 |
}
|
1714 |
+
|
1715 |
if ( $this->is_radio_checked($key, $option_value, $data) ) {
|
1716 |
$active = 'active';
|
1717 |
$class = "um-icon-android-radio-button-on";
|
1719 |
$active = '';
|
1720 |
$class = "um-icon-android-radio-button-off";
|
1721 |
}
|
1722 |
+
|
1723 |
$output .= '<label class="um-field-radio '.$active.' um-field-half '.$col_class.'">';
|
1724 |
$output .= '<input type="radio" name="'.$form_key.'" value="'.$option_value.'" ';
|
1725 |
+
|
1726 |
if ( $this->is_radio_checked($key, $option_value, $data) ) {
|
1727 |
$output.= 'checked';
|
1728 |
}
|
1731 |
$output .= '<span class="um-field-radio-state"><i class="'.$class.'"></i></span>';
|
1732 |
$output .= '<span class="um-field-radio-option">'.$v.'</span>';
|
1733 |
$output .= '</label>';
|
1734 |
+
|
1735 |
if ($i % 2 == 0) {
|
1736 |
$output .= '<div class="um-clear"></div>';
|
1737 |
}
|
1738 |
|
1739 |
}
|
1740 |
+
|
1741 |
$output .= '<div class="um-clear"></div>';
|
1742 |
+
|
1743 |
$output .= '</div>';
|
1744 |
+
|
1745 |
if ( $this->is_error($form_key) ) {
|
1746 |
$output .= $this->field_error( $this->show_error($form_key) );
|
1747 |
}
|
1748 |
+
|
1749 |
$output .= '</div>';
|
1750 |
break;
|
1751 |
+
|
1752 |
/* Checkbox */
|
1753 |
case 'checkbox':
|
1754 |
+
|
1755 |
+
if ( isset( $options ) ) {
|
1756 |
+
$options = apply_filters('um_checkbox_field_options', $options, $data );
|
1757 |
+
$options = apply_filters("um_checkbox_field_options_{$key}", $options );
|
1758 |
+
}
|
1759 |
+
|
1760 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
1761 |
+
|
1762 |
if ( isset( $data['label'] ) ) {
|
1763 |
$output .= $this->field_label($label, $key, $data);
|
1764 |
}
|
1765 |
+
|
1766 |
$output .= '<div class="um-field-area">';
|
1767 |
+
|
1768 |
// add options
|
1769 |
$i = 0;
|
1770 |
+
|
1771 |
foreach($options as $k => $v) {
|
1772 |
+
|
1773 |
$v = rtrim($v);
|
1774 |
+
|
1775 |
$i++;
|
1776 |
if ($i % 2 == 0 ) {
|
1777 |
$col_class = 'right';
|
1778 |
} else {
|
1779 |
$col_class = '';
|
1780 |
}
|
1781 |
+
|
1782 |
if ( $this->is_selected($key, $v, $data) ) {
|
1783 |
$active = 'active';
|
1784 |
$class = "um-icon-android-checkbox-outline";
|
1786 |
$active = '';
|
1787 |
$class = "um-icon-android-checkbox-outline-blank";
|
1788 |
}
|
1789 |
+
|
1790 |
$output .= '<label class="um-field-checkbox '.$active.' um-field-half '.$col_class.'">';
|
1791 |
$output .= '<input type="checkbox" name="'.$key.'[]" value="'.strip_tags( $v ).'" ';
|
1792 |
+
|
1793 |
+
if ( $this->is_selected($key, $v, $data) ) {
|
1794 |
$output.= 'checked';
|
1795 |
}
|
1796 |
+
|
1797 |
$output .= ' />';
|
1798 |
+
|
1799 |
$output .= '<span class="um-field-checkbox-state"><i class="'.$class.'"></i></span>';
|
1800 |
$output .= '<span class="um-field-checkbox-option">'. $v .'</span>';
|
1801 |
$output .= '</label>';
|
1802 |
+
|
1803 |
if ($i % 2 == 0) {
|
1804 |
$output .= '<div class="um-clear"></div>';
|
1805 |
}
|
1806 |
+
|
1807 |
}
|
1808 |
+
|
1809 |
$output .= '<div class="um-clear"></div>';
|
1810 |
+
|
1811 |
$output .= '</div>';
|
1812 |
+
|
1813 |
if ( $this->is_error($key) ) {
|
1814 |
$output .= $this->field_error( $this->show_error($key) );
|
1815 |
}
|
1816 |
+
|
1817 |
$output .= '</div>';
|
1818 |
break;
|
1819 |
+
|
1820 |
/* HTML */
|
1821 |
case 'block':
|
1822 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
|
1823 |
<div class="um-field-block">'.$content.'</div>
|
1824 |
</div>';
|
1825 |
break;
|
1826 |
+
|
1827 |
/* Shortcode */
|
1828 |
case 'shortcode':
|
1829 |
+
|
1830 |
$content = str_replace('{profile_id}', um_profile_id(), $content );
|
1831 |
+
|
1832 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
|
1833 |
<div class="um-field-shortcode">' . do_shortcode($content) . '</div>
|
1834 |
</div>';
|
1835 |
break;
|
1836 |
+
|
1837 |
/* Unlimited Group */
|
1838 |
case 'group':
|
1839 |
+
|
1840 |
$fields = $this->get_fields_in_group( $key );
|
1841 |
if ( !empty( $fields ) ) {
|
1842 |
+
|
1843 |
$output .= '<div class="um-field-group" data-max_entries="'.$max_entries.'">
|
1844 |
<div class="um-field-group-head"><i class="um-icon-plus"></i>'.$label.'</div>';
|
1845 |
$output .= '<div class="um-field-group-body"><a href="#" class="um-field-group-cancel"><i class="um-icon-close"></i></a>';
|
1846 |
+
|
1847 |
foreach($fields as $subkey => $subdata) {
|
1848 |
$output .= $this->edit_field( $subkey, $subdata, 'group' );
|
1849 |
}
|
1850 |
+
|
1851 |
$output .= '</div>';
|
1852 |
$output .= '</div>';
|
1853 |
+
|
1854 |
}
|
1855 |
+
|
1856 |
break;
|
1857 |
+
|
1858 |
}
|
1859 |
+
|
1860 |
// Custom filter for field output
|
1861 |
if ( isset( $this->set_mode ) ) {
|
1862 |
$output = apply_filters("um_{$key}_form_edit_field", $output, $this->set_mode);
|
1863 |
}
|
1864 |
+
|
1865 |
return $output;
|
1866 |
}
|
1867 |
+
|
1868 |
/***
|
1869 |
*** @sort array function
|
1870 |
***/
|
1879 |
array_multisort($sort_col, $dir, $arr);
|
1880 |
return $arr;
|
1881 |
}
|
1882 |
+
|
1883 |
/***
|
1884 |
*** @get fields in row
|
1885 |
***/
|
1891 |
}
|
1892 |
return ( isset ( $results ) ) ? $results : '';
|
1893 |
}
|
1894 |
+
|
1895 |
/***
|
1896 |
*** @get fields by sub row
|
1897 |
***/
|
1904 |
}
|
1905 |
return ( isset ( $results ) ) ? $results : '';
|
1906 |
}
|
1907 |
+
|
1908 |
/***
|
1909 |
*** @get fields in group
|
1910 |
***/
|
1916 |
}
|
1917 |
return ( isset ( $results ) ) ? $results : '';
|
1918 |
}
|
1919 |
+
|
1920 |
/***
|
1921 |
*** @get fields in column
|
1922 |
***/
|
1928 |
}
|
1929 |
return ( isset ( $results ) ) ? $results : '';
|
1930 |
}
|
1931 |
+
|
1932 |
/***
|
1933 |
*** @display fields
|
1934 |
***/
|
1935 |
function display( $mode, $args ) {
|
1936 |
global $ultimatemember;
|
1937 |
$output = null;
|
1938 |
+
|
1939 |
$this->global_args = $args;
|
1940 |
+
|
1941 |
$ultimatemember->form->form_suffix = '-' . $this->global_args['form_id'];
|
1942 |
+
|
1943 |
$this->set_mode = $mode;
|
1944 |
$this->set_id = $this->global_args['form_id'];
|
1945 |
+
|
1946 |
$this->field_icons = ( isset( $this->global_args['icons'] ) ) ? $this->global_args['icons'] : 'label';
|
1947 |
+
|
1948 |
// start output here
|
1949 |
$this->get_fields = $this->get_fields();
|
1950 |
|
1951 |
if ( !empty( $this->get_fields ) ) {
|
1952 |
+
|
1953 |
// find rows
|
1954 |
foreach( $this->get_fields as $key => $array ) {
|
1955 |
if ( $array['type'] == 'row' ) {
|
1957 |
unset( $this->get_fields[ $key ] ); // not needed anymore
|
1958 |
}
|
1959 |
}
|
1960 |
+
|
1961 |
// rows fallback
|
1962 |
if ( !isset( $this->rows ) ){
|
1963 |
$this->rows = array( '_um_row_1' => array(
|
1964 |
+
'type' => 'row',
|
1965 |
'id' => '_um_row_1',
|
1966 |
'sub_rows' => 1,
|
1967 |
'cols' => 1
|
1968 |
)
|
1969 |
);
|
1970 |
}
|
1971 |
+
|
1972 |
// master rows
|
1973 |
foreach ( $this->rows as $row_id => $row_array ) {
|
1974 |
+
|
1975 |
$row_fields = $this->get_fields_by_row( $row_id );
|
1976 |
if ( $row_fields ) {
|
1977 |
+
|
1978 |
$output .= $this->new_row_output( $row_id, $row_array );
|
1979 |
+
|
1980 |
$sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
|
1981 |
for( $c = 0; $c < $sub_rows; $c++ ) {
|
1982 |
|
1992 |
// sub row fields
|
1993 |
$subrow_fields = null;
|
1994 |
$subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
|
1995 |
+
|
1996 |
if ( is_array( $subrow_fields ) ) {
|
1997 |
+
|
1998 |
$subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position');
|
1999 |
|
2000 |
if ( $cols_num == 1 ) {
|
2001 |
+
|
2002 |
$output .= '<div class="um-col-1">';
|
2003 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
2004 |
if ( $col1_fields ) {
|
2005 |
foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
2006 |
}
|
2007 |
$output .= '</div>';
|
2008 |
+
|
2009 |
} else if ( $cols_num == 2 ) {
|
2010 |
+
|
2011 |
$output .= '<div class="um-col-121">';
|
2012 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
2013 |
if ( $col1_fields ) {
|
2014 |
foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
2015 |
}
|
2016 |
$output .= '</div>';
|
2017 |
+
|
2018 |
$output .= '<div class="um-col-122">';
|
2019 |
$col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
|
2020 |
if ( $col2_fields ) {
|
2021 |
foreach( $col2_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
2022 |
}
|
2023 |
$output .= '</div><div class="um-clear"></div>';
|
2024 |
+
|
2025 |
} else {
|
2026 |
+
|
2027 |
$output .= '<div class="um-col-131">';
|
2028 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
2029 |
if ( $col1_fields ) {
|
2030 |
foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
2031 |
}
|
2032 |
$output .= '</div>';
|
2033 |
+
|
2034 |
$output .= '<div class="um-col-132">';
|
2035 |
$col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
|
2036 |
if ( $col2_fields ) {
|
2037 |
foreach( $col2_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
2038 |
}
|
2039 |
$output .= '</div>';
|
2040 |
+
|
2041 |
$output .= '<div class="um-col-133">';
|
2042 |
$col3_fields = $this->get_fields_in_column( $subrow_fields, 3 );
|
2043 |
if ( $col3_fields ) {
|
2044 |
foreach( $col3_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
|
2045 |
}
|
2046 |
$output .= '</div><div class="um-clear"></div>';
|
2047 |
+
|
2048 |
}
|
2049 |
+
|
2050 |
}
|
2051 |
+
|
2052 |
}
|
2053 |
+
|
2054 |
$output .= '</div>';
|
2055 |
+
|
2056 |
}
|
2057 |
+
|
2058 |
}
|
2059 |
|
2060 |
}
|
2061 |
+
|
2062 |
return $output;
|
2063 |
}
|
2064 |
+
|
2065 |
/***
|
2066 |
*** @a field in view mode
|
2067 |
***/
|
2068 |
function view_field( $key, $data, $rule=false ) {
|
2069 |
global $ultimatemember;
|
2070 |
+
|
2071 |
$output = null;
|
2072 |
+
|
2073 |
// get whole field data
|
2074 |
if (is_array($data)) {
|
2075 |
$data = $this->get_field($key);
|
2076 |
extract($data);
|
2077 |
}
|
2078 |
+
|
2079 |
if ( !isset( $data['type'] ) ) return;
|
2080 |
+
|
2081 |
if ( isset( $data['in_group'] ) && $data['in_group'] != '' && $rule != 'group' ) return;
|
2082 |
|
2083 |
if ( $visibility == 'edit' ) return;
|
2084 |
+
|
2085 |
if ( in_array( $type, array('block','shortcode','spacing','divider','group') ) ) {
|
2086 |
|
2087 |
} else {
|
2088 |
if ( ! $this->field_value( $key, $default, $data ) ) return;
|
2089 |
}
|
2090 |
+
|
2091 |
if ( !um_can_view_field( $data ) ) return;
|
2092 |
+
|
2093 |
// disable these fields in profile view only
|
2094 |
if ( in_array( $key, array('user_password') ) && $this->set_mode == 'profile' ) {
|
2095 |
return;
|
2096 |
}
|
2097 |
+
|
2098 |
if ( !um_field_conditions_are_met( $data ) ) return;
|
2099 |
+
|
2100 |
switch( $type ) {
|
2101 |
|
2102 |
/* Default */
|
2103 |
default:
|
2104 |
+
|
2105 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
2106 |
+
|
2107 |
if ( isset( $data['label'] ) ) {
|
2108 |
$output .= $this->field_label($label, $key, $data);
|
2109 |
}
|
2110 |
+
|
2111 |
$res = stripslashes( $this->field_value( $key, $default, $data ) );
|
2112 |
|
2113 |
$output .= '<div class="um-field-area">';
|
2114 |
$output .= '<div class="um-field-value">' . $res . '</div>';
|
2115 |
$output .= '</div>';
|
2116 |
+
|
2117 |
$output .= '</div>';
|
2118 |
+
|
2119 |
break;
|
2120 |
+
|
2121 |
/* HTML */
|
2122 |
case 'block':
|
2123 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
|
2124 |
<div class="um-field-block">'.$content.'</div>
|
2125 |
</div>';
|
2126 |
break;
|
2127 |
+
|
2128 |
/* Shortcode */
|
2129 |
case 'shortcode':
|
2130 |
+
|
2131 |
$content = str_replace('{profile_id}', um_profile_id(), $content );
|
2132 |
+
|
2133 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
|
2134 |
<div class="um-field-shortcode">' . do_shortcode($content) . '</div>
|
2135 |
</div>';
|
2136 |
break;
|
2137 |
+
|
2138 |
/* Gap/Space */
|
2139 |
case 'spacing':
|
2140 |
$output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: '.$spacing.'"></div>';
|
2141 |
break;
|
2142 |
+
|
2143 |
/* A line divider */
|
2144 |
case 'divider':
|
2145 |
$output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
|
2148 |
}
|
2149 |
$output .= '</div>';
|
2150 |
break;
|
2151 |
+
|
2152 |
/* Rating */
|
2153 |
case 'rating':
|
2154 |
+
|
2155 |
$output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
|
2156 |
+
|
2157 |
if ( isset( $data['label'] ) ) {
|
2158 |
$output .= $this->field_label($label, $key, $data);
|
2159 |
}
|
2163 |
<div class="um-rating-readonly um-raty" id="'.$key.'" data-key="'.$key.'" data-number="'.$data['number'].'" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>
|
2164 |
</div>';
|
2165 |
$output .= '</div>';
|
2166 |
+
|
2167 |
$output .= '</div>';
|
2168 |
+
|
2169 |
break;
|
2170 |
+
|
2171 |
}
|
2172 |
+
|
2173 |
// Custom filter for field output
|
2174 |
if ( isset( $this->set_mode ) ) {
|
2175 |
$output = apply_filters("um_{$key}_form_show_field", $output, $this->set_mode);
|
2176 |
}
|
2177 |
+
|
2178 |
return $output;
|
2179 |
}
|
2180 |
+
|
2181 |
/***
|
2182 |
*** @display fields (view mode)
|
2183 |
***/
|
2184 |
function display_view( $mode, $args ) {
|
2185 |
global $ultimatemember;
|
2186 |
$output = null;
|
2187 |
+
|
2188 |
$this->global_args = $args;
|
2189 |
+
|
2190 |
$ultimatemember->form->form_suffix = '-' . $this->global_args['form_id'];
|
2191 |
+
|
2192 |
$this->set_mode = $mode;
|
2193 |
$this->set_id = $this->global_args['form_id'];
|
2194 |
+
|
2195 |
$this->field_icons = ( isset( $this->global_args['icons'] ) ) ? $this->global_args['icons'] : 'label';
|
2196 |
+
|
2197 |
// start output here
|
2198 |
$this->get_fields = $this->get_fields();
|
2199 |
|
2200 |
if ( um_get_option('profile_empty_text') ) {
|
2201 |
+
|
2202 |
$emo = um_get_option('profile_empty_text_emo');
|
2203 |
if ( $emo ) {
|
2204 |
$emo = '<i class="um-faicon-frown-o"></i>';
|
2205 |
} else {
|
2206 |
$emo = false;
|
2207 |
}
|
2208 |
+
|
2209 |
if ( um_is_myprofile() ) {
|
2210 |
$output .= '<p class="um-profile-note">' . $emo .'<span>' . sprintf(__('Your profile is looking a little empty. Why not <a href="%s">add</a> some information!','ultimatemember'), um_edit_profile_url() ) . '</span></p>';
|
2211 |
} else {
|
2212 |
$output .= '<p class="um-profile-note">'. $emo . '<span>' . __('This user has not added any information to their profile yet.','ultimatemember') . '</span></p>';
|
2213 |
}
|
2214 |
}
|
2215 |
+
|
2216 |
if ( !empty( $this->get_fields ) ) {
|
2217 |
+
|
2218 |
// find rows
|
2219 |
foreach( $this->get_fields as $key => $array ) {
|
2220 |
if ( $array['type'] == 'row' ) {
|
2222 |
unset( $this->get_fields[ $key ] ); // not needed anymore
|
2223 |
}
|
2224 |
}
|
2225 |
+
|
2226 |
// rows fallback
|
2227 |
if ( !isset( $this->rows ) ){
|
2228 |
$this->rows = array( '_um_row_1' => array(
|
2229 |
+
'type' => 'row',
|
2230 |
'id' => '_um_row_1',
|
2231 |
'sub_rows' => 1,
|
2232 |
'cols' => 1
|
2233 |
)
|
2234 |
);
|
2235 |
}
|
2236 |
+
|
2237 |
// master rows
|
2238 |
foreach ( $this->rows as $row_id => $row_array ) {
|
2239 |
+
|
2240 |
$row_fields = $this->get_fields_by_row( $row_id );
|
2241 |
if ( $row_fields ) {
|
2242 |
+
|
2243 |
$output .= $this->new_row_output( $row_id, $row_array );
|
2244 |
|
2245 |
$sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
|
2257 |
// sub row fields
|
2258 |
$subrow_fields = null;
|
2259 |
$subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
|
2260 |
+
|
2261 |
if ( is_array( $subrow_fields ) ) {
|
2262 |
+
|
2263 |
$subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position');
|
2264 |
|
2265 |
if ( $cols_num == 1 ) {
|
2266 |
+
|
2267 |
$output .= '<div class="um-col-1">';
|
2268 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
2269 |
if ( $col1_fields ) {
|
2270 |
foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2271 |
}
|
2272 |
$output .= '</div>';
|
2273 |
+
|
2274 |
} else if ( $cols_num == 2 ) {
|
2275 |
+
|
2276 |
$output .= '<div class="um-col-121">';
|
2277 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
2278 |
if ( $col1_fields ) {
|
2279 |
foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2280 |
}
|
2281 |
$output .= '</div>';
|
2282 |
+
|
2283 |
$output .= '<div class="um-col-122">';
|
2284 |
$col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
|
2285 |
if ( $col2_fields ) {
|
2286 |
foreach( $col2_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2287 |
}
|
2288 |
$output .= '</div><div class="um-clear"></div>';
|
2289 |
+
|
2290 |
} else {
|
2291 |
+
|
2292 |
$output .= '<div class="um-col-131">';
|
2293 |
$col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
|
2294 |
if ( $col1_fields ) {
|
2295 |
foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2296 |
}
|
2297 |
$output .= '</div>';
|
2298 |
+
|
2299 |
$output .= '<div class="um-col-132">';
|
2300 |
$col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
|
2301 |
if ( $col2_fields ) {
|
2302 |
foreach( $col2_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2303 |
}
|
2304 |
$output .= '</div>';
|
2305 |
+
|
2306 |
$output .= '<div class="um-col-133">';
|
2307 |
$col3_fields = $this->get_fields_in_column( $subrow_fields, 3 );
|
2308 |
if ( $col3_fields ) {
|
2309 |
foreach( $col3_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
|
2310 |
}
|
2311 |
$output .= '</div><div class="um-clear"></div>';
|
2312 |
+
|
2313 |
}
|
2314 |
+
|
2315 |
}
|
2316 |
+
|
2317 |
}
|
2318 |
+
|
2319 |
$output .= '</div>';
|
2320 |
+
|
2321 |
}
|
2322 |
+
|
2323 |
}
|
2324 |
|
2325 |
}
|
2326 |
+
|
2327 |
return $output;
|
2328 |
}
|
2329 |
+
|
2330 |
/***
|
2331 |
*** @begin new row in form
|
2332 |
***/
|
2333 |
function new_row_output( $row_id, $row_array ) {
|
2334 |
$output = null;
|
2335 |
extract($row_array);
|
2336 |
+
|
2337 |
$padding = (isset($padding))?$padding:'';
|
2338 |
$margin = (isset($margin))?$margin:'';
|
2339 |
$background = (isset($background))?$background:'';
|
2343 |
$borderstyle = (isset($borderstyle))?$borderstyle:'';
|
2344 |
$heading = (isset($heading))?$heading:'';
|
2345 |
$css_class = (isset($css_class))?$css_class:'';
|
2346 |
+
|
2347 |
$css_padding = '';
|
2348 |
$css_margin = '';
|
2349 |
$css_background = '';
|
2355 |
$css_heading_padding = '';
|
2356 |
$css_heading_text_color = '';
|
2357 |
$css_heading_borderradius = '';
|
2358 |
+
|
2359 |
// row css rules
|
2360 |
if ( $padding ) $css_padding = 'padding: ' . $padding .';';
|
2361 |
if ( $margin ) {
|
2363 |
} else {
|
2364 |
$css_margin = 'margin: 0 0 30px 0;';
|
2365 |
}
|
2366 |
+
|
2367 |
if ( $background ) $css_background = 'background-color: ' . $background .';';
|
2368 |
if ( $borderradius ) $css_borderradius = 'border-radius: 0px 0px ' . $borderradius . ' ' . $borderradius . ';';
|
2369 |
if ( $border ) $css_border = 'border-width: ' . $border . ';';
|
2370 |
if ( $bordercolor ) $css_bordercolor = 'border-color: ' . $bordercolor . ';';
|
2371 |
if ( $borderstyle ) $css_borderstyle = 'border-style: ' . $borderstyle . ';';
|
2372 |
+
|
2373 |
// show the heading
|
2374 |
if ( $heading ) {
|
2375 |
|
2376 |
$heading_background_color = (isset($heading_background_color))?$heading_background_color:'';
|
2377 |
$heading_text_color = (isset($heading_text_color))?$heading_text_color:'';
|
2378 |
+
|
2379 |
if ( $heading_background_color ) {
|
2380 |
$css_heading_background_color = 'background-color: ' . $heading_background_color .';';
|
2381 |
$css_heading_padding = 'padding: 10px 15px;';
|
2383 |
|
2384 |
if ( $heading_text_color ) $css_heading_text_color = 'color: ' . $heading_text_color .';';
|
2385 |
if ( $borderradius ) $css_heading_borderradius = 'border-radius: ' . $borderradius . ' ' . $borderradius . ' 0px 0px;';
|
2386 |
+
|
2387 |
$output .= '<div class="um-row-heading" style="' . $css_heading_background_color . $css_heading_padding . $css_heading_text_color . $css_heading_borderradius . '">';
|
2388 |
if ( isset($icon) ) $output .= '<span class="um-row-heading-icon"><i class="' . $icon . '"></i></span>';
|
2389 |
$output .= $heading_text .'</div>';
|
2390 |
+
|
2391 |
} else {
|
2392 |
+
|
2393 |
// no heading
|
2394 |
if ( $borderradius ) $css_borderradius = 'border-radius: ' . $borderradius . ';';
|
2395 |
+
|
2396 |
}
|
2397 |
|
2398 |
$output .= '<div class="um-row ' . $row_id . ' ' . $css_class . '" style="'. $css_padding . $css_background . $css_margin . $css_border . $css_borderstyle . $css_bordercolor . $css_borderradius . '">';
|
2399 |
+
|
2400 |
return $output;
|
2401 |
}
|
2402 |
|
2403 |
+
}
|
core/um-filters-members.php
CHANGED
@@ -62,39 +62,41 @@
|
|
62 |
|
63 |
$query = $ultimatemember->permalinks->get_query_array();
|
64 |
|
65 |
-
|
|
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
-
|
88 |
-
$query_args['meta_query'][] = array(
|
89 |
-
'key' => $field,
|
90 |
-
'value' => $value,
|
91 |
-
'compare' => $operator,
|
92 |
-
);
|
93 |
-
|
94 |
}
|
95 |
-
|
96 |
}
|
97 |
-
|
98 |
}
|
99 |
|
100 |
}
|
@@ -141,6 +143,14 @@
|
|
141 |
);
|
142 |
}
|
143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
// add roles to appear in directory
|
145 |
if ( !empty( $roles ) ) {
|
146 |
|
@@ -160,7 +170,7 @@
|
|
160 |
if ( $sortby == 'other' && $sortby_custom ) {
|
161 |
|
162 |
$query_args['meta_key'] = $sortby_custom;
|
163 |
-
$query_args['orderby'] = 'meta_value';
|
164 |
|
165 |
} else if ( in_array( $sortby, array( 'last_name', 'first_name' ) ) ) {
|
166 |
|
62 |
|
63 |
$query = $ultimatemember->permalinks->get_query_array();
|
64 |
|
65 |
+
if ( $query && is_array( $query ) ) {
|
66 |
+
foreach( $query as $field => $value ) {
|
67 |
|
68 |
+
if(in_array($field, array('members_page'))) continue;
|
69 |
+
|
70 |
+
if ( in_array( $field, array('gender') ) ) {
|
71 |
+
$operator = '=';
|
72 |
+
} else {
|
73 |
+
$operator = 'LIKE';
|
74 |
+
}
|
75 |
|
76 |
+
if ( in_array( $ultimatemember->fields->get_field_type( $field ), array('checkbox','multiselect') ) ) {
|
77 |
+
$operator = 'LIKE';
|
78 |
+
}
|
79 |
|
80 |
+
if ( $value && $field != 'um_search' && $field != 'page_id' ) {
|
81 |
+
|
82 |
+
if ( !in_array( $field, $ultimatemember->members->core_search_fields ) ) {
|
83 |
+
|
84 |
+
if ( strstr($field, 'role_' ) ) {
|
85 |
+
$field = 'role';
|
86 |
+
$operator = '=';
|
87 |
+
}
|
88 |
+
|
89 |
+
$query_args['meta_query'][] = array(
|
90 |
+
'key' => $field,
|
91 |
+
'value' => $value,
|
92 |
+
'compare' => $operator,
|
93 |
+
);
|
94 |
+
|
95 |
}
|
96 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
}
|
98 |
+
|
99 |
}
|
|
|
100 |
}
|
101 |
|
102 |
}
|
143 |
);
|
144 |
}
|
145 |
|
146 |
+
// show specific usernames
|
147 |
+
if ( isset( $show_these_users ) && $show_these_users && is_array( $show_these_users ) ) {
|
148 |
+
foreach( $show_these_users as $username ) {
|
149 |
+
$users_array[] = username_exists( $username );
|
150 |
+
}
|
151 |
+
$query_args['include'] = $users_array;
|
152 |
+
}
|
153 |
+
|
154 |
// add roles to appear in directory
|
155 |
if ( !empty( $roles ) ) {
|
156 |
|
170 |
if ( $sortby == 'other' && $sortby_custom ) {
|
171 |
|
172 |
$query_args['meta_key'] = $sortby_custom;
|
173 |
+
$query_args['orderby'] = 'meta_value, display_name';
|
174 |
|
175 |
} else if ( in_array( $sortby, array( 'last_name', 'first_name' ) ) ) {
|
176 |
|
core/um-filters-profile.php
CHANGED
@@ -17,7 +17,7 @@
|
|
17 |
/***
|
18 |
*** @dynamic profile page title
|
19 |
***/
|
20 |
-
add_filter('
|
21 |
function um_dynamic_user_profile_pagetitle( $title, $sep = '' ) {
|
22 |
global $paged, $page, $ultimatemember;
|
23 |
|
17 |
/***
|
18 |
*** @dynamic profile page title
|
19 |
***/
|
20 |
+
add_filter('pre_get_document_title', 'um_dynamic_user_profile_pagetitle', 100000, 2 );
|
21 |
function um_dynamic_user_profile_pagetitle( $title, $sep = '' ) {
|
22 |
global $paged, $page, $ultimatemember;
|
23 |
|
core/um-filters-user.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
$actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail','ultimatemember') );
|
15 |
$actions['um_deactivate'] = array( 'label' => __('Deactivate','ultimatemember') );
|
16 |
$actions['um_reenable'] = array( 'label' => __('Reactivate','ultimatemember') );
|
17 |
-
|
18 |
|
19 |
return $actions;
|
20 |
}
|
14 |
$actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail','ultimatemember') );
|
15 |
$actions['um_deactivate'] = array( 'label' => __('Deactivate','ultimatemember') );
|
16 |
$actions['um_reenable'] = array( 'label' => __('Reactivate','ultimatemember') );
|
17 |
+
//$actions['um_delete'] = array( 'label' => __('Delete','ultimatemember') );
|
18 |
|
19 |
return $actions;
|
20 |
}
|
core/um-form.php
CHANGED
@@ -43,7 +43,11 @@ class UM_Form {
|
|
43 |
***/
|
44 |
function field_declare(){
|
45 |
global $ultimatemember;
|
46 |
-
|
|
|
|
|
|
|
|
|
47 |
}
|
48 |
|
49 |
/***
|
43 |
***/
|
44 |
function field_declare(){
|
45 |
global $ultimatemember;
|
46 |
+
if ( isset( $ultimatemember->builtin->custom_fields ) ) {
|
47 |
+
$this->all_fields = $ultimatemember->builtin->custom_fields;
|
48 |
+
} else {
|
49 |
+
$this->all_fields = null;
|
50 |
+
}
|
51 |
}
|
52 |
|
53 |
/***
|
core/um-permalinks.php
CHANGED
@@ -82,7 +82,7 @@ class UM_Permalinks {
|
|
82 |
|
83 |
if ( um_user('account_status') != 'awaiting_email_confirmation' ) wp_die('The activation link you used is invalid or has expired.');
|
84 |
|
85 |
-
if (
|
86 |
|
87 |
$ultimatemember->user->approve();
|
88 |
$redirect = ( um_user('url_email_activate') ) ? um_user('url_email_activate') : um_get_core_page('login', 'account_active');
|
82 |
|
83 |
if ( um_user('account_status') != 'awaiting_email_confirmation' ) wp_die('The activation link you used is invalid or has expired.');
|
84 |
|
85 |
+
if ( strtolower($_REQUEST['hash']) !== strtolower( um_user('account_secret_hash') ) ) wp_die('The secret key provided does not match this one for the user.');
|
86 |
|
87 |
$ultimatemember->user->approve();
|
88 |
$redirect = ( um_user('url_email_activate') ) ? um_user('url_email_activate') : um_get_core_page('login', 'account_active');
|
core/um-setup.php
CHANGED
@@ -5,11 +5,11 @@ class UM_Setup {
|
|
5 |
function __construct() {
|
6 |
|
7 |
add_action('init', array(&$this, 'install_basics'), 9);
|
8 |
-
|
9 |
add_action('init', array(&$this, 'install_default_forms'), 9);
|
10 |
-
|
11 |
add_action('init', array(&$this, 'install_default_roles'), 9);
|
12 |
-
|
13 |
add_action('init', array(&$this, 'install_posts_roles'), 9);
|
14 |
|
15 |
$this->core_forms = array(
|
@@ -17,7 +17,7 @@ class UM_Setup {
|
|
17 |
'login',
|
18 |
'profile',
|
19 |
);
|
20 |
-
|
21 |
$this->core_directories = array(
|
22 |
'members',
|
23 |
);
|
@@ -53,7 +53,7 @@ class UM_Setup {
|
|
53 |
'_um_profiles_per_page_mobile' => 6,
|
54 |
'_um_core' => 'members',
|
55 |
);
|
56 |
-
|
57 |
$this->core_global_meta_all = array(
|
58 |
'_um_primary_btn_color',
|
59 |
'_um_primary_btn_hover',
|
@@ -74,7 +74,7 @@ class UM_Setup {
|
|
74 |
'_um_help_tip_color',
|
75 |
'_um_secondary_color',
|
76 |
);
|
77 |
-
|
78 |
$this->core_form_meta_all = array(
|
79 |
'_um_help_tip_color' => '#ccc',
|
80 |
'_um_active_color' => '#3ba1da',
|
@@ -97,6 +97,7 @@ class UM_Setup {
|
|
97 |
'_um_profile_show_name' => 1,
|
98 |
'_um_profile_show_social_links' => 0,
|
99 |
'_um_profile_show_bio' => 1,
|
|
|
100 |
'_um_profile_bio_maxchars' => 180,
|
101 |
'_um_profile_header_menu' => 'bc',
|
102 |
'_um_profile_empty_text' => 1,
|
@@ -162,9 +163,9 @@ class UM_Setup {
|
|
162 |
'_um_directory_header' => __('{total_users} Members','ultimatemember'),
|
163 |
'_um_directory_header_single' => __('{total_users} Member','ultimatemember'),
|
164 |
);
|
165 |
-
|
166 |
$this->core_form_meta_all = apply_filters('um_core_form_meta_all', $this->core_form_meta_all );
|
167 |
-
|
168 |
$this->core_form_meta['register'] = array(
|
169 |
'_um_custom_fields' => 'a:6:{s:10:"user_login";a:15:{s:5:"title";s:8:"Username";s:7:"metakey";s:10:"user_login";s:4:"type";s:4:"text";s:5:"label";s:8:"Username";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";i:0;s:8:"validate";s:15:"unique_username";s:9:"min_chars";i:3;s:9:"max_chars";i:24;s:8:"position";s:1:"1";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:10:"user_email";a:13:{s:5:"title";s:14:"E-mail Address";s:7:"metakey";s:10:"user_email";s:4:"type";s:4:"text";s:5:"label";s:14:"E-mail Address";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"validate";s:12:"unique_email";s:8:"position";s:1:"4";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:13:"user_password";a:16:{s:5:"title";s:8:"Password";s:7:"metakey";s:13:"user_password";s:4:"type";s:8:"password";s:5:"label";s:8:"Password";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";i:1;s:9:"min_chars";i:8;s:9:"max_chars";i:30;s:15:"force_good_pass";i:1;s:18:"force_confirm_pass";i:1;s:8:"position";s:1:"5";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:10:"first_name";a:12:{s:5:"title";s:10:"First Name";s:7:"metakey";s:10:"first_name";s:4:"type";s:4:"text";s:5:"label";s:10:"First Name";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"position";s:1:"2";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"last_name";a:12:{s:5:"title";s:9:"Last Name";s:7:"metakey";s:9:"last_name";s:4:"type";s:4:"text";s:5:"label";s:9:"Last Name";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"position";s:1:"3";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"_um_row_1";a:4:{s:4:"type";s:3:"row";s:2:"id";s:9:"_um_row_1";s:8:"sub_rows";s:1:"1";s:4:"cols";s:1:"1";}}',
|
170 |
'_um_mode' => 'register',
|
@@ -204,7 +205,7 @@ class UM_Setup {
|
|
204 |
'after_login' => 'redirect_admin',
|
205 |
'after_logout' => 'redirect_home',
|
206 |
);
|
207 |
-
|
208 |
// non-admin permissions
|
209 |
$this->nonadmin_perms = array(
|
210 |
'core' => 'member',
|
@@ -216,9 +217,9 @@ class UM_Setup {
|
|
216 |
'can_access_private_profile' => 0,
|
217 |
'after_login' => 'redirect_profile',
|
218 |
);
|
219 |
-
|
220 |
}
|
221 |
-
|
222 |
/***
|
223 |
*** @Get default permissions
|
224 |
***/
|
@@ -232,7 +233,7 @@ class UM_Setup {
|
|
232 |
return $perms;
|
233 |
}
|
234 |
}
|
235 |
-
|
236 |
/***
|
237 |
*** @Basics
|
238 |
***/
|
@@ -240,7 +241,7 @@ class UM_Setup {
|
|
240 |
if ( !get_option('__ultimatemember_sitekey') )
|
241 |
update_option('__ultimatemember_sitekey', str_replace( array('http://','https://'), '', sanitize_user( get_bloginfo('url') ) ) . '-' . wp_generate_password( 20, false ) );
|
242 |
}
|
243 |
-
|
244 |
/***
|
245 |
*** @Default Forms
|
246 |
***/
|
@@ -248,19 +249,19 @@ class UM_Setup {
|
|
248 |
global $wpdb, $ultimatemember;
|
249 |
|
250 |
if ( current_user_can('manage_options') && um_user('ID') && !get_option('um_is_installed') ) {
|
251 |
-
|
252 |
update_option('um_is_installed', 1);
|
253 |
-
|
254 |
// Install Core Forms
|
255 |
foreach($this->core_forms as $id ) {
|
256 |
-
|
257 |
/**
|
258 |
If page does not exist
|
259 |
Create it
|
260 |
**/
|
261 |
$page_exists = $ultimatemember->query->find_post_id('um_form','_um_core', $id);
|
262 |
if ( !$page_exists ) {
|
263 |
-
|
264 |
if ( $id == 'register' ) {
|
265 |
$title = 'Default Registration';
|
266 |
} else if ( $id == 'login' ) {
|
@@ -268,16 +269,16 @@ class UM_Setup {
|
|
268 |
} else {
|
269 |
$title = 'Default Profile';
|
270 |
}
|
271 |
-
|
272 |
$form = array(
|
273 |
'post_type' => 'um_form',
|
274 |
'post_title' => $title,
|
275 |
'post_status' => 'publish',
|
276 |
'post_author' => um_user('ID'),
|
277 |
);
|
278 |
-
|
279 |
$form_id = wp_insert_post( $form );
|
280 |
-
|
281 |
foreach( $this->core_form_meta[$id] as $key => $value ) {
|
282 |
if ( $key == '_um_custom_fields' ) {
|
283 |
$array = unserialize( $value );
|
@@ -286,38 +287,38 @@ class UM_Setup {
|
|
286 |
update_post_meta($form_id, $key, $value);
|
287 |
}
|
288 |
}
|
289 |
-
|
290 |
$this->setup_shortcode[$id] = '[ultimatemember form_id='.$form_id.']';
|
291 |
|
292 |
$core_forms[ $form_id ] = $form_id;
|
293 |
-
|
294 |
}
|
295 |
/** DONE **/
|
296 |
-
|
297 |
}
|
298 |
if ( isset( $core_forms ) ) update_option('um_core_forms', $core_forms);
|
299 |
-
|
300 |
// Install Core Directories
|
301 |
foreach($this->core_directories as $id ) {
|
302 |
-
|
303 |
/**
|
304 |
If page does not exist
|
305 |
Create it
|
306 |
**/
|
307 |
$page_exists = $ultimatemember->query->find_post_id('um_directory','_um_core', $id);
|
308 |
if ( !$page_exists ) {
|
309 |
-
|
310 |
$title = 'Members';
|
311 |
-
|
312 |
$form = array(
|
313 |
'post_type' => 'um_directory',
|
314 |
'post_title' => $title,
|
315 |
'post_status' => 'publish',
|
316 |
'post_author' => um_user('ID'),
|
317 |
);
|
318 |
-
|
319 |
$form_id = wp_insert_post( $form );
|
320 |
-
|
321 |
foreach( $this->core_directory_meta[$id] as $key => $value ) {
|
322 |
if ( $key == '_um_custom_fields' ) {
|
323 |
$array = unserialize( $value );
|
@@ -326,17 +327,17 @@ class UM_Setup {
|
|
326 |
update_post_meta($form_id, $key, $value);
|
327 |
}
|
328 |
}
|
329 |
-
|
330 |
$this->setup_shortcode[$id] = '[ultimatemember form_id='.$form_id.']';
|
331 |
|
332 |
$core_directories[ $form_id ] = $form_id;
|
333 |
-
|
334 |
}
|
335 |
/** DONE **/
|
336 |
-
|
337 |
}
|
338 |
if ( isset( $core_directories ) ) update_option('um_core_directories', $core_directories);
|
339 |
-
|
340 |
// Install Core Pages
|
341 |
foreach($this->core_pages as $slug => $array ) {
|
342 |
|
@@ -346,7 +347,7 @@ class UM_Setup {
|
|
346 |
**/
|
347 |
$page_exists = $ultimatemember->query->find_post_id('page','_um_core', $slug);
|
348 |
if ( !$page_exists ) {
|
349 |
-
|
350 |
if ( $slug == 'logout' ) {
|
351 |
$content = '';
|
352 |
} else if ( $slug == 'account' ) {
|
@@ -358,7 +359,7 @@ class UM_Setup {
|
|
358 |
} else {
|
359 |
$content = $this->setup_shortcode[$slug];
|
360 |
}
|
361 |
-
|
362 |
$user_page = array(
|
363 |
'post_title' => $array['title'],
|
364 |
'post_content' => $content,
|
@@ -368,17 +369,17 @@ class UM_Setup {
|
|
368 |
'post_author' => um_user('ID'),
|
369 |
'comment_status' => 'closed'
|
370 |
);
|
371 |
-
|
372 |
$post_id = wp_insert_post( $user_page );
|
373 |
wp_update_post( array('ID' => $post_id, 'post_type' => 'page' ) );
|
374 |
-
|
375 |
update_post_meta($post_id, '_um_core', $slug);
|
376 |
-
|
377 |
$core_pages[ $slug ] = $post_id;
|
378 |
-
|
379 |
}
|
380 |
/** DONE **/
|
381 |
-
|
382 |
}
|
383 |
if ( isset( $core_pages ) ) {
|
384 |
update_option('um_core_pages', $core_pages);
|
@@ -390,28 +391,28 @@ class UM_Setup {
|
|
390 |
update_option('um_options', $options );
|
391 |
}
|
392 |
}
|
393 |
-
|
394 |
}
|
395 |
-
|
396 |
}
|
397 |
-
|
398 |
/***
|
399 |
*** @First setup of core roles
|
400 |
***/
|
401 |
function install_default_roles(){
|
402 |
-
|
403 |
if ( !get_option('um_first_setup_roles') ) {
|
404 |
|
405 |
update_option('um_first_setup_roles', 1);
|
406 |
-
|
407 |
$users = get_users( array('fields' => 'ID') );
|
408 |
foreach( $users as $id ) {
|
409 |
|
410 |
delete_user_meta( $id, 'account_status' );
|
411 |
delete_user_meta( $id, 'role' );
|
412 |
-
|
413 |
update_user_meta( $id, 'account_status', 'approved' );
|
414 |
-
|
415 |
if ( !is_super_admin( $id ) ) {
|
416 |
if ( is_numeric( $id ) ) {
|
417 |
update_user_meta( $id, 'role', 'member' );
|
@@ -421,11 +422,11 @@ class UM_Setup {
|
|
421 |
update_user_meta( $id, 'role', 'admin' );
|
422 |
}
|
423 |
}
|
424 |
-
|
425 |
}
|
426 |
|
427 |
}
|
428 |
-
|
429 |
if ( !get_option('um_hashed_passwords_fix') ) {
|
430 |
update_option('um_hashed_passwords_fix', 1);
|
431 |
$users = get_users( array('fields' => 'ID') );
|
@@ -433,20 +434,26 @@ class UM_Setup {
|
|
433 |
delete_user_meta( $id, '_um_cool_but_hard_to_guess_plain_pw' );
|
434 |
}
|
435 |
}
|
436 |
-
|
437 |
}
|
438 |
-
|
439 |
/***
|
440 |
*** @Build default roles
|
441 |
***/
|
442 |
function install_posts_roles(){
|
443 |
-
|
444 |
global $wpdb, $ultimatemember;
|
445 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
446 |
$admin = $ultimatemember->query->find_post_id('um_role','_um_core','admin');
|
447 |
|
448 |
if ( !$admin && current_user_can('manage_options') && um_user('ID') ){
|
449 |
-
|
450 |
$admin_role = array(
|
451 |
'post_title' => 'Admin',
|
452 |
'post_name' => 'admin',
|
@@ -454,17 +461,17 @@ class UM_Setup {
|
|
454 |
'post_status' => 'publish',
|
455 |
'post_author' => um_user('ID'),
|
456 |
);
|
457 |
-
|
458 |
$post_id = wp_insert_post( $admin_role );
|
459 |
-
|
460 |
foreach( $this->get_initial_permissions('admin') as $key => $value ) update_post_meta($post_id, "_um_" . $key, $value);
|
461 |
-
|
462 |
}
|
463 |
-
|
464 |
$member = $ultimatemember->query->find_post_id('um_role','_um_core','member');
|
465 |
-
|
466 |
if ( !$member && current_user_can('manage_options') && um_user('ID') ){
|
467 |
-
|
468 |
$member_role = array(
|
469 |
'post_title' => 'Member',
|
470 |
'post_name' => 'member',
|
@@ -472,13 +479,13 @@ class UM_Setup {
|
|
472 |
'post_status' => 'publish',
|
473 |
'post_author' => um_user('ID'),
|
474 |
);
|
475 |
-
|
476 |
$post_id = wp_insert_post( $member_role );
|
477 |
-
|
478 |
foreach( $this->get_initial_permissions('member') as $key => $value ) update_post_meta($post_id, "_um_" . $key, $value);
|
479 |
-
|
480 |
}
|
481 |
-
|
482 |
}
|
483 |
|
484 |
-
}
|
5 |
function __construct() {
|
6 |
|
7 |
add_action('init', array(&$this, 'install_basics'), 9);
|
8 |
+
|
9 |
add_action('init', array(&$this, 'install_default_forms'), 9);
|
10 |
+
|
11 |
add_action('init', array(&$this, 'install_default_roles'), 9);
|
12 |
+
|
13 |
add_action('init', array(&$this, 'install_posts_roles'), 9);
|
14 |
|
15 |
$this->core_forms = array(
|
17 |
'login',
|
18 |
'profile',
|
19 |
);
|
20 |
+
|
21 |
$this->core_directories = array(
|
22 |
'members',
|
23 |
);
|
53 |
'_um_profiles_per_page_mobile' => 6,
|
54 |
'_um_core' => 'members',
|
55 |
);
|
56 |
+
|
57 |
$this->core_global_meta_all = array(
|
58 |
'_um_primary_btn_color',
|
59 |
'_um_primary_btn_hover',
|
74 |
'_um_help_tip_color',
|
75 |
'_um_secondary_color',
|
76 |
);
|
77 |
+
|
78 |
$this->core_form_meta_all = array(
|
79 |
'_um_help_tip_color' => '#ccc',
|
80 |
'_um_active_color' => '#3ba1da',
|
97 |
'_um_profile_show_name' => 1,
|
98 |
'_um_profile_show_social_links' => 0,
|
99 |
'_um_profile_show_bio' => 1,
|
100 |
+
'profile_show_html_bio' => 0,
|
101 |
'_um_profile_bio_maxchars' => 180,
|
102 |
'_um_profile_header_menu' => 'bc',
|
103 |
'_um_profile_empty_text' => 1,
|
163 |
'_um_directory_header' => __('{total_users} Members','ultimatemember'),
|
164 |
'_um_directory_header_single' => __('{total_users} Member','ultimatemember'),
|
165 |
);
|
166 |
+
|
167 |
$this->core_form_meta_all = apply_filters('um_core_form_meta_all', $this->core_form_meta_all );
|
168 |
+
|
169 |
$this->core_form_meta['register'] = array(
|
170 |
'_um_custom_fields' => 'a:6:{s:10:"user_login";a:15:{s:5:"title";s:8:"Username";s:7:"metakey";s:10:"user_login";s:4:"type";s:4:"text";s:5:"label";s:8:"Username";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";i:0;s:8:"validate";s:15:"unique_username";s:9:"min_chars";i:3;s:9:"max_chars";i:24;s:8:"position";s:1:"1";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:10:"user_email";a:13:{s:5:"title";s:14:"E-mail Address";s:7:"metakey";s:10:"user_email";s:4:"type";s:4:"text";s:5:"label";s:14:"E-mail Address";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"validate";s:12:"unique_email";s:8:"position";s:1:"4";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:13:"user_password";a:16:{s:5:"title";s:8:"Password";s:7:"metakey";s:13:"user_password";s:4:"type";s:8:"password";s:5:"label";s:8:"Password";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";i:1;s:9:"min_chars";i:8;s:9:"max_chars";i:30;s:15:"force_good_pass";i:1;s:18:"force_confirm_pass";i:1;s:8:"position";s:1:"5";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:10:"first_name";a:12:{s:5:"title";s:10:"First Name";s:7:"metakey";s:10:"first_name";s:4:"type";s:4:"text";s:5:"label";s:10:"First Name";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"position";s:1:"2";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"last_name";a:12:{s:5:"title";s:9:"Last Name";s:7:"metakey";s:9:"last_name";s:4:"type";s:4:"text";s:5:"label";s:9:"Last Name";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"position";s:1:"3";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"_um_row_1";a:4:{s:4:"type";s:3:"row";s:2:"id";s:9:"_um_row_1";s:8:"sub_rows";s:1:"1";s:4:"cols";s:1:"1";}}',
|
171 |
'_um_mode' => 'register',
|
205 |
'after_login' => 'redirect_admin',
|
206 |
'after_logout' => 'redirect_home',
|
207 |
);
|
208 |
+
|
209 |
// non-admin permissions
|
210 |
$this->nonadmin_perms = array(
|
211 |
'core' => 'member',
|
217 |
'can_access_private_profile' => 0,
|
218 |
'after_login' => 'redirect_profile',
|
219 |
);
|
220 |
+
|
221 |
}
|
222 |
+
|
223 |
/***
|
224 |
*** @Get default permissions
|
225 |
***/
|
233 |
return $perms;
|
234 |
}
|
235 |
}
|
236 |
+
|
237 |
/***
|
238 |
*** @Basics
|
239 |
***/
|
241 |
if ( !get_option('__ultimatemember_sitekey') )
|
242 |
update_option('__ultimatemember_sitekey', str_replace( array('http://','https://'), '', sanitize_user( get_bloginfo('url') ) ) . '-' . wp_generate_password( 20, false ) );
|
243 |
}
|
244 |
+
|
245 |
/***
|
246 |
*** @Default Forms
|
247 |
***/
|
249 |
global $wpdb, $ultimatemember;
|
250 |
|
251 |
if ( current_user_can('manage_options') && um_user('ID') && !get_option('um_is_installed') ) {
|
252 |
+
|
253 |
update_option('um_is_installed', 1);
|
254 |
+
|
255 |
// Install Core Forms
|
256 |
foreach($this->core_forms as $id ) {
|
257 |
+
|
258 |
/**
|
259 |
If page does not exist
|
260 |
Create it
|
261 |
**/
|
262 |
$page_exists = $ultimatemember->query->find_post_id('um_form','_um_core', $id);
|
263 |
if ( !$page_exists ) {
|
264 |
+
|
265 |
if ( $id == 'register' ) {
|
266 |
$title = 'Default Registration';
|
267 |
} else if ( $id == 'login' ) {
|
269 |
} else {
|
270 |
$title = 'Default Profile';
|
271 |
}
|
272 |
+
|
273 |
$form = array(
|
274 |
'post_type' => 'um_form',
|
275 |
'post_title' => $title,
|
276 |
'post_status' => 'publish',
|
277 |
'post_author' => um_user('ID'),
|
278 |
);
|
279 |
+
|
280 |
$form_id = wp_insert_post( $form );
|
281 |
+
|
282 |
foreach( $this->core_form_meta[$id] as $key => $value ) {
|
283 |
if ( $key == '_um_custom_fields' ) {
|
284 |
$array = unserialize( $value );
|
287 |
update_post_meta($form_id, $key, $value);
|
288 |
}
|
289 |
}
|
290 |
+
|
291 |
$this->setup_shortcode[$id] = '[ultimatemember form_id='.$form_id.']';
|
292 |
|
293 |
$core_forms[ $form_id ] = $form_id;
|
294 |
+
|
295 |
}
|
296 |
/** DONE **/
|
297 |
+
|
298 |
}
|
299 |
if ( isset( $core_forms ) ) update_option('um_core_forms', $core_forms);
|
300 |
+
|
301 |
// Install Core Directories
|
302 |
foreach($this->core_directories as $id ) {
|
303 |
+
|
304 |
/**
|
305 |
If page does not exist
|
306 |
Create it
|
307 |
**/
|
308 |
$page_exists = $ultimatemember->query->find_post_id('um_directory','_um_core', $id);
|
309 |
if ( !$page_exists ) {
|
310 |
+
|
311 |
$title = 'Members';
|
312 |
+
|
313 |
$form = array(
|
314 |
'post_type' => 'um_directory',
|
315 |
'post_title' => $title,
|
316 |
'post_status' => 'publish',
|
317 |
'post_author' => um_user('ID'),
|
318 |
);
|
319 |
+
|
320 |
$form_id = wp_insert_post( $form );
|
321 |
+
|
322 |
foreach( $this->core_directory_meta[$id] as $key => $value ) {
|
323 |
if ( $key == '_um_custom_fields' ) {
|
324 |
$array = unserialize( $value );
|
327 |
update_post_meta($form_id, $key, $value);
|
328 |
}
|
329 |
}
|
330 |
+
|
331 |
$this->setup_shortcode[$id] = '[ultimatemember form_id='.$form_id.']';
|
332 |
|
333 |
$core_directories[ $form_id ] = $form_id;
|
334 |
+
|
335 |
}
|
336 |
/** DONE **/
|
337 |
+
|
338 |
}
|
339 |
if ( isset( $core_directories ) ) update_option('um_core_directories', $core_directories);
|
340 |
+
|
341 |
// Install Core Pages
|
342 |
foreach($this->core_pages as $slug => $array ) {
|
343 |
|
347 |
**/
|
348 |
$page_exists = $ultimatemember->query->find_post_id('page','_um_core', $slug);
|
349 |
if ( !$page_exists ) {
|
350 |
+
|
351 |
if ( $slug == 'logout' ) {
|
352 |
$content = '';
|
353 |
} else if ( $slug == 'account' ) {
|
359 |
} else {
|
360 |
$content = $this->setup_shortcode[$slug];
|
361 |
}
|
362 |
+
|
363 |
$user_page = array(
|
364 |
'post_title' => $array['title'],
|
365 |
'post_content' => $content,
|
369 |
'post_author' => um_user('ID'),
|
370 |
'comment_status' => 'closed'
|
371 |
);
|
372 |
+
|
373 |
$post_id = wp_insert_post( $user_page );
|
374 |
wp_update_post( array('ID' => $post_id, 'post_type' => 'page' ) );
|
375 |
+
|
376 |
update_post_meta($post_id, '_um_core', $slug);
|
377 |
+
|
378 |
$core_pages[ $slug ] = $post_id;
|
379 |
+
|
380 |
}
|
381 |
/** DONE **/
|
382 |
+
|
383 |
}
|
384 |
if ( isset( $core_pages ) ) {
|
385 |
update_option('um_core_pages', $core_pages);
|
391 |
update_option('um_options', $options );
|
392 |
}
|
393 |
}
|
394 |
+
|
395 |
}
|
396 |
+
|
397 |
}
|
398 |
+
|
399 |
/***
|
400 |
*** @First setup of core roles
|
401 |
***/
|
402 |
function install_default_roles(){
|
403 |
+
|
404 |
if ( !get_option('um_first_setup_roles') ) {
|
405 |
|
406 |
update_option('um_first_setup_roles', 1);
|
407 |
+
|
408 |
$users = get_users( array('fields' => 'ID') );
|
409 |
foreach( $users as $id ) {
|
410 |
|
411 |
delete_user_meta( $id, 'account_status' );
|
412 |
delete_user_meta( $id, 'role' );
|
413 |
+
|
414 |
update_user_meta( $id, 'account_status', 'approved' );
|
415 |
+
|
416 |
if ( !is_super_admin( $id ) ) {
|
417 |
if ( is_numeric( $id ) ) {
|
418 |
update_user_meta( $id, 'role', 'member' );
|
422 |
update_user_meta( $id, 'role', 'admin' );
|
423 |
}
|
424 |
}
|
425 |
+
|
426 |
}
|
427 |
|
428 |
}
|
429 |
+
|
430 |
if ( !get_option('um_hashed_passwords_fix') ) {
|
431 |
update_option('um_hashed_passwords_fix', 1);
|
432 |
$users = get_users( array('fields' => 'ID') );
|
434 |
delete_user_meta( $id, '_um_cool_but_hard_to_guess_plain_pw' );
|
435 |
}
|
436 |
}
|
437 |
+
|
438 |
}
|
439 |
+
|
440 |
/***
|
441 |
*** @Build default roles
|
442 |
***/
|
443 |
function install_posts_roles(){
|
444 |
+
|
445 |
global $wpdb, $ultimatemember;
|
446 |
+
|
447 |
+
if ( !isset( $ultimatemember->query ) || ! method_exists( $ultimatemember->query, 'get_roles' ) ) {
|
448 |
+
return;
|
449 |
+
} else {
|
450 |
+
//die('Method loaded!');
|
451 |
+
}
|
452 |
+
|
453 |
$admin = $ultimatemember->query->find_post_id('um_role','_um_core','admin');
|
454 |
|
455 |
if ( !$admin && current_user_can('manage_options') && um_user('ID') ){
|
456 |
+
|
457 |
$admin_role = array(
|
458 |
'post_title' => 'Admin',
|
459 |
'post_name' => 'admin',
|
461 |
'post_status' => 'publish',
|
462 |
'post_author' => um_user('ID'),
|
463 |
);
|
464 |
+
|
465 |
$post_id = wp_insert_post( $admin_role );
|
466 |
+
|
467 |
foreach( $this->get_initial_permissions('admin') as $key => $value ) update_post_meta($post_id, "_um_" . $key, $value);
|
468 |
+
|
469 |
}
|
470 |
+
|
471 |
$member = $ultimatemember->query->find_post_id('um_role','_um_core','member');
|
472 |
+
|
473 |
if ( !$member && current_user_can('manage_options') && um_user('ID') ){
|
474 |
+
|
475 |
$member_role = array(
|
476 |
'post_title' => 'Member',
|
477 |
'post_name' => 'member',
|
479 |
'post_status' => 'publish',
|
480 |
'post_author' => um_user('ID'),
|
481 |
);
|
482 |
+
|
483 |
$post_id = wp_insert_post( $member_role );
|
484 |
+
|
485 |
foreach( $this->get_initial_permissions('member') as $key => $value ) update_post_meta($post_id, "_um_" . $key, $value);
|
486 |
+
|
487 |
}
|
488 |
+
|
489 |
}
|
490 |
|
491 |
+
}
|
core/um-short-functions.php
CHANGED
@@ -34,7 +34,35 @@
|
|
34 |
$message = um_convert_tags( $message, $args );
|
35 |
wp_mail( $email, $subject_line, $message, $headers, $attachments );
|
36 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
/***
|
39 |
*** @convert template tags
|
40 |
***/
|
@@ -49,6 +77,7 @@
|
|
49 |
'{email}',
|
50 |
'{password}',
|
51 |
'{login_url}',
|
|
|
52 |
'{site_name}',
|
53 |
'{site_url}',
|
54 |
'{account_activation_link}',
|
@@ -71,6 +100,7 @@
|
|
71 |
um_user('user_email'),
|
72 |
um_user('_um_cool_but_hard_to_guess_plain_pw'),
|
73 |
um_get_core_page('login'),
|
|
|
74 |
um_get_option('site_name'),
|
75 |
get_bloginfo('url'),
|
76 |
um_user('account_activation_link'),
|
@@ -90,6 +120,17 @@
|
|
90 |
$content = str_replace($args['tags'], $args['tags_replace'], $content);
|
91 |
}
|
92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
return $content;
|
94 |
|
95 |
}
|
@@ -1168,6 +1209,17 @@ function um_user( $data, $attrs = null ) {
|
|
1168 |
case 'display_name':
|
1169 |
|
1170 |
$op = um_get_option('display_name');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1171 |
|
1172 |
if ( $op == 'full_name' ) {
|
1173 |
if ( um_user('first_name') && um_user('last_name') ) {
|
@@ -1175,11 +1227,14 @@ function um_user( $data, $attrs = null ) {
|
|
1175 |
} else {
|
1176 |
$name = um_profile( $data );
|
1177 |
}
|
|
|
|
|
|
|
1178 |
}
|
1179 |
|
1180 |
if ( $op == 'sur_name' ) {
|
1181 |
if ( um_user('first_name') && um_user('last_name') ) {
|
1182 |
-
$name = um_user('last_name') . '
|
1183 |
} else {
|
1184 |
$name = um_profile( $data );
|
1185 |
}
|
@@ -1214,11 +1269,7 @@ function um_user( $data, $attrs = null ) {
|
|
1214 |
$name = um_profile( $data );
|
1215 |
}
|
1216 |
}
|
1217 |
-
|
1218 |
-
if ( $op == 'public_name' ) {
|
1219 |
-
$name = um_profile( $data );
|
1220 |
-
}
|
1221 |
-
|
1222 |
if ( $op == 'field' && um_get_option('display_name_field') != '' ) {
|
1223 |
$fields = array_filter(preg_split('/[,\s]+/', um_get_option('display_name_field') ));
|
1224 |
$name = '';
|
34 |
$message = um_convert_tags( $message, $args );
|
35 |
wp_mail( $email, $subject_line, $message, $headers, $attachments );
|
36 |
}
|
37 |
+
|
38 |
+
/***
|
39 |
+
*** @Trim string by char length
|
40 |
+
***/
|
41 |
+
function um_trim_string( $s, $length = 20 ) {
|
42 |
+
$s = strlen($s) > $length ? substr($s,0,$length)."..." : $s;
|
43 |
+
return $s;
|
44 |
+
}
|
45 |
+
|
46 |
+
/***
|
47 |
+
*** @Convert urls to clickable links
|
48 |
+
***/
|
49 |
+
function um_clickable_links($s) {
|
50 |
+
return preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1" class="um-link" target="_blank">$1</a>', $s);
|
51 |
+
}
|
52 |
|
53 |
+
/***
|
54 |
+
*** @Get where user should be headed after logging
|
55 |
+
***/
|
56 |
+
function um_dynamic_login_page_redirect( $redirect_to = '' ) {
|
57 |
+
global $ultimatemember;
|
58 |
+
$uri = um_get_core_page( 'login' );
|
59 |
+
if ( ! $redirect_to ) {
|
60 |
+
$redirect_to = $ultimatemember->permalinks->get_current_url();
|
61 |
+
}
|
62 |
+
$uri = add_query_arg( 'redirect_to', $redirect_to, $uri );
|
63 |
+
return $uri;
|
64 |
+
}
|
65 |
+
|
66 |
/***
|
67 |
*** @convert template tags
|
68 |
***/
|
77 |
'{email}',
|
78 |
'{password}',
|
79 |
'{login_url}',
|
80 |
+
'{login_referrer}',
|
81 |
'{site_name}',
|
82 |
'{site_url}',
|
83 |
'{account_activation_link}',
|
100 |
um_user('user_email'),
|
101 |
um_user('_um_cool_but_hard_to_guess_plain_pw'),
|
102 |
um_get_core_page('login'),
|
103 |
+
um_dynamic_login_page_redirect(),
|
104 |
um_get_option('site_name'),
|
105 |
get_bloginfo('url'),
|
106 |
um_user('account_activation_link'),
|
120 |
$content = str_replace($args['tags'], $args['tags_replace'], $content);
|
121 |
}
|
122 |
|
123 |
+
$regex = '~\{([^}]*)\}~';
|
124 |
+
preg_match_all($regex, $content, $matches);
|
125 |
+
|
126 |
+
// Support for all usermeta keys
|
127 |
+
if ( isset( $matches[1] ) && is_array( $matches[1] ) && !empty( $matches[1] ) ) {
|
128 |
+
foreach( $matches[1] as $match ) {
|
129 |
+
$strip_key = str_replace('usermeta:','', $match );
|
130 |
+
$content = str_replace( '{' . $match . '}', um_user( $strip_key ), $content);
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
return $content;
|
135 |
|
136 |
}
|
1209 |
case 'display_name':
|
1210 |
|
1211 |
$op = um_get_option('display_name');
|
1212 |
+
|
1213 |
+
$name = '';
|
1214 |
+
|
1215 |
+
|
1216 |
+
if ( $op == 'default' ) {
|
1217 |
+
$name = um_profile('display_name');
|
1218 |
+
}
|
1219 |
+
|
1220 |
+
if ( $op == 'nickname' ) {
|
1221 |
+
$name = um_profile('nickname');
|
1222 |
+
}
|
1223 |
|
1224 |
if ( $op == 'full_name' ) {
|
1225 |
if ( um_user('first_name') && um_user('last_name') ) {
|
1227 |
} else {
|
1228 |
$name = um_profile( $data );
|
1229 |
}
|
1230 |
+
if ( ! $name ) {
|
1231 |
+
$name = um_user('user_login');
|
1232 |
+
}
|
1233 |
}
|
1234 |
|
1235 |
if ( $op == 'sur_name' ) {
|
1236 |
if ( um_user('first_name') && um_user('last_name') ) {
|
1237 |
+
$name = um_user('last_name') . ' ' . um_user('first_name');
|
1238 |
} else {
|
1239 |
$name = um_profile( $data );
|
1240 |
}
|
1269 |
$name = um_profile( $data );
|
1270 |
}
|
1271 |
}
|
1272 |
+
|
|
|
|
|
|
|
|
|
1273 |
if ( $op == 'field' && um_get_option('display_name_field') != '' ) {
|
1274 |
$fields = array_filter(preg_split('/[,\s]+/', um_get_option('display_name_field') ));
|
1275 |
$name = '';
|
core/um-shortcodes.php
CHANGED
@@ -9,7 +9,10 @@ class UM_Shortcodes {
|
|
9 |
$this->loop = '';
|
10 |
|
11 |
add_shortcode('ultimatemember', array(&$this, 'ultimatemember'), 1);
|
12 |
-
|
|
|
|
|
|
|
13 |
add_filter( 'body_class', array(&$this, 'body_class'), 0 );
|
14 |
|
15 |
$this->emoji[':)'] = 'https://s.w.org/images/core/emoji/72x72/1f604.png';
|
@@ -175,6 +178,57 @@ class UM_Shortcodes {
|
|
175 |
return $classes;
|
176 |
}
|
177 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
/***
|
179 |
*** @Shortcode
|
180 |
***/
|
@@ -369,6 +423,14 @@ class UM_Shortcodes {
|
|
369 |
$shortcode = '[ultimatemember form_id='.$post_id.']';
|
370 |
return $shortcode;
|
371 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
372 |
|
373 |
/***
|
374 |
*** @convert user tags in a string
|
9 |
$this->loop = '';
|
10 |
|
11 |
add_shortcode('ultimatemember', array(&$this, 'ultimatemember'), 1);
|
12 |
+
|
13 |
+
add_shortcode('um_loggedin', array(&$this, 'um_loggedin') );
|
14 |
+
add_shortcode('um_loggedout', array(&$this, 'um_loggedout') );
|
15 |
+
|
16 |
add_filter( 'body_class', array(&$this, 'body_class'), 0 );
|
17 |
|
18 |
$this->emoji[':)'] = 'https://s.w.org/images/core/emoji/72x72/1f604.png';
|
178 |
return $classes;
|
179 |
}
|
180 |
|
181 |
+
/***
|
182 |
+
*** @Logged-in only content
|
183 |
+
***/
|
184 |
+
function um_loggedin( $args = array(), $content = "" ) {
|
185 |
+
global $ultimatemember;
|
186 |
+
ob_start();
|
187 |
+
|
188 |
+
$defaults = array(
|
189 |
+
'lock_text' => __('This content has been restricted to logged in users only. Please <a href="{login_referrer}">login</a> to view this content.','ultimatemember' ),
|
190 |
+
'show_lock' => 'yes'
|
191 |
+
);
|
192 |
+
|
193 |
+
$args = wp_parse_args( $args, $defaults );
|
194 |
+
|
195 |
+
//$args['lock_text'] = $this->convert_locker_tags( $args['lock_text'] );
|
196 |
+
|
197 |
+
if ( !is_user_logged_in() ) {
|
198 |
+
if ( $args['show_lock'] == 'no' ) {
|
199 |
+
echo '';
|
200 |
+
} else {
|
201 |
+
$ultimatemember->shortcodes->set_args = $args;
|
202 |
+
$ultimatemember->shortcodes->load_template( 'login-to-view' );
|
203 |
+
}
|
204 |
+
} else {
|
205 |
+
echo do_shortcode( $this->convert_locker_tags( wpautop( $content ) ) );
|
206 |
+
}
|
207 |
+
|
208 |
+
$output = ob_get_contents();
|
209 |
+
ob_end_clean();
|
210 |
+
return $output;
|
211 |
+
}
|
212 |
+
|
213 |
+
/***
|
214 |
+
*** @Logged-out only content
|
215 |
+
***/
|
216 |
+
function um_loggedout( $args = array(), $content = "" ) {
|
217 |
+
global $ultimatemember;
|
218 |
+
ob_start();
|
219 |
+
|
220 |
+
// Hide for logged in users
|
221 |
+
if ( is_user_logged_in() ) {
|
222 |
+
echo '';
|
223 |
+
} else {
|
224 |
+
echo do_shortcode( wpautop( $content ) );
|
225 |
+
}
|
226 |
+
|
227 |
+
$output = ob_get_contents();
|
228 |
+
ob_end_clean();
|
229 |
+
return $output;
|
230 |
+
}
|
231 |
+
|
232 |
/***
|
233 |
*** @Shortcode
|
234 |
***/
|
423 |
$shortcode = '[ultimatemember form_id='.$post_id.']';
|
424 |
return $shortcode;
|
425 |
}
|
426 |
+
|
427 |
+
/***
|
428 |
+
*** @convert access lock tags
|
429 |
+
***/
|
430 |
+
function convert_locker_tags( $str ) {
|
431 |
+
$str = um_convert_tags( $str );
|
432 |
+
return $str;
|
433 |
+
}
|
434 |
|
435 |
/***
|
436 |
*** @convert user tags in a string
|
core/um-user.php
CHANGED
@@ -44,6 +44,49 @@ class UM_User {
|
|
44 |
add_action('um_when_role_is_set', array(&$this, 'remove_cache') );
|
45 |
add_action('um_when_status_is_set', array(&$this, 'remove_cache') );
|
46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
}
|
48 |
|
49 |
/***
|
@@ -198,6 +241,7 @@ class UM_User {
|
|
198 |
|
199 |
// add user meta
|
200 |
foreach($this->usermeta as $k=>$v){
|
|
|
201 |
$this->profile[$k] = $v[0];
|
202 |
}
|
203 |
|
44 |
add_action('um_when_role_is_set', array(&$this, 'remove_cache') );
|
45 |
add_action('um_when_status_is_set', array(&$this, 'remove_cache') );
|
46 |
|
47 |
+
add_action( 'show_user_profile', array( $this, 'community_role_edit' ) );
|
48 |
+
add_action( 'edit_user_profile', array( $this, 'community_role_edit' ) );
|
49 |
+
add_action( 'personal_options_update', array( $this, 'community_role_save' ) );
|
50 |
+
add_action( 'edit_user_profile_update', array( $this, 'community_role_save' ) );
|
51 |
+
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Allow changing community role
|
56 |
+
*/
|
57 |
+
function community_role_edit( $user ) {
|
58 |
+
global $ultimatemember;
|
59 |
+
if ( current_user_can( 'edit_users' ) && current_user_can( 'edit_user', $user->ID ) ) {
|
60 |
+
$user = get_userdata( $user->ID );
|
61 |
+
?>
|
62 |
+
<table class="form-table">
|
63 |
+
<tbody>
|
64 |
+
<tr>
|
65 |
+
<th>
|
66 |
+
<label for="um_role"><?php _e( 'Community Role', 'ultimatemember' ); ?></label>
|
67 |
+
</th>
|
68 |
+
<td>
|
69 |
+
<select name="um_role" id="um_role">
|
70 |
+
<?php foreach( $ultimatemember->query->get_roles() as $key => $value ) { ?>
|
71 |
+
<option value="<?php echo $key; ?>" <?php selected( um_user('role'), $key ); ?> ><?php echo $value; ?></option>
|
72 |
+
<?php } ?>
|
73 |
+
</select>
|
74 |
+
<span class="description"><?php _e( 'Assign or change the community role for this user', 'ultimatemember' ); ?></span>
|
75 |
+
</td>
|
76 |
+
</tr>
|
77 |
+
</tbody>
|
78 |
+
</table>
|
79 |
+
<?php }
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Save community role
|
84 |
+
*/
|
85 |
+
public function community_role_save( $user_id ) {
|
86 |
+
if ( current_user_can( 'edit_user', $user_id ) && isset( $_POST['um_role'] ) ) {
|
87 |
+
update_user_meta( $user_id, 'role', sanitize_title_with_dashes( $_POST['um_role'] ) );
|
88 |
+
delete_option( "um_cache_userdata_{$user_id}" );
|
89 |
+
}
|
90 |
}
|
91 |
|
92 |
/***
|
241 |
|
242 |
// add user meta
|
243 |
foreach($this->usermeta as $k=>$v){
|
244 |
+
if ( $k == 'display_name') continue;
|
245 |
$this->profile[$k] = $v[0];
|
246 |
}
|
247 |
|
index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Ultimate Member
|
4 |
Plugin URI: http://ultimatemember.com/
|
5 |
Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
|
6 |
-
Version: 1.3.
|
7 |
Author: Ultimate Member
|
8 |
Author URI: http://ultimatemember.com/
|
9 |
*/
|
3 |
Plugin Name: Ultimate Member
|
4 |
Plugin URI: http://ultimatemember.com/
|
5 |
Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
|
6 |
+
Version: 1.3.36
|
7 |
Author: Ultimate Member
|
8 |
Author URI: http://ultimatemember.com/
|
9 |
*/
|
readme.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
=== Ultimate Member ===
|
2 |
Author URI: https://ultimatemember.com/
|
3 |
Plugin URI: https://ultimatemember.com/
|
4 |
Contributors: ultimatemember, champsupertramp
|
@@ -7,7 +7,7 @@ Tags: access control, author, authors, author profile, comments, community, comm
|
|
7 |
Requires at least: 4.1
|
8 |
Tested up to: 4.4
|
9 |
|
10 |
-
Stable Tag: 1.3.
|
11 |
|
12 |
License: GNU Version 2 or Any Later Version
|
13 |
|
@@ -44,6 +44,7 @@ Read about all of the plugin's features at [Ultimate Member](https://ultimatemem
|
|
44 |
|
45 |
Ultimate Member has a range of extensions that allow you to extend the power of the plugin
|
46 |
|
|
|
47 |
* [Social Activity](https://ultimatemember.com/extensions/social-activity/) - Let users create public wall posts & see the activity of other users
|
48 |
* [WooCommerce](https://ultimatemember.com/extensions/woocommerce/) - Allow you to integrate WooCommerce with Ultimate Member
|
49 |
* [Private Messages](https://ultimatemember.com/extensions/private-messages/) - Add a private messaging system to your site & allow users to message each other
|
@@ -69,7 +70,7 @@ If you're a developer and would like to contribute to the source code of the plu
|
|
69 |
|
70 |
= Documentation & Support =
|
71 |
|
72 |
-
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
|
73 |
|
74 |
= Languages =
|
75 |
|
@@ -146,6 +147,30 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
|
|
146 |
|
147 |
== Changelog ==
|
148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
= 1.3.35: December 15, 2015 =
|
150 |
|
151 |
* Fixed: registration/login issues resolved
|
1 |
+
=== Ultimate Member ===
|
2 |
Author URI: https://ultimatemember.com/
|
3 |
Plugin URI: https://ultimatemember.com/
|
4 |
Contributors: ultimatemember, champsupertramp
|
7 |
Requires at least: 4.1
|
8 |
Tested up to: 4.4
|
9 |
|
10 |
+
Stable Tag: 1.3.36
|
11 |
|
12 |
License: GNU Version 2 or Any Later Version
|
13 |
|
44 |
|
45 |
Ultimate Member has a range of extensions that allow you to extend the power of the plugin
|
46 |
|
47 |
+
* [User Tags](https://ultimatemember.com/extensions/user-tags/) - Lets you add a user tag system to your website
|
48 |
* [Social Activity](https://ultimatemember.com/extensions/social-activity/) - Let users create public wall posts & see the activity of other users
|
49 |
* [WooCommerce](https://ultimatemember.com/extensions/woocommerce/) - Allow you to integrate WooCommerce with Ultimate Member
|
50 |
* [Private Messages](https://ultimatemember.com/extensions/private-messages/) - Add a private messaging system to your site & allow users to message each other
|
70 |
|
71 |
= Documentation & Support =
|
72 |
|
73 |
+
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/).
|
74 |
|
75 |
= Languages =
|
76 |
|
147 |
|
148 |
== Changelog ==
|
149 |
|
150 |
+
= 1.3.36: January 6, 2016 =
|
151 |
+
|
152 |
+
* New: added in-page content restriction to protect content for logged-in or logged out users
|
153 |
+
* New: added community role field to user creation in backend
|
154 |
+
* New: added community role field to user editing in backend
|
155 |
+
* New: show specific users in members directory
|
156 |
+
* New: added a new field type: Number
|
157 |
+
* New: added filter hooks to specific profile fields
|
158 |
+
* New: added custom admin bulk actions support
|
159 |
+
* New: added usermeta support to content locking feature in-page
|
160 |
+
* Tweak: several tweaks in core to be more WordPress native
|
161 |
+
* Tweak: added fallback for page setup selections
|
162 |
+
* Tweak: automatic clickable links in profile header bio
|
163 |
+
* Tweak: trim long field labels in backend fields modal
|
164 |
+
* Fixed: profile page SEO title
|
165 |
+
* Fixed: multi-site redirect support
|
166 |
+
* Fixed: activation hash comparison
|
167 |
+
* Fixed: page setup fallback field
|
168 |
+
* Fixed: prevents php warnings and notices
|
169 |
+
* Fixed: WP-CLI and cronjobs issues
|
170 |
+
* Fixed: category posts restriction and redirection
|
171 |
+
* Fixed: category access settings
|
172 |
+
* Fixed: activation link
|
173 |
+
|
174 |
= 1.3.35: December 15, 2015 =
|
175 |
|
176 |
* Fixed: registration/login issues resolved
|
templates/login-to-view.php
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="um-locked-content">
|
2 |
+
|
3 |
+
<div class="um-locked-content-msg"><?php echo $lock_text; ?></div>
|
4 |
+
|
5 |
+
</div>
|
templates/profile.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<div class="um <?php echo $this->get_class( $mode ); ?> um-<?php echo $form_id; ?>">
|
2 |
|
3 |
<div class="um-form">
|
4 |
|
1 |
+
<div class="um <?php echo $this->get_class( $mode ); ?> um-<?php echo $form_id; ?> um-role-<?php echo um_user('role'); ?> ">
|
2 |
|
3 |
<div class="um-form">
|
4 |
|
um-config.php
CHANGED
@@ -20,16 +20,30 @@ $core_pages = array(
|
|
20 |
$core_pages = apply_filters('um_core_pages', $core_pages );
|
21 |
|
22 |
foreach( $core_pages as $page_s => $page ) {
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
}
|
34 |
|
35 |
$this->sections[] = array(
|
@@ -56,7 +70,7 @@ function um_core_page_setting_saved($options, $css, $changed_values) {
|
|
56 |
'password-reset' => __('Password reset page','ultimatemember'),
|
57 |
);
|
58 |
$pages = get_option('um_core_pages');
|
59 |
-
|
60 |
$core_pages = apply_filters('um_core_pages', $core_pages );
|
61 |
|
62 |
foreach( $core_pages as $slug => $page ) {
|
@@ -68,13 +82,13 @@ function um_core_page_setting_saved($options, $css, $changed_values) {
|
|
68 |
/***
|
69 |
*** @
|
70 |
***/
|
71 |
-
|
72 |
$this->sections[] = array(
|
73 |
|
74 |
'icon' => 'um-faicon-user',
|
75 |
'title' => __( 'Users','ultimatemember'),
|
76 |
'fields' => array(
|
77 |
-
|
78 |
array(
|
79 |
'id' => 'default_role',
|
80 |
'type' => 'select',
|
@@ -85,7 +99,7 @@ $this->sections[] = array(
|
|
85 |
'options' => $ultimatemember->query->get_roles(),
|
86 |
'placeholder' => __('Choose user role...','ultimatemember'),
|
87 |
),
|
88 |
-
|
89 |
array(
|
90 |
'id' => 'permalink_base',
|
91 |
'type' => 'select',
|
@@ -101,7 +115,7 @@ $this->sections[] = array(
|
|
101 |
),
|
102 |
'placeholder' => __('Select...','ultimatemember')
|
103 |
),
|
104 |
-
|
105 |
array(
|
106 |
'id' => 'display_name',
|
107 |
'type' => 'select',
|
@@ -110,18 +124,19 @@ $this->sections[] = array(
|
|
110 |
'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' ),
|
111 |
'default' => 'full_name',
|
112 |
'options' => array(
|
|
|
|
|
113 |
'username' => __('Username','ultimatemember'),
|
114 |
'full_name' => __('First name & last name','ultimatemember'),
|
115 |
'sur_name' => __('Last name & first name','ultimatemember'),
|
116 |
'initial_name' => __('First name & first initial of last name','ultimatemember'),
|
117 |
'initial_name_f' => __('First initial of first name & last name','ultimatemember'),
|
118 |
'first_name' => __('First name only','ultimatemember'),
|
119 |
-
'public_name' => __('Display name','ultimatemember'),
|
120 |
'field' => __('Custom field(s)','ultimatemember'),
|
121 |
),
|
122 |
'placeholder' => __('Select...')
|
123 |
),
|
124 |
-
|
125 |
array(
|
126 |
'id' => 'display_name_field',
|
127 |
'type' => 'text',
|
@@ -129,7 +144,7 @@ $this->sections[] = array(
|
|
129 |
'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'),
|
130 |
'required' => array( 'display_name', '=', 'field' ),
|
131 |
),
|
132 |
-
|
133 |
array(
|
134 |
'id' => 'author_redirect',
|
135 |
'type' => 'switch',
|
@@ -139,7 +154,7 @@ $this->sections[] = array(
|
|
139 |
'on' => __('Yes','ultimatemember'),
|
140 |
'off' => __('No','ultimatemember'),
|
141 |
),
|
142 |
-
|
143 |
array(
|
144 |
'id' => 'members_page',
|
145 |
'type' => 'switch',
|
@@ -149,7 +164,7 @@ $this->sections[] = array(
|
|
149 |
'on' => __('Yes','ultimatemember'),
|
150 |
'off' => __('No','ultimatemember'),
|
151 |
),
|
152 |
-
|
153 |
array(
|
154 |
'id' => 'use_gravatars',
|
155 |
'type' => 'switch',
|
@@ -159,7 +174,7 @@ $this->sections[] = array(
|
|
159 |
'on' => __('Yes','ultimatemember'),
|
160 |
'off' => __('No','ultimatemember'),
|
161 |
),
|
162 |
-
|
163 |
array(
|
164 |
'id' => 'reset_require_strongpass',
|
165 |
'type' => 'switch',
|
@@ -169,7 +184,7 @@ $this->sections[] = array(
|
|
169 |
'on' => __('On','ultimatemember'),
|
170 |
'off' => __('Off','ultimatemember'),
|
171 |
),
|
172 |
-
|
173 |
)
|
174 |
|
175 |
);
|
@@ -177,13 +192,13 @@ $this->sections[] = array(
|
|
177 |
/***
|
178 |
*** @
|
179 |
***/
|
180 |
-
|
181 |
$this->sections[] = array(
|
182 |
|
183 |
'icon' => 'um-faicon-cog',
|
184 |
'title' => __( 'Account','ultimatemember'),
|
185 |
'fields' => array(
|
186 |
-
|
187 |
array(
|
188 |
'id' => 'account_tab_password',
|
189 |
'type' => 'switch',
|
@@ -193,7 +208,7 @@ $this->sections[] = array(
|
|
193 |
'on' => __('On','ultimatemember'),
|
194 |
'off' => __('Off','ultimatemember'),
|
195 |
),
|
196 |
-
|
197 |
array(
|
198 |
'id' => 'account_tab_privacy',
|
199 |
'type' => 'switch',
|
@@ -203,7 +218,7 @@ $this->sections[] = array(
|
|
203 |
'on' => __('On','ultimatemember'),
|
204 |
'off' => __('Off','ultimatemember'),
|
205 |
),
|
206 |
-
|
207 |
array(
|
208 |
'id' => 'account_tab_notifications',
|
209 |
'type' => 'switch',
|
@@ -213,7 +228,7 @@ $this->sections[] = array(
|
|
213 |
'on' => __('On','ultimatemember'),
|
214 |
'off' => __('Off','ultimatemember'),
|
215 |
),
|
216 |
-
|
217 |
array(
|
218 |
'id' => 'account_tab_delete',
|
219 |
'type' => 'switch',
|
@@ -223,7 +238,7 @@ $this->sections[] = array(
|
|
223 |
'on' => __('On','ultimatemember'),
|
224 |
'off' => __('Off','ultimatemember'),
|
225 |
),
|
226 |
-
|
227 |
array(
|
228 |
'id' => 'delete_account_text',
|
229 |
'type' => 'textarea', // bug with wp 4.4? should be editor
|
@@ -236,7 +251,7 @@ $this->sections[] = array(
|
|
236 |
'textarea_rows' => 6
|
237 |
),
|
238 |
),
|
239 |
-
|
240 |
array(
|
241 |
'id' => 'account_name',
|
242 |
'type' => 'switch',
|
@@ -246,7 +261,7 @@ $this->sections[] = array(
|
|
246 |
'on' => __('On','ultimatemember'),
|
247 |
'off' => __('Off','ultimatemember'),
|
248 |
),
|
249 |
-
|
250 |
array(
|
251 |
'id' => 'account_email',
|
252 |
'type' => 'switch',
|
@@ -256,7 +271,7 @@ $this->sections[] = array(
|
|
256 |
'on' => __('On','ultimatemember'),
|
257 |
'off' => __('Off','ultimatemember'),
|
258 |
),
|
259 |
-
|
260 |
array(
|
261 |
'id' => 'account_require_strongpass',
|
262 |
'type' => 'switch',
|
@@ -289,7 +304,7 @@ $this->sections[] = array(
|
|
289 |
'default' => $ultimatemember->validation->randomize(),
|
290 |
'desc' => trailingslashit( get_bloginfo('url') ).'wp-admin/?um_panic_key=<strong>your_panic_key</strong>'
|
291 |
),
|
292 |
-
|
293 |
array(
|
294 |
'id' => 'accessible',
|
295 |
'type' => 'select',
|
@@ -310,7 +325,7 @@ $this->sections[] = array(
|
|
310 |
'desc' => __('A logged out user will be redirected to this url If he is not permitted to access the site','ultimatemember'),
|
311 |
'required' => array( 'accessible', '=', 2 ),
|
312 |
),
|
313 |
-
|
314 |
array(
|
315 |
'id' => 'access_exclude_uris',
|
316 |
'type' => 'multi_text',
|
@@ -320,7 +335,7 @@ $this->sections[] = array(
|
|
320 |
'add_text' => __('Add New URL','ultimatemember'),
|
321 |
'required' => array( 'accessible', '=', 2 ),
|
322 |
),
|
323 |
-
|
324 |
array(
|
325 |
'id' => 'wpadmin_login',
|
326 |
'type' => 'switch',
|
@@ -330,7 +345,7 @@ $this->sections[] = array(
|
|
330 |
'on' => __('Yes','ultimatemember'),
|
331 |
'off' => __('No','ultimatemember'),
|
332 |
),
|
333 |
-
|
334 |
array(
|
335 |
'id' => 'deny_admin_frontend_login',
|
336 |
'type' => 'switch',
|
@@ -340,7 +355,7 @@ $this->sections[] = array(
|
|
340 |
'on' => __('Yes','ultimatemember'),
|
341 |
'off' => __('No','ultimatemember'),
|
342 |
),
|
343 |
-
|
344 |
array(
|
345 |
'id' => 'wpadmin_login_redirect',
|
346 |
'type' => 'select',
|
@@ -354,7 +369,7 @@ $this->sections[] = array(
|
|
354 |
'custom_url' => 'Custom URL',
|
355 |
)
|
356 |
),
|
357 |
-
|
358 |
array(
|
359 |
'id' => 'wpadmin_login_redirect_url',
|
360 |
'type' => 'text',
|
@@ -362,7 +377,7 @@ $this->sections[] = array(
|
|
362 |
'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'),
|
363 |
'required' => array( 'wpadmin_login_redirect', '=', 'custom_url' ),
|
364 |
),
|
365 |
-
|
366 |
array(
|
367 |
'id' => 'wpadmin_register',
|
368 |
'type' => 'switch',
|
@@ -372,7 +387,7 @@ $this->sections[] = array(
|
|
372 |
'on' => __('Yes','ultimatemember'),
|
373 |
'off' => __('No','ultimatemember'),
|
374 |
),
|
375 |
-
|
376 |
array(
|
377 |
'id' => 'wpadmin_register_redirect',
|
378 |
'type' => 'select',
|
@@ -386,7 +401,7 @@ $this->sections[] = array(
|
|
386 |
'custom_url' => 'Custom URL',
|
387 |
)
|
388 |
),
|
389 |
-
|
390 |
array(
|
391 |
'id' => 'wpadmin_register_redirect_url',
|
392 |
'type' => 'text',
|
@@ -394,7 +409,7 @@ $this->sections[] = array(
|
|
394 |
'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'),
|
395 |
'required' => array( 'wpadmin_register_redirect', '=', 'custom_url' ),
|
396 |
),
|
397 |
-
|
398 |
array(
|
399 |
'id' => 'access_widget_admin_only',
|
400 |
'type' => 'switch',
|
@@ -403,28 +418,28 @@ $this->sections[] = array(
|
|
403 |
'on' => __('Yes','ultimatemember'),
|
404 |
'off' => __('No','ultimatemember'),
|
405 |
),
|
406 |
-
|
407 |
array(
|
408 |
'id' => 'wpadmin_allow_ips',
|
409 |
'type' => 'textarea',
|
410 |
'title' => __( 'Whitelisted Backend IPs','ultimatemember' ),
|
411 |
'desc' => __('Always allow the specified IP addresses to access the backend login screen and WP-admin to avoid being locked from site backend.','ultimatemember'),
|
412 |
),
|
413 |
-
|
414 |
array(
|
415 |
'id' => 'blocked_ips',
|
416 |
'type' => 'textarea',
|
417 |
'title' => __( 'Blocked IP Addresses','ultimatemember' ),
|
418 |
'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'),
|
419 |
),
|
420 |
-
|
421 |
array(
|
422 |
'id' => 'blocked_emails',
|
423 |
'type' => 'textarea',
|
424 |
'title' => __( 'Blocked Email Addresses','ultimatemember' ),
|
425 |
'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'),
|
426 |
),
|
427 |
-
|
428 |
array(
|
429 |
'id' => 'blocked_words',
|
430 |
'type' => 'textarea',
|
@@ -432,7 +447,7 @@ $this->sections[] = array(
|
|
432 |
'desc' => __('This option lets you specify blacklist of words to prevent anyone from signing up with such a word as their username','ultimatemember'),
|
433 |
'default' => 'admin' . "\r\n" . 'administrator' . "\r\n" . 'webmaster' . "\r\n" . 'support' . "\r\n" . 'staff'
|
434 |
),
|
435 |
-
|
436 |
)
|
437 |
|
438 |
);
|
@@ -440,7 +455,7 @@ $this->sections[] = array(
|
|
440 |
/***
|
441 |
*** @
|
442 |
***/
|
443 |
-
|
444 |
$this->sections[] = array(
|
445 |
|
446 |
'icon' => 'um-faicon-envelope-o',
|
@@ -470,7 +485,7 @@ $this->sections[] = array(
|
|
470 |
'default' => 0,
|
471 |
'desc' => __('If you enable HTML for e-mails, you can customize the HTML e-mail templates found in <strong>templates/email</strong> folder.','ultimatemember'),
|
472 |
),
|
473 |
-
|
474 |
array(
|
475 |
'id' => 'welcome_email_on',
|
476 |
'type' => 'switch',
|
@@ -478,7 +493,7 @@ $this->sections[] = array(
|
|
478 |
'default' => 1,
|
479 |
'desc' => __('Whether to send the user an email when his account is automatically approved','ultimatemember'),
|
480 |
),
|
481 |
-
|
482 |
array(
|
483 |
'id' => 'welcome_email_sub',
|
484 |
'type' => 'text',
|
@@ -506,7 +521,7 @@ $this->sections[] = array(
|
|
506 |
'Thanks,' . "\r\n" .
|
507 |
'{site_name}',
|
508 |
),
|
509 |
-
|
510 |
array(
|
511 |
'id' => 'checkmail_email_on',
|
512 |
'type' => 'switch',
|
@@ -514,7 +529,7 @@ $this->sections[] = array(
|
|
514 |
'default' => 1,
|
515 |
'desc' => __('Whether to send the user an email when his account needs e-mail activation','ultimatemember'),
|
516 |
),
|
517 |
-
|
518 |
array(
|
519 |
'id' => 'checkmail_email_sub',
|
520 |
'type' => 'text',
|
@@ -538,7 +553,7 @@ $this->sections[] = array(
|
|
538 |
'Thanks,' . "\r\n" .
|
539 |
'{site_name}',
|
540 |
),
|
541 |
-
|
542 |
array(
|
543 |
'id' => 'pending_email_on',
|
544 |
'type' => 'switch',
|
@@ -546,7 +561,7 @@ $this->sections[] = array(
|
|
546 |
'default' => 1,
|
547 |
'desc' => __('Whether to send the user an email when his account needs admin review','ultimatemember'),
|
548 |
),
|
549 |
-
|
550 |
array(
|
551 |
'id' => 'pending_email_sub',
|
552 |
'type' => 'text',
|
@@ -570,7 +585,7 @@ $this->sections[] = array(
|
|
570 |
'Thanks,' . "\r\n" .
|
571 |
'{site_name}',
|
572 |
),
|
573 |
-
|
574 |
array(
|
575 |
'id' => 'approved_email_on',
|
576 |
'type' => 'switch',
|
@@ -578,7 +593,7 @@ $this->sections[] = array(
|
|
578 |
'default' => 1,
|
579 |
'desc' => __('Whether to send the user an email when his account is approved','ultimatemember'),
|
580 |
),
|
581 |
-
|
582 |
array(
|
583 |
'id' => 'approved_email_sub',
|
584 |
'type' => 'text',
|
@@ -606,7 +621,7 @@ $this->sections[] = array(
|
|
606 |
'Thanks,' . "\r\n" .
|
607 |
'{site_name}',
|
608 |
),
|
609 |
-
|
610 |
array(
|
611 |
'id' => 'rejected_email_on',
|
612 |
'type' => 'switch',
|
@@ -614,7 +629,7 @@ $this->sections[] = array(
|
|
614 |
'default' => 1,
|
615 |
'desc' => __('Whether to send the user an email when his account is rejected','ultimatemember'),
|
616 |
),
|
617 |
-
|
618 |
array(
|
619 |
'id' => 'rejected_email_sub',
|
620 |
'type' => 'text',
|
@@ -645,7 +660,7 @@ $this->sections[] = array(
|
|
645 |
'default' => 1,
|
646 |
'desc' => __('Whether to send the user an email when his account is deactivated','ultimatemember'),
|
647 |
),
|
648 |
-
|
649 |
array(
|
650 |
'id' => 'inactive_email_sub',
|
651 |
'type' => 'text',
|
@@ -655,7 +670,7 @@ $this->sections[] = array(
|
|
655 |
'required' => array( 'inactive_email_on', '=', 1 ),
|
656 |
'desc' => __('This is the subject line of the e-mail','ultimatemember'),
|
657 |
),
|
658 |
-
|
659 |
array(
|
660 |
'id' => 'inactive_email',
|
661 |
'type' => 'textarea',
|
@@ -676,7 +691,7 @@ $this->sections[] = array(
|
|
676 |
'default' => 1,
|
677 |
'desc' => __('Whether to send the user an email when his account is deleted','ultimatemember'),
|
678 |
),
|
679 |
-
|
680 |
array(
|
681 |
'id' => 'deletion_email_sub',
|
682 |
'type' => 'text',
|
@@ -699,7 +714,7 @@ $this->sections[] = array(
|
|
699 |
'Thanks,' . "\r\n" .
|
700 |
'{site_name}',
|
701 |
),
|
702 |
-
|
703 |
array(
|
704 |
'id' => 'resetpw_email_on',
|
705 |
'type' => 'switch',
|
@@ -707,7 +722,7 @@ $this->sections[] = array(
|
|
707 |
'default' => 1,
|
708 |
'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'),
|
709 |
),
|
710 |
-
|
711 |
array(
|
712 |
'id' => 'resetpw_email_sub',
|
713 |
'type' => 'text',
|
@@ -726,12 +741,12 @@ $this->sections[] = array(
|
|
726 |
'required' => array( 'resetpw_email_on', '=', 1 ),
|
727 |
'default' => 'Hi {display_name},' . "\r\n\r\n" .
|
728 |
'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" .
|
729 |
-
'{password_reset_link}' . "\r\n\r\n" .
|
730 |
'If you didn\'t make this request, you can ignore this email' . "\r\n\r\n" .
|
731 |
'Thanks,' . "\r\n" .
|
732 |
'{site_name}',
|
733 |
),
|
734 |
-
|
735 |
array(
|
736 |
'id' => 'changedpw_email_on',
|
737 |
'type' => 'switch',
|
@@ -739,7 +754,7 @@ $this->sections[] = array(
|
|
739 |
'default' => 1,
|
740 |
'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'),
|
741 |
),
|
742 |
-
|
743 |
array(
|
744 |
'id' => 'changedpw_email_sub',
|
745 |
'type' => 'text',
|
@@ -758,7 +773,7 @@ $this->sections[] = array(
|
|
758 |
'required' => array( 'changedpw_email_on', '=', 1 ),
|
759 |
'default' => 'Hi {display_name},' . "\r\n\r\n" .
|
760 |
'You recently changed the password associated with your {site_name} account.' . "\r\n\r\n" .
|
761 |
-
'If you did not make this change and believe your {site_name} account has been compromised, please contact us at the following email address: {admin_email}' . "\r\n\r\n" .
|
762 |
'Thanks,' . "\r\n" .
|
763 |
'{site_name}',
|
764 |
),
|
@@ -772,7 +787,7 @@ $this->sections[] = array(
|
|
772 |
***/
|
773 |
|
774 |
$this->sections[] = array(
|
775 |
-
|
776 |
'icon' => 'um-faicon-bell-o',
|
777 |
'title' => __( 'Notifications','ultimatemember' ),
|
778 |
'fields' => array(
|
@@ -883,19 +898,19 @@ $this->sections[] = array(
|
|
883 |
),
|
884 |
|
885 |
)
|
886 |
-
|
887 |
);
|
888 |
|
889 |
/***
|
890 |
*** @
|
891 |
***/
|
892 |
-
|
893 |
$this->sections[] = array(
|
894 |
|
895 |
'icon' => 'um-faicon-cloud-upload',
|
896 |
'title' => __( 'Uploads','ultimatemember'),
|
897 |
'fields' => array(
|
898 |
-
|
899 |
array(
|
900 |
'id' => 'profile_photo_max_size',
|
901 |
'type' => 'text',
|
@@ -903,7 +918,7 @@ $this->sections[] = array(
|
|
903 |
'desc' => __( 'Sets a maximum size for the uploaded photo','ultimatemember' ),
|
904 |
'validate' => 'numeric',
|
905 |
),
|
906 |
-
|
907 |
array(
|
908 |
'id' => 'cover_photo_max_size',
|
909 |
'type' => 'text',
|
@@ -911,7 +926,7 @@ $this->sections[] = array(
|
|
911 |
'desc' => __( 'Sets a maximum size for the uploaded cover','ultimatemember' ),
|
912 |
'validate' => 'numeric',
|
913 |
),
|
914 |
-
|
915 |
array(
|
916 |
'id' => 'photo_thumb_sizes',
|
917 |
'type' => 'multi_text',
|
@@ -921,7 +936,7 @@ $this->sections[] = array(
|
|
921 |
'validate' => 'numeric',
|
922 |
'add_text' => __('Add New Size','ultimatemember'),
|
923 |
),
|
924 |
-
|
925 |
array(
|
926 |
'id' => 'cover_thumb_sizes',
|
927 |
'type' => 'multi_text',
|
@@ -931,7 +946,7 @@ $this->sections[] = array(
|
|
931 |
'validate' => 'numeric',
|
932 |
'add_text' => __('Add New Size','ultimatemember'),
|
933 |
),
|
934 |
-
|
935 |
array(
|
936 |
'id' => 'image_compression',
|
937 |
'type' => 'text',
|
@@ -940,7 +955,7 @@ $this->sections[] = array(
|
|
940 |
'default' => 60,
|
941 |
'validate' => 'numeric',
|
942 |
),
|
943 |
-
|
944 |
array(
|
945 |
'id' => 'image_max_width',
|
946 |
'type' => 'text',
|
@@ -949,7 +964,7 @@ $this->sections[] = array(
|
|
949 |
'default' => 1000,
|
950 |
'validate' => 'numeric',
|
951 |
),
|
952 |
-
|
953 |
array(
|
954 |
'id' => 'cover_min_width',
|
955 |
'type' => 'text',
|
@@ -966,7 +981,7 @@ $this->sections[] = array(
|
|
966 |
/***
|
967 |
*** @
|
968 |
***/
|
969 |
-
|
970 |
$this->sections[] = array(
|
971 |
|
972 |
'icon' => 'um-faicon-search',
|
@@ -988,7 +1003,7 @@ $this->sections[] = array(
|
|
988 |
'title' => __( 'User Profile Dynamic Meta Description','ultimatemember' ),
|
989 |
'desc' => __('This will be used in the meta description that is available for search-engines.','ultimatemember')
|
990 |
),
|
991 |
-
|
992 |
)
|
993 |
|
994 |
);
|
@@ -996,13 +1011,13 @@ $this->sections[] = array(
|
|
996 |
/***
|
997 |
*** @
|
998 |
***/
|
999 |
-
|
1000 |
$this->sections[] = array(
|
1001 |
|
1002 |
'icon' => 'um-faicon-paint-brush',
|
1003 |
'title' => __( 'Appearance','ultimatemember'),
|
1004 |
'fields' => array(
|
1005 |
-
|
1006 |
)
|
1007 |
|
1008 |
);
|
@@ -1012,7 +1027,7 @@ $this->sections[] = array(
|
|
1012 |
'subsection' => true,
|
1013 |
'title' => __( 'General','ultimatemember'),
|
1014 |
'fields' => array(
|
1015 |
-
|
1016 |
array(
|
1017 |
'id' => 'directory_template',
|
1018 |
'type' => 'select',
|
@@ -1023,7 +1038,7 @@ $this->sections[] = array(
|
|
1023 |
'options' => $ultimatemember->shortcodes->get_templates( 'members' ),
|
1024 |
'required' => array( 'xxxxxxxxxxxxx', '=', 'sssssssssssssssss' ),
|
1025 |
),
|
1026 |
-
|
1027 |
array(
|
1028 |
'id' => 'active_color',
|
1029 |
'type' => 'color',
|
@@ -1033,7 +1048,7 @@ $this->sections[] = array(
|
|
1033 |
'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'),
|
1034 |
'transparent' => false,
|
1035 |
),
|
1036 |
-
|
1037 |
array(
|
1038 |
'id' => 'secondary_color',
|
1039 |
'type' => 'color',
|
@@ -1043,7 +1058,7 @@ $this->sections[] = array(
|
|
1043 |
'desc' => __('Secondary color is used for hovers, or active state for some elements of the plugin','ultimatemember'),
|
1044 |
'transparent' => false,
|
1045 |
),
|
1046 |
-
|
1047 |
array(
|
1048 |
'id' => 'primary_btn_color',
|
1049 |
'type' => 'color',
|
@@ -1052,7 +1067,7 @@ $this->sections[] = array(
|
|
1052 |
'validate' => 'color',
|
1053 |
'transparent' => false,
|
1054 |
),
|
1055 |
-
|
1056 |
array(
|
1057 |
'id' => 'primary_btn_hover',
|
1058 |
'type' => 'color',
|
@@ -1061,7 +1076,7 @@ $this->sections[] = array(
|
|
1061 |
'validate' => 'color',
|
1062 |
'transparent' => false,
|
1063 |
),
|
1064 |
-
|
1065 |
array(
|
1066 |
'id' => 'primary_btn_text',
|
1067 |
'type' => 'color',
|
@@ -1070,7 +1085,7 @@ $this->sections[] = array(
|
|
1070 |
'validate' => 'color',
|
1071 |
'transparent' => false,
|
1072 |
),
|
1073 |
-
|
1074 |
array(
|
1075 |
'id' => 'secondary_btn_color',
|
1076 |
'type' => 'color',
|
@@ -1079,7 +1094,7 @@ $this->sections[] = array(
|
|
1079 |
'validate' => 'color',
|
1080 |
'transparent' => false,
|
1081 |
),
|
1082 |
-
|
1083 |
array(
|
1084 |
'id' => 'secondary_btn_hover',
|
1085 |
'type' => 'color',
|
@@ -1088,7 +1103,7 @@ $this->sections[] = array(
|
|
1088 |
'validate' => 'color',
|
1089 |
'transparent' => false,
|
1090 |
),
|
1091 |
-
|
1092 |
array(
|
1093 |
'id' => 'secondary_btn_text',
|
1094 |
'type' => 'color',
|
@@ -1097,7 +1112,7 @@ $this->sections[] = array(
|
|
1097 |
'validate' => 'color',
|
1098 |
'transparent' => false,
|
1099 |
),
|
1100 |
-
|
1101 |
array(
|
1102 |
'id' => 'help_tip_color',
|
1103 |
'type' => 'color',
|
@@ -1106,9 +1121,9 @@ $this->sections[] = array(
|
|
1106 |
'validate' => 'color',
|
1107 |
'transparent' => false,
|
1108 |
),
|
1109 |
-
|
1110 |
)
|
1111 |
-
|
1112 |
);
|
1113 |
|
1114 |
$this->sections[] = array(
|
@@ -1116,7 +1131,7 @@ $this->sections[] = array(
|
|
1116 |
'subsection' => true,
|
1117 |
'title' => __( 'Form Inputs','ultimatemember'),
|
1118 |
'fields' => array(
|
1119 |
-
|
1120 |
array(
|
1121 |
'id' => 'form_field_label',
|
1122 |
'type' => 'color',
|
@@ -1125,7 +1140,7 @@ $this->sections[] = array(
|
|
1125 |
'validate' => 'color',
|
1126 |
'transparent' => false,
|
1127 |
),
|
1128 |
-
|
1129 |
array(
|
1130 |
'id' => 'form_border',
|
1131 |
'type' => 'text',
|
@@ -1133,7 +1148,7 @@ $this->sections[] = array(
|
|
1133 |
'default' => um_get_metadefault('form_border'),
|
1134 |
'desc' => __('The default border-style for input/fields in UM forms','ultimatemember'),
|
1135 |
),
|
1136 |
-
|
1137 |
array(
|
1138 |
'id' => 'form_border_hover',
|
1139 |
'type' => 'text',
|
@@ -1141,7 +1156,7 @@ $this->sections[] = array(
|
|
1141 |
'default' => um_get_metadefault('form_border_hover'),
|
1142 |
'desc' => __('The default border style for fields on hover state','ultimatemember'),
|
1143 |
),
|
1144 |
-
|
1145 |
array(
|
1146 |
'id' => 'form_bg_color',
|
1147 |
'type' => 'color',
|
@@ -1150,7 +1165,7 @@ $this->sections[] = array(
|
|
1150 |
'validate' => 'color',
|
1151 |
'transparent' => false,
|
1152 |
),
|
1153 |
-
|
1154 |
array(
|
1155 |
'id' => 'form_bg_color_focus',
|
1156 |
'type' => 'color',
|
@@ -1159,7 +1174,7 @@ $this->sections[] = array(
|
|
1159 |
'validate' => 'color',
|
1160 |
'transparent' => false,
|
1161 |
),
|
1162 |
-
|
1163 |
array(
|
1164 |
'id' => 'form_text_color',
|
1165 |
'type' => 'color',
|
@@ -1168,7 +1183,7 @@ $this->sections[] = array(
|
|
1168 |
'validate' => 'color',
|
1169 |
'transparent' => false,
|
1170 |
),
|
1171 |
-
|
1172 |
array(
|
1173 |
'id' => 'form_placeholder',
|
1174 |
'type' => 'color',
|
@@ -1177,7 +1192,7 @@ $this->sections[] = array(
|
|
1177 |
'validate' => 'color',
|
1178 |
'transparent' => false,
|
1179 |
),
|
1180 |
-
|
1181 |
array(
|
1182 |
'id' => 'form_icon_color',
|
1183 |
'type' => 'color',
|
@@ -1186,7 +1201,7 @@ $this->sections[] = array(
|
|
1186 |
'validate' => 'color',
|
1187 |
'transparent' => false,
|
1188 |
),
|
1189 |
-
|
1190 |
array(
|
1191 |
'id' => 'form_asterisk',
|
1192 |
'type' => 'switch',
|
@@ -1195,7 +1210,7 @@ $this->sections[] = array(
|
|
1195 |
'on' => __('Yes','ultimatemember'),
|
1196 |
'off' => __('No','ultimatemember'),
|
1197 |
),
|
1198 |
-
|
1199 |
array(
|
1200 |
'id' => 'form_asterisk_color',
|
1201 |
'type' => 'color',
|
@@ -1205,13 +1220,13 @@ $this->sections[] = array(
|
|
1205 |
'transparent' => false,
|
1206 |
'required' => array( 'form_asterisk', '=', '1' ),
|
1207 |
),
|
1208 |
-
|
1209 |
)
|
1210 |
-
|
1211 |
);
|
1212 |
|
1213 |
$this->sections[] = array(
|
1214 |
-
|
1215 |
'subsection' => true,
|
1216 |
'title' => __( 'Profile','ultimatemember'),
|
1217 |
'fields' => array(
|
@@ -1225,7 +1240,7 @@ $this->sections[] = array(
|
|
1225 |
'default' => um_get_metadefault('profile_template'),
|
1226 |
'options' => $ultimatemember->shortcodes->get_templates( 'profile' ),
|
1227 |
),
|
1228 |
-
|
1229 |
array(
|
1230 |
'id' => 'profile_max_width',
|
1231 |
'type' => 'text',
|
@@ -1233,7 +1248,7 @@ $this->sections[] = array(
|
|
1233 |
'default' => um_get_metadefault('profile_max_width'),
|
1234 |
'desc' => 'The maximum width this shortcode can take from the page width',
|
1235 |
),
|
1236 |
-
|
1237 |
array(
|
1238 |
'id' => 'profile_area_max_width',
|
1239 |
'type' => 'text',
|
@@ -1241,7 +1256,7 @@ $this->sections[] = array(
|
|
1241 |
'default' => um_get_metadefault('profile_area_max_width'),
|
1242 |
'desc' => __('The maximum width of the profile area inside profile (below profile header)','ultimatemember'),
|
1243 |
),
|
1244 |
-
|
1245 |
array(
|
1246 |
'id' => 'profile_align',
|
1247 |
'type' => 'select',
|
@@ -1255,7 +1270,7 @@ $this->sections[] = array(
|
|
1255 |
'right' => __('Right aligned','ultimatemember'),
|
1256 |
),
|
1257 |
),
|
1258 |
-
|
1259 |
array(
|
1260 |
'id' => 'profile_icons',
|
1261 |
'type' => 'select',
|
@@ -1269,7 +1284,7 @@ $this->sections[] = array(
|
|
1269 |
'off' => __('Turn off','ultimatemember'),
|
1270 |
),
|
1271 |
),
|
1272 |
-
|
1273 |
array(
|
1274 |
'id' => 'profile_primary_btn_word',
|
1275 |
'type' => 'text',
|
@@ -1277,7 +1292,7 @@ $this->sections[] = array(
|
|
1277 |
'default' => um_get_metadefault('profile_primary_btn_word'),
|
1278 |
'desc' => __('The text that is used for updating profile button','ultimatemember'),
|
1279 |
),
|
1280 |
-
|
1281 |
array(
|
1282 |
'id' => 'profile_secondary_btn',
|
1283 |
'type' => 'switch',
|
@@ -1287,7 +1302,7 @@ $this->sections[] = array(
|
|
1287 |
'on' => __('On','ultimatemember'),
|
1288 |
'off' => __('Off','ultimatemember'),
|
1289 |
),
|
1290 |
-
|
1291 |
array(
|
1292 |
'id' => 'profile_secondary_btn_word',
|
1293 |
'type' => 'text',
|
@@ -1296,7 +1311,7 @@ $this->sections[] = array(
|
|
1296 |
'desc' => __('The text that is used for cancelling update profile button','ultimatemember'),
|
1297 |
'required' => array( 'profile_secondary_btn', '=', 1 ),
|
1298 |
),
|
1299 |
-
|
1300 |
array(
|
1301 |
'id' => 'profile_role',
|
1302 |
'type' => 'select',
|
@@ -1306,7 +1321,7 @@ $this->sections[] = array(
|
|
1306 |
'default' => um_get_metadefault('profile_role'),
|
1307 |
'options' => $ultimatemember->query->get_roles( $add_default = 'Not specific' ),
|
1308 |
),
|
1309 |
-
|
1310 |
array(
|
1311 |
'id' => 'profile_main_bg',
|
1312 |
'type' => 'color',
|
@@ -1315,7 +1330,7 @@ $this->sections[] = array(
|
|
1315 |
'validate' => 'color',
|
1316 |
'transparent' => false,
|
1317 |
),
|
1318 |
-
|
1319 |
array(
|
1320 |
'id' => 'profile_header_bg',
|
1321 |
'type' => 'color',
|
@@ -1324,7 +1339,7 @@ $this->sections[] = array(
|
|
1324 |
'validate' => 'color',
|
1325 |
'transparent' => false,
|
1326 |
),
|
1327 |
-
|
1328 |
array(
|
1329 |
'id' => 'default_avatar',
|
1330 |
'type' => 'media',
|
@@ -1334,7 +1349,7 @@ $this->sections[] = array(
|
|
1334 |
'url' => um_url . 'assets/img/default_avatar.jpg',
|
1335 |
),
|
1336 |
),
|
1337 |
-
|
1338 |
array(
|
1339 |
'id' => 'default_cover',
|
1340 |
'type' => 'media',
|
@@ -1343,7 +1358,7 @@ $this->sections[] = array(
|
|
1343 |
'title' => __('Default Cover Photo', 'ultimatemember'),
|
1344 |
'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'),
|
1345 |
),
|
1346 |
-
|
1347 |
array(
|
1348 |
'id' => 'profile_photosize',
|
1349 |
'type' => 'text',
|
@@ -1351,7 +1366,7 @@ $this->sections[] = array(
|
|
1351 |
'default' => um_get_metadefault('profile_photosize'),
|
1352 |
'desc' => __('The global default of profile photo size. This can be overridden by individual form settings','ultimatemember'),
|
1353 |
),
|
1354 |
-
|
1355 |
array(
|
1356 |
'id' => 'profile_photocorner',
|
1357 |
'type' => 'select',
|
@@ -1365,7 +1380,7 @@ $this->sections[] = array(
|
|
1365 |
'3' => __('Square','ultimatemember'),
|
1366 |
),
|
1367 |
),
|
1368 |
-
|
1369 |
array(
|
1370 |
'id' => 'profile_cover_enabled',
|
1371 |
'type' => 'switch',
|
@@ -1375,7 +1390,7 @@ $this->sections[] = array(
|
|
1375 |
'on' => __('On','ultimatemember'),
|
1376 |
'off' => __('Off','ultimatemember'),
|
1377 |
),
|
1378 |
-
|
1379 |
array(
|
1380 |
'id' => 'profile_cover_ratio',
|
1381 |
'type' => 'select',
|
@@ -1384,13 +1399,14 @@ $this->sections[] = array(
|
|
1384 |
'desc' => __( 'Choose global ratio for cover photos of profiles','ultimatemember' ),
|
1385 |
'default' => um_get_metadefault('profile_cover_ratio'),
|
1386 |
'options' => array(
|
|
|
1387 |
'2.7:1' => '2.7:1',
|
1388 |
'2.2:1' => '2.2:1',
|
1389 |
'3.2:1' => '3.2:1',
|
1390 |
),
|
1391 |
'required' => array( 'profile_cover_enabled', '=', 1 ),
|
1392 |
),
|
1393 |
-
|
1394 |
array(
|
1395 |
'id' => 'profile_show_metaicon',
|
1396 |
'type' => 'switch',
|
@@ -1400,7 +1416,7 @@ $this->sections[] = array(
|
|
1400 |
'on' => __('On','ultimatemember'),
|
1401 |
'off' => __('Off','ultimatemember'),
|
1402 |
),
|
1403 |
-
|
1404 |
array(
|
1405 |
'id' => 'profile_header_text',
|
1406 |
'type' => 'color',
|
@@ -1409,7 +1425,7 @@ $this->sections[] = array(
|
|
1409 |
'validate' => 'color',
|
1410 |
'transparent' => false,
|
1411 |
),
|
1412 |
-
|
1413 |
array(
|
1414 |
'id' => 'profile_header_link_color',
|
1415 |
'type' => 'color',
|
@@ -1418,7 +1434,7 @@ $this->sections[] = array(
|
|
1418 |
'validate' => 'color',
|
1419 |
'transparent' => false,
|
1420 |
),
|
1421 |
-
|
1422 |
array(
|
1423 |
'id' => 'profile_header_link_hcolor',
|
1424 |
'type' => 'color',
|
@@ -1427,7 +1443,7 @@ $this->sections[] = array(
|
|
1427 |
'validate' => 'color',
|
1428 |
'transparent' => false,
|
1429 |
),
|
1430 |
-
|
1431 |
array(
|
1432 |
'id' => 'profile_header_icon_color',
|
1433 |
'type' => 'color',
|
@@ -1436,7 +1452,7 @@ $this->sections[] = array(
|
|
1436 |
'validate' => 'color',
|
1437 |
'transparent' => false,
|
1438 |
),
|
1439 |
-
|
1440 |
array(
|
1441 |
'id' => 'profile_header_icon_hcolor',
|
1442 |
'type' => 'color',
|
@@ -1445,7 +1461,7 @@ $this->sections[] = array(
|
|
1445 |
'validate' => 'color',
|
1446 |
'transparent' => false,
|
1447 |
),
|
1448 |
-
|
1449 |
array(
|
1450 |
'id' => 'profile_show_name',
|
1451 |
'type' => 'switch',
|
@@ -1455,7 +1471,7 @@ $this->sections[] = array(
|
|
1455 |
'on' => __('On','ultimatemember'),
|
1456 |
'off' => __('Off','ultimatemember'),
|
1457 |
),
|
1458 |
-
|
1459 |
array(
|
1460 |
'id' => 'profile_show_social_links',
|
1461 |
'type' => 'switch',
|
@@ -1465,7 +1481,7 @@ $this->sections[] = array(
|
|
1465 |
'on' => __('On','ultimatemember'),
|
1466 |
'off' => __('Off','ultimatemember'),
|
1467 |
),
|
1468 |
-
|
1469 |
array(
|
1470 |
'id' => 'profile_show_bio',
|
1471 |
'type' => 'switch',
|
@@ -1475,7 +1491,17 @@ $this->sections[] = array(
|
|
1475 |
'on' => __('On','ultimatemember'),
|
1476 |
'off' => __('Off','ultimatemember'),
|
1477 |
),
|
1478 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1479 |
array(
|
1480 |
'id' => 'profile_bio_maxchars',
|
1481 |
'type' => 'text',
|
@@ -1484,7 +1510,7 @@ $this->sections[] = array(
|
|
1484 |
'desc' => __('Maximum number of characters to allow in user description field in header.','ultimatemember'),
|
1485 |
'required' => array( 'profile_show_bio', '=', 1 ),
|
1486 |
),
|
1487 |
-
|
1488 |
array(
|
1489 |
'id' => 'profile_header_menu',
|
1490 |
'type' => 'select',
|
@@ -1497,7 +1523,7 @@ $this->sections[] = array(
|
|
1497 |
'lc' => 'Left of Icon',
|
1498 |
),
|
1499 |
),
|
1500 |
-
|
1501 |
array(
|
1502 |
'id' => 'profile_empty_text',
|
1503 |
'type' => 'switch',
|
@@ -1507,7 +1533,7 @@ $this->sections[] = array(
|
|
1507 |
'on' => __('On','ultimatemember'),
|
1508 |
'off' => __('Off','ultimatemember'),
|
1509 |
),
|
1510 |
-
|
1511 |
array(
|
1512 |
'id' => 'profile_empty_text_emo',
|
1513 |
'type' => 'switch',
|
@@ -1518,9 +1544,9 @@ $this->sections[] = array(
|
|
1518 |
'off' => __('Off','ultimatemember'),
|
1519 |
'required' => array( 'profile_empty_text', '=', 1 ),
|
1520 |
),
|
1521 |
-
|
1522 |
)
|
1523 |
-
|
1524 |
);
|
1525 |
|
1526 |
$tabs = $ultimatemember->profile->tabs_primary();
|
@@ -1569,19 +1595,19 @@ $tab_options[] = array(
|
|
1569 |
);
|
1570 |
|
1571 |
$this->sections[] = array(
|
1572 |
-
|
1573 |
'subsection' => true,
|
1574 |
'title' => __( 'Profile Menu','ultimatemember'),
|
1575 |
'fields' => $tab_options
|
1576 |
-
|
1577 |
);
|
1578 |
|
1579 |
$this->sections[] = array(
|
1580 |
-
|
1581 |
'subsection' => true,
|
1582 |
'title' => __( 'Registration Form','ultimatemember'),
|
1583 |
'fields' => array(
|
1584 |
-
|
1585 |
array(
|
1586 |
'id' => 'register_template',
|
1587 |
'type' => 'select',
|
@@ -1591,7 +1617,7 @@ $this->sections[] = array(
|
|
1591 |
'default' => um_get_metadefault('register_template'),
|
1592 |
'options' => $ultimatemember->shortcodes->get_templates( 'register' ),
|
1593 |
),
|
1594 |
-
|
1595 |
array(
|
1596 |
'id' => 'register_max_width',
|
1597 |
'type' => 'text',
|
@@ -1599,7 +1625,7 @@ $this->sections[] = array(
|
|
1599 |
'default' => um_get_metadefault('register_max_width'),
|
1600 |
'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'),
|
1601 |
),
|
1602 |
-
|
1603 |
array(
|
1604 |
'id' => 'register_align',
|
1605 |
'type' => 'select',
|
@@ -1613,7 +1639,7 @@ $this->sections[] = array(
|
|
1613 |
'right' => __('Right aligned'),
|
1614 |
),
|
1615 |
),
|
1616 |
-
|
1617 |
array(
|
1618 |
'id' => 'register_icons',
|
1619 |
'type' => 'select',
|
@@ -1627,7 +1653,7 @@ $this->sections[] = array(
|
|
1627 |
'off' => __('Turn off'),
|
1628 |
),
|
1629 |
),
|
1630 |
-
|
1631 |
array(
|
1632 |
'id' => 'register_primary_btn_word',
|
1633 |
'type' => 'text',
|
@@ -1635,7 +1661,7 @@ $this->sections[] = array(
|
|
1635 |
'default' => um_get_metadefault('register_primary_btn_word'),
|
1636 |
'desc' => __('The text that is used for primary button text','ultimatemember'),
|
1637 |
),
|
1638 |
-
|
1639 |
array(
|
1640 |
'id' => 'register_secondary_btn',
|
1641 |
'type' => 'switch',
|
@@ -1645,7 +1671,7 @@ $this->sections[] = array(
|
|
1645 |
'on' => __('On','ultimatemember'),
|
1646 |
'off' => __('Off','ultimatemember'),
|
1647 |
),
|
1648 |
-
|
1649 |
array(
|
1650 |
'id' => 'register_secondary_btn_word',
|
1651 |
'type' => 'text',
|
@@ -1654,7 +1680,7 @@ $this->sections[] = array(
|
|
1654 |
'desc' => __('The text that is used for the secondary button text','ultimatemember'),
|
1655 |
'required' => array( 'register_secondary_btn', '=', 1 ),
|
1656 |
),
|
1657 |
-
|
1658 |
array(
|
1659 |
'id' => 'register_secondary_btn_url',
|
1660 |
'type' => 'text',
|
@@ -1663,7 +1689,7 @@ $this->sections[] = array(
|
|
1663 |
'desc' => __('You can replace default link for this button by entering custom URL','ultimatemember'),
|
1664 |
'required' => array( 'login_secondary_btn', '=', 1 ),
|
1665 |
),
|
1666 |
-
|
1667 |
array(
|
1668 |
'id' => 'register_role',
|
1669 |
'type' => 'select',
|
@@ -1673,17 +1699,17 @@ $this->sections[] = array(
|
|
1673 |
'default' => um_get_metadefault('register_role'),
|
1674 |
'options' => $ultimatemember->query->get_roles( $add_default = 'Default' ),
|
1675 |
),
|
1676 |
-
|
1677 |
)
|
1678 |
-
|
1679 |
);
|
1680 |
|
1681 |
$this->sections[] = array(
|
1682 |
-
|
1683 |
'subsection' => true,
|
1684 |
'title' => __( 'Login Form','ultimatemember'),
|
1685 |
'fields' => array(
|
1686 |
-
|
1687 |
array(
|
1688 |
'id' => 'login_template',
|
1689 |
'type' => 'select',
|
@@ -1693,7 +1719,7 @@ $this->sections[] = array(
|
|
1693 |
'default' => um_get_metadefault('login_template'),
|
1694 |
'options' => $ultimatemember->shortcodes->get_templates( 'login' ),
|
1695 |
),
|
1696 |
-
|
1697 |
array(
|
1698 |
'id' => 'login_max_width',
|
1699 |
'type' => 'text',
|
@@ -1701,7 +1727,7 @@ $this->sections[] = array(
|
|
1701 |
'default' => um_get_metadefault('login_max_width'),
|
1702 |
'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'),
|
1703 |
),
|
1704 |
-
|
1705 |
array(
|
1706 |
'id' => 'login_align',
|
1707 |
'type' => 'select',
|
@@ -1715,7 +1741,7 @@ $this->sections[] = array(
|
|
1715 |
'right' => __('Right aligned','ultimatemember'),
|
1716 |
),
|
1717 |
),
|
1718 |
-
|
1719 |
array(
|
1720 |
'id' => 'login_icons',
|
1721 |
'type' => 'select',
|
@@ -1729,7 +1755,7 @@ $this->sections[] = array(
|
|
1729 |
'off' => __('Turn off','ultimatemember'),
|
1730 |
),
|
1731 |
),
|
1732 |
-
|
1733 |
array(
|
1734 |
'id' => 'login_primary_btn_word',
|
1735 |
'type' => 'text',
|
@@ -1737,7 +1763,7 @@ $this->sections[] = array(
|
|
1737 |
'default' => um_get_metadefault('login_primary_btn_word'),
|
1738 |
'desc' => __('The text that is used for primary button text','ultimatemember'),
|
1739 |
),
|
1740 |
-
|
1741 |
array(
|
1742 |
'id' => 'login_secondary_btn',
|
1743 |
'type' => 'switch',
|
@@ -1747,7 +1773,7 @@ $this->sections[] = array(
|
|
1747 |
'on' => __('On','ultimatemember'),
|
1748 |
'off' => __('Off','ultimatemember'),
|
1749 |
),
|
1750 |
-
|
1751 |
array(
|
1752 |
'id' => 'login_secondary_btn_word',
|
1753 |
'type' => 'text',
|
@@ -1756,7 +1782,7 @@ $this->sections[] = array(
|
|
1756 |
'desc' => __('The text that is used for the secondary button text','ultimatemember'),
|
1757 |
'required' => array( 'login_secondary_btn', '=', 1 ),
|
1758 |
),
|
1759 |
-
|
1760 |
array(
|
1761 |
'id' => 'login_secondary_btn_url',
|
1762 |
'type' => 'text',
|
@@ -1765,7 +1791,7 @@ $this->sections[] = array(
|
|
1765 |
'desc' => __('You can replace default link for this button by entering custom URL','ultimatemember'),
|
1766 |
'required' => array( 'login_secondary_btn', '=', 1 ),
|
1767 |
),
|
1768 |
-
|
1769 |
array(
|
1770 |
'id' => 'login_forgot_pass_link',
|
1771 |
'type' => 'switch',
|
@@ -1775,7 +1801,7 @@ $this->sections[] = array(
|
|
1775 |
'on' => __('On','ultimatemember'),
|
1776 |
'off' => __('Off','ultimatemember'),
|
1777 |
),
|
1778 |
-
|
1779 |
array(
|
1780 |
'id' => 'login_show_rememberme',
|
1781 |
'type' => 'switch',
|
@@ -1785,14 +1811,14 @@ $this->sections[] = array(
|
|
1785 |
'on' => __('On','ultimatemember'),
|
1786 |
'off' => __('Off','ultimatemember'),
|
1787 |
),
|
1788 |
-
|
1789 |
)
|
1790 |
-
|
1791 |
);
|
1792 |
|
1793 |
if ( um_get_option('enable_custom_css') ) {
|
1794 |
$this->sections[] = array(
|
1795 |
-
|
1796 |
'subsection' => true,
|
1797 |
'title' => __( 'Custom CSS','ultimatemember'),
|
1798 |
'fields' => array(
|
@@ -1804,22 +1830,22 @@ $this->sections[] = array(
|
|
1804 |
'desc' => __('Any custom css rules that you specify here will be applied globally to the plugin.','ultimatemember'),
|
1805 |
'rows' => 20,
|
1806 |
),
|
1807 |
-
|
1808 |
)
|
1809 |
-
|
1810 |
);
|
1811 |
}
|
1812 |
|
1813 |
/***
|
1814 |
*** @
|
1815 |
***/
|
1816 |
-
|
1817 |
$this->sections[] = array(
|
1818 |
|
1819 |
'icon' => 'um-faicon-wrench',
|
1820 |
'title' => __('Advanced','ultimatemember'),
|
1821 |
'fields' => array(
|
1822 |
-
|
1823 |
array(
|
1824 |
'id' => 'import_export',
|
1825 |
'type' => 'import_export',
|
@@ -1836,7 +1862,7 @@ $this->sections[] = array(
|
|
1836 |
'on' => __('On','ultimatemember'),
|
1837 |
'off' => __('Off','ultimatemember'),
|
1838 |
),
|
1839 |
-
|
1840 |
array(
|
1841 |
'id' => 'current_url_method',
|
1842 |
'type' => 'select',
|
@@ -1849,7 +1875,7 @@ $this->sections[] = array(
|
|
1849 |
'HTTP_HOST' => __('Use HTTP_HOST','ultimatemember'),
|
1850 |
),
|
1851 |
),
|
1852 |
-
|
1853 |
array(
|
1854 |
'id' => 'advanced_denied_roles',
|
1855 |
'type' => 'text',
|
@@ -1857,7 +1883,7 @@ $this->sections[] = array(
|
|
1857 |
'default' => '',
|
1858 |
'desc' => __('Comma seperate roles (role slugs) that can not be registered from frontend ever for security.','ultimatemember'),
|
1859 |
),
|
1860 |
-
|
1861 |
array(
|
1862 |
'id' => 'enable_timebot',
|
1863 |
'type' => 'switch',
|
@@ -1867,7 +1893,7 @@ $this->sections[] = array(
|
|
1867 |
'on' => __('On','ultimatemember'),
|
1868 |
'off' => __('Off','ultimatemember'),
|
1869 |
),
|
1870 |
-
|
1871 |
array(
|
1872 |
'id' => 'disable_minify',
|
1873 |
'type' => 'switch',
|
@@ -1877,7 +1903,7 @@ $this->sections[] = array(
|
|
1877 |
'on' => __('On','ultimatemember'),
|
1878 |
'off' => __('Off','ultimatemember'),
|
1879 |
),
|
1880 |
-
|
1881 |
array(
|
1882 |
'id' => 'disable_menu',
|
1883 |
'type' => 'switch',
|
@@ -1887,7 +1913,7 @@ $this->sections[] = array(
|
|
1887 |
'on' => __('On','ultimatemember'),
|
1888 |
'off' => __('Off','ultimatemember'),
|
1889 |
),
|
1890 |
-
|
1891 |
array(
|
1892 |
'id' => 'js_css_exlcude_home',
|
1893 |
'type' => 'switch',
|
@@ -1897,7 +1923,7 @@ $this->sections[] = array(
|
|
1897 |
'on' => __('On','ultimatemember'),
|
1898 |
'off' => __('Off','ultimatemember'),
|
1899 |
),
|
1900 |
-
|
1901 |
array(
|
1902 |
'id' => 'js_css_exclude',
|
1903 |
'type' => 'multi_text',
|
@@ -1906,7 +1932,7 @@ $this->sections[] = array(
|
|
1906 |
'desc' => __( 'Enter a url or page slug (e.g /about/) to disable loading the plugin\'s css and js on that page.','ultimatemember' ),
|
1907 |
'add_text' => __('Add New Page','ultimatemember'),
|
1908 |
),
|
1909 |
-
|
1910 |
array(
|
1911 |
'id' => 'js_css_include',
|
1912 |
'type' => 'multi_text',
|
@@ -1915,7 +1941,7 @@ $this->sections[] = array(
|
|
1915 |
'desc' => __( 'Enter a url or page slug (e.g /about/) to enable loading the plugin\'s css and js on that page.','ultimatemember' ),
|
1916 |
'add_text' => __('Add New Page','ultimatemember'),
|
1917 |
),
|
1918 |
-
|
1919 |
array(
|
1920 |
'id' => 'enable_custom_css',
|
1921 |
'type' => 'switch',
|
@@ -1924,7 +1950,7 @@ $this->sections[] = array(
|
|
1924 |
'on' => __('On','ultimatemember'),
|
1925 |
'off' => __('Off','ultimatemember'),
|
1926 |
),
|
1927 |
-
|
1928 |
array(
|
1929 |
'id' => 'allow_tracking',
|
1930 |
'type' => 'switch',
|
@@ -1936,4 +1962,4 @@ $this->sections[] = array(
|
|
1936 |
|
1937 |
)
|
1938 |
|
1939 |
-
);
|
20 |
$core_pages = apply_filters('um_core_pages', $core_pages );
|
21 |
|
22 |
foreach( $core_pages as $page_s => $page ) {
|
23 |
+
|
24 |
+
$have_pages = $ultimatemember->query->wp_pages();
|
25 |
+
|
26 |
+
if( ! empty( $have_pages ) ){
|
27 |
+
$page_setup[] = array(
|
28 |
+
'id' => 'core_' . $page_s,
|
29 |
+
'type' => 'select',
|
30 |
+
'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
|
31 |
+
'title' => $page,
|
32 |
+
'default' => ( isset( $ultimatemember->permalinks->core[ $page_s ] ) ) ? $ultimatemember->permalinks->core[ $page_s ] : '' ,
|
33 |
+
'options' => $ultimatemember->query->wp_pages(),
|
34 |
+
'placeholder' => __('Choose a page...','ultimatemember'),
|
35 |
+
'compiler' => true,
|
36 |
+
);
|
37 |
+
}else{
|
38 |
+
$page_setup[] = array(
|
39 |
+
'id' => 'core_' . $page_s,
|
40 |
+
'type' => 'text',
|
41 |
+
'title' => $page,
|
42 |
+
'placeholder' => __('Add page ID','ultimatemember'),
|
43 |
+
'default' => ( isset( $ultimatemember->permalinks->core[ $page_s ] ) ) ? $ultimatemember->permalinks->core[ $page_s ] : '',
|
44 |
+
'compiler' => true,
|
45 |
+
);
|
46 |
+
}
|
47 |
}
|
48 |
|
49 |
$this->sections[] = array(
|
70 |
'password-reset' => __('Password reset page','ultimatemember'),
|
71 |
);
|
72 |
$pages = get_option('um_core_pages');
|
73 |
+
|
74 |
$core_pages = apply_filters('um_core_pages', $core_pages );
|
75 |
|
76 |
foreach( $core_pages as $slug => $page ) {
|
82 |
/***
|
83 |
*** @
|
84 |
***/
|
85 |
+
|
86 |
$this->sections[] = array(
|
87 |
|
88 |
'icon' => 'um-faicon-user',
|
89 |
'title' => __( 'Users','ultimatemember'),
|
90 |
'fields' => array(
|
91 |
+
|
92 |
array(
|
93 |
'id' => 'default_role',
|
94 |
'type' => 'select',
|
99 |
'options' => $ultimatemember->query->get_roles(),
|
100 |
'placeholder' => __('Choose user role...','ultimatemember'),
|
101 |
),
|
102 |
+
|
103 |
array(
|
104 |
'id' => 'permalink_base',
|
105 |
'type' => 'select',
|
115 |
),
|
116 |
'placeholder' => __('Select...','ultimatemember')
|
117 |
),
|
118 |
+
|
119 |
array(
|
120 |
'id' => 'display_name',
|
121 |
'type' => 'select',
|
124 |
'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' ),
|
125 |
'default' => 'full_name',
|
126 |
'options' => array(
|
127 |
+
'default' => __('Default WP Display Name','ultimatemember'),
|
128 |
+
'nickname' => __('Nickname','ultimatemember'),
|
129 |
'username' => __('Username','ultimatemember'),
|
130 |
'full_name' => __('First name & last name','ultimatemember'),
|
131 |
'sur_name' => __('Last name & first name','ultimatemember'),
|
132 |
'initial_name' => __('First name & first initial of last name','ultimatemember'),
|
133 |
'initial_name_f' => __('First initial of first name & last name','ultimatemember'),
|
134 |
'first_name' => __('First name only','ultimatemember'),
|
|
|
135 |
'field' => __('Custom field(s)','ultimatemember'),
|
136 |
),
|
137 |
'placeholder' => __('Select...')
|
138 |
),
|
139 |
+
|
140 |
array(
|
141 |
'id' => 'display_name_field',
|
142 |
'type' => 'text',
|
144 |
'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'),
|
145 |
'required' => array( 'display_name', '=', 'field' ),
|
146 |
),
|
147 |
+
|
148 |
array(
|
149 |
'id' => 'author_redirect',
|
150 |
'type' => 'switch',
|
154 |
'on' => __('Yes','ultimatemember'),
|
155 |
'off' => __('No','ultimatemember'),
|
156 |
),
|
157 |
+
|
158 |
array(
|
159 |
'id' => 'members_page',
|
160 |
'type' => 'switch',
|
164 |
'on' => __('Yes','ultimatemember'),
|
165 |
'off' => __('No','ultimatemember'),
|
166 |
),
|
167 |
+
|
168 |
array(
|
169 |
'id' => 'use_gravatars',
|
170 |
'type' => 'switch',
|
174 |
'on' => __('Yes','ultimatemember'),
|
175 |
'off' => __('No','ultimatemember'),
|
176 |
),
|
177 |
+
|
178 |
array(
|
179 |
'id' => 'reset_require_strongpass',
|
180 |
'type' => 'switch',
|
184 |
'on' => __('On','ultimatemember'),
|
185 |
'off' => __('Off','ultimatemember'),
|
186 |
),
|
187 |
+
|
188 |
)
|
189 |
|
190 |
);
|
192 |
/***
|
193 |
*** @
|
194 |
***/
|
195 |
+
|
196 |
$this->sections[] = array(
|
197 |
|
198 |
'icon' => 'um-faicon-cog',
|
199 |
'title' => __( 'Account','ultimatemember'),
|
200 |
'fields' => array(
|
201 |
+
|
202 |
array(
|
203 |
'id' => 'account_tab_password',
|
204 |
'type' => 'switch',
|
208 |
'on' => __('On','ultimatemember'),
|
209 |
'off' => __('Off','ultimatemember'),
|
210 |
),
|
211 |
+
|
212 |
array(
|
213 |
'id' => 'account_tab_privacy',
|
214 |
'type' => 'switch',
|
218 |
'on' => __('On','ultimatemember'),
|
219 |
'off' => __('Off','ultimatemember'),
|
220 |
),
|
221 |
+
|
222 |
array(
|
223 |
'id' => 'account_tab_notifications',
|
224 |
'type' => 'switch',
|
228 |
'on' => __('On','ultimatemember'),
|
229 |
'off' => __('Off','ultimatemember'),
|
230 |
),
|
231 |
+
|
232 |
array(
|
233 |
'id' => 'account_tab_delete',
|
234 |
'type' => 'switch',
|
238 |
'on' => __('On','ultimatemember'),
|
239 |
'off' => __('Off','ultimatemember'),
|
240 |
),
|
241 |
+
|
242 |
array(
|
243 |
'id' => 'delete_account_text',
|
244 |
'type' => 'textarea', // bug with wp 4.4? should be editor
|
251 |
'textarea_rows' => 6
|
252 |
),
|
253 |
),
|
254 |
+
|
255 |
array(
|
256 |
'id' => 'account_name',
|
257 |
'type' => 'switch',
|
261 |
'on' => __('On','ultimatemember'),
|
262 |
'off' => __('Off','ultimatemember'),
|
263 |
),
|
264 |
+
|
265 |
array(
|
266 |
'id' => 'account_email',
|
267 |
'type' => 'switch',
|
271 |
'on' => __('On','ultimatemember'),
|
272 |
'off' => __('Off','ultimatemember'),
|
273 |
),
|
274 |
+
|
275 |
array(
|
276 |
'id' => 'account_require_strongpass',
|
277 |
'type' => 'switch',
|
304 |
'default' => $ultimatemember->validation->randomize(),
|
305 |
'desc' => trailingslashit( get_bloginfo('url') ).'wp-admin/?um_panic_key=<strong>your_panic_key</strong>'
|
306 |
),
|
307 |
+
|
308 |
array(
|
309 |
'id' => 'accessible',
|
310 |
'type' => 'select',
|
325 |
'desc' => __('A logged out user will be redirected to this url If he is not permitted to access the site','ultimatemember'),
|
326 |
'required' => array( 'accessible', '=', 2 ),
|
327 |
),
|
328 |
+
|
329 |
array(
|
330 |
'id' => 'access_exclude_uris',
|
331 |
'type' => 'multi_text',
|
335 |
'add_text' => __('Add New URL','ultimatemember'),
|
336 |
'required' => array( 'accessible', '=', 2 ),
|
337 |
),
|
338 |
+
|
339 |
array(
|
340 |
'id' => 'wpadmin_login',
|
341 |
'type' => 'switch',
|
345 |
'on' => __('Yes','ultimatemember'),
|
346 |
'off' => __('No','ultimatemember'),
|
347 |
),
|
348 |
+
|
349 |
array(
|
350 |
'id' => 'deny_admin_frontend_login',
|
351 |
'type' => 'switch',
|
355 |
'on' => __('Yes','ultimatemember'),
|
356 |
'off' => __('No','ultimatemember'),
|
357 |
),
|
358 |
+
|
359 |
array(
|
360 |
'id' => 'wpadmin_login_redirect',
|
361 |
'type' => 'select',
|
369 |
'custom_url' => 'Custom URL',
|
370 |
)
|
371 |
),
|
372 |
+
|
373 |
array(
|
374 |
'id' => 'wpadmin_login_redirect_url',
|
375 |
'type' => 'text',
|
377 |
'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'),
|
378 |
'required' => array( 'wpadmin_login_redirect', '=', 'custom_url' ),
|
379 |
),
|
380 |
+
|
381 |
array(
|
382 |
'id' => 'wpadmin_register',
|
383 |
'type' => 'switch',
|
387 |
'on' => __('Yes','ultimatemember'),
|
388 |
'off' => __('No','ultimatemember'),
|
389 |
),
|
390 |
+
|
391 |
array(
|
392 |
'id' => 'wpadmin_register_redirect',
|
393 |
'type' => 'select',
|
401 |
'custom_url' => 'Custom URL',
|
402 |
)
|
403 |
),
|
404 |
+
|
405 |
array(
|
406 |
'id' => 'wpadmin_register_redirect_url',
|
407 |
'type' => 'text',
|
409 |
'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'),
|
410 |
'required' => array( 'wpadmin_register_redirect', '=', 'custom_url' ),
|
411 |
),
|
412 |
+
|
413 |
array(
|
414 |
'id' => 'access_widget_admin_only',
|
415 |
'type' => 'switch',
|
418 |
'on' => __('Yes','ultimatemember'),
|
419 |
'off' => __('No','ultimatemember'),
|
420 |
),
|
421 |
+
|
422 |
array(
|
423 |
'id' => 'wpadmin_allow_ips',
|
424 |
'type' => 'textarea',
|
425 |
'title' => __( 'Whitelisted Backend IPs','ultimatemember' ),
|
426 |
'desc' => __('Always allow the specified IP addresses to access the backend login screen and WP-admin to avoid being locked from site backend.','ultimatemember'),
|
427 |
),
|
428 |
+
|
429 |
array(
|
430 |
'id' => 'blocked_ips',
|
431 |
'type' => 'textarea',
|
432 |
'title' => __( 'Blocked IP Addresses','ultimatemember' ),
|
433 |
'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'),
|
434 |
),
|
435 |
+
|
436 |
array(
|
437 |
'id' => 'blocked_emails',
|
438 |
'type' => 'textarea',
|
439 |
'title' => __( 'Blocked Email Addresses','ultimatemember' ),
|
440 |
'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'),
|
441 |
),
|
442 |
+
|
443 |
array(
|
444 |
'id' => 'blocked_words',
|
445 |
'type' => 'textarea',
|
447 |
'desc' => __('This option lets you specify blacklist of words to prevent anyone from signing up with such a word as their username','ultimatemember'),
|
448 |
'default' => 'admin' . "\r\n" . 'administrator' . "\r\n" . 'webmaster' . "\r\n" . 'support' . "\r\n" . 'staff'
|
449 |
),
|
450 |
+
|
451 |
)
|
452 |
|
453 |
);
|
455 |
/***
|
456 |
*** @
|
457 |
***/
|
458 |
+
|
459 |
$this->sections[] = array(
|
460 |
|
461 |
'icon' => 'um-faicon-envelope-o',
|
485 |
'default' => 0,
|
486 |
'desc' => __('If you enable HTML for e-mails, you can customize the HTML e-mail templates found in <strong>templates/email</strong> folder.','ultimatemember'),
|
487 |
),
|
488 |
+
|
489 |
array(
|
490 |
'id' => 'welcome_email_on',
|
491 |
'type' => 'switch',
|
493 |
'default' => 1,
|
494 |
'desc' => __('Whether to send the user an email when his account is automatically approved','ultimatemember'),
|
495 |
),
|
496 |
+
|
497 |
array(
|
498 |
'id' => 'welcome_email_sub',
|
499 |
'type' => 'text',
|
521 |
'Thanks,' . "\r\n" .
|
522 |
'{site_name}',
|
523 |
),
|
524 |
+
|
525 |
array(
|
526 |
'id' => 'checkmail_email_on',
|
527 |
'type' => 'switch',
|
529 |
'default' => 1,
|
530 |
'desc' => __('Whether to send the user an email when his account needs e-mail activation','ultimatemember'),
|
531 |
),
|
532 |
+
|
533 |
array(
|
534 |
'id' => 'checkmail_email_sub',
|
535 |
'type' => 'text',
|
553 |
'Thanks,' . "\r\n" .
|
554 |
'{site_name}',
|
555 |
),
|
556 |
+
|
557 |
array(
|
558 |
'id' => 'pending_email_on',
|
559 |
'type' => 'switch',
|
561 |
'default' => 1,
|
562 |
'desc' => __('Whether to send the user an email when his account needs admin review','ultimatemember'),
|
563 |
),
|
564 |
+
|
565 |
array(
|
566 |
'id' => 'pending_email_sub',
|
567 |
'type' => 'text',
|
585 |
'Thanks,' . "\r\n" .
|
586 |
'{site_name}',
|
587 |
),
|
588 |
+
|
589 |
array(
|
590 |
'id' => 'approved_email_on',
|
591 |
'type' => 'switch',
|
593 |
'default' => 1,
|
594 |
'desc' => __('Whether to send the user an email when his account is approved','ultimatemember'),
|
595 |
),
|
596 |
+
|
597 |
array(
|
598 |
'id' => 'approved_email_sub',
|
599 |
'type' => 'text',
|
621 |
'Thanks,' . "\r\n" .
|
622 |
'{site_name}',
|
623 |
),
|
624 |
+
|
625 |
array(
|
626 |
'id' => 'rejected_email_on',
|
627 |
'type' => 'switch',
|
629 |
'default' => 1,
|
630 |
'desc' => __('Whether to send the user an email when his account is rejected','ultimatemember'),
|
631 |
),
|
632 |
+
|
633 |
array(
|
634 |
'id' => 'rejected_email_sub',
|
635 |
'type' => 'text',
|
660 |
'default' => 1,
|
661 |
'desc' => __('Whether to send the user an email when his account is deactivated','ultimatemember'),
|
662 |
),
|
663 |
+
|
664 |
array(
|
665 |
'id' => 'inactive_email_sub',
|
666 |
'type' => 'text',
|
670 |
'required' => array( 'inactive_email_on', '=', 1 ),
|
671 |
'desc' => __('This is the subject line of the e-mail','ultimatemember'),
|
672 |
),
|
673 |
+
|
674 |
array(
|
675 |
'id' => 'inactive_email',
|
676 |
'type' => 'textarea',
|
691 |
'default' => 1,
|
692 |
'desc' => __('Whether to send the user an email when his account is deleted','ultimatemember'),
|
693 |
),
|
694 |
+
|
695 |
array(
|
696 |
'id' => 'deletion_email_sub',
|
697 |
'type' => 'text',
|
714 |
'Thanks,' . "\r\n" .
|
715 |
'{site_name}',
|
716 |
),
|
717 |
+
|
718 |
array(
|
719 |
'id' => 'resetpw_email_on',
|
720 |
'type' => 'switch',
|
722 |
'default' => 1,
|
723 |
'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'),
|
724 |
),
|
725 |
+
|
726 |
array(
|
727 |
'id' => 'resetpw_email_sub',
|
728 |
'type' => 'text',
|
741 |
'required' => array( 'resetpw_email_on', '=', 1 ),
|
742 |
'default' => 'Hi {display_name},' . "\r\n\r\n" .
|
743 |
'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" .
|
744 |
+
'{password_reset_link}' . "\r\n\r\n" .
|
745 |
'If you didn\'t make this request, you can ignore this email' . "\r\n\r\n" .
|
746 |
'Thanks,' . "\r\n" .
|
747 |
'{site_name}',
|
748 |
),
|
749 |
+
|
750 |
array(
|
751 |
'id' => 'changedpw_email_on',
|
752 |
'type' => 'switch',
|
754 |
'default' => 1,
|
755 |
'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'),
|
756 |
),
|
757 |
+
|
758 |
array(
|
759 |
'id' => 'changedpw_email_sub',
|
760 |
'type' => 'text',
|
773 |
'required' => array( 'changedpw_email_on', '=', 1 ),
|
774 |
'default' => 'Hi {display_name},' . "\r\n\r\n" .
|
775 |
'You recently changed the password associated with your {site_name} account.' . "\r\n\r\n" .
|
776 |
+
'If you did not make this change and believe your {site_name} account has been compromised, please contact us at the following email address: {admin_email}' . "\r\n\r\n" .
|
777 |
'Thanks,' . "\r\n" .
|
778 |
'{site_name}',
|
779 |
),
|
787 |
***/
|
788 |
|
789 |
$this->sections[] = array(
|
790 |
+
|
791 |
'icon' => 'um-faicon-bell-o',
|
792 |
'title' => __( 'Notifications','ultimatemember' ),
|
793 |
'fields' => array(
|
898 |
),
|
899 |
|
900 |
)
|
901 |
+
|
902 |
);
|
903 |
|
904 |
/***
|
905 |
*** @
|
906 |
***/
|
907 |
+
|
908 |
$this->sections[] = array(
|
909 |
|
910 |
'icon' => 'um-faicon-cloud-upload',
|
911 |
'title' => __( 'Uploads','ultimatemember'),
|
912 |
'fields' => array(
|
913 |
+
|
914 |
array(
|
915 |
'id' => 'profile_photo_max_size',
|
916 |
'type' => 'text',
|
918 |
'desc' => __( 'Sets a maximum size for the uploaded photo','ultimatemember' ),
|
919 |
'validate' => 'numeric',
|
920 |
),
|
921 |
+
|
922 |
array(
|
923 |
'id' => 'cover_photo_max_size',
|
924 |
'type' => 'text',
|
926 |
'desc' => __( 'Sets a maximum size for the uploaded cover','ultimatemember' ),
|
927 |
'validate' => 'numeric',
|
928 |
),
|
929 |
+
|
930 |
array(
|
931 |
'id' => 'photo_thumb_sizes',
|
932 |
'type' => 'multi_text',
|
936 |
'validate' => 'numeric',
|
937 |
'add_text' => __('Add New Size','ultimatemember'),
|
938 |
),
|
939 |
+
|
940 |
array(
|
941 |
'id' => 'cover_thumb_sizes',
|
942 |
'type' => 'multi_text',
|
946 |
'validate' => 'numeric',
|
947 |
'add_text' => __('Add New Size','ultimatemember'),
|
948 |
),
|
949 |
+
|
950 |
array(
|
951 |
'id' => 'image_compression',
|
952 |
'type' => 'text',
|
955 |
'default' => 60,
|
956 |
'validate' => 'numeric',
|
957 |
),
|
958 |
+
|
959 |
array(
|
960 |
'id' => 'image_max_width',
|
961 |
'type' => 'text',
|
964 |
'default' => 1000,
|
965 |
'validate' => 'numeric',
|
966 |
),
|
967 |
+
|
968 |
array(
|
969 |
'id' => 'cover_min_width',
|
970 |
'type' => 'text',
|
981 |
/***
|
982 |
*** @
|
983 |
***/
|
984 |
+
|
985 |
$this->sections[] = array(
|
986 |
|
987 |
'icon' => 'um-faicon-search',
|
1003 |
'title' => __( 'User Profile Dynamic Meta Description','ultimatemember' ),
|
1004 |
'desc' => __('This will be used in the meta description that is available for search-engines.','ultimatemember')
|
1005 |
),
|
1006 |
+
|
1007 |
)
|
1008 |
|
1009 |
);
|
1011 |
/***
|
1012 |
*** @
|
1013 |
***/
|
1014 |
+
|
1015 |
$this->sections[] = array(
|
1016 |
|
1017 |
'icon' => 'um-faicon-paint-brush',
|
1018 |
'title' => __( 'Appearance','ultimatemember'),
|
1019 |
'fields' => array(
|
1020 |
+
|
1021 |
)
|
1022 |
|
1023 |
);
|
1027 |
'subsection' => true,
|
1028 |
'title' => __( 'General','ultimatemember'),
|
1029 |
'fields' => array(
|
1030 |
+
|
1031 |
array(
|
1032 |
'id' => 'directory_template',
|
1033 |
'type' => 'select',
|
1038 |
'options' => $ultimatemember->shortcodes->get_templates( 'members' ),
|
1039 |
'required' => array( 'xxxxxxxxxxxxx', '=', 'sssssssssssssssss' ),
|
1040 |
),
|
1041 |
+
|
1042 |
array(
|
1043 |
'id' => 'active_color',
|
1044 |
'type' => 'color',
|
1048 |
'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'),
|
1049 |
'transparent' => false,
|
1050 |
),
|
1051 |
+
|
1052 |
array(
|
1053 |
'id' => 'secondary_color',
|
1054 |
'type' => 'color',
|
1058 |
'desc' => __('Secondary color is used for hovers, or active state for some elements of the plugin','ultimatemember'),
|
1059 |
'transparent' => false,
|
1060 |
),
|
1061 |
+
|
1062 |
array(
|
1063 |
'id' => 'primary_btn_color',
|
1064 |
'type' => 'color',
|
1067 |
'validate' => 'color',
|
1068 |
'transparent' => false,
|
1069 |
),
|
1070 |
+
|
1071 |
array(
|
1072 |
'id' => 'primary_btn_hover',
|
1073 |
'type' => 'color',
|
1076 |
'validate' => 'color',
|
1077 |
'transparent' => false,
|
1078 |
),
|
1079 |
+
|
1080 |
array(
|
1081 |
'id' => 'primary_btn_text',
|
1082 |
'type' => 'color',
|
1085 |
'validate' => 'color',
|
1086 |
'transparent' => false,
|
1087 |
),
|
1088 |
+
|
1089 |
array(
|
1090 |
'id' => 'secondary_btn_color',
|
1091 |
'type' => 'color',
|
1094 |
'validate' => 'color',
|
1095 |
'transparent' => false,
|
1096 |
),
|
1097 |
+
|
1098 |
array(
|
1099 |
'id' => 'secondary_btn_hover',
|
1100 |
'type' => 'color',
|
1103 |
'validate' => 'color',
|
1104 |
'transparent' => false,
|
1105 |
),
|
1106 |
+
|
1107 |
array(
|
1108 |
'id' => 'secondary_btn_text',
|
1109 |
'type' => 'color',
|
1112 |
'validate' => 'color',
|
1113 |
'transparent' => false,
|
1114 |
),
|
1115 |
+
|
1116 |
array(
|
1117 |
'id' => 'help_tip_color',
|
1118 |
'type' => 'color',
|
1121 |
'validate' => 'color',
|
1122 |
'transparent' => false,
|
1123 |
),
|
1124 |
+
|
1125 |
)
|
1126 |
+
|
1127 |
);
|
1128 |
|
1129 |
$this->sections[] = array(
|
1131 |
'subsection' => true,
|
1132 |
'title' => __( 'Form Inputs','ultimatemember'),
|
1133 |
'fields' => array(
|
1134 |
+
|
1135 |
array(
|
1136 |
'id' => 'form_field_label',
|
1137 |
'type' => 'color',
|
1140 |
'validate' => 'color',
|
1141 |
'transparent' => false,
|
1142 |
),
|
1143 |
+
|
1144 |
array(
|
1145 |
'id' => 'form_border',
|
1146 |
'type' => 'text',
|
1148 |
'default' => um_get_metadefault('form_border'),
|
1149 |
'desc' => __('The default border-style for input/fields in UM forms','ultimatemember'),
|
1150 |
),
|
1151 |
+
|
1152 |
array(
|
1153 |
'id' => 'form_border_hover',
|
1154 |
'type' => 'text',
|
1156 |
'default' => um_get_metadefault('form_border_hover'),
|
1157 |
'desc' => __('The default border style for fields on hover state','ultimatemember'),
|
1158 |
),
|
1159 |
+
|
1160 |
array(
|
1161 |
'id' => 'form_bg_color',
|
1162 |
'type' => 'color',
|
1165 |
'validate' => 'color',
|
1166 |
'transparent' => false,
|
1167 |
),
|
1168 |
+
|
1169 |
array(
|
1170 |
'id' => 'form_bg_color_focus',
|
1171 |
'type' => 'color',
|
1174 |
'validate' => 'color',
|
1175 |
'transparent' => false,
|
1176 |
),
|
1177 |
+
|
1178 |
array(
|
1179 |
'id' => 'form_text_color',
|
1180 |
'type' => 'color',
|
1183 |
'validate' => 'color',
|
1184 |
'transparent' => false,
|
1185 |
),
|
1186 |
+
|
1187 |
array(
|
1188 |
'id' => 'form_placeholder',
|
1189 |
'type' => 'color',
|
1192 |
'validate' => 'color',
|
1193 |
'transparent' => false,
|
1194 |
),
|
1195 |
+
|
1196 |
array(
|
1197 |
'id' => 'form_icon_color',
|
1198 |
'type' => 'color',
|
1201 |
'validate' => 'color',
|
1202 |
'transparent' => false,
|
1203 |
),
|
1204 |
+
|
1205 |
array(
|
1206 |
'id' => 'form_asterisk',
|
1207 |
'type' => 'switch',
|
1210 |
'on' => __('Yes','ultimatemember'),
|
1211 |
'off' => __('No','ultimatemember'),
|
1212 |
),
|
1213 |
+
|
1214 |
array(
|
1215 |
'id' => 'form_asterisk_color',
|
1216 |
'type' => 'color',
|
1220 |
'transparent' => false,
|
1221 |
'required' => array( 'form_asterisk', '=', '1' ),
|
1222 |
),
|
1223 |
+
|
1224 |
)
|
1225 |
+
|
1226 |
);
|
1227 |
|
1228 |
$this->sections[] = array(
|
1229 |
+
|
1230 |
'subsection' => true,
|
1231 |
'title' => __( 'Profile','ultimatemember'),
|
1232 |
'fields' => array(
|
1240 |
'default' => um_get_metadefault('profile_template'),
|
1241 |
'options' => $ultimatemember->shortcodes->get_templates( 'profile' ),
|
1242 |
),
|
1243 |
+
|
1244 |
array(
|
1245 |
'id' => 'profile_max_width',
|
1246 |
'type' => 'text',
|
1248 |
'default' => um_get_metadefault('profile_max_width'),
|
1249 |
'desc' => 'The maximum width this shortcode can take from the page width',
|
1250 |
),
|
1251 |
+
|
1252 |
array(
|
1253 |
'id' => 'profile_area_max_width',
|
1254 |
'type' => 'text',
|
1256 |
'default' => um_get_metadefault('profile_area_max_width'),
|
1257 |
'desc' => __('The maximum width of the profile area inside profile (below profile header)','ultimatemember'),
|
1258 |
),
|
1259 |
+
|
1260 |
array(
|
1261 |
'id' => 'profile_align',
|
1262 |
'type' => 'select',
|
1270 |
'right' => __('Right aligned','ultimatemember'),
|
1271 |
),
|
1272 |
),
|
1273 |
+
|
1274 |
array(
|
1275 |
'id' => 'profile_icons',
|
1276 |
'type' => 'select',
|
1284 |
'off' => __('Turn off','ultimatemember'),
|
1285 |
),
|
1286 |
),
|
1287 |
+
|
1288 |
array(
|
1289 |
'id' => 'profile_primary_btn_word',
|
1290 |
'type' => 'text',
|
1292 |
'default' => um_get_metadefault('profile_primary_btn_word'),
|
1293 |
'desc' => __('The text that is used for updating profile button','ultimatemember'),
|
1294 |
),
|
1295 |
+
|
1296 |
array(
|
1297 |
'id' => 'profile_secondary_btn',
|
1298 |
'type' => 'switch',
|
1302 |
'on' => __('On','ultimatemember'),
|
1303 |
'off' => __('Off','ultimatemember'),
|
1304 |
),
|
1305 |
+
|
1306 |
array(
|
1307 |
'id' => 'profile_secondary_btn_word',
|
1308 |
'type' => 'text',
|
1311 |
'desc' => __('The text that is used for cancelling update profile button','ultimatemember'),
|
1312 |
'required' => array( 'profile_secondary_btn', '=', 1 ),
|
1313 |
),
|
1314 |
+
|
1315 |
array(
|
1316 |
'id' => 'profile_role',
|
1317 |
'type' => 'select',
|
1321 |
'default' => um_get_metadefault('profile_role'),
|
1322 |
'options' => $ultimatemember->query->get_roles( $add_default = 'Not specific' ),
|
1323 |
),
|
1324 |
+
|
1325 |
array(
|
1326 |
'id' => 'profile_main_bg',
|
1327 |
'type' => 'color',
|
1330 |
'validate' => 'color',
|
1331 |
'transparent' => false,
|
1332 |
),
|
1333 |
+
|
1334 |
array(
|
1335 |
'id' => 'profile_header_bg',
|
1336 |
'type' => 'color',
|
1339 |
'validate' => 'color',
|
1340 |
'transparent' => false,
|
1341 |
),
|
1342 |
+
|
1343 |
array(
|
1344 |
'id' => 'default_avatar',
|
1345 |
'type' => 'media',
|
1349 |
'url' => um_url . 'assets/img/default_avatar.jpg',
|
1350 |
),
|
1351 |
),
|
1352 |
+
|
1353 |
array(
|
1354 |
'id' => 'default_cover',
|
1355 |
'type' => 'media',
|
1358 |
'title' => __('Default Cover Photo', 'ultimatemember'),
|
1359 |
'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'),
|
1360 |
),
|
1361 |
+
|
1362 |
array(
|
1363 |
'id' => 'profile_photosize',
|
1364 |
'type' => 'text',
|
1366 |
'default' => um_get_metadefault('profile_photosize'),
|
1367 |
'desc' => __('The global default of profile photo size. This can be overridden by individual form settings','ultimatemember'),
|
1368 |
),
|
1369 |
+
|
1370 |
array(
|
1371 |
'id' => 'profile_photocorner',
|
1372 |
'type' => 'select',
|
1380 |
'3' => __('Square','ultimatemember'),
|
1381 |
),
|
1382 |
),
|
1383 |
+
|
1384 |
array(
|
1385 |
'id' => 'profile_cover_enabled',
|
1386 |
'type' => 'switch',
|
1390 |
'on' => __('On','ultimatemember'),
|
1391 |
'off' => __('Off','ultimatemember'),
|
1392 |
),
|
1393 |
+
|
1394 |
array(
|
1395 |
'id' => 'profile_cover_ratio',
|
1396 |
'type' => 'select',
|
1399 |
'desc' => __( 'Choose global ratio for cover photos of profiles','ultimatemember' ),
|
1400 |
'default' => um_get_metadefault('profile_cover_ratio'),
|
1401 |
'options' => array(
|
1402 |
+
'1.6:1' => '1.6:1',
|
1403 |
'2.7:1' => '2.7:1',
|
1404 |
'2.2:1' => '2.2:1',
|
1405 |
'3.2:1' => '3.2:1',
|
1406 |
),
|
1407 |
'required' => array( 'profile_cover_enabled', '=', 1 ),
|
1408 |
),
|
1409 |
+
|
1410 |
array(
|
1411 |
'id' => 'profile_show_metaicon',
|
1412 |
'type' => 'switch',
|
1416 |
'on' => __('On','ultimatemember'),
|
1417 |
'off' => __('Off','ultimatemember'),
|
1418 |
),
|
1419 |
+
|
1420 |
array(
|
1421 |
'id' => 'profile_header_text',
|
1422 |
'type' => 'color',
|
1425 |
'validate' => 'color',
|
1426 |
'transparent' => false,
|
1427 |
),
|
1428 |
+
|
1429 |
array(
|
1430 |
'id' => 'profile_header_link_color',
|
1431 |
'type' => 'color',
|
1434 |
'validate' => 'color',
|
1435 |
'transparent' => false,
|
1436 |
),
|
1437 |
+
|
1438 |
array(
|
1439 |
'id' => 'profile_header_link_hcolor',
|
1440 |
'type' => 'color',
|
1443 |
'validate' => 'color',
|
1444 |
'transparent' => false,
|
1445 |
),
|
1446 |
+
|
1447 |
array(
|
1448 |
'id' => 'profile_header_icon_color',
|
1449 |
'type' => 'color',
|
1452 |
'validate' => 'color',
|
1453 |
'transparent' => false,
|
1454 |
),
|
1455 |
+
|
1456 |
array(
|
1457 |
'id' => 'profile_header_icon_hcolor',
|
1458 |
'type' => 'color',
|
1461 |
'validate' => 'color',
|
1462 |
'transparent' => false,
|
1463 |
),
|
1464 |
+
|
1465 |
array(
|
1466 |
'id' => 'profile_show_name',
|
1467 |
'type' => 'switch',
|
1471 |
'on' => __('On','ultimatemember'),
|
1472 |
'off' => __('Off','ultimatemember'),
|
1473 |
),
|
1474 |
+
|
1475 |
array(
|
1476 |
'id' => 'profile_show_social_links',
|
1477 |
'type' => 'switch',
|
1481 |
'on' => __('On','ultimatemember'),
|
1482 |
'off' => __('Off','ultimatemember'),
|
1483 |
),
|
1484 |
+
|
1485 |
array(
|
1486 |
'id' => 'profile_show_bio',
|
1487 |
'type' => 'switch',
|
1491 |
'on' => __('On','ultimatemember'),
|
1492 |
'off' => __('Off','ultimatemember'),
|
1493 |
),
|
1494 |
+
|
1495 |
+
array(
|
1496 |
+
'id' => 'profile_show_html_bio',
|
1497 |
+
'type' => 'switch',
|
1498 |
+
'title' => __( 'Enable html support for user description','ultimatemember' ),
|
1499 |
+
'default' => um_get_metadefault('profile_show_html_bio'),
|
1500 |
+
'desc' => __('Switch on/off to enable/disable support for html tags on user description.','ultimatemember'),
|
1501 |
+
'on' => __('On','ultimatemember'),
|
1502 |
+
'off' => __('Off','ultimatemember'),
|
1503 |
+
),
|
1504 |
+
|
1505 |
array(
|
1506 |
'id' => 'profile_bio_maxchars',
|
1507 |
'type' => 'text',
|
1510 |
'desc' => __('Maximum number of characters to allow in user description field in header.','ultimatemember'),
|
1511 |
'required' => array( 'profile_show_bio', '=', 1 ),
|
1512 |
),
|
1513 |
+
|
1514 |
array(
|
1515 |
'id' => 'profile_header_menu',
|
1516 |
'type' => 'select',
|
1523 |
'lc' => 'Left of Icon',
|
1524 |
),
|
1525 |
),
|
1526 |
+
|
1527 |
array(
|
1528 |
'id' => 'profile_empty_text',
|
1529 |
'type' => 'switch',
|
1533 |
'on' => __('On','ultimatemember'),
|
1534 |
'off' => __('Off','ultimatemember'),
|
1535 |
),
|
1536 |
+
|
1537 |
array(
|
1538 |
'id' => 'profile_empty_text_emo',
|
1539 |
'type' => 'switch',
|
1544 |
'off' => __('Off','ultimatemember'),
|
1545 |
'required' => array( 'profile_empty_text', '=', 1 ),
|
1546 |
),
|
1547 |
+
|
1548 |
)
|
1549 |
+
|
1550 |
);
|
1551 |
|
1552 |
$tabs = $ultimatemember->profile->tabs_primary();
|
1595 |
);
|
1596 |
|
1597 |
$this->sections[] = array(
|
1598 |
+
|
1599 |
'subsection' => true,
|
1600 |
'title' => __( 'Profile Menu','ultimatemember'),
|
1601 |
'fields' => $tab_options
|
1602 |
+
|
1603 |
);
|
1604 |
|
1605 |
$this->sections[] = array(
|
1606 |
+
|
1607 |
'subsection' => true,
|
1608 |
'title' => __( 'Registration Form','ultimatemember'),
|
1609 |
'fields' => array(
|
1610 |
+
|
1611 |
array(
|
1612 |
'id' => 'register_template',
|
1613 |
'type' => 'select',
|
1617 |
'default' => um_get_metadefault('register_template'),
|
1618 |
'options' => $ultimatemember->shortcodes->get_templates( 'register' ),
|
1619 |
),
|
1620 |
+
|
1621 |
array(
|
1622 |
'id' => 'register_max_width',
|
1623 |
'type' => 'text',
|
1625 |
'default' => um_get_metadefault('register_max_width'),
|
1626 |
'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'),
|
1627 |
),
|
1628 |
+
|
1629 |
array(
|
1630 |
'id' => 'register_align',
|
1631 |
'type' => 'select',
|
1639 |
'right' => __('Right aligned'),
|
1640 |
),
|
1641 |
),
|
1642 |
+
|
1643 |
array(
|
1644 |
'id' => 'register_icons',
|
1645 |
'type' => 'select',
|
1653 |
'off' => __('Turn off'),
|
1654 |
),
|
1655 |
),
|
1656 |
+
|
1657 |
array(
|
1658 |
'id' => 'register_primary_btn_word',
|
1659 |
'type' => 'text',
|
1661 |
'default' => um_get_metadefault('register_primary_btn_word'),
|
1662 |
'desc' => __('The text that is used for primary button text','ultimatemember'),
|
1663 |
),
|
1664 |
+
|
1665 |
array(
|
1666 |
'id' => 'register_secondary_btn',
|
1667 |
'type' => 'switch',
|
1671 |
'on' => __('On','ultimatemember'),
|
1672 |
'off' => __('Off','ultimatemember'),
|
1673 |
),
|
1674 |
+
|
1675 |
array(
|
1676 |
'id' => 'register_secondary_btn_word',
|
1677 |
'type' => 'text',
|
1680 |
'desc' => __('The text that is used for the secondary button text','ultimatemember'),
|
1681 |
'required' => array( 'register_secondary_btn', '=', 1 ),
|
1682 |
),
|
1683 |
+
|
1684 |
array(
|
1685 |
'id' => 'register_secondary_btn_url',
|
1686 |
'type' => 'text',
|
1689 |
'desc' => __('You can replace default link for this button by entering custom URL','ultimatemember'),
|
1690 |
'required' => array( 'login_secondary_btn', '=', 1 ),
|
1691 |
),
|
1692 |
+
|
1693 |
array(
|
1694 |
'id' => 'register_role',
|
1695 |
'type' => 'select',
|
1699 |
'default' => um_get_metadefault('register_role'),
|
1700 |
'options' => $ultimatemember->query->get_roles( $add_default = 'Default' ),
|
1701 |
),
|
1702 |
+
|
1703 |
)
|
1704 |
+
|
1705 |
);
|
1706 |
|
1707 |
$this->sections[] = array(
|
1708 |
+
|
1709 |
'subsection' => true,
|
1710 |
'title' => __( 'Login Form','ultimatemember'),
|
1711 |
'fields' => array(
|
1712 |
+
|
1713 |
array(
|
1714 |
'id' => 'login_template',
|
1715 |
'type' => 'select',
|
1719 |
'default' => um_get_metadefault('login_template'),
|
1720 |
'options' => $ultimatemember->shortcodes->get_templates( 'login' ),
|
1721 |
),
|
1722 |
+
|
1723 |
array(
|
1724 |
'id' => 'login_max_width',
|
1725 |
'type' => 'text',
|
1727 |
'default' => um_get_metadefault('login_max_width'),
|
1728 |
'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'),
|
1729 |
),
|
1730 |
+
|
1731 |
array(
|
1732 |
'id' => 'login_align',
|
1733 |
'type' => 'select',
|
1741 |
'right' => __('Right aligned','ultimatemember'),
|
1742 |
),
|
1743 |
),
|
1744 |
+
|
1745 |
array(
|
1746 |
'id' => 'login_icons',
|
1747 |
'type' => 'select',
|
1755 |
'off' => __('Turn off','ultimatemember'),
|
1756 |
),
|
1757 |
),
|
1758 |
+
|
1759 |
array(
|
1760 |
'id' => 'login_primary_btn_word',
|
1761 |
'type' => 'text',
|
1763 |
'default' => um_get_metadefault('login_primary_btn_word'),
|
1764 |
'desc' => __('The text that is used for primary button text','ultimatemember'),
|
1765 |
),
|
1766 |
+
|
1767 |
array(
|
1768 |
'id' => 'login_secondary_btn',
|
1769 |
'type' => 'switch',
|
1773 |
'on' => __('On','ultimatemember'),
|
1774 |
'off' => __('Off','ultimatemember'),
|
1775 |
),
|
1776 |
+
|
1777 |
array(
|
1778 |
'id' => 'login_secondary_btn_word',
|
1779 |
'type' => 'text',
|
1782 |
'desc' => __('The text that is used for the secondary button text','ultimatemember'),
|
1783 |
'required' => array( 'login_secondary_btn', '=', 1 ),
|
1784 |
),
|
1785 |
+
|
1786 |
array(
|
1787 |
'id' => 'login_secondary_btn_url',
|
1788 |
'type' => 'text',
|
1791 |
'desc' => __('You can replace default link for this button by entering custom URL','ultimatemember'),
|
1792 |
'required' => array( 'login_secondary_btn', '=', 1 ),
|
1793 |
),
|
1794 |
+
|
1795 |
array(
|
1796 |
'id' => 'login_forgot_pass_link',
|
1797 |
'type' => 'switch',
|
1801 |
'on' => __('On','ultimatemember'),
|
1802 |
'off' => __('Off','ultimatemember'),
|
1803 |
),
|
1804 |
+
|
1805 |
array(
|
1806 |
'id' => 'login_show_rememberme',
|
1807 |
'type' => 'switch',
|
1811 |
'on' => __('On','ultimatemember'),
|
1812 |
'off' => __('Off','ultimatemember'),
|
1813 |
),
|
1814 |
+
|
1815 |
)
|
1816 |
+
|
1817 |
);
|
1818 |
|
1819 |
if ( um_get_option('enable_custom_css') ) {
|
1820 |
$this->sections[] = array(
|
1821 |
+
|
1822 |
'subsection' => true,
|
1823 |
'title' => __( 'Custom CSS','ultimatemember'),
|
1824 |
'fields' => array(
|
1830 |
'desc' => __('Any custom css rules that you specify here will be applied globally to the plugin.','ultimatemember'),
|
1831 |
'rows' => 20,
|
1832 |
),
|
1833 |
+
|
1834 |
)
|
1835 |
+
|
1836 |
);
|
1837 |
}
|
1838 |
|
1839 |
/***
|
1840 |
*** @
|
1841 |
***/
|
1842 |
+
|
1843 |
$this->sections[] = array(
|
1844 |
|
1845 |
'icon' => 'um-faicon-wrench',
|
1846 |
'title' => __('Advanced','ultimatemember'),
|
1847 |
'fields' => array(
|
1848 |
+
|
1849 |
array(
|
1850 |
'id' => 'import_export',
|
1851 |
'type' => 'import_export',
|
1862 |
'on' => __('On','ultimatemember'),
|
1863 |
'off' => __('Off','ultimatemember'),
|
1864 |
),
|
1865 |
+
|
1866 |
array(
|
1867 |
'id' => 'current_url_method',
|
1868 |
'type' => 'select',
|
1875 |
'HTTP_HOST' => __('Use HTTP_HOST','ultimatemember'),
|
1876 |
),
|
1877 |
),
|
1878 |
+
|
1879 |
array(
|
1880 |
'id' => 'advanced_denied_roles',
|
1881 |
'type' => 'text',
|
1883 |
'default' => '',
|
1884 |
'desc' => __('Comma seperate roles (role slugs) that can not be registered from frontend ever for security.','ultimatemember'),
|
1885 |
),
|
1886 |
+
|
1887 |
array(
|
1888 |
'id' => 'enable_timebot',
|
1889 |
'type' => 'switch',
|
1893 |
'on' => __('On','ultimatemember'),
|
1894 |
'off' => __('Off','ultimatemember'),
|
1895 |
),
|
1896 |
+
|
1897 |
array(
|
1898 |
'id' => 'disable_minify',
|
1899 |
'type' => 'switch',
|
1903 |
'on' => __('On','ultimatemember'),
|
1904 |
'off' => __('Off','ultimatemember'),
|
1905 |
),
|
1906 |
+
|
1907 |
array(
|
1908 |
'id' => 'disable_menu',
|
1909 |
'type' => 'switch',
|
1913 |
'on' => __('On','ultimatemember'),
|
1914 |
'off' => __('Off','ultimatemember'),
|
1915 |
),
|
1916 |
+
|
1917 |
array(
|
1918 |
'id' => 'js_css_exlcude_home',
|
1919 |
'type' => 'switch',
|
1923 |
'on' => __('On','ultimatemember'),
|
1924 |
'off' => __('Off','ultimatemember'),
|
1925 |
),
|
1926 |
+
|
1927 |
array(
|
1928 |
'id' => 'js_css_exclude',
|
1929 |
'type' => 'multi_text',
|
1932 |
'desc' => __( 'Enter a url or page slug (e.g /about/) to disable loading the plugin\'s css and js on that page.','ultimatemember' ),
|
1933 |
'add_text' => __('Add New Page','ultimatemember'),
|
1934 |
),
|
1935 |
+
|
1936 |
array(
|
1937 |
'id' => 'js_css_include',
|
1938 |
'type' => 'multi_text',
|
1941 |
'desc' => __( 'Enter a url or page slug (e.g /about/) to enable loading the plugin\'s css and js on that page.','ultimatemember' ),
|
1942 |
'add_text' => __('Add New Page','ultimatemember'),
|
1943 |
),
|
1944 |
+
|
1945 |
array(
|
1946 |
'id' => 'enable_custom_css',
|
1947 |
'type' => 'switch',
|
1950 |
'on' => __('On','ultimatemember'),
|
1951 |
'off' => __('Off','ultimatemember'),
|
1952 |
),
|
1953 |
+
|
1954 |
array(
|
1955 |
'id' => 'allow_tracking',
|
1956 |
'type' => 'switch',
|
1962 |
|
1963 |
)
|
1964 |
|
1965 |
+
);
|
um-init.php
CHANGED
@@ -4,6 +4,8 @@ class UM_API {
|
|
4 |
|
5 |
public $is_filtering;
|
6 |
|
|
|
|
|
7 |
function __construct() {
|
8 |
|
9 |
$this->is_filtering = 0;
|
@@ -56,9 +58,11 @@ class UM_API {
|
|
56 |
***/
|
57 |
function load_addons() {
|
58 |
global $ultimatemember;
|
59 |
-
|
60 |
-
|
61 |
-
|
|
|
|
|
62 |
}
|
63 |
}
|
64 |
}
|
4 |
|
5 |
public $is_filtering;
|
6 |
|
7 |
+
public $addons = null;
|
8 |
+
|
9 |
function __construct() {
|
10 |
|
11 |
$this->is_filtering = 0;
|
58 |
***/
|
59 |
function load_addons() {
|
60 |
global $ultimatemember;
|
61 |
+
if ( isset( $ultimatemember->addons ) && is_array( $ultimatemember->addons ) ) {
|
62 |
+
foreach( $ultimatemember->addons as $addon => $name ) {
|
63 |
+
if ( um_get_option('addon_' . $addon ) == 1 ) {
|
64 |
+
include_once um_path . 'addons/'.$addon.'.php';
|
65 |
+
}
|
66 |
}
|
67 |
}
|
68 |
}
|