View Full Version : custom permission error message for specific forum
We have one forum on our site that restricts posting based on a promotion system. What we are trying to do is show a custom permission error message to the usergroup that is restricted from posting in that forum if they try to post.
Is this possible? I looked at the STANDARD_ERROR template but can't really make heads or tails on what I would need to do this.
I am trying to something along the lines of...
1) if is a member of usergroup 1
2) if the forum is forum x
3) if the member of usergroup 1 tries to post in forum x, then a custom error message saying why they are unable to post in forum x.
Thank you for any help you can provide!
If you look at newreply.php around line 110, there's the newreply_start hook location, and right after that it does some permission checks and prints error messages. So if you create a plugin using that hook location and do you own checks, I think you should be able to do whatever you want for an error message. Same with newthread.php (the but hook is newthread_start).
So for instance you could make a plugin using newreply_start and do something like:
if ($threadinfo['forumid'] == x
AND is_member_of($vbulletin->userinfo, 1))
{
eval(standard_error(fetch_error('customerror')));
}
where 'customerror' is a custom phrase you created (that you can name whatever you want, of course).
ETA: You'd also need a second plugin using newthread_start to handle new threads. The code should be the same, except using $foruminfo['forumid'] in place of $threadinfo['forumid'].
tonjohn
11-16-2011, 06:40 PM
Similarly, I'd like to show a modified version of STANDARD_ERROR when users go to a specific forum (example/ forumid = 37).
I tried editing the STANDARD_ERROR template but $forum[forumid] doesn't seem to work. Am I missing something?
Similarly, I'd like to show a modified version of STANDARD_ERROR when users go to a specific forum (example/ forumid = 37).
I tried editing the STANDARD_ERROR template but $forum[forumid] doesn't seem to work. Am I missing something?
Try checking $GLOBALS['forumid'].
tonjohn
11-16-2011, 09:34 PM
That worked, thanks!
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.