예제 #1
0
 public static function getNoticiaActivitat($IDA, $idS)
 {
     $OA = ActivitatsPeer::retrieveByPK($IDA);
     $OH = ActivitatsPeer::getPrimerHorariActivitat($IDA, $idS);
     if ($OH instanceof Horaris) {
         list($Y, $M, $D) = explode('-', $OH->getDia());
     } else {
         $D = date('d', time());
         $M = date('m', time());
         $Y = date('Y', time());
     }
     $diai = mktime(0, 0, 0, $M, $D - 10, $Y);
     $diaf = mktime(0, 0, 0, $M, $D, $Y);
     $FN = NoticiesPeer::initialize(0, $idS);
     $ON = $FN->getObject();
     $ON->setImatge($OA->getImatge());
     $ON->setAdjunt($OA->getPdf());
     $ON->setTitolnoticia($OA->getTmig());
     $ON->setTextnoticia($OA->getDmig());
     $ON->setActiva(false);
     $ON->setIdactivitat($IDA);
     $ON->setDatapublicacio(date('Y-m-d', $diai));
     $ON->setDatadesaparicio(date('Y-m-d', $diaf));
     $ON->save();
     return $ON;
 }
예제 #2
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     $this->setLayout('hospici');
     $this->accio = $request->getParameter('accio', 'index');
     $this->AUTENTIFICAT = $this->getUser()->isAuthenticated();
     //Carrego la cerca
     $this->CERCA = $this->getUser()->getSessionPar('cerca');
     $C = $this->CERCA;
     $this->DESPLEGABLES = array();
     switch ($this->accio) {
         case 'cerca_activitat':
             //Agafo els paràmetres si é sun post o bé si canvi de pàgina o sinó doncs cerca en blanc.
             if ($request->getMethod() == 'POST') {
                 $C = $request->getParameter('cerca', array());
             }
             $C['P'] = $request->getParameter('P', 1);
             $this->getUser()->ParReqSesForm($request, 'cerca', array());
             $C['P'] = $request->getParameter('P', 1);
             //Si em trobo el paràmetre SITE, impilca que he entrat per llistat d'entitats i vull veure tot el d'una.
             if ($request->hasParameter('SITE')) {
                 $C['SITE'] = $request->getParameter('SITE');
             }
             //Normalitzo tots els camps
             $C2 = $this->getCercaComplet($C);
             $RET = ActivitatsPeer::getActivitatsCercaHospici($C2);
             $this->LLISTAT_ACTIVITATS = $RET['A'];
             $this->DESPLEGABLES['SELECT_POBLACIONS'] = $RET['ON']['ELEMENT'];
             $this->DESPLEGABLES['SELECT_ENTITATS'] = $RET['QUI']['ELEMENT'];
             $this->DESPLEGABLES['SELECT_CATEGORIES'] = $RET['QUE']['ELEMENT'];
             //Guardem a sessió la cerca "actual"
             $this->CERCA = $C2;
             $this->getUser()->setSessionPar('cerca', $this->CERCA);
             $this->ERROR = $request->getParameter('ERROR', 0);
             $this->MODE = 'CERCA';
             break;
         case 'detall_activitat':
             $this->CERCA = $this->getUser()->getSessionPar('cerca');
             $this->ACTIVITAT = ActivitatsPeer::retrieveByPK($request->getParameter('idA'));
             $this->HORARIS = $this->ACTIVITAT->getHorarisOrdenats(HorarisPeer::DIA);
             $this->MODE = 'DETALL';
             break;
             //Arribem per primer cop al web o no entrem per cap url interessant
         //Arribem per primer cop al web o no entrem per cap url interessant
         default:
             //Inicialitzem la cerca i la guardem a memòria
             $this->CERCA = $this->getCercaComplet(null);
             $this->getUser()->setSessionPar('cerca', $this->CERCA);
             $this->MODE = 'INICIAL';
     }
 }
예제 #3
0
 /**
  * Mirem si de tots els horaris disponibles encara n'hi ha algun amb entrades
  * */
 public static function isEntradesByActivitat($idA)
 {
     $OA = ActivitatsPeer::retrieveByPK($idA);
     if ($OA instanceof Activitats) {
         foreach ($OA->getHorariss() as $OH) {
             $OEP = self::retrieveByPK($OH->getHorarisid());
             //si trobem un preu actiu, vol dir que
             if ($OEP instanceof EntradesPreus && $OEP->getActiu()) {
                 return true;
             } else {
                 return false;
             }
         }
     } else {
         return 0;
     }
 }
