MyBB Community Forums

Full Version: PM's off by default, turning off randomly.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
So I use a simple signup page; user/email/pass/captcha, and all new users appear to have PM's off by default.
I have removed the option for people to disable PM's in their uCP but it seems that every time somebody edits their user (avatar change, sig change, etc) it seems to disable them. I'm having to mess with sql to mass re-enable them.

Is there any way to force-enable PM's permanently?


edit; I've checked group settings in aCP and everything seems to be... fine, as normal.
Noticed I have a similar problem, also use a simple signup page similar to DellFring

I get I can just run an SQL query to sort it*, but it is getting quite annoying having to d it every X days/weeks

*-For anyone that needs it
UPDATE mybb_users SET receivepms = '1' WHERE receivepms = '0'
it looks like a couple of the fields are missing from your simple signup page. Please post the contents of member_register template.

You cant just delete fields from the form you need to hide the inputs.
That is most likely the issue as I was using a short registration form as opposed to the default

<html>

<head>

<title>{$mybb->settings['bbname']} -
{$lang->registration}</title>

{$headerinclude}

<script type="text/javascript"
src="jscripts/validator.js"></script>

</head>

<body>

{$header}

<br />

<form action="member.php" method="post"
id="registration_form"><input type="text" style="visibility: hidden;"
value="" name="regcheck1" /><input type="text" style="visibility:
hidden;" value="true" name="regcheck2" />

{$regerrors}

<table border="0" cellspacing="{$theme['borderwidth']}"
cellpadding="{$theme['tablespace']}" class="tborder">

<tr>

<td class="thead"
colspan="2"><strong>{$lang->registration}</strong></td>

</tr>

<tr>

<td width="50%" class="trow1" valign="top">

<fieldset class="trow2">

<legend><strong>{$lang->account_details}</strong></legend>

<table cellspacing="0" cellpadding="{$theme['tablespace']}"
width="100%">

<tr>

<td colspan="2"><span class="smalltext"><label
for="username">{$lang->username}</label></span></td>

</tr>

<tr>

<td colspan="2"><input type="text" class="textbox" name="username"
id="username" style="width: 100%" value="{$username}"
/></td>

</tr>

<tr>

<td><span
class="smalltext">{$lang->password}</span></td>

</tr>

<tr>

<td><input type="password" class="textbox" name="password"
id="password" style="width: 100%" /></td>

</tr>

<tr>

&nbsp;&nbsp;&nbsp;&nbsp;<td colspan="2" style="display: none;"
id="password_status">&nbsp;</td>

</tr>

<tr>

<td><span class="smalltext"><label
for="email">{$lang->email}</label></span></td>

</tr>

<tr>

<td><input type="text" class="textbox" name="email" id="email"
style="width: 100%" maxlength="50" value="{$email}" /></td>

</tr>

<tr>

&nbsp;&nbsp;&nbsp;&nbsp;<td colspan="2" style="display: none;"
id="email_status">&nbsp;</td>

</tr>

<tr style="display: none;">

&nbsp;&nbsp;&nbsp;&nbsp;<td colspan="2"
id="{$captcha_field}_status">{$lang->leave_this_field_empty}
<input type="text" class="textbox" name="{$captcha_field}"
id="{$captcha_field}" style="width: 100%" maxlength="50" value=""
/></td>

</tr>

</table>

</fieldset>

<td width="50%" class="trow1" valign="top">

{$regimage}

</td>

</td>

</td>

</tr>

</table>

<div align="center">

<input type="hidden" name="step" value="registration" />

<input type="hidden" name="action" value="do_register" />

<input type="submit" class="button" name="regsubmit"
value="{$lang->submit_registration}" />

</div>

</form>

<script type="text/javascript">

<!--

&nbsp;&nbsp;&nbsp;&nbsp;regValidator = new
FormValidator('registration_form');

&nbsp;&nbsp;&nbsp;&nbsp;regValidator.register('username', 'notEmpty',
{failure_message:'{$lang->js_validator_no_username}'});

&nbsp;&nbsp;&nbsp;&nbsp;regValidator.register('email', 'regexp',
{match_field:'email2',
regexp:'^([a-zA-Z0-9_\\.\\+\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$',
failure_message:'{$lang->js_validator_invalid_email}'});

{$validator_extra}

&nbsp;&nbsp;&nbsp;&nbsp;regValidator.register('username', 'ajax',
{url:'xmlhttp.php?action=username_availability',
loading_message:'{$lang->js_validator_checking_username}'}); //
needs to be last

// -->

</script>

{$footer}

</body>

</html>
Maybe try this - not tested.

<html>

<head>

<title>{$mybb->settings['bbname']} -
{$lang->registration}</title>

{$headerinclude}

<script type="text/javascript"
src="jscripts/validator.js"></script>

</head>

<body>

{$header}

<br />

<form action="member.php" method="post"
id="registration_form"><input type="text" style="visibility: hidden;"
value="" name="regcheck1" /><input type="text" style="visibility:
hidden;" value="true" name="regcheck2" />

