HomeController.php 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace Muzich\HomeBundle\Controller;
  3. use Muzich\CoreBundle\lib\Controller;
  4. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  5. use Muzich\CoreBundle\Searcher\ElementSearcher;
  6. class HomeController extends Controller
  7. {
  8. /**
  9. * Page d'accueil ("home") de l'utilisateur. Cette page regroupe le fil
  10. * d'éléments général et personalisable et de quoi ajouter un élément.
  11. *
  12. * @Template()
  13. */
  14. public function indexAction($count = null)
  15. {
  16. $search_object = $this->getElementSearcher($count);
  17. $user = $this->getUser(true, array('join' => array(
  18. 'groups_owned'
  19. )), true);
  20. $search_form = $this->getSearchForm($search_object);
  21. $add_form = $this->getAddForm();
  22. $elements = $search_object->getElements($this->getDoctrine(), $this->getUserId());
  23. //$count_elements = count($elements);
  24. return array(
  25. 'search_tags_id' => $search_object->getTags(),
  26. 'ids_display' => $search_object->getIdsDisplay(),
  27. 'user' => $user,
  28. 'add_form' => $add_form->createView(),
  29. 'add_form_name' => 'add',
  30. 'search_form' => $search_form->createView(),
  31. 'search_form_name' => 'search',
  32. 'network_public' => $search_object->isNetworkPublic(),
  33. 'elements' => $elements,
  34. //'display_more_button' => ($count_elements >= $this->container->getParameter('search_default_count'))?true:false
  35. );
  36. }
  37. public function needTagsAction()
  38. {
  39. $es = new ElementSearcher();
  40. $es->init(array(
  41. 'count' => $this->container->getParameter('search_default_count'),
  42. 'need_tags' => true
  43. ));
  44. return $this->render('MuzichHomeBundle:Home:need_tags.html.twig', array(
  45. 'elements' => $es->getElements($this->getDoctrine(), $this->getUserId()),
  46. 'topmenu_active' => 'needs-tags'
  47. ));
  48. }
  49. }