/**
  * @Method({"GET"})
  * @Route("/{id}/{slug}", name="app_page_show", requirements={"id" = "\d+", "slug" = "[a-z0-9_-]+"}, defaults={"slug" = null})
  * @Template("page/read.html.twig")
  */
 public function showAction(Page $page, $slug = null)
 {
     /** @var Slugify $slugify */
     $slugify = $this->get('slugify');
     $slugCheck = $slugify->slugify($page->getName());
     if ($slug !== $slugCheck) {
         return $this->redirect($this->generateUrl('app_page_show', ['id' => $page->getId(), 'slug' => $slugCheck]));
     }
     return ['page' => $page];
 }
Example #2
0
 /**
  * @param Page $page
  */
 public function unsetHomepage(Page $page)
 {
     $qb = $this->createQueryBuilder('s');
     $qb->update()->set('s.isHomepage', intval(false))->where($qb->expr()->neq('s.id', $page->getId()))->andWhere($qb->expr()->eq('s.isHomepage', true));
     $qb->getQuery()->execute();
 }
Example #3
0
 private function moveSessionImages(Page $page, ObjectManager $em, $session)
 {
     $pageId = $page->getId();
     $sessionDir = $this->getParameter('image_upload_basedir') . $session . '/';
     $pageDir = $this->getParameter('image_upload_basedir') . $pageId . '/';
     if (is_dir($sessionDir)) {
         if (!is_dir($pageDir)) {
             mkdir($pageDir);
         }
         $content = str_replace($session, $pageId, $page->getContent());
         $page->setContent($content);
         $em->persist($page);
         $em->flush();
         $files = scandir($sessionDir);
         foreach ($files as $file) {
             if ($file !== '.' && $file !== '..') {
                 if (strpos($content, $file) !== false) {
                     rename($sessionDir . $file, $pageDir . $file);
                 } else {
                     unlink($sessionDir . $file);
                 }
             }
         }
         rmdir($sessionDir);
     }
 }