Иконка ресурса

Persona - Personalise Your Forum Identity 1.3.1

Нет прав для скачивания
Поддержка разрешений — теперь Persona использует встроенную систему разрешений XenForo. В панели администратора в разделе «Группы и разрешения» вы найдете опцию «Можно использовать Persona». Установите для нужных групп значение «Разрешить», для остальных — «Нет» или «Никогда». Уже примененные стили будут отображаться; пользователи без соответствующего разрешения просто не смогут редактировать или создавать новые.


Что исправлено:

  • Поля ввода шрифта (имя пользователя и заголовок) теперь проверяются на соответствие известному списку шрифтов перед сохранением. Ранее они представляли собой произвольный текст, что означало возможность внедрения специально созданного значения в тег ссылки Google Fonts или в сгенерированный CSS. Теперь оба варианта заблокированы.
  • Направление градиента, стили границ, преобразования текста, названия значков, формы табличек с именами и все остальные поля с ограничениями теперь проверяются на соответствие строгим спискам разрешенных значений при сохранении. Все, что не входит в список, автоматически заменяется значением по умолчанию.
  • Значения цвета проверяются на соответствие строгому регулярному выражению (только hex, rgb, rgba, hsl, hsla). Произвольные строки больше не могут быть введены через поля цвета.
  • Поля URL-адреса проверяются на соответствие схеме (только http/https), а схемы javascript/data/vbscript явно блокируются.
  • Проверка на заблокированного пользователя теперь распространяется на действия «Импорт», «Копирование», «Отмена» и «Сброс». Ранее она применялась только к действиям «Сохранить» и «Загрузка главной страницы».
  • Теперь проверка соответствия уровням происходит внутри самого метода сохранения, поэтому импорт кода стиля, копирование из витрины или откат из истории больше не смогут обойти блокировку уровней для рамок, значков или тем.
  • Названия шрифтов проходят проверку перед внедрением в HTML-теги ссылок в обработчике событий контейнера страницы.
  • Исправлена ошибка, из-за которой эффекты радуги, мерцания и смены цвета могли зависать на некоторых стилях.
  • Загрузка пользовательских шрифтов больше не приводит к критической ошибке при сохранении.
  • Теперь выходные данные слушателя кэшируются (время жизни — 5 минут) для снижения нагрузки на запросы.
  • Удалены оставшиеся файлы резервных копий из пакета.
  • Усилена проверка URL-адресов встраиваемых файлов.
Вся проверка выполняется в функции saveUserStyle(), через которую проходит каждый участок кода, поэтому обходных путей не остаёт
Исправлено:

Фон и рамка имени пользователя не отображались в виджетах боковой панели.
Когда пользователь задавал цвет фона и/или рамку для своего имени пользователя, это корректно отображалось во всплывающих подсказках, предварительном просмотре и областях сообщений, но не в боковой панели «Участники онлайн» или аналогичных контекстах встроенных списков. Первопричина заключалась в правиле переопределения, которое явно удаляло запятые background, borderпробелы и paddingграницы из имен пользователей внутри .p-body-sidebar контейнеров .contentRow. Исправление удаляет эти правила удаления и применяет display: inline-block; vertical-align: baseline вместо них, поэтому фоновые элементы и границы корректно отображаются во встроенных списках, разделенных запятыми, во всех темах.

Обрезка фона при сочетании градиента и цвета фона. Когда у пользователя был как текстовый градиент, так и элемент с цветом фона, градиент background-clip: text применялся как к внешнему контейнеру, так и к внутреннему элементу span, обрезая элемент по форме текста. Генератор CSS теперь background-clip: border-box при необходимости сбрасывает внешний элемент на значение, сохраняя элемент видимым за текстом с градиентом.

Примечания по обновлению:

Загрузите и установите как обычно. CSS автоматически перегенерируется для всех пользователей. Изменение настроек не требуется. Рекомендуемое обновление для всех установок.
Ошибка: функция regenerateUserCss() в файле Repository/Persona.php требовала два аргумента ($userId и массив $style), но Setup.php вызывал её только с $userId на этапе пересборки после обновления. Это вызывало ошибку ArgumentCountError при каждом обновлении с более старой версии (например, с 1.0.1 до 1.1.3 или 1.1.4).

Исправление: $style стал необязательным параметром (массив $style = null). Если он не передан, метод теперь автоматически получает данные стиля пользователя из сущности UserStyle. Работают оба варианта вызова — путь обновления через Setup (один аргумент) и обычный путь сохранения (два аргумента).

Устранен конфликт при отображении иконок и значков настроения. Когда пользователь настраивал одновременно иконку имени пользователя (огонь, корона и т. д.) и значок настроения («Яростный», «Расслабленный» и т. д.), отображался только один из них. Основная причина заключалась в том, что обе функции записывали CSS в один и тот же псевдоэлемент ::after, поэтому правило, которое выполнялось последним, переопределяло другое.

Генератор CSS теперь отслеживает, какой псевдоэлемент занимает иконка, и автоматически назначает значок настроения противоположному. Например, если пользователь выбирает иконку огня (которая отображается через ::after), значок настроения будет отображаться через ::before. Это работает для любой комбинации иконок и значков без необходимости настройки.

Правила отображения, учитывающие контекст (боковая панель, строки контента, меню, всплывающие подсказки, заголовки профиля), были обновлены для корректной обработки обоих псевдоэлементов.

Что нового:

Автоматическая перестройка CSS при обновлении. При обновлении до версии 1.1.3 все существующие файлы CSS для пользовательских профилей автоматически перегенерируются на этапе установки. Это означает, что исправление вступает в силу немедленно для каждого пользователя, у которого уже настроен профиль — ручная перенастройка не требуется.

Примечания по обновлению:

Загрузите и установите как обычно через панель администратора XenForo.
Обновление сгенерирует CSS для всех пользователей с активными профилями. На больших сайтах с большим количеством настроенных профилей это может занять несколько дополнительных секунд во время установки.
Никаких настроек или изменений конфигурации не требуется.
Назад
Сверху Снизу