В стадии тестирования новая версия модуля MultiBlogs. Кроме всяческого багфикса добавлена еще одна фишка — ЧПУ для топиков. Фишка отключаемая, и кому не нужна, тот может ее отменить в конфиге.
Хоть и не принято на этом ресурсе писать про что-то общечеловеческое, все только по делу да по делу, но я все равно напишу этот нетипичный пост, который к разработке ЛС имеет очень косвенное отношение.
Итак, господа-товарищи, как и предполагалось, Президент России, особо не колеблясь, подписал вчера указ, подготовленный Министерством связи и массовых коммуникаций Российской Федерации, который устанавливает в России новый официальный праздник – День программиста.
Согласно этому документу, День программиста будет праздноваться в России на 256-й день года – 13 сентября, а если год високосный – 12 сентября.
В последнее время зафиксировано уже несколько случев, когда на сайтах, работающих под ЛС, регистрируется куча ботов с одной лишь целью — навтыкать ссылок в своем профиле. Есть информация, что даже админка с баном по айпи не спасает (не знаю, почему, но это факт).
В такой ситуации лучшее решение — это банить ботов по айпишнику непосредственно в файле .htaccess. Во-первых, надежно, потому что отсечение по айпи идет на уровне сервера. А во-вторых, эффективно, т.к. не грузятся страницы, не исполняются скрипты, не тратятся понапрасну ресурсы сервера. Опять же потому, что на уровне веб-сервера это все решается.
Вот рецепт, который дает юзер Eug (сам он сюда запостить не может, рейтинга не хватает, поэтому делаю за него).
— Для быстрого решения проблемы, описанной в топике livestreet.ru/blog/questions/2387.html поступаем так:
Берем файл .htaccess, который лежит в корне вашего сайта и руками перед 3-й строкой вписываем:
Order Deny,Allow
Deny from 82.193.96.212, 78.46.121.143
То есть запрещаем через файл конфигурирования апача доступ к сайту с данных айпишников (насколько я понял, у всех они фигурировали).
Т.е. файл .htaccess у вас должен получиться такой:
AddDefaultCharset UTF-8
Options -Indexes
Order Deny,Allow
Deny from 82.193.96.212, 78.46.121.143
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php
Не собирался выкладывать релиз в таком виде, но у людей возникли проблемы, которые, по идее, должен был решать бан по ip, но не решал. Как оказалось, бан ip-адреса вовсе не мешал регаться новым юзерам с этого ip (хотя потом и не пущал на сайт).
Поэтому пришлось в срочном порядке исправлять этот баг и выкладывать релиз, как есть. А есть в нем, помимо этого исправления, еще две новые фичи, а именно:
1) Настройки кеширования (в меню «Настройки»). Вообще-то, настраивать кеш можно было и через редактирование файла конфигурации. Но тут это более понятно. И плюс есть одна «волшебная» галочка — «Сбросить кеш». Возникает иногда в процессе работы такая необходимость, а простого инструмента не было.
2) Работа с инвайтами (в меню «Пользователи»): просмотр инвайтов (кто, когда и кого пригласил), генерация инвайтов (задаете, сколько нужно инвайтов и получаете список), рассылка инвайтов (задаете список адресов, и сгенерированные инвайты рассылаются по этому списку).
Поскольку выпуск релиза получился внеплановый, то не серчайте сильно, если баги какие-то попрут — не успел толком протестировать. Зато сотый релиз — юбилейный :)
При работе с сайтом на базе ЛС инода возникает необходимость свои блоки делать и включать их в страницы. В принципе, особых проблем в этом нет. Но если нужно, чтоб блок показывался на всех страницах, то нужно пробежаться по нескольким экшенам и там добавить блок. Если возникает желание сделать так, чтоб где-то блок показывался, а где-то нет, то нужно сообразить, в каких классах его вставить, а в каких — нет.
Собственно, проблема не шибко серьезная, но, тем не менее, возникло желание сделать так, чтоб манипулировать блоками можно было из одного места. Так и родился модуль «Менеджер Блоков».
В версии 1.1.29 добавлен некий элемент релевантности. Например, есть такие топики (перечислены в порядке их создания):
1. В тексте встречается слово «мама».
2. В тексте встречается фраза «мама мыла раму».
3. В тексте есть слова «мама», «рама».
4. И в тексте, и в заголовке встречается фраза «мама мыла раму».
5. В тексте встречается слово «рама».
…
Задаем поиск «мама мыла рам*».
В результатах топики будут выданы в таком порядке: 4, 2, 1, 3, 5
Т.е. максимальный вес имеют топики, в которых искомая фраза целиком встречается и в заголовке, и в тексте (если это поиск в топиках), потом те, где фраза целиком встречается в тексте, потом те, где встречается хотя бы одно из слов искомой фразы.
Изменения:
+ Работа с блогами: просмотр всех блогов (и коллективных, и персональных), удаление блогов. Раньше единого списка блогов не было, и удалять блоги можно было только через жо юзера, который их создал. Сейчас можно это сделать прямо из списка блогов.
+ В языковом модуле добавлено сохранение выбранного языка на любой промежуток времени. Несколько человек просило что-то подобное сделать. Чтоб не заниматься хаком профайла юзера, сделал это фичу через сохранение в куках. Подробнее здесь: livestreet.ru/blog/2347.html
UPD Обновил до 1.2.99, изменение одно: при удалении блога окно подтверждения выскакивает. А то верно было замечено — промахнулся с пьяну, ткнул не в тот блог, и…