$strRecords = '&records=' . $records;
        }
    }
    $smarty->assignByRef('records', $records);
    $smarty->assignByRef('arrRecords', $arrRecords);
    $smarty->assignByRef('strRecords', $strRecords);
    $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);
    /** смещение, всегда 0 (затем берется из $_GET) **/
    $offset = !empty($_GET['offset']) && validate::checkNaturalNumber($_GET['offset']) ? validate::checkNaturalNumber($_GET['offset']) : 0;
    $strLimit = !empty($records) ? $offset . ',' . $records : false;
    $path = CONF_ADMIN_FILE . '?m=manager&s=articles&action=comments' . $strFilter . $strSort . $strRecords . '&';
    //текущий обработанный URL
    $arrComments = $artComments->getFullCommentsData(false, $strWhere, $arrOrderBy, $strLimit);
    $allRecords = $artComments->cntRecords();
    // получаем общее количество
    $strPages = strings::generatePage($allRecords, $offset, !empty($records) ? $records : $allRecords, $path, true);
    // формируем странциы
    $smarty->assignByRef('arrComments', $arrComments);
    $smarty->assignByRef('allRecords', $allRecords);
    $smarty->assignByRef('strPages', $strPages);
} else {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage[] = array('name' => MENU_MANAGER_ARTICLES, 'link' => false);
    /**
Example #2
0
 /**
  * Функция получает ID (уникальный идентификатор записи в таблице БД) из строки ЧПУ с транслитерацией
  * Сохраняет идентификатор транслитерации ЧПУ в глобал $_GET['tId']
  *
  * @param (string) $tId - строка ЧПУ с транслитерацией
  *
  * @return (int) id
  */
 static function getId_out_tId($tId)
 {
     // проверяем, включены ли ЧПУ с транслитерацией
     if (CONF_ENABLE_CHPU && CONF_ENABLE_TRANSLITERATION_CHPU) {
         // сохраняем значение $tId в глобал $_GET - для проверок корректности URL
         $_GET['tId'] = $tId;
         // получаем ID
         $tId = CONF_TRANSLITERATION_CHPU_ID_PUT_TO_END ? array_pop(explode('-', $tId)) : reset(explode('-', $tId));
         $tId = validate::checkNaturalNumber($tId);
     }
     return (int) $tId;
 }
Example #3
0
require_once 'core/init.php';
/**
 * Защита от доступа из вне скрипта
 */
!secure::checkServerCalls() ? die('Triple protection!') : null;
/**
 * Передаем в Smarty системные словари (для доступа из всех шаблонов)
 */
$smarty->assignByRef('arrSysDict', $arrSysDict);
/**
 * Передаем в Smarty дополнительные словари (для доступа из всех шаблонов)
 */
$smarty->assignByRef('arrAddDict', $arrAddDict);
if (isset($_GET['id_s']) && validate::checkNaturalNumber($_GET['id_s']) && ($result = ajax::getProfessions($_GET['id_s']))) {
    echo $result;
} elseif (isset($_GET['id_r']) && validate::checkNaturalNumber($_GET['id_r'])) {
    $response = array('success' => false, 'error' => ERROR_UNABLE_PERFORM_OPERATION);
    $regions = new regions();
    $region = $regions->retCategorysByIds($_GET['id_r']);
    if (!empty($region[$_GET['id_r']]) && is_array($region[$_GET['id_r']])) {
        if ('on' !== $region[$_GET['id_r']]['major']) {
            $result = ajax::getCitys($_GET['id_r']);
            if (!empty($result)) {
                if (!empty($region[$_GET['id_r']]['add_city_allowed'])) {
                    $result[0] = array('id' => '0', 'name' => FORM_INPUT_OTHER);
                }
                $response = array('success' => true, 'data' => &$result);
            } else {
                $response = array('success' => false, 'data' => false);
            }
        } else {
Example #4
0
        $smarty->assign('return_subcategory_data', $citys->retCategorysByParentIds($id));
        // инициируем "Наименование страницы" отображаемое в заголовке формы
        $arrNamePage = array(array('name' => MENU_ANNOUNCES_NAVIGATOR, 'link' => false), array('name' => FORM_RESUMES_HEAD, 'link' => chpu::createChpuUrl($path . '&action=regions')), array('name' => $arrDataRegions[$id]['name'], 'link' => false));
        if (!empty($arrDataRegions[$id]['title'])) {
            $smarty->assignByRef('page_title', $arrDataRegions[$id]['title']);
        }
        if (!empty($arrDataRegions[$id]['meta_keywords'])) {
            $smarty->assignByRef('meta_keywords', $arrDataRegions[$id]['meta_keywords']);
        }
        if (!empty($arrDataRegions[$id]['meta_description'])) {
            $smarty->assignByRef('meta_description', $arrDataRegions[$id]['meta_description']);
        }
    }
} elseif (!empty($arrActPage['citys'])) {
    // если передан id
    if (!empty($_GET['id']) && validate::checkNaturalNumber($_GET['id']) && !empty($arrDataCitys[$_GET['id']]) && is_array($arrDataCitys[$_GET['id']])) {
        if (!empty($_GET['tId']) && !in_array($_GET['tId'], $arrDataCitys[$_GET['id']])) {
            messages::error404();
        } else {
            $id = $_GET['id'];
        }
        $offset = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0;
        //смещение, всегда 0 (затем берется из $_GET)
        $strWhere = "id_city IN ('{$id}')";
        $arrLimit = array('strLimit' => $offset . ', ' . CONF_ANNOUNCE_PERPAGE_SITE, 'calcRows' => true);
        $smarty->assign('return_data', $resume->getActiveAnnounces($arrLimit, $strWhere));
        $allRecords = $resume->cntAnnounces();
        // получаем общее количество объявлений
        $path = CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=resume';
        $strId = !$id ? 'page=offset&' : "id={$id}&page=offset&";
        $strPages = strings::generatePage($allRecords, $offset, CONF_ANNOUNCE_PERPAGE_SITE, $path . '&action=citys&' . $strId);
 */
!defined('SDG') ? die('Triple protection!') : null;
/**
 * Массив полей, содержащихся в форме поиска
 */
$arrFields = array('id_section' => false, 'id_profession' => false, 'id_region' => false, 'id_city' => false, 'chart_work' => false, 'expire_work' => false, 'education' => false, 'age_from' => false, 'age_post' => false, 'pay_from' => false, 'pay_post' => false, 'currency' => false, 'gender' => false, 'user_type' => false, 'period' => false, 'records' => false);
// поиск
if (isset($_GET['id_section'])) {
    // проверяем наличие всех необходимых полей в поисковом запросе
    foreach ($arrFields as $key => $value) {
        !isset($_GET[$key]) ? $arrErrors = ERROR_SEARCH_NONE_REQUIRED_FIELDS : null;
    }
    if (!$arrErrors) {
        // создаем объект
        $search = new search('resume');
        $arrFields = array('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']), 'chart_work' => in_array($search->decodeSearchString($_GET['chart_work']), $arrAddDict['ChartWork']['values']) ? $search->decodeSearchString($_GET['chart_work']) : false, 'expire_work' => in_array($search->decodeSearchString($_GET['expire_work']), $arrAddDict['ExpireWorkSearch']['values']) ? $search->decodeSearchString($_GET['expire_work']) : false, 'education' => in_array($search->decodeSearchString($_GET['education']), $arrAddDict['Education']['values']) ? $search->decodeSearchString($_GET['education']) : false, 'age_from' => validate::checkNaturalNumber($_GET['age_from']), 'age_post' => validate::checkNaturalNumber($_GET['age_post']), 'pay_from' => validate::checkNaturalNumber($_GET['pay_from']), 'pay_post' => validate::checkNaturalNumber($_GET['pay_post']), 'currency' => in_array($_GET['currency'], $arrSysDict['Currency']['values']) ? $_GET['currency'] : false, 'gender' => array_key_exists($_GET['gender'], $arrSysDict['Gender']['values']) ? $_GET['gender'] : false, 'user_type' => $_GET['user_type'], '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 = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0;
        // производим поиск
        $arrData = $search->searchResume($arrFields + array('offset' => $offset));
        if ($arrData['result']) {
            // формируем ссылку
            $path = 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=search.resume&id_section=' . $arrFields['id_section'] . '&id_profession=' . $arrFields['id_profession'] . '&id_region=' . $arrFields['id_region'] . '&id_city=' . $arrFields['id_city'] . '&chart_work=' . $arrFields['chart_work'] . '&expire_work=' . $arrFields['expire_work'] . '&education=' . $arrFields['education'] . '&age_from=' . $arrFields['age_from'] . '&age_post=' . $arrFields['age_post'] . '&pay_from=' . $arrFields['pay_from'] . '&pay_post=' . $arrFields['pay_post'] . '&currency=' . $arrFields['currency'] . '&gender=' . $arrFields['gender'] . '&user_type=' . $arrFields['user_type'] . '&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=resume&action=view&id=');
            $smarty->assignByRef('return_data', $arrData['result']);
            $smarty->assignByRef('string_page', $strPages);
        } else {
            $arrErrors[] = MESSAGE_NOT_FOUND_RECORDS;
Example #6
0
             /** Возвращаемые в форму данные **/
             $retFields = $_POST;
             // если не пустые дата и время, возвращаем в форму необходимые значения
             if (!empty($_POST['arrBindFields']) && !empty($_POST['date']) && !empty($_POST['time'])) {
                 $retFields['arrBindFields']['date'] = mktime(0, 0, 0, $_POST['date']['Date_Month'], $_POST['date']['Date_Day'], $_POST['date']['Date_Year']);
                 $retFields['arrBindFields']['time'] = mktime($_POST['time']['Time_Hour'], $_POST['time']['Time_Minute'], 0, 0, 0, 0);
             }
         }
     } else {
         $arrErrors[] = ERROR_TO_PERFORM_ACTION_SPECIFY_ALIAS;
     }
 } elseif ($arrActions['edit']) {
     // инициируем "Наименование страницы" отображаемое в заголовке формы
     $arrNamePage[] = array('name' => constant('FORM_NEWS_EDIT'), 'link' => false);
     /** Проверяем id новости **/
     if (!empty($_GET['id']) && ($id = validate::checkNaturalNumber($_GET['id']))) {
         /** Проверяем псевдоним пользователя **/
         if (!empty($arrUser['alias'])) {
             // получаем данные статьи
             $strWhere = "id=" . secure::escQuoteData($id) . " AND id_user="******" AND token IN ('active','archived','correction')";
             if ($arrNews = $news->getNews($strWhere)) {
                 /** Проверяем токен записи и права пользователя **/
                 if ('correction' == $arrNews['token'] || !empty($_SESSION['sd_' . DB_PREFIX . 'codex']['rights']['edit_news'])) {
                     /** Сохраняем статью **/
                     if (isset($_POST['save'])) {
                         /** Проверяем на непустые поля **/
                         if (!empty($_POST['arrBindFields']) && !empty($_POST['date']) && !empty($_POST['time'])) {
                             $arrData = $_POST['arrBindFields'] + $_POST['date'] + $_POST['time'];
                             if (validate::arrDataNotEmpty($arrData)) {
                                 $arrBindFields = $_POST['arrBindFields'];
                                 $arrBindFields['datetime'] = $_POST['date']['Date_Year'] . '-' . $_POST['date']['Date_Month'] . '-' . $_POST['date']['Date_Day'] . ' ' . $_POST['time']['Time_Hour'] . ':' . $_POST['time']['Time_Minute'];