示例#1
0
                        $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();
});