RSS граббер

#
Re: RSS граббер
Спасибо, теперь осталось выяснить как вставить привью изображения в краткое содержание, привью тоже должно импортироваться из RSS.
#
Re: RSS граббер

      InsertInformationPropertysItems(
      int $type,
      int $information_propertys_items_id,
      int $information_propertys_id,
      int $information_items_id,
      string $information_propertys_items_value,
      [mixed $information_propertys_items_file = ''] );

можно чуть поподробней разобрать что за что отвечает (означает), и откуда берется?
#
Re: RSS граббер
Привожу описание метода из API:
Принимаемые параметры
$type - параметр, определяющий будет производиться вставка или обновление значения свойства информационной системы (0 - вставка, 1 - обновление)

$information_propertys_items_id - идентификатор значения свойства информационной системы для конкретного элемента информационной системы (при вставке равен 0)

$information_propertys_id - идентификатор свойства информационной системы

$information_items_id - идентификатор элемента информационной системы

$information_propertys_items_value - значение элемента информационной системы

Возвращает - идентификатор вставленного/обновленного значения свойства информационной системы для элемента информационной системы

Описание - Метод вставки/обновления значения свойства информационной
#
Re: RSS граббер
$InformationSystem->InsertInformationPropertysItems(1, 0, $information_propertys_id, $information_items_id, $information_propertys_items_value, [mixed $information_propertys_items_file = ''] );

при запросе выдает:
Parse error: parse error, unexpected '['

идентификатор свойства информационной системы - это id дополнительного свойства?
идентификатор элемента информационной системы - это id инфо системы?
значение элемента информационной системы, может ли равняться?
$information_propertys_items_value = $link;
при том, что $link=$result['items'][$i]['link']; и прописан выше
#
Re: RSS граббер
Для начала необходимо убрать: [mixed $information_propertys_items_file = ''], т.к. в квадратных скобках приводятся параметры, необязательные для передачи в метод.
идентификатор свойства информационной системы - это id дополнительного свойства. Да.
идентификатор элемента информационной системы - это id инфо системы. Нет. Это идентификатор того инфоэлемента, который добавляется из rss-канала в Вашу инфосистему.

$information_propertys_items_value = $link;
при том, что $link=$result['items'][$i]['link']; и прописан выше - т.о. получаем, что значение дополнительного свойства элемента будет содержать ссылку на первоисточник.
#
Re: RSS граббер
Немного не ясно, например чему может равняться $information_items_id
(идентификатор того инфоэлемента, который добавляется из rss-канала в Вашу инфосистему).
Например, из этого куска RSS
<item>
  <category>Very Important & Pricely</category>
  <title>Малыш MINI по имени John Cooper</title>
  <link>http://www.autonews.ru/luxury_cars/news.shtml?2008/03/03/1335714</link>
  <pubDate>Mon, 3 Mar 2008 08:44:36 +0300</pubDate>
  <description>Компания BMW не перестает подчеркивать индивидуальность MINI различными способами. Впечатляет набор аксессуаров от John Cooper Works...</description>
  <enclosure url="http://pics.autonews.ru/autonews_pics/onews/2008/03/03/104648.22294_300.jpg" />
  </item>


если например,
ID доп свойства = 39
Название = СсылкаНаПервоисточник
XML тэг = auto_rss_url

   {

      /* Форимруем полный путь к источнику материала */
      $link = $result['items'][$i]['link'];

      /* Заголовок */
      $title = iconv("UTF-8", "Windows-1251", $result['items'][$i]['title']);
      
      /* Дата */
      $desc = iconv("UTF-8", "Windows-1251", $result['items'][$i]['desc']);
      
      /* Описание элемента */
      $text = iconv("UTF-8", "Windows-1251", $result['items'][$i]['desc']);
      
      /* Тест элемента */
      $date = $DateClass->DateUnixToSQL(strtotime($result['items'][$i]['pubdate']));

      /* Вставка элемента */
      $InformationSystem->InsertInformationItems(0, 0, $infsys_id, $infgroup_id, $date, $title, $desc, 1, $text,'', 0, $_SERVER['REMOTE_ADDR']);

      /*идентификатор свойства информационной системы*/
      $information_propertys_id = 39;

      /*идентификатор элемента информационной системы*/
      $information_items_id = ???;

      /*значение элемента информационной системы*/
      $information_propertys_items_value = $link;

      /*Вставка элимента в дополнительные свойства*/
      $InformationSystem->InsertInformationPropertysItems(0, 0, $information_propertys_id, $information_items_id, $information_propertys_items_value, '' );
   }
#
Re: RSS граббер
Идентификатор вставляемого элемента заполучить из rss-канала не получится никак. Этот идентификатор Вам возвратит метод вставки элемента InsertInformationItems, если все прошло удачно. Т.е. получить его можно так:
  /* Вставка элемента */
$information_items_id = $InformationSystem->InsertInformationItems(0, 0, $infsys_id, $infgroup_id, $date, $title, $desc, 1, $text,'', 0, $_SERVER['REMOTE_ADDR']);
#
Re: RSS граббер
Спасибо все работает.
Как теперь нужно загрузить привью картинки к нам на сервер, которые прописаны в RSS, например:
<enclosure url="http://pics.autonews.ru/autonews_pics/onews/2008/03/03/104648.22294_300.jpg" />
  </item>

и отображать их в аннотации к новости ипортируемой из RSS
#
Re: RSS граббер
Кстати импортируемое изображение должно быть отколиброванно GD или другими средствамми HostCMS

Не смотря на то, что в *.php файле импортирующем RSS прописано:
   if (mysql_num_rows(
   $InformationSystem->GetExternalInformationSystemItem(array('information_items_name'=>$result['items'][$i]['title'],
   'information_blocks_id'=>$infsys_id))) == 0)

Элементы, которые вносятся в информационную систему, все равно дублируются. Как это исправить?
Модератор
#
Re: RSS граббер
CCron писал(а):
Кстати импортируемое изображение должно быть отколиброванно GD или другими средствамми HostCMS

API или GD Вам в помощь.

CCron писал(а):
Элементы, которые вносятся в информационную систему, все равно дублируются. Как это исправить?

разобраться, почему не находится новость с таким же именем. может trim-ом в одном случае обрабатывается, а до сравнения не обрабатывается.
Авторизация