View Full Version : Condition for 'Minimum Time Between Searches'
jarosciak
05-22-2008, 04:57 PM
Great day everyone, I need some help.
Currently to take off the load from my busy forum, I've setup vbulletin's "Minimum Time Between Searches" to be 60 seconds.
What I would like to do, is to switch it to 10 seconds, but only to those users with paid subscription. In this case usergroup number: 9.
How do I implement this simple condition?
Thanks,
Joe
Medina
05-22-2008, 05:02 PM
<if condition="is_member_of($vbulletin->userinfo, 7, 8, 9)">
change the numbers to the the usergroup you are using. ;)
jarosciak
05-22-2008, 05:31 PM
Actually this I knew, but can someone please point me to where the search delay is specified and where I could use this condition?
Medina
05-22-2008, 05:48 PM
You didn`t ask which template you have to add/edit for your request.
But I think you have to search in the template "navbar" or you have to edit/add a plugin.
anyway, goodluck.
MoT3rror
05-22-2008, 08:52 PM
Here is the code in search.php that checks the time in between searches.
if (in_array($_REQUEST['do'], array('intro', 'showresults', 'doprefs')) == false)
{
// get last search for this user and check floodcheck
if ($prevsearch = $db->query_first("
SELECT searchid, dateline
FROM " . TABLE_PREFIX . "search AS search
WHERE " . iif(!$vbulletin->userinfo['userid'], "ipaddress ='" . $db->escape_string(IPADDRESS) . "'", "userid = " . $vbulletin->userinfo['userid']) . "
ORDER BY dateline DESC LIMIT 1
"))
{
if (($timepassed = TIMENOW - $prevsearch['dateline']) < $vbulletin->options['searchfloodtime'] AND $vbulletin->options['searchfloodtime'] != 0 AND !($permissions['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel']) AND !can_moderate())
{
if ($_REQUEST['do'] == 'process')
{
$errors[] = array('searchfloodcheck', $vbulletin->options['searchfloodtime'], ($vbulletin->options['searchfloodtime'] - $timepassed));
}
else
{
eval(standard_error(fetch_error('searchfloodcheck' , $vbulletin->options['searchfloodtime'], ($vbulletin->options['searchfloodtime'] - $timepassed))));
}
}
}
}
You will either have to modify this code or before this change the value of $vbulletin->options['searchfloodtime'] before this code with a plugin. You can use the is_member_of function to check if the user is in the group that you need.
if(is_member_of($vbulletin->userinfo, 1, 2, 3))
{
$vbulletin->options['searchfloodtime'] = 10;
}
This is a example code that might work to change the value.
jarosciak
05-24-2008, 12:22 PM
Hi, I am going to test it out now. Thank you so much for your time, very appreciated.
Joe
--------------- Added 1211643584 at 1211643584 ---------------
Great, this is how I've got it working for usergroup number 9.
LOOK FOR:
if (($timepassed = TIMENOW - $prevsearch['dateline']) < $vbulletin->options['searchfloodtime'] AND $vbulletin->options['searchfloodtime'] != 0 AND !($permissions['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel']) AND !can_moderate())
BEFORE ADD:
If(is_member_of($vbulletin->userinfo, 9)){$vbulletin->options['searchfloodtime'] = '0';}
Works like a charm, group number 9, has no time limit now on searches.
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.