コード例 #1
0
ファイル: Cursos.php プロジェクト: nagiro/hospici_cultural
 public function countMatriculesActives($idS)
 {
     $C = new Criteria();
     $C = MatriculesPeer::criteriaMatriculat($C, false);
     $C->add(MatriculesPeer::CURSOS_IDCURSOS, $this->getIdcursos());
     return MatriculesPeer::doCount($C);
 }
コード例 #2
0
ファイル: MatriculesForm.class.php プロジェクト: nagiro/intra
 public function setup()
 {
     $this->setWidgets(array('idMatricules' => new sfWidgetFormInputHidden(), 'Usuaris_UsuariID' => new sfWidgetFormInputHidden(), 'Cursos_idCursos' => new sfWidgetFormChoice(array('choices' => CursosPeer::getSelectCursos())), 'Estat' => new sfWidgetFormChoice(array('choices' => MatriculesPeer::getEstatsSelect())), 'DataInscripcio' => new sfWidgetFormDateTime(array('date' => array('format' => '%day%/%month%/%year%'))), 'Pagat' => new sfWidgetFormInputText(), 'tReduccio' => new sfWidgetFormChoice(array('choices' => MatriculesPeer::selectDescomptes())), 'tPagament' => new sfWidgetFormChoice(array('choices' => MatriculesPeer::selectPagament())), 'Comentari' => new sfWidgetFormTextarea()));
     $this->setValidators(array('idMatricules' => new sfValidatorPropelChoice(array('model' => 'Matricules', 'column' => 'idMatricules', 'required' => false)), 'Usuaris_UsuariID' => new sfValidatorPropelChoice(array('model' => 'Usuaris', 'column' => 'UsuariID')), 'Cursos_idCursos' => new sfValidatorPropelChoice(array('model' => 'Cursos', 'column' => 'idCursos')), 'Estat' => new sfValidatorInteger(array('required' => false)), 'Comentari' => new sfValidatorString(array('required' => false)), 'DataInscripcio' => new sfValidatorDateTime(array('required' => false)), 'Pagat' => new sfValidatorNumber(array('required' => false)), 'tReduccio' => new sfValidatorInteger(), 'tPagament' => new sfValidatorInteger()));
     $this->widgetSchema->setLabels(array('Cursos_idCursos' => 'Curs: ', 'Estat' => 'Estat: ', 'Comentari' => 'Comentari: ', 'DataInscripcio' => 'Data d\'inscripció: ', 'Descompte' => 'Te descompte? ', 'tReduccio' => 'Te reducció? ', 'tPagament' => 'Com ha pagat? '));
     $this->widgetSchema->setNameFormat('matricules[%s]');
     $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
 }
コード例 #3
0
 public static function ComprovaUsuari($A, $idU, $arguments)
 {
     //Si estem al període d'antics alumnes i no ho és, emetem error
     if (!MatriculesPeer::isAnticAlumne($idU, $arguments['IDS']) && MatriculesPeer::isPeriodeAnticsAlumnes($arguments['IDS'])) {
         throw new sfValidatorError($A, "Error: L'usuari no ha cursat cap curs amb anterioritat");
     }
     return $idU;
 }
コード例 #4
0
ファイル: Cursos.php プロジェクト: nagiro/intra
 public function countMatriculesActives($idS)
 {
     $C = new Criteria();
     $C = MatriculesPeer::getCriteriaActiu($C, $idS);
     $C1 = $C->getNewCriterion(MatriculesPeer::ESTAT, MatriculesPeer::ACCEPTAT_NO_PAGAT);
     $C2 = $C->getNewCriterion(MatriculesPeer::ESTAT, MatriculesPeer::ACCEPTAT_PAGAT);
     $C1->addOr($C2);
     $C->add($C1);
     $C->add(MatriculesPeer::CURSOS_IDCURSOS, $this->getIdcursos());
     return MatriculesPeer::doCount($C);
 }
コード例 #5
0
ファイル: CursosForm.class.php プロジェクト: nagiro/intra
 public function setup()
 {
     $this->WEB_IMATGE = 'images/cursos/';
     $this->WEB_PDF = 'images/cursos/';
     $this->BASE = sfConfig::get('sf_websysroot');
     $this->setWidgets(array('idCursos' => new sfWidgetFormInputHidden(), 'Codi' => new sfWidgetFormInputText(array(), array('style' => 'width:100px;')), 'TitolCurs' => new sfWidgetFormInputText(array(), array('style' => 'width:100%;')), 'isActiu' => new sfWidgetFormChoice(array('choices' => array(1 => 'Sí', 0 => 'No'))), 'Places' => new sfWidgetFormInputText(array(), array('style' => 'width:10%;')), 'Descripcio' => new sfWidgetFormTextareaTinyMCE(array(), array()), 'Preu' => new sfWidgetFormInputText(array(), array('style' => 'width:10%;')), 'Preur' => new sfWidgetFormInputText(array(), array('style' => 'width:10%;')), 'Horaris' => new sfWidgetFormInputText(array(), array('style' => 'width:50%;')), 'Categoria' => new sfWidgetFormChoice(array('choices' => CursosPeer::getSelectCategories())), 'OrdreSortida' => new sfWidgetFormInputText(array(), array('style' => 'width:10%;')), 'DataInici' => new sfWidgetFormJQueryDateMy(array('format' => '%day%/%month%/%year%'), array()), 'DataInMatricula' => new sfWidgetFormJQueryDateMy(array('format' => '%day%/%month%/%year%'), array()), 'DataFiMatricula' => new sfWidgetFormJQueryDateMy(array('format' => '%day%/%month%/%year%'), array()), 'site_id' => new sfWidgetFormInputHidden(), 'VisibleWEB' => new sfWidgetFormChoice(array('choices' => array(1 => 'Sí', 0 => 'No'))), 'actiu' => new sfWidgetFormInputHidden(), 'isEntrada' => new sfWidgetFormChoice(array('choices' => array(0 => 'No', 1 => 'Només reserva', 2 => 'Matrícula i pagament amb targeta')), array()), 'PDF' => new sfWidgetFormInputFileEditableMy(array('file_src' => '/' . $this->WEB_PDF . $this->getObject()->getPdf(), 'is_image' => false, 'with_delete' => false)), 'ADescomptes' => new sfWidgetFormChoice(array('renderer_class' => 'sfWidgetFormSelectManyMy', 'choices' => MatriculesPeer::selectDescomptes(), 'multiple' => true, 'expanded' => true), array('class' => 'ul_espais'))));
     $this->setDefaults(array('isEntrada' => CursosPeer::HOSPICI_RESERVA, 'VisibleWEB' => 1, 'isActiu' => 1));
     $this->setValidators(array('idCursos' => new sfValidatorPropelChoice(array('model' => 'Cursos', 'column' => 'idCursos', 'required' => false)), 'TitolCurs' => new sfValidatorString(array('required' => true)), 'isActiu' => new sfValidatorBoolean(array('required' => true)), 'Places' => new sfValidatorInteger(array('required' => true)), 'Codi' => new sfValidatorString(array('required' => true)), 'Descripcio' => new sfValidatorString(array('required' => true)), 'Preu' => new sfValidatorInteger(array('required' => true)), 'Preur' => new sfValidatorInteger(array('required' => true)), 'Horaris' => new sfValidatorString(array('required' => true)), 'Categoria' => new sfValidatorString(array('required' => true)), 'OrdreSortida' => new sfValidatorInteger(array('required' => false)), 'DataInMatricula' => new sfValidatorDate(array('required' => true)), 'DataFiMatricula' => new sfValidatorDate(array('required' => true)), 'DataInici' => new sfValidatorDate(array('required' => true)), 'VisibleWEB' => new sfValidatorInteger(array('required' => true)), 'site_id' => new sfValidatorInteger(array('min' => -128, 'max' => 127, 'required' => false)), 'actiu' => new sfValidatorInteger(array('min' => -128, 'max' => 127, 'required' => false)), 'isEntrada' => new sfValidatorInteger(array('required' => true), array()), 'PDF' => new sfValidatorFile(array('path' => $this->BASE . $this->WEB_PDF, 'required' => false)), 'ADescomptes' => new sfValidatorString(array('required' => false))));
     $this->widgetSchema->setLabels(array('TitolCurs' => 'Títol del curs: ', 'isActiu' => 'Matrícula oberta? ', 'Places' => 'Núm de places: ', 'Descripcio' => 'Descripció: ', 'Preu' => 'Preu: ', 'Preur' => 'Preu reduït: ', 'Horaris' => 'Descripció d\'horaris: ', 'Categoria' => 'Categoria: ', 'OrdreSortida' => 'Ordre de sortida: ', 'DataInici' => 'Inici del curs: ', 'DataInMatricula' => 'WEB: Inici matriculació: ', 'DataFiMatricula' => 'WEB: Fi matriculació: ', 'VisibleWEB' => 'WEB: Visible a hospici?', 'isEntrada' => 'WEB: Reserva i pagament?', 'PDF' => 'WEB: Doc. pdf: ', 'ADescomptes' => 'WEB: Descompte possible? '));
     $this->widgetSchema->setNameFormat('cursos[%s]');
     $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
     $this->widgetSchema->setFormFormatterName('Span');
 }
