View Single Post
  #3  
Old 06-10-2011, 05:01 AM
TalkVirginia's Avatar
TalkVirginia TalkVirginia is offline
 
Join Date: Oct 2008
Location: Virginia
Posts: 545
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
Well, I don't know if it's the best way, but if you look at admin/user.php in the section that starts with "if ($_REQUEST['do'] == 'find')", it's doing something similar in that there are a lot of possible fields you can fill in to search by. It calls fetch_user_search_sql() which is in adminfunctions_user.php, but it just pretty much goes through checkng all the options and adding to the sql as necessary.
Thanks for the idea! That worked nicely.

Here's a short exerp of what I did:

PHP Code:

if ($_REQUEST['do'] == 'show')
{
    
$graceperiod $vbulletin->input->clean_gpc'p''graceperiod'TYPE_STR);
    
$emailfreq $vbulletin->input->clean_gpc'r''emailfreq'TYPE_STR );
    
$temp_grouplist $vbulletin->input->clean_gpc'r''membergroups'TYPE_ARRAY);
    
$temp_grouplist implode(',',$temp_grouplist);
    
$usergroups str_replace(",","','"trim($temp_grouplist));
    
$excludeduserids str_replace(",","','"trim($vbulletin->input->clean_gpc'r''excludedUserIds'TYPE_STR)));
    
$canreceivemailfromadmin $vbulletin->input->clean_gpc'r''canreceivemailfromadmin'TYPE_BOOL );
    
$includeoptouts $vbulletin->input->clean_gpc'r''includeoptouts'TYPE_BOOL );

    
$vbulletin->input->clean_array_gpc('r', array(
        
'perpage' => TYPE_INT,
          
'page'    => TYPE_INT
    
));

    if (empty(
$vbulletin->GPC['perpage']))
    {
        
$vbulletin->GPC['perpage'] = 15;
    }

    
$condition "1=1 ";
    
$condition .= iif(!empty($graceperiod), " AND TIMESTAMPDIFF(DAY, FROM_UNIXTIME(lastactivity), FROM_UNIXTIME(UNIX_TIMESTAMP())) >= "$graceperiod " ");
    
$condition .= iif(!empty($emailfreq), " AND TIMESTAMPDIFF(DAY, FROM_UNIXTIME(rmEmailDate), FROM_UNIXTIME(UNIX_TIMESTAMP())) >= "$emailfreq " ");
    
$condition .= iif(!empty($usergroups), " AND usergroupid IN ('" $usergroups "') ");
    
$condition .= iif(!empty($excludeduserids), " AND userid NOT IN ('" $excludeduserids "') ");
    
$condition .= iif($canreceivemailfromadmin"AND options & 16 ");
    
$condition .= iif($includeoptouts" AND rmoptout = 1 "); 
EDIT: One thing I'm running into now though is that if there is more than one page, my form values don't follow through from page to page and I loose my condition for my query.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01247 seconds
  • Memory Usage 1,804KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete