public function save(Slide $slide) { //$slide->formatContent(); $slideData = array('slide_title' => $slide->getTitle(), 'slide_content' => $slide->getContent(), 'slide_creator' => $slide->getCreator()->getId(), 'slide_type' => $slide->getType(), 'slide_creation_date' => $slide->getCreationDate(), 'slide_deletion_date' => $slide->getDeletionDate()); //Si y'a déjà un id, donc déjà en base if ($slide->getId()) { $this->getDb()->update('slide', $slideData, array('slide_id' => $slide->getId())); } else { $this->getDb()->insert('slide', $slideData); $id = $this->getDb()->lastInsertId(); $slide->setId($id); } if ($slide->getType() == 2) { $slide->generateImageForPdf($slide->getContent(), $slide->getType()); } return $slide; }
use RaspBee\Form\Type\UserType; use RaspBee\Form\Type\ScreenGroupType; use RaspBee\Custom\EDT; $app->get('/', function () use($app) { $slides = $app['dao.slide']->findAll(); return $app['twig']->render('index.html.twig', array('level' => 0, 'slides' => $slides)); })->bind('home'); // Login form $app->get('/login', function (Request $request) use($app) { return $app['twig']->render('login.html.twig', array('error' => $app['security.last_error']($request), 'last_username' => $app['session']->get('_security.last_username'))); })->bind('login'); //Création de slide $app->match('/publi/{type}', function ($type, Request $request) use($app) { $slideFormView = null; if ($app['security.authorization_checker']->isGranted('IS_AUTHENTICATED_FULLY')) { $slide = new Slide(); $slide->setCreator($app['user']); $slide->setCreationDate(date("Y-m-d H:i:s", time())); $slide->setType($type); $slideForm = $app['form.factory']->create(new SlideType(), $slide, array('screens' => $app['dao.screen']->findByGroup(null), 'groups' => $app['dao.screen_group']->findAll())); $slideForm->handleRequest($request); if ($slideForm->isSubmitted() && $slideForm->isValid()) { $slide = $app['dao.slide']->save($slide); $screenList = array(); foreach ($slideForm->get('groups')->getData() as $group) { $screenList = array_merge($screenList, $app['dao.screen']->findByGroup($group->getId())); } $screenList = array_merge($screenList, $slideForm->get('screens')->getData()); foreach ($screenList as $screen) { $app['dao.slide']->assignToScreen($slide->getId(), $screen->getId()); }