PDA

View Full Version : Guests cannot see links


sajjid
09-15-2005, 12:59 PM
can someone make a plugin so guests cannot see links in the posts instead they see a message " you must register to see the link".
thanks
this code can be found in forums/oncludes/class_bbcode.php
return "<a href=\"$rightlink\" target=\"_blank\">$text</a>";

if i replace to this

this hides the link for everyone but i want to hide it to guests only.

global $bbuserinfo;
if ($bbuserinfo[userid] != 0)
{
return "<a href=\"$rightlink\" target=\"_blank\">$text</a>";
}
else
{
return "Guests cannot view links. You must <a href='register.php'>register</a> to see links.";

Andreas
09-16-2005, 04:58 AM
There are different ways to achieve this.

One way would be to use a preg_replace() on $text in bbcode_parse_complete replace all <a></a> Tags with the Text is the viewing User is a Guest.
This is the most easiest approach, however it might not only affect [url]
Make sure to set cacheable=false or you will run into trouble.

Chris M
09-16-2005, 08:52 AM
If you still wish to use the code hack, I believe this code will work (not 100% sure :p):

global $vbulletin;
if (!$vbulletin->userinfo['userid'])
{
return "<a href=\"$rightlink\" target=\"_blank\">$text</a>";
}
else
{
return "Guests cannot view links. You must <a href='register.php'>register</a> to see links.";
}
:)

Chris

Boofo
09-16-2005, 09:22 AM
Shouldn't this:

if (!$vbulletin->userinfo['userid'])

actually be this?

if ($vbulletin->userinfo['userid'])

;)

sajjid
09-16-2005, 10:17 AM
Thanks guys a combined effort has worked.
Boofo you are quite right

global $vbulletin;
if ($vbulletin->userinfo['userid'])
{
return "<a href=\"$rightlink\" target=\"_blank\">$text</a>";
}
else
{
return "Guests cannot view links. You must <a href='register.php'>register</a> to see links.";
}

i like to take this step further how do i go about hiding links that are in between code /code and also in the archive