Сергей Шлоков
С нами с 31 января 2013; Место в рейтинге пользователей: #58 минут назад
Да, реально.$title = preg_replace('![^'.preg_quote($separator).'\.\pL\pN\s]+!u', '', $this->lower($title));
Работает как решение
[Translitor] - Альтернатива транслитерации псевдонимов 25
Вчера в 13:48
Финальная версия.
Прошлая давала ошибку при создании нового документа. Добавил проверку есть ли id.
@EVAL
if(! empty( $modx->resource->...
Tv параметр с чекбоксами выборка ресурсов вложенных в дедушку 7
Вчера в 09:22
Постам прошлого, у которых коэф рейтинга -0.1 и ниже, за каждое добавление в избранное и за каждый положительный голос рейтинга, следовало бы повышать...
Еще один эксперимент с рейтингом modx.pro 7
Вчера в 01:24
смотри информацию о Модификаторы MODX и фильтры phx
Генерация изображения с заданным текстом 6
20 января 2025, 14:22
Компонент не работает? А чего он тогда висит в магазине?
yClients + MODX - синхронизация CRM 16
19 января 2025, 13:57
Ничего из этого не планируется, если не будет спонсора на это. Компонент написан максимально просто с использованием метода оплаты виджетом, что требо...
[mspPaySelectionWidget] Виджет оплаты PaySelection для miniShop2 3
19 января 2025, 02:46
А сколько таких багов еще осталось по всяким разным компонентам??! Хорошо что добрые люди сообщили :-) А обычно компоненты проверять некому
[SendIt] Обнаружена критическая уязвимость обновитесь до версии 2.1.6 1
В общем, задача — чтобы pdoTools всегда использовал указанный в системной настройке парсер, который может быть pdoParser, SmartyParser (есть в ZoomX) или TwigParser (если такой будет).
И ещё, очень плохая идея держать лог ошибок в открытом доступе. Программистам по рукам давать надо.
Проблемы надо решать по мере их поступления. Вот Алексей споткнулся об гигабайтную таблицу и предложил решение. Но опять же, оно нужно не всем, а только тем, у кого аналогичная проблема. Остальным можно не париться.
Ну а отдельная таблица — это явный оверхед. Тогда уж лучше передавать в форму зашифрованные данные из параметров сниппета в скрытый инпут. В этом случае оверхеда будет гораздо меньше.
Т.е. если для 98% пользователей решение отлично подходит, но для 2-х% нет, то его нужно выбросить в пропасть. Ибо это оскорбляет эти 2%. Это не они должны адаптировать решение, а остальные 98%.
А ещё можно в догонку спросить? Сколько дополнений Вы создали?
П.С. Я спрашиваю абсолютно по-дружески. )
Сессии — это просто инструмент. Всё зависит от того, как им пользоваться. Вот из коробки в сессии пишутся группы ресурсов и группы пользователей. В итоге возникает проблема консистентности данных после изменения этих настроек. Это плохое использование сессий. А в ajaxForm использование сессий вполне обосновано.
И это глобально никак не влияет на разрастание таблицы сессий.
По большей части проблема или в неправильной настройке сборщика мусора (не зависит от MODX) или в ботах (о чём писал Алексей в своей статье), ибо каждый запрос бота вызывает создание новой записи в таблице. С гостями особой проблемы нет — запись создаётся только один раз и будет использоваться в течение 7 дней, потом будет удалена и создана другая (разговор про один браузер и стандартные настройки). Пример как игнорировать ботов и не создавать для них сессии есть у меня на сайте.
П.С. К слову, я не сторонник С-ишных названий с префиксом I. Да и суффикс Interface, наверно, всё-таки лишний. По-современному должно быть так — интерфейс SessionHandler, а реализации — modSessionHandler, AntibotSessionHandler и т.п.
Самый простой выход — через js в админке менять хандлер у этого пункта меню, в котором указать свой процессор (поправленную копию системного процессора).
Зачем? Теперь лишняя таблица в базе болтается. Для таких целей используют миграции. В MODX их нет, но можно расширить схему.
Писать в базу нефильтрованный USER_AGENT — это чтобы пощекотать себе нервы?
Ну и про наследование в ООП советовал бы почитать.
Режим «Николай Ланец» OFF. ))
А сам сниппет в 1 строчку