| Current Path : /home/juvelize/www/components/com_myrssreader/views/rss/ |
| Current File : /home/juvelize/www/components/com_myrssreader/views/rss/view.html.php |
<?php
/**
* @package My RSS Reader
* @copyright Copyright (C) 2010 FalsinSoft. All rights reserved.
* @license GNU/GPL
* @website http://falsinsoft-joomla.blogspot.com
* @email falsinsoft@gmail.com
*
*/
defined('_JEXEC') or die();
jimport('joomla.application.component.view');
jimport('joomla.html.pagination');
class MyRSSReaderViewRSS extends JView
{
function display($tpl = null)
{
$app = &JFactory::getApplication();
$rss_model =& $this->getModel('RSS');
$layout_model =& $this->getModel('Layout');
$params =& $app->getParams();
$category_id = JRequest::getInt('category', 0);
$limitstart = JRequest::getInt('limitstart', 0);
$rss_list_to_check = null;
if($limitstart == 0)
{
switch($params->get('rss_automatic_check', 1))
{
case 0:
break;
case 1:
$rss_check_time = $params->get('rss_check_time', 6);
$max_rss_distributed_check = $params->get('max_rss_distributed_check', 4);
$distributed_check = $params->get('rss_check_type', 0);
$distributed_check_delay = $params->get('distributed_check_delay', 10);
if($distributed_check == 0)
$rss_list_to_check = $rss_model->getFullRSSListToCheck($category_id, $rss_check_time);
else
$rss_list_to_check = $rss_model->getDistributedRSSListToCheck($category_id, $rss_check_time, $distributed_check_delay, $max_rss_distributed_check);
break;
case 2:
$session =& JFactory::getSession();
$max_rss_distributed_check = $params->get('max_rss_distributed_check', 4);
$distributed_check = $params->get('rss_check_type', 0);
$distributed_check_delay = $params->get('distributed_check_delay', 10);
$session_check_time = ($distributed_check == 0) ? 5 : $distributed_check_delay;
$session_check_id = 'MYRSSREADER_LAST_CHECK_TIME_CATEGORY_'.strval($category_id);
$last_check_time = intval($session->get($session_check_id, 0));
if((time() - $last_check_time) >= ($session_check_time * 60))
{
if($distributed_check == 0)
$rss_list_to_check = $rss_model->getFullRSSListToCheck($category_id, 0);
else
$rss_list_to_check = $rss_model->getDistributedRSSListToCheck($category_id, 0, 0, $max_rss_distributed_check);
$session->set($session_check_id, time());
}
break;
}
}
if($rss_list_to_check != null && count($rss_list_to_check) > 0)
{
$tpl = 'check';
$max_feeds_per_rss = $params->get('max_feeds_per_rss', 10);
$max_error_retry = $params->get('max_error_retry', 3);
$show_rss_list = $params->get('rss_check_show_mode', 0);
$show_powered_by_link = $params->get('show_powered_by_link', 1);
$label->checking_for_new_post = trim($params->get('label_checking_for_new_post', ''));
$label->checking_finished = trim($params->get('label_checking_finished', ''));
$label->page_require_javascript = trim($params->get('label_page_require_javascript', ''));
if($label->checking_for_new_post == '') $label->checking_for_new_post = JText::_('Checking for new posts, please wait');
if($label->checking_finished == '') $label->checking_finished = JText::_('Checking finished! Reload page');
if($label->page_require_javascript == '') $label->page_require_javascript = JText::_('This page requires JavaScript to display properly');
$this->assignRef('rss_list_to_check', $rss_list_to_check);
$this->assignRef('max_feeds_per_rss', $max_feeds_per_rss);
$this->assignRef('max_error_retry', $max_error_retry);
$this->assignRef('show_rss_list', $show_rss_list);
$this->assignRef('show_powered_by_link', $show_powered_by_link);
$this->assignRef('label', $label);
}
else
{
$tpl = 'list';
$max_feeds_per_page = $params->get('max_feeds_per_page', 10);
$check_date_order = $params->get('feeds_list_order', 1);
$start_date_order = $params->get('feeds_list_start_date', 0);
$max_feed_body_characters_show = $params->get('max_feed_body_characters_show', '');
$layout->feed_title_size = $params->get('feed_title_size', 20);
$layout->show_rss_feed_source = $params->get('show_rss_feed_source', 1);
$layout->show_rss_feed_date = $params->get('show_rss_feed_date', 1);
$layout->show_rss_feed_body = $params->get('show_rss_feed_body', 1);
$layout->show_pages_links = $params->get('show_pages_links', 0);
$layout->feed_title_link = $params->get('feed_title_link', 1);
$layout->show_advertisement = $params->get('show_advertisement', 0);
$layout->advertisement_position = $params->get('advertisement_position', 2);
$layout->feeds_show_style = $params->get('feeds_show_style', 0);
$layout->show_powered_by_link = $params->get('show_powered_by_link', 1);
$layout->label->source = trim($params->get('label_source', ''));
if($layout->label->source == '') $layout->label->source = JText::_('Source');
$feeds_number = $rss_model->getRSSFeedsTotalNumber($category_id);
$rss_feeds_list = $rss_model->getRSSFeedsList($category_id, $check_date_order, $start_date_order, $limitstart, $max_feeds_per_page);
if($max_feed_body_characters_show != '')
{
$max_characters_show = intval($max_feed_body_characters_show);
foreach($rss_feeds_list as $feed)
{
$feed->content = JFilterOutput::cleanText($feed->content);
if(strlen($feed->content) > $max_characters_show)
{
$feed->content = substr($feed->content, 0, $max_characters_show).'...';
}
}
}
$adv_html_code_list = array();
if($layout->show_advertisement == 1)
{
$adv_html_code_list = $rss_model->getAdvertisementsHtmlCode($category_id);
if(count($adv_html_code_list) == 0) $layout->show_advertisement = 0;
}
$pagination = new JPagination($feeds_number, $limitstart, $max_feeds_per_page);
$this->assignRef('adv_html_code_list', $adv_html_code_list);
$this->assignRef('rss_feeds_list', $rss_feeds_list);
$this->assignRef('pagination', $pagination);
$this->assignRef('layout', $layout);
$this->assignRef('label', $label);
$this->assignRef('model', $layout_model);
}
if($params->get('menu-meta_description'))
{
$this->document->setDescription($params->get('menu-meta_description'));
}
if($params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords', $params->get('menu-meta_keywords'));
}
if($params->get('robots'))
{
$this->document->setMetadata('robots', $params->get('robots'));
}
parent::display($tpl);
}
}
?>