Прогрессик

Начну понемногу публиковать прогресс работы над новым ядром проекта.

Уже непервую неделю набираю код модулей к новому ядру проекта, готово api авторизации юзера например, отказался от md5 кэша, продумал систему прав, распределение по группам, хранение настроек...

Вчера дописал довольно таки важный плагин...

Плагин - фильтр мата. Хоть плагин и несложный в реализации, но пришлось с ним посидеть более 6 часов в сумме, включая доработку на скорость выполнения, тесты... Поскольку плагин будет использоваться каждый раз при отправке сообщений в чате, добавления комментариев быстродействие просто необходимо. После всех обрезалок, доработок, удаления всех "удобных" переменных... фильтр и словарь удалось уместить... Сам не поверил, в 41 строчку :) Хотя если убрать всю красоту кода, уложить запрос к базе, при этом оставляя код читабельным, думаю выйдет 35 строк :)

Чтоже в этих 35 строках? Безусловно словарь нехороших слов, дабы ускорить перебор всех слов во время проверки, реализовал фишку разброса по алфавиту, на этом выиграл в быстродействии этак 5-8 раз - не хило :) Конечно же пришлось пожертвовать памятью - аж 1кб, хотя на "урезке" удобства выиграл куда больше :D
В оставшихся 31 строках парсер текста на отдельные слова, а также знаки препинания. Далее каждое слово уходит в далекое путешествие - проверку по словарю. Слова типа... м... авто, ааввттоо, автоооооооо, а в т о и прочий тип написания воспринимает как одно словечко, спорные слова такие "оскорблять", "требуется" больше не будут помечаться как мат, однако это не даст возможность ругаться добавляя к словам какие либо буквы, на этот счет надумал автоматическую систему сбора схожих слов на нехорошие. Каждая такая непонятка будет повышать коэффициент. Когда коэффициент станет слишком высоким, у модератора в панельке появиться ваш профиль, после чего проведет проверку ваших сообщений :) Если все будет крайне худо - учетка пойдет в баню, если же ошибочно, то коэффициент обнуляется, а словарь пополняется исключениями. Ну а за прямой мат система сама забанит человечка на случайный срок, от часа до недели :D Ах да, этот коэффициент виден только админам и модерам.

Надеюсь плагин не подведет в самый ответственный момент :)

Комментарии

  • Street-King 28 июня 2012, 02:31

    Не знаю почему, но при прочтении потянуло на дикое хихи 😜😜 А так то молодец, давно ждал антимата тут)

  • mostikov 28 июня 2012, 02:34

    Виталь, понял в какую степь мне еще порыть=))👨‍❤️‍👨

  • Eclipse 72rus 28 июня 2012, 12:17

    надо протестировать😆

  • DANeel1230 28 июня 2012, 14:01

    плагин огонь!а слово команда тоже не цензурится?

  • Dem 28 июня 2012, 14:02

    хорошая система👍, главное чтоб всё норм работало🙂

  • Pozabist 28 июня 2012, 15:47

    ооо, такую бы систему в контакт 😆
    отлично придумано👍

  • Vitaleks 28 июня 2012, 17:23

    2DANeel1230, нет, нормальные слова фильтроваться не будут, однако такое словечко могло попасть в возможные, сейчас добавлю в список исключений 🙂

  • 4eLoVek 28 июня 2012, 18:36

    Замечательно!

  • DANeel1230 28 июня 2012, 18:43

    2Vitaleks спасибо🙂

  • avatar
    Удалённый аккаунт 28 июня 2012, 20:36

    2Eclipse 72rus - ну вот, может быть ты наконец-то перестанешь использовать маты в комментариях.
    отличная работа, Vitaleks.

  • Street-King 28 июня 2012, 22:48

    2REXAR ой підісрав, ой підісрав 😜😜

  • Eclipse 72rus 29 июня 2012, 23:08

    Street-King 😜

Войдите  или  зарегистрируйтесь  для добавления комментария.
Или можете войти через соцсети: