/** * @param Folder $folder * * @return string */ public function addChildren(Folder $folder) { $ids = ''; foreach ($folder->getChildren() as $child) { $ids .= ' and folder.id != ' . $child->getId(); $ids .= $this->addChildren($child); } return $ids; }
/** * @param Folder $folder */ public function deleteChildren(Folder $folder) { $em = $this->getEntityManager(); foreach ($folder->getChildren() as $child) { $this->deleteMedia($child, $em); $this->deleteChildren($child, $em); $child->setDeleted(true); $em->persist($child); } }
/** * @param Request $request * @param int $folderId * * @throws \Doctrine\ORM\EntityNotFoundException * * @return Response * @Route("/subcreate/{folderId}", requirements={"folderId" = "\d+"}, name="VictoireMediaBundle_folder_sub_create") * @Method({"GET", "POST"}) * @Template() */ public function subCreateAction(Request $request, $folderId) { $em = $this->getDoctrine()->getManager(); /* @var Folder $parent */ $parent = $em->getRepository('VictoireMediaBundle:Folder')->getFolder($folderId); $folder = new Folder(); $folder->setParent($parent); $form = $this->createForm(FolderType::class, $folder, ['folder' => $folder]); if ('POST' == $request->getMethod()) { $form->handleRequest($request); if ($form->isValid()) { $em->getRepository('VictoireMediaBundle:Folder')->save($folder); $this->get('session')->getFlashBag()->add('success', 'Folder \'' . $folder->getName() . '\' has been created!'); return new Response('<script>window.location="' . $this->generateUrl('VictoireMediaBundle_folder_show', ['folderId' => $folder->getId()]) . '"</script>'); } } $galleries = $em->getRepository('VictoireMediaBundle:Folder')->getAllFolders(); return $this->render('VictoireMediaBundle:Folder:addsub-modal.html.twig', ['subform' => $form->createView(), 'galleries' => $galleries, 'folder' => $folder, 'parent' => $parent]); }
/** * Add a child. * * @param Folder $child * * @return Folder */ public function addChild(Folder $child) { $this->children[] = $child; $child->setParent($this); return $this; }
/** * Load data fixtures with the passed EntityManager * * @param ObjectManager $manager */ public function load(ObjectManager $manager) { $gal = new Folder($manager); $gal->setName('Media'); $gal->setTranslatableLocale('en'); $gal->setRel("media"); $manager->persist($gal); $manager->flush(); $this->addReference('media-folder-en', $gal); $gal->setTranslatableLocale('nl'); $manager->refresh($gal); $gal->setName("Media"); $manager->persist($gal); $manager->flush(); $gal->setTranslatableLocale('fr'); $manager->refresh($gal); $gal->setName("Media"); $manager->persist($gal); $manager->flush(); $subgal = new Folder($manager); $subgal->setParent($gal); $subgal->setName('Images'); $subgal->setTranslatableLocale('en'); $subgal->setRel("image"); $manager->persist($subgal); $manager->flush(); $this->addReference('images-folder-en', $subgal); $subgal->setTranslatableLocale('nl'); $manager->refresh($subgal); $subgal->setName('Afbeeldingen'); $manager->persist($subgal); $manager->flush(); $subgal->setTranslatableLocale('fr'); $manager->refresh($subgal); $subgal->setName('Images'); $manager->persist($subgal); $manager->flush(); $subgal = new Folder($manager); $subgal->setParent($gal); $subgal->setName('Videos'); $subgal->setTranslatableLocale('en'); $subgal->setRel("video"); $manager->persist($subgal); $manager->flush(); $this->addReference('videos-folder-en', $subgal); $subgal->setTranslatableLocale('nl'); $manager->refresh($subgal); $subgal->setName('Video\'s'); $manager->persist($subgal); $manager->flush(); $subgal->setTranslatableLocale('fr'); $manager->refresh($subgal); $subgal->setName('Vidéos'); $manager->persist($subgal); $manager->flush(); $subgal = new Folder($manager); $subgal->setParent($gal); $subgal->setName('Slides'); $subgal->setTranslatableLocale('en'); $subgal->setRel("slideshow"); $manager->persist($subgal); $manager->flush(); $this->addReference('slides-folder-en', $subgal); $subgal->setTranslatableLocale('nl'); $manager->refresh($subgal); $subgal->setName('Presentaties'); $manager->persist($subgal); $manager->flush(); $subgal->setTranslatableLocale('fr'); $manager->refresh($subgal); $subgal->setName('Presentations'); $manager->persist($subgal); $manager->flush(); $subgal = new Folder($manager); $subgal->setParent($gal); $subgal->setName('Files'); $subgal->setTranslatableLocale('en'); $subgal->setRel("files"); $manager->persist($subgal); $manager->flush(); $this->addReference('files-folder-en', $subgal); $subgal->setTranslatableLocale('nl'); $manager->refresh($subgal); $subgal->setName('Bestanden'); $manager->persist($subgal); $manager->flush(); $subgal->setTranslatableLocale('fr'); $manager->refresh($subgal); $subgal->setName('Fichiers'); $manager->persist($subgal); $manager->flush(); }