예제 #4
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     $this->setLayout('hospici');
     $this->accio = $request->getParameter('accio', 'index');
     $this->AUTENTIFICAT = $this->getUser()->getSessionPar('idU');
     //Carrego la cerca
     $this->CERCA = $this->getUser()->getSessionPar('cerca');
     switch ($this->accio) {
         case 'cerca_activitat':
             //Agafo el paràmetre
             $C = $request->getParameter('cerca', array());
             //Normalitzo tots els camps
             $C2 = $this->getCercaComplet($C);
             //Guardem a sessió la cerca "actual"
             $this->CERCA = $C2;
             $this->getUser()->setSessionPar('cerca', $this->CERCA);
             $this->LLISTAT_ACTIVITATS = ActivitatsPeer::getActivitatsHospici($this->CERCA['TEXT'], $this->CERCA['SITE'], $this->CERCA['POBLE'][0], $this->CERCA['CATEGORIA'][0], $this->CERCA['DATA'][0], $this->CERCA['DATAR'], $this->CERCA['P']);
             $this->MODE = 'CERCA';
             break;
         case 'detall_activitat':
             $this->CERCA = $this->getUser()->getSessionPar('cerca');
             $this->ACTIVITAT = ActivitatsPeer::retrieveByPK($request->getParameter('idA'));
             //Sempre s'haurà de comprar una entrada per un horari.
             if (!$this->ACTIVITAT instanceof Activitats) {
                 $this->ACTIVITAT = new Activitats();
             }
             $this->LHO = $this->ACTIVITAT->getEntradesHoraris();
             $this->MODE = 'DETALL';
             break;
             //Arribem per primer cop al web o no entrem per cap url interessant
         //Arribem per primer cop al web o no entrem per cap url interessant
         default:
             //Inicialitzem la cerca i la guardem a memòria
             $this->CERCA = $this->getCercaComplet(null);
             $this->getUser()->setSessionPar('cerca', $this->CERCA);
             $this->MODE = 'INICIAL';
     }
 }
