Перейти к контенту

Рекомендуемые сообщения

Собственно сабж. Стоит Рус. Модиф. IPB 1.3 от Игорька М. Статус Offline/online в темах есть, необходимо добавить такую штуку и в PM сообщения, когда читаешь письмо, чтобы в колонке слева(от письма) присутствовал статус. Заранее благодарен за любую помощь.

 

Жду... :D

Ссылка на комментарий
Поделиться на других сайтах

У меня так делает кстати, но у меня свой мод Online/Offline и для 1.2.

файл sources/Messenger.php, function view_msg()

 

$DB->query("SELECT g.*, m.* ".
"FROM ibf_members m, ibf_groups g WHERE id='".$msg['from_id']."' and g.g_id=m.mgroup");

 

заменил на

 

$DB->query("SELECT g.*, m.*[b], s.member_name[/b]  ".
"FROM ibf_members m, ibf_groups g [b]LEFT JOIN ibf_sessions s ON (m.id=s.member_id)[/b] WHERE id='".$msg['from_id']."' and g.g_id=m.mgroup");

 

затем ниже строчка

$member = $DB->fetch_row();

 

После нее добавлял:

                 if ($member['member_name'])
                {
                    $member['member_status']= "<font color=blue>Online</font>";
                }
                else
                {
                     $member['member_status']= "Offline";
                }

 

Затем идем в Skin/s#/skin_msg.php, function Render_msg($data)

После

<span class='postdetails'>

добавил

{$data['member']['member_status']}<br>

 

У меня вообще там все по другому из-за языковой поддержки для названий груп и мода настроек что отображать при просмотре сообщений. И то что я здесь написал не проверял, но должно работать... Так что бэкапы файлов сделай :D

 

И блок кода

                 if ($member['member_name'])
               {
                   $member['member_status']= "[b]<font color=blue>Online</font>[/b]";
               }
               else
               {
                    $member['member_status']= "[b]Offline[/b]";
               }

надо отредактировать под дизайн твоего мода Оффлайн/онлайн

Ссылка на комментарий
Поделиться на других сайтах

Всё отлично, только вот тут ошибка:

$DB->query("SELECT g.*, m.*, s.member_name  ".

"FROM ibf_members m, ibf_groups g LEFT JOIN ibf_sessions s ON (m.id=s.member_id) WHERE m.id='".$msg['from_id']."' and g.g_id=m.mgroup");

Спасибо :D

Ссылка на комментарий
Поделиться на других сайтах

2Hostem

Никогда не замечал при таком моде, что у тебя сообщения сдваиваются? :D

Ссылка на комментарий
Поделиться на других сайтах

Ой! Не было в ПМках, но в другом месте было, что ники два раза выводились (при запросе к ibf_sessions).

 

Но там же мы одну строку возвращаем :D

                 $member = $DB->fetch_row();  

 

Не циклически:

 while ( $member = $DB->fetch_row())

 

А было бы весело ;).

 

Можно еще в конце запроса LIMIT 1 добавить :)

 

Еще вспомнил, что они (пользователи из ibf_sessions) не постоянно удаляются, поэтому надо еще условие ограничения по времени делать.

 

перед "$DB->query..."

добавить

$cut_off = ($ibforums->vars['au_cutoff'] != "") ? $ibforums->vars['au_cutoff'] * 60 : 900;

$time = time() - $cut_off;

 

И в запросе добавить ограничение вот так:

$DB->query("SELECT g.*, m.*, s.member_name  ".
"FROM ibf_members m, ibf_groups g LEFT JOIN ibf_sessions s ON (m.id=s.member_id [b]and s.running_time > $time[/b]) WHERE m.id='".$msg['from_id']."' and g.g_id=m.mgroup");

Ссылка на комментарий
Поделиться на других сайтах

Ну ладно, с PM ты вывернулся :D

 

а начёт offline/online в Topics у тебя таже сделано? ;)

Ссылка на комментарий
Поделиться на других сайтах

Нет, не так же ;).

 

Там расширил запрос "кто просматривает топик" исключив where in_topic={$this->topic['tid']}

Есть ли пользователь в онлайне определяется логическим масивом

$cached[ $result['member_id'] ] = 1;

а генерация списка пользователей которые смотрят тему фильтруется условием "if ($this->topic['tid']==$result['in_topic'])"

 

Лишние данные правда обрабатываются. :D

 

Зато можно будет ввести еще IP-online / offline. Для админов, чтобы было видно статус у гостей и пользователей которые не авторизировались, но просматривают форум.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.