Your IP : 216.73.216.240


Current Path : /home/juvelize/www/components/com_myrssreader/views/rss/
Upload File :
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);
	}
}
?>