예제 #5
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     $this->setLayout('web');
     $accio = $request->getParameter('accio', 'home');
     $this->IDS = 1;
     $this->PAGE = $request->getParameter('page', 1);
     // Definim el captcha
     $val1 = rand(0, 9);
     $val2 = rand(0, 9);
     $this->getUser()->setAttribute('CAPTCHA1', $val1);
     $this->getUser()->setAttribute('CAPTCHA2', $val2);
     $this->CAPTCHA = "i la suma de " . $val1 . " + " . $val2;
     $this->SELECCIONAT = "CAP";
     switch ($accio) {
         //Cliquem del menú esquerra, i mostrem els submenús a la dreta. Si no hi ha submenús, mostrem el home
         case 'menu_click':
             $this->A_LLISTA = array();
             $ON = NodesPeer::retrieveByPK($request->getParameter('node'));
             if ($ON instanceof Nodes) {
                 $AON = NodesPeer::getFillsNextLevel($ON);
                 $Arbre = $ON->getArbre();
                 $this->SELECCIONAT = array_pop($Arbre);
                 switch ($ON->getCategories()) {
                     //Si la categoria del node és manual
                     case NodesPeer::CATEGORIA_MANUAL:
                         //Mirem si conté subdirectoris... o bé és de contingut.
                         if (!empty($AON)) {
                             $this->A_LLISTA[1]['mode'] = 1;
                             $this->A_LLISTA[1]['titol'] = "Categories dins aquest menú";
                             foreach ($AON as $ON) {
                                 //Mirem si la imatge existeix
                                 $img = $this->Image_exists('front', $ON->getIdnodes() . '-L') ? '/images/front/' . $ON->getIdnodes() . '-L.jpg' : 'color';
                                 $url = strlen($ON->getUrl()) > 0 ? $ON->getUrl() : '@web_menu_click?node=' . $ON->getIdnodes() . '&titol=' . $ON->getNomForUrl();
                                 $this->A_LLISTA[1]['elements'][] = array('url' => $url, 'titol' => $ON->getTitolmenu(), 'img' => $img);
                             }
                             $this->mode = 'llista';
                             //No té cap més subdirectori, carreguem els continguts
                         } else {
                             //Si el contingut és html, l'interpretem, altrament el mostrem tal com està.
                             if ($ON->getIsphp()) {
                                 $this->CONTINGUT = $ON->getHtml();
                                 $this->IMG = self::Get_Images('front', $ON->getIdnodes() . '-XL');
                                 $this->mode = 'detall';
                             } else {
                                 $this->CONTINGUT = $ON->getHtml();
                                 $this->IMG = self::Get_Images('front', $ON->getIdnodes() . '-XL');
                                 $this->mode = 'detall';
                             }
                         }
                         break;
                         //Si el node és d'exposicions, mostrem un llistat amb les exposicions
                     //Si el node és d'exposicions, mostrem un llistat amb les exposicions
                     case NodesPeer::CATEGORIA_EXPOSICIONS:
                         //Carreguem les exposicions actuals ( Sala Fita i Sala d'exposicions ) i les futures, si hi són.
                         $this->A_LLISTA = $this->CarregaInfoExposicions();
                         $this->mode = 'llista';
                         break;
                     case NodesPeer::CATEGORIA_ACTIVITATS_NORMALS:
                         $this->A_LLISTA = $this->CarregaInfoActivitats();
                         $this->mode = 'llista';
                         break;
                     case NodesPeer::CATEGORIA_FORMACIO:
                         $this->A_LLISTA = $this->CarregaInfoCategories('44', 'CICLES DE FORMACIÓ', null, 1);
                         $this->mode = 'llista';
                         break;
                     case NodesPeer::CATEGORIA_CURSOS:
                         $this->A_LLISTA = $this->CarregaInfoCursos($this->IDS, 0);
                         $this->mode = 'llista';
                         break;
                     case NodesPeer::CATEGORIA_GIROSCOPI:
                         break;
                     case NodesPeer::CATEGORIA_CICLES:
                         $this->A_LLISTA = $this->CarregaInfoCicles();
                         $this->mode = 'llista';
                         break;
                     case NodesPeer::CATEGORIA_MUSICA:
                         $this->redirect('@web_menu_click_cicle?idCicle=394&titol=Musica');
                         break;
                     case NodesPeer::CATEGORIA_CONEIXEMENT:
                         $this->A_LLISTA = $this->CarregaInfoConeixement($this->IDS, 0);
                         $this->mode = 'llista';
                         break;
                 }
             } else {
                 //Entrem a la home
                 $this->mode = 'home';
             }
             break;
             //Quan cliquem l'enllaç d'un curs, mostrem el seu contingut.
         //Quan cliquem l'enllaç d'un curs, mostrem el seu contingut.
         case 'menu_click_cursos':
             $this->SELECCIONAT = NodesPeer::retrieveByPK(62);
             $idC = $request->getParameter('idCurs');
             //Si no hem seleccionat el curs, mostrem els cursos dins una categoria
             if ($idC == 0) {
                 $this->A_LLISTA = $this->CarregaInfoCursos($this->IDS, $request->getParameter('idCategoria'));
                 $this->mode = 'llista';
                 //Hem entrat clicant un curs, mostrem el detall del curs
             } else {
                 $OC = CursosPeer::retrieveByPK($idC);
                 if ($OC instanceof Cursos) {
                     $this->CONTINGUT = $OC->getDescripcio();
                     $this->HORARIS = $OC->getHoraris();
                     $this->TITOL = $OC->getTitolcurs();
                     $this->IMG = self::Get_Images('cursos', 'C-' . $OC->getIdcursos() . '-XL');
                     $this->PDF = $this->PDF_exists('cursos', 'C-' . $OC->getIdcursos() . '-PDF') ? '/images/cursos/C-' . $OC->getIdcursos() . '-PDF.pdf' : '';
                     $this->mode = "detall";
                 } else {
                     $this->mode = "home";
                 }
             }
             break;
             //Quan cliquem l'enllaç d'una activitat mostrem el contingut
         //Quan cliquem l'enllaç d'una activitat mostrem el contingut
         case 'menu_click_activitats':
             $idA = $request->getParameter('idActivitat');
             $OA = ActivitatsPeer::retrieveByPK($idA);
             if ($OA instanceof Activitats) {
                 $this->SELECCIONAT = NodesPeer::retrieveByPK(substr_count($OA->getCategories(), '46') > 0 ? 58 : 61);
                 $OC = CiclesPeer::retrieveByPK($OA->getCiclesCicleid());
                 $this->CONTINGUT = $OA->getDMig();
                 $this->HORARIS = $OA->getHorariss();
                 $this->TITOL = $OA->getTMig();
                 $this->IMG = self::Get_Images('activitats', 'A-' . $OA->getActivitatid() . '-XL');
                 $this->PDF = $this->PDF_exists('activitats', 'A-' . $OA->getActivitatid() . '-PDF') ? '/images/activitats/A-' . $OA->getActivitatid() . '-PDF.pdf' : '';
                 $this->INFO_PRACTICA = $OA->getInfopractica();
                 $this->A_LLISTA = $this->CarregaInfoCategories(null, $OC instanceof Cicles ? 'Altres activitats de: ' . $OC->getTMig() : 'Altres activitats del cicle', $OA->getCiclesCicleid(), 3);
                 $this->mode = "detall";
             } else {
                 $this->mode = "home";
             }
             break;
             //Quan cliquem el botó de cicles, els mostrem tots.
         //Quan cliquem el botó de cicles, els mostrem tots.
         case 'menu_click_cicles':
             $idC = $request->getParameter('idCicle');
             $OC = CiclesPeer::retrieveByPK($idC);
             if ($OC instanceof Cicles) {
                 $this->SELECCIONAT = NodesPeer::retrieveByPK(61);
                 //Miro el primer i últim horari.
                 $PH = "";
                 $PA = $OC->getPrimeraActivitat();
                 if ($PA instanceof Activitats) {
                     $PH = $PA->getPrimerHorari();
                 }
                 $UH = "";
                 $UA = $OC->getUltimaActivitat();
                 if ($UA instanceof Activitats) {
                     $UH = $UA->getUltimHorari();
                 }
                 $HORARIS = array($PH, $UH);
                 $this->CONTINGUT = $OC->getDMig();
                 $this->HORARIS = CiclesPeer::getHorariss($OC->getCicleid(), $OC->getSiteid());
                 $this->TITOL = $OC->getTMig();
                 $this->INFO_PRACTICA = "";
                 $this->IMG = self::Get_Images('cicles', 'C-' . $OC->getCicleid() . '-XL');
                 $this->PDF = $this->PDF_exists('cicles', 'C-' . $OC->getCicleid() . '-PDF') ? '/images/cicles/C-' . $OC->getCicleid() . '-PDF.pdf' : '';
                 $this->A_LLISTA = $this->CarregaInfoCategories(null, 'Activitats del cicle', $OC->getCicleid(), 2);
                 $this->mode = "detall";
             } else {
                 $this->mode = "home";
             }
             break;
             //Quan cliquem l'enllaç d'un curs, mostrem el seu contingut.
         //Quan cliquem l'enllaç d'un curs, mostrem el seu contingut.
         case 'menu_click_noticies':
             $this->SELECCIONAT = NodesPeer::retrieveByPK(60);
             $idN = $request->getParameter('idNoticia', 0);
             //Si no hem escollit una notícia, mostrem les notícies
             if ($idN == 0) {
                 $this->A_LLISTA = $this->CarregaInfoNoticies();
                 $this->mode = 'llista';
                 //Hem entrat clicant un curs, mostrem el detall del curs
             } else {
                 $ON = NoticiesPeer::retrieveByPK($idN);
                 if ($ON instanceof Noticies) {
                     $this->CONTINGUT = $ON->getTextnoticia();
                     $this->HORARIS = "";
                     $this->TITOL = $ON->getTitolnoticia();
                     $this->IMG = self::Get_Images('noticies', 'N-' . $ON->getIdnoticia() . '-XL');
                     $this->PDF = $this->PDF_exists('noticies', 'N-' . $ON->getIdnoticia() . '-PDF') ? '/images/noticies/N-' . $ON->getIdnoticia() . '-PDF.pdf' : '';
                     $this->mode = "detall";
                 } else {
                     $this->mode = "home";
                 }
             }
             break;
         case "cerca":
             $text = $request->getParameter('text', null);
             $data = $request->getParameter('data', null);
             //Convertim la data
             if (!is_null($data)) {
                 list($dia, $mes, $any) = explode('/', $data);
                 $data = mktime(0, 0, 0, $mes, $dia, $any);
             }
             $llista = $this->CarregaInfoActivitats($data, $text, null);
             return $this->renderPartial('llista', array('A_LLISTA' => $llista));
             break;
         default:
             $this->mode = 'home';
             break;
     }
     $this->A_MENU = NodesPeer::retornaMenu(1, false);
     $avui = date('Y-m-d', time());
     //Carreguem per la home... només?
     $this->A_ACTIVITATS_AVUI = ActivitatsPeer::getActivitatsDia($this->IDS, $avui, $this->PAGE, 'activitats');
     $this->A_ACTIVITATS_FUTURES = ActivitatsPeer::getActivitatsProperes($this->IDS, $avui, $this->PAGE, 'horari', 100);
     $this->A_EXPOSICIONS = self::CarregaInfoExposicions();
     $this->A_NOVETATS = NoticiesPeer::getNoticies("", 1, true, false, 1);
 }
