/** * private функция формирует RSS для резюме * * @param (string) $type - тип, может быть section или region (по умолчанию false) * @param (int) $id - id раздела или региона, резюме которого необходимо показать (по умолчанию false) * * @return string */ protected function rssResume($type = false, $id = false) { // получаем объект резюме global $resume; // получаем массив селекта "Раздел" global $arrDataSections; // получаем массив селекта "Регион" global $arrDataRegions; // формируем данные шапки $this->title[] = array('name' => MENU_RESUMES); $this->link = chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=rss&action=resume'); $this->description = MENU_RESUMES; // проверяем просмотр по разделу if ($type && $id) { $strWhere = "id_" . $type . " IN (" . secure::escQuoteData($id) . ")"; $arrType = $type === 'section' ? $arrType =& $arrDataSections : ($arrType =& $arrDataRegions); // Дописываем данные по разделу в шапку $this->title[] = array('name' => $arrType[$id]['name']); $this->description .= ' - ' . $arrType[$id]['name']; } else { $strWhere = false; } /***** Формируем XML-документ *****/ $data = '<?xml version="1.0" encoding="' . CONF_DEFAULT_CHARSET . '" ?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> <atom:link href="' . $this->link . '" rel="self" type="application/rss+xml" /> <title>' . strings::formTitle($this->title) . '</title> <link>' . $this->link . '</link> <description>' . $this->description . '</description> <language>ru</language> <pubDate>' . $this->pubDate . '</pubDate> <image> <url>' . $this->siteLogo . '</url> <title>' . strings::formTitle($this->title) . '</title> <link>' . $this->link . '</link> </image>'; // если есть активные объявления if ($arrResume = $resume->getActiveAnnounces(array('strLimit' => '0,' . CONF_RSS_RESUME_COUNT, 'calcRows' => false), $strWhere)) { foreach ($arrResume as $value) { $LFName = $value['visibility'] !== 'membershc' && $value['visibility'] !== 'visiblehc' ? ANNOUNCE_CONTACTS_LASTNAME . ' ' . ANNOUNCE_CONTACTS_FIRSTNAME . ': ' . $value['last_name'] . ' ' . $value['first_name'] . '<br>' : ''; $data .= '<item> <title>' . $value['title'] . ' - ' . $value['pay_from'] . ' ' . $value['currency'] . ' (' . $arrDataRegions[$value['id_region']]['name'] . ')</title> <link>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=resume&action=view&id=' . $value['tId']) . '</link> <pubDate>' . terms::RFCDate($value['act_datetime']) . '</pubDate> <guid>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=resume&action=view&id=' . $value['tId']) . '</guid> <category domain="' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=resume&action=section&id=' . $arrDataSections[$value['id_section']]['tId']) . '">' . $arrDataSections[$value['id_section']]['name'] . '</category> <category domain="' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=resume&action=region&id=' . $arrDataRegions[$value['id_region']]['tId']) . '">' . $arrDataRegions[$value['id_region']]['name'] . '</category> <description><![CDATA[' . '<b>' . $arrDataSections[$value['id_section']]['name'] . '</b><br><br>' . $LFName . ANNOUNCE_AGE . ': ' . $value['age'] . '<br>' . ANNOUNCE_SELECT_EXPIREWORK . ': ' . $value['expire_work'] . '<br>' . ANNOUNCE_SELECT_EDUCATION . ': ' . $value['education'] . ']]></description> </item>'; } } $data .= '</channel> </rss>'; return $data; }