<?php
/**
 * This file is part of "Annecy By Night"
 * Copyright (c) 2009 Hubert LECORCHE
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */


/**
 * Composants du module main
 *
 * @author    Hubert LECORCHE <hlecorche@e-commit.fr>
 * @version    SVN: $Id: components.class.php 419 2010-09-08 12:27:01Z hlecorche $
 */
class mainComponents extends sfComponents
{
	//Action qui affiche les lieux sur la page d'index
	public function executeLieuxIndex()
	{
		 $query = Doctrine::getTable('Lieu')->getLieuxIndexQuery();
		 $this->lieux = $query->fetchArray();
		 //Chemin vers les images des lieux
		 $this->dossier_lieux = sfConfig::get('app_dossiers_images_lieux', 'img_lieu');
	}
	
	//Action qui affiche l'agenda sur le site, dans la colonne de droite
	public function executeCalendarEvents()
	{
		//$this->session_calendar, tableau de session du calendrier, envoyer par le template
		//lors de la definition du composant. Cette session permet de savoir quel mois et quelle annee
		//il faut afficher sur le calendrier.
		//On procede ainsi pour la mise en place du cache sur le calendrier
		$this->calendar = new ecCalendar($this->session_calendar);
	}
	
	//Action qui affiche les evenements de l'agenda sur la page d'index
	public function executeAgendaIndex()
	{
		$this->journees = array();
		foreach(EvenementTable::getEvenementsIndex() as $evenement)
		{
			$this->journees[$evenement->getDateDebut()][] = $evenement;
		}
		 
		 //Chemin vers les images des lieux
		 $this->dossier_lieux = sfConfig::get('app_dossiers_images_agenda', 'img_agenda');
	}
	
	//Action qui affiche les reportages sur la page d'index
	public function executeReportagesIndex()
	{
		$this->reportages = Doctrine::getTable('Reportage')->getReportagesIndex();
	}
	
	//Action qui affiche les stats sur la partie droite du site
	public function executeStats()
	{
		//On recupere la liste des membres connectes
		$this->liste_connectes = Doctrine::getTable('Membre')->getMembresConnectes();
		
		//On recupere la liste des membres hommes
		$this->nombre_hommes = Doctrine::getTable('Membre')->getMembresHommesQuery()->count();
		
		//On recupere la liste des membres femmes
		$this->nombre_femmes = Doctrine::getTable('Membre')->getMembresFemmesQuery()->count();

	}
}

?>