예제 #6
0
 public static function initialize($idA, $cicle = 0, $idS)
 {
     $OA = ActivitatsPeer::retrieveByPK($idA);
     if (!$OA instanceof Activitats) {
         $OA = new Activitats();
         $OA->setSiteId($idS);
         $OA->setActiu(true);
         if ($cicle > 0) {
             $OA->setCiclesCicleid($cicle);
         } else {
             $OA->setCiclesCicleid(null);
         }
     }
     return new ActivitatsForm($OA, array('IDS' => $idS));
 }
예제 #7
0
 /**
  * Aquest funció serveix per fer UPLOAD d'arxius a una activitat
  * */
 public function executeUpload(sfWebRequest $request)
 {
     $base = getcwd();
     $Opcio = $request->getParameter('OPCIO');
     if ($Opcio == 'DELETE') {
         //Abans d'esborrar un arxiu, comprovaré que l'activitat sigui del site de l'usuari.
         $url = $request->getParameter('NOM_ARXIU');
         $A = explode('-', $url);
         $id = $A[1];
         $B = explode('/', $A[0]);
         $tipus = $B[2];
         $IDS = $this->getUser()->getSessionPar('idS');
         if ($tipus == 'activitats') {
             $OA = ActivitatsPeer::retrieveByPK($id);
             if ($OA instanceof Activitats && $IDS == $OA->getSiteid()) {
                 unlink($base . $url);
                 return $this->renderText("ok");
             }
         } elseif ($tipus == 'cicles') {
             $OC = CiclesPeer::retrieveByPK($id);
             if ($OC instanceof Cicles && $IDS == $OC->getSiteid()) {
                 unlink($base . $url);
                 return $this->renderText("ok");
             }
         } elseif ($tipus == 'cursos') {
             $OC = CursosPeer::retrieveByPK($id);
             if ($OC instanceof Cursos && $IDS == $OC->getSiteid()) {
                 unlink($base . $url);
                 return $this->renderText("ok");
             }
         }
         return $this->renderText("ko");
     } elseif ($Opcio == 'UPLOAD' || $Opcio == 'UPLOAD_SINGLE') {
         $nom = $request->getParameter('qqfile');
         $parts = explode(".", $nom);
         $extensio = end($parts);
         if ($Opcio == 'UPLOAD') {
             //En aquest cas, NOM_ARXIU és el nom i directori on anirà dins de web
             $url = $request->getParameter('NOM_ARXIU');
             $url .= '.' . $extensio;
         } else {
             //En aquest cas, NOM_ARXIU és el directori on anirà només
             $tmp = $request->getParameter('NOM_ARXIU');
             if (!file_exists($base . '/' . $tmp)) {
                 mkdir($base . '/' . $tmp);
             }
             $url = '/' . $tmp . $nom;
         }
         $input = fopen("php://input", "r");
         $temp = tmpfile();
         $realSize = stream_copy_to_stream($input, $temp);
         fclose($input);
         $target = fopen($base . $url, "w");
         fseek($temp, 0, SEEK_SET);
         $size = stream_copy_to_stream($temp, $target);
         fclose($target);
         $result = true;
         if ($realSize > 0 && $size == $realSize) {
             $result = array('success' => true);
         } else {
             $return = array('error' => 'Hi ha hagut algun error carregant l\'arxiu.');
         }
         return $this->renderText(htmlspecialchars(json_encode($result), ENT_NOQUOTES));
     }
 }