コード例 #6
0
 public function setup()
 {
     $A_Years = array();
     $avui = date('Y', time());
     for ($year = $avui - 10; $year < $avui + 10; $year++) {
         $A_Years[$year] = $year;
     }
     $IDU = $this->getObject()->getUsuarisUsuariid();
     $this->setWidgets(array('idMatricules' => new sfWidgetFormInputHidden(), 'Usuaris_UsuariID' => new sfWidgetFormInputHidden(), 'Cursos_idCursos' => new sfWidgetFormChoice(array('choices' => CursosPeer::getSelectCursosMatriculaInterna($this->getOption('IDS'), $this->getObject()->getCursosidcursos()))), 'Estat' => new sfWidgetFormChoice(array('choices' => MatriculesPeer::getEstatsSelect())), 'DataInscripcio' => new sfWidgetFormDateTime(array('date' => array('format' => '%day%/%month%/%year%'))), 'Data_pagament' => new sfWidgetFormJQueryDate(array('format' => '%day%/%month%/%year%', 'years' => $A_Years), array()), 'data_baixa' => new sfWidgetFormDate(array('format' => '%day%/%month%/%year%')), 'Pagat' => new sfWidgetFormInputText(), 'tReduccio' => new sfWidgetFormChoice(array('choices' => DescomptesPeer::getDescomptesCursArray($this->getOption('IDC'), true))), 'tPagament' => new sfWidgetFormChoice(array('choices' => TipusPeer::getTipusPagamentInternArray())), 'idDadesBancaries' => new sfWidgetFormChoice(array('choices' => DadesBancariesPeer::getSelectBySelect(DadesBancariesPeer::getDadesUsuari($IDU), false, true))), 'Comentari' => new sfWidgetFormTextarea()));
     $this->setValidators(array('idMatricules' => new sfValidatorPropelChoice(array('model' => 'Matricules', 'column' => 'idMatricules', 'required' => false)), 'Usuaris_UsuariID' => new sfValidatorPropelChoice(array('model' => 'Usuaris', 'column' => 'UsuariID')), 'Cursos_idCursos' => new sfValidatorPropelChoice(array('model' => 'Cursos', 'column' => 'idCursos')), 'Estat' => new sfValidatorInteger(array('required' => false)), 'Comentari' => new sfValidatorString(array('required' => false)), 'DataInscripcio' => new sfValidatorDateTime(array('required' => false)), 'data_baixa' => new sfValidatorDateTime(array('required' => false)), 'Data_pagament' => new sfValidatorDateTime(array('required' => false)), 'Pagat' => new sfValidatorNumber(array('required' => false)), 'tReduccio' => new sfValidatorInteger(), 'tPagament' => new sfValidatorInteger(), 'idDadesBancaries' => new sfValidatorInteger(array('required' => false))));
     $this->widgetSchema->setLabels(array('Cursos_idCursos' => 'Curs: ', 'Estat' => 'Estat: ', 'Comentari' => 'Comentari: ', 'DataInscripcio' => 'Data d\'inscripció: ', 'data_baixa' => 'Data de baixa: ', 'Data_pagament' => 'Data de pagament: ', 'Descompte' => 'Te descompte? ', 'tReduccio' => 'Te reducció? ', 'tPagament' => 'Com ha pagat? ', 'idDadesBancaries' => 'CCC'));
     $this->widgetSchema->setNameFormat('matricules[%s]');
     $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
 }
コード例 #7
0
 /**
  * Retrieve multiple objects by pkey.
  *
  * @param      array $pks List of primary keys
  * @param      PropelPDO $con the connection to use
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(MatriculesPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(MatriculesPeer::DATABASE_NAME);
         $criteria->add(MatriculesPeer::IDMATRICULES, $pks, Criteria::IN);
         $objs = MatriculesPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
コード例 #8
0
 /**
  * Funció que mostra matrícules al llistat d'alumnes
  * */
 function mostraMatricules($NOM, $MATRICULES, $OC, $ESTAT, $is_alumne)
 {
     $RET = "";
     $RET .= ' <div id="' . $NOM . '">';
     $RET .= ' <table width="100%" cellspacing="0" class="LLISTAT">';
     if ($is_alumne) {
         $OU = MatriculesPeer::retrieveByPK(end($MATRICULES)->getIdmatricules())->getUsuaris();
         $RET .= ' <tr><td class="TITOL" colspan="4">' . $OU->getNomComplet() . '</td></tr>';
     } else {
         $RET .= ' <tr><td class="TITOL" colspan="4">' . $OC->getCodi() . ' - ' . $OC->getTitolcurs() . '</td></tr>';
     }
     $RET .= ' <tr><td colspan="4"><br /></td></tr>';
     $i = 1;
     foreach ($MATRICULES as $OM) {
         $C = $OM->getCursos();
         $U = $OM->getUsuaris();
         $ODB = DadesBancariesPeer::retrieveByPK($OM->getIddadesbancaries());
         $TEXT_REDUCCIO = "";
         if (!$OM->hasDescompte()) {
             $PREU = $OM->getPagat();
         } else {
             $PREU = $OM->getPagat();
             $TEXT_REDUCCIO = ' |R';
         }
         if ($OM->getEstat() == $ESTAT) {
             $nom = ucwords(mb_strtolower($U->getNomComplet(), 'UTF-8'));
             $RET .= '<tr>';
             if ($is_alumne) {
                 $RET .= '<td width="60%"> <strong>' . link_to($C->getTitolcurs(), 'gestio/gMatricules?accio=E&IDM=' . $OM->getIdmatricules()) . '</strong> (' . $C->getCodi() . ')   <br /> <span style="padding-left:19px; color:#888;"> ' . $U->getEmail() . ' - ' . $U->getTelefonString() . ' </span></td>';
             } else {
                 $RET .= '<td width="60%">' . str_pad($i++, 2, '0', STR_PAD_LEFT) . ' <strong>' . link_to($nom, 'gestio/gMatricules?accio=E&IDM=' . $OM->getIdmatricules()) . '</strong> (' . $U->getDni() . ')  <br /> <span style="padding-left:19px; color:#888;"> ' . $U->getEmail() . ' - ' . $U->getTelefonString() . ' </span></td>';
             }
             $RET .= '<td width="20%">' . $OM->getDatainscripcio('d-m-Y H:i') . '</td>';
             $RET .= '<td width="10%">' . $OM->getPagat() . '€' . ($OM->hasDescompte() ? '|R' : '') . '</td>';
             $RET .= '<td width="10%">' . link_to(image_tag('/images/template/page_white_edit.png') . '<span>Edita la matrícula</span>', 'gestio/gMatricules?accio=E&IDM=' . $OM->getIdmatricules(), array('class' => 'tt2')) . ' ' . link_to(image_tag('/images/template/page_white_get.png') . '<span>Imprimeix matrícula</span>', 'gestio/gMatricules?accio=PRINT_PAGAMENT&IDM=' . $OM->getIdmatricules(), array('class' => 'tt2')) . ' ';
             $RET .= $OM->getDatabaixa('Y-m-d') > 0 ? link_to(image_tag('/images/template/page_white_put.png') . '<span>Imprimeix baixa</span>', 'gestio/gMatricules?accio=PB&IDM=' . $OM->getIdmatricules(), array('class' => 'tt2')) . ' ' : ' ';
             $RET .= $OM->getComentari() != "Hospici" && $OM->getComentari() != "" ? '<a href="#" class="tt2">' . image_tag('/images/template/blog.png') . '<span>' . $OM->getComentari() . '</span></a>' : ' ';
             $RET .= '</td>';
             $RET .= '</tr>';
         }
     }
     $RET .= ' </table></div>';
     return $RET;
 }
