• Уважаемый Гость! Если вы зарегистрировались на нашем форуме, значит вам нужна помощь! Мы всегда рады вам помочь, еще ни один пользователь не получил отказа! Но мы так же нуждаемся в Вашей поддержке. Проект полностью бесплатный, мы не имеем права требовать от вас денег, нам это и не нужно! Но от любой финансовой поддержки не откажемся. Проект развивается, но иногда очень тяжело его поддерживать, особенно в финансовом отношении. Если у вас есть возможность поддержать нас финансово, мы будем вам очень благодарны! С уважением, команда Оскласс Россия!
  • Изменение в правилах форума! В связи с огромным количеством вопросов поступающих в адрес технической поддержки мы решили изменить правила форума! Просим всех пользователей обратить внимание на данные изменения и четко их соблюдать!
  • Ребята, нуждаемся в программистах! Если хотите зарабатывать и есть время, пишите администраторам сайта. Есть база и инструменты, нужен опыт и знания =)
  • Уважаемые пользователи! На форуме появились разделы по работе с системой Yclas. Yclas - это скрипт доски объявлений. Нужны разработчики.

Новый плагин импорт RSS лены

centurion

Администратор
Команда форума
Вам дали код, что тут не так? Период обновления от 30 минут до часа, либо удалите текстовый файл с лентой! Всего-то.
 

centurion

Администратор
Команда форума
Откройте логи ошибок и посмотрите что у вас там, как помочь когда не понятно что вы там могли сделать, по куску кода я вижу что у вас ошибка синтаксиса, скорее всего должно быть так:

PHP:
$t.="<div>.( $date ? "<br>".date("d.n.Y",$date) : "" )
."<br>".
<a href='".$link[1]."' target='_blank'>".$title[1]."</a>" .$description[1] ."</div>";

Я просто не совсем понимаю что вы хотите сделать =)
 

DZ333

Новичок
Тоже самое...
PHP Parse error: syntax error, unexpected '>' in /...../oc-content/plugins/print_rss/rss.php on line 71

71-я это как раз $t.="<div>.( $date ? "<br>".date("d.n.Y",$date) : "" )


на всякий случай весь выложу
Код:
<?php
 
	//$url_rss - URL-адрес RSS потока
	//$file_rss - адресс файла для хранения RSS-новостей
	//$hclock - время обновления, в часах
	//$kol_print_news - количество выводимых новостей
 
function print_rss($url_rss,$file_rss,$hclock,$kol_print_news)
  {
	if (!file_exists($file_rss) || ( filemtime($file_rss) + $hclock*60*60 < time() ) )//если файл не сохраняли, то сохраняем на локальном сервере или если существует, то проверяем устарел ли файл (не более Х часов назад он записан)
	  {
	   if (@!copy ($url_rss,$file_rss))
		 return (false);
	 
	   $text_rss=file($file_rss);
	   $text_rss=implode("",$text_rss);
 
	   if (preg_match('/<?xml[^>]+encoding[\s]*=[\s]*("|\')windows-1251("|\')[^>]+?>/i', $text_rss))
		 {
		//преобразуем кодировку данных
		//если не нежно конвертировать кодировку, то комментируем ниже идущее условие или редактируем	  
		  $text_rss = iconv("cp1251", "utf-8", $text_rss);
		  file_put_contents($file_rss, $text_rss);////пишем данные обратно в файл
		 }
	  }
	$text_rss=file($file_rss);
	$text_rss=implode("",$text_rss);
	$url_image = "";
	$image_is=preg_match("#<image>(.*?)</image>#is",$text_rss,$image_m);
	if ( $image_is )
	  {
	 
	   $image_url_is = preg_match("#<url>(.*?)</url>#is",$image_m[0],$image_t);
	 
	   if ( $image_url_is )
		 $url_image = $image_t[1];
	  }
  
	$mas_item=array();
	preg_match_all("#<item>.*?</item>#is",$text_rss,$mas_item);
  
	$one_item=array();
	$t="";
  
	$t.=( $url_image ? "<div><img src='".$url_image."'  ></div>" :"");
  
	$kol=0;
	if (sizeof($mas_item)>0)
	  {
	 
	   foreach ($mas_item[0] as $one_item)
		 {
		
		  $date = "";
		  $kol++;
		  $t_is=preg_match("#<title>(.*?)</title>#is",$one_item,$title);
		  $l_is=preg_match("#<link>(.*?)</link>#is",$one_item,$link);
//		$d_is=preg_match("#<description>(.*?)</description>#is",$one_item,$description);
		
		  $date_is=preg_match("#<pubDate>(.*?)</pubDate>#is",$one_item,$date_t);
		
		  if ($t_is && $l_is)
			{
			 $title[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$title[1]);
			 $link[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$link[1]);
//		   $description[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$description[1]);
		   
		  
			 if ( $date_is )
			   $date = strtotime($date_t[1]);
$t.="<div><a href='".$link[1]."' target='_blank'>".$title[1]."<br></a>
  <br>"
  .$description[1]
  .( $date ? "<br>".date("d.n.Y",$date) : "" )
  ."</div>";
		   
			}
		  if ($kol >= $kol_print_news) break;
		 }
	  }
	echo ($t);
	return (true);
  }

