<?php

// Идентификатор информационной системы, в которую помещаются элементы
$infsys_id = to_int($GLOBALS['LA']['InformationSystemID']);

// Группа, в которую помещается новый элемент
$infgroup_id = to_int($GLOBALS['LA']['InformationGroupID']);

// Список источников
$RssSourceTextList = to_str($GLOBALS['LA']['RssSourceTextList']);

// Разделяем на список источников
$array_RssSourceTextList = explode("\n", $RssSourceTextList);

$rss = new RssRead();

$InformationSystem = & singleton('InformationSystem');

$DateClass = new DateClass();

$kernel = & singleton('kernel');

$count_import_item = 0;

$infsys_row = $InformationSystem->GetInformationSystem($infsys_id);

// Получаем список тэгов
foreach ($array_RssSourceTextList as $url)
{
	$result = $rss->ReadRSS($url);

	/* Цикл по полученным элементам */
	for ($i = 0; $i < count($result['items']) - 1; $i++)
	{
		$count_result = $InformationSystem->GetExternalInformationSystemItem(array(
		'information_items_name' => $result['items'][$i]['title'],
		'information_systems_id' => $infsys_id));

		/* Если не найдено элементов с таким же именем */
		if (mysql_num_rows($count_result) == 0)
		{
			/* Формируем полный путь к источнику материала */
			$link = $result['items'][$i]['link'];

			/* Заголовок */
			$title = $result['items'][$i]['title'];

			/* Описание элемента */
			$desc = $result['items'][$i]['desc'];

			/* Тест элемента */
			$text = $result['items'][$i]['desc'] . "<p>Источник: <a href=\"{$url}\">$url</a>";

			/* Дата */
			$date = $DateClass->DateUnixToSQL (strtotime ($result['items'][$i]['pubdate']));

			if (!empty($title))
			{
				// КОД ДЛЯ ЗАГРУЗКИ ИЗОБРАЖЕНИЙ
				$information_item_small_image = '';
				$information_item_image = '';
				
				// Вставка элемента
				$item_id = $InformationSystem->InsertInformationItems(0, 0, $infsys_id,
				$infgroup_id, $date, $title, $desc, 1, $text, $information_item_image, 0,
				$_SERVER['REMOTE_ADDR'], '', 1, '', '', '', -1, array('information_items_small_image' =>
				$information_item_small_image));
				
				if (isset($result['items'][$i]['enclosure']['url']))
				{
					// Формируем путь к папке информационного элемента по идентификатору информационного элемента
					$item_dir = $InformationSystem->GetInformationItemDir($item_id);
					
					// Создаем папку для информационного элемента
					$kernel->PathMkdir($item_dir);
				
					$uploaddir = CMS_FOLDER . $item_dir;
					
					$img = to_str($result['items'][$i]['enclosure']['url']);

					$temp_file = tempnam(TMP_DIR, "TMP_");

					$fh = fopen($temp_file, "w"); 

					$content_file = $kernel->GetUrl($img);

					if (@fwrite($fh, $content_file))
					{
						chmod($temp_file, CHMOD_FILE);

						$param_img = array();

						/* ---------------------------------- */
						// Определяем расширение файла
						$exp = mb_strtolower($kernel->GetExtension($img));

						$name = 'information_items_' . time() . $count_import_item . '.' . $exp;

						//CMS_FOLDER . $InformationSystem->GetInformationItemDir()

						//$information_item_image = CMS_FOLDER . UPLOADDIR . $name;
						//$information_item_small_image = CMS_FOLDER . UPLOADDIR . 'small_' . $name;
						
						$information_item_image = $uploaddir . $name;
						$information_item_small_image = $uploaddir . 'small_' . $name;

						$param = array();
						
						// Путь к файлу-источнику большого изображения;
						$param['path_source_big_image'] = $temp_file;

						// Путь к файлу-источнику малого изображения;
						//$param['path_source_small_image'] = $temp_file;
						
						$param['path_source_small_image'] = '';

						//Оригинальное имя файла большого изображения
						$param['original_file_name_big_image'] = $name;

						// Путь к создаваемому файлу большого изображения
						$param['path_target_big_image'] = $information_item_image;

						// Путь к создаваемому файлу малого изображения;
						$param['path_target_small_image'] = $information_item_small_image;

						// Оригинальное имя файла малого изображения
						$param['original_file_name_small_image'] = $name;

						// Использовать большое изображение для создания малого (true - использовать (по умолчанию), false - не использовать)
						$param['use_big_image'] = true;

						// Значение максимальной ширины большого изображения
						$param['max_width_big_image'] = $infsys_row['information_systems_image_big_max_width'];

						// Значение максимальной высоты большого изображения
						$param['max_height_big_image'] = $infsys_row['information_systems_image_big_max_height'];

						// Значение максимальной ширины малого	изображения;
						$param['max_width_small_image'] = $infsys_row['information_systems_image_small_max_width'];

						// Значение максимальной высоты малого	изображения;
						$param['max_height_small_image'] = $infsys_row['information_systems_image_small_max_height'];

						// Путь к файлу с "водяным знаком"
						$param['watermark_file_path'] = '';
						
						$result_img = $kernel->AdminLoadFiles($param);

						if ($result_img['big_image'])
						{
							$information_item_image = basename($param['path_target_big_image']);
						}

						if ($result_img['small_image'])
						{
							$information_item_small_image = basename($param['path_target_small_image']);
						}
						
						$param_item = array ();

						$param_item['information_items_id'] = $item_id;
						$param_item['information_items_image'] = $information_item_image;
						$param_item['information_items_small_image'] = $information_item_small_image;
					
						// Обновляем информацио о информационном элементе после создания изображений
						$item_id = $InformationSystem->InsertInformationItem($param_item);
						
						@unlink($temp_file);
					}
					
					fclose($fh);
				}

				$count_import_item++;
			}
		}
	}
}
?>
<h1>Импорт информационных элементов</h1>
<p>Проимпортировано <?php echo $count_import_item?> элементов</p>