Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 12-31-2010, 01:59 AM
skor skor is offline
 
Join Date: Jan 2010
Posts: 40
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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!
Reply With Quote
  #2  
Old 12-31-2010, 02:15 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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:

PHP Code:
if ($threadinfo['forumid'] == 
             
AND is_member_of($vbulletin->userinfo1))
{
    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'].
Reply With Quote
  #3  
Old 11-16-2011, 06:40 PM
tonjohn tonjohn is offline
 
Join Date: Sep 2008
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
  #4  
Old 11-16-2011, 06:51 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by tonjohn View Post
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'].
Reply With Quote
Благодарность от:
tonjohn
  #5  
Old 11-16-2011, 09:34 PM
tonjohn tonjohn is offline
 
Join Date: Sep 2008
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That worked, thanks!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 10:18 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06428 seconds
  • Memory Usage 2,194KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (1)post_thanks_box_bit
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete