$blocked_words = Chat_ChatModel::getBlockList($_GET['id']); $messagefilter = htmlspecialchars_decode(strtr($_POST['message'], array('*' => '', '_' => '', '=' => '', '-' => ''))); foreach ($blocked_words as $word) { if (preg_match('~' . str_replace('~', '\\~', $word) . '~ui', $messagefilter) == true) { return array('error' => true, 'errors' => 'Запрещенное слово из вордфильтра.'); } } similar_text(trim($session->persistenceGet('last_chat_text', '')), trim($_POST['message']), $percent); if ($percent < 90) { Chat_ChatRoomsModel::TouchRoom($_GET['id']); $session->persistenceSet('last_chat_text', $_POST['message']); $id = Chat_ChatModel::AddMessage($_GET['id'], $_POST['message'], $_POST['password']); return array('error' => false, 'id' => $id); } return array('error' => true, 'errors' => 'Флуд контроль, сообщение проигнорировано.'); } else { return array('error' => true, 'errors' => implode(', ', $validator->getValidationResults())); } } } } } /** * Обработчики событий: */ EventModel::getInstance()->AddEventListener('view_*', function ($data) { if ($data) { Chat_ChatRoomsModel::SetRoomOnline($data); } Blog_BlogStatisticsModel::updateGlobalVisitors(); });