blogs
[ class tree: blogs ] [ index: blogs ] [ all elements ]

Source for file blogs_rss.php

Documentation is available at blogs_rss.php

  1. <?php
  2. /**
  3.  * @version $Header$
  4.  * @package blogs
  5.  * @subpackage functions
  6.  */
  7.  
  8. /**
  9.  * Initialization
  10.  */
  11. require_once"../kernel/setup_inc.php" );
  12.  
  13. $gBitSystem->verifyPackage'rss' );
  14. $gBitSystem->verifyPackage'blogs' );
  15. $gBitSystem->verifyFeature'blogs_rss' );
  16.  
  17. require_onceBLOGS_PKG_PATH.'BitBlogPost.php' );
  18. require_onceRSS_PKG_PATH."rss_inc.php" );
  19.  
  20. // default feed info
  21. $rss->title $gBitSystem->getConfig'blogs_rss_title'$gBitSystem->getConfig'site_title' ).' - '.tra'Blog Posts' ) );
  22. $rss->description $gBitSystem->getConfig'blogs_rss_description'$gBitSystem->getConfig'site_title' ).' - '.tra'RSS Feed' ) );
  23.  
  24. // check permission to view wiki pages
  25. if!$gBitUser->hasPermission'p_blogs_view' ) ) {
  26.     require_onceRSS_PKG_PATH."rss_error.php" );
  27. else {
  28.     // check if we want to use the cache file
  29.     $cacheFile TEMP_PKG_PATH.RSS_PKG_NAME.'/'.BLOGS_PKG_NAME.!empty$_REQUEST['user_id'"_".$_REQUEST['user_id'"" ).!empty$_REQUEST['group_id'"_".$_REQUEST['group_id'"" ).!empty$_REQUEST['role_id'"_".$_REQUEST['role_id'"" ).!empty$_REQUEST['blog_id'"_".$_REQUEST['blog_id'"" ).'_'.$cacheFileTail;
  30.     $rss->useCached$rss_version_name$cacheFile$gBitSystem->getConfig'rssfeed_cache_time' ));
  31.  
  32.     $blogPost new BitBlogPost();
  33.     $listHash['sort_mode''last_modified_desc';
  34.     $listHash['max_records'$gBitSystem->getConfig'blogs_rss_max_records'10 );
  35.     $listHash['parse_data'TRUE;
  36.     $listHash['full_data'TRUE;
  37.     if!empty$_REQUEST['user_id') ) {
  38.         if $gBitSystem->getConfig'user_class''BitPermUser' == 'RolePermUser' {
  39.             require_onceUSERS_PKG_PATH.'RoleUser.php' );
  40.         else {
  41.             require_onceUSERS_PKG_PATH.'BitUser.php' );
  42.         }
  43.         $blogUser new BitUser();
  44.         $userData $blogUser->getUserInfoarray('user_id' => $_REQUEST['user_id']) );
  45.         // dont try and fool me
  46.         if (!empty($userData)){
  47.             $userName $userData['real_name']?$userData['real_name']:$userData['login'];
  48.             $rss->title $userName." at ".$gBitSystem->getConfig'site_title' );
  49.             $listHash['user_id'$_REQUEST['user_id'];
  50.         }
  51.     else if!empty$_REQUEST['group_id') ) {
  52.         require_onceUSERS_PKG_PATH 'BitPermUser.php' );
  53.         $permUser new BitPermUser();
  54.         $groupData $permUser->getGroupInfo$_REQUEST['group_id');
  55.         // dont try and fool me
  56.         if (!empty($groupData)){
  57.             $groupName $groupData['group_name'];
  58.             $rss->title $groupName." Group at ".$gBitSystem->getConfig'site_title' );
  59.             $listHash['group_id'$_REQUEST['group_id'];
  60.         }
  61.     else if!empty$_REQUEST['role_id') ) {
  62.         require_onceUSERS_PKG_PATH 'RolePermUser.php' );
  63.         $permUser new BitPermUser();
  64.         $roleData $permUser->getRoleInfo$_REQUEST['role_id');
  65.         // dont try and fool me
  66.         if (!empty($roleData)){
  67.             $roleName $roleData['role_name'];
  68.             $rss->title $roleName." Role at ".$gBitSystem->getConfig'site_title' );
  69.             $listHash['role_id'$_REQUEST['role_id'];
  70.         }
  71.     }
  72.  
  73.     if!empty$_REQUEST['blog_id') ) {
  74.         $listHash['blog_id'$_REQUEST['blog_id'];
  75.         $gBlog new BitBlog$_REQUEST['blog_id');
  76.         $gBlog->load();
  77.         ifisset($gBlog->mContentId) ) {
  78.             // adjust feed title to blog title
  79.             $rss->title $gBlog->getTitle()." at ".$gBitSystem->getConfig'site_title' );
  80.             if (isset($userName)){
  81.                 $rss->title $userName."'s Posts in ".$rss->title;
  82.             }
  83.             $rss->description $gBlog->parseData();
  84.         }
  85.     }
  86.     $feeds $blogPost->getList$listHash );
  87.  
  88.     // set the rss link
  89.     $rss->link = 'http://'.$_SERVER['HTTP_HOST'].BLOGS_PKG_URL.!empty$_REQUEST['blog_id'"?blog_id=".$_REQUEST['blog_id'"" );
  90.     // get all the data ready for the feed creator
  91.     foreach$feeds['data'as $feed {
  92.         $item new FeedItem();
  93.         $item->title BitBlogPost::getTitleFromHash$feed );
  94.         $item->link = BIT_BASE_URI.BitBlogPost::getDisplayUrlFromHashNULL$feed );
  95.         $item->description $feed['parsed'];
  96.  
  97.         $item->date = ( int )$feed['last_modified'];
  98.         $item->source 'http://'.$_SERVER['HTTP_HOST'].BIT_ROOT_URL;
  99.         $item->author $gBitUser->getDisplayNameFALSE$feed );
  100.  
  101.         $item->descriptionTruncSize $gBitSystem->getConfig'rssfeed_truncate'50000 );
  102.         $item->descriptionHtmlSyndicated TRUE;
  103.  
  104.         // pass the item on to the rss feed creator
  105.         $rss->addItem$item );
  106.     }
  107.  
  108.     // finally we are ready to serve the data
  109.     echo $rss->saveFeed$rss_version_name$cacheFile );
  110. }
  111. ?>

Documentation generated on Wed, 29 Jul 2015 13:56:12 +0000 by phpDocumentor 1.5.0-lsces