TagData.php 961B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace Muzich\CoreBundle\Mining\Tag;
  3. use Muzich\CoreBundle\Mining\Tag\Tag as Base;
  4. use Muzich\CoreBundle\Entity\User;
  5. class TagData extends Base
  6. {
  7. public function getTagOrderForFavorites(User $user)
  8. {
  9. $user_tags = $this->getUserTagsTags($user, 'element_favorite_tags');
  10. if (count($tags_ordereds = $user_tags->getElementFavoriteTags()))
  11. return $tags_ordereds;
  12. return array();
  13. }
  14. public function getTagOrderForDiffusions(User $user)
  15. {
  16. $user_tags = $this->getUserTagsTags($user, 'element_diffusion_tags');
  17. if (count($tags_ordereds = $user_tags->getElementDiffusionTags()))
  18. return $tags_ordereds;
  19. return array();
  20. }
  21. protected function getUserTagsTags(User $user, $field)
  22. {
  23. return $this->getMongoManager()->createQueryBuilder('MuzichCoreBundle:UserTags')
  24. ->select($field)
  25. ->field('ref')->equals((int)$user->getId())
  26. ->getQuery()->getSingleResult()
  27. ;
  28. }
  29. }