1. В phpmyadmin выполнить (если префикс таблиц не phpbb_ - заменить на свой):
Код: Выделить всё
ALTER TABLE `phpbb_users` ADD `user_allow_foe_pm` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0';
includes/ucp/ucp_pm_compose.php перед
Код: Выделить всё
if (!is_array($address_list))
{
$address_list = array();
}
Код: Выделить всё
$foe_blacklist=false;
Код: Выделить всё
if (!is_array($address_list))
{
$address_list = array();
}
Код: Выделить всё
else
{
if(isset($address_list['u']) && sizeof($address_list['u']) && isset($_POST['post']))
{
$sql="SELECT z.user_id FROM ".ZEBRA_TABLE." z, ".USERS_TABLE." u WHERE z.user_id IN('".implode("', '", array_map('intval', array_keys($address_list['u'])))."') AND z.foe='1' AND z.zebra_id='{$user->data['user_id']}' AND z.user_id=u.user_id AND u.user_allow_foe_pm='0'";
$result=$db->sql_query($sql);
while($row=$db->sql_fetchrow($result))
{
unset($address_list['u'][$row['user_id']]);
$foe_blacklist=true;
}
$db->sql_freeresult($result);
$foe_blacklist ? $user->lang['NO_RECIPIENT'].=$user->lang['FOE_BLACKLIST'] : '';
}
}
Код: Выделить всё
foreach($address_list['u'] as $user_id=>$type)
{
if($user_id==$user->data['user_id'])
{
trigger_error('NO_SELF_SEND_MESSAGE');
}
}
Код: Выделить всё
$sql="SELECT z.user_id FROM ".ZEBRA_TABLE." z, ".USERS_TABLE." u WHERE z.user_id IN('".implode("', '", array_map('intval', array_keys($address_list['u'])))."') AND z.foe='1' AND z.zebra_id='{$user->data['user_id']}' AND z.user_id=u.user_id AND u.user_allow_foe_pm='0'";
$result=$db->sql_query($sql);
while($row=$db->sql_fetchrow($result))
{
unset($address_list['u'][$row['user_id']]);
$foe_blacklist=true;
}
$db->sql_freeresult($result);
$foe_blacklist ? $user->lang['NO_RECIPIENT'].=$user->lang['FOE_BLACKLIST'] : '';
Код: Выделить всё
'popuppm' => request_var('popuppm', (bool) $user->optionget('popuppm')),
'allowpm' => request_var('allowpm', (bool) $user->data['user_allow_pm']),
Код: Выделить всё
'allowfoepm' => request_var('allowfoepm', (bool) $user->data['user_allow_foe_pm']),
Код: Выделить всё
$sql_ary = array(
'user_allow_pm' => $data['allowpm'],
Код: Выделить всё
'user_allow_foe_pm' => $data['allowfoepm'],
Код: Выделить всё
'S_MASS_EMAIL' => $data['massemail'],
'S_ALLOW_PM' => $data['allowpm'],
Код: Выделить всё
'S_ALLOW_FOE_PM' => $data['allowfoepm'],
Код: Выделить всё
));
?>
Код: Выделить всё
'FOE_BLACKLIST' => '<br /><br />Пользователям у которых вы находитесь в списке недругов нельзя отправлять личные сообщения.',
'ALLOW_FOE_PM' => 'Разрешить пользователям из списка недругов посылать вам личные сообщения',
'ALLOW_FOE_PM_EXPLAIN' => '',
Код: Выделить всё
<!-- IF S_CAN_HIDE_ONLINE -->
<dl>
Код: Выделить всё
<dl>
<dt><label for="allowfoepm1">{L_ALLOW_FOE_PM}:</label><br /><span>{L_ALLOW_FOE_PM_EXPLAIN}</span></dt>
<dd>
<label for="allowfoepm1"><input type="radio" name="allowfoepm" id="allowfoepm1" value="1"<!-- IF S_ALLOW_FOE_PM --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label for="allowfoepm0"><input type="radio" name="allowfoepm" id="allowfoepm0" value="0"<!-- IF not S_ALLOW_FOE_PM --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
Код: Выделить всё
<!-- IF S_CAN_HIDE_ONLINE -->
<tr>
Код: Выделить всё
<tr>
<td class="row1" width="50%"><b class="genmed">{L_ALLOW_FOE_PM}:</b><br /><span class="gensmall">{L_ALLOW_FOE_PM_EXPLAIN}</span></td>
<td class="row2"><input type="radio" class="radio" name="allowfoepm" value="1"<!-- IF S_ALLOW_FOE_PM --> checked="checked"<!-- ENDIF --> /><span class="genmed">{L_YES}</span> <input type="radio" class="radio" name="allowfoepm" value="0"<!-- IF not S_ALLOW_FOE_PM --> checked="checked"<!-- ENDIF --> /><span class="genmed">{L_NO}</span></td>
</tr>
Скриншоты:
Опция в личном разделе:
Результат: