예제 #1
0
 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);
 }
예제 #2
0
 /**
  * Quan carrego una pàgina de categoria, carrego també la llista corresponent.        
  * */
 private function CarregaInfoCategories($CATEGORIA, $TITOL, $idCicle = null, $TIPUS = 2)
 {
     $RET = array();
     $A_OA_PAGER = null;
     //Si el cicle és null o bé és igual a 1 ( no pertany a cap cicle )
     if (is_null($idCicle)) {
         $A_OA_PAGER = ActivitatsPeer::getCategoriaActivitat($CATEGORIA, $this->IDS);
     } elseif ($idCicle == 1) {
         $A_OA_PAGER = ActivitatsPeer::getCategoriaActivitat(' ', $this->IDS);
     } else {
         $A_OA_PAGER = ActivitatsPeer::getActivitatsCicles($idCicle, 1, true);
     }
     $RET[1]['mode'] = $TIPUS;
     $RET[1]['titol'] = $TITOL;
     foreach ($A_OA_PAGER->getResults() as $OA) {
         //Busco el primer i l'últim dia de l'expo, i llavors ho mostro
         $A_OH = $OA->getHorariss();
         $primer = null;
         $ultim = null;
         foreach ($A_OH as $OH) {
             if (is_null($primer)) {
                 $primer = $OH;
             }
             $ultim = $OH;
         }
         if ($primer->getDia() == $ultim->getDia()) {
             $titol = $OA->getTMig() . ' | El ' . $primer->getDia('d/m') . ' a les ' . $primer->getHorainici('H:i');
         } else {
             $titol = $OA->getTMig() . ' | Del ' . $primer->getDia('d/m') . ' al ' . $ultim->getDia('d/m');
         }
         //Mirem si la imatge existeix
         $img = "";
         if ($TIPUS == 1) {
             $img = $this->Image_exists('activitats', 'A-' . $OA->getActivitatid() . '-L') ? '/images/activitats/A-' . $OA->getActivitatid() . '-L.jpg' : 'color';
         } elseif ($TIPUS == 2) {
             $img = $this->Image_exists('activitats', 'A-' . $OA->getActivitatid() . '-M') ? '/images/activitats/A-' . $OA->getActivitatid() . '-M.jpg' : 'color';
         } elseif ($TIPUS == 3) {
             $img = "";
         }
         $RET[1]['elements'][] = array('url' => '@web_menu_click_activitat?idCicle=' . $OA->getCiclesCicleid() . '&idActivitat=' . $OA->getActivitatid() . '&titol=' . $OA->getNomForUrl(), 'titol' => $titol, 'img' => $img);
     }
     return $RET;
 }
