private function getDropZoneHiddenDirectory(Dropzone $dropzone) { $em = $this->getDoctrine()->getManager(); $hiddenDirectory = $dropzone->getHiddenDirectory(); if ($hiddenDirectory === null) { $hiddenDirectory = new Directory(); $name = $this->get('translator')->trans('Hidden folder for "%dropzoneName%"', array('%dropzoneName%' => $dropzone->getResourceNode()->getName()), 'innova_collecticiel'); $hiddenDirectory->setName($name); $role = $this->getDoctrine()->getRepository('ClarolineCoreBundle:Role')->findManagerRole($dropzone->getResourceNode()->getWorkspace()); $resourceManager = $this->get('claroline.manager.resource_manager'); $resourceManager->create($hiddenDirectory, $resourceManager->getResourceTypeByName('directory'), $dropzone->getResourceNode()->getCreator(), $dropzone->getResourceNode()->getWorkspace(), $dropzone->getResourceNode()->getParent(), null, array('ROLE_WS_MANAGER' => array('open' => true, 'export' => true, 'create' => array(), 'role' => $role))); $dropzone->setHiddenDirectory($hiddenDirectory->getResourceNode()); $em->persist($dropzone); $em->flush(); } return $dropzone->getHiddenDirectory(); }