//вывод запрашиваемой статьи из базы
function getAction()
{
$fc=FrontController::get();
$url=$fc->getParams();
$view=new View();
//возваращаем запрашиваемую статью из базы в виде ассоциативного массива
$view->content=Articles::get()->getArticle((int)$url['id']);
//выборка комментариев к статье
$view->comments=Articles::get()->getComments((int)$url['id']);
if($_SERVER['REQUEST_METHOD']=='POST' and isset($_POST['addcomment']))
{
if($_SESSION['captcha']==crypt($_POST['captcha'],'x)p_q1'))
{
if(!empty($_POST['comment_txt']) and !empty($_POST['name']))
{
if($_POST['article_id']==(int)$url['id'])
{
$check=Articles::get()->checkComment($_POST['article_id'], $_POST['comment_txt'], $_POST['name']);
if($check=='0')
{
$view->comments=Articles::get()->addComment($_POST['article_id'], $_POST['comment_txt'], $_POST['name']);
($view->comments) ? $view->comments='Ваш комментарий успешно добавлен!' : $view->comments='Ошибка при вставке комментария!';
}
else
$view->comments='Данный комментарий уже добавлен!';
}
else
$view->comments='Вы пытаетесь вставить комментарий не в ту статью!';
}
else
$view->comments='Поля не должны содержать пустых значений!';
}
else
{
$view->comments='Вы ввели символы с картинки некорректно!';
}
}
else
{
//проверка на наличие пришедших данных
($view->comments==false) ? $view->comments='Комментариев к статье еще нет!': $view->comments;
}
(empty($view->content['title'])) ? $view->title='Такой статьи нет': $view->title=$view->content['title'];
(empty($view->content['meta_key'])) ? $view->keywords='' : $view->keywords=$view->content['meta_key'];
(empty($view->content['meta_description'])) ? $view->description='' : $view->description=$view->content['meta_description'];
$result=$view->render('../views/article.php');
$fc->setBody($result);
}
<?php
//вывод запрашиваемой статьи из базы
function getAction()
{
$fc=FrontController::get();
$url=$fc->getParams();
$model = new ArticleModel();
$model->setParams($fc->getParams());
$model->validate();
$view=new View();
//возваращаем запрашиваемую статью из базы в виде ассоциативного массива
$view->content=$model->getContent();
//выборка комментариев к статье
$view->comments=$model->getComments();
$view->title=$model->getTitle();
...
$result=$view->render('../views/article.php');
$fc->setBody($result);
}
<?php
function getAction()
{
$fc = FrontController::get();
$url = $fc->getParams();
$view = new View();
//возваращаем запрашиваемую статью из базы в виде ассоциативного массива
$view->content = Articles::get()->getArticle((int)$url['id']);
//выборка комментариев к статье
$view->comments = Articles::get()->getComments((int)$url['id']);
if ($_SERVER['REQUEST_METHOD'] != 'POST' || !isset($_POST['addcomment'])) {
$view->comments == false ? $view->comments = 'Комментариев к статье еще нет!' : $view->comments;
return _renderView($view);
}
if ($_SESSION['captcha'] != crypt($_POST['captcha'], 'x)p_q1')) {
$view->comments = 'Вы ввели символы с картинки некорректно!';
return _renderView($view);
}
if (empty($_POST['comment_txt']) || empty($_POST['name'])) {
$view->comments = 'Поля не должны содержать пустых значений!';
return _renderView($view);
}
if ($_POST['article_id'] != (int)$url['id']) {
$view->comments = 'Вы пытаетесь вставить комментарий не в ту статью!';
return _renderView($view);
}
$check = Articles::get()->checkComment($_POST['article_id'], $_POST['comment_txt'], $_POST['name']);
if ($check != '0') {
$view->comments = 'Данный комментарий уже добавлен!';
return _renderView($view);
}
$view->comments = Articles::get()->addComment($_POST['article_id'], $_POST['comment_txt'], $_POST['name']);
$view->comments ? $view->comments = 'Ваш комментарий успешно добавлен!' : $view->comments = 'Ошибка при вставке комментария!';
return _renderView($view);
}
function _renderView($view)
{
$fc = FrontController::get();
(empty($view->content['title'])) ? $view->title = 'Такой статьи нет' : $view->title = $view->content['title'];
(empty($view->content['meta_key'])) ? $view->keywords = '' : $view->keywords = $view->content['meta_key'];
(empty($view->content['meta_description'])) ? $view->description = '' : $view->description = $view->content['meta_description'];
$result = $view->render('../views/article.php');
$fc->setBody($result);
}