コード例 #9
0
ファイル: actions.class.php プロジェクト: nagiro/intra
 /**
  * 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
ファイル: actions.class.php プロジェクト: nagiro/intra
 public function executeGInformes(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     $this->IDS = $this->getUser()->getSessionPar('idS');
     $this->POTVEURE = array(1 => true);
     //$this->POTVEURE = array(1=>UsuarisPeer::canSeeComptabilitat($this->getUser()->getSessionPar('idU')));
     $this->accio = $request->getParameter('accio');
     $this->getUser()->addLogAction('inside', 'gInformes');
     if ($request->hasParameter('BGENERADOC')) {
         $this->accio = 'RESUM_ACTIVITATS';
     }
     switch ($this->accio) {
         case 'MAT_DIA_PAG':
             $this->MODE = $request->getParameter('mode_pagament');
             $this->DADES = array();
             foreach (MatriculesPeer::getMatriculesPagadesDia($this->MODE, $this->IDS) as $OM) {
                 $OU = $OM->getUsuaris();
                 $OC = $OM->getCursos();
                 $this->DADES[$OM->getIdmatricules()]['DATA'] = $OM->getDatainscripcio('d/m/Y');
                 $this->DADES[$OM->getIdmatricules()]['IMPORT'] = $OM->getPagat();
                 $this->DADES[$OM->getIdmatricules()]['DNI'] = $OU->getDni();
                 $this->DADES[$OM->getIdmatricules()]['NOM'] = $OU->getNomComplet();
                 $this->DADES[$OM->getIdmatricules()]['CURS'] = $OC->getCodi();
                 $this->DADES[$OM->getIdmatricules()]['HORA'] = $OM->getDatainscripcio('H:i');
                 $this->DADES[$OM->getIdmatricules()]['ORDER'] = $OM->getTpvOperacio();
                 $this->DADES[$OM->getIdmatricules()]['ESTAT'] = $OM->getEstat();
             }
             break;
         case 'RESUM_ACTIVITATS':
             $RP = $request->getParameter('informe_activitats');
             $this->FACTIVITATS = new InformeActivitatsForm(null, array('IDS' => $this->IDS));
             $this->FACTIVITATS->bind($RP);
             if ($request->hasParameter('BGENERADOC')) {
                 $this->LOA = ActivitatsPeer::getLlistatWord($this->FACTIVITATS, $this->IDS);
             }
             break;
     }
 }
コード例 #11
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.";
         }
     }
 }
コード例 #12
0
 public static function ph_EstatCurs($AUTH, $OC, $url, $CURSOS_MATRICULATS, $IDU)
 {
     //L'usuari està autentificat?
     $AUTEN = isset($AUTH) && $AUTH > 0;
     //Queden places al curs?
     $HiHaPlaces = !$OC->isPle();
     //És antic alumne
     $IsAnticAlumne = MatriculesPeer::isAnticAlumneArray(substr($OC->getCodi(), 0, 3), $CURSOS_MATRICULATS);
     //Quan comença?
     $datai = $OC->getDatainmatricula('U');
     //La matrícula està activa
     $isActiu = $OC->getIsactiu();
     //L'alumne ja està matriculat?
     $JaMat = isset($CURSOS_MATRICULATS[$OC->getIdcursos()]);
     //Hi ha llista d'espera?
     $LLE = $OC->getIsLlistaEspera(false);
     //Si puc accedir al curs, ok. Sinó marco com a restringit
     if (!$OC->getIsRestringit()) {
         $Rest = true;
     } elseif (CursosPeer::getRestrictedNotes($IDU, $OC->getIdCursos())) {
         $Rest = true;
     } else {
         $Rest = false;
     }
     $url = url_for('@hospici_detall_curs?idC=' . $OC->getIdcursos() . '&titol=' . $OC->getNomForUrl());
     $idS = $OC->getSiteId();
     $OS = SitesPeer::retrieveByPK($idS);
     $nom = $OS->getNom();
     $email = $OS->getEmailString();
     $tel = $OS->getTelefonString();
     $MatAntIdi = CursosPeer::IsAnticAlumne($OC->getIdcursos(), $CURSOS_MATRICULATS);
     $dataiA = mktime(0, 0, 0, 9, 12, 2011);
     $RET = "";
     //Si la data d'inici de matrícula és inferior a la d'avui, mostrem que encara no s'han iniciat les matrícules
     $avui = time();
     //Si no està autentificat
     if (!$AUTEN) {
         return "NO_AUTENTIFICAT";
         //Ja està autentificat
     } else {
         //Ja ha estat matriculat
         if ($JaMat) {
             //Seleccionem la matrícula del curs que volem veure l'estat
             $OM = MatriculesPeer::retrieveByPK($CURSOS_MATRICULATS[$OC->getIdcursos()]);
             if ($OM instanceof Matricules) {
                 //Si l'usuari ja està matriculat, doncs li marquem
                 if (MatriculesPeer::ACCEPTAT_NO_PAGAT == $OM->getEstat() || MatriculesPeer::ACCEPTAT_PAGAT == $OM->getEstat()) {
                     return "MATRICULAT";
                     //L'usuari està en espera
                 } elseif (MatriculesPeer::EN_ESPERA == $OM->getEstat()) {
                     return "EN_ESPERA";
                     //L'usuari està en espera'
                 } elseif (MatriculesPeer::RESERVAT == $OM->getEstat()) {
                     return "RESERVAT";
                 }
             } else {
                 return "ANULADA";
             }
             //No està matriculat
         } else {
             //El curs està restringit
             if (!$Rest) {
                 return "CURS_RESTRINGIT";
                 //No queden places
             } elseif (!$HiHaPlaces) {
                 //No queden places però hi ha possibilitat de llista d'espera
                 if ($LLE) {
                     return "LLISTA_ESPERA";
                 } else {
                     return "NO_HI_PLACES";
                 }
                 //Si no hi ha cap tipus de pagament extern, vol dir que no hi ha reserva en línia.
             } elseif (in_array(TipusPeer::PAGAMENT_CAP, $OC->getPagamentextern()) > 0) {
                 return "NO_HI_HA_RESERVA_LINIA";
                 //Encara no ha iniciat el període de matrícules.
             } elseif ($avui < $datai || date('d', $avui) == date('d', $datai) && date('m', $avui) == date('m', $datai) && date('H') < 9) {
                 return "ABANS_PERIODE_MATRICULA";
                 // Si ja som dins el període de matrícules, mirem si el curs està o no actiu.
             } elseif (!$isActiu) {
                 return "CURS_INACTIU";
                 //Si la data és inferior a la data d'inici de matrícula per a nous alumnes, ho indiquem.
             } elseif (!$IsAnticAlumne) {
                 return "ANTIC_ALUMNE";
                 //Si no és cap de les anteriors, pot matricular-se.
             } else {
                 return "POT_MATRICULAR";
             }
         }
     }
 }
コード例 #13
0
 static function getMatricules($idC, $idS, $amb_llista_espera = false, $amb_baixa = false, $amb_tots_els_estats = false)
 {
     $Curs = self::retrieveByPK($idC);
     $C = new Criteria();
     $C = MatriculesPeer::criteriaMatriculat($C, $amb_llista_espera, $amb_baixa, $amb_tots_els_estats);
     $C->add(MatriculesPeer::CURSOS_IDCURSOS, $idC);
     $C->addJoin(MatriculesPeer::USUARIS_USUARIID, UsuarisPeer::USUARIID);
     $C->addAscendingOrderByColumn(MatriculesPeer::DATAINSCRIPCIO);
     $C->addAscendingOrderByColumn(UsuarisPeer::COG1);
     $C->addAscendingOrderByColumn(UsuarisPeer::COG2);
     $C->addAscendingOrderByColumn(UsuarisPeer::NOM);
     return MatriculesPeer::doSelect($C);
 }
コード例 #14
0
ファイル: BaseCursos.php プロジェクト: nagiro/intra
 /**
  * If this collection has already been initialized with
  * an identical criteria, it returns the collection.
  * Otherwise if this Cursos is new, it will return
  * an empty collection; or if this Cursos has previously
  * been saved, it will retrieve related Matriculess from storage.
  *
  * This method is protected by default in order to keep the public
  * api reasonable.  You can provide public methods for those you
  * actually need in Cursos.
  */
 public function getMatriculessJoinUsuaris($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN)
 {
     if ($criteria === null) {
         $criteria = new Criteria(CursosPeer::DATABASE_NAME);
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collMatriculess === null) {
         if ($this->isNew()) {
             $this->collMatriculess = array();
         } else {
             $criteria->add(MatriculesPeer::CURSOS_IDCURSOS, $this->idcursos);
             $this->collMatriculess = MatriculesPeer::doSelectJoinUsuaris($criteria, $con, $join_behavior);
         }
     } else {
         // the following code is to determine if a new query is
         // called for.  If the criteria is the same as the last
         // one, just return the collection.
         $criteria->add(MatriculesPeer::CURSOS_IDCURSOS, $this->idcursos);
         if (!isset($this->lastMatriculesCriteria) || !$this->lastMatriculesCriteria->equals($criteria)) {
             $this->collMatriculess = MatriculesPeer::doSelectJoinUsuaris($criteria, $con, $join_behavior);
         }
     }
     $this->lastMatriculesCriteria = $criteria;
     return $this->collMatriculess;
 }
