Скрипт hvScriptSet
version 1.0.15
Скрипт для изменения профиля юзера в рамках одного сообщения.
Что может:
► Заменить ник юзера, статус, аватар, подпись в рамках одного сообщения (маска профиля). Всё вместе или по отдельности – выбирает сам юзер в рамках заданных администратором форума настроек.
► Администратор может позволить юзерам изменять дополнительные поля профиля (личное звание) и настроить способ вставки: html, bb-коды или простой текст.
► Администратор может создать один или несколько шаблонов для предзаполнения поля.
► Хранить до двадцати последних использованных масок профиля для каждого профиля. Маски хранятся в хранилище форума и доступны из любого браузера. При желании админа лимит на маски проставляется произвольно.
► Имеет удобное диалоговое окно для редактирования и предпросмотра маски профиля.
► Администратор сам выбирает, в каких разделах его форума и каким группам юзеров можно использовать скрипт.
► Кроме "полной" маски (разрешено менять все поля) существует "частичная", в которой можно изменять только аватар. Рамки её использования определяются администратором.
► Использует свой собственный набор bb-тегов (а также поддерживает создание собственных для дополнительных полей), но кроме того работает и с общеупотребительными [AVA], [STA] и [SGN].
Как поставить?
1. Настроить скрипт для своего форума. Выбирайте, в каких разделах, кому и что можно. Группы Администраторов и Модераторов можно не указывать: им по умолчанию доступна полная маска везде.
2. Здесь же можно добавить возможность менять дополнительные поля профиля.
3. В нижней части страницы настроек сгенерируйте код скрипта.
4. Вставьте полученный код в поле html-низ в разделе форума "Администрирование » Настройки".
5. Проверьте работу скрипта с аккаунта пользователя. Это важно: администраторам и модераторам по умолчанию доступна полная маска везде, без ограничений в настройках.
Как использовать?
1. Над формой ответа найти кнопку вызова диалога маски.
2. В открывшемся диалоговом окне следуйте подсказкам. Предпросмотр маски обновляется автоматически при потере фокуса на полях профиля.
3. В правой части диалога отображаются использованные ранее маски. Их можно использовать ещё раз, нажав на миниатюру аватарки, или удалить из этого списка. Удаление необратимо.
Если что-то не получается?
Скрипт поддерживается пользователем Человек-Шаман на Едином форуме техподдержки mybb (http://forum.mybb.ru/) или через почту homoveneficus@gmail.com
• А если у меня уже установлен другой скрипт смены профиля?
Пока не было обращений, что скрипты друг с другом как-то конфликтуют, но я бы всё равно не советовал ставить их вместе. Теги [AVA], [SGN], [STA] и [NIC] также понимаются этим скриптом, маски со старых постов не слетят.• В скрипте всё страшно и непонятно, всё сплошным текстом, а вдруг там что плохое?
Читаемый код скрипта для разбора доступен по ссылке: http://f.etrin.ru/hvss/hvss-latest.js
Минимизированная версия всего лишь подверглась обработке javascript-minifier для более быстрой загрузки и Babel для совместимости. Можно подключить на форум несжатую версию, ничего особенно не изменится, кроме поддержки скрипта устаревшими браузерами.
• Куда вставлять скрипты? Как вставлять скрипты? В каком порядке?
Скрипт и его настройки вставляются в поля html-верх или html-низ в разделе «Администрирование > Настройки» вашего форума: сначала скрипт, потом его настройки. Должно получиться как-то так так:<script src="https://forumstatic.ru/files/0017/95/29/89289.js"></script>
<script>
hvScriptSet.addMask(...);
</script>• У меня маска вставляет ЛЗ/аватар куда попало в профиле.
Обратите внимание на настройку userFields, она должна в обязательном порядке содержать классы всех видимых полей профиля (а не только тех, которые меняются) в том порядке, в каком они есть. Для удобства пользуйтесь генератором, он не позволит вам ошибиться.• После изменения прав доступа к форумам всё перестало работать.
Внимательно проверьте, чтобы в названиях форумов и групп были правильно расставлены запятые, а одинарные кавычки в названиях были заменены на \' — это важно для работы скрипта.
Воспользуйтесь генератором, он аккуратно расставит всё за вас.• Я заметил ошибку!
Автор скрипта доступен для фидбека по электронному адресу homoveneficus@gmail.com.
• Хочу поставить другой фон для диалога маски.
Стили диалога маски можно прописывать в настройках стиля форума: «Администрирование > Свой стиль».Например, для задания заднего фона окошку нужно прописать в "своём стиле" в любом из полей:
Код:#mask_dialog .inner { background: url('ваша картинка фона'); }• Игрок поставил большую картинку как аватар, и профиль разнесло =(
Чтобы такого не случалось, пропишите в «Администрирование > Свой стиль» в конце любого из полей следующее:Код:.pa-avatar img { max-width: 180px; max-height: 180px; }180px можно заменить на свои значения, в пикселях, за границы которых не позволено выходить аватарам.
Настройка
Значение по умолчанию
Описание
buttonImage
Картинка bb-кнопки замены (вместо дефолтной можно ставить свою: просто замените ссылку на картинку)
showPreview
true
Подключает (оставьте true) и отключает (замените на false) превью при создании маски.
defaultAvatar
Добавляет картинку, которая будет видна при заполнении маски в превью, если у игрока нет своей аватарки, а временную он по какой-то причине не подгрузил.
guestAccess
Сюда нужно вводить в виде ["Название форума 1", "Название форума 2"] названия форумов, в которых будут продолжать отображаться маски удаленных профилей.
Полезно для игровых архивов.
Гости пользоваться масками не могут.forumAccess
Открывает группам пользователей частичный доступ к скрипту – дает менять только аватар. Если удалить это значение, то делать это смогут все игроки во всех форумах без ограничений.
Чтобы разрешить смену аватаров в отдельных форумах только некоторым группам, вводите их названия в виде ‘Название форума’: ['Название группы 1', 'Название группы 2'].
Чтобы запретить частичную маску везде, пропишите в названии форума несуществующее у вас название.
В полной маске аватару менять всё ещё будет можно.
ВАЖНО! Если в названиях групп или форума есть апостроф, поставьте перед ним обратный слэш:Код:\'Это важно для работы скрипта.
forumAccessExtended
Открывает группам пользователей доступ к использованию полной маски. Если удалить это значение, то никто, кроме администратора и модераторов, не сможет использовать весь функционал маски.
Чтобы открыть полный доступ к маске, вводите названия групп в виде ‘Название форума’: ['Название группы 1', 'Название группы 2'].
ВАЖНО! Если в названиях групп или форума есть апостроф, поставьте перед ним обратный слэш:Код:\'Это важно для работы скрипта.
changeList
Позволят добавлять собственные поля для заполнения маски. Например, поля личных званий.
Составляющие настройки с пояснением:
'info': { — название для работы скрипта: произвольное, пишется латиницей и слитно
title: 'Личное звание', — или любое другое понятное игрокам название нового поля.
description: 'Принимает HTML', — описание и пояснение к новому полю, которое даст понять при заполнении маски, что это за поле и как его заполнять.
tag: 'info', — тег, который будет использоваться для вставки изменений, [info]изменение[/info], вместо 'info' можно использовать любое латинское слово или сочетание символов без пробелов, кроме уже существующих bb-тегов.
class: 'pa-fld1', — класс поля в профиле, который вы планируете заменить.
defaultCode: [ //факультативное поле сюда можно по аналогии вводить шаблоны ЛЗ. Они отобразятся выпадающим меню около поля и при выборе предзаполнят поле нужными тегами / bb-кодами
{
name: 'Первый шаблон',
template: '<div>Код первого шаблона</div>'
},
{
name: 'Второй шаблон',
template: '<div>Код второго шаблона</div>'
}
],
type: 'bbcode' — параметр, который позволяет использовать html- и bb-теги. Можно вместо 'bbcode' использовать 'html' или 'text' – тогда скрипт будет вставлять вставлять значение поля как html или как простой текст.
}
ВАЖНО! Если в если в любом из полей встречается апостроф, поставьте перед ним обратный слэш:Код:\'Это важно для работы скрипта.
userFields
['pa-author', 'pa-title', 'pa-avatar', 'pa-fld1','pa-reg','pa-posts','pa-respect', 'pa-positive', 'pa-awards', 'pa-gifts']
Классы полей профиля – обязательно в том порядке, в котором они отображаются в профиле. Тогда скрипт будет работать, даже если требуемого поля в профиле нет (удален аватар, нет ЛЗ, а у вас нестандартный порядок полей профиля).
Указывать нужно обязательно все отображаемые (даже неизменяемые) поля, по порядку, в кавычках, через запятую.
- Подпись автора