Это старая версия документа.


Плагин smfuser

Этот плагин позволяет добавлять ссылки на профили пользователей на форуме с помощью конструкции [[user>username]].

Пока что много инфы тут:

Плагин smfuser

Дополнительные возможности

Если вы хотите, чтобы везде, где DokuWiki выводит имена пользователей (например, на страницах с историей изменений), вместо них при наличии плагина smfuser отображалась бы ссылка на профиль соответствующего пользователя, то измените файл inc/common.php следующим образом:

Где-то в середине функции editorinfo замените 2 строчки

case 'username':
  return hsc($info['name']);

на следующую конструкцию:

case 'username':
  if(!plugin_isdisabled('smfuser')) {
    $smfuser =& plugin_load('helper', 'smfuser_main');
    return $smfuser->renderProfileLink($smfuser->getUserInfo($info['name']));
  } else {
    return hsc($info['name']);
  }

Кроме того, можно переопределить стандартную функцию tpl_userinfo(), которая используется в шаблонах для вывода информации о текущем пользователе, добавив в неё ссылку на профиль пользователя. Для этого необходимо добавить в используемый вами шаблон функцию следующего содержания:

/*
 * Замена стандартной функции tpl_userinfo() на функцию, показывающую ссылку на профиль пользователя в SMF
*/
function tpl_smfuserinfo() {
  global $lang;
  global $INFO;
 
  if (!plugin_isdisabled('smfuser')) {
    $smfuser =& plugin_load('helper', 'smfuser_main');
    if (isset($_SERVER['REMOTE_USER'])) {
      print $lang['loggedinas'].': '.$smfuser->renderProfileLink($smfuser->getUserInfo($INFO['userinfo']['name']), 'top');
      return true;
    }
  } else {
    return tpl_userinfo();
  }
  return false;
}

После чего заменить в шаблоне вызов tpl_userinfo() вызовом добавленной функции tpl_smfuserinfo().

Пример

Тестирование: просто, вот с текстом, а вот или например и . В целом работает, есть только мелкие недочёты. У , которые вообще ничего не заполнили в профиле, никакого popup не будет. А так даже мелкие нормально отображаются. Стандартные аватары SMF - . Анимированный gif -

Ах да, среди нас таки есть ;-).