コード例 #15
0
 public function executeGInformes(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     $this->IDS = $this->getUser()->getSessionPar('idS');
     $this->POTVEURE = array(1 => true);
     //$this->POTVEURE = array(1=>UsuarisPeer::canSeeComptabilitat($this->getUser()->getSessionPar('idU')));
     $this->accio = $request->getParameter('accio');
     $this->getUser()->addLogAction('inside', 'gInformes');
     if ($request->hasParameter('BGENERADOC')) {
         $this->accio = 'RESUM_ACTIVITATS';
     }
     if ($request->hasParameter('BGENERAXML')) {
         $this->accio = 'RESUM_ACTIVITATS';
     }
     if ($request->hasParameter('BGENERACSV')) {
         $this->accio = 'RESUM_ACTIVITATS';
     }
     switch ($this->accio) {
         case 'MAT_DIA_PAG':
             $this->MODE = $request->getParameter('mode_pagament');
             $this->DADES = array();
             foreach (MatriculesPeer::getMatriculesPagadesDia($this->MODE, $this->IDS) as $OM) {
                 $OU = $OM->getUsuaris();
                 $OC = $OM->getCursos();
                 $this->DADES[$OM->getIdmatricules()]['DATA'] = $OM->getDatainscripcio('d/m/Y');
                 $this->DADES[$OM->getIdmatricules()]['IMPORT'] = $OM->getPagat();
                 $this->DADES[$OM->getIdmatricules()]['DNI'] = $OU->getDni();
                 $this->DADES[$OM->getIdmatricules()]['NOM'] = $OU->getNomComplet();
                 $this->DADES[$OM->getIdmatricules()]['CURS'] = $OC->getCodi();
                 $this->DADES[$OM->getIdmatricules()]['HORA'] = $OM->getDatainscripcio('H:i');
                 $this->DADES[$OM->getIdmatricules()]['ORDER'] = $OM->getTpvOperacio();
                 $this->DADES[$OM->getIdmatricules()]['ESTAT'] = $OM->getEstat();
                 $this->DADES[$OM->getIdmatricules()]['ESTATS'] = $OM->getEstatString();
                 $this->DADES[$OM->getIdmatricules()]['PAGAMENT'] = $OM->getTpagamentString();
             }
             break;
             //Treu un resum de les activitats aplicant-hi les etiquetes corresponents
         //Treu un resum de les activitats aplicant-hi les etiquetes corresponents
         case 'RESUM_ACTIVITATS':
             $RP = $request->getParameter('informe_activitats');
             $this->FACTIVITATS = new InformeActivitatsForm(null, array('IDS' => $this->IDS));
             $this->FACTIVITATS->bind($RP);
             if ($request->hasParameter('BGENERADOC')) {
                 $this->LOA = ActivitatsPeer::getLlistatWord($this->FACTIVITATS, $this->IDS, true, false);
             } elseif ($request->hasParameter('BGENERACSV')) {
                 $this->LOH = ActivitatsPeer::getLlistatWord($this->FACTIVITATS, $this->IDS, false, true);
                 $nom = OptionsPeer::getString('SF_WEBSYSROOT', $this->IDS) . 'tmp/' . $this->IDS . 'NEWS.csv';
                 $file = fopen($nom, 'w');
                 foreach ($this->LOH as $OH) {
                     $OA = $OH->getActivitats();
                     $LE = $OH->getArrayEspais();
                     foreach ($LE as $OE) {
                         if ($OE->getEspaiid() == 2 || $OE->getEspaiid() == 4 || $OE->getEspaiid() == 19 || $OE->getEspaiid() == 5) {
                             $pis = "P1";
                         } elseif ($OE->getEspaiid() > 9 && $OE->getEspaiid() < 16) {
                             $pis = "P2";
                         } else {
                             $pis = "PB";
                         }
                         if (stripos($OE->getNom(), "Fita") > 0) {
                             $Nom_espai = "Sala Domènech Fita";
                         } elseif (stripos($OE->getNom(), "A+B") > 0) {
                             $Nom_espai = "Sala d'exposicions";
                         } else {
                             $Nom_espai = $OE->getNom();
                         }
                         fputcsv($file, array($OA->getTmig(), $OH->getDia('d/m/Y'), $OH->getHoraInici('H:i'), $Nom_espai, $pis, $OA->getOrganitzador()), ",", "\"");
                     }
                 }
                 fclose($file);
                 $response = sfContext::getInstance()->getResponse();
                 $response->setContentType('text/plain');
                 $response->setHttpHeader('Content-Disposition', 'attachment; filename="Agenda.csv');
                 $response->setHttpHeader('Content-Length', filesize($nom));
                 $response->setContent(file_get_contents($nom, false));
                 $response->sendHttpHeaders();
                 $response->sendContent();
                 throw new sfStopException();
             } elseif ($request->hasParameter('BGENERAXML')) {
                 $this->setLayout(null);
                 $this->setTemplate(null);
                 $LOH = ActivitatsPeer::getLlistatWord($this->FACTIVITATS, $this->IDS, false);
                 //Creem l'objecte XML
                 $i = 1;
                 $document = "<document>\n";
                 foreach ($LOH as $OH) {
                     $OA = $OH->getActivitats();
                     $LE = $OH->getArrayEspais();
                     $document .= "<caixa>\n";
                     $document .= "  <data_inicial>" . $OA->getPrimerHorari()->getDia('Y-m-d') . "</data_inicial>\n";
                     $document .= "  <data_fi>" . $OA->getUltimHorari()->getDia('Y-m-d') . "</data_fi>\n";
                     $document .= "  <tipus_activitat>" . $OA->getNomTipusActivitat() . "</tipus_activitat>\n";
                     $document .= "  <cicle>" . $OA->getCicles()->getTmig() . "</cicle>\n";
                     $document .= "  <tipologia>" . $OA->getCategories() . "</tipologia>\n";
                     $document .= "  <importancia>" . $OA->getImportancia() . "</importancia>\n";
                     $document .= "  <titol>" . $OA->getTmig() . "</titol>\n";
                     $document .= "  <text>" . strip_tags(html_entity_decode($OA->getDmig())) . "</text>\n";
                     $document .= "  <url>" . $this->getController()->genUrl('@web_menu_click_activitat?idCicle=' . $OA->getCiclesCicleid() . '&idActivitat=' . $OA->getActivitatid() . '&titol=' . $OA->getNomForUrl(), true) . "</url>\n";
                     $document .= "  <hora_inici>" . $OH->getHorainici("H.i") . "</hora_inici>\n";
                     $document .= "  <hora_fi>" . $OH->getHorafi("H.i") . "</hora_fi>\n";
                     $document .= "  <espais>" . implode(",", $LE) . "</espais>\n";
                     $document .= "  <organitzador>" . html_entity_decode($OA->getOrganitzador()) . "</organitzador>\n";
                     $document .= "  <info_practica>" . strip_tags(html_entity_decode($OA->getInfopractica())) . "</info_practica>\n";
                     $document .= "  <url_img_s>http://www.hospici.cat/images/activitats/A-" . $OA->getActivitatid() . "-M.jpg</url_img_s>\n";
                     $document .= "  <url_img_m>http://www.hospici.cat/images/activitats/A-" . $OA->getActivitatid() . "-L.jpg</url_img_m>\n";
                     $document .= "  <url_img_l>http://www.hospici.cat/images/activitats/A-" . $OA->getActivitatid() . "-XL.jpg</url_img_l>\n";
                     $document .= "</caixa>\n";
                 }
                 $document .= "</document>\n";
                 $nom = OptionsPeer::getString('SF_WEBSYSROOT', $this->IDS) . 'tmp/' . $this->IDS . 'NEWS.txt';
                 fwrite(fopen($nom, 'w'), $document);
                 $response = sfContext::getInstance()->getResponse();
                 $response->setContentType('text/plain');
                 $response->setHttpHeader('Content-Disposition', 'attachment; filename="News.txt');
                 $response->setHttpHeader('Content-Length', filesize($nom));
                 $response->setContent(file_get_contents($nom, false));
                 $response->sendHttpHeaders();
                 $response->sendContent();
                 throw new sfStopException();
             }
             break;
             //Mostra les activitats a quatre mesos vista que estan marcats com a publicables per web.
         //Mostra les activitats a quatre mesos vista que estan marcats com a publicables per web.
         case 'CONTINGUT_WEB':
             //Carrego les activitats
             $dia = date('d');
             $mes = date('m');
             $any = date('Y');
             $inici = mktime(0, 0, 0, $mes, $dia, $any);
             $fi = mktime(0, 0, 0, $mes + 5, $dia, $any);
             $LLISTAT_ACTIVITATS_WEB = array();
             $LOH = HorarisPeer::cerca(null, null, $inici, $fi, null, $this->IDS);
             foreach ($LOH as $id => $OH) {
                 $OA = $OH->getActivitats();
                 //Si és una activitat correcta... la consultem.
                 if ($OA instanceof Activitats) {
                     $id = $OA->getActivitatid();
                     //Si es pot publicar al web
                     if (!isset($LLISTAT_ACTIVITATS_WEB[$id]) && $OA->getPublicaweb()) {
                         $LLISTAT_ACTIVITATS_WEB[$id]['OA'] = $OA;
                         $LLISTAT_ACTIVITATS_WEB[$id]['text'] = strlen($OA->getTmig()) > 5;
                         $LLISTAT_ACTIVITATS_WEB[$id]['desc'] = strlen($OA->getDmig()) > 5;
                         $LLISTAT_ACTIVITATS_WEB[$id]['img_m'] = file_exists(getcwd() . '/images/activitats/A-' . $id . '-M.jpg');
                         $LLISTAT_ACTIVITATS_WEB[$id]['img_l'] = file_exists(getcwd() . '/images/activitats/A-' . $id . '-L.jpg');
                         $LLISTAT_ACTIVITATS_WEB[$id]['img_xl'] = file_exists(getcwd() . '/images/activitats/A-' . $id . '-XL.jpg');
                         $LLISTAT_ACTIVITATS_WEB[$id]['nivell'] = $OA->getImportancia();
                     } else {
                         $LLISTAT_ACTIVITATS_WEB[$id]['OA'] = $OA;
                         $LLISTAT_ACTIVITATS_WEB[$id]['text'] = strlen($OA->getTmig()) > 5;
                         $LLISTAT_ACTIVITATS_WEB[$id]['desc'] = strlen($OA->getDmig()) > 5;
                         $LLISTAT_ACTIVITATS_WEB[$id]['img_m'] = file_exists(getcwd() . '/images/activitats/A-' . $id . '-M.jpg');
                         $LLISTAT_ACTIVITATS_WEB[$id]['img_l'] = file_exists(getcwd() . '/images/activitats/A-' . $id . '-L.jpg');
                         $LLISTAT_ACTIVITATS_WEB[$id]['img_xl'] = file_exists(getcwd() . '/images/activitats/A-' . $id . '-XL.jpg');
                         $LLISTAT_ACTIVITATS_WEB[$id]['nivell'] = $OA->getImportancia();
                     }
                 }
             }
             $this->LLISTAT_ACTIVITATS_WEB = $LLISTAT_ACTIVITATS_WEB;
             break;
     }
 }
