Advertisement
Guest User

Xen AutoLoader

a guest
Jan 30th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.28 KB | None | 0 0
  1. <?php
  2. $limit = 4;
  3. $nodes = array("18", "2");
  4.  
  5. $startTime = microtime( true );
  6.  
  7. // Set to forum location - See XenForo index.php for information
  8. $fileDir = './xenforo';
  9.  
  10. // Init autoloader
  11. require( $fileDir . '/library/XenForo/Autoloader.php' );
  12. XenForo_Autoloader::getInstance()->setupAutoloader( $fileDir . '/library' );
  13.  
  14. XenForo_Application::initialize( $fileDir . '/library', $fileDir );
  15. XenForo_Application::set( 'page_start_time', $startTime );
  16.  
  17. //Customize Code
  18.     $xenOptions = XenForo_Application::get('options');
  19.     $forumUrl = $xenOptions->boardUrl;
  20.  
  21.     $threadModel = XenForo_Model::create( 'XenForo_Model_Thread' );
  22.     $threads = $threadModel->getModelFromCache('XenForo_Model_Thread')->getThreads( array(
  23.         'discussion_state'        => 'visible',
  24.         'node_id'          => $nodes,
  25.     ), array(
  26.         'limit'          => $limit,
  27.         'order'          => 'thread_id',
  28.         'orderDirection' => 'desc'
  29.     ));
  30.  
  31.     $postModel = XenForo_Model::create('XenForo_Model_Post');
  32.     /*PHP 5.5*/ $postIds = array_column($threads, 'first_post_id');
  33.     /*PHP 5.3*/ //$postIds = array_map(function ($a) { return $a['first_post_id']; }, $threads);   
  34.     $posts = $postModel->getPostsByIds($postIds);
  35.  
  36.     $bbCodeFormatter = XenForo_BbCode_Formatter_Base::create('base');
  37.     $bbCodeParser = new XenForo_BbCode_Parser($bbCodeFormatter);
  38.         $bbCodeOptions = array(
  39.         'showSignature' => false,
  40.         'states' => array(
  41.             'viewAttachments' => false,
  42.             'stopLineBreakConversion' => true
  43.         )
  44.     );
  45.  
  46.     foreach($posts as $post)
  47.     {
  48.         $threadId = $post['thread_id'];
  49.         $thread = $threads[$threadId];
  50.  
  51.         $threadTitle = $thread['title'];
  52.         $threadUrl = $threadUrl = $forumUrl . '/' . XenForo_Link::buildPublicLink('threads', $thread);
  53.  
  54.         /*Method A*/
  55.         //$message = $bbCodeParser->render($post['message']);
  56.  
  57.         /*Method B*/
  58.         // You can customize this method with the $bbCodeOptions ; you set 'stopLineBreakConversion', so there won't have any line breaks
  59.         $message = XenForo_ViewPublic_Helper_Message::getBbCodeWrapper($post, $bbCodeParser, $bbCodeOptions);
  60.         $message = $message->__toString(); //we're not in XenForo template
  61.    
  62.             echo
  63.         "<h3><a href=\"$threadUrl\">"
  64.         . XenForo_Helper_String::wholeWordTrim($threadTitle, 50)
  65.         . "</a></h3>"
  66.         . XenForo_Helper_String::wholeWordTrim($message, 400)
  67.         ;          
  68.     }
  69. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement