!empty($retFields['eDate']) ? !validate::validateMySqlDate($retFields['eDate']) ? $arrErrors[] = ERROR_DATE_FORMAT : ($strWhere .= " AND datetime<=" . secure::escQuoteData($retFields['eDate'])) : null; /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// $smarty->assignByRef('retFields', $retFields); /** текущий обработанный URL **/ $path .= 'do=filter&id=' . $retFields['id'] . '&id_user='******'id_user'] . '&author=' . $retFields['author'] . '&title=' . $retFields['title'] . '&id_section=' . $retFields['id_section'] . '&sDate=' . $retFields['sDate'] . '&eDate=' . $retFields['eDate'] . '&records=' . $retFields['records'] . '&'; } /** смещение, всегда 0 (затем берется из $_GET) **/ $offset = !empty($_GET['offset']) && strings::ifInt($_GET['offset']) && (int) $_GET['offset'] > 0 ? (int) abs($_GET['offset']) : 0; $strLimit = array('strLimit' => $offset . ',' . $retFields['records'], 'calcRows' => true); $arrFields = array('id', 'title', 'id_section', 'id_user', 'author', 'datetime'); $smarty->assign('arrArticles', $articles->getArticles($strWhere, false, $strLimit, $arrFields)); // массив всех статей /** формируем страницы **/ $allRecords = $articles->cntArticles(); // получаем общее количество статей $strPages = strings::generatePage($allRecords, $offset, $retFields['records'], $path, true); // формируем странциы $smarty->assignByRef('allRecords', $allRecords); //передаем в шаблон общее количество записей $smarty->assignByRef('strPages', $strPages); //передаем в шаблон строку сформированных страниц } // создаем объект разделов статей $sections = !($sections['full'] = $artsections->getSections()) ? false : $sections + $artsections->splitSections($sections['full']); // передаем в смарти все разделы $smarty->assignByRef('sections', $sections); // адресная строка $smarty->assignByRef('qString', $qString); $smarty->assignByRef('errors', $arrErrors); $smarty->assignByRef('actions', $arrActions);
$arrNamePage[] = array('name' => MENU_MANAGER_USERS, 'link' => false); /** * удаление пользователей */ if (isset($_POST['action'])) { if ('del' === $_POST['action'] && isset($_POST['users'])) { $user->deleteUsers(array_keys($_POST['users']), true, true, true, true, true); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=users&s=manager'); } } /** * ФОРМИРУЕМ СТРАНИЦЫ И ПЕРЕДАЕМ В ШАБЛОН НЕОБХОДИМЫЕ ДАНЫЕ */ //смещение, всегда 0 (затем берется из $_GET) $offset = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0; //текущий обработанный URL $path = CONF_ADMIN_FILE . '?m=users&s=manager&order=' . $order . '&by=' . $by . '&'; //$fields = array(USR_PREFIX . 'users' => array('id', 'email', 'reg_datetime'), DB_PREFIX . 'conf_users' => array('user_type', 'user_group')); // получаем данные пользователя $usersData = $user->getCombinedUsersData(false, false, array($order => $by), $offset . ',' . CONF_USERS_STRINGS_PERPAGE_ADMIN_PANEL); // получаем общее количество записей $allRecords = $user->cntUsers(); $smarty->assignByRef('order', $arrOrd); $smarty->assignByRef('users', $usersData); $smarty->assignByRef('allRecords', $allRecords); //передаем в шаблон строку сформированных страниц $smarty->assign('strPages', strings::generatePage($allRecords, $offset, CONF_USERS_STRINGS_PERPAGE_ADMIN_PANEL, $path, true)); } $smarty->assignByRef('query_string', $_SERVER['QUERY_STRING']); $smarty->assignByRef('errors', $arrErrors); $smarty->assignByRef('action', $arrActions);
//передаем в шаблон строку сформированных страниц $smarty->assignByRef('string_page', $strPages); // массив всех новостей $smarty->assignByRef('news', $arrNews); // для блока боковой части $currMonth = terms::currentDateTime('n'); $smarty->assignByRef('currMonth', $currMonth); //$smarty->assignByRef('arrMonth', $arrAddDict['Month']['values']); } else { $arrNamePage[] = array('name' => MENU_ACTION_ARCHIVED, 'link' => false); //смещение, всегда 0 (затем берется из $_GET) $offset = !empty($_GET['offset']) && validate::checkNaturalNumber($_GET['offset']) ? validate::checkNaturalNumber($_GET['offset']) : 0; //получаем массив, содержащий текущий обработанный URL $path = CONF_SCRIPT_URL . 'index.php?do=news&action=archive&page=offset&'; $strWhere = "token IN ('archived') AND datetime <=NOW()"; $arrOrderBy = array('datetime' => 'DESC'); $arrLimit = array('strLimit' => $offset . ',' . CONF_NEWS_PERPAGE, 'calcRows' => true); $arrNews = $news->getNewses($strWhere, $arrOrderBy, $arrLimit, false); // формируем страницы // получаем общее количество новостей $allRecords = $news->cntNews(); // формируем странциы $strPages = strings::generatePage($allRecords, $offset, CONF_NEWS_PERPAGE, $path); //передаем в шаблон строку сформированных страниц $smarty->assignByRef('string_page', $strPages); // массив всех новостей $smarty->assignByRef('news', $arrNews); } } $smarty->assignByRef('errors', $arrErrors); $smarty->assignByRef('action', $arrAction);
if ($return_data['id_city']) { $strWhere .= " AND id_city IN (" . secure::escQuoteData($return_data['id_city']) . ")"; } } $arrNamePage[] = array('name' => MENU_MANAGER_SUBSCRIPTIONS, 'link' => false); $arrNamePage[] = array('name' => MENU_USERS_SUBSCRIPTIONS, 'link' => false); $offset = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0; //смещение, всегда 0 (затем берется из $_GET) //текущий обработанный URL $path = CONF_ADMIN_FILE . '?m=manager&s=subscriptions&do=filter&id_user='******'id_user'] . '&period=' . $return_data['period'] . '&type_subscription=' . $return_data['type_subscription'] . '&payment=' . $return_data['payment'] . '&id_section=' . $return_data['id_section'] . '&id_profession=' . $return_data['id_profession'] . '&id_region=' . $return_data['id_region'] . '&id_city=' . $return_data['id_city'] . '&'; $arrLimit = array('strLimit' => $offset . ',' . CONF_SUBSCRIPTIONS_STRINGS_PERPAGE_ADMIN_PANEL, 'calcRows' => true); $arrSubscr = $subscription->getSubscriptions($strWhere, false, $arrLimit, false); // формируем страницы $allRecords = $subscription->cntSubscriptions(); // получаем общее количество $strPages = strings::generatePage($allRecords, $offset, CONF_SUBSCRIPTIONS_STRINGS_PERPAGE_ADMIN_PANEL, $path, true); // формируем странциы $smarty->assignByRef('arrSubscr', $arrSubscr); $smarty->assignByRef('allRecords', $allRecords); //передаем в шаблон общее количество записей $smarty->assignByRef('strPages', $strPages); //передаем в шаблон строку сформированных страниц /** * РАБОТА СО СЛОВАРЯМИ */ // инициализация списка разделов $sections = new sections(); // инициализация списка регионов $regions = new regions(); // передаем массив селекта "Раздел" $smarty->assign('sections', $sections->retCategorys());
* Проверяем фильтр */ $strWhere = isset($_GET['filter']) && ('company_name' === $_GET['filter'] || 'email' === $_GET['filter'] || 'user_type' === $_GET['filter'] || 'id_region' === $_GET['filter'] || 'id_city' === $_GET['filter'] || 'id_section' === $_GET['filter'] || 'id_profession' === $_GET['filter']) && isset($_GET['in']) && !empty($_GET['in']) ? $_GET['filter'] . " IN (" . secure::escQuoteData($_GET['in']) . ")" : false; /** * Проверяем сортировку */ $arrOrderBy = array(); isset($_GET['order']) && ('act_datetime' === $_GET['order'] || 'token_datetime' === $_GET['order']) && isset($_GET['by']) && ('ASC' === $_GET['by'] || 'DESC' === $_GET['by']) ? $arrOrderBy[$_GET['order']] = $_GET['by'] : ($arrOrderBy = false); /** * Формируем страницы и передаем полученные данные в шаблон */ $offset = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0; //смещение, всегда 0 (затем берется из $_GET) $arrLimit = array('strLimit' => $offset . ',' . CONF_ANNOUNCE_PERPAGE_ADMIN_PANEL, 'calcRows' => true); $smarty->assign('return_data', $vacancy->getAnnouncesByToken('active', $strWhere, $arrLimit, $arrOrderBy)); $allRecords = $vacancy->cntAnnounces(); // получаем общее количество объявлений $smarty->assignByRef('allRecords', $allRecords); $strFilter = !empty($strWhere) ? '&filter=' . $_GET['filter'] . '&in=' . $_GET['in'] : ''; $smarty->assignByRef('strFilter', $strFilter); $arrFilter = !empty($strWhere) ? array('filter' => $_GET['filter'], 'in' => $_GET['in']) : false; $smarty->assignByRef('arrFilter', $arrFilter); $strSort = !empty($arrOrderBy) ? '&order=' . $_GET['order'] . '&by=' . $_GET['by'] : ''; $smarty->assignByRef('strSort', $strSort); $arrSort = !empty($arrOrderBy) ? array('order' => $_GET['order'], 'by' => $_GET['by']) : false; $smarty->assignByRef('arrSort', $arrSort); $smarty->assign('strPages', strings::generatePage($allRecords, $offset, CONF_ANNOUNCE_PERPAGE_ADMIN_PANEL, CONF_ADMIN_FILE . '?m=announces&s=vacancys' . $strFilter . $strSort . '&', true)); } $smarty->assignByRef('errors', $arrErrors); $smarty->assignByRef('action', $arrActions); $smarty->assignByRef('payments', $arrPayments);
* инициализация списка Тип размещения */ if (!empty($arrAction['resume']) && 'active' === $_GET['token']) { $arrVisibility = array('visible' => ANNOUNCE_VISIBILITY_VISIBLE, 'visiblehc' => ANNOUNCE_VISIBILITY_VISIBLEHC, 'members' => ANNOUNCE_VISIBILITY_MEMBERS, 'membershc' => ANNOUNCE_VISIBILITY_MEMBERSHC, 'hide' => ANNOUNCE_VISIBILITY_HIDE); $smarty->assignByRef('arrVisibility', $arrVisibility); } // инициируем "Наименование страницы" отображаемое в заголовке формы $arrNamePage = array(array('name' => constant('MENU_MY_' . strtoupper($_GET['action']) . 'S'), 'link' => false), array('name' => constant('ANNOUNCE_TOKEN_' . strtoupper($_GET['token'])), 'link' => false)); $offset = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0; //смещение, всегда 0 (затем берется из $_GET) $arrLimit = array('strLimit' => $offset . ', ' . CONF_ANNOUNCE_PERPAGE_SITE, 'calcRows' => true); $smarty->assignByRef('return_data', ${$_GET}['action']->getUserAnnounces($_GET['token'], $arrLimit)); $allRecords = ${$_GET}['action']->cntAnnounces(); // получаем общее количество объявлений $smarty->assignByRef('allRecords', $allRecords); $strPages = strings::generatePage($allRecords, $offset, CONF_ANNOUNCE_PERPAGE_SITE, CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.announces&action=' . $_GET['action'] . '&token=' . $_GET['token'] . '&'); // формируем страницы $smarty->assignByRef('string_page', $strPages); //передаем в шаблон строку сформированных страниц $smarty->assign('strTableHead', constant('SITE_' . strtoupper($_GET['action']) . 'S') . ': ' . constant('ANNOUNCE_TOKEN_' . strtoupper($_GET['token']))); $smarty->assign('menu', 'user.announces'); $smarty->assignByRef('action', $_GET['action']); $smarty->assignByRef('token', $_GET['token']); } else { messages::error404(); } } else { // иначе направляем на страницу авторизации die('<script type="text/javascript">window.location="' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=authorize') . '";</script>'); } } else {
} if (!empty($arrDataCitys[$id]['meta_description'])) { $smarty->assignByRef('meta_description', $arrDataCitys[$id]['meta_description']); } } elseif (isset($_GET['id'])) { messages::error404(); } else { $smarty->assign('return_data', false); // инициируем "Наименование страницы" отображаемое в заголовке формы $arrNamePage = array(array('name' => MENU_ANNOUNCES_NAVIGATOR, 'link' => false), array('name' => FORM_RESUMES_HEAD, 'link' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=resume&action=regions'))); } } elseif (!empty($arrActPage['vip']) || !empty($arrActPage['hot'])) { $offset = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0; //смещение, всегда 0 (затем берется из $_GET) $status = !empty($arrActPage['vip']) ? 'vip' : 'hot'; $arrLimit = array('strLimit' => $offset . ', ' . CONF_ANNOUNCE_PERPAGE_SITE, 'calcRows' => true); $smarty->assign('return_data', $resume->getActiveAnnounces($arrLimit, $status)); $allRecords = $resume->cntAnnounces(); $path = CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=resume'; $strPages = strings::generatePage($allRecords, $offset, CONF_ANNOUNCE_PERPAGE_SITE, $path . '&action=' . $status . '&page=offset&'); // формируем страницы $smarty->assign('link', $path . '&action=view&id='); $smarty->assignByRef('string_page', $strPages); //передаем в шаблон строку сформированных страниц // инициируем "Наименование страницы" отображаемое в заголовке формы $arrNamePage = array(array('name' => constant('SITE_' . strtoupper($status) . '_RESUMES'), 'link' => false), array('name' => FORM_ALL, 'link' => false)); } // END отображение шаблона вип/хот объявлений $smarty->assignByRef('errors', $arrErrors); $smarty->assignByRef('warnings', $arrWarnings); $smarty->assignByRef('actPage', $arrActPage);
} elseif ('vacancy' !== $_GET['base'] && 'resume' !== $_GET['base'] || 'exact' !== $_GET['type'] && 'any' !== $_GET['type']) { $arrErrors[] = ERROR_SEARCH_INCORRECT_DATA; } if (!$arrErrors) { // создаем объект $search = new search(strtolower($_GET['base'])); $arrFields = array('q' => $search->decodeSearchString($_GET['q']), 'base' => strtolower($_GET['base']), 'type' => strtolower($_GET['type']), 'id_section' => validate::checkNaturalNumber($_GET['id_section']), 'id_profession' => validate::checkNaturalNumber($_GET['id_profession']), 'id_region' => validate::checkNaturalNumber($_GET['id_region']), 'id_city' => validate::checkNaturalNumber($_GET['id_city']), 'pay_from' => validate::checkNaturalNumber($_GET['pay_from']), 'currency' => in_array($_GET['currency'], $arrSysDict['Currency']['values']) ? $_GET['currency'] : false, 'period' => array_key_exists($_GET['period'], $arrSysDict['SearchPeriod']['values']) ? $_GET['period'] : 0, 'records' => in_array($_GET['records'], $arrSysDict['AnnounceRecords']['values']) ? $_GET['records'] : 5); // смещение, всегда 0 (затем берется из $_GET) $offset = !empty($_GET['offset']) && validate::checkNaturalNumber($_GET['offset']) ? validate::checkNaturalNumber($_GET['offset']) : 0; //смещение, всегда // производим поиск $arrData = $search->searchQuery($arrFields + array('offset' => $offset)); // формируем ссылку $path = 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=search&q=' . $arrFields['q'] . '&base=' . $arrFields['base'] . '&type=' . $arrFields['type'] . '&id_section=' . $arrFields['id_section'] . '&id_profession=' . $arrFields['id_profession'] . '&id_region=' . $arrFields['id_region'] . '&id_city=' . $arrFields['id_city'] . '&pay_from=' . $arrFields['pay_from'] . '&currency=' . $arrFields['currency'] . '&period=' . $arrFields['period'] . '&records=' . $arrFields['records'] . '&'; // формируем странциы $strPages = strings::generatePage($arrData['records'], $offset, $arrFields['records'], $path, true); // передаем в шаблон необходимые данные $smarty->assign('link', CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=' . $arrFields['base'] . '&action=view&id='); $smarty->assignByRef('return_data', $arrData['result']); $smarty->assignByRef('find', $arrData['records']); $smarty->assignByRef('time', $arrData['time']); $smarty->assign('template', $arrFields['base'] . '.view.short.tpl'); $smarty->assignByRef('string_page', $strPages); } } // передаем массив селекта "Валюты" //$smarty->assignByRef('currency', $arrSysDict['Currency']['values']); // передаем массив селекта "Период" //$smarty->assignByRef('period', $arrSysDict['SearchPeriod']['values']); // передаем массив селекта "Количество записей" //$smarty->assignByRef('records', $arrSysDict['AnnounceRecords']['values']);