function getForumThreads($forumname, $limit)
{
//Get Thread_array
$threadModel = XenForo_Model::create( 'XenForo_Model_Thread' );
if($forumname != "rss" && $forumname != "")
{
//Get Thread_array
$db = XenForo_Application::getDb();
$sql="SELECT node_id FROM xf_node WHERE node_name = '".$forumname."'";
$data = $db->fetchOne ($sql);
$threads = $threadModel->getModelFromCache('XenForo_Model_Thread')->getThreads( array(
'discussion_state' => 'visible',
'node_id' => $data,
), array(
'limit' => $limit,
'order' => 'thread_id',
'orderDirection'=> 'desc'
) );
}
else
{
$threads = $threadModel->getModelFromCache('XenForo_Model_Thread')->getThreads( array(
'discussion_state' => 'visible',
), array(
'limit' => $limit,
'order' => 'thread_id',
'orderDirection'=> 'desc'
) );
}
return $threads;
}
function sortBy($field, &$array, $direction = 'desc')
{
usort($array, create_function('$a, $b', '
$a = $a["' . $field . '"];
$b = $b["' . $field . '"];
if ($a == $b) return 0;
$direction = strtolower(trim($direction));
return ($a ' . ($direction == 'desc' ? '>' : '<') .' $b) ? -1 : 1;
'));
return true;
}
$limit=5;
$threads = getForumThreads('node_name1', $limit);
$threads2= getForumThreads('node_name2', $limit);
$threads = array_merge($threads, $threads2);
sortBy('last_post_date', $threads, 'desc');
//Display
$page = 999999999;
$count=1;
foreach ( $threads AS $thread ) {
if ($count++ > $limit)
break;
//Zend_Debug::dump($thread);
//Node name & translate if possible
$nodeModel = XenForo_Model::create('XenForo_Model_Node');
$curNode = $nodeModel->getNodeById($thread['node_id']);
//Zend_Debug::dump($curNode);
$forumname = $curNode['title'];
echo "<li>";
echo "<a href=\"".XenForo_Link::buildPublicLink( 'canonical:threads',$thread, array('page' => $page) )."\">";
echo $forumname.": ".XenForo_Helper_String::wholeWordTrim( $thread['title'], 55 );
echo "</a>";
echo "</li>";
}