コード例 #16
0
ファイル: CursosPeer.php プロジェクト: nagiro/intra
 static function getMatricules($idC, $idS)
 {
     $Curs = self::retrieveByPK($idC);
     $C = new Criteria();
     $C = MatriculesPeer::getCriteriaActiu($C, $idS);
     $c3 = $C->getNewCriterion(MatriculesPeer::ESTAT, MatriculesPeer::ACCEPTAT_NO_PAGAT);
     $c1 = $C->getNewCriterion(MatriculesPeer::ESTAT, MatriculesPeer::ACCEPTAT_PAGAT);
     $c2 = $C->getNewCriterion(MatriculesPeer::ESTAT, MatriculesPeer::EN_ESPERA);
     $c1->addOr($c2);
     $c1->addOr($c3);
     $C->add($c1);
     $C->addJoin(MatriculesPeer::USUARIS_USUARIID, UsuarisPeer::USUARIID);
     $C->addAscendingOrderByColumn(UsuarisPeer::COG1);
     $C->addAscendingOrderByColumn(UsuarisPeer::COG2);
     $C->addAscendingOrderByColumn(UsuarisPeer::NOM);
     return $Curs->getMatriculess($C);
 }
コード例 #17
0
ファイル: Usuaris.php プロジェクト: nagiro/hospici_cultural
 public function getDataIniciMatricula()
 {
     $num = MatriculesPeer::getMatriculesUsuari($this->getUsuariid(), $this->getSiteId());
     $D = 0;
     if ($num > 0) {
         list($Y, $M, $D) = explode('-', OptionsPeer::getString('DATA_MAT_ANTICS', $this->getSiteId()));
         $D = mktime(0, 0, 0, $M, $D, $Y);
     } else {
         list($Y, $M, $D) = explode('-', OptionsPeer::getString('DATA_MAT_TOTHOM', $this->getSiteId()));
         $D = mktime(0, 0, 0, $M, $D, $Y);
     }
     return $D;
 }
