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

1.3.2 Определение ID темы, просматриваемой пользователем

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем n0rt37, 13.06.2014.

Загрузка
  1. n0rt37

    n0rt37 Активный пользователь

    Регистрация:
    29.12.13
    Сообщения:
    26
    Симпатии:
    6
    Версия XF:
    1.3.0
    Всем доброго времени. Подскажите, кто-нибудь знает как программно определить ID темы, которую смотрит в настоящее время пользователь? Заранее спасибо.
     
  2. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
    Откуда ее нужно определить?
     
    n0rt37 нравится это.
  3. n0rt37

    n0rt37 Активный пользователь

    Регистрация:
    29.12.13
    Сообщения:
    26
    Симпатии:
    6
    Версия XF:
    1.3.0
    пользователь смотрит тему, нажимает например определенную кнопку, нажатие активирует скрипт, которому нужно узнать thread_id. Идеально вместе с id категории и раздела, но это я уже впринципе догадываюсь как сделать. В зависимости от этого идет дальнейшая логика программы. Пока запилил через выборку из таблицы xf_thread_read по пользователю последнего значения. Работает, но как то мне кажется это через опу и насчет безопасности чего то я сомневаюсь. Хотелось бы функциями самого xenforo, но в ООП я пока не очень.
     
    Последнее редактирование: 14.06.2014
  4. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
    В качестве идеи могу предложить посмотреть Activity (см. library/XenForo/ControllerPublic/Member.php@204
    PHP:
            // get last activity details
            
    $user['activity'] = ($user['view_date'] ? $this->getModelFromCache('XenForo_Model_Session')->getSessionActivityDetails($user) : false);
    Она потом на странице профиля отображается:
    HTML:
        <xen:if is="{$canViewOnlineStatus}">
           <dl class="pairsInline lastActivity">
             <dt>{xen:phrase x_was_last_seen, 'username={$user.username}'}:</dt>
             <dd>
               <xen:if is="{$user.activity}">
                 <xen:if is="{$user.activity.description}">
                   {$user.activity.description}<xen:if is="{$user.activity.itemTitle}"> <em><a href="{$user.activity.itemUrl}" class="concealed">{$user.activity.itemTitle}</a></em></xen:if>,
                 <xen:else />
                   {xen:phrase viewing_unknown_page},
                 </xen:if>
                 <xen:datetime time="{$user.effective_last_activity}" class="muted" />
               <xen:else />
                 <xen:datetime time="{$user.effective_last_activity}" />
               </xen:if>
             </dd>
           </dl>
         </xen:if>
     
    Mirovinger и n0rt37 нравится это.

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