Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.18 KB | None | 0 0
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', 'On');
  4. require_once __DIR__ . '/../vendor/autoload.php';
  5. require_once __DIR__ . '/includes/Twig/Autoloader.php';
  6. Twig_Autoloader::register();
  7.  
  8.  
  9. $router = new \Bramus\Router\Router();
  10.  
  11. function createQueryBuilder()
  12. {
  13.     $connectionParams = array(
  14.         'url' => 'mysql://root:Azerty123@mysqldb/2017concerts',
  15.     );
  16.  
  17.     try {
  18.         $conn = \Doctrine\DBAL\DriverManager::getConnection($connectionParams);
  19.     } catch (\Doctrine\DBAL\DBALException $e) {
  20.         echo 'Could not create a connection';
  21.     }
  22.     $queryBuilder = $conn->createQueryBuilder();
  23.     return $queryBuilder;
  24. }
  25.  
  26. function renderEvents($zoekterm)
  27. {
  28.     $queryBuilder = createQueryBuilder();
  29.     if ($zoekterm === '') {
  30.         $queryBuilder->select('*')->from('concerts');
  31.         $stm = $queryBuilder->execute();
  32.         $data = $stm->fetchAll();
  33.         $events = $data;
  34.     } else {
  35.         $queryBuilder
  36.             ->select('*')
  37.             ->from('concerts')
  38.             ->where(
  39.                 $queryBuilder->expr()->like('title', ':zoekterm')
  40.             )
  41.             ->setParameter(':zoekterm', '%' . $zoekterm . '%');
  42.         $stm = $queryBuilder->execute();
  43.         $events = $stm->fetchAll();
  44.     }
  45.  
  46.     $loader = new Twig_Loader_Filesystem(__DIR__ . '/../templates');
  47.     $twig = new Twig_Environment($loader);
  48.     $template = $twig->loadTemplate('index.twig');
  49.     echo $template->render(array(
  50.         'events' => $events,
  51.         'search' => $zoekterm
  52.     ));
  53. }
  54.  
  55. $router->get('/', function () {
  56.     if (isset($_GET['search'])) {
  57.         renderEvents($_GET['search']);
  58.     } else {
  59.         renderEvents('');
  60.     }
  61. });
  62.  
  63. $router->post('/', function () {
  64.     $queryBuilder = createQueryBuilder();
  65.     if (isset($_POST['moduleAction']) && ($_POST['moduleAction'] == 'switch')) {
  66.         $queryBuilder
  67.             ->update('concerts', 'c')
  68.             ->set('c.fav', ':fav')
  69.             ->where('c.id = :id')
  70.             ->setParameter(':id', $_POST['event_id'])
  71.             ->setParameter(':fav', (int)$_POST['fav'] === 0 ? 1 : 0);;
  72.     }
  73.     $queryBuilder->execute();
  74.     renderEvents('');
  75. });
  76.  
  77. $router->run();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement