예제 #1
0
         $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']) {
예제 #3
0
     $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'] = 'Ошибка при обновлении статьи';
     }
 }