Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-13-2005, 09:28 PM
teonix teonix is offline
 
Join Date: Jun 2005
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Force user to accept (Enable) Private Messages

I'm trying to make it so that Private Messages are always enabled for every user. (The user can't be allowed to disable them).

I can't comment out the checkbox because then it thinks the user has PM's disabled.

I also still want the user to be able to enable/disable email notifications of PM's and pop-up notifications while browsing.

Any ideas?


The code for the display of the options, can be found in the "modifyoptions" template and looks like this:

Code:
<if condition="$show['pmoptions']">
<fieldset class="fieldset">
<legend><label for="cb_receivepm">$vbphrase[private_messaging]</label></legend>
<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%">
					
<tr>
<td>
<phrase 1="private.php?$session[sessionurl]">$vbphrase[features_private_messaging_system]</phrase>
</td>
</tr>
				
<tr>
<td><label for="cb_receivepm"><input type="checkbox" name="options[receivepm]" value="1" id="cb_receivepm" onclick="toggle_disabled(this.checked, 'pmoptions')" $checked[receivepm] />$vbphrase[enable_private_messaging]</label></td>
</tr>

<tbody id="pmoptions"<if condition="!$bbuserinfo[receivepm]"> disabled="disabled"</if>>

<tr>
<td><br />$vbphrase[can_email_when_sends_you_pm]</td>
</tr>

<tr>
<td><label for="cb_emailonpm"><input type="checkbox" name="options[emailonpm]" value="1" id="cb_emailonpm" $checked[emailonpm] />$vbphrase[receive_email_notification_pm]</label></td>
</tr>
						
<tr>
<td><br /><br />$vbphrase[browsing_when_receive_pm_popup]</td>
</tr>
						
<tr>
<td><label for="cb_pmpopup"><input type="checkbox" name="pmpopup" value="1" id="cb_pmpopup" $checked[pmpopup] />$vbphrase[show_pm_popup]</label></td>
</tr>
</tbody>
</table>
</fieldset>
<else />
<input type="hidden" name="options[receivepm]" value="$bbuserinfo[receivepm]" />
<input type="hidden" name="options[emailonpm]" value="$bbuserinfo[emailonpm]" />
<input type="hidden" name="pmpopup" value="$bbuserinfo[pmpopup]" />
</if>
Reply With Quote
  #2  
Old 07-15-2005, 03:43 PM
teonix teonix is offline
 
Join Date: Jun 2005
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Does anyone have any suggestions?
Reply With Quote
  #3  
Old 07-15-2005, 04:17 PM
tamarian tamarian is offline
 
Join Date: Oct 2001
Location: Canada
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't think this is doable through a template change.
Reply With Quote
  #4  
Old 07-16-2005, 04:24 PM
teonix teonix is offline
 
Join Date: Jun 2005
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Not at all?

Could it work to replace the checkbox with a hidden input field that passes along the "enabled" status?
Reply With Quote
  #5  
Old 07-16-2005, 04:38 PM
tamarian tamarian is offline
 
Join Date: Oct 2001
Location: Canada
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by teonix
Not at all?

Could it work to replace the checkbox with a hidden input field that passes along the "enabled" status?
Actually, that should work. Have you tried it?
Reply With Quote
  #6  
Old 07-17-2005, 06:55 AM
teonix teonix is offline
 
Join Date: Jun 2005
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'll give it a shot, I might need some help, but i'll see what I can do first and
i'll get back to you

I think I got it working, just wanted to confirm if I did it right in your opinion..


Old Code (Checkbox):
Code:
<input type="checkbox" name="options[receivepm]" value="1" id="cb_receivepm" onclick="toggle_disabled(this.checked, 'pmoptions')" $checked[receivepm] />

New Code (Hidden Input):
Code:
<input type="hidden" name="options[receivepm]" value="1" id="cb_receivepm" />
Reply With Quote
  #7  
Old 07-17-2005, 09:16 AM
Guest190829
Guest
 
Posts: n/a
Default

It looks fine to me.
Reply With Quote
  #8  
Old 07-17-2005, 10:31 AM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Using a hidden field will not stop Users from disabling PM.

But this should:
PHP Code:
$_POST['options']['receivepm'] = 1
in phpinclude_start.
Reply With Quote
  #9  
Old 07-17-2005, 03:52 PM
teonix teonix is offline
 
Join Date: Jun 2005
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh, interesting.. thank you for that information, i'll make that change right away..

If its not too much trouble though, could you briefly explain why the hidden field won't and what the code you gave does differently to prevent it?

Thanks very much.
Reply With Quote
  #10  
Old 07-17-2005, 05:31 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, a Hidden field sets the Form-Value to 1. So when the Users submits the Form it will be one.
But as this is being done at the Client Side, you can never be sure that the User will be submitting this Form - he could just use his own one where the Value is 0.
My Code sets the Value to 1 at server side, so the User has no chance to cheat.
Reply With Quote
Reply


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 02:54 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04009 seconds
  • Memory Usage 2,249KB
  • 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
  • (3)bbcode_code
  • (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
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (9)postbit_onlinestatus
  • (10)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_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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete