Фишка для SMF 2.0 RC2 - Текущее действие юзера в его Профиле

Автор vladok, 02 декабря 2009, 21:24:28

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

vladok

Набрел вот на забавную фишку и делюсь с общественностью, некий микрохак, позволяющий, заглянув в профиль юзера в онлайне, посмотреть где он на форуме и что делает.

Итак.

Modifications.russian.php

Дописываем в конце, перед ?>

//Профиль юзер текущее действие
$txt['current_action'] = 'Текущее действие';


В Profile.template.php

Ищем

echo '
<dt>', $txt['lastLoggedIn'], ': </dt>
<dd>', $context['member']['last_login'], '</dd>
</dl>';

и меняем на

echo '
<dt>', $txt['lastLoggedIn'], ': </dt>
<dd>', $context['member']['last_login'], '</dd>';
// User action:
if ((!empty($context['member']['action'])) && ($context['user']['is_logged']))
      echo '
         <dt><strong>', $txt['current_action'], ': </strong></dt>
         <dd>', $context['member']['action'], '</dd>';
    echo '
</dl>';


Заливаем, трем кеш SMF.
Заходим в профиль какого либо юзера в онлайне.

Если все получилось, то видим что то вроде


ЦитироватьДата регистрации:
    22 Дек. 2008, 17:17
IP:
    217.66.146.98
Время:
    02 Дек. 2009, 15:44
Последняя активность:
    Сегодня в 15:43
Текущее действие:
    Просматривает тему Черный экран смерти" в новой операционной системе Windows 7.


Харе кришна, май либер зольдат...

Drakonsa

Интересно а index.php?action=who откуда по вашему берет данные? :)

vladok

Оттуда же. Просто из профиля за конкретными юзерами в онлайне подглядывать удобнее :)

При желании можно вставить это дело к примеру юзеру под подпись в дисплей темплатку - будет весело :)
И даже может быть спровоцирует другого юзера на клик по линке той темы которую этот просматривает. Ибо при просмотре темки образуется линк на тему.

Очень любопытно заглянуть в собственный профиль и обнаружить что ты просматриваешь... собственный профиль  ;D 2funny и т.п.

Переписав условие, можно дать видеть сие лишь админам или административно модераторскому составу и т.д.

Играйтесь  ;)
Харе кришна, май либер зольдат...

Almaz

Замечательная фишка!
Было бы здорово оформить это в мод, для удобной установки/деустановки. Я бы рад сам сделать, да опыта маловато. angel

bato

Учусь настраивать данный форум у себя на сайте

BIOHAZARD

Цитата: bato от 26 декабря 2009, 19:40:33
а если человек сразу смотрит несколько тем?
покажет последнее, что он делал
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Serifa

Цитата: vladok от 02 декабря 2009, 21:36:35
Просто из профиля за конкретными юзерами в онлайне подглядывать удобнее :)

При желании можно вставить это дело к примеру юзеру под подпись в дисплей темплатку - будет весело :)
И даже может быть спровоцирует другого юзера на клик по линке той темы которую этот просматривает. Ибо при просмотре темки образуется линк на тему.

Насчет профиля: не знаю, мне удобнее использовать ссылочку "кто онлайн".  А искать кнопку конкретного профиля по форуму... если юзер есть в теме, которую я смотрю - то да. А если нет? А в онлайн мне проще попасть либо с главной портала, либо с главной форума, которые обычно всегда где-то в другом окне открыты.

А насчет "под подпись" - то же самое. Если юзер не онлайн - смысл его просматривать? А если онлайн - так его профиль еще надо найти и открыть.
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

vladok

В общем то смф показывает внизу на главной, "Пользователи Online". И самое странное - даже линком на профиль. Фантастика, да? :)

***

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

Несколько не ясно -чем сие плохо :)?
Харе кришна, май либер зольдат...

Bugo


vladok

Харе кришна, май либер зольдат...