PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /home/jairosvt/public_html/afmedios.com/components/com_ijoomla_rss/
Server: Linux server2.noticiasdecolima.com 4.18.0-553.30.1.el8_10.x86_64 #1 SMP Tue Nov 26 02:30:26 EST 2024 x86_64
IP: 107.161.180.42
Choose File :

Url:
Dir : /home/jairosvt/public_html/afmedios.com/components/com_ijoomla_rss/ijoomla_rss.php

<?php
/*
* @version $Id: ijoomla_rss.php 0.0.09 2007-03-22 15:17:28Z iJoomla Al $
*
* @package iJoomla RSS
* @email webmaster2@ijoomla.com
*
* @copyright
* ====================================================================
/**
 * @copyright   (C) 2010 iJoomla, Inc. - All rights reserved.
 * @license  GNU General Public License, version 2 (http://www.gnu.org/licenses/gpl-2.0.html)
 * @author  iJoomla.com <webmaster@ijoomla.com>
 * @url   http://www.ijoomla.com/licensing/
 * the PHP code portions are distributed under the GPL license. If not otherwise stated, all images, manuals, cascading style sheets, and included JavaScript  *are NOT GPL, and are released under the IJOOMLA Proprietary Use License v1.0 
 * More info at http://www.ijoomla.com/licensing/
* ====================================================================
* @endcopyright
*
*/


defined( '_JEXEC' ) or die( 'Restricted access' );

