Маска профиля пользователя в сообщении
Скрипт для изменения профиля юзера в рамках одного сообщения.

http://i.imgur.com/f9S7SHD.png

Автор: Человек-Шаман

скрипт и описание

Подробное описание возможностей

Что может:
• Заменить ник юзера, статус, аватар, подпись в рамках одного сообщения (маска профиля). Всё вместе или по отдельности – выбирает сам юзер в рамках заданных администратором форума настроек.
• Администратор может позволить юзерам изменять дополнительные поля профиля (личное звание) в рамках форумных bb-тегов. Тут же можно добавить автовставляемый шаблон для заполнения.
• Хранить до шести последних использованных масок профиля для каждого профиля. Маски хранятся в хранилище форума и доступны из любого браузера.
• Имеет удобное диалоговое окно для редактирования и предпросмотра маски профиля.
• Администратор сам выбирает, в каких разделах его форума и каким группам юзеров можно использовать скрипт.
• Кроме "полной" маски (разрешено менять все поля) существует "частичная", в которой можно изменять только аватар. Рамки её использования определяются администратором.
• Использует свой собственный набор bb-тегов (а также поддерживает создание собственных для дополнительных полей), но кроме того работает и с общеупотребительными [AVA], [STA] и [SGN].

Что добавилось (18.03.2017):
• Появился особый css-класс для профилей под маской. Теперь можно выделить их через стили.
• Диалог маски скрывается по нажатию esc.
• Есть возможность удалить из хранилища сразу все маски.
• Кроме текстовых и html кастомных полей появился тип bbcode. Теперь можно ограничить возможность пользователей в редактировании ЛЗ одними bb-кодами. В предпросмотре маски основные bb-теги отображаются корректно.
• По отдельной просьбе выложен исходный неминифицированный и неоптимизированный под ES5 код.


Установка и настройка

Как поставить?
1. Настроить скрипт для своего форума. Выбирайте, в каких разделах, кому и что можно. Группы Администраторов и Модераторов можно не указывать: им по умолчанию доступна полная маска везде.
2. Здесь же можно добавить возможность менять дополнительные поля профиля.
3. В нижней части страницы настроек сгенерируйте код скрипта.
4. Вставьте полученный код в поле html-низ в разделе форума "Администрирование » Настройки".
5. Проверьте работу скрипта с аккаунта пользователя. Это важно: администраторам и модераторам по умолчанию доступна полная маска везде, без ограничений в настройках.

Как использовать?
1. Над формой ответа найти кнопку вызова диалога маски.
https://i.gyazo.com/054aa9601bb7157bfc563ea65847a729.png
2. В открывшемся диалоговом окне следуйте подсказкам. Предпросмотр маски обновляется автоматически при потере фокуса на полях профиля.
http://i.imgur.com/f9S7SHD.png
3. В правой части диалога отображаются использованные ранее маски. Их можно использовать ещё раз, нажав на миниатюру аватарки,  или удалить из этого списка. Удаление необратимо.

