Ajoute la vérification des dates

main
Colin FRIZOT 3 years ago
parent 78c012bd33
commit a6ae685d26

@ -10,6 +10,7 @@ use Silex\Http\HttpResponse;
use Silex\Model\Comment;
use Silex\Util\Pagination;
use Silex\Validation\CommentValidation;
use Silex\Validation\NewsValidation;
class VisitorController {
@ -17,6 +18,8 @@ class VisitorController {
public function index(DI $di, array $params): HttpResponse
{
$errors = [];
$gw = $di->getNewsGateway();
$gwc = $di->getCommentGateway();
$user = $di->getSecurity()->getCurrentUser();
@ -25,7 +28,7 @@ class VisitorController {
$total = $gw->getCount();
$nbPages = Pagination::getNbPages($total, self::PER_PAGE);
if(!empty($_GET['dateDeb']) && !empty($_GET['dateFin'])) {
if(!empty($_GET['dateDeb']) && !empty($_GET['dateFin']) && NewsValidation::isValidDate($_GET,$errors)) {
$news = $gw->getLike($_GET['dateDeb'], $_GET['dateFin'], $page , self::PER_PAGE);
} else {
$news = $gw->getPaginatedRecentNews($page , self::PER_PAGE);
@ -36,7 +39,7 @@ class VisitorController {
} else {
$nbCommentsByUser = 0;
}
return new HttpResponse(200, 'home', ['news' => $news, 'page' => $page, 'nbPages' => $nbPages, 'nbComments' => $nbComments, 'nbCommentsByUser' => $nbCommentsByUser]);
return new HttpResponse(200, 'home', ['news' => $news, 'page' => $page, 'nbPages' => $nbPages, 'nbComments' => $nbComments, 'nbCommentsByUser' => $nbCommentsByUser, 'errors' => $errors]);
}
public function viewPost(DI $di, array $params): HttpResponse

@ -22,4 +22,21 @@ final class NewsValidation
$post['content'] = htmlspecialchars($post['content']);
return empty($errors);
}
public static function isValidDate(array &$get, array &$errors): bool
{
if(!isset($get['dateDeb']) || !isset($get['dateFin'])){
return false;
}
if(strtotime($get['dateDeb']) === false){
$errors[] = 'Date début invalide';
}
if(strtotime($get['dateFin']) === false){
$errors[] = 'Date fin invalide';
}
if($get['dateDeb'] > $get['dateFin']){
$errors[] = 'Date début supérieur à date fin';
}
return empty($errors);
}
}

@ -1,3 +1,4 @@
<?php require 'errors.php' ?>
<?php $params['title'] = 'Home';
$get = $_SERVER['QUERY_STRING'] ?? '';
?>

Loading…
Cancel
Save