예제 #8
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;
     }
 }
예제 #9
0
 public function getActivitat()
 {
     return ActivitatsPeer::retrieveByPK($this->getActivitatsid());
 }
예제 #10
0
 public function executeUsuaris(sfWebRequest $request)
 {
     $this->setLayout('hospici');
     $accio = $request->getParameter('accio', 'inici');
     $this->IDU = $this->getUser()->getSessionPar('idU');
     $this->IDS = SitesPeer::HOSPICI_ID;
     $this->SECCIO = "";
     switch ($accio) {
         case 'inici':
             $this->SECCIO = 'INICI';
             break;
             //Modificació de les dades de l'usuari.
         //Modificació de les dades de l'usuari.
         case 'update':
             $RS = $request->getParameter('usuaris');
             if ($RS['UsuariID'] == $this->IDU) {
                 $FU = UsuarisPeer::initialize($this->IDU, $this->IDS, false, true);
                 $FU->bind($RS);
                 if ($FU->isValid()) {
                     $FU->save();
                     $this->MISSATGE1 = "OK";
                 }
             }
             $this->SECCIO = 'USUARI';
             break;
             //Usuari que compra o reserva una entrada
         //Usuari que compra o reserva una entrada
         case 'compra_entrada':
             //Des de l'Hospici només es pot reservar una entrada. Més endavant s'haurà d'abonar l'import.
             $RS = $request->getParameter('entrades');
             $OER = EntradesReservaPeer::initialize()->getObject();
             $OA = ActivitatsPeer::retrieveByPK($RS['idA']);
             $idS = 0;
             if ($OA instanceof Activitats) {
                 $idS = $OA->getSiteid();
             }
             $this->MISSATGE2 = 'OK';
             try {
                 //Si no existeix una compra per aquest usuari, la fem, altrament, no fem res.
                 if (!EntradesReservaPeer::ExisteixenEntradesComprades($this->IDU, $RS['idA'])) {
                     //Falta mirar si hi ha entrades disponibles.
                     $OER->setUsuariid($this->IDU);
                     $OER->setActivitatsid($RS['idA']);
                     $OER->setQuantes($RS['num']);
                     $OER->setData(date('Y-m-d H:i', time()));
                     $OER->setEstat(EntradesReservaPeer::CONFIRMADA);
                     $OER->setActiu(true);
                     $OER->setSiteid($idS);
                     $OER->save();
                     UsuarisPeer::addSite($this->IDU, $idS);
                 } else {
                     $this->MISSATGE2 = 'ENTRADA_REPE';
                 }
             } catch (Exception $e) {
                 $this->MISSATGE2 = 'ERROR';
             }
             $this->SECCIO = 'COMPRA_ENTRADA';
             break;
             //Usuari que anul·la una entrada prèviament reservada
         //Usuari que anul·la una entrada prèviament reservada
         case 'anula_entrada':
             $RS = $request->getParameter('idER');
             $OER = EntradesReservaPeer::retrieveByPK($RS);
             $idu = $OER->getUsuariid();
             $act = $OER->getActiu();
             if ($idu == $this->IDU && $act) {
                 $OER->setEstat(EntradesReservaPeer::ANULADA);
                 $OER->save();
             }
             $this->SECCIO = 'COMPRA_ENTRADA';
             break;
             //Nova matrícula a un curs
         //Nova matrícula a un curs
         case 'nova_matricula':
             //Capturem el codi del curs i el codi del descompte
             $idC = $request->getParameter('idC');
             $idD = $request->getParameter('idD');
             $OC = CursosPeer::retrieveByPK($idC);
             //Si el curs és correcte
             if ($OC instanceof Cursos) {
                 //Generem la matícula en procés.
                 $OM = MatriculesPeer::saveNewMatricula($this->IDU, $idC, 0, 'Matrícula hospici', $idD);
                 $this->SECCIO = 'MATRICULA';
                 if ($OM instanceof Matricules) {
                     if ($OM->getEstat() == MatriculesPeer::EN_ESPERA) {
                         //El curs en qüestió ja està ple. Mostrem el llistat però el missatge de "en espera"
                         $this->MISSATGE3 = 'ESPERA';
                     } elseif ($OM->getEstat() == MatriculesPeer::EN_PROCES) {
                         //La matrícula s'ha de cobrar amb targeta, només.
                         try {
                             //Carreguem les dades de l'usuari que està fent la matrícula
                             $OU = UsuarisPeer::retrieveByPK($this->IDU);
                             //Carreguem el TPV
                             $this->TPV = MatriculesPeer::getTPV(CursosPeer::CalculaPreu($idC, $idD, $OC->getSiteId()), $OU->getNomComplet(), $OM->getIdmatricules(), $this->IDS, true);
                         } catch (Exception $e) {
                             $this->MISSATGE3 = 'KO';
                             /* Faltarà enviar un missatge de mail */
                         }
                         $this->URL = OptionsPeer::getString('TPV_URL', $OC->getSiteId());
                         $this->setLayout('blanc');
                         $this->setTemplate('pagament');
                     } else {
                         //Tot correcte. Mostrem el llistat de matrícules i el missatge que ha anat bé.
                         $this->MISSATGE3 = "OK";
                     }
                 } else {
                     if ($OM == 1) {
                         $this->MISSATGE3 = "JA_EXISTEIX";
                     } else {
                         $this->MISSATGE3 = "KO";
                     }
                 }
             } else {
                 $this->MISSATGE3 = "CURS_NO_EXISTEIX";
             }
             break;
             //S'ha matriculat correctament i TPV ok
         //S'ha matriculat correctament i TPV ok
         case 'matricula_OK':
             $this->MISSATGE3 = "OK";
             $this->SECCIO = 'MATRICULA';
             break;
             //No s'ha matriculat correctament o error a TPV
         //No s'ha matriculat correctament o error a TPV
         case 'matricula_KO':
             $this->MISSATGE3 = "KO";
             $this->SECCIO = 'MATRICULA';
             break;
             //Gestió del que retorna el TPV
         //Gestió del que retorna el TPV
         case 'GET_TPV':
             //Comprovem que vingui la crida per POST i que la resposta sigui 0000. Tot OK.
             //if( $request->getParameter('Ds_Response') == '0000' )
             if ($request->isMethod() == 'POST' && $request->getParameter('Ds_Response') == '0000') {
                 $idM = $request->getParameter('Ds_MerchantData', null);
                 $OM = MatriculesPeer::retrieveByPK($idM);
                 if ($OM instanceof Matricules) {
                     $from = OptionsPeer::getString('MAIL_FROM', $OM->getSiteId());
                     //Un cop sabem que la matrícula existeix, comprovem la signatura i si és correcta, marquem com a pagat.
                     if (MatriculesPeer::valTPV($request->getParameter('Ds_Amount'), $request->getParameter('Ds_Order'), $request->getParameter('Ds_MerchantCode'), $request->getParameter('Ds_Currency'), $request->getParameter('Ds_Response'), $request->getParameter('Ds_Signature'), OptionsPeer::getString('TPV_PASSWORD', $OM->getSiteid()))) {
                         $MailMat = MatriculesPeer::MailMatricula($OM, $OM->getSiteid());
                         $subject = 'Hospici :: Nova matrícula';
                         $OM->setEstat(MatriculesPeer::ACCEPTAT_PAGAT);
                         $OM->setTpvOperacio($request->getParameter('Ds_AuthorisationCode'));
                         $OM->setTpvOrder($request->getParameter('Ds_Order'));
                         $OM->save();
                         $this->sendMail($from, $OM->getUsuaris()->getEmail(), $subject, $MailMat);
                         $this->sendMail($from, '*****@*****.**', $subject, $MailMat);
                     } else {
                         $this->sendMail($from, '*****@*****.**', 'HASH ERRONI', $idM);
                     }
                 } else {
                     $this->sendMail('*****@*****.**', '*****@*****.**', 'CODI MATRÍCULA ERRONI', $idM);
                 }
             }
             break;
             //Mostra totes les reserves que s'han fet
         //Mostra totes les reserves que s'han fet
         case 'llista_reserves':
             $this->SECCIO = 'RESERVA';
             $this->MISSATGE4 = $request->getParameter('estat', null);
             break;
             //Editem una reserva prèviament feta
         //Editem una reserva prèviament feta
         case 'edita_reserva':
             $this->SECCIO = "RESERVA";
             $OR = ReservaespaisPeer::retrieveByPK($request->getParameter('idR'));
             if ($OR instanceof Reservaespais) {
                 $this->FReserva = new HospiciReservesForm($OR, array('IDS' => $OR->getSiteid()));
                 $this->OPCIONS = 'VISUALITZA';
             } else {
                 $this->redirect('@hospici_llista_reserves');
             }
             break;
             //Creem una nova reserva, i mostrem el formulari
         //Creem una nova reserva, i mostrem el formulari
         case 'nova_reserva':
             $idE = $request->getParameter('idE');
             $OE = EspaisPeer::retrieveByPK($idE);
             $this->SECCIO = 'RESERVA';
             if ($OE instanceof Espais) {
                 $this->FReserva = ReservaespaisPeer::initializeHospici(null, $OE->getSiteid(), $OE->getEspaiid(), $this->getUser()->getSessionPar('idU'));
             } else {
                 $this->MISSATGE4 = "ERROR_ESPAI";
             }
             break;
             //Guardem la nova reserva
         //Guardem la nova reserva
         case 'save_nova_reserva':
             $RP = $request->getParameter('reservaespais');
             $idU = $this->getUser()->getSessionPar('idU');
             $this->SECCIO = 'RESERVA';
             $this->FReserva = ReservaespaisPeer::initializeHospici(null, $RP['site_id'], null, $idU);
             $this->FReserva->bind($RP);
             if ($this->FReserva->isValid()) {
                 //Guardem la reserva
                 $this->FReserva->save();
                 //Enviem mails per informar que s'ha fet una nova reserva d'espais a secretaria
                 $from = OptionsPeer::getString('MAIL_FROM', $RP['site_id']);
                 $to = OptionsPeer::getString('MAIL_SECRETARIA', $RP['site_id']);
                 $sub = "Hospici | Nova reserva d'espai";
                 $miss = "S'ha sol·licitat una nova reserva d'espai amb el codi {$RP['ReservaEspaiID']}";
                 $this->sendMail($from, $to, $sub, $miss);
                 //Vinculem l'usuari amb el site corresponent
                 UsuarisPeer::addSite($idU, $RP['site_id']);
                 $this->redirect('@hospici_llista_reserves?estat=OK');
             } else {
                 $this->MISSATGE4 = 'ERROR_SAVE';
             }
             break;
             //Alta d'un nou formulari
         //Alta d'un nou formulari
         case 'alta_formulari':
             $RP = $request->getParameter('formulari');
             $idU = $this->getUser()->getSessionPar('idU');
             $OF = FormularisRespostesPeer::initialize($RP['idF'], $idU, serialize($RP));
             $OF->save();
             //Enviem mails per informar que s'ha fet una nova reserva d'espais a secretaria
             $from = OptionsPeer::getString('MAIL_FROM', $OF->getSiteid());
             $to = OptionsPeer::getString('MAIL_ADMIN', $OF->getSiteid());
             $sub = "Hospici | Nou formulari enviat";
             $miss = "S'ha enviat la següent informació amb una reserva d'espai.<br/><br />Dades:<br /><br /> ";
             foreach ($RP as $K => $V) {
                 $miss .= $K . ': ' . $V . '<br/>';
             }
             $this->sendMail($from, $to, $sub, $miss);
             $this->sendMail($from, '*****@*****.**', $sub, $miss);
             //Vinculem l'usuari amb el site corresponent
             UsuarisPeer::addSite($idU, $OF->getSiteid());
             $this->MISSATGE6 = 'ALTA_OK';
             $this->SECCIO = "FORMULARIS";
             break;
             //Capturem el que ens arriba del mail de condicions.
         //Capturem el que ens arriba del mail de condicions.
         case 'condicions':
             $this->SECCIO = 'RESERVA';
             $RP = $request->getParameter('reservaespais');
             $idU = $this->getUser()->getSessionPar('idU');
             $OR = ReservaespaisPeer::retrieveByPK($request->getParameter('idR'));
             if ($OR instanceof Reservaespais) {
                 if ($request->hasParameter('B_ACCEPTO')) {
                     $OR->setEstat(ReservaespaisPeer::ACCEPTADA);
                     $OR->setDataacceptaciocondicions(date('Y-m-d', time()));
                     $OR->save();
                     $this->redirect('@hospici_llista_reserves?estat=RESERVA_ACCEPTADA');
                 } elseif ($request->hasParameter('B_NO_ACCEPTO')) {
                     $OR->setEstat(ReservaespaisPeer::ANULADA);
                     $OR->setDataacceptaciocondicions(date('Y-m-d', time()));
                     $OR->save();
                     $this->redirect('@hospici_llista_reserves?estat=RESERVA_ANULADA');
                 } else {
                     $this->redirect('@hospici_llista_reserves?estat=ERROR_TECNIC');
                 }
             } else {
                 $this->redirect('@hospici_llista_reserves?estat=ERROR_TECNIC');
             }
             break;
     }
     //Si ja hi hem fet operacions... carreguem l'actual, sinó en fem un de nou.
     if (isset($FU) && $FU instanceof UsuarisForm) {
         $this->FUsuari = $FU;
     } else {
         $this->FUsuari = UsuarisPeer::initialize($this->IDU, $this->IDS, false, true);
     }
     $this->LMatricules = MatriculesPeer::h_getMatriculesUsuari($this->IDU);
     $this->LReserves = ReservaespaisPeer::h_getReservesUsuaris($this->IDU, $this->IDS);
     $this->LEntrades = EntradesReservaPeer::getEntradesUsuari($this->IDU);
     $this->LFormularis = FormularisRespostesPeer::getFormularisUsuari($this->IDU);
     // $this->LMissatges = MissatgesPeer::getMissatgesUsuari();
 }
