R
ragtek
Guest
You mean this: http://xenforo.com/community/threads/setting-session-activity.8246/ ?Since I haven't wired in any logic for reporting the location of the user, I guess that is why it's displaying unkown page.
I have taken note of that as a bug, I'll fix it in the next version.
You need to create a new method getSessionActivityDetailsForList returning the group names...
e.g. this is from the page controller ( XenForo_ControllerPublic_Page )
PHP:
public static function getSessionActivityDetailsForList(array $activities)
{
$pageNames = array();
foreach ($activities AS $activity)
{
if (!empty($activity['params']['node_name']))
{
$pageNames[$activity['params']['node_name']] = $activity['params']['node_name'];
}
}
$pageData = array();
if ($pageNames)
{
/* @var $pageModel XenForo_Model_Page */
$pageModel = XenForo_Model::create('XenForo_Model_Page');
$visitor = XenForo_Visitor::getInstance();
$permissionCombinationId = $visitor['permission_combination_id'];
$pages = $pageModel->getPagesByNames($pageNames, array(
'permissionCombinationId' => $permissionCombinationId
));
foreach ($pages AS $page)
{
$visitor->setNodePermissions($page['node_id'], $page['node_permission_cache']);
if ($pageModel->canViewPage($page))
{
$pageData[$page['node_name']] = array(
'title' => $page['title'],
'url' => XenForo_Link::buildPublicLink('pages', $page)
);
}
}
}
$output = array();
foreach ($activities AS $key => $activity)
{
$page = false;
if (!empty($activity['params']['node_name']))
{
$pageName = $activity['params']['node_name'];
if (isset($pageData[$pageName]))
{
$page = $pageData[$pageName];
}
}
if ($page)
{
$output[$key] = array(
new XenForo_Phrase('viewing_page'),
$page['title'],
$page['url'],
false
);
}
else
{
$output[$key] = new XenForo_Phrase('viewing_page');
}
}
return $output;
}