require_once(JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php');

$database = &JFactory::getDBO();

$database->setQuery("SELECT `language`,`default_type` FROM #__ijoomla_rss_config LIMIT 1");
if(!$database->query()){
	die($database->getErrorNum());
}
$rez 			= $database->loadAssocList();
$current_lang 	= $rez[0]['language'];
$default_type 	= $rez[0]['default_type'];

if ($current_lang!=""){
	if(is_file(JPATH_SITE ."/administrator/components/com_ijoomla_rss/language/$current_lang.ijoomla_rss.php" )){
		include_once( JPATH_SITE ."/administrator/components/com_ijoomla_rss/language/$current_lang.ijoomla_rss.php" );
	}
}
else{
	if(is_file(JPATH_SITE ."/administrator/components/com_ijoomla_rss/language/$mosConfig_lang.ijoomla_rss.php" )){
		include_once( JPATH_SITE ."/administrator/components/com_ijoomla_rss/language/$mosConfig_lang.ijoomla_rss.php" );
	}
	else{
		include_once( JPATH_SITE ."/administrator/components/com_ijoomla_rss/language/english.ijoomla_rss.php" );
	}
}

$get_option 		= JArrayHelper::getValue($_GET,"option");
$get_itemid 		= JArrayHelper::getValue($_GET,"Itemid");
$get_act 			= JArrayHelper::getValue($_GET,"act" );
$get_cat			= JArrayHelper::getValue($_GET,"cat" );
$get_sec 			= JArrayHelper::getValue($_GET,"sec" );
$get_full 			= JArrayHelper::getValue($_GET,"full" );
$selected_reader 	= JArrayHelper::getValue($_GET,"reader",0);
//$get_feedtype 		= strval( JArrayHelper::getValue( $_GET, 'feedtype', $default_type ));
$get_feedtype 		= JRequest::getVar('feedtype', $default_type,"","string");
// valid format strings are: RSS0.91, RSS1.0, RSS2.0, PIE0.1 (deprecated),
// MBOX, OPML, ATOM, ATOM0.3, HTML, JS

$homelink="index.php?option=".$get_option."&Itemid=".intval($get_itemid);

switch ($get_act) {
	case 'xml':
		if(intval($get_cat)>0){
			require_once( JPATH_SITE .'/includes/feedcreator.class.php' );
			show_feed(intval($get_cat),$get_feedtype,$get_act);
		}
		elseif(intval($get_sec)>0){
			require_once( JPATH_SITE .'/includes/feedcreator.class.php' );
			show_sec_feed(intval($get_sec),$get_feedtype,$get_act);
		}
		elseif($get_full=="yes"){
			require_once( JPATH_SITE .'/includes/feedcreator.class.php' );
			show_full_feed($get_feedtype);
		}
		else{
			display_frontend($get_feedtype);
		}
		break;
	case 'html':
		if ($get_cat>0){
			show_feed($get_cat,$get_feedtype,$get_act);
		}
		elseif ($get_sec>0){
			show_sec_feed($get_sec,$get_feedtype,$get_act);
		}
		break;
	default:
		display_frontend($get_feedtype);
}

function frontend_header(){
	//global $homelink,$selected_reader,$get_feedtype;
	$Itemid		= JRequest::getVar("Itemid","0","get","int");
	$homelink	= "index.php?option=com_ijoomla_rss&Itemid=".$Itemid;
	$feedtype	= JRequest::getVar("feedtype","","get","string");
	$reader		= JRequest::getVar("reader","0","get","int");
?>
	<script type="text/javascript">
		function RssSelect( rss_id ){
			/*feedtype = <?php //if($feedtype!="") echo '\''.$feedtype.'\''; else echo '\'RSS2.0\''; ?>;
			if(rss_id > 0)
				sel_rss_id = rss_id;
			else
				sel_rss_id = 1;	
			document.location.href=' <?php //echo $homelink; ?> &reader=' + sel_rss_id + '&feedtype=' + feedtype;*/
			form=document.rssForm;
			form.reader.value=rss_id;
			form.submit();
		}
		
		function set_feedtype( type){
			/*document.location.href='<?php //echo $homelink;?>&reader=<?php //if ($reader!=0) echo $reader; else echo "1"; ?>&feedtype=' + type;*/
			form=document.rssFeed;
			form.submit();
	}
	</script>
	
	<table width="100%">
	<?php
}

function frontend_footer(){
	echo "<tr><td align='center'><span style='font-family:Arial,Helvetica,sans-serif;font-size:0.833em;color:#999999'>Powered by iJoomla - </span><a style='font-family:Arial,Helvetica,sans-serif;color:#5388B4;font-size:0.833em;' href='http://www.ijoomla.com' target='_blank'>Joomla Extensions</a></td></tr>";
	echo '</table>';
}

function show_content( $rss_config ,$feed_type){
	global $option,$selected_reader;
	$Itemid					= JRequest::getVar('Itemid','0','','int');
	$reader					= JRequest::getVar("reader",'0','','int');
	$feedtype				= JRequest::getVar("feedtype","RSS2.0","","string");
	$database				= &JFactory::getDBO();
	$default_reader_id 		= 0;
	$default_reader_name 	= "";
	$default_reader_image 	= "";
	$default_reader_url 	= "";
	$default_amp_char 		= "&";
	// SHOW READERS
	if ($rss_config->top_align != ""){
		$rss_top_align = $rss_config->top_align;
	}else{
		$rss_top_align = "left";
	}
	
	if ($rss_config->top_content!=""){
		echo '<tr><td width="100%" style="text-align:'.$rss_top_align.';">'.stripslashes($rss_config->top_content).'</td></tr>';
	}
	
	echo '<tr><td width="100%" style="text-align:'.$rss_top_align.';"><h3>'._CHOOSE_READER.'</h3></td></tr>';
	echo '<tr><td><table align="'.$rss_top_align.'"><tr>';
	
	
	$database->setQuery("SELECT * FROM #__ijoomla_rss_readers WHERE reader_include='1' OR `reader_default`='1'");
	if (!$database->query()){
		die( $database->getErrorMsg() );
	}
	$readers = $database->loadAssocList();
	$number_of_readers = count($readers);
	$readers_per_row = $rss_config->reader_columns;
	$fields_left = ($readers_per_row * ceil($number_of_readers / $rss_config->reader_columns)) - $number_of_readers;
	$disp_read_p_row=0;
	?>
	
	<form action="" name="rssForm" method="post">
	<?php
	foreach ($readers as $reader_count => $reader_value){
		if ($disp_read_p_row<$readers_per_row){
			$disp_read_p_row++;
		}
		else{
			echo '</tr><tr>';
			$disp_read_p_row=1;
		}
		// default RSS READERS
		$reader_img_path = JURI::base()."components/com_ijoomla_rss/images/readers";
		echo '<td style="text-align:left;"><input type="image" onclick="RssSelect('.$reader_value['reader_id'].')" src="'.$reader_img_path.$reader_value['reader_image'].'" name="img'.$reader_value['reader_id'].'"/></td>';
		
		if ($selected_reader == 0 ){
			if ($reader_value['reader_default']=='1'){
				$default_reader_id = $reader_value['reader_id'];
				$default_reader_name = $reader_value['reader_name'];
				$default_reader_image = $reader_value['reader_image'];
				$default_reader_url = $reader_value['reader_url'];
			}
		}
		else{
			if ($selected_reader == $reader_value['reader_id']){
				$default_reader_id = $reader_value['reader_id'];
				$default_reader_name = $reader_value['reader_name'];
				$default_reader_image = $reader_value['reader_image'];
				$default_reader_url = $reader_value['reader_url'];
				$default_amp_char = $reader_value['amp_char'];
			}
		}
	}
	?>
		<input type="hidden" name="option" value="com_ijoomla_rss" />
		<input type="hidden" name="feedtype" value="<?php echo $feedtype; ?>" />
		<input type="hidden" name="Itemid" value="<?php echo $Itemid; ?>" />
		<input type="hidden" name="reader" id="reader" value="<?php echo $reader; ?>" />
	</form>
	<?php
	if ($fields_left>0){
		echo '<td colspan="'.$fields_left.'"></td>';
	}
	echo '</table></td></tr>';

	// SHOW FEED TYPE
	
	if ($rss_config->allow_type_sel == "yes"){
		$rss2selected ="selected";
		if ($feed_type == "RSS2.0"){
			$rss2selected = "selected";
		}

		$rss1selected ="";
		if ($feed_type == "RSS1.0"){
			$rss1selected = "selected";
		}

		$rss09selected ="";
		if ($feed_type == "RSS0.91"){
			$rss09selected = "selected";
		}

		$atom03selected ="";
		if ($feed_type == "ATOM0.3"){
			$atom03selected = "selected";
		}
		?>
		<tr>
			<td width="100%" style="text-align:<?php echo $rss_top_align;?>;">
				<h3><?php echo _CHOOSE_TYPE; ?></h3>
				<form action="" name="rssFeed" method="post">
					<select name="feedtype" onchange="Javascript:set_feedtype(this.value);" style="font-size:11px;">';
						<option value="RSS2.0" <?php echo $rss2selected;?> >RSS2.0</option>
						<option value="RSS1.0" <?php echo $rss1selected; ?> >RSS1.0</option>
						<option value="RSS0.91" <?php echo $rss09selected;?> >RSS0.91</option>
						<option value="ATOM0.3" <?php echo $atom03selected; ?> >ATOM0.3</option>
					</select>
					<input type="hidden" name="option" value="com_ijoomla_rss" />
					<input type="hidden" name="Itemid" value="<?php echo $Itemid; ?>" />
					<input type="hidden" name="reader" id="reader" value="<?php echo $reader; ?>" />
				</form>
			</td>
		</tr>
		<?php
		echo '<tr><td width="100%" style="text-align:'.$rss_top_align.';"><h3>'._CHOOSE_FEED3.'</h3></td></tr>';
	}
	else{
		echo '<tr><td width="100%" style="text-align:'.$rss_top_align.';"><h3>'._CHOOSE_FEED2.'</h3></td></tr>';
	}

	// SHOW FEEDS

	$section_display_array = array();
	$category_count_array = array();

	/*$database->setQuery("SELECT s.*,sm.* FROM #__sections as s,#__ijoomla_rss_section_manager as sm WHERE s.id=sm.sec_id AND sm.sec_show='1' ORDER BY sm.ordering ASC");*/
	$database->setQuery("SELECT s.*,sm.* FROM #__sections as s,#__ijoomla_rss_section_manager as sm WHERE s.id=sm.sec_id ORDER BY sm.ordering ASC");
	if (!$database->query()){
		die( $database->getErrorMsg() );
	}
	$section_details = $database->loadObjectList();
	$section_number = 0;

	if ($rss_config->show_all_feed=='1'){
		$feeds_shown = 1;
	}
	else{
		$feeds_shown = 0;
	}

	foreach ($section_details as $sec_count => $section_value){
		$entity_display_nr = 0;
		$section_number++;
		$section_display_array[$section_number] = "";

		if ($rss_config->show_feeds!='cat'&&$rss_config->show_buttons!='cat'){
			$entity_display_nr += 1; // section
		}
		if ($rss_config->show_feeds!='cat'){
			if ($section_value->sec_rename!=""){
				$section_title = stripslashes($section_value->sec_rename);
			}
			else{
				$section_title = $section_value->title;
			}

			if ($rss_config->show_buttons=='cat'){
				$section_display_array[$section_number] .= "\n<tr><td colspan=\"2\"><strong>".$section_title."</strong></td></tr>";
			}
			else{
				$section_link ="index.php?option=$option".$default_amp_char."act=xml".$default_amp_char."sec=".$section_value->id.":".$section_value->alias.$default_amp_char."feedtype=".$feed_type;

				if ($default_reader_name == "botablog"){
					$section_link .= "&name=".$section_title;
				}
				elseif ($default_reader_name == "simpy"){
					$section_link .= "&title=".$section_title;
				}
				elseif ($default_reader_name == "MyMSN"){
					$section_real_link = JURI::base()."index.php?option=com_content&task=section&id=".$section_value->id;
					$itemsec_id = getItemidRss( $section_value->id , "sections");
					if ($itemsec_id > 0){
						$section_real_link .= "&Itemid=".$itemsec_id;
					}
					$section_link .= "&ru=".$section_real_link;
				}
				elseif($default_reader_name == "technorati"){
					$section_real_link = JURI::base()."index.php?option=com_content&task=section&id=".$section_value->id;
					$itemsec_id = getItemidRss( $section_value->id , "sections");
					if ($itemsec_id > 0){
						$section_real_link .= "&Itemid=".$itemsec_id;
					}
					$section_link = $section_real_link;
				}
				elseif ($default_reader_name == "protopage"){
					$section_link .= "&label=".$section_title."&type=feed";
				}

				//$section_link = JRoute::_($section_link);
				//$section_link = JRoute::_("index.php?option=com_ijoomla_rss&act=xml&sec=1&feedtype=RSS2.0");
				//echo $section_link;die();
				
				// we show the URL if we don't have a FeedBurner URL				
				if($section_value->feedburnerurl=="none" || $section_value->feedburnerurl==""){ 
					// default RSS READERS
					$reader_img_path = JURI::base()."components/com_ijoomla_rss/images/readers";

					if($reader!=0){
						$database->setQuery("SELECT `reader_image` FROM #__ijoomla_rss_readers WHERE `reader_id`=".intval($reader));
						if (!$database->query()){
							die( $database->getErrorMsg() );
						}
						$default_reader_image = $database->loadResult();
						if(is_null($default_reader_image)){   // alin ijoomla
							$default_reader_image = "/xml.gif"; // alin ijoomla
						}	 // alin ijoomla
					}

					if($reader!=0){
						$database->setQuery("SELECT `reader_url` FROM #__ijoomla_rss_readers WHERE `reader_id`=".intval($reader));
						if (!$database->query()){
							die( $database->getErrorMsg() );
						}
						$default_reader_url = $database->loadResult();
					}

					if($reader!="1" && $default_reader_url!="") { //alin ijoomla 
						if(strcmp($section_value->feedburnerurl,"none")==0 || $section_value->feedburnerurl==""){
							$section_link=JURI::base().$section_link;
							$imgURL = $default_reader_url.urlencode($section_link);
						}	
						else{ 							
							$imgURL = "http://".$default_reader_url.urlencode($section_value->feedburnerurl);
						}	
					} 
					else{
						if(strcmp($section_value->feedburnerurl,"none")==0 || $section_value->feedburnerurl=="") {
							$imgURL = JRoute::_($default_reader_url.$section_link."&Itemid=".$Itemid);
						}
						else 
							$imgURL = "http://".$default_reader_url.$section_value->feedburnerurl;
					}	
								
					//$imgURL=mb_substr($imgURL,7);	
					if($section_value->sec_show==1){				
						$section_display_array[$section_number] .= '<tr><td style="width:30px;padding-right:3px;">
						<a href="'.$imgURL.'" target="_blank"><img border="0" src="'.$reader_img_path.$default_reader_image.'" alt="'.$section_title.'"/></a></td>
						<td><a href="'.$imgURL.'" target="_blank"><strong>'.$section_title.'</strong></a></td></tr>'; 
						}
						/*else{
							$section_display_array[$section_number] .= '<tr><td style="width:30px;padding-right:3px;">
						<img border="0" src="'.$reader_img_path.$default_reader_image.'" alt="'.$section_title.'"/></td>
						<td><<strong>'.$section_title.'</strong></td></tr>'; 
						}*/
				}
				else{ // we show the FeedBurner URL				
					// default RSS READERS
					$reader_img_path = JURI::base()."components/com_ijoomla_rss/images/readers";					
					//29.02

					if($reader!=0){
						$database->setQuery("SELECT `reader_image` FROM #__ijoomla_rss_readers WHERE `reader_id`=".intval($reader));
						if (!$database->query()){
							die( $database->getErrorMsg() );
						}
						$default_reader_image = $database->loadResult();
					}
					if($reader!=0){
						$database->setQuery("SELECT `reader_url` FROM #__ijoomla_rss_readers WHERE `reader_id`=".intval($reader));
						if (!$database->query()){
							die( $database->getErrorMsg() );
						}
						$default_reader_url = $database->loadResult();
					}
					
					if($section_value->sec_show==1){		
						$section_display_array[$section_number] .= '<tr><td style="width:30px;padding-right:3px;">
					<a href="http://feeds.feedburner.com/'.$section_value->feedburnerurl.'" target="_blank">
					<img border="0" src="'.$reader_img_path.$default_reader_image.'" alt="'.$section_title.'"/></a></td>
					<td><a href="http://feeds.feedburner.com/'.$section_value->feedburnerurl.'" target="_blank"><strong>'.$section_title.'
					</strong></a></td></tr>';
					}
					/*else{
						$section_display_array[$section_number] .= '<tr><td style="width:30px;padding-right:3px;"><img border="0" src="'.$reader_img_path.$default_reader_image.'" alt="'.$section_title.'"/></td>
					<td><strong>'.$section_title.'</strong></a></td></tr>';
					}*/
					//$section_display_array[$section_number] .= '<tr><td style="width:30px;padding-right:3px;">
					//<a href="'.$section_value->feedburnerurl.'" target="_blank"><img border="0" src="'.$default_reader_image.'" alt="'.$section_title.'"/></a></td>
					//<td><a href="'.$section_value->feedburnerurl.'" target="_blank"><strong>'.$section_title.'</strong></a></td></tr>';
				}
			}
		}

		if ($rss_config->show_feeds!='sec'){
			if ($rss_config->show_buttons!='sec'){
				$limit = $rss_config->feeds - $feeds_shown - $entity_display_nr;
			}
			else{
				$limit = 999;
			}
			$database->setQuery("SELECT c.*,cm.* FROM #__categories as c, #__ijoomla_rss_categories_manager as cm
			WHERE c.section=".intval($section_value->sec_id)." AND c.published = 1 AND cm.cat_show='1' AND c.id = cm.cat_id ORDER BY cm.ordering ASC LIMIT 0,$limit");
			if (!$database->query()){
				die( $database->getErrorMsg() );
			}
			if ($rss_config->show_feeds!='sec'&&$rss_config->show_buttons!='sec'){
				$entity_display_nr += $database->getNumRows();
			}
			$categories = $database->loadObjectList();

			foreach ($categories as $cat_count => $category_value){
				if ($category_value->cat_rename!=""){
					$category_title = stripslashes($category_value->cat_rename);
				}
				else{
					$category_title = $category_value->title;
				}
				
				if ($rss_config->show_buttons!='sec'){
					if (($reader!='1')&& $default_reader_url!=""){ //alin ijoomla
						$category_link = JURI::base()."index.php?option=$option".$default_amp_char."act=xml".$default_amp_char."cat=".$category_value->id.$default_amp_char."feedtype=".$feed_type;
						$category_link = urlencode($category_link); 
					}
					else{
						//start put the correct link fo xml feed type
						 $category_link = JRoute::_("index.php?option=$option".$default_amp_char."act=xml".$default_amp_char."cat=".$category_value->id.":".$category_value->alias.$default_amp_char."feedtype=".$feed_type."&Itemid=".$Itemid);	 
					}
					
					if ($default_reader_name == "botablog"){
						$category_link .= "&name=".$category_title;
					}
					elseif($default_reader_name == "simpy"){
						$category_link .= "&title=".$category_title;
					}
					elseif ($default_reader_name == "MyMSN"){
						$cat_real_link = "index.php?option=com_content&task=category&id=".$category_value->id;
						$itemcat_id = getItemidRss( $category_value->id , "categories");
						if ($itemcat_id > 0){
							$cat_real_link .= "&Itemid=".$itemcat_id;
						}
						$category_link .= "&ru=".$cat_real_link;
					}
					elseif ($default_reader_name == "technorati"){
						$cat_real_link = "index.php?option=com_content&task=category&id=".$category_value->id;
						$itemcat_id = getItemidRss( $category_value->id , "categories");
						if ($itemcat_id > 0){
							$cat_real_link .= "&Itemid=".$itemcat_id;
						}

						$category_link = $cat_real_link;
					}
					elseif ($default_reader_name == "protopage"){
						$category_link .= "&label=".$category_title."&type=feed";
					}

					$category_link = JRoute::_($category_link);

					
					// we show the URL if we don't have a FeedBurner URL
					if($category_value->feedburnerurl=="none" || $category_value->feedburnerurl==""){ 
										
						// default RSS READERS
						$reader_img_path = JURI::base()."components/com_ijoomla_rss/images/readers";

						// 29.02

						if($reader!=0){
							$database->setQuery("SELECT `reader_image` FROM #__ijoomla_rss_readers WHERE `reader_id`=".intval($reader));
							if (!$database->query()){
								die( $database->getErrorMsg() );
							}
							$default_reader_image = $database->loadResult();
							if(is_null($default_reader_image)){   // alin ijoomla
								$default_reader_image = "/xml.gif"; // alin ijoomla
							}	 // alin ijoomla
						}

						if($reader!=0){
							$database->setQuery("SELECT `reader_url` FROM #__ijoomla_rss_readers WHERE `reader_id`=".intval($reader));
							if (!$database->query()){
								die( $database->getErrorMsg() );
							}
							$default_reader_url = $database->loadResult();
						}
					
						$section_display_array[$section_number] .= '<tr><td style="width:30px;padding-right:3px;">
						<a href="'.$default_reader_url.$category_link.'" target="_blank"><img border="0" src="'.$reader_img_path.$default_reader_image.'" alt="'.$category_title.'"/></a></td>
						<td><a href="'.$default_reader_url.$category_link.'" target="_blank">'.$category_title.'</a></td></tr>';
					}
					
					// we show the FeedBurner URL
					else{ 					
				
						if( $reader!=0){
							$database->setQuery("SELECT `reader_image` FROM #__ijoomla_rss_readers WHERE `reader_id`=".intval($reader));
							if (!$database->query()){
								die( $database->getErrorMsg() );
							}
							$default_reader_image = $database->loadResult();
						}

					if($reader!=0){
						$database->setQuery("SELECT `reader_url` FROM #__ijoomla_rss_readers WHERE `reader_id`=".intval($reader));
						if (!$database->query()){
							die( $database->getErrorMsg() );
						}
						$default_reader_url = $database->loadResult();
					}

					// default RSS READERS
					$reader_img_path = JURI::base()."components/com_ijoomla_rss/images/readers";
			
					$section_display_array[$section_number] .= '<tr><td style="width:30px;padding-right:3px;">
					<a href="http://feeds.feedburner.com/'.$category_value->feedburnerurl.'" target="_blank">
						<img border="0" src="'.$reader_img_path.$default_reader_image.'" alt="'.$category_title.'"/></a></td>
					<td><a href="http://feeds.feedburner.com/'.$category_value->feedburnerurl.'" target="_blank">'.$category_title.'</a></td></tr>';
					//$section_display_array[$section_number] .= '<tr><td style="width:30px;padding-right:3px;">
					//<a href="'.$category_value->feedburnerurl.'" target="_blank"><img border="0" src="'.$default_reader_image.'" alt="'.$category_title.'"/></a></td>
					//<td><a href="'.$category_value->feedburnerurl.'" target="_blank">'.$category_title.'</a></td></tr>';
					}
				}
				else{
					$section_display_array[$section_number] .= '<tr><td></td><td>'.$category_title.'</td></tr>';
				}
			}
			$category_count_array[$section_number] = count($categories);
			if ($rss_config->show_feeds!='cat'){
				$category_count_array[$section_number] +=1;
			}	
		}
		else{
			$category_count_array[$section_number] = 1;
		}

		if ($category_count_array[$section_number]>0){
			// +1 for section separator
			$category_count_array[$section_number] += 1;
			$section_display_array[$section_number] .= '<tr><td colspan="2" style="height:3px">&nbsp;</td></tr>';
		}
		$feeds_shown += $entity_display_nr;
		if ($feeds_shown >= $rss_config->feeds){
			break;
		}
	}

	$frontend_display_array = array();
	$frontend_column_counter = array();

	// frontend display array initialization
	for ($i=1; $i<=$rss_config->feed_columns; $i++){
		$frontend_display_array[$i] = '<table width="100%" cellpadding="1" cellspacing="1">';
		$frontend_column_counter[$i] = 0;
	}
	$minimum_column_number = 1;

	// section distribution
	for ($i=1; $i<=$section_number ; $i++){
		$frontend_display_array[$minimum_column_number] .= $section_display_array[$i];
		$frontend_column_counter[$minimum_column_number] += $category_count_array[$i];

		// recalculate minimum column number
		if ($i<$section_number){
			$min_value = $frontend_column_counter[$minimum_column_number];
			for ( $j=$rss_config->feed_columns; $j>=1; $j-- ){
				if ($frontend_column_counter[$j] <= $min_value){
					$min_value = $frontend_column_counter[$j];
					$min_value_col = $j;
				}
			}
			$minimum_column_number = $min_value_col;
		}
	}

	// frontend display array tag closure
	for ($i=1; $i<=$rss_config->feed_columns; $i++){
		$frontend_display_array[$i] .= '</table>';
	}

	// DISPLAY
	echo '<tr><td>';
	echo '<table width="100%" cellpadding="0" cellspacing="0">';
	echo '<tr>';

	$database->setQuery("SELECT all_sec_cat_feedburnerurl FROM #__ijoomla_rss_all_sec_and_cat ORDER BY all_sec_cat_feedburnerurlid DESC limit 1");
	if (!$database->query()){
		die( $database->getErrorMsg() );
	}
	$rezu = $database->loadResult();
	if ($rss_config->show_all_feed=='1'){
		if($default_reader_url!="")
			$full_content_link = JURI::base()."index.php?option=$option".$default_amp_char."act=xml".$default_amp_char."full=yes".$default_amp_char."feedtype=".$feed_type;
		else $full_content_link = JRoute::_("index.php?option=$option".$default_amp_char."act=xml".$default_amp_char."full=yes".$default_amp_char."feedtype=".$feed_type."&Itemid=".$Itemid);
		if($rezu=='none' || $rezu==""){
			if($reader=='1' || $default_reader_url==""){
				// default RSS READERS
				$reader_img_path = JURI::base()."components/com_ijoomla_rss/images/readers";
				echo '<td style="vertical-align:top; text-align:left;" colspan="'.$rss_config->feed_columns.'"><table width="100%" cellpadding="0" cellspacing="0" style="padding-bottom:10px;"><tr>';
				echo '<td style="width:30px;padding-left:1px;padding-right:4px;"><a href="'.$default_reader_url.$full_content_link.'" target="_blank"><img border="0" src="'.$reader_img_path.$default_reader_image.'" alt="'._FULL_CONTENT_NAME.'"/></a></td>';
				echo '<td style="text-align:left;"><a href="'.$default_reader_url.$full_content_link.'" target="_blank"><strong>'._FULL_CONTENT_NAME.'</strong></a></td>';
			}
			else{
				// default RSS READERS
				$reader_img_path = JURI::base()."components/com_ijoomla_rss/images/readers";
				echo '<td style="vertical-align:top; text-align:left;" colspan="'.$rss_config->feed_columns.'"><table width="100%" cellpadding="0" cellspacing="0" style="padding-bottom:10px;"><tr>';
				echo '<td style="width:30px;padding-left:1px;padding-right:4px;"><a href="'.$default_reader_url.urlencode($full_content_link).'" target="_blank"><img border="0" src="'.$reader_img_path.$default_reader_image.'" alt="'._FULL_CONTENT_NAME.'"/></a></td>';
				echo '<td style="text-align:left;"><a href="'.$default_reader_url.urlencode($full_content_link).'" target="_blank"><strong>'._FULL_CONTENT_NAME.'</strong></a></td>';
			} 
		}
		else{
			// default RSS READERS
			$reader_img_path = JURI::base()."components/com_ijoomla_rss/images/readers";
			//TASK 77
			echo '<td style="vertical-align:top; text-align:left;" colspan="'.$rss_config->feed_columns.'"><table width="100%" cellpadding="0" cellspacing="0" style="padding-bottom:10px;"><tr>';
			echo '<td style="width:30px;padding-left:1px;padding-right:4px;"><a href="http://feeds.feedburner.com/'.$rezu.'" target="_blank"><img border="0" src="'.$reader_img_path.$default_reader_image.'" alt="'._FULL_CONTENT_NAME.'"/></a></td>';
			echo '<td style="text-align:left;"><a href="http://feeds.feedburner.com/'.$rezu.'" target="_blank"><strong>'._FULL_CONTENT_NAME.'</strong></a></td>';
			//echo '<td style="vertical-align:top; text-align:left;" colspan="'.$rss_config->feed_columns.'"><table width="100%" cellpadding="0" cellspacing="0" style="padding-bottom:10px;"><tr>';
			//echo '<td style="width:30px;padding-left:1px;padding-right:4px;"><a href="'.$rezu.'" target="_blank"><img border="0" src="'.$default_reader_image.'" alt="'._FULL_CONTENT_NAME.'"/></a></td>';
			//echo '<td style="text-align:left;"><a href="'.$rezu.'" target="_blank"><strong>'._FULL_CONTENT_NAME.'</strong></a></td>';
		}
		echo '</tr></table>
		</td></tr><tr>';
	}
	for ( $i=1; $i<=$rss_config->feed_columns; $i++){
		echo '<td style="vertical-align:top;">';
		echo $frontend_display_array[$i];
		echo '</td>';
	}
	echo '</tr>';
	echo '</table>';
	echo '</td></tr>';
}

function display_frontend($get_feedtype){
	$database = &JFactory::getDBO();
	$get_act = JArrayHelper::getValue($_GET,"act" );

	$database->setQuery("SELECT * FROM #__ijoomla_rss_config");
	if (!$database->query()){
		die( $database->getErrorMsg() );
	}
	$config = $database->loadObjectList();
	$rss_config = $config[0];

	if($get_act!='html')
		frontend_header();
	//print_r(frontend_header());
	show_content( $rss_config, $get_feedtype );
	if($get_act!='html')
		frontend_footer();
}
/*
function display_frontend_html($get_feedtype){
global $database;

$database->setQuery("SELECT * FROM #__ijoomla_rss_config");
if (!$database->query()){
die( $database->getErrorMsg() );
}
$config = $database->loadObjectList();
$rss_config = $config[0];

// frontend_header();
show_content( $rss_config, $get_feedtype );
frontend_footer();

}*/

function show_sec_feed( $sec_id, $feed_type,$get_act ){
	$database = &JFactory::getDBO();
	$sec_id = intval($sec_id);
	$database->setQuery("SELECT * FROM #__sections WHERE id=$sec_id");
	if (!$database->query()){
		die( $database->getErrorMsg() );
	}
	if ($database->getNumRows()>0){
		$sec_result = $database->loadObjectList();
		$sec_details = $sec_result[0];

		$section_link = JURI::base()."index.php?option=com_content&task=section&id=$sec_id";
		$item_id = getItemidRss( $sec_id , "sections");
		if ($item_id != 0){
			$section_link .= "&Itemid=".$item_id;
		}

		$database->setQuery("SELECT * FROM #__ijoomla_rss_config WHERE 1 LIMIT 1");
		if (!$database->query()) {
			die( $database->getErrorMsg() );
		}
		$result_qry = $database->loadAssocList();
		$grab_content = $result_qry[0]['grab_content'];
		$feed_chars = $result_qry[0]['feed_chars'];
		$title_chars = $result_qry[0]['title_chars'];

		//////////////////////
		$sec_details->title = str_replace('/','_',$sec_details->title);
		/////////////////////

		$feed_file_name = str_replace(' ','_',substr($sec_details->title,0,15)).".xml";
		$feed_file = JPATH_SITE.'/components/com_ijoomla_rss/xmlfiles/'.$feed_file_name;

		// load feed creator class
		$rss = new UniversalFeedCreator();
		// load image creator class

		$rss->title = $sec_details->title;
		//$rss->description = strip_tags($sec_details->description,"<img><a>");
		if(!empty($sec_details->description) && $sec_details->description!=""){
			$rss->description= getDescription($sec_details->description,$feed_chars);
			$rss->description=str_replace("&amp;","&",$rss->description);
		}
		else $rss->description="";
		
		if($feed_type!="ATOM0.3")
			$rss->link = "<![CDATA[".JRoute::_($section_link)."]]>";
		else
			$rss->link = JRoute::_($section_link);
		$feed_file_link = JURI::base()."index.php?option=com_ijoomla_rss&act=xml&sec=".$sec_id."&feedtype=ATOM0.3";

		$rss->syndicationURL = JRoute::_(JURI::base());
		$rss->cssStyleSheet = NULL;
		$rss->encoding = "UTF-8";
		//ISO-8859-1

		// load individual item creator class
		
		//start get the number of feeds from config
		$database->setQuery("SELECT * FROM #__ijoomla_rss_config");
		if (!$database->query()){
			die( $database->getErrorMsg() );
		}
		$config = $database->loadObjectList();
		$rss_config = $config[0];
		//end get the number of feeds from config
		$jnow	= & JFactory::getDate();
		$date_time	=  $jnow->toMySQL();
		$database->setQuery("SELECT c.* FROM #__content c left join #__categories cc on c.catid=cc.id WHERE c.sectionid=".intval($sec_id)." AND c.state=1 and cc.published=1 and (c.publish_down > '".$date_time."' || c.publish_down='0000-00-00 00:00:00') ORDER BY c.created DESC limit ".$rss_config->feeds);
		if (!$database->query()){
			die( $database->getErrorMsg() );
		}
		$articles = $database->loadObjectList();

		foreach ($articles as $art_count => $article_value){
			$art_item_id = getItemidRss( $article_value->id );
			$article_link = JURI::base()."index.php?option=com_content&task=view&id=".$article_value->id;
			if ($art_item_id>0){
				$article_link .= "&Itemid=".$art_item_id;
			}
			$item = new FeedItem();

			// description content
			switch ($grab_content){
				case 'intro':
					$description_source = $article_value->introtext;
					break;
				case 'full':
					$description_source = $article_value->fulltext;
					break;
				case 'intro_full_empty':
					if (trim($article_value->fulltext)==""){
						$description_source = $article_value->introtext;
					}
					else{
						$description_source = $article_value->fulltext;
					}
					break;
				case 'full_intro_empty':
				default:
					if (trim($article_value->introtext)==""){
						$description_source = $article_value->fulltext;
					}
					else{
						$description_source = $article_value->introtext;
					}
					break;
			}

			// title content
			if ($title_chars>0){
				if (strlen($article_value->title)<= $title_chars){
					$title_source = $article_value->title;
				}
				else{
					$title_source = substr($article_value->title,0,$title_chars);
				}
			}
			else{
				$title_source = $article_value->title;
			}

			// mambot tags removed
			$item_title = str_replace('{mosimage}','',$title_source);
			$item_description = str_replace('{mosimage}','',$description_source);
			//$item_description = preg_replace('/{(sidebar) (.*)\}/','',$item_description);
			$to_replace='/\{(.*?)\}/i';
			$item_description = preg_replace($to_replace,'',$item_description);
			//$to_replace='/hspace="(.*?)"/i';

			while (eregi('{moscode}',$item_title)){
				$mostag_start_pos = strpos($item_title,'{moscode}');
				$mostag_finish_pos = strpos($item_title,'{/moscode}');
				if ($mostag_finish_pos > $mostag_start_pos){
					$new_text = substr($item_title,0,$mostag_start_pos);
					$new_text .= substr($item_title,$mostag_finish_pos+10);
				}
				else{
					$new_text = str_replace('{moscode}','',$item_title);
					$new_text = str_replace('{/moscode}','',$item_title);
				}
				$item_title = $new_text;
			}

			while (eregi('{moscode}',$item_description)){
				$mostag_start_pos = strpos($item_description,'{moscode}');
				$mostag_finish_pos = strpos($item_description,'{/moscode}');
				if ($mostag_finish_pos > $mostag_start_pos){
					$new_text = substr($item_description,0,$mostag_start_pos);
					$new_text .= substr($item_description,$mostag_finish_pos+10);
				}
				else{
					$new_text = str_replace('{moscode}','',$item_description);
					$new_text = str_replace('{/moscode}','',$item_description);
				}
				$item_description = $new_text;
			}

			// description length
			if ($feed_chars>0 && (strlen($item_description) > $feed_chars)){
				//$item_description = substr(strip_tags($item_description,'<img><a>'),0,$feed_chars)." ...";
				$item_description = getDescription($item_description,$feed_chars);
			}

			// item information
			// SEF modification -> so that our link article is ok is sef is enabled
			$jnow	= & JFactory::getDate();
			$date	=  $jnow->toMySQL();
			$jnow	= & JFactory::getDate();
			$date_time	=  $jnow->toMySQL();
			$query =" select c.* , ".
					" CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\":\", c.id, c.alias) ELSE c.id END as slug , ".
					" CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(\":\", cc.id, cc.alias) ELSE cc.id END as catslug ".
					" from #__content as c ".
					" LEFT JOIN #__categories as cc on cc.id = c.catid ".
					" where c.id = ".$article_value->id." and c.access <= 0 and (c.publish_down > '".$date_time."' || c.publish_down='0000-00-00 00:00:00')";
			$database->setQuery( $query );
			$current_item = $database->loadObjectList();
			$art_url = substr(JURI::root(false,''),0,-1);
			$art_url .= JRoute::_(ContentHelperRoute::getArticleRoute($current_item[0]->slug, $current_item[0]->catslug, $current_item[0]->sectionid));

			$item->title = $item_title;
			$item->link = $art_url;//"http://www.google.ro".$article_value->id;//JRoute::_($article_link);
			$item->description = $item_description;
			$item->source = $article_value->urls;

			$year = substr( $article_value->created, 0, 4);
			$month= substr( $article_value->created, 5, 2);
			$day = substr( $article_value->created, 8, 2);
			$hour = substr( $article_value->created, 11, 2);
			$min = substr( $article_value->created, 14, 2);
			$sec = substr( $article_value->created, 17, 2);

			$atom30_date = $year."-".$month."-".$day."T".$hour.":".$min.":".$sec."Z";

			$article_timestamp = mktime( $hour, $min, $sec, $month, $day, $year);
			if($feed_type!="ATOM0.3")
				$item->date = date( 'r', $article_timestamp );
			else
				$item->date = $atom30_date;
			$item->category = $sec_details->title;

			// loads item info into rss array
			$rss->addItem( $item );
			//echo $rss->addItem( $item );
		}
		// save feed file
		if (is_file($feed_file))
			chmod($feed_file,0777);
			//chmod($feed_file,0755);

		if($feed_type!="ATOM0.3")
			$rss->saveFeed( $feed_type, $feed_file , true );
		else{
			//$date = gmdate("Y-m-d\TH:i:sO",$this->unix);
			//$date = substr($date,0,22) . ':' . substr($date,-2);
			//if (TIME_ZONE!="") $date = str_replace("+00:00",TIME_ZONE,$date);

			$feed = "<?xml version=\"1.0\" encoding=\"".$rss->encoding."\"?>\n";
			//$feed.= $this->_createGeneratorComment();
			//$feed.= $this->_createStylesheetReferences();
			$feed.= "<feed xmlns=\"http://www.w3.org/2005/Atom\"";
			//if ($this->language!="") {
			// $feed.= " xml:lang=\"".$this->language."\"";
			//}

			$feed.= ">\n";
			$feed.= " <title>".htmlspecialchars(strip_tags($rss->title))."</title>\n";
			$feed.= " <subtitle>".htmlspecialchars($rss->description)."</subtitle>\n";
			$feed.= " <link rel=\"alternate\" type=\"application/xhtml+xml\" href=\"".htmlspecialchars($rss->link)."\"/>\n";
			$feed.= " <link rel=\"self\" href=\"".htmlspecialchars($feed_file_link)."\"/>\n";
			$feed.= " <id>".htmlspecialchars($rss->link)."</id>\n";
			//$now = new FeedDate();
			$feed.= " <updated>".htmlspecialchars(date("Y-m-d")."T".date("H:i:s")."Z")."</updated>\n";
			if ($rss->editor!="") {
				$feed.= " <author>\n";
				$feed.= " <name>".$rss->editor."</name>\n";
				if ($this->editorEmail!="") {
					$feed.= " <email>".$rss->editorEmail."</email>\n";
				}
				$feed.= " </author>\n";
			}
			else{
				$feed.= " <author>\n";
				$feed.= " <name>.</name>\n";
				$feed.= " </author>\n";
			}
			//$feed.= " <generator>".FEEDCREATOR_VERSION."</generator>\n";
			//$feed.= $this->_createAdditionalElements($this->additionalElements, " ");
			for ($i=0;$i<count($rss->items);$i++) {
				$feed.= " <entry>\n";
				$feed.= " <title>".htmlspecialchars(strip_tags($rss->items[$i]->title))."</title>\n";
				$feed.= " <link rel=\"alternate\" type=\"application/xhtml+xml\" href=\"".htmlspecialchars($rss->items[$i]->link)."\"/>\n";
				if ($rss->items[$i]->date=="")
					$rss->items[$i]->date = date("Y-m-d")."T".date("H:i:s")."Z";
				//$itemDate = new FeedDate($this->items[$i]->date);
				//$feed.= " <created>".htmlspecialchars($itemDate->iso8601())."</created>\n";
				//$feed.= " <issued>".htmlspecialchars($itemDate->iso8601())."</issued>\n";
				$feed.= " <updated>".htmlspecialchars($rss->items[$i]->date)."</updated>\n";
				$feed.= " <id>".htmlspecialchars($rss->items[$i]->link)."</id>\n";
				//$feed.= $this->_createAdditionalElements($this->items[$i]->additionalElements, " ");
				if ($rss->items[$i]->author!="") {
					$feed.= " <author>\n";
					$feed.= " <name>".htmlspecialchars($rss->items[$i]->author)."</name>\n";
					$feed.= " </author>\n";
				}
				if ($rss->items[$i]->description!=""){
					$feed.= " <summary type=\"html\">".htmlspecialchars($rss->items[$i]->description)."</summary>\n";
				}
				$feed.= " </entry>\n";
			}
			$feed.= "</feed>\n";

			$feedFile = fopen($feed_file, "w+");
			if ($feedFile) {
				fputs($feedFile,$feed);
				fclose($feedFile);
				Header("Content-Type: application/atom+xml; charset=utf-8");
				Header("Content-Disposition: inline; filename=".basename($feed_file));
				readfile($feed_file, "r");
				die();
			} 
			else {
				echo "<br /><b>".ERR_CREATING_FEED_FILE."</b><br />";
			}
		}
		/*
		$feedFile = fopen($feed_file, "w+");
		$contents = fread($feedFile, filesize($feed_file));
		echo $contents.'+++';
		$contents = str_replace("http://purl.org/atom/ns#","http://www.w3.org/2005/Atom",$contents);
		fwrite($feedFile,$contents);
		fclose($feedFile);
		*/
	}else{
		display_frontend($feed_type);
	}
}

function show_feed( $cat_id, $feed_type,$get_act ) {
	$database = &JFactory::getDBO();
	$cat_id = intval($cat_id);

	$database->setQuery("SELECT * FROM #__categories WHERE id=$cat_id");
	if (!$database->query()){
		die( $database->getErrorMsg() );
	}

	if ($database->getNumRows()>0) {
		$cat_result = $database->loadObjectList();
		$cat_details = $cat_result[0];
		$category_link = JURI::base()."index.php?option=com_content&task=category&id=$cat_id";
		$item_id = getItemidRss( $cat_id , "categories");
		if ($item_id != 0){
			$category_link .= "&Itemid=".$item_id;
		}

		$database->setQuery("SELECT * FROM #__ijoomla_rss_config WHERE 1 LIMIT 1");
		if (!$database->query()) {
			die( $database->getErrorMsg() );
		}
		$result_qry = $database->loadAssocList();
		$grab_content = $result_qry[0]['grab_content'];
		$feed_chars = $result_qry[0]['feed_chars'];
		$title_chars = $result_qry[0]['title_chars'];

		//////////////////////
		$cat_details->title = str_replace('/','_',$cat_details->title);
		/////////////////////

		$feed_file_name = str_replace(' ','_',substr($cat_details->title,0,15)).".xml";

		$feed_file = JPATH_SITE.'/components/com_ijoomla_rss/xmlfiles/'.$feed_file_name;

		if ($get_act=='xml'){
			// load feed creator class
			$rss = new UniversalFeedCreator();
			// load image creator class

			$rss->title = $cat_details->title;
			//$rss->description = strip_tags($sec_details->description,"<img><a>");
			if(!empty($sec_details->description) && $sec_details->description!=""){
				$rss->description= getDescription($sec_details->description,$feed_chars);
				$rss->description=str_replace("&amp;","&",$rss->description);
			}
			else $rss->description="";
		
			if($feed_type!="ATOM0.3")
				$rss->link = "<![CDATA[".JRoute::_($category_link)."]]>";
			else
				$rss->link = JRoute::_($category_link);
			$feed_file_link = JURI::base()."index.php?option=com_ijoomla_rss&act=xml&cat=".$cat_id."&feedtype=ATOM0.3";
			$rss->syndicationURL = JRoute::_(JURI::base());
			$rss->cssStyleSheet = NULL;
			$rss->encoding = "UTF-8";
			//ISO-8859-1
		}

		// load individual item creator class
		
		//start get the number of feeds from config
		$database->setQuery("SELECT * FROM #__ijoomla_rss_config");
		if (!$database->query()){
			die( $database->getErrorMsg() );
		}
		$config = $database->loadObjectList();
		$rss_config = $config[0];
		//end get the number of feeds from config
		$jnow	= & JFactory::getDate();
		$date_time	=  $jnow->toMySQL();
		$database->setQuery("SELECT * FROM #__content WHERE catid=$cat_id AND state=1 and (publish_down > '".$date_time."' || publish_down='0000-00-00 00:00:00') ORDER BY created DESC limit ".$rss_config->feeds);
		if (!$database->query()){
			die( $database->getErrorMsg() );
		}
		$articles = $database->loadObjectList();

		foreach ($articles as $art_count => $article_value) {
			$art_item_id = getItemidRss( $article_value->id );
			$article_link = JURI::base()."index.php?option=com_content&task=view&id=".$article_value->id;
			if ($art_item_id>0){
				$article_link .= "&Itemid=".$art_item_id;
			}
			if ($get_act=='xml'){
				$item = new FeedItem();
			}

			// description content
			switch ($grab_content){
				case 'intro':
					$description_source = $article_value->introtext;
					break;
				case 'full':
					$description_source = $article_value->fulltext;
					break;
				case 'intro_full_empty':
					if (trim($article_value->fulltext)==""){
						$description_source = $article_value->introtext;
					}
					else{
						$description_source = $article_value->fulltext;
					}
					break;
				case 'full_intro_empty':
				default:
					if (trim($article_value->introtext)==""){
						$description_source = $article_value->fulltext;
					}
					else{
						$description_source = $article_value->introtext;
					}
					break;
			}
			
			// title content
			if ($title_chars>0){
				if (strlen($article_value->title)<= $title_chars){
					$title_source = $article_value->title;
				}
				else{
					$title_source = substr($article_value->title,0,$title_chars);
				}
			}
			else{
				$title_source = $article_value->title;
			}

			// mambot tags removed
			$item_title = str_replace('{mosimage}','',$title_source);
			$item_description = str_replace('{mosimage}','',$description_source);
			//$item_description = preg_replace('/{(sidebar) (.*)\}/','',$item_description);
			$to_replace='/\{(.*?)\}/i';
			$item_description = preg_replace($to_replace,'',$item_description);
			
			while (eregi('{moscode}',$item_title)){
				$mostag_start_pos = strpos($item_title,'{moscode}');
				$mostag_finish_pos = strpos($item_title,'{/moscode}');
				if ($mostag_finish_pos > $mostag_start_pos){
					$new_text = substr($item_title,0,$mostag_start_pos);
					$new_text .= substr($item_title,$mostag_finish_pos+10);
				}
				else{
					$new_text = str_replace('{moscode}','',$item_title);
					$new_text = str_replace('{/moscode}','',$item_title);
				}
				$item_title = $new_text;
			}

			while (eregi('{moscode}',$item_description)){
				$mostag_start_pos = strpos($item_description,'{moscode}');
				$mostag_finish_pos = strpos($item_description,'{/moscode}');
				if ($mostag_finish_pos > $mostag_start_pos){
					$new_text = substr($item_description,0,$mostag_start_pos);
					$new_text .= substr($item_description,$mostag_finish_pos+10);
				}
				else{
					$new_text = str_replace('{moscode}','',$item_description);
					$new_text = str_replace('{/moscode}','',$item_description);
				}
				$item_description = $new_text;
			}

			// description length			
			if ($feed_chars>0 && (strlen($item_description) > $feed_chars)){
				//$item_description = substr(strip_tags($item_description,'<img><a>'),0,$feed_chars)." ...";
				$item_description = getDescription($item_description,$feed_chars);
			}

			// item information
			// SEF modification -> so that our link article is ok is sef is enabled
			$jnow	= & JFactory::getDate();
			$date_time	=  $jnow->toMySQL();
			$query =" select c.* , ".
					" CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\":\", c.id, c.alias) ELSE c.id END as slug , ".
					" CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(\":\", cc.id, cc.alias) ELSE cc.id END as catslug ".
					" from #__content as c ".
					" LEFT JOIN #__categories as cc on cc.id = c.catid ".
					" where c.id = ".$article_value->id." and c.access <= 0 and (c.publish_down > '".$date_time."' || c.publish_down='0000-00-00 00:00:00')";
			$database->setQuery( $query );
			$current_item = $database->loadObjectList();
			$art_url = substr(JURI::root(false,''),0,-1);
			$art_url .= JRoute::_(ContentHelperRoute::getArticleRoute($current_item[0]->slug, $current_item[0]->catslug, $current_item[0]->sectionid));

			$item->title = $item_title;
			$item->link = $art_url;//"http://www.google.ro".$article_value->id;//JRoute::_($article_link);
			$item->description =$item_description;
			/*$item->title = "ITEMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM TITLE * ".$item_title." *"; //$item_title
			$item->link = "http://www.google.ro".$article_value->id; //JRoute::_($article_link)
			$item->description = "BEFORE -- ".$item_description." -- AFTER";*/
			$item->source = $article_value->urls;

			$year = substr( $article_value->created, 0, 4);
			$month= substr( $article_value->created, 5, 2);
			$day = substr( $article_value->created, 8, 2);
			$hour = substr( $article_value->created, 11, 2);
			$min = substr( $article_value->created, 14, 2);
			$sec = substr( $article_value->created, 17, 2);
			
			$atom30_date = $year."-".$month."-".$day."T".$hour.":".$min.":".$sec."Z";

			$article_timestamp = mktime( $hour, $min, $sec, $month, $day, $year);
			if($feed_type!="ATOM0.3")
				$item->date = date( 'r', $article_timestamp );
			else
				$item->date = $atom30_date;
			$item->category = $cat_details->title;

			if ($get_act=='xml'){
				// loads item info into rss array
				$rss->addItem( $item );
			}

			if ($get_act=='html'){
				// print_r($item);
				echo '<b><a href="'.$item->link.'">'.$item->title.'</a></b><br />';
				echo $item->description;
				$b=$b.$item->title.$item->description;
				// print_r($sec_result);
			}
		}//se inchide foreach





		if ($get_act=='xml'){
			// save feed file
			if (is_file($feed_file))
				chmod($feed_file,0777);
			if($feed_type!="ATOM0.3")
				$rss->saveFeed( $feed_type, $feed_file , true );
			else{
				//$date = gmdate("Y-m-d\TH:i:sO",$this->unix);
				//$date = substr($date,0,22) . ':' . substr($date,-2);
				//if (TIME_ZONE!="") $date = str_replace("+00:00",TIME_ZONE,$date);

				$feed = "<?xml version=\"1.0\" encoding=\"".$rss->encoding."\"?>\n";
				//$feed.= $this->_createGeneratorComment();
				//$feed.= $this->_createStylesheetReferences();
				$feed.= "<feed xmlns=\"http://www.w3.org/2005/Atom\"";
				//if ($this->language!="") {
				// $feed.= " xml:lang=\"".$this->language."\"";
				//}

				$feed.= ">\n";
				$feed.= " <title>".htmlspecialchars($rss->title)."</title>\n";
				$feed.= " <subtitle>".htmlspecialchars($rss->description)."</subtitle>\n";
				$feed.= " <link rel=\"alternate\" type=\"application/xhtml+xml\" href=\"".htmlspecialchars($rss->link)."\"/>\n";
				$feed.= " <link rel=\"self\" href=\"".htmlspecialchars($feed_file_link)."\"/>\n";
				$feed.= " <id>".htmlspecialchars($rss->link)."</id>\n";
				//$now = new FeedDate();
				$feed.= " <updated>".htmlspecialchars(date("Y-m-d")."T".date("H:i:s")."Z")."</updated>\n";
				if ($rss->editor!="") {
					$feed.= " <author>\n";
					$feed.= " <name>".$rss->editor."</name>\n";
					if ($this->editorEmail!="") {
						$feed.= " <email>".$rss->editorEmail."</email>\n";
					}
					$feed.= " </author>\n";
				}
				else{
					$feed.= " <author>\n";
					$feed.= " <name>.</name>\n";
					$feed.= " </author>\n";
				}
				//$feed.= " <generator>".FEEDCREATOR_VERSION."</generator>\n";
				//$feed.= $this->_createAdditionalElements($this->additionalElements, " ");
				for ($i=0;$i<count($rss->items);$i++) {
					$feed.= " <entry>\n";
					$feed.= " <title>".htmlspecialchars(strip_tags($rss->items[$i]->title))."</title>\n";
					$feed.= " <link rel=\"alternate\" type=\"application/xhtml+xml\" href=\"".htmlspecialchars($rss->items[$i]->link)."\"/>\n";
					if ($rss->items[$i]->date=="")
						$rss->items[$i]->date = date("Y-m-d")."T".date("H:i:s")."Z";
					//$itemDate = new FeedDate($this->items[$i]->date);
					//$feed.= " <created>".htmlspecialchars($itemDate->iso8601())."</created>\n";
					//$feed.= " <issued>".htmlspecialchars($itemDate->iso8601())."</issued>\n";
					$feed.= " <updated>".htmlspecialchars($rss->items[$i]->date)."</updated>\n";
					$feed.= " <id>".htmlspecialchars($rss->items[$i]->link)."</id>\n";
					//$feed.= $this->_createAdditionalElements($this->items[$i]->additionalElements, " ");
					if ($rss->items[$i]->author!="") {
						$feed.= " <author>\n";
						$feed.= " <name>".htmlspecialchars($rss->items[$i]->author)."</name>\n";
						$feed.= " </author>\n";
					}
					if ($rss->items[$i]->description!="") {
						$feed.= " <summary type=\"html\">".htmlspecialchars($rss->items[$i]->description)."</summary>\n";
					}
					$feed.= " </entry>\n";
				}
				$feed.= "</feed>\n";

				$feedFile = fopen($feed_file, "w+");
				if ($feedFile) {
					fputs($feedFile,$feed);
					fclose($feedFile);

					Header("Content-Type: application/atom+xml; charset=utf-8");
					Header("Content-Disposition: inline; filename=".basename($feed_file));
					readfile($feed_file, "r");
					die();
				} 
				else {
					echo "<br /><b>".ERR_CREATING_FEED_FILE."</b><br />";
				}
			}
			/*
			$feedFile = fopen($feed_file, "w+");
			$contents = fread($feedFile, filesize($feed_file));
			echo $contents.'+++';
			$contents = str_replace("http://purl.org/atom/ns#","http://www.w3.org/2005/Atom",$contents);
			fwrite($feedFile,$contents);
			fclose($feedFile);
			*/
		}
		else{
			// print_r($item);
			//++++++++++++++++ print_r($sec_result);
		}
		// print_r($b);
	}else{
		//+++++++++++++display_frontend($feed_type);
	}

	if($get_act=="html"){
		die();
		//$a=fopen(JURI::base()."components/com_ijoomla_rss/"."aaa.php", 'wb');
		//fwrite($a,$b);
		//fclose($a);
		//echo "<b>";
		//echo "++".$b."**";
		//echo "</b>";
		// echo "*";
	}
}

function show_full_feed( $feed_type ){
	$database = &JFactory::getDBO();

	$database->setQuery("SELECT * FROM #__ijoomla_rss_config WHERE 1 LIMIT 1");
	if (!$database->query()) {
		die( $database->getErrorMsg() );
	}
	$result_qry = $database->loadAssocList();
	$grab_content = $result_qry[0]['grab_content'];
	$feed_chars = $result_qry[0]['feed_chars'];
	$title_chars = $result_qry[0]['title_chars'];

	$feed_file_name = "full_content.xml";

	$feed_file = JPATH_SITE.'/components/com_ijoomla_rss/xmlfiles/'.$feed_file_name;
	$feed_file_link = JURI::base().'/index.php?option=com_ijoomla_rss&act=xml&full=yes&feedtype=ATOM0.3';

	// load feed creator class
	$rss = new UniversalFeedCreator();
	// load image creator class

	$rss->title = _FILL_FEED_TITLE;
	$rss->description = _FULL_CONTENT_NAME;
	if($feed_type!="ATOM0.3")
		$rss->link = "<![CDATA[".JRoute::_(JURI::base())."]]>";
	else
		$rss->link = JRoute::_(JURI::base());
	$rss->syndicationURL = JRoute::_(JURI::base());
	$rss->cssStyleSheet = NULL;
	$rss->encoding = "UTF-8";
	//ISO-8859-1

	// load individual item creator class

	//start get the number of feeds from config
	$database->setQuery("SELECT * FROM #__ijoomla_rss_config");
	if (!$database->query()){
		die( $database->getErrorMsg() );
	}
	$config = $database->loadObjectList();
	$rss_config = $config[0];
	//end get the number of feeds from config
	$jnow	= & JFactory::getDate();
	$date_time	=  $jnow->toMySQL();
	$database->setQuery("SELECT * FROM #__content WHERE state=1 and (publish_down > '".$date_time."' || publish_down='0000-00-00 00:00:00') ORDER BY created DESC LIMIT ".$rss_config->feeds);
	if (!$database->query()){
		die( $database->getErrorMsg() );
	}
	$articles = $database->loadObjectList();
	$category_array = array();

	foreach ($articles as $art_count => $article_value){
		$art_item_id = getItemidRss( $article_value->id );
		$article_link = JURI::base()."index.php?option=com_content&task=view&id=".$article_value->id;
		if ($art_item_id>0){
			$article_link .= "&Itemid=".$art_item_id;
		}
		$item = new FeedItem();

		// description content
		switch ($grab_content){
			case 'intro':
				$description_source = $article_value->introtext;
				break;
			case 'full':
				$description_source = $article_value->fulltext;
				break;
			case 'intro_full_empty':
				if (trim($article_value->fulltext)==""){
					$description_source = $article_value->introtext;
				}
				else{
					$description_source = $article_value->fulltext;
				}
				break;
			case 'full_intro_empty':
			default:
				if (trim($article_value->introtext)==""){
					$description_source = $article_value->fulltext;
				}
				else{
					$description_source = $article_value->introtext;
				}
				break;
		}

		// title content
		if ($title_chars>0){
			if (strlen($article_value->title)<= $title_chars){
				$title_source = $article_value->title;
			}
			else{
				$title_source = substr($article_value->title,0,$title_chars);
			}
		}
		else{
			$title_source = $article_value->title;
		}

		// mambot tags removed
		$item_title = str_replace('{mosimage}','',$title_source);
		$item_description = str_replace('{mosimage}','',$description_source);
		//$item_description = preg_replace('/{(sidebar) (.*)\}/','',$item_description);
		$to_replace='/\{(.*?)\}/i';
		$item_description = preg_replace($to_replace,'',$item_description);
		$item_description = str_replace('<img ','<img align="left" hspace="12" ',$item_description);

		while (eregi('{moscode}',$item_title)){
			$mostag_start_pos = strpos($item_title,'{moscode}');
			$mostag_finish_pos = strpos($item_title,'{/moscode}');
			if ($mostag_finish_pos > $mostag_start_pos){
				$new_text = substr($item_title,0,$mostag_start_pos);
				$new_text .= substr($item_title,$mostag_finish_pos+10);
			}
			else{
				$new_text = str_replace('{moscode}','',$item_title);
				$new_text = str_replace('{/moscode}','',$item_title);
			}
			$item_title = $new_text;
		}

		while (eregi('{moscode}',$item_description)){
			$mostag_start_pos = strpos($item_description,'{moscode}');
			$mostag_finish_pos = strpos($item_description,'{/moscode}');
			if ($mostag_finish_pos > $mostag_start_pos){
				$new_text = substr($item_description,0,$mostag_start_pos);
				$new_text .= substr($item_description,$mostag_finish_pos+10);
			}
			else{
				$new_text = str_replace('{moscode}','',$item_description);
				$new_text = str_replace('{/moscode}','',$item_description);
			}
			$item_description = $new_text;
		}

		// description length
		if ($feed_chars>0 && (strlen($item_description) > $feed_chars)){
			//$item_description = substr(strip_tags($item_description,'<img><a>'),0,$feed_chars)." ...";
			$item_description = getDescription($item_description,$feed_chars);
		}

		// item information
		// SEF modification -> so that our link article is ok is sef is enabled
		$jnow	= & JFactory::getDate();
		$date_time	=  $jnow->toMySQL();
		$query =" select c.* , ".
				" CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\":\", c.id, c.alias) ELSE c.id END as slug , ".
				" CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(\":\", cc.id, cc.alias) ELSE cc.id END as catslug ".
				" from #__content as c ".
				" LEFT JOIN #__categories as cc on cc.id = c.catid ".
				" where c.id = ".$article_value->id." and c.access <= 0 and (c.publish_down > '".$date_time."' || c.publish_down='0000-00-00 00:00:00')";
		$database->setQuery( $query );
		$current_item = $database->loadObjectList();
		$art_url = substr(JURI::root(false,''),0,-1);
		$art_url .= JRoute::_(ContentHelperRoute::getArticleRoute($current_item[0]->slug, $current_item[0]->catslug, $current_item[0]->sectionid));

		$item->title = $item_title;
		$item->link = $art_url;//"http://www.google.ro".$article_value->id;//JRoute::_($article_link);
		$item->description = $item_description;
		$item->source = $article_value->urls;

		$year = substr( $article_value->created, 0, 4);
		$month= substr( $article_value->created, 5, 2);
		$day = substr( $article_value->created, 8, 2);
		$hour = substr( $article_value->created, 11, 2);
		$min = substr( $article_value->created, 14, 2);
		$sec = substr( $article_value->created, 17, 2);

		$atom30_date = $year."-".$month."-".$day."T".$hour.":".$min.":".$sec."Z";

		$article_timestamp = mktime( $hour, $min, $sec, $month, $day, $year);
		if($feed_type!="ATOM0.3")
			$item->date = date( 'r', $article_timestamp );
		else
			$item->date = $atom30_date;

		if (!isset($category_array[$article_value->catid])){
			$database->setQuery("SELECT name FROM #__categories WHERE id=".intval($article_value->catid) );
			if (!$database->query()){
				$category_array[$article_value->catid] = "News";
			}
			else{
				$category_array[$article_value->catid] = $database->loadResult();
			}
		}

		$article_category = $category_array[$article_value->catid];
		$item->category = $article_category;

		// loads item info into rss array
		$rss->addItem( $item );
	}
	// save feed file
	if (is_file($feed_file))
		chmod($feed_file,0777);
	if($feed_type!="ATOM0.3")
		$rss->saveFeed( $feed_type, $feed_file , true );
	else{
		//$date = gmdate("Y-m-d\TH:i:sO",$this->unix);
		//$date = substr($date,0,22) . ':' . substr($date,-2);
		//if (TIME_ZONE!="") $date = str_replace("+00:00",TIME_ZONE,$date);

		$feed = "<?xml version=\"1.0\" encoding=\"".$rss->encoding."\"?>\n";
		//$feed.= $this->_createGeneratorComment();
		//$feed.= $this->_createStylesheetReferences();
		$feed.= "<feed xmlns=\"http://www.w3.org/2005/Atom\"";
		//if ($this->language!="") {
		// $feed.= " xml:lang=\"".$this->language."\"";
		//}

		$feed.= ">\n";
		$feed.= " <title>".htmlspecialchars(strip_tags($rss->title))."</title>\n";
		$feed.= " <subtitle>".htmlspecialchars($rss->description)."</subtitle>\n";
		$feed.= " <link rel=\"alternate\" type=\"application/xhtml+xml\" href=\"".htmlspecialchars($rss->link)."\"/>\n";
		$feed.= " <link rel=\"self\" href=\"".htmlspecialchars($feed_file_link)."\"/>\n";
		$feed.= " <id>".htmlspecialchars($rss->link)."</id>\n";
		//$now = new FeedDate();
		$feed.= " <updated>".htmlspecialchars(date("Y-m-d")."T".date("H:i:s")."Z")."</updated>\n";
		if ($rss->editor!="") {
			$feed.= " <author>\n";
			$feed.= " <name>".$rss->editor."</name>\n";
			if ($this->editorEmail!="") {
				$feed.= " <email>".$rss->editorEmail."</email>\n";
			}
			$feed.= " </author>\n";
		}
		else{
			$feed.= " <author>\n";
			$feed.= " <name>.</name>\n";
			$feed.= " </author>\n";
		}
		//$feed.= " <generator>".FEEDCREATOR_VERSION."</generator>\n";
		//$feed.= $this->_createAdditionalElements($this->additionalElements, " ");
		for ($i=0;$i<count($rss->items);$i++) {
			$feed.= " <entry>\n";
			$feed.= " <title>".htmlspecialchars(strip_tags($rss->items[$i]->title))."</title>\n";
			$feed.= " <link rel=\"alternate\" type=\"application/xhtml+xml\" href=\"".htmlspecialchars($rss->items[$i]->link)."\"/>\n";
			if ($rss->items[$i]->date=="")
				$rss->items[$i]->date = date("Y-m-d")."T".date("H:i:s")."Z";
			//$itemDate = new FeedDate($this->items[$i]->date);
			//$feed.= " <created>".htmlspecialchars($itemDate->iso8601())."</created>\n";
			//$feed.= " <issued>".htmlspecialchars($itemDate->iso8601())."</issued>\n";
			$feed.= " <updated>".htmlspecialchars($rss->items[$i]->date)."</updated>\n";
			$feed.= " <id>".htmlspecialchars($rss->items[$i]->link)."</id>\n";
			//$feed.= $this->_createAdditionalElements($this->items[$i]->additionalElements, " ");
			if ($rss->items[$i]->author!="") {
				$feed.= " <author>\n";
				$feed.= " <name>".htmlspecialchars($rss->items[$i]->author)."</name>\n";
				$feed.= " </author>\n";
			}
			if ($rss->items[$i]->description!="") {
				$feed.= " <summary type=\"html\">".htmlspecialchars($rss->items[$i]->description)."</summary>\n";
			}
			$feed.= " </entry>\n";
		}
		$feed.= "</feed>\n";

		$feedFile = fopen($feed_file, "w+");
		if ($feedFile) {
			fputs($feedFile,$feed);
			fclose($feedFile);
			Header("Content-Type: application/atom+xml; charset=utf-8");
			Header("Content-Disposition: inline; filename=".basename($feed_file));
			readfile($feed_file, "r");
			die();
		} 
		else{
			echo "<br /><b>".ERR_CREATING_FEED_FILE."</b><br />";
		}
	}
	/*
	$feedFile = fopen($feed_file, "w+");
	$contents = fread($feedFile, filesize($feed_file));
	echo $contents.'+++';
	$contents = str_replace("http://purl.org/atom/ns#","http://www.w3.org/2005/Atom",$contents);
	fwrite($feedFile,$contents);
	fclose($feedFile);
	*/

}

function getItemidRss( $id, $typed="" ) {
	$database = &JFactory::getDBO();
	$Itemid = 0;
	$_Itemid = '';
	$id = intval($id);

	if ( "sections" == $typed ){
		// Search in sections
		$query = "SELECT m.id "
		. "\n FROM #__sections AS s "
		. "\n LEFT JOIN #__menu AS m ON m.componentid = s.id "
		. "\n WHERE m.type = 'content_section'"
		. "\n AND m.menutype = 'sections'"
		. "\n AND m.componentid = '$id'"
		;
		$database->setQuery( $query );
		$_Itemid = $database->loadResult();
	}

	if ( "categories" == $typed ) {
		// Search in categories
		$query = "SELECT m.id "
		. "\n FROM #__categories AS cc "
		. "\n LEFT JOIN #__sections AS s ON cc.section = s.id "
		. "\n LEFT JOIN #__menu AS m ON m.componentid = s.id "
		. "\n WHERE m.type = 'content_section'"
		. "\n AND m.menutype = 'sections'"
		//. "\n AND m.published = 1"
		. "\n AND cc.id = '$id'"
		;
		$database->setQuery( $query );
		$_Itemid = $database->loadResult();
	}

	if ( "" == $typed ) {
		// Search in sections
		$jnow	= & JFactory::getDate();
		$date_time	=  $jnow->toMySQL();
		$query = "SELECT m.id "
		. "\n FROM #__content AS i"
		. "\n LEFT JOIN #__sections AS s ON i.sectionid = s.id"
		. "\n LEFT JOIN #__menu AS m ON m.componentid = s.id "
		. "\n WHERE m.type = 'content_section'"
		. "\n AND m.menutype = 'sections'"
		. "\n AND i.id = $id"
		. "\n AND (i.publish_down > '".$date_time."' || i.publish_down='0000-00-00 00:00:00')"
		;
		$database->setQuery( $query );
		$_Itemid = $database->loadResult();
	}

	if ( $_Itemid != '' ) {
		return $_Itemid;
	} 
	else {
		return $Itemid;
	}
}

function getDescription($html,$limit){		
	//$html=trim(strip_tags($html, "<img><a>"));
  	$len = 0 ;
 	$pattern = '/(<(?:[^<>]+(?:"[^"]*"|\'[^\']*\')?)+>)/';
  	$html_array = preg_split ($pattern,trim ($html),-1,PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
	$return="";
  	foreach($html_array as $key=>$value){
    	$vlen = $len;
    	if((strstr($value,'<'))&&(strstr($value,'>')))
     		$len = $len + 0;
    	else
      		$len = $len + strlen($value); 
    	if($limit>=$len)
     		$return .= $value;
   		else{
      		$return .= substr($value, 0, $limit-$vlen+1);
     		return $return."...";
     	}
  	}
 	//return strip_tags($return)."...";
	return $return."...";
}
?>