/** * Funció que carrega les dades i guarda una matrícula. També li posa un estat i un preu segons el que s'ha escollit. * @param $idU Identificador d'usuari * @param $idC Identificador de curs * @param $idM Identificador de matrícula si volem reutilitzar-la * @param $comment Comentari a guardar * @return new Matricules() o $error ( Codi d'error ) * */ public static function saveNewMatricula($idU, $idC, $idM = 0, $comment = "", $Descompte = self::REDUCCIO_CAP) { //Carreguem les dades de l'usuari $OU = UsuarisPeer::retrieveByPK($idU); $OC = CursosPeer::retrieveByPK($idC); //Si tenim un codi de matrícula, la carreguem. $OM = self::retrieveByPK($idM); if (!$OM instanceof Matricules) { $OM = new Matricules(); } //Si ho hem carregat tot correctament, seguim if ($OU instanceof Usuaris && $OC instanceof Cursos && $OM instanceof Matricules) { //Comprovem si la matrícula ja s'ha fet. if (self::hasMatriculaUsuari($idU, $idC, $OC->getSiteid()) > 0) { $OM = 1; //Retorna aquest error quan ja hi ha una matrícula del mateix curs per aquesta persona } else { //Mirem si hi ha places i marquem l'estat $PLACES = $OC->getPlacesArray(); if ($PLACES['OCUPADES'] < $PLACES['TOTAL']) { //Si el pagament és amb targeta marquem l'estat EN_PROCES if ($OC->getIsEntrada() == CursosPeer::HOSPICI_RESERVA_TARGETA) { $OM->setPagat(0); $OM->setEstat(self::EN_PROCES); } else { $OM->setPagat(0); $OM->setEstat(self::ACCEPTAT_NO_PAGAT); } } else { $OM->setPagat(0); $OM->setEstat(self::EN_ESPERA); } $OM->setUsuarisUsuariid($OU->getUsuariid()); $OM->setCursosIdcursos($OC->getIdCursos()); $OM->setComentari($comment); $OM->setDatainscripcio(date('Y-m-d h:i', time())); $OM->setTreduccio($Descompte); //Si el pagament és havent marcat Hospici només reserva... posem pagament POSTERIOR. if ($OC->getIsEntrada() == CursosPeer::HOSPICI_RESERVA) { $OM->setTpagament(self::PAGAMENT_METALIC); } else { $OM->setTpagament(self::PAGAMENT_TARGETA); } $OM->setSiteId($OC->getSiteid()); $OM->setActiu(true); $OM->save(); //Un cop feta la matrícula, hem de donar visibilitat a l'usuari UsuarisPeer::addSite($OU->getUsuariid(), $OC->getSiteid()); } } else { $OM = 0; //Retorna aquest error quan hi ha alguna dada inicial malament o objecte que no existeix } return $OM; }
/** * Retorna els descomptes d'un curs concret * */ public static function getDescomptesCursArray($idC, $edicio = false) { $RET = array(); $OC = CursosPeer::retrieveByPK($idC); if ($edicio) { $RET[-1] = 'Cap descompte (' . $OC->getPreu() . '€)'; } foreach (self::getDescomptes($idC, false) as $OD) { $RET[$OD->getIddescompte()] = $OD->getNom() . ' (' . self::getPreuAmbDescompte($OC->getPreu(), $OD->getIddescompte()) . '€)'; } return $RET; }
static function getSelectCursosMatriculaInterna($idS, $idC) { //Llistar cursos en ordre. Segons any, Categoria, Títol. $RET = array(); $C = new Criteria(); $C->add(self::ISACTIU, 1); $C->add(self::SITE_ID, $idS); $C->addDescendingOrderByColumn('YEAR(' . self::DATAINICI . ')'); $C->addAscendingOrderByColumn(self::CATEGORIA); $C->addDescendingOrderByColumn(self::TITOLCURS); $C->addDescendingOrderByColumn('MONTH(' . self::DATAINICI . ')'); //Carreguem el curs al que estem matriculat i si està inactiu, l'afegim al llistat. $OC = CursosPeer::retrieveByPK($idC); if ($OC instanceof Cursos) { if (!$OC->getIsactiu()) { $RET[$idC] = 'CURS ASSIGNAT INACTIU: ' . $OC->getTitolcurs(); } } foreach (self::doSelect($C) as $CURS) { $RET['Any ' . $CURS->getDatainici('Y')][$CURS->getIdcursos()] = $CURS->getCodi() . ' ( ' . $CURS->getDatainici('M') . ' ) - ' . $CURS->getTitolcurs(); } return $RET; }
/** * 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); }
function gestiona_verificacio($DADES_MATRICULA, $TPV, $ISPLE) { //Si la matricula es paga amb Targeta de crèdit, passem al TPV, altrament mostrem el comprovant if ($DADES_MATRICULA['MODALITAT'] == MatriculesPeer::PAGAMENT_TARGETA || $DADES_MATRICULA['MODALITAT'] == MatriculesPeer::PAGAMENT_TELEFON) { // echo '<FORM name="COMPRA" action="https://sis-t.sermepa.es:25443/sis/realizarPago" method="POST" target="TPV">'; echo '<FORM name="COMPRA" action="https://sis.sermepa.es/sis/realizarPago" method="POST" target="TPV">'; foreach ($TPV as $K => $T) { echo input_hidden_tag($K, $T); } } else { echo '<form method="post" action="gestio/gMatricules">'; } //Carreguem totes les dades de matrícula foreach ($DADES_MATRICULA as $K => $V) { $str = "DADES_MATRICULA[" . $K . "]"; echo input_hidden_tag($str, $V); } $IDC = $DADES_MATRICULA['CURS']; $ESPLE = $ISPLE ? '(EN ESPERA)' : ''; ?> <FIELDSET class="REQUADRE"><LEGEND class="LLEGENDA">Verificació de la matrícula</LEGEND> <TABLE class="FORMULARI" style="magin-right:40px;"> <TR><TD><b>DNI</b></TD> <TD><?php echo $DADES_MATRICULA['DNI']; ?> </TD></TR> <TR><TD><b>NOM</b></TD> <TD><?php echo $DADES_MATRICULA['NOM']; ?> </TD></TR> <TR><TD><b>PAGAMENT</b></TD><TD><?php echo MatriculesPeer::textPagament($DADES_MATRICULA['MODALITAT']); ?> </TD></TR> <TR><TD><b>IMPORT</b></TD> <TD><?php echo $DADES_MATRICULA['PREU'] . '€'; ?> </TD></TR> <TR><TD><b>DATA</b></TD> <TD><?php echo $DADES_MATRICULA['DATA']; ?> </TD></TR> <TR><TD><b>DESCOMPTE</b></TD> <TD><?php echo MatriculesPeer::textDescomptes($DADES_MATRICULA['DESCOMPTE']); ?> </TD></TR> <TR><TD><b>CURS</b></TD> <TD> <TABLE width="100%" class="FORMULARI"> <?php $CURS = CursosPeer::retrieveByPK($DADES_MATRICULA['CURS']); ?> <TR> <TD><?php echo $CURS->getCodi(); ?> </TD> <TD><?php echo $CURS->getTitolcurs() . ' ' . $ESPLE; ?> </TD> <TD><?php echo $CURS->CalculaPreu($DADES_MATRICULA['DESCOMPTE']) . '€'; ?> </TD> </TR> </TABLE> </TD></TR> <TR><TD colspan="7"><?php echo submit_tag('Matriculeu-me', array('NAME' => 'BSAVE', 'style' => 'width:100px')); ?> <BR /></TD></TR> </TABLE> </FIELDSET> </FORM> <?php }
static function CalculaPreu($IDCURS, $DESCOMPTE, $idS) { //Recuperem les places del curs $PLACES = CursosPeer::getPlaces($IDCURS, $idS); //Si les places ocupades són iguals o més que el total, fem la matrícula gratuïta. if ($PLACES['OCUPADES'] >= $PLACES['TOTAL']) { $DESCOMPTE = MatriculesPeer::REDUCCIO_GRATUIT; } //Carreguem el curs i retornem el preu reduit o normal segons el que hem entrat $CURS = CursosPeer::retrieveByPK($IDCURS); switch ($DESCOMPTE) { case MatriculesPeer::REDUCCIO_CAP: return $CURS->getPreu(); case MatriculesPeer::REDUCCIO_ATURAT: return $CURS->getPreur(); case MatriculesPeer::REDUCCIO_JUBILAT: return $CURS->getPreur(); case MatriculesPeer::REDUCCIO_MENOR_25_ANYS: return $CURS->getPreur(); case MatriculesPeer::REDUCCIO_GRATUIT: return 0; case MatriculesPeer::REDUCCIO_ESPECIAL: return $CURS->getPreur(); } }
/** * 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)); } }
</form> <?php } elseif ($MODE == 'LLISTAT_ALUMNES') { ?> <div class="REQUADRE"> <div class="TITOL">Llistat d'alumnes <a href="<?php echo url_for('gestio/gCursos?accio=IMPR_LLISTAT_ALUMNES_CURS&IDC=' . $IDC); ?> "><img style="padding-left:10px;" src="/images/template/page_white_word.png" /></a></div> <?php //Carreguem el curs en qüestió per la info. $OC = CursosPeer::retrieveByPK($IDC); //Passem les matrícules a array_ordenat. $A_MAT = array(); foreach ($MATRICULES as $OM) { $A_MAT[$OM->getEstat()][$OM->getIdmatricules()] = $OM; } //Fem els tabs indicant quantes n'hi ha a cada un. Si n'hi ha 0 no apareix if (sizeof($MATRICULES) == 0) { echo 'No hi ha cap alumne matriculat.'; } echo '<div id="tabs">'; echo ' <ul>'; if (isset($A_MAT[MatriculesPeer::RESERVAT])) { echo ' <li><a href="#RESERVAT-T">Reservat (' . sizeof($A_MAT[MatriculesPeer::RESERVAT]) . ')</a></li>'; } if (isset($A_MAT[MatriculesPeer::ACCEPTAT_PAGAT])) {
/** * hospiciActions::executeCursos() * * Part de mostra de cursos a l'hospici * * @param mixed $request * @return void */ public function executeCursos(sfWebRequest $request) { $this->setLayout('hospici'); $this->setTemplate('indexCursos'); $this->accio = $request->getParameter('accio', 'index'); //Carrego la cerca $this->CERCA = $this->getUser()->getSessionPar('cerca', array()); $C = $this->CERCA; $this->DESPLEGABLES = array(); $this->AUTH = $this->getUser()->isAuthenticated(); $this->CURSOS_MATRICULATS = MatriculesPeer::h_getMatriculesCursosUsuariArray($this->getUser()->getSessionPar('idU')); if ($this->accio == 'cerca_cursos' || $this->accio == 'inici') { //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); //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'); } $C2 = $this->getCercaCursosComplet($C); //Faig la cerca dels cursos de l'Hospici i ho retorno amb valors //La cerca hauria de tornar els cursos, segons els paràmetres i a més els llistats amb els valors. $RET = CursosPeer::getCursosCercaHospici($C2['TEXT'], $C2['SITE'], $C2['POBLE'], $C2['CATEGORIA'], $C2['DATA'], $C2['P']); $this->LLISTAT_CURSOS = $RET['PAGER']; $LCURSOS = $RET['LCURSOS']; $this->DESPLEGABLES['SELECT_POBLACIONS'] = CursosPeer::getPoblacionsCursosHospici($LCURSOS); $this->DESPLEGABLES['SELECT_ENTITATS'] = CursosPeer::getEntitatCursosHospici($LCURSOS); $this->DESPLEGABLES['SELECT_CATEGORIES'] = CursosPeer::getCategoriaCursosHospici($LCURSOS); $this->DESPLEGABLES['SELECT_DATES'] = CursosPeer::getDatesCursosHospici($LCURSOS); //Guardem a sessió la cerca "actual" $this->CERCA = $C2; $this->getUser()->setSessionPar('cerca', $this->CERCA); $this->MODE = 'CERCA'; } elseif ($this->accio == 'detall_curs') { $this->CURS = CursosPeer::retrieveByPK($request->getParameter('idC')); $this->MODE = 'DETALL'; } }
/** * hospiciActions::executeEspais() * * Part de mostra dels espais per reservar a l'hospici * * @param mixed $request * @return void */ public function executeEspais(sfWebRequest $request) { $this->setLayout('hospici'); $this->setTemplate('indexReservaEspais'); $this->accio = $request->getParameter('accio', 'index'); //Carrego la cerca $this->CERCA = $this->getUser()->getSessionPar('cerca'); switch ($this->accio) { case 'cerca_cursos': //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_CURSOS = CursosPeer::getCursosHospici($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_curs': $this->CURS = CursosPeer::retrieveByPK($request->getParameter('idC')); $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'; } }
/** * Ens torna el codi HTML del document per imprimir quan tenim una matrícula amb pagament en metàl·lic per caixer. * */ public static function DocMatriculaPagamentCaixer($OM, $idS) { $inici = OptionsPeer::getString('PAG_CAIXER_CODI_OP', $idS); $entitat = OptionsPeer::getString('PAG_CAIXER_CODI_ENTITAT', $idS); $referencia = str_pad(strval($OM->getIdmatricules()), 11, '0', STR_PAD_LEFT); //Càlcul de valor de check $ponderacions = array(10 => 2, 9 => 3, 8 => 4, 7 => 5, 6 => 6, 5 => 7, 4 => 8, 3 => 9, 2 => 2, 1 => 3, 0 => 4); $tot = 0; for ($i = 10; $i >= 0; $i--) { $tot += $referencia[$i] * $ponderacions[$i]; } $cc = $tot % 11; if ($cc == 10) { $cc = 0; } //Afegim el valor de check a la referència i seguim. $referencia .= $cc; $import = str_pad(strval($OM->getPagat() * 100), 10, '0', STR_PAD_LEFT); $codi = $inici . $entitat . $referencia . $import; $barcode = new phpCode128($codi, 150, false, false); $barcode->setEanStyle(true); $barcode->setAutoAdjustFontSize(true); $barcode->saveBarcode(OptionsPeer::getString('SF_WEBSYSROOT', 1) . 'tmp/' . $idS . '-barcode.png'); //Comença la càrrega d'informació. $i = 1; $HTML = OptionsPeer::getString('BODY_DOC_MATR_CAIXER', $idS); //CONSULTEM USUARI $OU = UsuarisPeer::retrieveByPK($OM->getUsuarisusuariid()); $OC = CursosPeer::retrieveByPK($OM->getCursosidcursos()); $HTML = str_replace('@@LOGO_URL@@', OptionsPeer::getString('LOGO_URL', $idS), $HTML); $HTML = str_replace('@@CODI_BARRES@@', $idS, $HTML); $HTML = str_replace('@@TIPUS_PAGAMENT@@', $OM->getTpagamentString(), $HTML); $HTML = str_replace('@@CODI@@', $codi, $HTML); $HTML = str_replace('@@ENTITAT@@', $entitat, $HTML); $HTML = str_replace('@@REFERENCIA@@', $referencia, $HTML); $HTML = str_replace('@@IMPORT@@', $OM->getPagat() . '€', $HTML); $HTML = str_replace('@@FACTURA@@', $OM->getIdmatricules(), $HTML); $HTML = str_replace('@@CODI_CLIENT@@', $OM->getUsuarisusuariid(), $HTML); $HTML = str_replace('@@DATA_FACTURA@@', $OM->getDatainscripcio('d/m/Y'), $HTML); $HTML = str_replace('@@NOM@@', $OU->getNomComplet(), $HTML); $HTML = str_replace('@@TELEFON@@', $OU->getTelefonString(), $HTML); $HTML = str_replace('@@NIF@@', $OU->getDni(), $HTML); $HTML = str_replace('@@CARRER@@', $OU->getAdreca(), $HTML); $HTML = str_replace('@@POBLE@@', $OU->getPoblacioString(), $HTML); $HTML = str_replace('@@CODI_POSTAL@@', $OU->getCodipostal(), $HTML); $HTML = str_replace('@@CONCEPTE@@', $OC->getTitolcurs(), $HTML); $HTML = str_replace('@@DIA@@', $OC->getDatainici('d/m/Y'), $HTML); $HTML = str_replace('@@HORARIS@@', $OC->getHoraris(), $HTML); $HTML = str_replace('@@P@@', $OM->getPagat(), $HTML); $HTML = str_replace('@@Q@@', 1, $HTML); $HTML = str_replace('@@I@@', $OM->getPagat(), $HTML); $HTML = str_replace('@@BASE@@', $OM->getPagat(), $HTML); $HTML = str_replace('@@IVA@@', 0, $HTML); $HTML = str_replace('@@TOTAL@@', $OM->getPagat(), $HTML); $HTML = str_replace('@@TITULAR@@', $OM->getTitularDB(), $HTML); $HTML = str_replace('@@CCC@@', $OM->getCcc(), $HTML); return $HTML; }
function VerificaMatricula($TPV, $DADES_MATRICULA, $ISPLE, $IDS) { $RET = ""; //Si la matricula es paga amb Targeta de crèdit, passem al TPV, altrament mostrem el comprovant if ($DADES_MATRICULA['MODALITAT'] == MatriculesPeer::PAGAMENT_TARGETA || $DADES_MATRICULA['MODALITAT'] == MatriculesPeer::PAGAMENT_TELEFON) { $URL = OptionsPeer::getString('TPV_URL', $IDS); $RET .= '<FORM name="COMPRA" action="' . $URL . '" method="POST" target="TPV">'; //$RET .= '<FORM name="COMPRA" action="https://sis-t.sermepa.es:25443/sis/realizarPago" method="POST" target="TPV">'; //$RET .= '<form name="COMPRA" action="https://sis.sermepa.es/sis/realizarPago" method="POST" target="TPV">'; foreach ($TPV as $K => $T) { $RET .= input_hidden_tag($K, $T); } } else { $RET .= '<form method="post" action="gestio/uGestio?accio=FI_MATRICULA">'; } //Carreguem totes les dades de matrícula foreach ($DADES_MATRICULA as $K => $V) { $str = "DADES_MATRICULA[" . $K . "]"; $RET .= input_hidden_tag($str, $V); } $IDC = $DADES_MATRICULA['CURS']; $ESPLE = $ISPLE ? '(EN ESPERA)' : ''; $RET .= '<FIELDSET class="REQUADRE"><LEGEND class="LLEGENDA">Verificació de la matrícula</LEGEND>'; $RET .= ' <TABLE class="FORMULARI" style="magin-right:40px;"> <TR><TD><b>DNI</b></TD> <TD>' . $DADES_MATRICULA['DNI'] . '</TD></TR> <TR><TD><b>NOM</b></TD> <TD>' . $DADES_MATRICULA['NOM'] . '</TD></TR> <TR><TD><b>PAGAMENT</b></TD><TD>' . MatriculesPeer::textPagament($DADES_MATRICULA['MODALITAT']) . '</TD></TR> <TR><TD><b>IMPORT</b></TD> <TD>' . $DADES_MATRICULA['PREU'] . '€' . '</TD></TR> <TR><TD><b>DATA</b></TD> <TD>' . $DADES_MATRICULA['DATA'] . '</TD></TR> <TR><TD><b>DESCOMPTE</b></TD> <TD>' . MatriculesPeer::textDescomptes($DADES_MATRICULA['DESCOMPTE']) . '</TD></TR> <TR><TD><b>CURS</b></TD> <TD>'; $RET .= '<TABLE width="100%" class="FORMULARI">'; $CURS = CursosPeer::retrieveByPK($DADES_MATRICULA['CURS']); $RET .= ' <TR> <TD>' . $CURS->getCodi() . '</TD> <TD>' . $CURS->getTitolcurs() . ' ' . $ESPLE . '</TD> <TD>' . $CURS->CalculaPreu($DADES_MATRICULA['DESCOMPTE']) . '€' . '</TD> </TR> </TABLE> </TD></TR> </TABLE> <div style="text-align:right"> <button type="submit" name="BPAGAMATRICULA" class="BOTO_ACTIVITAT" > ' . image_tag('template/coins.png') . ' Finalitzar la matrícula </button> </div> </FIELDSET> </FORM>'; return $RET; }
/** * hospiciActions::executeCursos() * * Part de mostra de cursos a l'hospici * * @param mixed $request * @return void */ public function executeCursos(sfWebRequest $request) { $this->setLayout('hospici'); $this->setTemplate('indexCursos'); $this->accio = $request->getParameter('accio', 'index'); //Carrego la cerca $this->CERCA = $this->getUser()->getSessionPar('cerca', array()); $C = $this->CERCA; $this->DESPLEGABLES = array(); $this->AUTH = $this->getUser()->isAuthenticated(); $this->IDU = $this->getUser()->getSessionPar('idU'); $this->CURSOS_MATRICULATS = MatriculesPeer::h_getMatriculesCursosUsuariArray($this->getUser()->getSessionPar('idU')); $this->MISSATGE = ""; $this->IDU = $this->getUser()->getSessionPar('idU'); if ($this->accio == 'cerca_cursos' || $this->accio == 'inici') { /** * @param $P = Pàgina actual del llistat * @param $C = Cerca amb els paràmetres corresponents * */ //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); //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'); } $C2 = $this->getCercaCursosComplet($C); //Faig la cerca dels cursos de l'Hospici i ho retorno amb valors //La cerca hauria de tornar els cursos, segons els paràmetres i a més els llistats amb els valors. $this->LLISTAT_CURSOS = CursosPeer::getCursosCercaHospici($C2['TEXT'], $C2['SITE'], $C2['POBLE'], $C2['CATEGORIA'], $C2['DATA'], $C2['P']); $RET = array(); foreach ($this->LLISTAT_CURSOS as $OC) { $RET[$OC->getidCursos()] = $OC->getidCursos(); } $this->DESPLEGABLES['SELECT_POBLACIONS'] = CursosPeer::getPoblacionsCursosHospici($RET); $this->DESPLEGABLES['SELECT_ENTITATS'] = CursosPeer::getEntitatCursosHospici($RET); $this->DESPLEGABLES['SELECT_CATEGORIES'] = CursosPeer::getCategoriaCursosHospici($RET); $this->DESPLEGABLES['SELECT_DATES'] = CursosPeer::getDatesCursosHospici($RET); //Guardem a sessió la cerca "actual" $this->CERCA = $C2; $this->getUser()->setSessionPar('cerca', $this->CERCA); $this->MODE = 'CERCA'; } elseif ($this->accio == 'detall_curs') { $this->CURS = CursosPeer::retrieveByPK($request->getParameter('idC')); $this->MODE = 'DETALL'; switch ($request->getParameter('mis')) { case 'ERR_USUARI': $this->MISSATGE = "Hi ha hagut algun problema carregant el seu usuari. Si us plau posi's en contacte amb informatica@casadecultura.org."; case 'ERR_CURS': $this->MISSATGE = "Hi ha hagut algun problema carregant el curs al que es vol matricular. Si us plau posi's en contacte amb informatica@casadecultura.org."; case 'ERR_JA_TE_UNA_MATRICULA': $this->MISSATGE = "Vostè ja està matriculat a aquest curs. Si us plau posi's en contacte amb informatica@casadecultura.org."; } } }