mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-13 19:56:27 +09:00
Member directory settings and filters
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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%}
|
||||
|
||||
|
||||
@@ -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>
|
||||
@@ -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
@@ -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] );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
***/
|
||||
|
||||
@@ -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
@@ -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 );
|
||||
|
||||
Reference in New Issue
Block a user