HomeController.php 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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, $network = 'public')
  15. {
  16. $search_object = $this->getElementSearcher($count);
  17. $user = $this->getUser(true, array('join' => array(
  18. 'groups_owned'
  19. )), true);
  20. $search_object->setNetwork($network);
  21. $search_form = $this->getSearchForm($search_object);
  22. $add_form = $this->getAddForm();
  23. $elements = $search_object->getElements($this->getDoctrine(), $this->getUserId(true));
  24. //$count_elements = count($elements);
  25. return array(
  26. 'search_tags_id' => $search_object->getTags(),
  27. 'ids_display' => $search_object->getIdsDisplay(),
  28. 'user' => $user,
  29. 'add_form' => $add_form->createView(),
  30. 'add_form_name' => 'add',
  31. 'search_form' => $search_form->createView(),
  32. 'search_form_name' => 'search',
  33. 'network_public' => $search_object->isNetworkPublic(),
  34. 'elements' => $elements,
  35. 'from_url' => $this->getRequest()->get('from_url')
  36. );
  37. }
  38. public function needTagsAction()
  39. {
  40. $es = $this->getNewElementSearcher();
  41. $es->init(array(
  42. 'count' => $this->container->getParameter('search_default_count'),
  43. 'need_tags' => true,
  44. 'tags' => array()
  45. ));
  46. $this->setElementSearcherParams($es->getParams(), $this->getUser()->getPersonalHash('needstagpage'));
  47. $elements = $es->getElements($this->getDoctrine(), $this->getUserId());
  48. return $this->render('MuzichHomeBundle:Home:need_tags.html.twig', array(
  49. 'elements' => $elements,
  50. 'topmenu_active' => 'needs-tags',
  51. 'last_element_id' => (count($elements))?$elements[count($elements)-1]->getId():null
  52. ));
  53. }
  54. }