Member directory settings and filters

This commit is contained in:
ultimatemember
2015-01-10 00:59:09 +02:00
parent 53a1cd28e8
commit 74cde599e1
15 changed files with 88 additions and 94 deletions
+1
View File
@@ -277,6 +277,7 @@ class UM_Admin_Metabox {
delete_post_meta( $post_id, '_um_tagline_fields' );
delete_post_meta( $post_id, '_um_reveal_fields' );
delete_post_meta( $post_id, '_um_search_fields' );
delete_post_meta( $post_id, '_um_roles_can_search' );
foreach( $_POST as $k => $v ) {
if (strstr($k, '_um_')){
update_post_meta( $post_id, $k, $v);
-1
View File
@@ -42,7 +42,6 @@
<span class="um-admin-half">
<select name="_um_sortby" id="_um_sortby" class="umaf-selectjs um-adm-conditional" style="width: 300px" data-cond1='other' data-cond1-show='custom-field'>
<option value="user_registered_desc" <?php selected('user_registered_desc', $ultimatemember->query->get_meta_value('_um_sortby') ); ?>>Default</option>
<option value="user_registered_desc" <?php selected('user_registered_desc', $ultimatemember->query->get_meta_value('_um_sortby') ); ?>>New users first</option>
<option value="user_registered_asc" <?php selected('user_registered_asc', $ultimatemember->query->get_meta_value('_um_sortby') ); ?>>Old users first</option>
<option value="display_name" <?php selected('display_name', $ultimatemember->query->get_meta_value('_um_sortby') ); ?>>Display Name</option>
+8
View File
@@ -2,6 +2,10 @@
<div class="">
<?php
/*
<p>
<label class="um-admin-half"><?php _e('Use Infinite Scroll instead of pagination','ultimatemember'); ?></label>
<span class="um-admin-half">
@@ -29,6 +33,10 @@
</span>
</p><div class="um-admin-clear"></div>
*/
?>
<p class="pagination-settings">
<label class="um-admin-half"><?php _e('Number of profiles per page','ultimatemember'); ?> <?php $this->tooltip('Number of member profiles to appear on every page'); ?></label>
<span class="um-admin-half">
+1 -1
View File
@@ -21,7 +21,7 @@
</p><div class="um-admin-clear"></div>
<p>
<label class="um-admin-half"><?php _e('Show public profile name','ultimatemember'); ?></label>
<label class="um-admin-half"><?php _e('Show display name','ultimatemember'); ?></label>
<span class="um-admin-half">
<?php $this->ui_on_off('_um_show_name', 1, true, 1, 'name-options', 'xxx'); ?>
@@ -16,20 +16,4 @@
<input type="text" value="<?php echo $ultimatemember->query->get_meta_value('_um_css_img_bordercolor', null, 'na'); ?>" class="um-admin-colorpicker" name="_um_css_img_bordercolor" id="_um_css_img_bordercolor" />
</p>
<p><label for="_um_css_stats_bg"><?php _e('Stats background color','ultimatemember'); ?></label>
<input type="text" value="<?php echo $ultimatemember->query->get_meta_value('_um_css_stats_bg', null, 'na'); ?>" class="um-admin-colorpicker" name="_um_css_stats_bg" id="_um_css_stats_bg" />
</p>
<p><label for="_um_css_stats_bordercolor"><?php _e('Stats border color','ultimatemember'); ?></label>
<input type="text" value="<?php echo $ultimatemember->query->get_meta_value('_um_css_stats_bordercolor', null, 'na'); ?>" class="um-admin-colorpicker" name="_um_css_stats_bordercolor" id="_um_css_stats_bordercolor" />
</p>
<p><label for="_um_css_stats_num_color"><?php _e('Stats numbers color','ultimatemember'); ?></label>
<input type="text" value="<?php echo $ultimatemember->query->get_meta_value('_um_css_stats_num_color', null, 'na'); ?>" class="um-admin-colorpicker" name="_um_css_stats_num_color" id="_um_css_stats_num_color" />
</p>
<p><label for="_um_css_stats_lbl_color"><?php _e('Stats label color','ultimatemember'); ?></label>
<input type="text" value="<?php echo $ultimatemember->query->get_meta_value('_um_css_stats_lbl_color', null, 'na'); ?>" class="um-admin-colorpicker" name="_um_css_stats_lbl_color" id="_um_css_stats_lbl_color" />
</p>
</div>
+15 -28
View File
@@ -11,6 +11,19 @@
</span>
</p><div class="um-admin-clear"></div>
<p class="search-options">
<label class="um-admin-half"><?php _e('User Roles that can use search','ultimatemember'); ?> <?php $this->tooltip('If you want to allow specific user roles to be able to search only'); ?></label>
<span class="um-admin-half">
<select multiple="multiple" name="_um_roles_can_search[]" id="_um_roles_can_search" class="umaf-selectjs" style="width: 300px">
<?php foreach($ultimatemember->query->get_roles() as $key => $value) { ?>
<option value="<?php echo $key; ?>" <?php selected($key, $ultimatemember->query->get_meta_value('_um_roles_can_search', $key) ); ?>><?php echo $value; ?></option>
<?php } ?>
</select>
</span>
</p><div class="um-admin-clear"></div>
<p class="search-options">
<label class=""><?php _e('Choose field(s) to enable in search','ultimatemember'); ?></label>
@@ -25,7 +38,7 @@
<span class="um-admin-field">
<select name="_um_search_fields[]" id="_um_search_fields" class="umaf-selectjs" style="width: 300px" data-placeholder="Choose a field">
<?php foreach($ultimatemember->builtin->all_user_fields() as $key => $arr) { ?>
<?php foreach($ultimatemember->builtin->all_user_fields('date,time,url') as $key => $arr) { ?>
<option value="<?php echo $key; ?>" <?php selected($key, $val ); ?>><?php echo isset( $arr['title'] ) ? $arr['title'] : ''; ?></option>
<?php } ?>
</select>
@@ -46,7 +59,7 @@
<span class="um-admin-field">
<select name="_um_search_fields[]" id="_um_search_fields" class="umaf-selectjs" style="width: 300px" data-placeholder="Choose a field">
<?php foreach($ultimatemember->builtin->all_user_fields() as $key => $arr) { ?>
<?php foreach($ultimatemember->builtin->all_user_fields('date,time,url') as $key => $arr) { ?>
<option value="<?php echo $key; ?>" <?php selected($key, $ultimatemember->query->get_meta_value('_um_search_fields', $key) ); ?>><?php echo isset( $arr['title'] ) ? $arr['title'] : ''; ?></option>
<?php } ?>
</select>
@@ -59,32 +72,6 @@
</p><div class="um-admin-clear"></div>
<p class="search-options">
<label class="um-admin-half"><?php _e('User Roles that can use search','ultimatemember'); ?> <?php $this->tooltip('If you want to allow specific user roles to be able to search only'); ?></label>
<span class="um-admin-half">
<select multiple="multiple" name="_um_roles_can_search[]" id="_um_roles_can_search" class="umaf-selectjs" style="width: 300px">
<?php foreach($ultimatemember->query->get_roles() as $key => $value) { ?>
<option value="<?php echo $key; ?>" <?php selected($key, $ultimatemember->query->get_meta_value('_um_roles_can_search', $key) ); ?>><?php echo $value; ?></option>
<?php } ?>
</select>
</span>
</p><div class="um-admin-clear"></div>
<p class="search-options">
<label class="um-admin-half"><?php _e('User Roles that cannot use search','ultimatemember'); ?> <?php $this->tooltip('If you want to prevent specific user roles from being able to search'); ?></label>
<span class="um-admin-half">
<select multiple="multiple" name="_um_roles_cant_search[]" id="_um_roles_cant_search" class="umaf-selectjs" style="width: 300px">
<?php foreach($ultimatemember->query->get_roles() as $key => $value) { ?>
<option value="<?php echo $key; ?>" <?php selected($key, $ultimatemember->query->get_meta_value('_um_roles_cant_search', $key) ); ?>><?php echo $value; ?></option>
<?php } ?>
</select>
</span>
</p><div class="um-admin-clear"></div>
<p class="search-options">
<label class="um-admin-half"><?php _e('Results Text','ultimatemember'); ?> <?php $this->tooltip('Customize the search result text . e.g. Found 3,000 Members. Leave this blank to not show result text'); ?></label>
<span class="um-admin-half">
+2 -2
View File
@@ -14,7 +14,7 @@
<span class="um-admin-field">
<select name="_um_profile_metafields[]" id="_um_profile_metafields" class="umaf-selectjs" style="width: 200px" data-placeholder="Choose a field">
<?php foreach($ultimatemember->builtin->all_user_fields( array('textarea') ) as $key => $arr) { ?>
<?php foreach($ultimatemember->builtin->all_user_fields() as $key => $arr) { ?>
<option value="<?php echo $key; ?>" <?php selected($key, $val ); ?>><?php echo isset( $arr['title'] ) ? $arr['title'] : ''; ?></option>
<?php } ?>
</select>
@@ -35,7 +35,7 @@
<span class="um-admin-field">
<select name="_um_profile_metafields[]" id="_um_profile_metafields" class="umaf-selectjs" style="width: 200px" data-placeholder="Choose a field">
<?php foreach($ultimatemember->builtin->all_user_fields( array('textarea') ) as $key => $arr) { ?>
<?php foreach($ultimatemember->builtin->all_user_fields() as $key => $arr) { ?>
<option value="<?php echo $key; ?>" <?php selected($key, $ultimatemember->query->get_meta_value('_um_profile_metafields', $key) ); ?>><?php echo isset( $arr['title'] ) ? $arr['title'] : ''; ?></option>
<?php } ?>
</select>
+2 -2
View File
@@ -53,8 +53,8 @@
}
.um-search.um-search-1 {
padding-left: 34%;
padding-right: 34%;
padding-left: 32%;
padding-right: 32%;
width: 100%;
box-sizing: border-box;
}
+26
View File
@@ -454,6 +454,32 @@ 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 0 !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 0 !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%}
-35
View File
@@ -33,40 +33,5 @@ print ".um-$form_id .um-member-photo img {
}
if ($css_stats_bg) {
print ".um-$form_id .um-member-stats {
background: $css_stats_bg!important;
}";
}
if ($css_stats_bordercolor) {
print ".um-$form_id .um-member-stats {
border-color: $css_stats_bordercolor!important;
}";
print ".um-$form_id .um-member-stat {
border-color: $css_stats_bordercolor!important;
}";
}
if ($css_stats_num_color) {
print ".um-$form_id .um-member-stat, .um-$form_id .um-member-stat a {
color: $css_stats_num_color!important;
}";
}
if ($css_stats_lbl_color) {
print ".um-$form_id .um-member-statname {
color: $css_stats_lbl_color!important;
}";
}
?>
</style>
+5 -1
View File
@@ -20,7 +20,11 @@
$search_filters = apply_filters('um_frontend_member_search_filters',$search_filters);
if ( $args['search'] == 1 && is_array( $search_filters ) ) { // search on
if ( isset( $args['roles_can_search'] ) && !empty( $args['roles_can_search'] ) && !in_array( um_user('role'), $args['roles_can_search'] ) ){
return;
}
$count = count( $search_filters );
?>
+8 -2
View File
@@ -874,13 +874,19 @@ class UM_Builtin {
/***
*** @predefined + custom fields ( Global, not form wide )
***/
function all_user_fields( $exclude_types = array() ) {
function all_user_fields( $exclude_types = null ) {
global $ultimatemember;
$this->fields_dropdown = array('image','file','password','textarea','rating','block','shortcode','spacing','divider','group');
$custom = $this->custom_fields;
$predefined = $this->predefined_fields;
if ( $exclude_types ) {
$exclude_types = explode(',', $exclude_types);
}
$all = array( '' => '' );
if ( is_array( $custom ) ){
@@ -896,7 +902,7 @@ class UM_Builtin {
if ( isset( $arr['account_only'] ) || isset( $arr['private_use'] ) ) {
unset( $all[$k] );
}
if ( isset( $arr['type'] ) && in_array( $arr['type'], array('image','file','password') ) ) {
if ( isset( $arr['type'] ) && in_array( $arr['type'], $this->fields_dropdown ) ) {
unset( $all[$k] );
}
}
+11
View File
@@ -473,6 +473,17 @@ class UM_Fields {
return '';
}
/***
*** @Get Field Type
***/
function get_field_type( $key ) {
global $ultimatemember;
$fields = $ultimatemember->builtin->all_user_fields;
if ( isset( $fields[$key]['type'] ) )
return $fields[$key]['type'];
return '';
}
/***
*** @Get form fields
***/
+7 -4
View File
@@ -21,7 +21,7 @@
'value' => 'approved',
'compare' => '='
);
return $query_args;
}
@@ -38,12 +38,17 @@
foreach( $query as $field => $value ) {
$operator = '=';
if ( in_array( $ultimatemember->fields->get_field_type( $field ), array('checkbox','multiselect') ) ) {
$operator = 'LIKE';
}
if ( $value && $field != 'um_search' ) {
$query_args['meta_query'][] = array(
'key' => $field,
'value' => $value,
'compare' => '='
'compare' => $operator,
);
}
@@ -85,8 +90,6 @@
// add roles to appear in directory
if ( !empty( $roles ) ) {
$roles = unserialize( $roles );
$query_args['meta_query'][] = array(
'key' => 'role',
'value' => $roles,
+2 -2
View File
@@ -118,8 +118,8 @@ class UM_Members {
$array['users'] = $users->results;
$array['total_users'] = $users->total_users;
$array['total_users'] = (isset( $max_users ) && $max_users && $max_users <= $users->total_users ) ? $max_users : $users->total_users;
$array['page'] = get_query_var('members_page') ? get_query_var('members_page') : 1;
$array['total_pages'] = ceil( $array['total_users'] / $profiles_per_page );