0,
"show_checkboxes" => 0,
"show_all_users_option" => 1
);
public static function registerAjax() {
if ( !has_action('wp_ajax_wd_search_users') ) {
add_action('wp_ajax_wd_search_users', array(get_called_class(), 'search'));
}
}
public static function value( $value, $default_value = null ) {
if (gettype($value) === 'string' && substr($value, 0, strlen('_decode_')) === '_decode_') {
$value = substr($value, strlen('_decode_'));
$value = json_decode(base64_decode($value), true);
}
return self::compatibility( $value );
}
protected static function outputValue( $value ) {
// No need to decode
if (gettype($value) === 'string' && substr($value, 0, strlen('_decode_')) === '_decode_') {
return $value;
} else {
return '_decode_' . base64_encode(json_encode($value));
}
}
public function render() {
?>
value['users'] as $u) {
switch ($u) {
case -1:
echo '' . __('All users', 'ajax-search-pro') . '';
break;
case 0:
echo '' . __('Anonymous user (no user)', 'ajax-search-pro') . '';
break;
case -2:
echo '' . __('Current logged in user', 'ajax-search-pro') . '';
break;
default:
$user = get_user_by("ID", $u);
if (empty($user) || is_wp_error($user))
break;
$checkbox = "";
if ($this->args['show_checkboxes'] == 1)
$checkbox = 'ID, $this->value['un_checked']) ? ' checked="checked"' : '') . '/>';
echo '
' . $user->user_login . ' ('.$user->display_name.')
' . $checkbox . '
';
break;
}
}
}
public static function search() {
$phrase = trim($_POST['wd_phrase']);
$data = json_decode(base64_decode($_POST['wd_args']), true);
$user_query = new WP_User_Query( array( 'search' => "*" . $phrase . "*", "number" => 100 ) );
Ajax::prepareHeaders();
if ( $data['show_all_users_option'] == 1 )
echo '' . __('All users', 'ajax-search-pro') . '';
echo '' . __('Anonymous user (no user)', 'ajax-search-pro') . '
' . __('Current logged in user', 'ajax-search-pro') . '';
// User Loop
$user_results = $user_query->get_results();
if ( ! empty( $user_results ) ) {
echo "Or select users:";
foreach ( $user_results as $user ) {
$checkbox = "";
if ($data['show_checkboxes'] == 1)
$checkbox = '';
echo '
' . $user->user_login . ' ('.$user->display_name.')
'.$checkbox.'
';
}
} else {
echo __('No users found for term:', 'ajax-search-pro') . ' ' . $phrase .'';
}
die();
}
}