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; }
/** * 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'; } }
/** * 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; } }
/** * 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'; } }
/** * 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); }
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)); }
/** * 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)); } }
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; } }
public function getActivitat() { return ActivitatsPeer::retrieveByPK($this->getActivitatsid()); }
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(); }
?> <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 } ?>
public function getActivitat() { $OH = HorarisPeer::retrieveByPK($this->getHorariId()); if ($OH instanceof Horaris) { $OA = ActivitatsPeer::retrieveByPK($OH->getActivitatsActivitatid()); } return $OA; }
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; }