File: /home/mmickelson/old.loveandlaughterpreschool.com/administrator/modules/mod_feed/helper.php
<?php
/**
* @version $Id: helper.php 14401 2010-01-26 14:10:00Z louis $
* @package Joomla
* @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
/** ensure this file is being included by a parent file */
defined('_JEXEC') or die( 'Restricted access' );
class modFeedHelper
{
function render($params)
{
// module params
$rssurl = $params->get('rssurl', '');
$rssitems = $params->get('rssitems', 5);
$rssdesc = $params->get('rssdesc', 1);
$rssimage = $params->get('rssimage', 1);
$rssitemdesc = $params->get('rssitemdesc', 1);
$words = $params->def('word_count', 0);
$rsstitle = $params->get('rsstitle', 1);
$rssrtl = $params->get('rssrtl', 0);
$moduleclass_sfx = $params->get('moduleclass_sfx', '');
// get RSS parsed object
$options = array();
$options['rssUrl'] = $rssurl;
if ($params->get('cache')) {
$options['cache_time'] = $params->get('cache_time', 15) ;
$options['cache_time'] *= 60;
} else {
$options['cache_time'] = null;
}
$rssDoc =& JFactory::getXMLparser('RSS', $options);
if ($rssDoc != false)
{
// channel header and link
$channel['title'] = $rssDoc->get_title();
$channel['link'] = $rssDoc->get_link();
$channel['description'] = $rssDoc->get_description();
// channel image if exists
$image['url'] = $rssDoc->get_image_url();
$image['title'] = $rssDoc->get_image_title();
//image handling
$iUrl = isset($image['url']) ? $image['url'] : null;
$iTitle = isset($image['title']) ? $image['title'] : null;
// items
$items = $rssDoc->get_items();
// feed elements
$items = array_slice($items, 0, $rssitems);
?>
<table cellpadding="0" cellspacing="0" class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">
<?php
// feed description
if (!is_null( $channel['title'] ) && $rsstitle) {
?>
<tr>
<td>
<strong>
<a href="<?php echo str_replace( '&', '&', $channel['link']); ?>" target="_blank">
<?php echo $channel['title']; ?></a>
</strong>
</td>
</tr>
<?php
}
// feed description
if ($rssdesc) {
?>
<tr>
<td>
<?php echo $channel['description']; ?>
</td>
</tr>
<?php
}
// feed image
if ($rssimage && $iUrl) {
?>
<tr>
<td align="center">
<img src="<?php echo $iUrl; ?>" alt="<?php echo @$iTitle; ?>"/>
</td>
</tr>
<?php
}
$actualItems = count( $items );
$setItems = $rssitems;
if ($setItems > $actualItems) {
$totalItems = $actualItems;
} else {
$totalItems = $setItems;
}
?>
<tr>
<td>
<ul class="newsfeed<?php echo $moduleclass_sfx; ?>" >
<?php
for ($j = 0; $j < $totalItems; $j ++)
{
$currItem = & $items[$j];
// item title
?>
<li>
<?php
if ( !is_null( $currItem->get_link() ) ) {
?>
<a href="<?php echo $currItem->get_link(); ?>" target="_child">
<?php echo $currItem->get_title(); ?></a>
<?php
}
// item description
if ($rssitemdesc)
{
// item description
$text = html_entity_decode($currItem->get_description());
$text = str_replace(''', "'", $text);
// word limit check
if ($words) {
$texts = explode(' ', $text);
$count = count($texts);
if ($count > $words) {
$text = '';
for ($i = 0; $i < $words; $i ++)
{
$text .= ' '.$texts[$i];
}
$text .= '...';
}
}
?>
<div style="text-align: <?php echo $rssrtl ? 'right': 'left'; ?> ! important">
<?php echo $text; ?>
</div>
<?php
}
?>
</li>
<?php
}
?>
</ul>
</td>
</tr>
</table>
<?php
}
}
}