예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * 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;
 }
예제 #3
0
 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;
 }
예제 #4
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);
 }
예제 #5
0
파일: _gestio.php 프로젝트: nagiro/intra
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 
}
예제 #6
0
파일: CursosPeer.php 프로젝트: nagiro/intra
 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();
     }
 }
예제 #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
      	            
     </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])) {
예제 #9
0
 /**
  * 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';
     }
 }
예제 #10
0
 /**
  * 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';
     }
 }
예제 #11
0
 /**
  * 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;
 }
예제 #12
0
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;
}
예제 #13
0
 /**
  * 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.";
         }
     }
 }