예제 #11
0
    ?>
    	    	<div class="FORMULARI fb">		    			    			    		        
    	            <?php 
    echo $FORMULARI;
    ?>
                    <?php 
    include_partial('uploads', array('DIRECTORI_WEB' => '/images/noticies/', 'NOM_ARXIU' => 'N-' . $FORMULARI->getObject()->getIdnoticia()));
    ?>
    	            <?php 
    $ON = $FORMULARI->getObject();
    ?>
    	            <?php 
    if ($ON->getIdactivitat() > 0) {
        ?>
    	            	<?php 
        $nom = ActivitatsPeer::retrieveByPK($ON->getIdactivitat())->getNom();
        ?>
                        <div class="clear row fb">
                            <span class="title row_title fb"><label for="noticies_ARelacionada">Activitat relacionada: </label></span>
                            <span class="row_field fb"><a target="_NEW" href="<?php 
        echo url_for('gestio/gActivitats?accio=ACTIVITAT&IDA=' . $ON->getIdactivitat());
        ?>
"><?php 
        echo $nom;
        ?>
</a></span>
                        </div>    	            	                        
    	            <?php 
    }
    ?>
    	            		            	
예제 #12
0
 public function getActivitat()
 {
     $OH = HorarisPeer::retrieveByPK($this->getHorariId());
     if ($OH instanceof Horaris) {
         $OA = ActivitatsPeer::retrieveByPK($OH->getActivitatsActivitatid());
     }
     return $OA;
 }
