diff --git a/code/SubscribeRSSWidget.php b/code/SubscribeRSSWidget.php new file mode 100644 index 0000000..72dc229 --- /dev/null +++ b/code/SubscribeRSSWidget.php @@ -0,0 +1,56 @@ + 'Varchar' + ); + + static $title = 'Subscribe via RSS'; + + static $cmsTitle = 'Subscribe via RSS widget'; + + static $description = 'Shows a link allowing a user to subscribe to this blog via RSS.'; + + /** + * Get the BlogHolder instance that this widget + * is located on. + * + * @return BlogHolder + */ + function getBlogHolder() { + $page = Director::currentPage(); + + if($page instanceof BlogHolder) { + return $page; + } elseif(($page instanceof BlogEntry) && ($page->getParent() instanceof BlogHolder)) { + return $page->getParent(); + } else { + return DataObject::get_one('BlogHolder'); + } + } + + /** + * Return an absolute URL based on the BlogHolder + * that this widget is located on. + * + * @return string + */ + function RSSLink() { + Requirements::themedCSS('subscribersswidget'); + $blogHolder = $this->getBlogHolder(); + if($blogHolder) { + return $blogHolder->Link() . 'rss'; + } + } + +} + +?> \ No newline at end of file diff --git a/css/subscribersswidget.css b/css/subscribersswidget.css new file mode 100644 index 0000000..9613397 --- /dev/null +++ b/css/subscribersswidget.css @@ -0,0 +1,4 @@ +.subscribeLink { + background: url(../images/feed-icon-14x14.png) no-repeat left center; + padding-left: 20px; +} \ No newline at end of file diff --git a/templates/SubscribeRSSWidget.ss b/templates/SubscribeRSSWidget.ss new file mode 100644 index 0000000..cc29b1e --- /dev/null +++ b/templates/SubscribeRSSWidget.ss @@ -0,0 +1,5 @@ +

+ + <% _t('SUBSCRIBETEXT', 'Subscribe') %> + +

\ No newline at end of file