public function preRemove(EventArgs $args) { $chain = $this->container->get('oneup_acl.driver_chain'); $manager = $this->container->get('oneup_acl.manager'); $remove = $this->container->getParameter('oneup_acl.remove_orphans'); if ($args instanceof \Doctrine\ODM\MongoDB\Event\LifecycleEventArgs) { $entity = $args->getDocument(); } else { $entity = $args->getObject(); } $object = new \ReflectionClass($entity); $metaData = $chain->readMetaData($object); if ($remove && (!isset($metaData['remove']) || $metaData['remove']) || !$remove && isset($metaData['remove']) && $metaData['remove']) { $manager->revokeAllObjectPermissions($entity); $manager->revokeAllObjectFieldPermissions($entity); } }
/** * {@inheritdoc} */ protected function getMedia(EventArgs $args) { return $args->getDocument(); }
/** * {@inheritDoc} */ public function getObjectFromArgs(EventArgs $e) { return $e->getDocument(); }