/**
  * Carrego els cicles d'activitats amb l'ordre que a mi m'interessa.         
  * */
 private function CarregaInfoCicles()
 {
     $RET = array();
     //Quinzena
     $avui = date('Y-m-d', time());
     $avui_text = date('d/m', time());
     $ultim_dia_text = date('d/m', mktime(0, 0, 0, date('m', time()), date('d', time()) + 15, date('Y', time())));
     $ultim_dia = date('Y-m-d', mktime(0, 0, 0, date('m', time()), date('d', time()) + 15, date('Y', time())));
     $RET[1]['mode'] = 1;
     $RET[1]['titol'] = "Cicles de la Casa de Cultura de Girona";
     $RET[1]['elements'] = array();
     $RET[2]['mode'] = 2;
     $RET[2]['titol'] = "";
     $RET[2]['elements'] = array();
     $RET[3]['mode'] = 3;
     $RET[3]['titol'] = "";
     $RET[3]['elements'] = array();
     $A_OA_PAGER = ActivitatsPeer::getActivitatsProperes($this->IDS, date('Y-m-d', time()), 1, "activitat", 50, true);
     $A_OC = CiclesPeer::getList(1, array('select' => 1), 1, false, true);
     //Mostro tots els cicles actius de la Casa que encara han de venir...
     foreach ($A_OC as $OC) {
         //Carreguem el primer horari de la primera activitat del cicle
         $primera_activitat = $OC->getPrimeraActivitat();
         $primer_horari = "";
         if ($primera_activitat instanceof Activitats) {
             $primer_horari = $primera_activitat->getPrimerHorari();
         }
         //Carreguem l'últim horari de la última activitat del cicle.
         $ultima_activitat = $OC->getUltimaActivitat();
         $ultim_horari = "";
         if ($ultima_activitat instanceof Activitats) {
             $ultim_horari = $ultima_activitat->getUltimHorari();
         }
         $titol = $OC->getTmig();
         $desc = $OC->getDmig();
         //Si el cicle té activitats, encara es pot veure, i disposa de descripció i títol, la mostrem.
         if ($ultim_horari != "" && $ultim_horari->getDia('Y-m-d') > $avui && !empty($titol) && !empty($desc) && $OC->getVisibleweb()) {
             //Mostro els cicles que hi ha
             $img = $this->Image_exists('cicles', 'C-' . $OC->getCicleid() . '-L') ? '/images/cicles/C-' . $OC->getCicleid() . '-L.jpg' : 'color';
             $RET[1]['elements'][] = array('url' => '@web_menu_click_cicle?idCicle=' . $OC->getCicleid() . '&titol=' . $OC->getNomForUrl(), 'titol' => $titol . '<br />Del ' . $primer_horari->getDia('d/m') . ' fins al ' . $ultim_horari->getDia('d/m'), 'img' => $img);
         }
     }
     return $RET;
 }
 public function executeGCicles(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     $this->IDS = $this->getUser()->getSessionPar('idS');
     $this->IDC = $request->getParameter('IDC');
     $this->MODE = "";
     $this->PAGINA = $request->getParameter('PAGINA');
     //Inicialitzem el formulari de cerca
     $this->CERCA = $this->getUser()->ParReqSesForm($request, 'cerca', array('text' => '', 'select' => 1));
     $this->FCerca = new CercaTextChoiceForm();
     $this->FCerca->setChoice(array(1 => 'Actiu', 0 => 'Inactiu'));
     $this->FCerca->bind($this->CERCA);
     $accio = $request->getParameter('accio');
     if ($request->hasParameter('BSAVE')) {
         $accio = 'SAVE';
     }
     if ($request->hasParameter('BDELETE')) {
         $accio = 'DELETE';
     }
     if ($request->hasParameter('BNOU')) {
         $accio = 'NOU';
     }
     switch ($accio) {
         case 'C':
             $this->CERCA = $this->getUser()->setSessionPar('cerca', array('text' => '', 'select' => 1));
             $this->FCerca->bind($this->CERCA);
             $this->getUser()->addLogAction('inside', 'gCicles');
             break;
         case 'NOU':
             $this->MODE = 'NOU';
             $this->FCICLES = CiclesPeer::initialize(0, $this->IDS);
             break;
         case 'EDITA':
             $this->MODE = 'EDITA';
             $this->FCICLES = CiclesPeer::initialize($this->IDC, $this->IDS);
             break;
         case 'LLISTA':
             $this->FCICLES = CiclesPeer::initialize($this->IDC, $this->IDS);
             $this->LACTIVITATS = ActivitatsPeer::getActivitatsCicles($this->IDC, $this->IDS, false, null, false);
             break;
         case 'SAVE':
             $PC = $request->getParameter('cicles');
             $this->FCICLES = CiclesPeer::initialize($PC['CicleID'], $this->IDS);
             $this->FCICLES->bind($PC, $request->getFiles('cicles'));
             if ($this->FCICLES->isValid()) {
                 $this->FCICLES->save();
                 $this->getUser()->addLogAction($accio, 'gCicles', $this->FCICLES->getObject());
                 myUser::addLogTimeline('alta', 'cicles', $this->getUser()->getSessionPar('idU'), $this->IDS, $PC['CicleID']);
             } else {
                 $this->MODE = 'EDITA';
             }
             break;
         case 'DELETE':
             $PC = $request->getParameter('cicles');
             $FC = CiclesPeer::initialize($PC['CicleID'], $this->IDS);
             $this->getUser()->addLogAction($accio, 'gCicles', $FC);
             myUser::addLogTimeline('baixa', 'cicles', $this->getUser()->getSessionPar('idU'), $this->IDS, $PC['CicleID']);
             $FC->getObject()->setActiu(false);
             $FC->getObject()->save();
             break;
         case 'ACTIVACIO':
             $PC = $request->getParameter('IDC');
             $OC = CiclesPeer::initialize($PC, $this->IDS)->getObject();
             $OC->doActivaInactiva();
             $OC->save();
             break;
     }
     $this->CICLES = CiclesPeer::getList($this->PAGINA, $this->CERCA, $this->IDS);
 }