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

Source for file events_rss.php

Documentation is available at events_rss.php

  1. <?php
  2. /**
  3.  * @version $Header$
  4.  * @package events
  5.  * @subpackage functions
  6.  */
  7.  
  8. /**
  9.  * Initialization
  10.  */
  11. require_once"../kernel/setup_inc.php" );
  12.  
  13. $gBitSystem->verifyPackage'rss' );
  14. $gBitSystem->verifyPackage'events' );
  15. $gBitSystem->verifyFeature'events_rss' );
  16.  
  17. require_onceEVENTS_PKG_PATH.'BitEvents.php' );
  18. require_onceRSS_PKG_PATH."rss_inc.php" );
  19.  
  20. // default feed info
  21. $rss->title $gBitSystem->getConfig'events_rss_title'$gBitSystem->getConfig'site_title' ).' - '.tra'Events' ) );
  22. $rss->description $gBitSystem->getConfig'events_rss_description'$gBitSystem->getConfig'site_title' ).' - '.tra'RSS Feed' ) );
  23.  
  24. // check permission to view wiki pages
  25. if!$gBitUser->hasPermission'p_events_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.'/'.EVENTS_PKG_NAME.'/'.!empty$_REQUEST['user_id'"_".$_REQUEST['user_id'"" ).!empty$_REQUEST['event_id'"_".$_REQUEST['event_id'"" ).$cacheFileTail;
  30.     $rss->useCached$rss_version_name$cacheFile$gBitSystem->getConfig'rssfeed_cache_time' ));
  31.  
  32.     $event new BitEvents();
  33.     $listHash['sort_mode''last_modified_desc';
  34.     $listHash['max_records'$gBitSystem->getConfig'events_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.         $eventUser new BitUser();
  44.         $userData $eventUser->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.     }
  52.  
  53.     if!empty$_REQUEST['event_id') ) {
  54.         $listHash['event_id'$_REQUEST['event_id'];
  55.         $gEvent new BitEvents$_REQUEST['event_id');
  56.         $gEvent->load();
  57.         ifisset($gEvent->mContentId) ) {
  58.             // adjust feed title to event title
  59.             $rss->title $gEvent->getTitle()." at ".$gBitSystem->getConfig'site_title' );
  60.             if (isset($userName)){
  61.                 $rss->title $userName."'s Events in ".$rss->title;
  62.             }
  63.             $rss->description $gEvent->parseData();
  64.         }
  65.     }
  66.     $feeds $event->getList$listHash );
  67.  
  68.     // set the rss link
  69.     $rss->link = 'http://'.$_SERVER['HTTP_HOST'].EVENTS_PKG_URL.!empty$_REQUEST['event_id'"?event_id=".$_REQUEST['event_id'"" );
  70.     // get all the data ready for the feed creator
  71.     foreach$feeds as $feed {
  72.         $item new FeedItem();
  73.         $item->title $event->getTitleFromHash$feed );
  74.         $item->link = BIT_BASE_URI.$event->getDisplayUrl$feed['content_id');
  75.         $item->description $feed['parsed'];
  76.  
  77.         $item->date = ( int )$feed['last_modified'];
  78.         $item->source 'http://'.$_SERVER['HTTP_HOST'].BIT_ROOT_URL;
  79.         $item->author $gBitUser->getDisplayNameFALSE$feed );
  80.  
  81.         $item->descriptionTruncSize $gBitSystem->getConfig'rssfeed_truncate'50000 );
  82.         $item->descriptionHtmlSyndicated TRUE;
  83.  
  84.         // pass the item on to the rss feed creator
  85.         $rss->addItem$item );
  86.     }
  87.  
  88.     // finally we are ready to serve the data
  89.     echo $rss->saveFeed$rss_version_name$cacheFile );
  90. }
  91. ?>

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