src/Controller/EventsController.php line 69

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Pimcore\Controller\FrontendController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Pimcore\Model\DataObject;
  8. use Pimcore\Model\WebsiteSetting;
  9. use Pimcore\Model\DataObject\Folder;
  10. use Carbon\Carbon;
  11. use Pimcore\Mail;
  12. use Pimcore\Model\Object\News;
  13. use Pimcore\Model\Object\Events;
  14. date_default_timezone_set('Europe/Brussels');
  15. class EventsController extends FrontendController
  16. {
  17.     /**
  18.      * @Template
  19.      * @param Request $request
  20.      * @return array
  21.      */
  22.     public function listAction(Request $request\Knp\Component\Pager\PaginatorInterface $paginator)
  23.     {
  24.         $eventsUpcoming= new DataObject\Events\Listing();
  25.         $eventsUpcoming->setCondition('(publishdate IS NULL OR publishdate < UNIX_TIMESTAMP(NOW())) AND (eventdate > UNIX_TIMESTAMP(NOW())) AND lang = "'.$request->getLocale().'"');
  26.         $eventsUpcoming->setOrderKey("eventdate");
  27.         $eventsUpcoming->setOrder("DESC");
  28.         $eventsUpcoming->load();
  29.         $events= new DataObject\Events\Listing();
  30.         $events->setCondition('(publishdate IS NULL OR publishdate < UNIX_TIMESTAMP(NOW())) AND (eventdate < UNIX_TIMESTAMP(NOW())) AND lang = "'.$request->getLocale().'"');
  31.         $events->setOrderKey("eventdate");
  32.         $events->setOrder("DESC");
  33.         $events->load();
  34.         $countPerPage intval($this->document->getProperty("newItemCountPerPage"));
  35.         if(!$countPerPage) :
  36.             $countPerPage 6;
  37.         endif;
  38.         $paginator $paginator->paginate(
  39.             $events,
  40.             $request->get('page'1),
  41.             $countPerPage
  42.         );
  43.         return $this->render('events/list.html.twig', [
  44.             'paginator' => $paginator,
  45.             'paginationVariables' => $paginator->getPaginationData(),
  46.             'events' => $events,
  47.             'eventsUpcoming' => $eventsUpcoming
  48.         ]);
  49.     }
  50.     /**
  51.      * @Template
  52.      * @param Request $request
  53.      * @route("/{_locale}/events-and-news/events/{id}", name="eventDetail",methods={"GET"})
  54.      * @return array
  55.      */
  56.     public function detailAction(Request $request)
  57.     {
  58.         $id $request->get('id');
  59.         $event DataObject\Events::getById($id);
  60.         return $this->render('events/detail.html.twig', [
  61.             'event' => $event,
  62.             'seoEvents' => true
  63.         ]);
  64.     }
  65. }