Если что-то не получается?
Скрипт поддерживается пользователем Человек-Шаман на Едином форуме техподдержки mybb (http://forum.mybb.ru/) или через почту homoveneficus@gmail.com


FAQ

• А если у меня уже установлен другой скрипт смены профиля?
Пока не было обращений, что скрипты друг с другом как-то конфликтуют, но я бы всё равно не советовал ставить их вместе. Теги [AVA], [SGN], [STA] и [NIC] также понимаются этим скриптом, маски со старых постов не слетят.

• В скрипте всё страшно и непонятно, всё сплошным текстом, а вдруг там что плохое?
Читаемый код скрипта для разбора доступен по ссылке: http://f.etrin.ru/hvss/hvss-latest.js
Минимизированная версия всего лишь подверглась обработке javascript-minifier для более быстрой загрузки. Можно подключить на форум несжатую версию, ничего особенно не изменится.

• Куда вставлять скрипты? Как вставлять скрипты? В каком порядке?
Скрипт и его настройки вставляются в поля html-верх или html-низ в разделе «Администрирование > Настройки» вашего форума: сначала скрипт, потом его настройки. Должно получиться как-то так так:

Код:
    <script src="http://f.etrin.ru/hvss/hvss.min.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

http://i.imgur.com/ONu0llO.png

Картинка bb-кнопки замены (вместо дефолтной можно ставить свою: просто замените ссылку на картинку)

showPreview

true

Подключает (оставьте true) и отключает (замените на false) превью при создании маски.

defaultAvatar

http://i.imgur.com/bQuC3S1.png

Добавляет картинку, которая будет видна при заполнении маски в превью, если у игрока нет своей аватарки, а временную он по какой-то причине не подгрузил.

guestAccess

Сюда нужно вводить в виде  ["Название форума 1", "Название форума 2"] названия форумов, в которых будут продолжать отображаться маски удаленных профилей.
Полезно для игровых архивов.
Гости пользоваться масками не могут.

forumAccess

Открывает группам пользователей частичный доступ к скрипту – дает менять только аватар. Если удалить это значение, то делать это смогут все игроки во всех форумах без ограничений.

Чтобы разрешить смену аватаров в отдельных форумах только некоторым группам, вводите их названия в виде ‘Название форума’: ['Название группы 1', 'Название группы 2'].
Чтобы запретить частичную маску везде, пропишите в названии форума несуществующее у вас название.
В полной маске аватару менять всё ещё будет можно.
ВАЖНО! Если в названиях групп или форума есть апостроф, поставьте перед ним обратный слэш: '
Это важно для работы скрипта.

forumAccessExtended

Открывает группам пользователей доступ к использованию полной маски. Если удалить это значение, то никто, кроме администратора и модераторов, не сможет использовать весь функционал маски.

Чтобы открыть полный доступ к маске, вводите названия групп в виде ‘Название форума’: ['Название группы 1', 'Название группы 2'].
ВАЖНО! Если в названиях групп или форума есть апостроф, поставьте перед ним обратный слэш: '
Это важно для работы скрипта.

changeList

Позволят добавлять собственные поля для заполнения маски. Например, поля личных званий.

Составляющие настройки с пояснением:

'info': { — название для работы скрипта: произвольное, пишется латиницей и слитно
            title: 'Личное звание', — или любое другое понятное игрокам название нового поля.
            description: 'Принимает HTML', — описание и пояснение к новому полю, которое даст понять при заполнении маски, что это за поле и как его заполнять.
            tag: 'info', — тег, который будет использоваться для вставки изменений, [info]изменение[/info], вместо 'info' можно использовать любое латинское слово или сочетание символов без пробелов, кроме уже существующих bb-тегов.
            class: 'pa-fld1', — класс поля в профиле, который вы планируете заменить.
            defaultCode: '<b>Имя Фамилия, возраст<sup>y.o.</sup></a></b><br><i>сфера деятельности</i>,' — факультативный пункт, необязательный для заполнения: шаблон личного звания, чтобы облегчить игрокам работу с масками. Вставляется по нажатию на кнопку.
            type: 'html' — параметр, который позволяет использовать html- и bb-теги. Можно вместо 'html' использовать 'text' – тогда скрипт не будет воспринимать теги и вставит их как текст.
        }
ВАЖНО! Если в если в любом из полей встречается апостроф, поставьте перед ним обратный слэш: '
Это важно для работы скрипта.

userFields

['pa-author', 'pa-title', 'pa-avatar', 'pa-fld1','pa-reg','pa-posts','pa-respect', 'pa-positive', 'pa-awards', 'pa-gifts']

Классы полей профиля – обязательно в том порядке, в котором они отображаются в профиле. Тогда скрипт будет работать, даже если требуемого поля в профиле нет (удален аватар, нет ЛЗ, а у вас нестандартный порядок полей профиля).

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


Скрипт смены Имиджа в текущем посте
с запоминанием и возможностью быстрого ввода

Скрипт добавляет в форму ответа возможность менять ник, аватар, статус автора сообщения.

http://gerda.moy.su/_bd/0/59.png

Автор: Deff

скрипт и описание

Возможности:
• Изменение Аватара, Ника, Статуса, Подписи
• к Смене Аватара допущены Все!
• Смена Ника Статуса и Подписи распространяется только на выбранные локации и Ники,
• Актуально для Ролок, где под одним Аккаунтом играются несколько ролей.

Cтандартное Юзер-Меню:

http://gerda.moy.su/_bd/0/89227806.png

Расширенное Юзер-Меню:

http://gerda.moy.su/_bd/0/99585688.png

Установка Ника, Статуса, Подписи производится точно так же как и, к примеру выделение жирным шрифтом: Выделяете кусором код - нажимаете кнопку
Установка Аватара - очень похоже на вставку картинки: Пишите url - выделяете курсором и жмете кнопку "Аватар".


УСТАНОВКА

ХТМЛ-ВЕРХ

Код:
<link id="iNFpanel" rel="stylesheet" href="http://hostjs-mybb2011.narod.ru/css/change_ava.css" type="text/css"/>
<script src="http://hostjs-mybb2011.narod.ru/js/change_avatar_Nic_Status.js"></script>

В НАЧАЛО ХТМЛ-НИЗ

<style>.punbb .pa-avatar img {max-width:150px;height:auto;}</style>
<script type="text/javascript">
//========== HTML-низ START СЕКЦИЯ ======================================//

OnSmenaImage("Название  Категории", new Array("Ник1", "Ник2", "Ник3",  "Ник4", "Ник5", "Ник6"))
OnSmenaImage("Название  Форума", new Array("Ник1", "Ник2", "Ник3",  "Ник4", "Ник5", "Ник6"))
OnSmenaImage("Название темы", new Array("Ник1", "Ник2", "Ник3",  "Ник4", "Ник5", "Ник6"))

var AvtrArr=new Array(
"http://avatars.kards.qip.ru/images/avatar/41/54/21569.gif",    //Ссылки на картинки Аватар
"http://avatars.kards.qip.ru/images/avatar/88/35/13704.jpg",
"http://avatars.kards.qip.ru/images/avatar/41/67/26433.gif",
"http://avatars.kards.qip.ru/images/avatar/4e/cb/117582.jpg",
"http://avatars.kards.qip.ru/images/avatar/e4/e4/58596.gif",
"http://avatars.kards.qip.ru/images/avatar/ed/d7/120813.gif"   //End myarray_!!Последняя ссылка без Запятой!!!
)

StartNIZ(); //

//======= end HTML-низ START СЕКЦИЯ =====================================//
</script>


Пояснения

1. Все установки находятся в Cкрипте, идущем в HTML низ

2. 150 - максимально допустимая ширина Аватара устанавливаемая Пользователем.

3. Функция: OnSmenaImage("Название локации", new Array("Ник1", "Ник2", "Ник3",  "Ник4", "Ник5", "Ник6")) - это разрешение расширенного меню выбранным Никам в Избранных Локациях
Т.е помимо Аватара есть возможность менять Ник, Статус и Подпись - запоминание последнего имиджа для каждого пункта, выбранного курсором и заключённого в теги по клику,  для последующего быстрого ввода
Строку синим жирным размножаем сколь нужно для выбранных Локаций и ников.

4. Ниже (ссылки розовым) - это Галлерея  в посте
ссылки меняем на свои, дополняем
!!!Последняя Ссылка без запятой!


ТЕГИ
[NIC] [/NIC](Ник); [STA] [/STA](Статус); [AVA] [/AVA](Аватар);  [SGN] [/SGN](Подпись); - все эти теги - однократно применяемые в текущем сообщении;

[NIC] [/NIC](Ник); [STA] [/STA](Статус); [AVA] [/AVA](Аватар);  - однострочные

[SGN] [/SGN](Подпись); - многострочная, можно вставить внутрь любые стандартные BB-коды (Картинки, таблицу и т.д)