Log in

View Full Version : Ignored User Assistance


Rich
12-10-2006, 01:24 PM
Hello,

I am in the process of creating a little script that allows my users the ability to hold private conversations on a new page linked of their profiles.

I am encountering a problem though! Ignored users are able to jump in and post in those conversations as well.

What I would like to do is be able to process the ignored users list for that members profile, and either have them see a page with no entry location, or have their entry hidden from the user that has them on ignore in the first place.

I realize I will need to edit my PHP file but I just don't know how to go about doing this. I have viewed the showthread template to try and learn how it is all processed and I found myself lost.

Could someone please assist me with how I could do this?

Optimally, the easiest way to do this for me would to be to create an if condition.

Example:

<if condition....is on banned list> Show this <else /> what everyone else sees.</if>

Thanks for any assistance!

calorie
12-10-2006, 02:08 PM
Look for the following in the vB showthread.php file:

// get ignored users

There is a chunk of code that creates the following array:

$ignore

You could modify that to do something like this in your script:

$ignoreuserid = $vbulletin->userinfo['userid'];
if ($ignore[$ignoreuserid])
{
print_no_permission();
}

Though you'll probably need to use the following for the array:

field ignorelist from usertextfield database table
instead of using $vbulletin->userinfo['ignorelist']

Depending on your code, something like this should do:

// get ignored users
$userinfo_ignore = $db->query_first("SELECT ignorelist
FROM " . TABLE_PREFIX . "usertextfield
WHERE userid = " . intval($the_userid_that_started_the_private_conver sation)
);

$ignore = array();
if (trim($userinfo_ignore['ignorelist']))
{
$ignorelist = preg_split('/( )+/', trim($userinfo_ignore['ignorelist']), -1, PREG_SPLIT_NO_EMPTY);
foreach ($ignorelist AS $ignoreuserid)
{
$ignore[$ignoreuserid] = 1;
}
}

$ignoreuserid = $vbulletin->userinfo['userid'];
if ($ignore[$ignoreuserid])
{
print_no_permission();
}

Rich
12-10-2006, 08:30 PM
Hello,

Thanks for the headway. I will give this a go and see what I come up with. I appreciate you taking the time to respond.

I tinkered with it a bit and it works great. I have it evaluating another template when they are on the users ignore list. When they view that section, a nice little ad is displayed. Thanks for showing me how to process the ignored list. I now know how to do it.