From 24c479d059b92eea8a58e627351dbc11ddfd50a9 Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 29 Oct 2011 23:13:05 -0400 Subject: updated simplepie for Elgg 1.8 --- views/default/widgets/feed_reader/content.php | 81 +++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 views/default/widgets/feed_reader/content.php (limited to 'views/default/widgets/feed_reader/content.php') diff --git a/views/default/widgets/feed_reader/content.php b/views/default/widgets/feed_reader/content.php new file mode 100644 index 000000000..f13b00fe7 --- /dev/null +++ b/views/default/widgets/feed_reader/content.php @@ -0,0 +1,81 @@ +


    1. '; +$feed_url = $vars['entity']->feed_url; +if ($feed_url) { + + // get widget settings + $excerpt = $vars['entity']->excerpt; + $num_items = $vars['entity']->num_items; + $post_date = $vars['entity']->post_date; + + $cache_location = elgg_get_data_path() . '/simplepie_cache/'; + if (!file_exists($cache_location)) { + mkdir($cache_location, 0777); + } + + $feed = new SimplePie($feed_url, $cache_location); + + // doubles timeout if going through a proxy + //$feed->set_timeout(20); + + // only display errors to profile owner + $num_posts_in_feed = $feed->get_item_quantity(); + if (!$num_posts_in_feed) { + if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) { + echo '

      ' . elgg_echo('simplepie:notfind') . '

      '; + } + } + + // don't display more feed items than user requested + if ($num_items > $num_posts_in_feed) { + $num_items = $num_posts_in_feed; + } + + $feed_link = elgg_view('output/url', array( + 'href' => $feed->get_permalink(), + 'text' => $feed->get_title(), + )); + + // need to center + echo "

      $feed_link

      "; + echo '
        '; + foreach ($feed->get_items(0, $num_items) as $item) { + $item_link = elgg_view('output/url', array( + 'href' => $item->get_permalink(), + 'text' => $item->get_title(), + )); + + if ($excerpt) { + $text = strip_tags($item->get_description(true), $allowed_tags); + $excerpt = $text; + } + + if ($post_date) { + $item_date_label = elgg_echo('simplepie:postedon'); + $item_date = $item->get_date('j F Y | g:i a'); + $post_date = "$item_date_label $item_date"; + } + + echo << +

        $item_link

        +
        $excerpt
        +

        $post_date

        + +HTML; + + } + echo "
      "; + +} else { + // display message only to owner + if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) { + echo '

      ' . elgg_echo('simplepie:notset') . '

      '; + } +} -- cgit v1.2.3