예제 #3
0
 public function LoadWEB(sfWebRequest $request)
 {
     $this->redirect('w/NotFound');
     //Carrego els banners i les fotos que mostraré
     //Si s'entra un menú, carrego el contingut que toca segons el menú
     //Si el menú és només títol, mostro l'estructura de directoris
     //Si el menú té contingut,
     //Si el contingut és automàtic, mostro el contingut automàtic
     //Si el contingut és manual, mostro el contingut manual
     //Si s'entra una cerca, carrego les activitats que corresponen a la cerca i marco el calendari els dies
     //Si s'entra un dia del calendari, cerco les activitats d'aquell dia
     //Si no es cap, carrego les notícies de les últimes activitats...
     $this->setLayout('layout');
     $this->IDS = 1;
     $this->FOTOS = $this->getFotos();
     $this->BANNERS = $this->getBanners();
     $this->MENU = NodesPeer::retornaMenu($this->IDS);
     $this->USUARI = $this->getUser()->getSessionPar('idU', 0);
     $this->SELECCIONAT = 0;
     $this->LLISTAT_ACTIVITATS = array();
     $this->ACTIVITATS_CALENDARI = array();
     $this->MISSATGE = array();
     if ($this->getUser()->isAuthenticated()) {
         $this->TIPUS_MENU = 'ADMIN';
     } else {
         $this->TIPUS_MENU = 'WEB';
     }
     $this->DATACAL = $this->getUser()->ParReqSesForm($request, 'DATACAL', time());
     $this->PAGINA = $this->getUser()->ParReqSesForm($request, 'p', 1);
     //Gestió de menús
     $idN = $request->getParameter('node', 0);
     $this->OBERT = $this->gestionaNodes($idN);
     $this->accio = $request->getParameter('accio');
     if ($request->hasParameter('BCERCA_x') || $request->hasParameter('CERCA') || $this->accio == 'c') {
         $this->CERCA = $this->getUser()->ParReqSesForm($request, 'CERCA', "");
         $this->accio = 'c';
     } else {
         $this->CERCA = "";
     }
     //Carreguem els dies en els que hi ha alguna activitat.
     $this->ACTIVITATS_CALENDARI = ActivitatsPeer::getDiesAmbActivitatsMes($this->DATACAL, $this->IDS);
     switch ($this->accio) {
         //Contingut manual
         case 'mc':
             $this->NODE = NodesPeer::selectPagina($idN);
             $this->ACCIO = 'web';
             break;
             //Contingut automàtic de cicles
         //Contingut automàtic de cicles
         case 'ac':
             $this->NODE = NodesPeer::selectPagina($idN);
             if (!$this->NODE->isNew()) {
                 $cat = $this->NODE->getCategories();
                 $this->LLISTAT_CICLES = ActivitatsPeer::getCiclesCategoria($this->IDS, $cat);
                 $this->ACCIO = 'llistatCiclesCategoria';
                 $ACT = ActivitatsPeer::selectCategories($this->IDS, true);
                 $this->TITOL = "Cicles i activitats a \"" . $ACT[$cat] . '"';
                 $this->CAT = $cat;
             }
             $this->NODE = $idN;
             break;
             //Contingut automàtic d'activitats d'un cicle
         //Contingut automàtic d'activitats d'un cicle
         case 'aca':
             $this->CAT = $request->getParameter('cat', '');
             $this->IDC = $request->getParameter('idc', 1);
             $this->PAGINA = $request->getParameter('p', 1);
             $this->NODE = $request->getParameter('NODE', 0);
             $OC = CiclesPeer::retrieveByPK($this->IDC);
             $this->TITOL = 'Llistat d\'activitats del cicle ' . $OC->getNom();
             $this->LLISTAT_ACTIVITATS = ActivitatsPeer::getActivitatsCicles($this->IDC, $this->IDS, true, $this->PAGINA);
             $this->ACCIO = 'llistatActivitatsCicleCategoria';
             break;
             //Consulta un cicle
         //Consulta un cicle
         case 'cc':
             $this->CICLE = CiclesPeer::retrieveByPK($request->getParameter('idC'));
             $this->ACCIO = 'mostra_cicle';
             $this->TITOL = $this->CICLE->getNom();
             break;
             //Llistat activitats de cicle
         //Llistat activitats de cicle
         case 'ccact':
             $this->IDC = $request->getParameter('idC');
             $this->CICLE = CiclesPeer::retrieveByPK($this->IDC);
             $this->LLISTAT_ACTIVITATS = CiclesPeer::getActivitatsCicleList($this->IDC, $this->IDS, true);
             $this->ACCIO = 'mostra_activitats_cicle';
             $this->TITOL = "Activitats || " . $this->CICLE->getNom();
             break;
             //Cerca
         //Cerca
         case 'c':
             if ($this->CERCA == 'mensual') {
                 $this->CERCA = '';
                 $this->TITOL = 'ACTIVITATS DEL MES';
             } else {
                 $this->TITOL = 'ACTIVITATS TROBADES AMB LA CERCA "' . $this->CERCA . '"';
             }
             $this->LLISTAT_ACTIVITATS = ActivitatsPeer::getActivitatsCerca($this->CERCA, $this->DATACAL, $this->PAGINA, $this->IDS);
             $this->ACCIO = 'llistat_activitats_cerca';
             $this->MODE = 'CERCA';
             break;
             //Cerca un dia
         //Cerca un dia
         case 'ca':
             $this->LLISTAT_ACTIVITATS = ActivitatsPeer::getActivitatsDia($this->IDS, date('Y-m-d', $this->DATACAL), $this->PAGINA);
             $this->ACCIO = 'llistat_activitats';
             $this->TITOL = 'ACTIVITATS EL DIA ' . date('d/m/Y', $this->DATACAL);
             $this->MODE = 'DIA';
             break;
             //Mostra una sola activitat
         //Mostra una sola activitat
         case 'caa':
             $this->LLISTAT_ACTIVITATS = array(ActivitatsPeer::retrieveByPK($request->getParameter('idA')));
             $this->NODE = $request->getParameter('node', 0);
             $this->ACCIO = 'mostra_activitat';
             $this->TITOL = 'Informació de l\'activitat';
             $OA = $this->LLISTAT_ACTIVITATS[0];
             $this->getResponse()->addMeta('facebook', myUser::getFacebookHeaders($OA->getTmig(), sfConfig::get('sf_webdomain') . $this->getController()->genUrl('@web_activitat?idA=' . $OA->getActivitatId() . '&titol=' . $OA->getNomForUrl()), OptionsPeer::getString('SF_WEBROOT', 1) . 'images/activitats/' . $OA->getActivitatId() . '.jpg', 'Casa de Cultura de Girona', '1763108168308'));
             break;
             //Canvi data del calendari
         //Canvi data del calendari
         case 'cdc':
             $this->redirect('web/index?accio=c&CERCA=mensual&DATACAL=' . $this->DATACAL);
             break;
             //Mostrem notícies
         //Mostrem notícies
         default:
             $this->IDN = $request->getParameter('idN', 0);
             $this->PAGINA = $request->getParameter('p', 1);
             if ($this->IDN > 0) {
                 $this->NOTICIA = NoticiesPeer::getNoticia($this->IDN, $this->IDS);
                 $this->getResponse()->addMeta('facebook', myUser::getFacebookHeaders($this->NOTICIA->getTitolnoticia(), sfConfig::get('sf_webdomain') . $this->getController()->genUrl('@web_noticia?idN=' . $this->NOTICIA->getIdnoticia() . '&p=' . $this->PAGINA . '&titol=' . $this->NOTICIA->getNomForUrl()), OptionsPeer::getString('SF_WEBROOT', 1) . 'images/noticies/' . $this->NOTICIA->getIdnoticia() . '.jpg', 'Casa de Cultura de Girona', '1763108168308'));
                 $this->NOTICIES = null;
             } else {
                 $this->NOTICIA = null;
                 $this->NOTICIES = NoticiesPeer::getNoticies('%', $this->PAGINA, true, FALSE, $this->IDS);
             }
             $this->ACCIO = 'noticies';
             $this->getUser()->setSessionPar('NODES', array());
             break;
             break;
     }
 }