$arrBindFields['datetime'] = !$_POST['date'] ? terms::currentDateTime() : $_POST['date'] . ' ' . $_POST['time']['Time_Hour'] . ':' . $_POST['time']['Time_Minute']; /////////////////////////////////////////////////////////////// // Проверка данных, полученных из формы /////////////////////////////////////////////////////////////// !$arrBindFields['id_section'] ? $arrErrors[] = ERROR_EMPTY_SECTION : null; !$arrBindFields['title'] ? $arrErrors[] = ERROR_EMPTY_TITLE : null; !$arrBindFields['small_text'] ? $arrErrors[] = ERROR_EMPTY_SMALL_TEXT : null; !$arrBindFields['text'] ? $arrErrors[] = ERROR_EMPTY_TEXT : null; /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// if (!$arrErrors) { // присваеваем полученные данные объекту $articles->arrBindFields = $arrBindFields; $articles->arrNoBindFields = $arrNoBindFields; // производим запись в таблицу БД !$articles->recArticle() ? $arrErrors[] = db::$message_error ? db::$message_error : ERROR_MISMATCH_FIELDS : messages::messageChangeSaved(MESSAGE_ARTICLE_ADDED, false, CONF_ADMIN_FILE . '?m=manager&s=articles'); } else { $smarty->assign('return_data', $arrBindFields + $arrNoBindFields); } } } elseif ($arrActions['edit']) { if (!empty($_GET['id']) && ($id = validate::checkNaturalNumber($_GET['id']))) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_ACTION_EDIT, 'link' => false); // проверяем существование новости $article = $articles->getArticle("token IN ('active','archived') AND id=" . secure::escQuoteData($id)); if (!empty($article) && is_array($article)) { $smarty->assignByRef('return_data', $article); // передаем новость в шаблон // сохраняем изменения if (isset($_POST['save'])) {
} else { $arrErrors[] = ERROR_EMPTY_BIND_FIELDS; } } else { $arrErrors[] = ERROR_EMPTY_BIND_FIELDS; } /** Если нет ошибок, формируем данные для статьи **/ if (!$arrErrors) { $articles->arrBindFields = $arrBindFields; $articles->arrBindFields['author'] = $arrUser['alias']; $articles->arrBindFields['token'] = !empty($_SESSION['sd_' . DB_PREFIX . 'codex']['resp']['moder_articles']) ? 'moderate' : 'active'; $articles->arrNoBindFields = $_POST['arrNoBindFields']; $articles->arrNoBindFields['id_user'] = $arrUser['id']; $articles->arrNoBindFields['noComments'] = !empty($_POST['arrNoBindFields']['noComments']) ? 1 : 0; /** Добавляем статью **/ if (!$articles->recArticle()) { $arrErrors[] = db::$message_error; } else { // Если статья активная if ($articles->arrBindFields['token'] == 'active') { $articles->sendAdminAddArticle(); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.articles&action=' . $articles->arrBindFields['token'])); } else { $articles->sendAdminModerateArticle(); messages::messageChangeSaved(MESSAGE_MODERATE_ARTICLE, MESSAGE_MODERATE_ARTICLE_TEXT, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.articles&action=' . $articles->arrBindFields['token']), 5000); } } } /** Возвращаемые в форму данные **/ $retFields = $_POST; // если не пустые дата и время, возвращаем в форму необходимые значения