From c58edcbd7534ea1b7dfff7e140842d5221f5e046 Mon Sep 17 00:00:00 2001 From: lsces Date: Wed, 25 Mar 2026 10:29:42 +0000 Subject: This needs expanding to cover new formats and perhaps retire RSS0.91 now --- includes/rss_inc.php | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 includes/rss_inc.php diff --git a/includes/rss_inc.php b/includes/rss_inc.php new file mode 100644 index 0000000..3ec2151 --- /dev/null +++ b/includes/rss_inc.php @@ -0,0 +1,112 @@ +getConfig( 'rssfeed_httpauth' ) && + !empty($_REQUEST['httpauth']) && + !$gBitUser->isRegistered() ){ + Bitweaver\Users\users_httpauth(); +} + +// initiate feed creator class +$rss = new \Bitweaver\Rss\UniversalFeedCreator(); + +$rss->copyright = $gBitSystem->getConfig( 'rssfeed_copyright' ); +$rss->editor = $gBitSystem->getConfig( 'rssfeed_editor' ); +$rss->webmaster = $gBitSystem->getConfig( 'rssfeed_webmaster' ); +$rss->language = $gBitSystem->getConfig( 'rssfeed_language', 'en-us' ); +$rss->cssStyleSheet = $gBitSystem->getConfig( 'rssfeed_css_url' ); +$rss->descriptionTruncSize = $gBitSystem->getConfig( 'rssfeed_truncate', 500 ); +$rss->descriptionHtmlSyndicated = TRUE; + +$root = empty( $_REQUEST['uri_mode'] ) ? BIT_BASE_URI.BIT_ROOT_URL : BIT_ROOT_URI; +$rss->link = $root; +$rss->syndicationURL = trim( $root, "/" ).$_SERVER['SCRIPT_NAME']; + +// feed image +if( $gBitSystem->isFeatureActive( 'rssfeed_image_url' ) ) { + $image->descriptionTruncSize = $gBitSystem->getConfig( 'rssfeed_truncate', 5000 ); + $image->descriptionHtmlSyndicated = true; + + $image = new FeedImage(); + $image->title = $gBitSystem->getConfig( 'site_title' ); + $image->url = $gBitSystem->getConfig( 'rssfeed_image_url' ); + $image->link = $root; + $image->description = KernelTools::tra( 'Feed provided by' ).': '.$gBitSystem->getConfig( 'site_title' ).' '.KernelTools::tra( 'Click to visit.' ); + $rss->image = $image; +} + +// here we work out what type of feed were going to feed +$version = ( empty( $_REQUEST['version'] ) ) ? $gBitSystem->getConfig( "rssfeed_default_version", "RSS0.91" ) : $_REQUEST['version']; + +$rss_version_name = $version; +switch( $version ) { + case "0": + case "rss091": + $rss_version_name = "RSS0.91"; + break; + case "1": + case "rss10": + $rss_version_name = "RSS1.0"; + break; + case "2": + case "rss20": + $rss_version_name = "RSS2.0"; + break; + case "3": + case "pie01": + $rss_version_name = "PIE0.1"; + break; + case "4": + case "mbox": + $rss_version_name = "MBOX"; + break; + case "5": + case "atom": + $rss_version_name = "ATOM"; + break; + case "6": + case "atom03": + $rss_version_name = "ATOM0.3"; + break; + case "7": + case "opml": + $rss_version_name = "OPML"; + break; + case "8": + case "html": + $rss_version_name = "HTML"; + break; + case "9": + case "js": + $rss_version_name = "JS"; + break; + default: + $rss_version_name = "RSS0.91"; + break; +} + +if ( isset( $gBitUser->mGroups ) ) { + ksort( $gBitUser->mGroups ); + $cacheFileTail = 'p'.implode( '.', array_keys( $gBitUser->mGroups ) ).'_'.$rss_version_name.'.xml'; +} else { + ksort( $gBitUser->mRoles ); + $cacheFileTail = 'p'.implode( '.', array_keys( $gBitUser->mRoles ) ).'_'.$rss_version_name.'.xml'; +} \ No newline at end of file -- cgit v1.3