The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Remove User's Ability To Disable the PM System Details »» | |||||||||||||||||||||||||||
Remove User's Ability To Disable the PM System
Developer Last Online: Aug 2015
Introduction
Each user has the ability to turn the private message system on / off in the user options. This hack will remove that ability for users to globally disable this option. How This Works This hack works on the basis that a user cannot modify hidden form fields. By modifying the user control panel's option template, it changes the field for disabling the PM system to a hidden field with a default value (of enabled). This requires that all previous users have this set to "yes" (this is addressed during installation). Installation Installation requires a small amount of work on your part, but it is a very simple to install. During installation, you must run 1 SQL query.
Change Log v1.0.0 - July 19th 2007
Show Your Support
|
Comments |
#2
|
||||
|
||||
The Really Helpful Post
If you haven't modified the modifyoptions template, you may replace the entire template with the following one (this template is of the latest vBulletin version as of release: v3.6.7): HTML Code:
<script type="text/javascript"> <!-- function toggle_disabled(status, objid) { obj = fetch_object(objid); if (obj) { obj.disabled = (status ? false : true); } } //--> </script> <form action="profile.php?do=updateoptions" method="post"> <input type="hidden" name="s" value="$session[dbsessionhash]" /> <input type="hidden" name="do" value="updateoptions" /> <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"> <thead> <tr> <td class="tcat">$vbphrase[edit_options]<span class="normal">: $bbuserinfo[username]</span></td> </tr> <tr> <td class="thead"> <a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('uopt_login')"><img id="collapseimg_uopt_login" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_uopt_login].gif" alt="" border="0" /></a> $vbphrase[login_privacy] </td> </tr> </thead> <tbody id="collapseobj_uopt_login" style="$vbcollapse[collapseobj_uopt_login]"> <tr> <td class="panelsurround" align="center"> <div class="panel"> <div style="width:$stylevar[formwidth_usercp]" align="$stylevar[left]"> <if condition="$show['invisibleoption']"> <fieldset class="fieldset"> <legend><label for="cb_invisible">$vbphrase[use_invisible_mode]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td>$vbphrase[invisible_mode_allows]</td> </tr> <tr> <td><label for="cb_invisible"><input type="checkbox" name="options[invisible]" value="1" id="cb_invisible" $checked[invisible] />$vbphrase[use_invisible_mode]</label><input type="hidden" name="set_options[invisible]" value="1" /></td> </tr> </table> </fieldset> </if> <if condition="$show['reputationoption']"> <fieldset class="fieldset"> <legend><label for="cb_showreputation">$vbphrase[show_my_reputation_level]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td> <phrase 1="$bbuserinfo[reputation]">$vbphrase[current_reputation_level_is_displayed]</phrase> </td> </tr> <tr> <td><label for="cb_showreputation"><input type="checkbox" name="options[showreputation]" value="1" id="cb_showreputation" $checked[showreputation] />$vbphrase[show_my_reputation_level]</label><input type="hidden" name="set_options[showreputation]" value="1" /></td> </tr> </table> </fieldset> </if> <fieldset class="fieldset"> <legend><label for="cb_showvcard">$vbphrase[allow_vcard_download]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td> $vbphrase[may_allow_users_tdownload_vcard] </td> </tr> <tr> <td><label for="cb_showvcard"><input type="checkbox" name="options[showvcard]" value="1" id="cb_showvcard" $checked[showvcard] />$vbphrase[allow_vcard_download]</label><input type="hidden" name="set_options[showvcard]" value="1" /></td> </tr> </table> </fieldset> $customfields[login] </div> </div> </td> </tr> </tbody> </table> <br /> <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"> <thead> <tr> <td class="thead"> <a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('uopt_msg')"><img id="collapseimg_uopt_msg" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_uopt_msg].gif" alt="" border="0" /></a> $vbphrase[messaging_notification] </td> </tr> </thead> <tbody id="collapseobj_uopt_msg" style="$vbcollapse[collapseobj_uopt_msg]"> <tr> <td class="panelsurround" align="center"> <div class="panel"> <div style="width:$stylevar[formwidth_usercp]" align="$stylevar[left]"> <fieldset class="fieldset"> <legend>$vbphrase[receive_email]</legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td> $vbphrase[administrators_may_send_email] </td> </tr> <tr> <td><label for="cb_adminemail"><input type="checkbox" name="options[adminemail]" value="1" id="cb_adminemail" $checked[adminemail] />$vbphrase[receive_email_from_bulletin_board_staff]</label><input type="hidden" name="set_options[adminemail]" value="1" /></td> </tr> <if condition="$show['receiveemail']"> <tr> <td><br />$vbphrase[allow_members_send_you_email]</td> </tr> <tr> <td><label for="cb_showemail"><input type="checkbox" name="options[showemail]" value="1" id="cb_showemail" $checked[showemail] />$vbphrase[receive_email_from_other_members]</label><input type="hidden" name="set_options[showemail]" value="1" /></td> </tr> </if> </table> </fieldset> <if condition="!$vboptions['enableemail']"> <input type="hidden" name="options[showemail]" value="$bbuserinfo[showemail]" /> </if> <fieldset class="fieldset"> <legend><label for="sel_autosubscribe">$vbphrase[default_thread_subscription_mode]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td><phrase 1="subscription.php$session[sessionurl_q]" rel="nofollow">$vbphrase[can_automatically_subscribe]</phrase></td> </tr> <tr> <td> <span style="float:$stylevar[right]"> <select name="autosubscribe" id="sel_autosubscribe"> <option value="-1" $emailchecked[9999]>$vbphrase[do_not_subscribe]</option> <option value="0" $emailchecked[0]>$vbphrase[no_email_notification]</option> <option value="1" $emailchecked[1]>$vbphrase[instant_email_notification]</option> <option value="2" $emailchecked[2]>$vbphrase[daily_email_notification]</option> <option value="3" $emailchecked[3]>$vbphrase[weekly_email_notification]</option> </select> </span> <label for="sel_autosubscribe">$vbphrase[default_thread_subscription_mode]:</label> </td> </tr> </table> </fieldset> <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_q]">$vbphrase[features_private_messaging_system]</phrase> </td> </tr> <tr style="display: none;"> <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><input type="hidden" name="set_options[receivepm]" value="1" /></td> </tr> <tbody id="pmoptions"<if condition="!$bbuserinfo[receivepm]"> disabled="disabled"</if>> <tr> <td><br />$vbphrase[accept_pm_only_from_buddies]</td> </tr> <tr> <td><label for="cb_receivepmbuddies"><input type="checkbox" name="options[receivepmbuddies]" value="1" id="cb_receivepmbuddies" $checked[receivepmbuddies] />$vbphrase[pm_from_buddies_only]</label><input type="hidden" name="set_options[receivepmbuddies]" value="1" /></td> </tr> <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><input type="hidden" name="set_options[emailonpm]" value="1" /></td> </tr> <tr> <td><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> $customfields[messaging] </div> </div> </td> </tr> </tbody> </table> <br /> <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"> <thead> <tr> <td class="thead"> <a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('uopt_thrd')"><img id="collapseimg_uopt_thrd" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_uopt_thrd].gif" alt="" border="0" /></a> $vbphrase[thread_display_options] </td> </tr> </thead> <tbody id="collapseobj_uopt_thrd" style="$vbcollapse[collapseobj_uopt_thrd]"> <tr> <td class="panelsurround" align="center"> <div class="panel"> <div style="width:$stylevar[formwidth_usercp]" align="$stylevar[left]"> <fieldset class="fieldset"> <legend>$vbphrase[visible_post_elements]</legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td>$vbphrase[option_to_hide_elements]</td> </tr> <tr> <td> <div><label for="cb_showsignatures"><input type="checkbox" name="options[showsignatures]" value="1" id="cb_showsignatures" $checked[showsignatures] />$vbphrase[show_signatures]</label><input type="hidden" name="set_options[showsignatures]" value="1" /></div> <div><label for="cb_showavatars"><input type="checkbox" name="options[showavatars]" value="1" id="cb_showavatars" $checked[showavatars] />$vbphrase[show_avatars]</label><input type="hidden" name="set_options[showavatars]" value="1" /></div> <div><label for="cb_showimages"><input type="checkbox" name="options[showimages]" value="1" id="cb_showimages" $checked[showimages] />$vbphrase[show_images] ($vbphrase[including_attached_and_img_code])</label><input type="hidden" name="set_options[showimages]" value="1" /></div> </td> </tr> </table> </fieldset> <fieldset class="fieldset"> <legend><label for="sel_threadedmode">$vbphrase[thread_display_mode]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td><phrase 1="faq.php?$session[sessionurl]faq=vb_board_usage#faq_vb_threadedmode">$vbphrase[choose_thread_display_mode]</phrase></td> </tr> <tr> <td> <span style="float:$stylevar[right]"> <select name="threadedmode" id="sel_threadedmode"> <option value="0" $threaddisplaymode[0]>$vbphrase[linear] - $vbphrase[oldest_first]</option> <option value="3" $threaddisplaymode[3]>$vbphrase[linear] - $vbphrase[newest_first]</option> <if condition="$vboptions['allowthreadedmode']"> <option value="1" $threaddisplaymode[1]>$vbphrase[threaded]</option> <option value="2" $threaddisplaymode[2]>$vbphrase[hybrid]</option> </if> </select> </span> <label for="sel_threadedmode">$vbphrase[thread_display_mode]:</label> </td> </tr> </table> </fieldset> <fieldset class="fieldset"> <legend><label for="sel_umaxposts">$vbphrase[posts_to_show_per_page]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td>$vbphrase[use_set_posts_before_splitting]</td> </tr> <tr> <td> <span style="float:$stylevar[right]"> <select name="umaxposts" id="sel_umaxposts"> <option value="-1" $postsdefaultselected>$vbphrase[use_forum_default]</option> $maxpostsoptions </select> </span> <label for="sel_umaxposts">$vbphrase[posts_to_show_per_page]:</label> </td> </tr> </table> </fieldset> <fieldset class="fieldset"> <legend><label for="sel_prunedays">$vbphrase[default_thread_age_cut_off]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td>$vbphrase[time_period_to_display_threads]</td> </tr> <tr> <td> <span style="float:$stylevar[right]"> <select name="prunedays" id="sel_prunedays"> <option value="0" $daysdefaultselected>$vbphrase[use_forum_default]</option> <option value="1" $days1selected>$vbphrase[show_threads_from_last_day]</option> <option value="2" $days2selected><phrase 1="2">$vbphrase[show_threads_from_last_x_days]</phrase></option> <option value="7" $days7selected>$vbphrase[show_threads_from_last_week]</option> <option value="10" $days10selected><phrase 1="10">$vbphrase[show_threads_from_last_x_days]</phrase></option> <option value="14" $days14selected><phrase 1="2">$vbphrase[show_threads_from_last_x_weeks]</phrase></option> <option value="30" $days30selected>$vbphrase[show_threads_from_last_month]</option> <option value="45" $days45selected><phrase 1="45">$vbphrase[show_threads_from_last_x_days]</phrase></option> <option value="60" $days60selected><phrase 1="2">$vbphrase[show_threads_from_last_x_months]</phrase></option> <option value="75" $days75selected><phrase 1="75">$vbphrase[show_threads_from_last_x_days]</phrase></option> <option value="100" $days100selected><phrase 1="100">$vbphrase[show_threads_from_last_x_days]</phrase></option> <option value="365" $days365selected>$vbphrase[show_threads_from_last_year]</option> <option value="-1" $daysallselected>$vbphrase[show_all_threads]</option> </select> </span> <label for="sel_prunedays">$vbphrase[default_thread_age_cut_off]:</label> </td> </tr> </table> </fieldset> $customfields[threadview] </div> </div> </td> </tr> </tbody> </table> <br /> <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"> <thead> <tr> <td class="thead"> <a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('uopt_date')"><img id="collapseimg_uopt_date" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_uopt_date].gif" alt="" border="0" /></a> $vbphrase[date_time_options] </td> </tr> </thead> <tbody id="collapseobj_uopt_date" style="$vbcollapse[collapseobj_uopt_date]"> <tr> <td class="panelsurround" align="center"> <div class="panel"> <div style="width:$stylevar[formwidth_usercp]" align="$stylevar[left]"> $timezoneoptions <fieldset class="fieldset"> <legend><label for="sel_startofweek">$vbphrase[start_of_the_week]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td>$vbphrase[parts_use_different_start_of_week]</td> </tr> <tr> <td> <span style="float:$stylevar[right]"> <select name="startofweek" id="sel_startofweek"> <option value="1" $day1selected>$vbphrase[sunday]</option> <option value="2" $day2selected>$vbphrase[monday]</option> <option value="3" $day3selected>$vbphrase[tuesday]</option> <option value="4" $day4selected>$vbphrase[wednesday]</option> <option value="5" $day5selected>$vbphrase[thursday]</option> <option value="6" $day6selected>$vbphrase[friday]</option> <option value="7" $day7selected>$vbphrase[saturday]</option> </select> </span> <label for="sel_startofweek">$vbphrase[start_of_the_week]:</label> </td> </tr> </table> </fieldset> $customfields[datetime] </div> </div> </td> </tr> </tbody> </table> <br /> <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"> <tr> <td class="thead"> <a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('uopt_misc')"><img id="collapseimg_uopt_misc" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_uopt_misc].gif" alt="" border="0" /></a> $vbphrase[miscellaneous_options] </td> </tr> <tr> <td class="panelsurround" align="center"> <div class="panel" id="collapseobj_uopt_misc" style="$vbcollapse[collapseobj_uopt_misc]"> <div style="width:$stylevar[formwidth_usercp]" align="$stylevar[left]"> <if condition="$show['editormode_picker']"> <fieldset class="fieldset"> <legend><label for="sel_showvbcode">$vbphrase[message_editor_interface]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td>$vbphrase[entering_message_three_interface]</td> </tr> <tr> <td> <span style="float:$stylevar[right]"> <select name="showvbcode" id="sel_showvbcode"> <option value="0" $selectvbcode[0]>$vbphrase[basic_editor_simple_text_box]</option> <option value="1" $selectvbcode[1]>$vbphrase[standard_editor_extra_formatting]</option> <if condition="$show['editormode_wysiwyg']"> <option value="2" $selectvbcode[2]>$vbphrase[enhanced_interface_wysiwyg]</option> </if> </select> </span> <label for="sel_showvbcode">$vbphrase[message_editor_interface]:</label> </td> </tr> </table> </fieldset> <else /> <input type="hidden" name="showvbcode" value="$bbuserinfo[showvbcode]" /> </if> <if condition="$show['styleoption']"> <fieldset class="fieldset"> <legend><label for="sel_newstyleset">$vbphrase[board_skin]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td> $vbphrase[switch_skin_select] </td> </tr> <tr> <td> <span style="float:$stylevar[right]"> <select name="newstyleset" id="sel_newstyleset"> $stylesetlist </select> </span> <label for="sel_newstyleset">$vbphrase[board_skin]:</label> </td> </tr> </table> </fieldset> </if> <if condition="$show['languageoption']"> <fieldset class="fieldset"> <legend><label for="sel_languageid">$vbphrase[board_language]</label></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%"> <tr> <td>$vbphrase[board_can_be_shown_any_language]</td> </tr> <tr> <td> <span style="float:$stylevar[right]"> <select name="languageid" id="sel_languageid"> <option value="0">$vbphrase[use_forum_default]</option> $languagelist </select> </span> <label for="sel_languageid">$vbphrase[board_language]:</label> </td> </tr> </table> </fieldset> </if> $customfields[other] </div> </div> <div style="margin-top:$stylevar[cellpadding]px"> <input type="submit" class="button" value="$vbphrase[save_changes]" accesskey="s" /> <input type="reset" class="button" value="$vbphrase[reset_fields]" accesskey="r" /> </div> </td> </tr> </table> </form> |
#3
|
||||
|
||||
Nice idea....
|
#4
|
||||
|
||||
It was to solve a problem someone had with trying to contact a user, but they turned it off.
|
#5
|
||||
|
||||
One minor problem:
Since you are hiding the row with display:none, any user who is versed with websites, CSS, etc can just disable PMs by changing the option to view page style to view no style. But I might try it if need be. So thanks for the release. |
#6
|
||||
|
||||
You could also set the option to hidden, so that they couldn't see it. Many improvements could be made.
|
#7
|
||||
|
||||
Quote:
Code:
<if condition=[member of admin usergroup code]> [code to disable PM system] </if> |
#8
|
||||
|
||||
You could hide the field, so any CSS that was removed by the browser wouldn't affect being able to edit this.
|
#9
|
||||
|
||||
Can do this it by that by just removing the code..
What you need is to make it an option in vbulletin options... e.g Overright User PM Option |
#10
|
||||
|
||||
Making it an option would require code modification to remove all instances of the over ride. If you make it "hidden" to the public view, it requires no code modification.
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|