/**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof PuliResource) {
         $event->setType('Puli\\Repository\\Api\\Resource\\PuliResource');
     }
 }
 /**
  * remove translateable strings from object
  *
  * @param PreSerializeEvent $event event
  *
  * @return void
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if (!$object instanceof TranslatableDocumentInterface) {
         return;
     }
     try {
         $hash = \spl_object_hash($object);
         $this->localizedFields[$hash] = [];
         foreach ($object->getTranslatableFields() as $field) {
             $isArray = substr($field, -2, 2) === '[]';
             $method = $isArray ? substr($field, 0, -2) : $field;
             $setter = 'set' . ucfirst($method);
             $getter = 'get' . ucfirst($method);
             if (!method_exists($object, $setter) || !method_exists($object, $getter)) {
                 continue;
             }
             // only allow objects that we can update during postSerialize
             $value = $object->{$getter}();
             if ($isArray && !empty($value) || !$isArray && $value != null) {
                 $this->localizedFields[$hash][$field] = $value;
                 // remove untranslated field to make space for translation struct
                 $object->{$setter}(null);
             }
         }
     } catch (\Doctrine\ODM\MongoDB\DocumentNotFoundException $e) {
         // @todo if a document references a non-existing document - handle it so it renders to null!
     }
 }
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     $type = $event->getType();
     // If the set type name is not an actual class, but a faked type for which a custom handler exists, we do not
     // modify it with this subscriber. Also, we forgo autoloading here as an instance of this type is already created,
     // so it must be loaded if its a real class.
     $virtualType = !class_exists($type['name'], false);
     if ($object instanceof PersistentCollection) {
         if (!$virtualType) {
             $event->setType('ArrayCollection');
         }
         return;
     }
     if (!$object instanceof Proxy && !$object instanceof ORMProxy) {
         return;
     }
     // following lines are commented to stop lazy loading associations
     //		if(!$object->__isInitialized()){
     //			$object->__load();
     //		}
     if (!$virtualType) {
         $event->setType(get_parent_class($object));
     }
 }
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $person = $event->getObject();
     if ($person instanceof PersonInterface) {
         $this->handler->evaluate($person);
     }
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof ExtensionContainer) {
         $event->setType(ExtensionContainer::class);
     }
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof Structure) {
         $event->setType(Structure::class);
     }
 }
Exemple #7
0
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof LazyLoadingInterface) {
         $event->setType(ClassNameInflector::getUserClassName(get_class($object)));
     }
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof NodeInterface) {
         $event->setType('PHPCR\\NodeInterface');
     }
 }
 /**
  * {@InheritDoc}
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     $type = $event->getType();
     // If the set type name is not an actual class, but a faked type for which a custom handler exists, we do not
     // modify it with this subscriber.
     // Also, we forgo autoloading here as an instance of this type is already created,
     // so it must be loaded if its a real class.
     $virtualType = !class_exists($type['name'], false);
     if ($object instanceof PersistentCollection || $object instanceof MongoDBPersistentCollection || $object instanceof PHPCRPersistentCollection) {
         if (!$virtualType) {
             $event->setType('ArrayCollection');
         }
         return;
     }
     if (!$object instanceof Proxy && !$object instanceof ORMProxy) {
         return;
     }
     if ($this->enableLazyLoading) {
         $object->__load();
     }
     if (!$virtualType) {
         if ($object->__isInitialized()) {
             $event->setType(get_parent_class($object));
         } else {
             $event->setType(SerializerProxyType::class, array('id' => $object->getId()));
         }
     }
 }
 /**
  * {@inheritDoc}
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $model = $event->getObject();
     Globals::setUploadDir($this->uploadDir);
     if ($model instanceof ImageInterface) {
         $model->generateThumbs($this->liipManager);
     }
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     /** @var Flag $user */
     $flag = $event->getObject();
     if (!$flag instanceof Flag) {
         return;
     }
     $this->hydratePictureAndThumb($flag);
 }
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $person = $event->getObject();
     if ($person instanceof PersonInterface) {
         $imgHelper = $this->uploaderHelper;
         $templateHelper = $this->templateHelper;
         $isDev = $this->kernel->getEnvironment() === 'dev';
         $person->prepareAPISerialize($imgHelper, $templateHelper, $isDev, $this->request);
     }
 }
 /**
  * @param PreSerializeEvent $event
  * @deprecated с 10.09.2014
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     /** @var Campaign $campaign */
     $campaign = $event->getObject();
     $attribures = $event->getContext()->attributes;
     $groups = $attribures->get('groups')->get();
     if (in_array('own_detailed', $groups)) {
         $linkedPlatforms = $this->em->getRepository('VifeedVideoViewBundle:VideoView')->getCampaignPlatformsCount($campaign);
         $campaign->setSocialData('linkedPlatforms', $linkedPlatforms);
     }
 }
 /**
  * @param Event $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     foreach ($event->getObject()->getCategories() as $category) {
         $category->setCertification(null);
         foreach ($category->getQuestions() as $question) {
             $question->setCategory(null);
             foreach ($question->getAnswers() as $answer) {
                 $answer->setQuestion(null);
             }
         }
     }
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     /** @var Tag $tag */
     $tag = $event->getObject();
     if (!$tag instanceof Tag) {
         return;
     }
     if (in_array($tag->getId(), $this->serializedEntities)) {
         return;
     }
     $this->serializedEntities[] = $tag->getId();
     $tag->setGroupName($this->tagGroupRepository->getGroupNameById($tag->getGroupId()));
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     /** @var Notification $user */
     $notification = $event->getObject();
     if (!$notification instanceof Notification) {
         return;
     }
     if (in_array($notification->getId(), $this->serializedEntities)) {
         return;
     }
     $this->serializedEntities[] = $notification->getId();
     $this->hydratePicture($notification);
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     /** @var Restaurant $user */
     $restaurant = $event->getObject();
     if (!$restaurant instanceof Restaurant) {
         return;
     }
     if (in_array($restaurant->getId(), $this->serializedEntities)) {
         return;
     }
     $this->serializedEntities[] = $restaurant->getId();
     $this->hydratePictureAndThumb($restaurant);
 }
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof PersistentCollection) {
         $event->setType('ArrayCollection');
         return;
     }
     if (!$object instanceof Proxy && !$object instanceof ORMProxy) {
         return;
     }
     $object->__load();
     $event->setType(get_parent_class($object));
 }
 public function onPreSerialize(PreSerializeEvent $event)
 {
     /** @var object $object */
     $object = $event->getObject();
     if (!is_object($object)) {
         return;
     }
     $type = $event->getType();
     $polymorphicTypes = array('Xabbuh\\XApi\\Model\\Actor', 'Xabbuh\\XApi\\Model\\Object');
     if (in_array($type['name'], $polymorphicTypes)) {
         $event->setType(get_class($object));
     }
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     /** @var User $user */
     $user = $event->getObject();
     if (!$user instanceof User) {
         return;
     }
     if (in_array($user->getId(), $this->serializedEntities)) {
         return;
     }
     $this->serializedEntities[] = $user->getId();
     $this->hydrateAvatar($user);
     $this->hydrateWithSerializationGroups($user);
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     /** @var Photo $photo */
     $photo = $event->getObject();
     if (!$photo instanceof Photo) {
         return;
     }
     if (in_array($photo->getId(), $this->serializedEntities)) {
         return;
     }
     $this->serializedEntities[] = $photo->getId();
     $photo->setSrc($this->cloudfrontUrl . $photo->getSrc());
     $photo->setThumb($this->cloudfrontUrl . $photo->getThumb());
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     /** @var Geoname $geoname */
     $geoname = $event->getObject();
     if (!$geoname instanceof Geoname) {
         return;
     }
     if (in_array($geoname->getId(), $this->serializedEntities)) {
         return;
     }
     $this->serializedEntities[] = $geoname->getId();
     if ($geoname->getCountry() === 'US') {
         $geoname->setFormattedName($geoname->getAsciiName() . ', ' . $geoname->getAdmin1());
     } else {
         $geoname->setFormattedName($geoname->getAsciiName() . ' (' . $geoname->getCountry() . ')');
     }
 }
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     $type = $event->getType();
     // If the set type name is not an actual class, but a faked type for which a custom handler exists, we do not
     // modify it with this subscriber. Also, we forgo autoloading here as an instance of this type is already created,
     // so it must be loaded if its a real class.
     if (!class_exists($type['name'], false)) {
         return;
     }
     if ($object instanceof PersistentCollection || $object instanceof MongoDBPersistentCollection || $object instanceof PHPCRPersistentCollection) {
         $event->setType('ArrayCollection');
         return;
     }
     if (!$object instanceof Proxy && !$object instanceof ORMProxy) {
         return;
     }
     $object->__load();
     $event->setType(get_parent_class($object));
 }
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     $env = $this->container->get('kernel')->getEnvironment();
     if ($object instanceof Image) {
         if ($env === 'prod') {
             $object->setDownloadUrl($this->getS3Url() . '/' . $object->getImageName());
         } else {
             $object->setDownloadUrl('client/app/images/voitures/' . $object->getImageName());
         }
     }
     if ($object instanceof Voiture) {
         if (!$object->getImagePrincipale()) {
             if ($env === 'prod') {
                 $object->setDefaultPathImagePrincipale($this->getS3Url() . '/defaultVoiture.png');
             } else {
                 $object->setDefaultPathImagePrincipale('client/app/images/voitures/defaultVoiture.png');
             }
         }
     }
 }
 /**
  * remove translateable strings from object
  *
  * @param PreSerializeEvent $event event
  *
  * @return void
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     $this->localizedFields[\spl_object_hash($object)] = array();
     try {
         if ($object instanceof TranslatableDocumentInterface) {
             foreach ($object->getTranslatableFields() as $field) {
                 $setter = 'set' . ucfirst($field);
                 $getter = 'get' . ucfirst($field);
                 // only allow objects that we can update during postSerialize
                 if (method_exists($object, $setter) && $object->{$getter}() != null) {
                     $this->localizedFields[\spl_object_hash($object)][$field] = $object->{$getter}();
                     // remove untranslated field to make space for translation struct
                     $object->{$setter}(null);
                 }
             }
         }
     } catch (\Doctrine\ODM\MongoDB\DocumentNotFoundException $e) {
         // @todo if a document references a non-existing document - handle it so it renders to null!
     }
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPerSerializeGlavwebMediaFile(PreSerializeEvent $event)
 {
     $entity = $event->getObject();
     $type = $event->getType();
     $className = $type['name'];
     $request = $this->requestStack->getCurrentRequest();
     $reflectionClass = new \ReflectionClass($className);
     $media = array();
     $classProperties = $reflectionClass->getProperties();
     foreach ($classProperties as $property) {
         $uploadableFieldAnnotation = $this->annotationsReader->getPropertyAnnotation($property, 'Glavweb\\UploaderBundle\\Mapping\\Annotation\\UploadableField');
         if ($uploadableFieldAnnotation) {
             /** @var ImagineFilters $imagineFiltersAnnotation */
             $imagineFiltersAnnotation = $this->annotationsReader->getPropertyAnnotation($property, 'Glavweb\\CoreBundle\\Mapping\\Annotation\\ImagineFilters');
             if (!$imagineFiltersAnnotation) {
                 continue;
             }
             $imagineFilterProperty = $imagineFiltersAnnotation->getProperty();
             $getter = 'get' . ucfirst($property->getName());
             $items = $entity->{$getter}();
             if (!is_array($items) && !$items instanceof \Traversable) {
                 continue;
             }
             /** @var Media $item */
             foreach ($items as $item) {
                 $originUrl = null;
                 $thumbnails = [];
                 if ($item->getContentPath()) {
                     $originUrl = $this->mediaHelper->getContentPath($item);
                     foreach ($imagineFiltersAnnotation->getFilters() as $filter) {
                         $thumbnails[$filter] = $this->imagineHelper->filter($originUrl, $filter);
                     }
                 }
                 if ($request) {
                     $originUrl = $request->getSchemeAndHttpHost() . $originUrl;
                 }
                 $media[] = array('originUrl' => $originUrl, 'thumbnails' => $thumbnails, 'name' => $item->getName(), 'description' => $item->getDescription());
             }
             $entity->{$imagineFilterProperty} = $media;
         }
     }
 }
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $lyric = $event->getObject();
     /* @lyric \Tekstove\ApiBundle\Model\Lyric */
     $this->clearForbiddenLyricsData($lyric);
 }
 /**
  * {@inheritDoc}
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if (method_exists($object, 'getReferences')) {
         $object->getReferences($this->user, $event->getContext()->attributes->get('groups')->get('value'));
     }
 }