{$regerrors}

<table border="0" cellspacing="{$theme['borderwidth']}"
cellpadding="{$theme['tablespace']}" class="tborder">

<tr>

<td class="thead"
colspan="2"><strong>{$lang->registration}</strong></td>

</tr>

<tr>

<td width="50%" class="trow1" valign="top">

<fieldset class="trow2">

<legend><strong>{$lang->account_details}</strong></legend>

<table cellspacing="0" cellpadding="{$theme['tablespace']}"
width="100%">

<tr>

<td colspan="2"><span class="smalltext"><label
for="username">{$lang->username}</label></span></td>

</tr>

<tr>

<td colspan="2"><input type="text" class="textbox" name="username"
id="username" style="width: 100%" value="{$username}"
/></td>

</tr>

<tr>

<td><span
class="smalltext">{$lang->password}</span></td>

</tr>

<tr>

<td><input type="password" class="textbox" name="password"
id="password" style="width: 100%" /></td>

</tr>

<tr>

&nbsp;&nbsp;&nbsp;&nbsp;<td colspan="2" style="display: none;"
id="password_status">&nbsp;</td>

</tr>

<tr>

<td><span class="smalltext"><label
for="email">{$lang->email}</label></span></td>

</tr>

<tr>

<td><input type="text" class="textbox" name="email" id="email"
style="width: 100%" maxlength="50" value="{$email}" /></td>

</tr>

<tr>

&nbsp;&nbsp;&nbsp;&nbsp;<td colspan="2" style="display: none;"
id="email_status">&nbsp;</td>

</tr>

<tr style="display: none;">

&nbsp;&nbsp;&nbsp;&nbsp;<td colspan="2"
id="{$captcha_field}_status">{$lang->leave_this_field_empty}
<input type="text" class="textbox" name="{$captcha_field}"
id="{$captcha_field}" style="width: 100%" maxlength="50" value=""
/></td>

</tr>

</table>

</fieldset>

<td width="50%" class="trow1" valign="top">

{$regimage}

</td>

</td>

</td>

</tr>

</table>

<div align="center">
<input type="hidden" class="checkbox" name="allownotices" id="allownotices" value="1" />

<input type="hidden" class="checkbox" name="hideemail" id="hideemail" value="1" {$hideemailcheck} />

<input type="hidden" class="checkbox" name="receivepms" id="receivepms" value="1" />

<input type="hidden" class="checkbox" name="pmnotice" id="pmnotice" value="1" />

<input type="hidden" class="checkbox" name="emailpmnotify" id="emailpmnotify" value="1" {$emailpmnotifycheck} />

<input type="hidden" class="checkbox" name="invisible" id="invisible" value="0" {$invisiblecheck} />

<div style="display:none;">	<select name="subscriptionmethod" id="subscriptionmethod">
		<option value="0" {$no_subscribe_selected}>{$lang->no_auto_subscribe}</option>
		<option value="1" {$no_email_subscribe_selected}>{$lang->no_email_subscribe}</option>
		<option value="2" {$instant_email_subscribe_selected}>{$lang->instant_email_subscribe}</option>
	</select>
</div>
<div style="display:none;">{$tzselect}</div>
<div style="display:none;">
	<select name="dstcorrection">
		<option value="2" {$dst_auto_selected}>{$lang->dst_correction_auto}</option>
		<option value="1" {$dst_enabled_selected}>{$lang->dst_correction_enabled}</option>
		<option value="0" {$dst_disabled_selected}>{$lang->dst_correction_disabled}</option>
	</select>
</div>
</div>
<input type="hidden" name="step" value="registration" />

<input type="hidden" name="action" value="do_register" />

<input type="submit" class="button" name="regsubmit"
value="{$lang->submit_registration}" />

</div>

</form>

<script type="text/javascript">

<!--

&nbsp;&nbsp;&nbsp;&nbsp;regValidator = new
FormValidator('registration_form');

&nbsp;&nbsp;&nbsp;&nbsp;regValidator.register('username', 'notEmpty',
{failure_message:'{$lang->js_validator_no_username}'});

&nbsp;&nbsp;&nbsp;&nbsp;regValidator.register('email', 'regexp',
{match_field:'email2',
regexp:'^([a-zA-Z0-9_\\.\\+\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$',
failure_message:'{$lang->js_validator_invalid_email}'});

{$validator_extra}

&nbsp;&nbsp;&nbsp;&nbsp;regValidator.register('username', 'ajax',
{url:'xmlhttp.php?action=username_availability',
loading_message:'{$lang->js_validator_checking_username}'}); //
needs to be last

// -->

</script>

{$footer}

</body>

</html>
Tested on some disposable accounts and it seemed to work fine so left it in place and monitored about a dozen real signups it appears to be working without a hitch, thanks.
Re reading your post - I see you have a similar issue in the UserCp. Again, if you have simplified the user CP, don't remove the fields, hide them. The hidden field should have the input you want as default set.