Quote:
Originally Posted by Andreas
Reinstalled the product from the ZIP here - still works fine?
|
Hello Andreas,
It doesnt work.
I went through debugging your code, in order to find out whats wrong. After the installation of the script, Advanced Memberlist Searching adds itself as a plugin to Hook Location : memberlist_query_userscount .
All the variables are passed correctly into the memberlist.php.
Let's say we want to search for users with profile pic enabled
PHP Code:
if ($vbulletin->GPC['profilepic'] == 1)
The script runs, and we have the following variables populated:
$hook_query_joins and $hook_query_where
Thats fine. The membercount of users with enabled avatars, appears correctly. But, what happens with the results in the list?
The results have nothing to do with the... truth.
On line 520 of memberlist.php we have the following line:
PHP Code:
$hook_query_fields = $hook_query_joins = '';
($hook = vBulletinHook::fetch_hook('memberlist_fetch')) ? eval($hook) : false;
As you can see, $hook_query_joins equals to NULL.
The query after that line gets "$hook_query_joins" and "$condition".
In the case of your script, $hook_query_joins pass as empty, and $condition doesnt contain our specific needs.
That's the problem.
I have added another plugin at Hook Location : memberlist_fetch,
PHP Code:
// search for users with profile pic
if ($vbulletin->GPC['profilepic'] == 1)
{
$hook_query_joins .= " LEFT JOIN " . TABLE_PREFIX . "customprofilepic AS customprofilepic ON (customprofilepic.userid=user.userid)";
$condition.= " AND NOT ISNULL(customprofilepic.userid)";
}
$urladd .= (($urladd != '') ? '&' : '') .'profilepic=1';
Guess what? Now, everything works fine!
The above code is for searching on database with no profile pic hack installed. I am not using Andrea's other script

It needs modification to cover both situations, but the purpose of posting this thing is to let Andrea's understand what was going wrong with his excellent plugin: Installed!