/** Проверяем id статьи **/
 if (!empty($_GET['id']) && strings::ifInt($_GET['id'])) {
     $id = (int) $_GET['id'];
     /** Проверяем псевдоним пользователя **/
     if (!empty($arrUser['alias'])) {
         // получаем данные статьи
         $strWhere = "id IN (" . secure::escQuoteData($id) . ") AND id_user IN (" . secure::escQuoteData($arrUser['id']) . ") AND token IN ('active','archived','new','correction')";
         if ($arrArticle = $articles->getArticle($strWhere)) {
             /** Проверяем токен статьи и права пользователя **/
             if ($arrArticle['token'] == 'correction' || !empty($_SESSION['sd_' . DB_PREFIX . 'codex']['rights']['edit_articles'])) {
                 /** Сохраняем статью **/
                 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'];
                         } else {
                             $arrErrors[] = ERROR_EMPTY_BIND_FIELDS;
                         }
                     } else {
                         $arrErrors[] = ERROR_EMPTY_BIND_FIELDS;
                     }
                     /** Если нет ошибок, формируем данные для статьи **/
                     if (!$arrErrors) {
                         $arrData = $arrBindFields + $_POST['arrNoBindFields'];
                         $arrData['author'] = $arrUser['alias'];
                         $arrData['token'] = $arrArticle['token'] !== 'correction' ? $arrArticle['token'] : 'moderate';
                         $arrData['noComments'] = !empty($_POST['arrNoBindFields']['noComments']) ? 1 : 0;
                         $arrData['id'] = $id;
if (isset($_GET['action'])) {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_DICTIONARY_SELECTS, 'link' => CONF_ADMIN_FILE . '?m=dictionary&s=selects'));
    switch ($_GET['action']) {
        case 'add':
            $arrActSelects[$_GET['action']] = true;
            $arrNamePage[] = array('name' => MENU_ACTION_ADD, 'link' => false);
            if (isset($_POST['add_dict'])) {
                !isset($_POST['newDict']) || !is_array($arrNewDict = $_POST['newDict']) || empty($arrNewDict) || !validate::arrDataNotEmpty($arrNewDict) || !isset($arrNewDict['value']) || !validate::arrDataNotEmpty($arrNewDict['value']) || !isset($arrNewDict['type']) || 'assoc' !== $arrNewDict['type'] && 'index' !== $arrNewDict['type'] || 'assoc' === $arrNewDict['type'] && (!isset($arrNewDict['index']) || !validate::arrDataNotEmpty($arrNewDict['index'])) ? $arrErrors[] = ERROR_EMPTY_FORM_FIELDS : $selects->addDict($arrNewDict);
            }
            break;
        case 'edit':
            $arrActSelects[$_GET['action']] = true;
            $arrNamePage[] = array('name' => MENU_ACTION_EDIT, 'link' => false);
            if (isset($_POST['save_dict'])) {
                !isset($_POST['editDict']) || !is_array($arrEditDict = $_POST['editDict']) || empty($arrEditDict) || !validate::arrDataNotEmpty($arrEditDict) || !isset($arrEditDict['value']) || !validate::arrDataNotEmpty($arrEditDict['value']) || !isset($arrEditDict['type']) || 'assoc' !== $arrEditDict['type'] && 'index' !== $arrEditDict['type'] || 'assoc' === $arrEditDict['type'] && !isset($arrEditDict['index']) ? null : $selects->editDict($arrEditDict);
            }
            empty($_GET['type']) || empty($_GET['alias']) || !($editDict = $selects->retDictByAlias($_GET['type'], $_GET['alias'])) ? messages::messageChangeSaved(MESSAGE_WARNING_UNKNOWN_ACTION, false, CONF_ADMIN_FILE . '?m=dictionary&s=selects') : null;
            $arrNamePage[] = array('name' => $editDict['discription'], 'link' => false);
            $smarty->assignByRef('return_data', $editDict);
            break;
        case 'del':
            isset($_POST['alias']) ? $selects->delDict($_POST['alias']) : messages::messageChangeSaved(MESSAGE_WARNING_UNKNOWN_ACTION, false, CONF_ADMIN_FILE . '?m=dictionary&s=selects');
            break;
        default:
            messages::messageChangeSaved(MESSAGE_WARNING_UNKNOWN_ACTION, false, CONF_ADMIN_FILE . '?m=dictionary&s=selects');
    }
} else {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_DICTIONARY_SELECTS, 'link' => false));
    // получаем список доступных дирректорий шаблонов
         $regions->arrNoBindFields =& $_POST['arrNoBindFields'];
         // необязательные поля, если заполнено
         $regions->recCategory();
         // производим запись
         messages::messageChangeSaved(MESSAGE_REGION_ADDED, false, CONF_ADMIN_FILE . '?m=dictionary&s=regions');
     }
 } elseif (isset($_POST['action'])) {
     if ('edit' === $_POST['action'] && isset($_POST['region']) && is_array($_POST['region']) && !empty($_POST['region'])) {
         $arrActRegions['edit'] = true;
         // инициируем "Наименование страницы" отображаемое в форме
         $arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_DICTIONARY_REGIONS, 'link' => CONF_ADMIN_FILE . '?m=dictionary&s=regions'), array('name' => FORM_ACTION_EDIT, 'link' => false));
         $smarty->assign('arrRegions', $regions->retCategorysByIds(array_keys($_POST['region'])));
         if (isset($_POST['save_regions'])) {
             // проверяем на пустоту, поля обязательные для заполнения
             foreach ($_POST['region'] as &$value) {
                 if (!validate::arrDataNotEmpty($value['arrBindFields'])) {
                     $arrErrors[] = ERROR_EMPTY_NAME;
                     break;
                 }
                 if (isset($value['arrNoBindFields']['major'])) {
                     $value['arrNoBindFields']['add_city_allowed'] = 0;
                 } else {
                     if (isset($value['arrNoBindFields']['add_city_allowed'])) {
                         $value['arrNoBindFields']['major'] = 0;
                     } else {
                         $value['arrNoBindFields']['major'] = 0;
                         $value['arrNoBindFields']['add_city_allowed'] = 0;
                     }
                 }
             }
             empty($arrErrors) ? $regions->actionRegions($_POST['action'], $_POST['region']) : null;
Example #4
0
// создаем объект
$jur = new jur();
// ответ пользователю
if (isset($_GET['result']) && !empty($_POST)) {
} elseif (isset($_GET['print']) && !empty($_SESSION['jur']['print'])) {
    // передаем TITLE страницы в Smarty
    $smarty->assign('page_title', !empty($arrTitle) ? strings::formTitle($arrTitle) : strings::formTitle($arrNamePage));
    $smarty->assign('printVar', $_SESSION['jur']['print']);
    $smarty->display('main.print.tpl');
    exit;
} else {
    // проверяем наличие в сессии необходимых параметров и установлена ли цена в тарифной сетке для выбранной услуги
    if (!empty($_SESSION['payment']) && is_array($_SESSION['payment']) && !empty($_SESSION['payment']['service']) && $payments->checkPriceInTariff($_SESSION['payment']['service'], $arrTariffs) && !empty($_SESSION['payment']['id'])) {
        // Сохраняем запрос оплаты
        if (isset($_POST['pay']) && (!empty($_POST['arrBindFields']) || !empty($_POST['arrNoBindFields']))) {
            if (!empty($_POST['arrBindFields']) && !validate::arrDataNotEmpty($_POST['arrBindFields'])) {
                $arrErrors[] = ERROR_EMPTY_BIND_FIELDS;
                $smarty->assignByRef('arrData', $_SESSION['jur']['data']);
                $smarty->assign('include_template', SD_ROOT_DIR . 'core/mods/payments/jur/templates/jur.pay.form.tpl');
            } else {
                // В обработку полей добавить кодирование в html-мнемоники и кавычки тоже (htmlspecialchars)
                if (!empty($_POST['arrBindFields'])) {
                    $_POST['arrBindFields'] = $jur->htmlSpecChars($_POST['arrBindFields']);
                } else {
                    $_POST['arrBindFields'] = array();
                }
                if (!empty($_POST['arrNoBindFields'])) {
                    $_POST['arrNoBindFields'] = $jur->htmlSpecChars($_POST['arrNoBindFields']);
                } else {
                    $_POST['arrNoBindFields'] = array();
                }
Example #5
0
     }
 }
 // проверка данных хранимых в XML-формате
 if (is_array($_POST['arrFieldsXmlData'])) {
     foreach ($_POST['arrFieldsXmlData'] as $nameField => &$contentField) {
         // перебор массива
         if (is_array($contentField)) {
             foreach ($contentField as $index => &$arrContent) {
                 // перебор массива
                 // проверка на пустоту, полей обязательных для заполнения хранимых в XML-формате
                 if (array_key_exists('arrBindFields', $arrContent) && is_array($arrContent['arrBindFields'])) {
                     foreach ($arrContent['arrBindFields'] as $key => &$value) {
                         // перебор массива
                         $errFields[$nameField][$index]['arrBindFields'][$key] = '';
                     }
                     if (!validate::arrDataNotEmpty($arrContent['arrBindFields'])) {
                         // ошибка выводимая в заголовке формы анкеты
                         !in_array(ERROR_EMPTY_BIND_FIELDS, $arrWarnings) ? $arrWarnings[] = ERROR_EMPTY_BIND_FIELDS : null;
                         // ошибки выводимые для каждого незаполненного поля
                         foreach ($arrContent['arrBindFields'] as $key => &$value) {
                             !$value ? $errFields[$nameField][$index]['arrBindFields'][$key] = ERROR_BIND_FIELD : null;
                         }
                     }
                 }
             }
         }
     }
     // обработка чеккера "Старт карьеры"
     if (!empty($_POST['career_launch'])) {
         $_POST['arrFieldsXmlData']['expires'] = false;
         $smarty->assignByRef('career_launch', $_POST['career_launch']);