Example #1
0
    /**
     * 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&amp;action=view&amp;id=' . $value['tId']) . '</link>
							<pubDate>' . terms::RFCDate($value['act_datetime']) . '</pubDate>
							<guid>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=resume&amp;action=view&amp;id=' . $value['tId']) . '</guid>
							<category domain="' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=resume&amp;action=section&amp;id=' . $arrDataSections[$value['id_section']]['tId']) . '">' . $arrDataSections[$value['id_section']]['name'] . '</category>
							<category domain="' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=resume&amp;action=region&amp;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;
    }