getTags() public method

public getTags ( ) : ArrayCollection
return ArrayCollection
 /**
  * Retrieve all tags for an entry.
  *
  * @ApiDoc(
  *      requirements={
  *          {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
  *      }
  * )
  *
  * @return JsonResponse
  */
 public function getEntriesTagsAction(Entry $entry)
 {
     $this->validateAuthentication();
     $this->validateUserAccess($entry->getUser()->getId());
     $json = $this->get('serializer')->serialize($entry->getTags(), 'json');
     return (new JsonResponse())->setJson($json);
 }
Esempio n. 2
0
 /**
  * Assign some tags to an entry.
  *
  * @param Entry        $entry
  * @param array|string $tags          An array of tag or a string coma separated of tag
  * @param array        $entitiesReady Entities from the EntityManager which are persisted but not yet flushed
  *                                    It is mostly to fix duplicate tag on import @see http://stackoverflow.com/a/7879164/569101
  */
 public function assignTagsToEntry(Entry $entry, $tags, array $entitiesReady = [])
 {
     if (!is_array($tags)) {
         $tags = explode(',', $tags);
     }
     // keeps only Tag entity from the "not yet flushed entities"
     $tagsNotYetFlushed = [];
     foreach ($entitiesReady as $entity) {
         if ($entity instanceof Tag) {
             $tagsNotYetFlushed[$entity->getLabel()] = $entity;
         }
     }
     foreach ($tags as $label) {
         $label = trim($label);
         // avoid empty tag
         if (0 === strlen($label)) {
             continue;
         }
         if (isset($tagsNotYetFlushed[$label])) {
             $tagEntity = $tagsNotYetFlushed[$label];
         } else {
             $tagEntity = $this->tagRepository->findOneByLabel($label);
             if (is_null($tagEntity)) {
                 $tagEntity = new Tag();
                 $tagEntity->setLabel($label);
             }
         }
         // only add the tag on the entry if the relation doesn't exist
         if (false === $entry->getTags()->contains($tagEntity)) {
             $entry->addTag($tagEntity);
         }
     }
 }
Esempio n. 3
0
 /**
  * Assign some tags to an entry.
  *
  * @param Entry        $entry
  * @param array|string $tags  An array of tag or a string coma separated of tag
  */
 public function assignTagsToEntry(Entry $entry, $tags)
 {
     if (!is_array($tags)) {
         $tags = explode(',', $tags);
     }
     foreach ($tags as $label) {
         $label = trim($label);
         // avoid empty tag
         if (0 === strlen($label)) {
             continue;
         }
         $tagEntity = $this->tagRepository->findOneByLabel($label);
         if (is_null($tagEntity)) {
             $tagEntity = new Tag();
             $tagEntity->setLabel($label);
         }
         // only add the tag on the entry if the relation doesn't exist
         if (false === $entry->getTags()->contains($tagEntity)) {
             $entry->addTag($tagEntity);
         }
     }
 }