diff --git a/library/config.php b/library/config.php
index 4ff17cf79..d00bce4b1 100644
--- a/library/config.php
+++ b/library/config.php
@@ -491,7 +491,7 @@ $bb_cfg['max_outgoing_pm_cnt'] = 10; // ограничение на кол. од
$bb_cfg['max_inbox_privmsgs'] = 500; // максимальное число сообщений в папке входящие
$bb_cfg['max_savebox_privmsgs'] = 500; // максимальное число сообщений в папке сохраненные
$bb_cfg['max_sentbox_privmsgs'] = 500; // максимальное число сообщений в папке отправленные
-$bb_cfg['max_smilies_pm'] = 15; // TODO: максимальное число смайлов в сообщении (0 - без ограничения)
+$bb_cfg['max_smilies_pm'] = 15; // максимальное число смайлов в сообщении (0 - без ограничения)
$bb_cfg['max_symbols_pm'] = 1500; // TODO: максимальное число символов в сообщении (0 - без ограничения)
$bb_cfg['pm_days_keep'] = 180; // TODO: время хранения ЛС
diff --git a/privmsg.php b/privmsg.php
index 9bc40103b..69fa1e750 100644
--- a/privmsg.php
+++ b/privmsg.php
@@ -805,6 +805,15 @@ if ($mode == 'read') {
$error = true;
$error_msg .= ((!empty($error_msg)) ? '
' : '') . $lang['EMPTY_MESSAGE'];
}
+
+ // Check smilies limit
+ if ($bb_cfg['max_smilies_pm']) {
+ $count_smilies = substr_count(bbcode2html($message), ';
+ if ($count_smilies > $bb_cfg['max_smilies_pm']) {
+ $error = true;
+ $error_msg .= ((!empty($error_msg)) ? '<br />' : '') . sprintf($lang['MAX_SMILIES_PER_POST'], $bb_cfg['max_smilies_pm']);
+ }
+ }
}
if ($submit && !$error) {
)