Great RSS

: mod_feed

Live Demo 

 

Joomla! Official News

Joomla! - the dynamic portal engine and content management system

26 août 2020

The Day After Joomla 4.0 - Planning the Future

With Joomla 4.0 beta being

...

25 août 2020

Joomla 3.9.21

Joomla 3.9.21 is now available. This is a security release for the 3.x series of

...

 

Markup

<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_feed
 * @Author 		web-eau.net
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
?>

<?php
if (!empty($feed) && is_string($feed))
{
	echo $feed;
}
else
{
	$lang      = JFactory::getLanguage();
	$myrtl     = $params->get('rssrtl', 0);
	$direction = ' ';

	$isRtl = $lang->isRtl();

	if ($isRtl && $myrtl == 0)
	{
		$direction = ' redirect-rtl';
	}

	// Feed description
	elseif ($isRtl && $myrtl == 1)
	{
		$direction = ' redirect-ltr';
	}

	elseif ($isRtl && $myrtl == 2)
	{
		$direction = ' redirect-rtl';
	}

	elseif ($myrtl == 0)
	{
		$direction = ' redirect-ltr';
	}
	elseif ($myrtl == 1)
	{
		$direction = ' redirect-ltr';
	}
	elseif ($myrtl == 2)
	{
		$direction = ' redirect-rtl';
	}

	if ($feed !== false)
	{
		// Image handling
		$iUrl   = isset($feed->image) ? $feed->image : null;
		$iTitle = isset($feed->imagetitle) ? $feed->imagetitle : null;
		?>
		<div style="direction: {{{PHP3}}}; text-align: {{{PHP4}}} !important" class="feed<?php echo $moduleclass_sfx; ?>">
		<?php
          
		// Feed title
		if ($feed->title !== null && $params->get('rsstitle', 1))
		{
			?>
			<h2 class="text-center text-primary display-4 <?php echo $direction; ?>">
			<a href="/<?php echo htmlspecialchars($rssurl, ENT_COMPAT, 'UTF-8'); ?>" target="_blank">
			<?php echo $feed->title; ?></a>
			</h2>
			<?php
		}
      
		// Feed date
		if ($params->get('rssdate', 1)) : ?>
			<h3>
			<?php echo JHtml::_('date', $feed->publishedDate, JText::_('DATE_FORMAT_LC3')); ?>
			</h3>
		<?php endif;
      
		// Feed description
		if ($params->get('rssdesc', 1))
		{
		?>
			<h5 class="text-center text-primary">
            <?php echo $feed->description; ?>
            </h5>
			<?php
		}
      
		// Feed image
		if ($iUrl && $params->get('rssimage', 1)) :
		?>
			<img src="/<?php echo $iUrl; ?>" alt="<?php echo @$iTitle; ?>" />
		<?php endif; ?>
		
          <hr />

	<!-- Show items -->
	<?php if (!empty($feed))
	{ ?>
		<div class="row pt-3 newsfeed<?php echo $params->get('moduleclass_sfx'); ?>">
      	<a href="/<?php echo htmlspecialchars($rssurl, ENT_COMPAT, 'UTF-8'); ?>" target="_blank">
		<?php for ($i = 0, $max = min(count($feed), $params->get('rssitems', 3)); $i < $max; $i++) { ?>
			<?php
				$uri  = $feed[$i]->uri || !$feed[$i]->isPermaLink ? trim($feed[$i]->uri) : trim($feed[$i]->guid);
				$uri  = !$uri || stripos($uri, 'http') !== 0 ? $rssurl : $uri;
				$text = $feed[$i]->content !== '' ? trim($feed[$i]->content) : '';
			?>
              
				<div class="col-6">
					
              		<?php if (!empty($uri)) : ?>                      
						<div class="card-title feed-link px-2">
						<h5><a href="/<?php echo htmlspecialchars($uri, ENT_COMPAT, 'UTF-8'); ?>" target="_blank">
						<?php echo trim($feed[$i]->title); ?></a> <small class="text-muted">(<?php echo JHtml::_('date', $feed[$i]->publishedDate, JText::_('DATE_FORMAT_LC3')); ?>)</small>
                        </h5>
                        </div>    
					<?php else : ?>
						<div class="feed-link"><?php echo trim($feed[$i]->title); ?></div>
					<?php endif; ?>
                      
					<?php if ($params->get('rssitemdate', 0)) : ?>
						<div class="feed-item-date">
							<?php echo JHtml::_('date', $feed[$i]->publishedDate, JText::_('DATE_FORMAT_LC3')); ?>
						</div>
					<?php endif; ?>
                      
					<?php if ($params->get('rssitemdesc', 1) && $text !== '') : ?>
						<div class="px-2 feed-item-description">
						<p class="px-2"><?php
							// Strip the images.
							//$text = JFilterOutput::stripImages($text);
							$text = JHtml::_('string.truncate', $text, $params->get('word_count', 0));
							echo str_replace('&apos;', "'", $text);
						?></p>                         
                        </div>
					<?php endif; ?>
                   
				</div>
		<?php } ?>
          </a>
		</div>
	<?php } ?>
	</div>
	<?php }
}
 

Daniel Dubois

Daniel Dubois

Passionné par le Web depuis 2007, Daniel défend la veuve et l'orphelin du web en créant des sites respectueux du W3C. Fort d'une expérience de plusieurs années, il partage ses connaissances dans un état d'esprit open source.
Très impliqué dans la communauté Joomla depuis 2014, il est actif au sein de plusieurs projets, conférencier et fondateur du JUG Breizh.