예제 #13
0
 private function CarregaActivitats($request, $with_form)
 {
     //Si és una activitat que pertany a un cicle se li haurà de passar el cicle.
     //Si una activitat pertany a un cicle ensenyo totes les del cicle
     $OA = ActivitatsPeer::retrieveByPK($this->IDA);
     //Editem una activitat d'un cicle.
     if ($OA instanceof Activitats && $OA->getCiclesCicleid() > 1) {
         $this->IDC = $OA->getCiclesCicleid();
         $this->CICLE = CiclesPeer::retrieveByPK($this->IDC)->getNom();
         $this->ACTIVITATS = ActivitatsPeer::getActivitatsCicles($this->IDC, $this->IDS, false, 1, false);
         if ($with_form) {
             $this->FActivitat = ActivitatsPeer::initialize($this->IDA, $this->IDC, $this->IDS);
         }
         $this->MODE['ACTIVITAT_CICLE'] = true;
         //Creem una activitat d'un cicle
     } elseif ($request->hasParameter('IDC')) {
         $this->IDC = $request->getParameter('IDC');
         $this->CICLE = CiclesPeer::retrieveByPK($this->IDC)->getNom();
         $this->ACTIVITATS = ActivitatsPeer::getActivitatsCicles($this->IDC, $this->IDS, false, 1, false);
         if ($with_form) {
             $this->FActivitat = ActivitatsPeer::initialize(null, $this->IDC, $this->IDS);
         }
         $this->MODE['ACTIVITAT_CICLE'] = true;
         //Una sola activitat
     } else {
         $this->CICLE = "No pertany a cap cicle";
         $this->MODE['ACTIVITAT_ALONE'] = true;
         $OA = ActivitatsPeer::retrieveByPK($this->IDA);
         if ($OA instanceof Activitats) {
             $this->ACTIVITATS = array(1 => ActivitatsPeer::retrieveByPK($this->IDA));
         } else {
             $this->ACTIVITATS = array();
         }
         if ($with_form) {
             $this->FActivitat = ActivitatsPeer::initialize($this->IDA, false, $this->IDS);
         }
     }
 }
 /**
  * Treu un llistat dels assistents a l'espectacle.
  * */
 public static function DocLlistatEntrades($IDH, $IDA, $idS)
 {
     //Comença la càrrega d'informació.
     $LOER = self::getEntradesVenudes($IDA, $IDH, true);
     $desc = DescomptesPeer::getDescomptesArray($idS, false, false);
     $OA = ActivitatsPeer::retrieveByPK($IDA);
     //$HTML = file_get_contents('c:\temp\hola.html');
     $HTML = OptionsPeer::getString('BODY_DOC_LLISTAT_ENTRADES', $idS);
     preg_match_all('/^\\s*####(.*?)####(.*?)####\\/(.*?)####\\s*$/sm', $HTML, $A);
     $FILA = "";
     $PATTERN = $A[2][0];
     $i = 1;
     $TMP = "";
     foreach ($LOER as $OER) {
         $TMP = $PATTERN;
         $TMP = str_replace('@@ID@@', $i++, $TMP);
         $TMP = str_replace('@@NOM_USUARI@@', $OER->getNomUsuari(), $TMP);
         $TMP = str_replace('@@CODI_UNIC@@', substr(sha1($OER->getIdentrada()), 0, 4), $TMP);
         $TMP = str_replace('@@QUANTITAT@@', $OER->getQuantitat(), $TMP);
         $TMP = str_replace('@@ESTAT@@', $OER->getEstatString(), $TMP);
         $TMP = str_replace('@@DESCOMPTE@@', $desc[$OER->getDescompte()], $TMP);
         $TMP = str_replace('@@COMENTARI@@', $OER->getComentari(), $TMP);
         $FILA .= $TMP;
     }
     //CONSULTEM USUARI
     $HTML = str_replace('@@NOM_ESPECTACLE@@', $OA->getNom(), $HTML);
     $HTML = str_replace($A[0][0], $FILA, $HTML);
     return $HTML;
 }