/** * @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]; }
/** * @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(); }
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); } }