コード例 #18
0
ファイル: gCursosSuccess.php プロジェクト: nagiro/intra
function mostraCursos($MATRICULES, $estat)
{
    $RET = "";
    foreach ($MATRICULES as $M) {
        $C = $M->getCursos();
        $U = $M->getUsuaris();
        $TEXT_REDUCCIO = "";
        if ($M->getTreduccio() == MatriculesPeer::REDUCCIO_CAP) {
            $PREU = $M->getPagat();
        } else {
            $PREU = $M->getPagat();
            $TEXT_REDUCCIO = ' |R';
        }
        if ($M->getEstat() == $estat) {
            $RET .= '<TR>';
            $RET .= '<TD class="LINIA" width="15%">' . link_to($U->getDni(), 'gestio/gMatricules?accio=E&IDM=' . $M->getIdmatricules()) . '</TD>';
            $RET .= '<TD class="LINIA" width="40%"><b>' . $U->getNomComplet() . '</b><BR />' . $U->getAdreca() . '<BR />' . $U->getCodiPostal() . ' - ' . $U->getPoblacioString() . '<BR />' . $U->getTelefonString() . ' | ' . $M->getDatainscripcio() . ' <br />' . $U->getEmail() . '</TD>';
            $RET .= '<TD class="LINIA" width="45%">' . $C->getCodi() . ' ' . $C->getTitolcurs() . ' (' . $PREU . '€' . $TEXT_REDUCCIO . ') <br />';
            $RET .= MatriculesPeer::getEstatText($M->getEstat()) . ' ' . $M->getComentari() . '</TD>';
            $RET .= '</TR>';
        }
    }
    return $RET;
}
コード例 #19
0
ファイル: BaseMatricules.php プロジェクト: nagiro/intra
 /**
  * Populates the object using an array.
  *
  * This is particularly useful when populating an object from one of the
  * request arrays (e.g. $_POST).  This method goes through the column
  * names, checking to see whether a matching key exists in populated
  * array. If so the setByName() method is called for that column.
  *
  * You can specify the key type of the array by additionally passing one
  * of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME,
  * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM.
  * The default key type is the column's phpname (e.g. 'AuthorId')
  *
  * @param      array  $arr     An array to populate the object from.
  * @param      string $keyType The type of keys the array uses.
  * @return     void
  */
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = MatriculesPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setIdmatricules($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setUsuarisUsuariid($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setCursosIdcursos($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setEstat($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setComentari($arr[$keys[4]]);
     }
     if (array_key_exists($keys[5], $arr)) {
         $this->setDatainscripcio($arr[$keys[5]]);
     }
     if (array_key_exists($keys[6], $arr)) {
         $this->setPagat($arr[$keys[6]]);
     }
     if (array_key_exists($keys[7], $arr)) {
         $this->setTreduccio($arr[$keys[7]]);
     }
     if (array_key_exists($keys[8], $arr)) {
         $this->setTpagament($arr[$keys[8]]);
     }
     if (array_key_exists($keys[9], $arr)) {
         $this->setSiteId($arr[$keys[9]]);
     }
     if (array_key_exists($keys[10], $arr)) {
         $this->setActiu($arr[$keys[10]]);
     }
     if (array_key_exists($keys[11], $arr)) {
         $this->setTpvOperacio($arr[$keys[11]]);
     }
     if (array_key_exists($keys[12], $arr)) {
         $this->setTpvOrder($arr[$keys[12]]);
     }
 }
コード例 #20
0
ファイル: uGestioSuccess.php プロジェクト: nagiro/intra
function LlistaCursos($LCURSOS, $DATA_INICI)
{
    $RET = '<form method="post" action="' . url_for('gestio/uGestio') . '" id="FORM_CURSOS">';
    $RET .= '<FIELDSET class="REQUADRE"><LEGEND class="LLEGENDA">Cursos disponibles </LEGEND>';
    $RET .= '<div style="margin-bottom:10px; padding:10p">Atenció: Si el curs es suspèn per motius interns o per falta d\'alumnes, l\'import cobrat serà retornat.</div>';
    if (sizeof($LCURSOS) == 0) {
        $RET .= 'Actualment no hi ha cap curs disponible.</fieldset></form>';
    } else {
        $RET .= '           
    				<TABLE class="DADES">
                    <tr>
    				    <td class="TITOL" colspan="2">CODI</td>						   	
    					<td class="TITOL">NOM</td>
    					<td class="TITOL">PREU</td>
    					<td class="TITOL" width="70px">INICI</td>
    					<td class="TITOL">PLACES</td>
    				</tr>';
        $CAT_ANT = "";
        foreach ($LCURSOS as $C) {
            if ($C->getVisibleweb() == 1) {
                if ($CAT_ANT != $C->getCategoria()) {
                    $RET .= '<TR><TD colspan="6" class="TITOL_CATEGORIA">' . $C->getCategoriaText() . '</TD></TR>';
                }
                $PLACES = $C->getPlacesArray();
                $ple = $PLACES['OCUPADES'] == $PLACES['TOTAL'] ? "style=\"background-color:#FFCCCC;\"" : "";
                $jple = $PLACES['OCUPADES'] == $PLACES['TOTAL'];
                $RET .= '<TR>
    					       <TD ' . $ple . '>' . radiobutton_tag('D[CURS]', $C->getIdcursos(), false, array('onClick' => 'ActivaBoto(' . $jple . ');', 'class' => 'class_cursos ')) . '</TD>';
                $RET .= '  <TD ' . $ple . '>';
                $RET .= '       <a href="#TB_inline?height=480&width=640&inlineId=hidden' . $C->getIdcursos() . '&modal=false" class="thickbox">
    					      				' . $C->getCodi() . '
                                    </a>
    				                <div style="display: none;" id="hidden' . $C->getIdcursos() . '">
                                            <div id="TEXT_WEB">
    			      						 ' . $C->getDescripcio() . '
                                            </div>
          							</div>
      		                    </TD>';
                $RET .= '<TD ' . $ple . '>' . $C->getTitolcurs() . ' ( ' . $C->getHoraris() . ' ) </TD>';
                $RET .= '<TD ' . $ple . '>' . $C->getPreu() . ' €</TD>';
                $RET .= '<TD ' . $ple . '>' . $C->getDatainici('d-m-Y') . '</TD>';
                $RET .= '<TD ' . $ple . '>' . $PLACES['OCUPADES'] . '/' . $PLACES['TOTAL'] . '</TD>';
                $RET .= '</TR>';
                $CAT_ANT = $C->getCategoria();
            }
        }
        $RET .= '</TABLE><br />';
        $avui = time();
        if ($DATA_INICI >= $avui) {
            $BOT = "<div class=\"text\" style=\"font-weight:bold; \">El període de matrícules comença el dia " . date('d/m/Y', $DATA_INICI) . '.<br /> Encara no es pot matricular.</div>';
        } else {
            $BOT = "";
            //$BOT = "<div>".submit_tag('Matriculeu-me',array('name'=>'BMATRICULA' , 'class'=>'BOTO_ACTIVITAT' , 'style'=>'width:100px')).'</div>';
        }
        $RET .= '   <TABLE class="FORMULARI" width="100%">					   		
                            <TR><TD width="100px;" style="font-size:10px;"><b>DESCOMPTE</b></TD><td>' . select_tag('D[DESCOMPTE]', options_for_select(MatriculesPeer::selectDescomptesWeb(), MatriculesPeer::REDUCCIO_CAP)) . '</TD></TR>
    					   	<TR><TD width="100px"></TD>
                                <TD>' . $BOT . '<br />                                                                                                                                                                                                  
                                </TD>
                            </TR>
                        </TABLE>';
        if (empty($BOT)) {
            $RET .= '<div style="text-align:right">
                            <button type="submit" name="BMATRICULA" class="BOTO_ACTIVITAT">
                                ' . image_tag('template/bookmark_document.png') . ' Matricular-me
                            </button>
                        </div>';
        }
        $RET .= '
                    </fieldset>                                                                
                 </form>                                            
                ';
    }
    return $RET;
}
コード例 #21
0
ファイル: MatriculesPeer.php プロジェクト: nagiro/intra
 static function getMatriculesCurs($idC, $idS)
 {
     $C = new Criteria();
     $C = self::getCriteriaActiu($C, $idS);
     $C->add(MatriculesPeer::CURSOS_IDCURSOS, $idC);
     $C->addAscendingOrderByColumn(MatriculesPeer::ESTAT);
     $C->addJoin(MatriculesPeer::USUARIS_USUARIID, UsuarisPeer::USUARIID);
     $C->addDescendingOrderByColumn(MatriculesPeer::ESTAT);
     $C->addAscendingOrderByColumn(UsuarisPeer::COG1);
     $C->addAscendingOrderByColumn(UsuarisPeer::COG2);
     $C->addAscendingOrderByColumn(UsuarisPeer::NOM);
     $C->add(MatriculesPeer::ESTAT, MatriculesPeer::EN_PROCES, CRITERIA::NOT_EQUAL);
     return MatriculesPeer::doSelect($C);
 }
コード例 #22
0
ファイル: myUser.class.php プロジェクト: nagiro/intra
 public static function ph_EstatCurs($AUTH, $OC, $url, $CURSOS_MATRICULATS)
 {
     $AUTEN = isset($AUTH) && $AUTH > 0;
     $TNReserva = $OC->getIsEntrada() == CursosPeer::HOSPICI_NO_RESERVA;
     $TReserva = $OC->getIsEntrada() == CursosPeer::HOSPICI_RESERVA;
     $TReservaT = $OC->getIsEntrada() == CursosPeer::HOSPICI_RESERVA_TARGETA;
     $HiHaPlaces = $OC->isPle();
     $datai = $OC->getDatainmatricula('U');
     $JaMat = isset($CURSOS_MATRICULATS[$OC->getIdcursos()]);
     $url = url_for('@hospici_detall_curs?idC=' . $OC->getIdcursos() . '&titol=' . $OC->getNomForUrl());
     $idS = $OC->getSiteId();
     $OS = SitesPeer::retrieveByPK($idS);
     $nom = $OS->getNom();
     $email = $OS->getEmailString();
     $tel = $OS->getTelefonString();
     $MatAntIdi = CursosPeer::IsAnticAlumne($OC->getIdcursos(), $CURSOS_MATRICULATS);
     $dataiA = mktime(0, 0, 0, 9, 12, 2011);
     $RET = "";
     //Si la data d'inici de matrícula és inferior a la d'avui, mostrem que encara no s'han iniciat les matrícules
     $avui = time();
     //Si no està autentificat
     if (!$AUTEN) {
         return "NO_AUTENTIFICAT";
         //Ja està autentificat
     } else {
         //Ja ha estat matriculat
         if ($JaMat) {
             $OM = MatriculesPeer::retrieveByPK($CURSOS_MATRICULATS[$OC->getIdcursos()]);
             if ($OM instanceof Matricules) {
                 //Si l'usuari ja està matriculat, doncs li marquem
                 if (MatriculesPeer::ACCEPTAT_NO_PAGAT == $OM->getEstat() || MatriculesPeer::ACCEPTAT_PAGAT == $OM->getEstat()) {
                     return "MATRICULAT";
                     //L'usuari està en espera'
                 } elseif (MatriculesPeer::EN_ESPERA == $OM->getEstat()) {
                     return "EN_ESPERA";
                 }
             } else {
                 return "ANULADA";
             }
             //No està matriculat
         } else {
             //No queden places
             if (!$HiHaPlaces) {
                 return "NO_HI_PLACES";
                 //No hi ha reserva en línia
             } elseif ($TNReserva) {
                 return "NO_HI_HA_RESERVA_LINIA";
                 //Encara no es pot matricular i és alumne antic d'idiomes
             } elseif ($MatAntIdi && $avui < $dataiA) {
                 return "ABANS_PERIODE_MATRICULA_AA_IDIOMES";
                 //Encara no es pot matricular i no és un alumne antic d'idiomes o el curs no és d'idiomes
             } elseif (!$MatAntIdi && $avui < $datai) {
                 return "ABANS_PERIODE_MATRICULA";
                 //Es pot matricular
             } elseif ($TReserva || $TReservaT) {
                 return "POT_MATRICULAR";
             }
         }
     }
 }
コード例 #23
0
 /**
  * Funció que amb una resposta del TPV la valida i retorna els camps
  * @param $Ds_Merchant_Amount
  * @param $Ds_Merchant_Order
  * @param $Ds_Merchant_MerchantCode
  * @param $Ds_Merchant_Currency
  * @param $MerchantSignature
  * @param $password
  * @return boolean  
  * */
 public static function valTPV($Ds_SignatureVersion, $Ds_MerchantParameters, $Ds_Signature, $IDS)
 {
     //Creem objecte
     $RedSys = new sha256();
     //Descodifiquem i passem a array els paràmetres
     $decode = $RedSys->decodeMerchantParameters($Ds_MerchantParameters);
     $RedSys->stringToArray($decode);
     $parametres = $RedSys->vars_pay;
     $parametres['Error'] = 0;
     //Carreguem la id de matrícula i comencem el procés
     $idM = $parametres['Ds_MerchantData'];
     $OM = MatriculesPeer::retrieveByPK($idM);
     if ($OM instanceof Matricules) {
         $signatura_rebuda = $Ds_Signature;
         $signatura_generada = $RedSys->createMerchantSignatureNotif(OptionsPeer::getString('TPV_PASSWORD', $OM->getSiteid()), $Ds_MerchantParameters);
         //Si la signatura és correcta i no ha donat error, marquem la matrícula com a pagada
         if ($signatura_rebuda != $signatura_generada) {
             $parametres['Error'] = "SIGNATURA";
         } elseif ($parametres['Ds_Response'] != '0000') {
             $parametres['Error'] = "RESPONSE";
         } else {
             $preu = strval($parametres['Ds_Amount']) / 100;
             $OM->setEstat(MatriculesPeer::ACCEPTAT_PAGAT);
             $OM->setTpvOperacio($parametres['Ds_AuthorisationCode']);
             $OM->setTpvOrder($parametres['Ds_Order']);
             $OM->setPagat($preu);
             $OM->save();
             $parametres['OM'] = $OM;
         }
     } else {
         $parametres['Error'] = 'MATRICULA';
     }
     return $parametres;
 }
コード例 #24
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 
}
コード例 #25
0
ファイル: BaseCursosPeer.php プロジェクト: nagiro/intra
 /**
  * This is a method for emulating ON DELETE CASCADE for DBs that don't support this
  * feature (like MySQL or SQLite).
  *
  * This method is not very speedy because it must perform a query first to get
  * the implicated records and then perform the deletes by calling those Peer classes.
  *
  * This method should be used within a transaction if possible.
  *
  * @param      Criteria $criteria
  * @param      PropelPDO $con
  * @return     int The number of affected rows (if supported by underlying database driver).
  */
 protected static function doOnDeleteCascade(Criteria $criteria, PropelPDO $con)
 {
     // initialize var to track total num of affected rows
     $affectedRows = 0;
     // first find the objects that are implicated by the $criteria
     $objects = CursosPeer::doSelect($criteria, $con);
     foreach ($objects as $obj) {
         // delete related Matricules objects
         $criteria = new Criteria(MatriculesPeer::DATABASE_NAME);
         $criteria->add(MatriculesPeer::CURSOS_IDCURSOS, $obj->getIdcursos());
         $affectedRows += MatriculesPeer::doDelete($criteria, $con);
     }
     return $affectedRows;
 }
コード例 #26
0
ファイル: Matricules.php プロジェクト: nagiro/intra
 public function getEstatString()
 {
     return MatriculesPeer::getEstatText($this->getEstat());
 }
コード例 #27
0
ファイル: actions.class.php プロジェクト: nagiro/intra
 public function executeUsuaris(sfWebRequest $request)
 {
     $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->MISSATGE = "OK";
                 }
             }
         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();
             //Si no existeix una compra per aquest usuari, la fem, altrament, no fem res.
             if (!EntradesReservaPeer::ExisteixenEntradesComprades($this->IDU, $RS['idH'])) {
                 $OER->setUsuariid($this->IDU);
                 $OER->setHorarisid($RS['idH']);
                 $OER->setQuantes($RS['num']);
                 $OER->setData(date('Y-m-d H:i', time()));
                 $OER->setEstat(0);
                 $OER->setActiu(true);
                 $OER->save();
             }
             $this->SECCIO = 'COMPRA_ENTRADA';
             break;
         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;
     }
     $this->setLayout('hospici');
     //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->LMissatges = MissatgesPeer::getMissatgesUsuari();
 }
