|
|
@@ -6,74 +6,81 @@
|
|
|
|
|
|
// jQuery plugin - Dolphin RSS Aggregator
|
|
|
(function($){
|
|
|
- $.fn.dolRSSFeed = function(sForceUrl) {
|
|
|
- return this.each( function() {
|
|
|
+ $.fn.dolRSSFeed = function(sForceUrl) {
|
|
|
+ return this.each( function(){
|
|
|
+
|
|
|
+ var $Cont = $(this);
|
|
|
+ var iRSSID = $Cont.attr( 'rssid' );
|
|
|
+ if( !iRSSID && sForceUrl == undefined )
|
|
|
+ return false;
|
|
|
+
|
|
|
+ var iMaxNum = parseInt( $Cont.attr( 'rssnum' ) || 0 );
|
|
|
+ var iMemID = parseInt( $Cont.attr( 'member' ) || 0 );
|
|
|
|
|
|
- var $Cont = $(this);
|
|
|
- var iRSSID = $Cont.attr( 'rssid' );
|
|
|
- if( !iRSSID && sForceUrl == undefined )
|
|
|
- return false;
|
|
|
-
|
|
|
- var iMaxNum = parseInt( $Cont.attr( 'rssnum' ) || 0 );
|
|
|
- var iMemID = parseInt( $Cont.attr( 'member' ) || 0 );
|
|
|
-
|
|
|
- var sFeedURL = (sForceUrl != undefined) ? sForceUrl : sUrlRoot + 'get_rss_feed.php?ID=' + iRSSID + '&member=' + iMemID;
|
|
|
+ var sFeedURL = (sForceUrl != undefined) ? sForceUrl : sUrlRoot + 'get_rss_feed.php?ID=' + iRSSID + '&member=' + iMemID;
|
|
|
|
|
|
bx_loading_animate($(this).find('.bx-loading-ajax'));
|
|
|
|
|
|
$.getFeed( {
|
|
|
- url: sFeedURL ,
|
|
|
- success: function(feed) {
|
|
|
- //if( window.console ) console.log( feed );
|
|
|
+ url: sFeedURL,
|
|
|
+ success: function(feed) {
|
|
|
|
|
|
- if (feed != undefined && feed.items) {
|
|
|
- var sCode =
|
|
|
- '<div class="rss_feed_wrapper bx-def-padding">';
|
|
|
- var iCount = 0;
|
|
|
- for( var iItemId = 0; iItemId < feed.items.length; iItemId ++ ) {
|
|
|
- var item = feed.items[iItemId];
|
|
|
- var sDate;
|
|
|
- var a;
|
|
|
- var oDate
|
|
|
+ if (feed != undefined && feed.items) {
|
|
|
+ var sCode =
|
|
|
+ '<div class="sys-rss-feed-wrapper bx-def-bc-margin bx-def-padding-sec-top">';
|
|
|
+ var sTarget, iCount = 0;
|
|
|
+ for( var iItemId = 0; iItemId < feed.items.length; iItemId ++ ) {
|
|
|
+ var item = feed.items[iItemId];
|
|
|
+ var sDate = '', oDate, a;
|
|
|
|
|
|
- if (null != (a = item.updated.match(/(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)Z/)))
|
|
|
+ if (null != (a = item.updated.match(/(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)Z/))) {
|
|
|
oDate = new Date( a[1], a[2]-1, a[3], a[4], a[5], a[6], 0 );
|
|
|
- else
|
|
|
- oDate = new Date( item.updated );
|
|
|
- sDate = oDate.toLocaleString();
|
|
|
-
|
|
|
- sCode +=
|
|
|
- '<div class="rss_item_wrapper bx-def-padding-sec-top">' +
|
|
|
- '<div class="rss_item_header">' +
|
|
|
- '<a href="' + item.link + '" target="_blank">' + item.title + '</a>' +
|
|
|
- '</div>' +
|
|
|
- '<div class="rss_item_info bx-def-font-small bx-def-font-grayed">' +
|
|
|
- '<span>' +
|
|
|
- sDate +
|
|
|
- '</span>' +
|
|
|
- '</div>' +
|
|
|
- '<div class="rss_item_desc">' + item.description + '</div>' +
|
|
|
- '</div>';
|
|
|
-
|
|
|
- iCount ++;
|
|
|
- if( iCount == iMaxNum )
|
|
|
- break;
|
|
|
- }
|
|
|
+ sDate = oDate.toLocaleString();
|
|
|
+ } else if (item.updated.length > 0) {
|
|
|
+ oDate = new Date(item.updated.replace(/z$/i, "-00:00"));
|
|
|
+ sDate = isNaN(oDate) ? '' : oDate.toLocaleString();
|
|
|
+ }
|
|
|
|
|
|
- sCode +=
|
|
|
- '</div>' +
|
|
|
+ sTarget = '';
|
|
|
+ if (item.link.substring(0, sUrlRoot.length) != sUrlRoot) // open external links in new window
|
|
|
+ sTarget = 'target="_blank"';
|
|
|
+
|
|
|
+ sCode +=
|
|
|
+ '<div class="sys-rss-item-wrapper">' +
|
|
|
+ '<div class="sys-rss-item-header bx-def-font-h2">' +
|
|
|
+ '<a href="' + item.link + '" ' + sTarget + '>' + item.title + '</a>' +
|
|
|
+ '</div>' +
|
|
|
+ '<div class="sys-rss-item-desc">' + item.description + '</div>' +
|
|
|
+ '<div class="sys-rss-item-info bx-def-font-small bx-def-font-grayed">' +
|
|
|
+ '<span>' +
|
|
|
+ sDate +
|
|
|
+ '</span>' +
|
|
|
+ '</div>' +
|
|
|
+ '</div>' +
|
|
|
+ '<hr class="bx-def-hr bx-def-margin-sec-top bx-def-margin-sec-bottom" />';
|
|
|
+
|
|
|
+ iCount ++;
|
|
|
+ if( iCount == iMaxNum )
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ sTarget = '';
|
|
|
+ if (feed.link.substring(0, sUrlRoot.length) != sUrlRoot) // open external links in new window
|
|
|
+ sTarget = 'target="_blank"';
|
|
|
|
|
|
- '<div class="bx-def-padding-sec-left bx-def-padding-sec-right bx-def-color-bg-sec">' +
|
|
|
- '<span class="rss_read_more"><a href="' + feed.link + '" target="_blank" class="rss_read_more_link">' + feed.title + '</a></span>' +
|
|
|
- '</div>' +
|
|
|
-
|
|
|
- '<div class="clear_both"></div>';
|
|
|
-
|
|
|
- $Cont.html( sCode );
|
|
|
- }
|
|
|
- }
|
|
|
- } );
|
|
|
-
|
|
|
- } );
|
|
|
- };
|
|
|
+ sCode +=
|
|
|
+ '</div>' +
|
|
|
+
|
|
|
+ '<div class="sys-rss-read-more">' +
|
|
|
+ '<i class="sys-icon link"></i><a href="' + feed.link + '" ' + sTarget + ' class="bx-def-margin-sec-left sys-rss-read-more-link">' + feed.title + '</a>' +
|
|
|
+ '</div>';
|
|
|
+
|
|
|
+ $Cont.html( sCode );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } );
|
|
|
+
|
|
|
+ } );
|
|
|
+ };
|
|
|
})(jQuery);
|
|
|
+
|