Ejemplo n.º 1
0
 function calculerDates($annee)
 {
     $u = $this->unite;
     $a = $annee;
     $fin = strftime('%Y-%m-%d', strtotime(Strass_Controller_Action_Helper_Annee::dateFin($annee) . ' next saturday -4 weeks'));
     $calendrier = $u->findActivites($a);
     if ($calendrier->count()) {
         $debut = substr($calendrier->current()->debut, 0, 10);
         $min_fin = strftime('%Y-%m-%d', strtotime(Strass_Controller_Action_Helper_Annee::dateFin($annee) . ' next saturday -6 weeks'));
         $max_fin = strftime('%Y-%m-%d', strtotime(Strass_Controller_Action_Helper_Annee::dateFin($annee) . ' next saturday'));
         while ($calendrier->valid()) {
             $fin = substr($calendrier->current()->fin, 0, 10);
             $calendrier->next();
         }
         if ($min_fin > $fin) {
             $fin = $min_fin;
         }
         if ($max_fin < $fin) {
             $fin = $max_fin;
         }
     } else {
         $debut = strftime('%Y-%m-%d', strtotime(Strass_Controller_Action_Helper_Annee::dateDebut($annee) . ' next saturday +4 weeks'));
     }
     return array($debut, $fin);
 }
Ejemplo n.º 2
0
 function findByAnnee($annee)
 {
     $s = $this->select()->where("? < activite.debut", Strass_Controller_Action_Helper_Annee::dateDebut($annee))->where("activite.fin < ?", Strass_Controller_Action_Helper_Annee::dateFin($annee))->order('activite.debut');
     return $this->fetchAll($s);
 }
Ejemplo n.º 3
0
 function findLastDate($annee)
 {
     $t = new Activites();
     $db = $t->getAdapter();
     $s = $t->select()->from('activite', array('activite.fin'))->join('participation', 'participation.activite = activite.id' . ' AND ' . $db->quoteInto('participation.unite = ?', $this->id), array())->order('activite.fin DESC')->limit(1);
     if ($annee) {
         $s->where('? < activite.fin', Strass_Controller_Action_Helper_Annee::dateDebut($annee))->where('activite.fin < ?', strftime('%Y-%m-%d', strtotime(Strass_Controller_Action_Helper_Annee::dateFin($annee) . ' -5 weeks')));
     }
     return $s->query()->fetchColumn();
 }