$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 (!$articles->updateArticle($arrData, $arrArticle['id'])) { $arrErrors[] = db::$message_error; } else { // Если статья на модерацию if ($arrData['token'] == 'moderate') { $articles->sendAdminCorrectionArticle($arrData); 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=' . $arrData['token']), 5000); } else { 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=' . $arrData['token'])); } } } /** Возвращаемые в форму данные **/ $retFields = $_POST; // если не пустые дата и время, возвращаем в форму необходимые значения if (!empty($_POST['arrBindFields']) && !empty($_POST['date']) && !empty($_POST['time'])) {
$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; // производим запись в таблицу БД if (!$articles->updateArticle($arrBindFields + $arrNoBindFields, $article['id'])) { $arrErrors[] = db::$message_error ? db::$message_error : ERROR_MISMATCH_FIELDS; } else { messages::messageChangeSaved(MESSAGE_ARTICLE_ADDED, false, CONF_ADMIN_FILE . '?m=manager&s=articles'); } } else { $smarty->assign('return_data', $arrBindFields + $arrNoBindFields); } } } else { messages::error404(); } } else { messages::error404(); } } elseif ($arrActions['moderate']) {
$alert['logo'] = 'Вы должны загрузить изображение!'; } if (!$image && $logo) { $image = $article['logo']; } if (!isset($alert)) { if ($rmlogo && $article['logo'] == $rmlogo) { $file = new CFile(); $file->Delete($article['logo']); } //$short = iconv('UTF-8', 'CP1251', $short); //$msgtext = iconv('UTF-8', 'CP1251', $msgtext); $title = antispam($title); $short = antispam($short); $msgtext = antispam($msgtext); $res = articles::updateArticle($uid, $article['id'], $title, $short, $msgtext, $image); $_POST['kword'] = iconv('UTF-8', 'CP1251', $_POST['kword']); if (trim($_POST['kword']) != '') { $kwords = explode(',', $_POST['kword']); $kwords = array_map('trim', $kwords); $kwords = array_map('antispam', $kwords); } if (count($kwords) > 0) { articles::addArticleTags($article['id'], $kwords); } else { articles::clearArticleTags($article['id']); } if (!$res) { $alert['alert'] = 'Ошибка при обновлении статьи'; } }