diff options
| author | Max Kremmel <xing@synapse.plus.com> | 2007-01-01 12:52:34 +0000 |
|---|---|---|
| committer | Max Kremmel <xing@synapse.plus.com> | 2007-01-01 12:52:34 +0000 |
| commit | b04ef1c4a6199f82d3303b54cea0876b6eef8186 (patch) | |
| tree | e17234385dd9928398f31f0c10a891a9336e6ee0 /users_rss.php | |
| parent | 53defb263c10b864a1392d732687aa56ca3c7730 (diff) | |
| download | users-b04ef1c4a6199f82d3303b54cea0876b6eef8186.tar.gz users-b04ef1c4a6199f82d3303b54cea0876b6eef8186.tar.bz2 users-b04ef1c4a6199f82d3303b54cea0876b6eef8186.zip | |
add users rss that ppl can track user registrations
Diffstat (limited to 'users_rss.php')
| -rw-r--r-- | users_rss.php | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/users_rss.php b/users_rss.php new file mode 100644 index 0000000..a34a7a1 --- /dev/null +++ b/users_rss.php @@ -0,0 +1,75 @@ +<?php +/** + * @version $Header: /cvsroot/bitweaver/_bit_users/users_rss.php,v 1.1 2007/01/01 12:52:34 squareing Exp $ + * @package wiki + * @subpackage functions + */ + +/** + * Initialization + */ +require_once( "../bit_setup_inc.php" ); + +$gBitSystem->verifyPackage( 'rss' ); +$gBitSystem->verifyFeature( 'users_rss' ); + +require_once( RSS_PKG_PATH."rss_inc.php" ); + +$rss->title = $gBitSystem->getConfig( 'users_rss_title', $gBitSystem->getConfig( 'site_title' ).' - '.tra( 'Registrations' ) ); +$rss->description = $gBitSystem->getConfig( 'users_rss_description', $gBitSystem->getConfig( 'site_title' ).' - '.tra( 'RSS Feed' ) ); + +// check permission to view users pages +if( !$gBitUser->hasPermission( 'p_users_view_user_list' ) ) { + require_once( RSS_PKG_PATH."rss_error.php" ); +} else { + // check if we want to use the cache file + $cacheFile = TEMP_PKG_PATH.RSS_PKG_NAME.'/'.USERS_PKG_NAME.'_'.$rss_version_name.'.xml'; +// $rss->useCached( $rss_version_name, $cacheFile ); // use cached version if age < 1 hour + + $listHash = array( + 'max_records' => $gBitSystem->getConfig( 'users_rss_max_records' ), + 'sort_mode' => 'registration_date_desc', + ); + $gBitUser->getList( $listHash ); + $feeds = $listHash['data']; + + // set the rss link + $rss->link = 'http://'.$_SERVER['HTTP_HOST'].USERS_PKG_URL; + + // get all the data ready for the feed creator + foreach( $feeds as $feed ) { + $item = new FeedItem(); + + $item->title = tra( "New user registered" ).": ".$feed['login']; + $item->link = BIT_BASE_URI.$gBitUser->getDisplayUrl( $feed['login'] ); + + $item->description = ''; + + if( !empty( $feed['thumbnail_url'] ) ) { + $item->description .= '<img alt="user portrait" title="'.$feed['login'].'" src="'.$feed['thumbnail_url'].'" /><br />'; + } + if( !empty( $feed['real_name'] ) ) { + $item->description .= tra( "Real Name" ).": ".$feed['real_name'].'<br />'; + } + $item->description .= tra( "Login" ).": ".$gBitUser->getDisplayUrl( $feed['login'] ).'<br />'; + if( $gBitUser->hasPermission( 'p_users_admin' ) ) { + $item->description .= tra( "Email Address" ).': <a href="mailto:'.$feed['email'].'">'.$feed['email'].'</a><br />'; + } + require_once $gBitSmarty->_get_plugin_filepath( 'modifier', 'bit_short_datetime' ); + $item->description .= tra( "Member Since" ).": ".smarty_modifier_bit_short_datetime( $feed['registration_date'] ).'<br />'; + + $item->date = ( int )$feed['registration_date']; + $item->source = 'http://'.$_SERVER['HTTP_HOST'].BIT_ROOT_URL; + $item->author = $_SERVER['HTTP_HOST']; + + $item->descriptionTruncSize = $gBitSystem->getConfig( 'rssfeed_truncate', 5000 ); + $item->descriptionHtmlSyndicated = FALSE; + + // pass the item on to the rss feed creator + $rss->addItem( $item ); + } + + // finally we are ready to serve the data + echo $rss->saveFeed( $rss_version_name, $cacheFile ); +} +?> |
