1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.
Загрузка

1.2.x Xen-TR Who Has Visited [RU] 2.6.0

кто посетил за 24 часа

  1. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Перевод устанавливается через импорт языка с перезаписью, а не как дополнение.
     
  2. Gatses

    Gatses Местный

    Регистрация:
    05.02.11
    Сообщения:
    421
    Симпатии:
    584
    Версия XF:
    1.5.9
  3. SamnaD

    SamnaD Пользователь

    Регистрация:
    13.10.11
    Сообщения:
    2
    Симпатии:
    0
    Да в том то и дело, что я ставил язык с перезаписью и мне такое выдает(
     
  4. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Вы вообще внимательно предыдущие 2 сообщения прочитали? Вы тулите язык, как дополнение. А нужно ставить как язык, с перезаписью русского. Таким образом к русскому языку добавятся переведенные фразы для плагина.
     
  5. vadimon

    vadimon Местный

    Регистрация:
    30.07.11
    Сообщения:
    123
    Симпатии:
    11
    Версия XF:
    1.5.0
    А как данный блок реализовать в футере, чтобы он был на всю ширину страницы?
     
  6. Alexei89

    Alexei89 Местный

    Регистрация:
    30.11.11
    Сообщения:
    33
    Симпатии:
    10
    Версия XF:
    1.1.1
    Не подкажете, проблема с часовыми поясами решается/планируется решаться?
     
  7. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Автор забил на плагин.
    Так что, не планируется. Если только кто-то со стороны не поможет и не предложит исправление.
     
  8. Alexei89

    Alexei89 Местный

    Регистрация:
    30.11.11
    Сообщения:
    33
    Симпатии:
    10
    Версия XF:
    1.1.1
    Очень жаль
     
  9. Neris

    Neris Местный

    Регистрация:
    21.02.12
    Сообщения:
    3
    Симпатии:
    14
    Выкладываю тут свой багфикс этого, извиняюсь, пездеца. Может кому пригодится.
    Оформлять своим плагином нету времени, да и аккаунта на оф.форуме у меня нету. Так что, кому интересно, забирайте.

    Тут исправлен ужас с часовыми поясами, но список посетивших за текущий день выводится по серверному времени, а не по времени пользователя. Х-часовой режим это не затрагивает, ибо он для всех один.
    Так же выводятся все пользователи, даже недавно зашедшие, без той бешеной задержки.

    Инструкция

    1. Переименовать файл "library/XenTrCom/WhoHasVisited/Model/XWhoHasVisited.php" в "library/XenTrCom/WhoHasVisited/Model/XWhoHasVisited.php.orig".
    2. Создать новый файл "library/XenTrCom/WhoHasVisited/Model/XWhoHasVisited.php" с таким содержимым:
    PHP:
    <?php
    class XenTrCom_WhoHasVisited_Model_XWhoHasVisited{
        public static function 
    XenTrCom_WhoHasVisitedArray() {
       
            
    $XenTrCom_WhoHasVisited = array();
            
    $options XenForo_Application::get('options');
       
            if (!
    $options->xentrcom_whohasvisited_enable) return $XenTrCom_WhoHasVisited;
       
       
            
    $db XenForo_Application::get('db');
            
    $userModel XenForo_Model::create('XenForo_Model_User');
            
    $XenTrCom_WhoHasVisited = array();
     
            
    $limit $options->xentrcom_whohasvisited_limit;
       
       
            if (
    $options->xentrcom_whohasvisited_set//last X hours' list
            
    {
                
    $selectTime time() - intval($options->xentrcom_whohasvisited_time) * 3600;
            }
            else 
    //today's list
            
    {
                
    $dates XenForo_Locale::getDayStartTimestamps();
                
    $selectTime $dates["today"];
            }
       
       
            
    $avtivityUsers $db->fetchAll("SELECT `user_id`, `last_activity` FROM `xf_user` WHERE `last_activity` >= '$selectTime' ORDER BY `last_activity` DESC");
            
    $sessionUsers $db->fetchAll("SELECT `user_id`, `view_date` as `last_activity` FROM `xf_session_activity` WHERE `user_id` != 0 AND `view_date` >= '$selectTime' ORDER BY `view_date` DESC");
       
            
    $avtivityUsers array_merge($avtivityUsers$sessionUsers);
       
            
    $lastUsers = array();
            foreach (
    $avtivityUsers as &$row)
            {
                
    $lastUsers[(int)$row["user_id"]] = (int)$row["last_activity"];
            }
            unset(
    $avtivityUsers$sessionUsers);
       
            
    arsort($lastUsers);
       
            
    $count count($lastUsers);
            
    $more $count $limit;
       
            
    $usersInfo $userModel->getUsersByIds(array_keys($lastUsers),array()); //fetching users' infos
     
            
    foreach ($lastUsers as $userId => $lastActivity)
            {
                
    $user $usersInfo[$userId];
                if (!
    $userModel->canBypassUserPrivacy() && !$user["visible"]) continue;
                if (
    $options->xentrcom_whohasvisited_bannedexcluded && $user["is_banned"]) continue;
           
                
    $XenTrCom_WhoHasVisited[] = array("user" => $user"last_activity" => $lastActivity"more" => $more"count" => $count);
            }
       
            return 
    $XenTrCom_WhoHasVisited;
        }
    }
    3. В шаблонах "xen_tr_com_who_has_visited_avatar" и "xen_tr_com_who_has_visited_username" заменить все
    Код:
    {$XWhoHasVisited.user.last_activity}
    на
    Код:
    {$XWhoHasVisited.last_activity}
    4. (опционально) Если хотите, чтобы в режиме отображения по аватарам, во всплывающей подсказке показывалось так же и имя, в шаблоне "xen_tr_com_who_has_visited_avatar" замените
    Код:
     title="{xen:date
    на
    Код:
     title="{$XWhoHasVisited.user.username}, {xen:date
     
    henzo, Mirovinger, bat123 и 4 другим нравится это.
  10. Neris

    Neris Местный

    Регистрация:
    21.02.12
    Сообщения:
    3
    Симпатии:
    14
    Все-же фикс постом выше показывал посетивших форум сегодня в часовом поясе UTC (забыл я, что движок переводит системную таймзону в UTC на старте).
    Поковырял немного код xenforo и вот что вышло.
    Теперь в режиме «кто был сегодня» корректно выводится список для часового пояса пользователя (т.е. пользователь с часовым поясом UTC в 23:00 по UTC увидит больше пользователей в списке, чем пользователь с часовым поясом UTC+2 в то же время). То есть теперь этот блок работает полностью так, как от него ожидается, учитывая настройки часового пояса и сервера, и пользователя.

    Пост выше обновлен с новым кодом.

    Переписать бы еще тот ужас, что в шаблонах творится… но уже как-нить в другой раз.
     
    Mirovinger, bat123, TAIFUN и ещё 1-му нравится это.
  11. Nolik

    Nolik Местный

    Регистрация:
    13.10.10
    Сообщения:
    169
    Симпатии:
    56
    Версия XF:
    1.1.3
    Neris, применил ваш патч, получаю ошибку...

    Код:
    Server Error
     
    Undefined offset: 0
     
    XenForo_Application::handlePhpError() in XenTrCom/WhoHasVisited/Model/XWhoHasVisited.php at line 50
    XenTrCom_WhoHasVisited_Model_XWhoHasVisited::XenTrCom_WhoHasVisitedArray() in XenTrCom/WhoHasVisited/Controller/Public.php at line 6
    XenTrCom_WhoHasVisited_Controller_Public->actionIndex() in XenForo/FrontController.php at line 310
    XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 132
    XenForo_FrontController->run() in /community/index.php at line 13
     
  12. Neris

    Neris Местный

    Регистрация:
    21.02.12
    Сообщения:
    3
    Симпатии:
    14
    Ах, дико извиняюсь, забыл про сессии гостей.

    Пост выше обновлен с новым кодом.
     
    bat123, Alexei89 и TAIFUN нравится это.
  13. Nolik

    Nolik Местный

    Регистрация:
    13.10.10
    Сообщения:
    169
    Симпатии:
    56
    Версия XF:
    1.1.3
    Спасибо, теперь заработало!
     
  14. 456

    456 Пользователь

    Регистрация:
    16.01.12
    Сообщения:
    18
    Симпатии:
    1
    Версия XF:
    1.1.0 RC
    эта шляпа не работает, из-за виджет фреймворка наверное.
     
  15. Shmidtelson

    Shmidtelson Местный

    Регистрация:
    26.02.12
    Сообщения:
    108
    Симпатии:
    5
    Версия XF:
    1.1.3
    и у меня
     
  16. vitaliyremi

    vitaliyremi Read only

    Регистрация:
    30.05.12
    Сообщения:
    4
    Симпатии:
    0
    Версия XF:
    1.1.2
    Все прекрасно работает только на странице форум и то снизу, а на главной не отображает. Стоит портал и Framework подскажите куда вставить этот код <xen:include template="xen_tr_com_who_has_visited" /> или что надо сделать то бы отображало и желательно сбоку? Заранее спасибо!
     
  17. Mike

    Mike Местный

    Регистрация:
    30.11.11
    Сообщения:
    149
    Симпатии:
    3
    Версия XF:
    1.1.0 Final
  18. metallphilin

    metallphilin Пользователь

    Регистрация:
    20.12.11
    Сообщения:
    21
    Симпатии:
    3
    Версия XF:
    1.1.2
  19. GreenField

    GreenField Мегамозг

    Регистрация:
    11.07.12
    Сообщения:
    46
    Симпатии:
    1
    Версия XF:
    1.1.1
    Русский язык не ставится!

    Указанный файл не является корректным файлом языка в формате XML.
     
  20. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Потому что это не язык, а переведенный плагин!
     

Поделиться этой страницей