986 | | 'show_option_all' => '', 'show_option_none' => '', 'hide_if_only_one_author' => '', |
987 | | 'orderby' => 'display_name', 'order' => 'ASC', |
988 | | 'include' => '', 'exclude' => '', 'multi' => 0, |
989 | | 'show' => 'display_name', 'echo' => 1, |
990 | | 'selected' => 0, 'name' => 'user', 'class' => '', 'id' => '', |
991 | | 'blog_id' => $GLOBALS['blog_id'], 'who' => '', 'include_selected' => false |
992 | | ); |
993 | | |
| 987 | 'show_option_all' => '', 'show_option_none' => '', 'hide_if_only_one_author' => '', |
| 988 | 'orderby' => 'display_name', 'order' => 'ASC', |
| 989 | 'include' => '', 'exclude' => '', 'multi' => 0, |
| 990 | 'show' => 'display_name', 'echo' => 1, |
| 991 | 'selected' => 0, 'name' => 'user', 'class' => '', 'id' => '', |
| 992 | 'number' => 100, |
| 993 | 'blog_id' => $GLOBALS['blog_id'], 'who' => '', 'include_selected' => false |
| 994 | ); |
| 995 | |
1006 | | if ( $multi && ! $id ) |
1007 | | $id = ''; |
1008 | | else |
1009 | | $id = $id ? " id='" . esc_attr( $id ) . "'" : " id='$name'"; |
1010 | | |
1011 | | $output = "<select name='{$name}'{$id} class='$class'>\n"; |
1012 | | |
1013 | | if ( $show_option_all ) |
1014 | | $output .= "\t<option value='0'>$show_option_all</option>\n"; |
1015 | | |
1016 | | if ( $show_option_none ) { |
1017 | | $_selected = selected( -1, $selected, false ); |
1018 | | $output .= "\t<option value='-1'$_selected>$show_option_none</option>\n"; |
| 1008 | |
| 1009 | if($user_search->get_total() <= $number) { |
| 1010 | if ( $multi && ! $id ) |
| 1011 | $id = ''; |
| 1012 | else |
| 1013 | $id = $id ? " id='" . esc_attr( $id ) . "'" : " id='$name'"; |
| 1014 | |
| 1015 | $output = "<select name='{$name}'{$id} class='$class'>\n"; |
| 1016 | |
| 1017 | if ( $show_option_all ) |
| 1018 | $output .= "\t<option value='0'>$show_option_all</option>\n"; |
| 1019 | |
| 1020 | if ( $show_option_none ) { |
| 1021 | $_selected = selected( -1, $selected, false ); |
| 1022 | $output .= "\t<option value='-1'$_selected>$show_option_none</option>\n"; |
| 1023 | } |
| 1024 | |
| 1025 | $found_selected = false; |
| 1026 | foreach ( $user_search->get_results() as $user ) { |
| 1027 | $user->ID = (int) $user->ID; |
| 1028 | $_selected = selected( $user->ID, $selected, false ); |
| 1029 | if ( $_selected ) |
| 1030 | $found_selected = true; |
| 1031 | $display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')'; |
| 1032 | $output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n"; |
| 1033 | } |
| 1034 | |
| 1035 | if ( $include_selected && ! $found_selected && ( $selected > 0 ) ) { |
| 1036 | $user = get_userdata( $selected ); |
| 1037 | $_selected = selected( $user->ID, $selected, false ); |
| 1038 | $display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')'; |
| 1039 | $output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n"; |
| 1040 | } |
| 1041 | |
| 1042 | $output .= "</select>"; |
| 1043 | } else { |
| 1044 | wp_enqueue_script( 'user-list' ); |
| 1045 | |
| 1046 | $id = $id ? esc_attr( $id ) : $name; |
| 1047 | $output = "<div class='user-list' id='{$id}-box'>\n"; |
| 1048 | |
| 1049 | $display = null; |
| 1050 | |
| 1051 | if ( ( $selected > 0 ) ) { |
| 1052 | if ( $selected_user = get_userdata( $selected ) ) { |
| 1053 | if ( !$include_selected ) { |
| 1054 | $exclude = wp_parse_id_list( $exclude ); |
| 1055 | $selected_args = wp_array_slice_assoc( $r, array( 'blog_id', 'exclude', 'who' ) ); |
| 1056 | $selected_args['include'] = $selected; |
| 1057 | if ( !count( get_users( $selected_args ) ) ) |
| 1058 | $selected = null; |
| 1059 | } |
| 1060 | if ( !is_null( $selected ) ) { |
| 1061 | $selected = $selected_user->ID; |
| 1062 | $display = !empty( $selected_user->$show ) ? $selected_user->$show : '(' . $selected_user->user_login . ')'; |
| 1063 | } |
| 1064 | } else |
| 1065 | $selected = null; |
| 1066 | } |
| 1067 | |
| 1068 | if ( $show_option_all ) { |
| 1069 | $output .= "\t<input type='hidden' id='{$id}-option-all' value='" . esc_attr( $show_option_all ) . "' />\n"; |
| 1070 | if ( is_null( $selected ) || $selected == 0 ) { |
| 1071 | $selected = 0; |
| 1072 | $display = $show_option_all; |
| 1073 | } |
| 1074 | } |
| 1075 | |
| 1076 | if ( $show_option_none ) { |
| 1077 | $output .= "\t<input type='hidden' id='{$id}-option-none' value='" . esc_attr( $show_option_none ) . "' />\n"; |
| 1078 | if ( is_null( $selected ) || $selected == -1 ) { |
| 1079 | $selected = -1; |
| 1080 | $display = $show_option_none; |
| 1081 | } |
| 1082 | } |
| 1083 | |
| 1084 | if ( is_null( $selected ) ) { |
| 1085 | $selected_user = array_shift( $user_search->get_results() ); |
| 1086 | $selected = $selected_user->ID; |
| 1087 | $display = !empty( $selected_user->$show ) ? $selected_user->$show : '(' . $selected_user->user_login . ')'; |
| 1088 | } |
| 1089 | |
| 1090 | $output .= "\t<input type='text'id='{$id}' value='" . esc_attr( $display ) . "' />\n" . |
| 1091 | "\t<input type='hidden' name='{$name}' id='{$id}-value' value='" . esc_attr( $selected ) . "' />\n"; |
| 1092 | $output .= wp_nonce_field( 'user-search-' . $blog_id, "{$id}-nonce", false, false ); |
| 1093 | $output .= "<script type='text/javascript'>\n" . |
| 1094 | "{$id}_query_options = " . json_encode( $query_args ) . "\n" . |
| 1095 | '</script>'; |
| 1096 | $output .= "</div>"; |
1020 | | |
1021 | | $found_selected = false; |
1022 | | foreach ( (array) $users as $user ) { |
1023 | | $user->ID = (int) $user->ID; |
1024 | | $_selected = selected( $user->ID, $selected, false ); |
1025 | | if ( $_selected ) |
1026 | | $found_selected = true; |
1027 | | $display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')'; |
1028 | | $output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n"; |
1029 | | } |
1030 | | |
1031 | | if ( $include_selected && ! $found_selected && ( $selected > 0 ) ) { |
1032 | | $user = get_userdata( $selected ); |
1033 | | $_selected = selected( $user->ID, $selected, false ); |
1034 | | $display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')'; |
1035 | | $output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n"; |
1036 | | } |
1037 | | |
1038 | | $output .= "</select>"; |