|
58 | 58 |
|
59 | 59 | access_ensure_global_level( config_get( 'manage_user_threshold' ) );
|
60 | 60 |
|
61 |
| -$f_sort = gpc_get_string( 'sort', 'username' ); |
62 |
| -$f_dir = gpc_get_string( 'dir', 'ASC' ); |
63 |
| -$f_hide = gpc_get_bool( 'hide' ); |
64 |
| -$f_save = gpc_get_bool( 'save' ); |
65 |
| -$f_filter = utf8_strtoupper( gpc_get_string( 'filter', config_get( 'default_manage_user_prefix' ) ) ); |
66 |
| -$f_page_number = gpc_get_int( 'page_number', 1 ); |
| 61 | +$f_sort = gpc_get_string( 'sort', 'username' ); |
| 62 | +$f_dir = gpc_get_string( 'dir', 'ASC' ); |
| 63 | +$f_hide_inactive = gpc_get_bool( 'hideinactive' ); |
| 64 | +$f_show_disabled = gpc_get_bool( 'showdisabled' ); |
| 65 | +$f_save = gpc_get_bool( 'save' ); |
| 66 | +$f_filter = utf8_strtoupper( gpc_get_string( 'filter', config_get( 'default_manage_user_prefix' ) ) ); |
| 67 | +$f_page_number = gpc_get_int( 'page_number', 1 ); |
67 | 68 |
|
68 | 69 | $t_user_table = db_get_table( 'user' );
|
69 | 70 | $t_cookie_name = config_get( 'manage_cookie' );
|
|
77 | 78 | $c_sort = addslashes($f_sort);
|
78 | 79 | }
|
79 | 80 |
|
80 |
| -if ($f_dir == 'ASC') { |
81 |
| - $c_dir = 'ASC'; |
82 |
| -} else { |
83 |
| - $c_dir = 'DESC'; |
84 |
| -} |
| 81 | +$c_dir = ( $f_dir == 'ASC' ) ? 'ASC' : 'DESC'; |
85 | 82 |
|
86 |
| -if ($f_hide == 0) { # a 0 will turn it off |
87 |
| - $c_hide = 0; |
88 |
| -} else { # anything else (including 'on') will turn it on |
89 |
| - $c_hide = 1; |
90 |
| -} |
91 |
| -$t_hide_filter = '&hide=' . $c_hide; |
| 83 | +# 0 = show inactive users, anything else = hide them |
| 84 | +$c_hide_inactive = ( $f_hide_inactive == 0 ) ? 0 : 1; |
| 85 | +$t_hide_inactive_filter = '&hideinactive=' . $c_hide_inactive; |
| 86 | + |
| 87 | +# 0 = hide disabled users, anything else = show them |
| 88 | +$c_show_disabled = ( $f_show_disabled == 0 ) ? 0 : 1; |
| 89 | +$t_show_disabled_filter = '&showdisabled=' . $c_show_disabled; |
92 | 90 |
|
93 |
| -# set cookie values for hide, sort by, and dir |
| 91 | +# set cookie values for hide inactive, sort by, dir and show disabled |
94 | 92 | if ( $f_save ) {
|
95 |
| - $t_manage_string = $c_hide.':'.$c_sort.':'.$c_dir; |
| 93 | + $t_manage_string = $c_hide_inactive.':'.$c_sort.':'.$c_dir.':'.$c_show_disabled; |
96 | 94 | gpc_set_cookie( $t_cookie_name, $t_manage_string, true );
|
97 | 95 | } else if ( !is_blank( gpc_get_cookie( $t_cookie_name, '' ) ) ) {
|
98 | 96 | $t_manage_arr = explode( ':', gpc_get_cookie( $t_cookie_name ) );
|
99 |
| - $f_hide = $t_manage_arr[0]; |
100 | 97 |
|
| 98 | + # Hide Inactive |
| 99 | + $c_hide_inactive = $t_manage_arr[0]; |
| 100 | + |
| 101 | + # Sort field |
101 | 102 | if ( isset( $t_manage_arr[1] ) ) {
|
102 |
| - $f_sort = $t_manage_arr[1]; |
| 103 | + $c_sort = $t_manage_arr[1]; |
103 | 104 | } else {
|
104 |
| - $f_sort = 'username'; |
| 105 | + $c_sort = 'username'; |
105 | 106 | }
|
106 | 107 |
|
| 108 | + # Sort order |
107 | 109 | if ( isset( $t_manage_arr[2] ) ) {
|
108 |
| - $f_dir = $t_manage_arr[2]; |
| 110 | + $c_dir = $t_manage_arr[2]; |
109 | 111 | } else {
|
110 |
| - $f_dir = 'DESC'; |
| 112 | + $c_dir = 'DESC'; |
| 113 | + } |
| 114 | + |
| 115 | + # Show Disabled |
| 116 | + if ( isset( $t_manage_arr[3] ) ) { |
| 117 | + $c_show_disabled = $t_manage_arr[3]; |
111 | 118 | }
|
112 | 119 | }
|
113 | 120 |
|
|
167 | 174 | echo '<span class="current-filter">' . $t_caption . '</span>';
|
168 | 175 | } else {
|
169 | 176 | echo '<a' . $t_title . ' href="manage_user_page.php?sort=' . $c_sort . '&dir=' . $c_dir . '&save=1' . $t_hide_filter . '&filter=' . $t_prefix . '">' . $t_caption . '</a>'; Has a conversation. Original line has a conversation. |
| 177 | +/* |
| 178 | + * |
| 179 | + print_manage_user_sort_link( 'manage_user_page.php', |
| 180 | + $t_caption, |
| 181 | + $c_sort, |
| 182 | + $c_dir, null, $c_hide_inactive, $t_prefix, $c_show_disabled |
| 183 | + ); |
| 184 | +*/ |
170 | 185 | }
|
171 | 186 | echo '</li>';
|
172 | 187 | }
|
|
193 | 208 |
|
194 | 209 | # Get the user data in $c_sort order
|
195 | 210 | $result = '';
|
196 |
| -if ( 0 == $c_hide ) { |
| 211 | + |
| 212 | +$t_show_disabled_cond = ( 1 == $c_show_disabled ? '' : ' AND enabled = 1' ); |
| 213 | + |
| 214 | +if ( 0 == $c_hide_inactive ) { |
197 | 215 | $query = "SELECT count(*) as usercnt
|
198 | 216 | FROM $t_user_table
|
199 |
| - WHERE $t_where"; |
| 217 | + WHERE $t_where |
| 218 | + $t_show_disabled_cond"; |
200 | 219 | $result = db_query_bound($query, $t_where_params);
|
201 | 220 | $row = db_fetch_array( $result );
|
202 | 221 | $total_user_count = $row['usercnt'];
|
203 | 222 | } else {
|
204 | 223 | $query = "SELECT count(*) as usercnt
|
205 | 224 | FROM $t_user_table
|
206 |
| - WHERE $t_where AND " . db_helper_compare_days("" . db_now() . "","last_visit","< $days_old"); |
| 225 | + WHERE $t_where AND " . db_helper_compare_days("" . db_now() . "","last_visit","< $days_old") |
| 226 | + . $t_show_disabled_cond; |
207 | 227 | $result = db_query_bound($query, $t_where_params);
|
208 | 228 | $row = db_fetch_array( $result );
|
209 | 229 | $total_user_count = $row['usercnt'];
|
|
225 | 245 | }
|
226 | 246 |
|
227 | 247 |
|
228 |
| -if ( 0 == $c_hide ) { |
| 248 | +if ( 0 == $c_hide_inactive ) { |
229 | 249 | $query = "SELECT *
|
230 | 250 | FROM $t_user_table
|
231 | 251 | WHERE $t_where
|
| 252 | + $t_show_disabled_cond |
232 | 253 | ORDER BY $c_sort $c_dir";
|
233 | 254 | $result = db_query_bound($query, $t_where_params, $p_per_page, $t_offset);
|
234 | 255 | } else {
|
235 | 256 |
|
236 | 257 | $query = "SELECT *
|
237 | 258 | FROM $t_user_table
|
238 | 259 | WHERE $t_where AND " . db_helper_compare_days( "" . db_now() . "", "last_visit", "< $days_old" ) . "
|
| 260 | + $t_show_disabled_cond |
239 | 261 | ORDER BY $c_sort $c_dir";
|
240 | 262 | $result = db_query_bound($query, $t_where_params, $p_per_page, $t_offset );
|
241 | 263 | }
|
242 | 264 | $user_count = db_num_rows( $result );
|
| 265 | + |
243 | 266 | ?>
|
244 | 267 | <div id="manage-user-div" class="form-container">
|
245 | 268 | <h2><?php echo lang_get( 'manage_accounts_title' ) ?></h2> [<?php echo $total_user_count ?>]
|
|
252 | 275 | <input type="hidden" name="dir" value="<?php echo $c_dir ?>" />
|
253 | 276 | <input type="hidden" name="save" value="1" />
|
254 | 277 | <input type="hidden" name="filter" value="<?php echo $c_filter ?>" />
|
255 |
| - <input type="checkbox" name="hide" value="1" <?php check_checked( $c_hide, 1 ); ?> /> <?php echo lang_get( 'hide_inactive' ) ?> |
| 278 | + <input type="checkbox" name="hideinactive" value="1" <?php check_checked( (int)$c_hide_inactive, 1 ); ?> /> <?php echo lang_get( 'hide_inactive' ) ?> |
| 279 | + <input type="checkbox" name="showdisabled" value="1" <?php check_checked( (int)$c_show_disabled, 1 ); ?> /> <?php echo lang_get( 'show_disabled' ) ?> |
256 | 280 | <input type="submit" class="button" value="<?php echo lang_get( 'filter_button' ) ?>" />
|
257 | 281 | </fieldset>
|
258 | 282 | </form>
|
259 | 283 |
|
260 | 284 | <table cellspacing="1" cellpadding="5" border="1">
|
261 | 285 | <tr class="row-category">
|
262 |
| - <td><?php |
263 |
| - print_manage_user_sort_link( 'manage_user_page.php', lang_get( 'username' ), 'username', $c_dir, $c_sort, $c_hide, $c_filter ); |
264 |
| - print_sort_icon( $c_dir, $c_sort, 'username' ); ?> |
265 |
| - </td> |
266 |
| - <td><?php |
267 |
| - print_manage_user_sort_link( 'manage_user_page.php', lang_get( 'realname' ), 'realname', $c_dir, $c_sort, $c_hide, $c_filter ); |
268 |
| - print_sort_icon( $c_dir, $c_sort, 'realname' ); ?> |
269 |
| - </td> |
270 |
| - <td><?php |
271 |
| - print_manage_user_sort_link( 'manage_user_page.php', lang_get( 'email' ), 'email', $c_dir, $c_sort, $c_hide, $c_filter ); |
272 |
| - print_sort_icon( $c_dir, $c_sort, 'email' ); ?> |
273 |
| - </td> |
274 |
| - <td><?php |
275 |
| - print_manage_user_sort_link( 'manage_user_page.php', lang_get( 'access_level' ), 'access_level', $c_dir, $c_sort, $c_hide, $c_filter ); |
276 |
| - print_sort_icon( $c_dir, $c_sort, 'access_level' ); ?> |
277 |
| - </td> |
278 |
| - <td><?php |
279 |
| - print_manage_user_sort_link( 'manage_user_page.php', lang_get( 'enabled' ), 'enabled', $c_dir, $c_sort, $c_hide, $c_filter ); |
280 |
| - print_sort_icon( $c_dir, $c_sort, 'enabled' ); ?> |
281 |
| - </td> |
282 |
| - <td><?php |
283 |
| - print_manage_user_sort_link( 'manage_user_page.php', $t_lock_image, 'protected', $c_dir, $c_sort, $c_hide, $c_filter ); |
284 |
| - print_sort_icon( $c_dir, $c_sort, 'protected' ); ?> |
285 |
| - </td> |
286 |
| - <td><?php |
287 |
| - print_manage_user_sort_link( 'manage_user_page.php', lang_get( 'date_created' ), 'date_created', $c_dir, $c_sort, $c_hide, $c_filter ); |
288 |
| - print_sort_icon( $c_dir, $c_sort, 'date_created' ); ?> |
289 |
| - </td> |
290 |
| - <td><?php |
291 |
| - print_manage_user_sort_link( 'manage_user_page.php', lang_get( 'last_visit' ), 'last_visit', $c_dir, $c_sort, $c_hide, $c_filter ); |
292 |
| - print_sort_icon( $c_dir, $c_sort, 'last_visit' ); ?> |
293 |
| - </td> |
| 286 | +<?php |
| 287 | + # Print column headers with sort links |
| 288 | + $t_columns = array( |
| 289 | + 'username', 'realname', 'email', 'access_level', |
| 290 | + 'enabled', 'protected', 'date_created', 'last_visit' |
| 291 | + ); |
| 292 | + |
| 293 | + foreach( $t_columns as $t_col ) { |
| 294 | + echo "\t<td>"; |
| 295 | + print_manage_user_sort_link( 'manage_user_page.php', |
| 296 | + lang_get( $t_col ), |
| 297 | + $t_col, |
| 298 | + $c_dir, $c_sort, $c_hide_inactive, $c_filter, $c_show_disabled |
| 299 | + ); |
| 300 | + print_sort_icon( $c_dir, $c_sort, $t_col ); |
| 301 | + echo "</td>\n"; |
| 302 | + } |
| 303 | +?> |
294 | 304 | </tr><?php
|
295 | 305 | $t_date_format = config_get( 'normal_date_format' );
|
296 | 306 | $t_access_level = Array();
|
|
316 | 326 | <td><?php echo string_display_line( $u_realname ) ?></td>
|
317 | 327 | <td><?php print_email_link( $u_email, $u_email ) ?></td>
|
318 | 328 | <td><?php echo $t_access_level[$u_access_level] ?></td>
|
319 |
| - <td><?php echo trans_bool( $u_enabled ) ?></td> |
| 329 | + <td class="center"><?php echo trans_bool( $u_enabled ) ?></td> |
320 | 330 | <td class="center"><?php
|
321 | 331 | if ( $u_protected ) {
|
322 | 332 | echo " $t_lock_image";
|
|
332 | 342 | <div class="pager-links">
|
333 | 343 | <?php
|
334 | 344 | /* @todo hack - pass in the hide inactive filter via cheating the actual filter value */
|
335 |
| - print_page_links( 'manage_user_page.php', 1, $t_page_count, (int)$f_page_number, $c_filter . $t_hide_filter . "&sort=$c_sort&dir=$c_dir"); |
| 345 | + print_page_links( 'manage_user_page.php', 1, $t_page_count, (int)$f_page_number, $c_filter . $t_hide_inactive_filter . $t_show_disabled_filter . "&sort=$c_sort&dir=$c_dir"); |
336 | 346 | ?>
|
337 | 347 | </div>
|
338 | 348 | </div>
|
|