コード例 #28
0
ファイル: BaseUsuarisPeer.php プロジェクト: nagiro/intra
 /**
  * This is a method for emulating ON DELETE CASCADE for DBs that don't support this
  * feature (like MySQL or SQLite).
  *
  * This method is not very speedy because it must perform a query first to get
  * the implicated records and then perform the deletes by calling those Peer classes.
  *
  * This method should be used within a transaction if possible.
  *
  * @param      Criteria $criteria
  * @param      PropelPDO $con
  * @return     int The number of affected rows (if supported by underlying database driver).
  */
 protected static function doOnDeleteCascade(Criteria $criteria, PropelPDO $con)
 {
     // initialize var to track total num of affected rows
     $affectedRows = 0;
     // first find the objects that are implicated by the $criteria
     $objects = UsuarisPeer::doSelect($criteria, $con);
     foreach ($objects as $obj) {
         // delete related AppDocumentsPermisos objects
         $criteria = new Criteria(AppDocumentsPermisosPeer::DATABASE_NAME);
         $criteria->add(AppDocumentsPermisosPeer::IDUSUARI, $obj->getUsuariid());
         $affectedRows += AppDocumentsPermisosPeer::doDelete($criteria, $con);
         // delete related AppDocumentsPermisosDir objects
         $criteria = new Criteria(AppDocumentsPermisosDirPeer::DATABASE_NAME);
         $criteria->add(AppDocumentsPermisosDirPeer::IDUSUARI, $obj->getUsuariid());
         $affectedRows += AppDocumentsPermisosDirPeer::doDelete($criteria, $con);
         // delete related Cessio objects
         $criteria = new Criteria(CessioPeer::DATABASE_NAME);
         $criteria->add(CessioPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += CessioPeer::doDelete($criteria, $con);
         // delete related Factures objects
         $criteria = new Criteria(FacturesPeer::DATABASE_NAME);
         $criteria->add(FacturesPeer::VALIDAUSUARI, $obj->getUsuariid());
         $affectedRows += FacturesPeer::doDelete($criteria, $con);
         // delete related Matricules objects
         $criteria = new Criteria(MatriculesPeer::DATABASE_NAME);
         $criteria->add(MatriculesPeer::USUARIS_USUARIID, $obj->getUsuariid());
         $affectedRows += MatriculesPeer::doDelete($criteria, $con);
         // delete related Missatges objects
         $criteria = new Criteria(MissatgesPeer::DATABASE_NAME);
         $criteria->add(MissatgesPeer::USUARIS_USUARIID, $obj->getUsuariid());
         $affectedRows += MissatgesPeer::doDelete($criteria, $con);
         // delete related Personal objects
         $criteria = new Criteria(PersonalPeer::DATABASE_NAME);
         $criteria->add(PersonalPeer::IDUSUARI, $obj->getUsuariid());
         $affectedRows += PersonalPeer::doDelete($criteria, $con);
         // delete related Reservaespais objects
         $criteria = new Criteria(ReservaespaisPeer::DATABASE_NAME);
         $criteria->add(ReservaespaisPeer::USUARIS_USUARIID, $obj->getUsuariid());
         $affectedRows += ReservaespaisPeer::doDelete($criteria, $con);
         // delete related UsuarisApps objects
         $criteria = new Criteria(UsuarisAppsPeer::DATABASE_NAME);
         $criteria->add(UsuarisAppsPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += UsuarisAppsPeer::doDelete($criteria, $con);
         // delete related UsuarisMenus objects
         $criteria = new Criteria(UsuarisMenusPeer::DATABASE_NAME);
         $criteria->add(UsuarisMenusPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += UsuarisMenusPeer::doDelete($criteria, $con);
         // delete related UsuarisSites objects
         $criteria = new Criteria(UsuarisSitesPeer::DATABASE_NAME);
         $criteria->add(UsuarisSitesPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += UsuarisSitesPeer::doDelete($criteria, $con);
         // delete related Usuarisllistes objects
         $criteria = new Criteria(UsuarisllistesPeer::DATABASE_NAME);
         $criteria->add(UsuarisllistesPeer::USUARIS_USUARISID, $obj->getUsuariid());
         $affectedRows += UsuarisllistesPeer::doDelete($criteria, $con);
     }
     return $affectedRows;
 }
コード例 #29
0
ファイル: gMatriculesSuccess.php プロジェクト: nagiro/intra
	 			<?php 
    if (sizeof($MATRICULES) == 0) {
        echo '<tr><td class="LINIA" colspan="3">No hi ha cap matrícula amb aquests paràmetres.</td></tr>';
    } else {
        echo '<tr><td class="TITOL">DNI</td><td class="TITOL">NOM</td><td class="TITOL">DATA INICI</td></tr>';
        $i = 0;
        foreach ($MATRICULES as $M) {
            $C = $M->getCursos();
            $U = $M->getUsuaris();
            $TEXT_REDUCCIO = "";
            $PREU = $M->getPagat();
            echo '<tr>
									<td class="LINIA" width="15%">' . link_to($U->getdni(), 'gestio/gMatricules?accio=E&IDM=' . $M->getIdmatricules()) . '</td>
									<td class="LINIA" width="40%"><b>' . $U->getNomComplet() . '</b><BR />' . $U->getTelefonString() . ' | ' . $M->getdatainscripcio() . '<br />' . $U->getEmail() . '</td>
									<td class="LINIA" width="45%">' . $C->getCodi() . ' ' . $C->getTitolcurs() . ' (' . $PREU . '€' . $TEXT_REDUCCIO . ') <br />
								                     		       ' . MatriculesPeer::getEstatText($M->getEstat()) . ' ' . $M->getComentari() . ' ' . '<a href="' . url_for('gestio/gMatricules?accio=P&IDP=' . $M->getIdmatricules()) . '"><img src="' . $BASE . 'images/template/printer.png' . '" /></a>
								                     		       </td>							
								  </tr>';
        }
    }
    ?>
	      	</table>      
	      </div>
        
  <?php 
}
?>
  
      <div style="height:40px;"></div>
                
    </td>