TagData.php 1.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. $user_tags = null;
  18. if ($user_tags)
  19. {
  20. if (count($tags_ordereds = $user_tags->getElementDiffusionTags()))
  21. {
  22. return $tags_ordereds;
  23. }
  24. }
  25. return array();
  26. }
  27. protected function getUserTagsTags(User $user, $field)
  28. {
  29. return $this->getMongoManager()->createQueryBuilder('MuzichCoreBundle:UserTags')
  30. ->select($field)
  31. ->field('ref')->equals((int)$user->getId())
  32. ->getQuery()->getSingleResult()
  33. ;
  34. }
  35. }