Хотелось всего лишь дату перед заголовком поставить, а не после...Спасибо огромное за помощь... у меня уже крыша едет...
 

centurion

Администратор
Команда форума
Попробуйте вот так сделать:

PHP:
<?php
 
 
 
 
	//$url_rss - URL-адрес RSS потока
	//$file_rss - адресс файла для хранения RSS-новостей
	//$hclock - время обновления, в часах
	//$kol_print_news - количество выводимых новостей
 
 
 
 
function print_rss($url_rss,$file_rss,$hclock,$kol_print_news)
  {
	if (!file_exists($file_rss) || ( filemtime($file_rss) + $hclock*60*60 < time() ) )//если файл не сохраняли, то сохраняем на локальном сервере или если существует, то проверяем устарел ли файл (не более Х часов назад он записан)
	  {
	   if (@!copy ($url_rss,$file_rss))
		 return (false);
	   
	   $text_rss=file($file_rss);
	   $text_rss=implode("",$text_rss);
 
 
 
 
	   if (preg_match('/<?xml[^>]+encoding[\s]*=[\s]*("|\')windows-1251("|\')[^>]+?>/i', $text_rss))
		 {
		//преобразуем кодировку данных
		//если не нежно конвертировать кодировку, то комментируем ниже идущее условие или редактируем		
		  $text_rss = iconv("cp1251", "utf-8", $text_rss);
		  file_put_contents($file_rss, $text_rss);////пишем данные обратно в файл
		 }
	  }
	$text_rss=file($file_rss);
	$text_rss=implode("",$text_rss);
	$url_image = "";
	$image_is=preg_match("#<image>(.*?)</image>#is",$text_rss,$image_m);
	if ( $image_is )
	  {
	   
	   $image_url_is = preg_match("#<url>(.*?)</url>#is",$image_m[0],$image_t);
	   
	   if ( $image_url_is )
		 $url_image = $image_t[1];
	  }
	
	$mas_item=array();
	preg_match_all("#<item>.*?</item>#is",$text_rss,$mas_item);
	
	$one_item=array();
	$t="";
	
	$t.=( $url_image ? "<div><img src='".$url_image."'  ></div>" :"");
	
	$kol=0;
	if (sizeof($mas_item)>0)
	  {
	   
	   foreach ($mas_item[0] as $one_item)
		 {
		  
		  $date = "";
		  $kol++;
		  $t_is=preg_match("#<title>(.*?)</title>#is",$one_item,$title);
		  $l_is=preg_match("#<link>(.*?)</link>#is",$one_item,$link);
		  $d_is=preg_match("#<description>(.*?)</description>#is",$one_item,$description);
		  
		  $date_is=preg_match("#<pubDate>(.*?)</pubDate>#is",$one_item,$date_t);
		  
		  if ($t_is && $l_is)
			{
			 $title[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$title[1]);
			 $link[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$link[1]);
			 $description[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$description[1]);
			 
			 if ( $date_is )
			   $date = strtotime($date_t[1]);
			 $t.="<div><a href='".$link[1]."' target='_blank'>".$title[1]."</a> 
			  <br>"
  .( $date ? "<br>".date("d.n.Y",$date) : "" )
  ."<br>"
			  .$description[1]
			  ."</div>";
			 
			}
		  if ($kol >= $kol_print_news) break;
		 }
	  }
	echo ($t);
	return (true);
  }

Дата меняет свое расположение.
 

centurion

Администратор
Команда форума
Удалите текстовый файл вывода новостей, он сформируется заново с новыми параметрами.
 

DZ333

Новичок
Я его всегда удаляю... уже на автомате... Как я себе это понимаю, там после $t.= открывается див, и вот как раз после него уже надо как-то сначала вывести дату с br, а потом уже href заголовка...
 

bamser

Администратор
не понимаю...как можно столько возиться в нескольких строчках))
 
Верх