- Совместимость
- проверялся на совместимость
- Изменения в БД
- не требуются
- Автор
- belomaxorka
- Общественное достояние
- нет
При указании ника / ников в тэге [@]...[/@] генерируется ссылка на профиль пользователя и сохраняется в сообщении при отправке.
Совместимость с v2.1.5 LTS / v2.1.5 и более старыми. Для новых версий нужна минимальная адаптация.
Преимущества мода:
Совместимость с v2.1.5 LTS / v2.1.5 и более старыми. Для новых версий нужна минимальная адаптация.
Преимущества мода:
- Возможность указывать бесконечное количество пользователей через запятую
- Поддержка званий и их стилей. Так-же цвета ников (Админ, модератор, пользователь)
- Кнопка в BBCode редакторе (в AJAX редакторе в том числе) для быстрого вызова
- Если пользователя не существует (или гость), то отобразиться просто ник
- Инструкция по установке
-
PHP:
======================= открыть styles/js/bbcode.js и найти ======================= this.insertAtCursor("[b]" + name + '[/b], '); ======================= заменить на ======================= this.insertAtCursor("[@]" + name + '[/@], '); ======================= открыть posting_editor.tpl и найти ======================= <input type="button" value="s" name="codeS" title="{L_STRIKEOUT}" style="width: 25px; text-decoration: line-through;" /> ======================= вставить ниже ======================= <input type="button" value="@" name="codeMention" title="{L_MENTION}" style="width: 25px;" /> ======================= далее найти ======================= bbcode.addTag("codeQuote", "quote", null, "Q", ctrl); ======================= вставить ниже ======================= bbcode.addTag("codeMention", "@", null, "", ctrl); ======================= открыть library/ajax/posts.php и найти ======================= <input type="button" value="s" name="codeS" title="'. $lang['STRIKEOUT'] .'" style="width: 25px; text-decoration: line-through;" /> ======================= вставить ниже ======================= <input type="button" value="@" name="codeMention" title="'. $lang['MENTION'] .'" style="width: 25px;" /> ======================= далее найти ======================= bbcode.addTag("codeQuote", "quote", null, "Q", ctrl); ======================= вставить ниже ======================= bbcode.addTag("codeMention", "@", null, "", ctrl); ======================= открыть library/language/ru/main.php (или другой язык) и найти ======================= $lang['QUOTE_TITLE'] = 'Цитата: [quote]текст[/quote] (Ctrl+Q)'; ======================= вставить ниже ======================= $lang['MENTION'] = 'Упомянуть: [@]имя, имя2[/@], текст...'; ======================= открыть library/includes/bbcode.php и найти ======================= // [code] ======================= вставить выше ======================= // [@] (Select user) $text = preg_replace_callback('#\[@\](.*?)\[/@\]#isu', [&$this, 'get_username_callback'], $text); ======================= далее найти ======================= return $this->tpl['code_open'] . $code . $this->tpl['code_close']; } ======================= вставить ниже ======================= /** * Callback to [@] (Select username) * * @param $m * @return string * @throws Exception */ function get_username_callback($m) { $users = explode(',', $m[1]); $output = []; foreach ($users as $user) { if (!$user_data = get_userdata(get_user_id(trim($user)))) { $output[] = '[b]' . $user . '[/b]'; } else { $output[] = profile_url($user_data); } } return implode(', ', $output); } ======================= сохранить все файлы :D =======================