* @package * @todo */ !defined('SDG') ? die('Triple protection!') : null; // инициируем "Наименование страницы" отображаемое в форме $arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_MANAGER, 'link' => false), array('name' => MENU_MANAGER_ARTICLES, 'link' => CONF_ADMIN_FILE . '?m=manager&s=articles')); /** * иницализация массива подключаемых шаблонов: по умолчанию все значения - false * для подключения шаблона, необходимо установить значение - true * шаблоны подключаются в порядке установленном в файле головного шаблона */ $arrActions = array('config' => false, 'add' => false, 'edit' => false, 'moderate' => false, 'archived' => false, 'correction' => false, 'comments' => false); // определяем шаблон для отображения isset($_GET['action']) && isset($arrActions[$_GET['action']]) ? $arrActions[$_GET['action']] = true : null; $articles = new articles(); $artsections = new artsections(); /** * массив, который возращается в форму * содержит значения по умолчанию для формы отбора */ $retFields = array('id' => false, 'id_user' => false, 'author' => false, 'title' => false, 'id_section' => false, 'sDate' => false, 'eDate' => false, 'records' => 30); /** Строка запроса из адресной строки браузера **/ $qString = !empty($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : 'm=manager&s=articles'; /** * Настройки статей */ if ($arrActions['config']) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_CONFIG, 'link' => false); // сохраняем данные, переданные из формы if (isset($_POST['save'])) {
/** * private функция формирует RSS для статей * * @param (int) $id - id раздела, статьи которого необходимо показать (по умолчанию false) * * @return string */ protected function rssArticles($id = false) { // создаем объекты $articles = new articles(); $artsections = new artsections(); // получаем список разделов $sections = $artsections->getSections("token IN ('active')"); // формируем данные шапки $this->title[] = array('name' => MENU_ARTICLES); $this->link = chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=rss&action=articles'); $this->description = MENU_ARTICLES; // проверяем просмотр по разделу if (!empty($id) && !empty($sections[$id])) { // выбираем статьи с учетом раздела $arrArticles = $articles->getPuplishedArticles("id_section=" . secure::escQuoteData($id), false, array('strLimit' => '0,' . CONF_RSS_ARTICLES_COUNT, 'calcRows' => false), array('id', 'title', 'small_text', 'datetime', 'id_section')); // Дописываем данные по разделу в шапку $this->title[] = array('name' => $sections[$id]['name']); $this->description .= ' - ' . $sections[$id]['name']; } else { $arrArticles = $articles->getPuplishedArticles(false, false, array('strLimit' => '0,' . CONF_RSS_ARTICLES_COUNT, 'calcRows' => false), array('id', 'title', 'small_text', 'datetime', 'id_section')); } /***** Формируем 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 (!empty($arrArticles) && is_array($arrArticles)) { foreach ($arrArticles as $value) { $data .= '<item> <title>' . $value['title'] . '</title> <link>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=articles&action=view&id=' . $value['tId']) . '</link> <pubDate>' . terms::RFCDate($value['datetime']) . '</pubDate> <guid>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=articles&action=view&id=' . $value['tId']) . '</guid> <category domain="' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=articles&action=section&id=' . $sections[$value['id_section']]['tId']) . '">' . $sections[$value['id_section']]['name'] . '</category> <description><![CDATA[' . $value['small_text'] . ']]></description> </item>'; } } $data .= '</channel> </rss>'; return $data; }
$xml .= '<url><loc>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=competitor') . '</loc><priority>1.0</priority><changefreq>weekly</changefreq></url>' . "\n"; $xml .= '<url><loc>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=employer') . '</loc><priority>1.0</priority><changefreq>weekly</changefreq></url>' . "\n"; // Работаем с доп. страницами if ($arrPages) { foreach ($arrPages as $value) { $xml .= '<url><loc>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=pages&action=view&id=' . $value['id']) . '</loc><priority>0.5</priority><changefreq>never</changefreq></url>' . "\n"; } } // Работаем с новостями if ($arrNewses = $news->getPuplishedNewses(false, false, array('id', 'title'))) { foreach ($arrNewses as $value) { $xml .= '<url><loc>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=news&action=view&id=' . $value['tId']) . '</loc><priority>0.8</priority><changefreq>never</changefreq></url>' . "\n"; } } // Работаем с разделами статей (все статьи выводить не будем, много получится) $artsections = new artsections(); if ($arrArtSections = $artsections->getSections()) { foreach ($arrArtSections as $value) { if ($value['count']) { $userType = $value['affiliation'] !== 'none' ? 'ut=' . $value['affiliation'] . ' ' : ''; $xml .= '<url><loc>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?' . $userType . 'do=articles&action=section&id=' . $value['tId']) . '</loc><priority>0.8</priority><changefreq>weekly</changefreq></url>' . "\n"; } } } // Работаем с компаниями $strWhere = "conf_users.token IN ('active') AND conf_users.user_type IN ('company')"; $arrFields = array(array('conf_users', 'id'), array('conf_users', 'company_name')); if ($arrCompanies = $user->getCombinedUsersData($arrFields, $strWhere, false, false)) { foreach ($arrCompanies as $value) { $xml .= '<url><loc>' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=companies&action=detail&id=' . $value['tId']) . '</loc><priority>0.5</priority><changefreq>daily</changefreq></url>' . "\n"; }
* Для подключения шаблона, необходимо установить значение - true * Шаблоны подключаются в порядке установленном в файле головного шаблона */ $arrAction = array('section' => false, 'view' => false, 'offset' => false); // определяем шаблон для отображения if (isset($_GET['action'])) { if (isset($arrAction[$_GET['action']])) { $arrAction[$_GET['action']] = true; } else { messages::error404(); } } $sections = array(); // создаем объект $articles = new articles(); $artsections = new artsections(); $artsections->getCategorys(); // формируем данные для запроса в соответствии с типом пользователя /* switch ($_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type']) { case 'competitor': $arrWhere = array('affiliation' => array('none', 'competitor')); break; case 'employer': case 'company': $arrWhere = array('affiliation' => array('none', 'employer')); break; default: $arrWhere = false;
********************************************************/ /** * @package * @todo */ !defined('SDG') ? die('Triple protection!') : null; /** * иницализация массива подключаемых шаблонов: по умолчанию все значения - false * для подключения шаблона, необходимо установить значение - true * шаблоны подключаются в порядке установленном в файле головного шаблона */ $arrAction = array('add' => false, 'edit' => false); // инициируем "Наименование страницы" отображаемое в форме $arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_DICTIONARY, 'link' => false)); // создаем объект $artsections = new artsections(); /** * Добавление, редактирование раздела */ if (isset($_GET['action'])) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_DICTIONARY_ARTICLES_SECTIONS, 'link' => CONF_ADMIN_FILE . '?m=dictionary&s=articles.sections'); /** * добавление раздела */ if ('add' === $_GET['action']) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_DICTIONARY_ARTICLES_SECTIONS_ADD, 'link' => false); if (isset($_POST['save']) && isset($_POST['arrBindFields']['name']) && $_POST['arrBindFields']['name']) { // получаем из формы поля обязательные для заполнения $artsections->arrBindFields = $_POST['arrBindFields'];