summaryrefslogtreecommitdiff
path: root/users_rss.php
diff options
context:
space:
mode:
authorMax Kremmel <xing@synapse.plus.com>2007-01-01 12:52:34 +0000
committerMax Kremmel <xing@synapse.plus.com>2007-01-01 12:52:34 +0000
commitb04ef1c4a6199f82d3303b54cea0876b6eef8186 (patch)
treee17234385dd9928398f31f0c10a891a9336e6ee0 /users_rss.php
parent53defb263c10b864a1392d732687aa56ca3c7730 (diff)
downloadusers-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.php75
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 );
+}
+?>