Ejemplo n.º 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;
 }
Ejemplo n.º 2
0
 public function getNomUsuari()
 {
     //Si és un usuari, el busquem, altrament marquem el nom que hem entrat
     if (!is_null($this->getUsuariId())) {
         $OU = UsuarisPeer::retrieveByPK($this->getUsuariId());
         if ($OU instanceof Usuaris) {
             return $OU->getNomComplet();
         } else {
             return $this->getNomReserva();
         }
     } else {
         return $this->getNomReserva();
     }
 }
 public static function getFormulariDetall($idU, $idF)
 {
     //Carreguem el formulari formulari
     $OF = FormularisPeer::retrieveByPK($idF);
     if ($OF instanceof Formularis) {
         $FORM = $OF->getFormulari();
     } else {
         $FORM = "No s'ha trobat el formulari. ";
     }
     //Mirem si l'usuari ja en té algun de creat.
     $C = new Criteria();
     $C->add(FormularisRespostesPeer::IDUSUARIS, $idU);
     $C->add(FormularisRespostesPeer::IDFORMULARIS, $idF);
     $C->addDescendingOrderByColumn(FormularisRespostesPeer::IDFORMULARISRESPOSTES);
     $OFR = FormularisRespostesPeer::doSelectOne($C);
     //Analitzo el formulari i canvio els codis per inputs pertinents.
     $ARR = array();
     preg_match_all("/#@@(.*)@@#/", $FORM, $ARR);
     //Serà l'array amb els valors a carregar
     $A_D = array();
     //Si ja hi ha una resposta, reomplim el formulari
     if ($OFR instanceof FormularisRespostes) {
         $A_D = unserialize($OFR->getDades());
         //Si no hi ha cap registre previ, posem les dades de registre per estalviar feina.
     } else {
         $OU = UsuarisPeer::retrieveByPK($idU);
         if ($OU instanceof Usuaris) {
             $A_D = array('NOM' => $OU->getNom(), 'COGNOMS' => $OU->getCog1() . ' ' . $OU->getCog2(), 'DNI' => $OU->getDni(), 'POBLACIO' => $OU->getPoblacioString(), 'TELEFON' => $OU->getTelefonString(), 'EMAIL' => $OU->getEmail(), 'ENTITAT' => $OU->getEntitat(), 'ADRECA' => $OU->getAdreca(), 'CODI_POSTAL' => $OU->getCodipostal());
         }
     }
     //Construim el formulari amb els valors que hem extret del formulari
     foreach ($ARR[1] as $K => $V) {
         $A = explode("@@", $V);
         if ($A[0] == 'text') {
             if (isset($A_D[$A[1]])) {
                 $FORM = str_replace($ARR[0][$K], '<input type="text" value="' . $A_D[$A[1]] . '" name="formulari[' . $A[1] . ']" ' . $A[2] . ' />', $FORM);
             } else {
                 $FORM = str_replace($ARR[0][$K], '<input type="text" value="" name="formulari[' . $A[1] . ']" ' . $A[2] . ' />', $FORM);
             }
         } elseif ($A[0] == 'checkbox') {
             if (isset($A_D[$A[1]])) {
                 $FORM = str_replace($ARR[0][$K], '<input type="checkbox" checked="checked" name="formulari[' . $A[1] . ']" ' . $A[2] . ' />', $FORM);
             } else {
                 $FORM = str_replace($ARR[0][$K], '<input type="checkbox" name="formulari[' . $A[1] . ']" ' . $A[2] . ' />', $FORM);
             }
         }
     }
     return $FORM;
 }
Ejemplo n.º 4
0
 public static function getNom($idU)
 {
     return UsuarisPeer::retrieveByPK($idU)->getNomComplet();
 }
Ejemplo n.º 5
0
 /**
  * Funció que em diu si una persona pot matricular-se a un curs o no
  */
 public static function getRestrictedNotes($idU = "", $idC = "")
 {
     $OU = UsuarisPeer::retrieveByPK($idU);
     if ($OU instanceof Usuaris) {
         $DNI = $OU->getDni();
     } else {
         $DNI = "";
     }
     $file = fopen(OptionsPeer::getString('SF_WEBSYSROOT', 1) . 'documents/Notes-1.csv', "r");
     $RET = array();
     if ($file) {
         while (($data = fgetcsv($file, 0, ";", '"')) !== FALSE) {
             if (strtoupper($DNI) == strtoupper($data[4])) {
                 $i = 15;
                 $trobat = false;
                 while (isset($data[$i])) {
                     if ($data[$i + 1] == $idC) {
                         $RET[] = array_map("utf8_encode", $data);
                     }
                     $i = $i + 2;
                 }
             }
         }
         fclose($file);
         return sizeof($RET) > 0;
     } else {
         return false;
     }
 }
Ejemplo n.º 6
0
 public function executeGConfig(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     $this->IDS = $this->getUser()->getSessionPar('idS');
     $this->accio = $request->getParameter('accio', 'C');
     $ROPTIONS = $request->getParameter('options', array('option_id' => '0'));
     $RESPAIS = $request->getParameter('espais', array('EspaiID' => '0'));
     $RMATERIAL = $request->getParameter('materialgeneric', array('idMaterialGeneric' => ''));
     $RDESCOMPTE = $request->getParameter('descomptes', array('idDescompte' => '0'));
     $this->FOPTIONS = OptionsPeer::initialize($ROPTIONS['option_id'], $this->IDS, false);
     $this->FESPAIS = EspaisPeer::initialize($RESPAIS['EspaiID'], $this->IDS);
     $this->FMATERIAL = MaterialgenericPeer::initialize($RMATERIAL['idMaterialGeneric'], $this->IDS);
     $this->FENTITAT = SitesPeer::initialize($this->IDS);
     //$this->FDESCOMPTE = DescomptesPeer::initialize( $RDESCOMPTE['idDescompte'] , $this->IDS );
     //Agafem el codi de facebook de l'usuari
     $this->FBI = UsuarisPeer::getUserFbCode($this->getUser()->getSessionPar('idU'));
     $this->PARS = array();
     $this->PARS = myUser::f_FbAuth(false, $this->getController()->genUrl('@fb_link', true));
     //Carreguem les dades del facebook.
     $this->ERROR = "";
     if ($request->hasParameter('BNEWOPTION')) {
         $this->accio = 'NEW_OPTION';
     }
     if ($request->hasParameter('BSAVEOPTION')) {
         $this->accio = 'SAVE_OPTION';
     }
     if ($request->hasParameter('BSAVEESPAI')) {
         $this->accio = 'SAVE_ESPAI';
     }
     if ($request->hasParameter('BDELETEESPAI')) {
         $this->accio = 'DELETE_ESPAI';
     }
     if ($request->hasParameter('BSAVEMATERIAL')) {
         $this->accio = 'SAVE_MATERIAL';
     }
     if ($request->hasParameter('BDELETEMATERIAL')) {
         $this->accio = 'DELETE_MATERIAL';
     }
     if ($request->hasParameter('BSAVESITE')) {
         $this->accio = 'SAVE_SITE';
     }
     if ($request->hasParameter('BSAVEDESCOMPTE')) {
         $this->accio = 'SAVE_DESCOMPTE';
     }
     switch ($this->accio) {
         case 'AJAX_OPCIO':
             return $this->renderText(OptionsPeer::getString($request->getParameter('IDO'), $this->IDS));
             break;
         case 'NEW_OPTION':
             $this->FOPTIONS = OptionsPeer::initialize($ROPTIONS['option_id'], $this->IDS, true);
             break;
         case 'SAVE_OPTION':
             $this->FOPTIONS->bind($ROPTIONS);
             if ($this->FOPTIONS->isValid()) {
                 $this->FOPTIONS->save();
                 $this->getUser()->addLogAction($this->accio, 'gConfig', $this->FOPTIONS->getObject());
                 $this->FOPTIONS = OptionsPeer::initialize($this->FOPTIONS->getObject()->getOptionId(), $this->IDS, false);
             }
             break;
         case 'SAVE_ESPAI':
             //Si entrem un espai que és 0, llavors vol dir que fem un nou espai
             if ($RESPAIS['EspaiID'] == 0) {
                 unset($RESPAIS['EspaiID']);
             }
             $this->FESPAIS->bind($RESPAIS, $request->getFiles('espais'));
             if ($this->FESPAIS->isValid()) {
                 $this->FESPAIS->save();
                 $this->getUser()->addLogAction($this->accio, 'gConfig', $this->FESPAIS->getObject());
                 $this->FESPAIS = EspaisPeer::initialize($this->FESPAIS->getObject()->getEspaiid(), $this->IDS);
             }
             //Agafem els multimèdia dels paràmetres
             $AMR = $request->getParameter('multimedia');
             $FMR = $request->getFiles('multimedia');
             foreach ($AMR as $K => $MR) {
                 if ($MR['accio'] == 1 || $MR['accio'] == 0) {
                     //És nou o una modificació
                     $FM = MultimediaPeer::initialize($MR['multimedia_id'], $MR['site_id'], $MR['taula'], $MR['id_extern'], $K);
                     $FM->bind($MR, $FMR[$K]);
                     $FM->saveNewUpdate();
                 } elseif ($MR['accio'] == 2) {
                     //S'ha d'esborrar
                     $FM = MultimediaPeer::initialize($MR['multimedia_id'], $MR['site_id'], $MR['taula'], $MR['id_extern'], $K);
                     $FM->delete();
                 }
             }
             break;
         case 'DELETE_ESPAI':
             $this->FESPAIS->getObject()->setActiu(false)->save();
             $this->getUser()->addLogAction($this->accio, 'gConfig', $this->FESPAIS->getObject());
             $this->FESPAIS = EspaisPeer::initialize(0, $this->IDS);
             break;
         case 'SAVE_MATERIAL':
             //Si entrem un espai que és 0, llavors vol dir que fem un nou espai
             if ($RMATERIAL['idMaterialGeneric'] == 0) {
                 unset($RMATERIAL['idMaterialGeneric']);
             }
             $this->FMATERIAL->bind($RMATERIAL);
             if ($this->FMATERIAL->isValid()) {
                 $this->FMATERIAL->save();
                 $this->getUser()->addLogAction($this->accio, 'gConfig', $this->FMATERIAL->getObject());
                 $this->FMATERIAL = MaterialgenericPeer::initialize($this->FMATERIAL->getObject()->getIdmaterialgeneric(), $this->IDS);
             }
             break;
         case 'DELETE_MATERIAL':
             $this->FMATERIAL->getObject()->setInactiu();
             $this->getUser()->addLogAction($this->accio, 'gConfig', $this->FMATERIAL->getObject());
             $this->FMATERIAL = MaterialgenericPeer::initialize(0, $this->IDS);
             break;
             //Vincula l'usuari del facebook
         //Vincula l'usuari del facebook
         case 'FB_LINK':
             $idU = $this->getUser()->getSessionPar('idU');
             $OU = UsuarisPeer::retrieveByPK($idU);
             $FB_ID = $this->PARS['user']['id'];
             //Mirem si el número de facebook està associat a un altre usuari. Si és així, no fem res però emetem error.
             $OUF = UsuarisPeer::getUserFromFacebook($FB_ID);
             if ($OUF instanceof Usuaris) {
                 $this->ERROR = 'El compte de facebook actual està vinculat a un altre usuari. <br />Si us plau comuniqui-ho a informatica@casadecultura.org o bé entri al seu usuari de facebook i torni-ho a provar.';
             } elseif ($OU instanceof Usuaris) {
                 $OU->setFacebookid($this->PARS['user']['id']);
                 $OU->save();
             }
             $this->FBI = UsuarisPeer::getUserFbCode($this->getUser()->getSessionPar('idU'));
             break;
             //Desvincula l'usuari del facebook
         //Desvincula l'usuari del facebook
         case 'FB_UNLINK':
             $idU = $this->getUser()->getSessionPar('idU');
             $OU = UsuarisPeer::retrieveByPK($idU);
             $OU->setFacebookid(NULL);
             $OU->save();
             $this->FBI = UsuarisPeer::getUserFbCode($this->getUser()->getSessionPar('idU'));
             break;
             //Guardem els canvis a una entitat
         //Guardem els canvis a una entitat
         case 'SAVE_SITE':
             $RS = $request->getParameter('sites');
             $this->FENTITAT->bind($RS, $request->getFiles('sites'));
             if ($this->FENTITAT->isValid()) {
                 $this->FENTITAT->save();
                 $this->getUser()->addLogAction($this->accio, 'gConfig', $this->FENTITAT->getObject());
                 $this->FENTITAT = SitesPeer::initialize($this->IDS);
             }
             break;
         case 'SAVE_DESCOMPTE':
             //Si entrem un descompte que és 0, vol dir que creem un nou descompte
             $this->FDESCOMPTE->bind($RDESCOMPTE);
             if ($this->FDESCOMPTE->isValid()) {
                 $this->FDESCOMPTE->save();
                 $this->getUser()->addLogAction($this->accio, 'gConfig', $this->FDESCOMPTE->getObject());
                 $this->FDESCOMPTE = DescomptesPeer::initialize($this->FDESCOMPTE->getObject()->getIddescompte(), $this->IDS);
             }
             break;
     }
 }
Ejemplo n.º 7
0
function Entrades_LlistaEntrades($LLISTAT_ENTRADES, $P)
{
    ?>

        <div class="REQUADRE">
        <div class="TITOL">Activitats amb reserva d'entrades</div>
        <div class="DADIV">
            <div class="titol" style=" width:350px; "> Nom </div>             
            <div class="titol" style=" width:100px; "> Estat </div>            
            <div class="titol" style=" width:50px; "> #Reser. </div>
            <div class="titol" style=" width:100px; "> Accions </div>
            <?php 
    if (sizeof($LLISTAT_ENTRADES) == 0) {
        echo '<div style="clear:both">No hi ha cap reserva a aquesta activitat.</div>';
    } else {
        $total = 0;
        foreach ($LLISTAT_ENTRADES as $OR) {
            try {
                $OU = UsuarisPeer::retrieveByPK($OR->getUsuariId());
                echo '<div class="col" style="width:350px; height:45px; clear:both;"><b>' . $OU->getNomComplet() . '</b> (' . $OU->getDni() . ')<br />' . $OU->getEmail() . '<br />' . $OU->getTelefonString() . '</div>';
                echo '<div class="col" style="width:100px; height:45px;">' . $OR->getEstatString() . '</div>';
                echo '<div class="col" style="width:50px; height:45px;"><b>' . $OR->getQuantes() . '</b></div>';
                echo '<div class="col" style="width:100px; height:45px;">' . link_to(image_tag('template/application_edit.png') . '<span>Modificar la reserva</span>', 'gestio/gEntrades?accio=ER&IDR=' . $OR->getEntradesReservaId(), array('class' => 'tt2')) . ' ' . link_to(image_tag('template/cross.png') . '<span>Anul·lar la reserva</span>', 'gestio/gEntrades?accio=AR&IDR=' . $OR->getEntradesReservaId(), array('class' => 'tt2')) . ' ' . '</div>';
                $total += $OR->getQuantes();
            } catch (Exception $e) {
                var_dump($e);
            }
        }
        echo '<div class="col" style="width:350px; clear:both;"><b>TOTAL</b></div>';
        echo '<div class="col" style="width:100px;">&nbsp;</div>';
        echo '<div class="col" style="width:50px;"><b>' . $total . '</b></div>';
        echo '<div class="col" style="width:100px;">&nbsp;</div>';
    }
    ?>
            
        </div>
        <div style="clear: both;">&nbsp;</div>  		                         
  	</div>
        
<?php 
}
Ejemplo n.º 8
0
if ($MODE['NOU'] || $MODE['EDICIO']) {
    ?>
      
	<form action="<?php 
    echo url_for('gestio/gReserves');
    ?>
" method="POST">
	
	 	<div class="REQUADRE fb">
	 	<?php 
    include_partial('botonera', array('tipus' => 'Tancar', 'url' => 'gestio/gReserves?accio=C'));
    ?>
					 	 		
	 		<div class="FORMULARI fb">
	 			<?php 
    $OUsuari = UsuarisPeer::retrieveByPK($FReserva->getObject()->getUsuarisusuariid());
    $qui = "No trobat";
    if ($OUsuari instanceof Usuaris) {
        $qui = $OUsuari->getDni() . ' - ' . $OUsuari->getNomComplet();
    }
    ?>
	 			<?php 
    include_partial('fieldSpan', array('label' => 'Qui sol·licita?', 'field' => $qui));
    ?>

				<?php 
    echo $FReserva;
    ?>
	 				 				 			    	    
	 			
                <div class="" style="text-align:right; padding-top:40px;">
Ejemplo n.º 9
0
                                    <?php 
        if ($G) {
            echo '<b>' . $OM->getUsuaris()->getNom() . ' ' . $OM->getUsuaris()->getCog1() . '</b> de ' . $OM->getSiteNom();
        } else {
            echo $OM->getUsuaris()->getNom() . ' ' . $OM->getUsuaris()->getCog1();
        }
        ?>
                                                                                                        
                                </div>
                            </div>
                                                        
                            <!-- Publiquem les respostes associades -->
                            
                            <?php 
        foreach ($M['RESPOSTES'] as $OR) {
            $OU = UsuarisPeer::retrieveByPK($OR->getIdusuari());
            $NOM_SITE = SitesPeer::getNom($OR->getIdsite());
            ?>

                            <div style="float:left; width:500px;">
                                <div style="padding-bottom:5px; margin-left:10px; font-size:10px; color:#999">
                                    <?php 
            if ($G) {
                echo '<img width="10px" src="/images/template/arrow_redo.png" /><b>' . $OU->getNom() . ' ' . $OU->getCog1() . '</b> de ' . $NOM_SITE;
            } else {
                echo '<img width="10px" src="/images/template/arrow_redo.png" /><b>' . $OU->getNom() . ' ' . $OU->getCog1() . '</b>';
            }
            ?>
                                
                                    <?php 
            echo ': ' . $OR->getText();
Ejemplo n.º 10
0
 /**
  * Gestió de formularis a través de mail     
  * */
 public function executeFormularis(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     $this->DEFAULT = false;
     $this->IDU = $this->getUser()->getSessionPar('idU');
     $this->IDS = $this->getUser()->getSessionPar('idS');
     //Entren crides i es mostra una reposta en web si ha anat bé o no.
     $PARAMETRES = Encript::Desencripta($request->getParameter('PAR'));
     $PAR = unserialize($PARAMETRES);
     switch ($PAR['formulari']) {
         //Paràmetres [id = IDReservaEspais]
         //Només es podrà si l'estat actual és ESPERA_ACCEPTACIÓ_CONDICIONS
         case 'Reserva_Espais_Mail_Accepta_Condicions':
             $OR = ReservaespaisPeer::retrieveByPK($PAR['id']);
             //Fem un login i després acceptem les condicions
             $OU = UsuarisPeer::retrieveByPK($OR->getUsuarisUsuariid());
             $this->makeLogin($OU->getDNI(), $OU->getPasswd());
             if ($OR instanceof Reservaespais && $OR->setAcceptada()) {
                 $this->redirect('@hospici_llista_reserves?estat=RESERVA_ACCEPTADA');
             } else {
                 $this->redirect('@hospici_llista_reserves?estat=ERROR_TECNIC');
             }
             UsuarisPeer::addSite($OR->getUsuarisUsuariid(), $OR->getSiteid());
             break;
             //Des del mail la persona no accepta i rebutja les condicions.
         //Des del mail la persona no accepta i rebutja les condicions.
         case 'Reserva_Espais_Mail_Rebutja_Condicions':
             $OR = ReservaespaisPeer::retrieveByPK($PAR['id']);
             //Fem un login i després acceptem les condicions
             $OU = UsuarisPeer::retrieveByPK($OR->getUsuarisUsuariid());
             $this->makeLogin($OU->getDNI(), $OU->getPasswd());
             if ($OR instanceof Reservaespais && $OR->setRebutjada()) {
                 $this->redirect('@hospici_llista_reserves?estat=RESERVA_ANULADA');
             } else {
                 $this->redirect('@hospici_llista_reserves?estat=ERROR_TECNIC');
             }
             UsuarisPeer::addSite($OR->getUsuarisUsuariid(), $OR->getSiteid());
             break;
         default:
             break;
     }
 }
Ejemplo n.º 11
0
 public static function getHoraris($datai, $idS)
 {
     $RET = array();
     $dataf = mktime(0, 0, 0, date('m', $datai), date('d', $datai) + 21, date('Y', $datai));
     //Seleccionem tots els treballadors
     $TREBALLADORS = UsuarisPeer::selectTreballadors($idS);
     foreach ($TREBALLADORS as $idU => $T) {
         $C = new Criteria();
         $C = self::getCriteriaActiu($C, $idS);
         $C->add(PersonalPeer::IDUSUARI, $idU);
         $C->add(PersonalPeer::IDDATA, date('Y-m-d', $datai), CRITERIA::GREATER_EQUAL);
         $C->add(PersonalPeer::IDDATA, date('Y-m-d', $dataf), CRITERIA::LESS_EQUAL);
         $C->add(PersonalPeer::DATA_BAIXA, NULL, Criteria::ISNULL);
         $C->addAscendingOrderByColumn(PersonalPeer::DATA_ALTA);
         $OU = UsuarisPeer::retrieveByPK($idU);
         $RET[$idU]['TREBALLADOR'] = $OU->getNomComplet();
         //Busquem l'últim horari estàndard del treballador abans de les dates que mirem.
         $C2 = new Criteria();
         $C2->add(PersonalPeer::IDUSUARI, $idU);
         $C2->add(PersonalPeer::TIPUS, PersonalPeer::HORARI_USUARI);
         $C2->addDescendingOrderByColumn(PersonalPeer::IDDATA);
         $C2->add(PersonalPeer::IDDATA, date('Y-m-d', $datai), Criteria::LESS_THAN);
         $C2->add(PersonalPeer::DATA_BAIXA, NULL, Criteria::ISNULL);
         $ULTIM_HORARI = self::doSelectOne($C2);
         if ($ULTIM_HORARI instanceof Personal) {
             $RET[$idU]['ULTIM_HORARI'] = $ULTIM_HORARI->getText();
         } else {
             $RET[$idU]['ULTIM_HORARI'] = 'n/d';
         }
         //Carreguem totes les línies que consten d'aquests dies
         foreach (self::doSelect($C) as $D) {
             list($YE, $MO, $DA) = explode('-', $D->getIddata());
             $data = mktime(0, 0, 0, $MO, $DA, $YE);
             $RET[$D->getIdusuari()]['DIES'][$data][] = $D;
         }
     }
     return $RET;
 }
Ejemplo n.º 12
0
function showForm($FPERSONAL, $ERROR, $IDU, $DATE)
{
    $nom = UsuarisPeer::retrieveByPK($IDU)->getNomComplet();
    $data = date('d-m-Y', $DATE);
    if (!empty($ERROR)) {
        $ER = '<tr><td class="missat_ko" colspan="2">';
        foreach ($ERROR as $E) {
            $ER .= $E . '<br />';
        }
        $ER .= '</td></tr>';
    } else {
        $ER = '';
    }
    $RET = '   	
              	<form action="' . url_for('gestio/gPersonal') . '" method="POST">
        	 	<DIV class="REQUADRE">
        	    <div class="OPCIO_FINESTRA">' . link_to(image_tag('icons/Grey/PNG/action_delete.png'), 'gestio/gPersonal') . '</div>
        	    	<table class="FORMULARI" width="550px">   	    
                        <tr>
                            <td colspan="2" class="TITOL" width="600px">Fitxa laboral per a ' . $nom . ' el dia ' . $data . '</td></tr>        	    	
        	    	        ' . $ER . '	
 	                    <tr><td width="100px"></td><td width="500px"></td></tr>	    	
                        ' . $FPERSONAL . '                								
                        <tr>
                        	<td></td>
        	            	<td colspan="2" class="dreta">
				                <button type="submit" name="BSAVE" class="BOTO_ACTIVITAT">
		                          ' . image_tag('template/disk.png') . ' Guardar i sortir
                                </button>
	                            <button type="submit" name="BDELETE" class="BOTO_PERILL">
		                          ' . image_tag('tango/16x16/status/user-trash-full.png') . ' Eliminar
	                            </button>

                       	    </td>
        	            </tr>                	 
              		</TABLE>
              	</DIV>
             </form>';
    return $RET;
}
Ejemplo n.º 13
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;
 }
 /**
  * Retorna un array ( status, OER );
  * */
 public function saveMy()
 {
     $RET = array('OER' => null, 'status' => null);
     //Aquest guardar, no guarda l'objecte en sí, sinó que crida un mètode per igualar-lo amb l'hospici.
     $this->updateObject();
     $RET['OER'] = $this->getObject();
     //Mirem que hagi entrat o bé el nom d'usuari o bé el codi.
     if ($RET['OER']->getNomReserva() == "" && is_null($RET['OER']->getUsuariId())) {
         throw new Exception("Selecciona un usuari de l'Hospici o bé entra el seu nom.");
     }
     //Si hem entrat el codi d'usuari, guardem la info amb les dades de l'usuari.
     if (!is_null($RET['OER']->getUsuariId())) {
         $OU = UsuarisPeer::retrieveByPK($RET['OER']->getUsuariId());
         if ($OU instanceof Usuaris) {
             $RET['OER']->setNomReserva($OU->getNomComplet());
             $RET['OER']->setEmailReserva($OU->getEmail());
             $RET['OER']->setTelefonReserva($OU->getTelefonString());
         } else {
             throw new Exception('L\'usuari seleccionat, no s\'ha trobat a la base de dades.');
         }
     } elseif ($RET['OER']->getNomReserva() != "") {
         //No cal fer res, perquè se suposa que les dades ja s'han entrat correctament i quan guardem quedarà guardada.
     } else {
         throw new Exception('Hi ha algun problema amb el nom o codi d\'usuari.');
     }
     //D'entrada és correcte, així que si l'entrada és nova, fem la compra.
     if ($this->isNew()) {
         //Si és nou, fem la nova compra
         $RET = EntradesReservaPeer::setCompraEntrada($RET['OER']);
         switch ($RET['status']) {
             case -1:
                 throw new Exception('Hi ha hagut algun problema buscant l\'horari. Informeu-ne a informatica@casadecultura.org');
                 break;
             case -2:
                 throw new Exception('Hi ha hagut algun problema buscant l\'activitat. Informeu-ne a informatica@casadecultura.org');
                 break;
             case -3:
                 throw new Exception('Hi ha hagut algun problema buscant el preu. Informeu-ne a informatica@casadecultura.org');
                 break;
             case -4:
                 throw new Exception('Aquest usuari ja ha comprat una entrada per aquest espectacle.');
                 break;
             case -5:
                 throw new Exception('Aquesta activitat ja no té entrades disponibles o no en queden prous de lliures.');
                 break;
             case -6:
                 throw new Exception('Error de TPV.');
                 break;
             case -7:
                 throw new Exception('El número d\'entrades comprades ha de ser superior a 0.');
                 break;
         }
     } else {
         $RET['status'] = 0;
         //Marquem l'status a 0 perquè no és nou... només és una modificació
     }
     //Si no hi ha cap error, guardem.
     if ($RET['status'] >= 0) {
         $RET['OER']->save();
     }
     return $RET;
 }
/**
 * Permisos Tab
 * */
function PermisosTab($SITE, $LUSERSITES = "")
{
    $RET = '
            <form id="FPERMISOS" action="' . url_for('gestio/gConfigSuperAdmin') . '" method="POST" enctype="multipart/form-data">
                Site : ' . select_tag('SITE', options_for_select(SitesPeer::getSelect(), $SITE));
    $RET .= '<br /><br /><table>';
    $RET .= '<tr><td class="titol">User</td><td class="titol">Nivell</td><td class="titol"></td></tr>';
    foreach ($LUSERSITES as $OUS) {
        $USUARI = $OUS->getUsuariId();
        $OU = UsuarisPeer::retrieveByPK($USUARI);
        $nom = "n/d";
        if ($OU instanceof Usuaris) {
            $nom = $OU->getNomComplet();
        }
        $RET .= '<tr><td>' . input_tag('dades[' . $USUARI . '][IDU]', $USUARI, array('class' => 'autocomplete', 'style' => 'width:60px;')) . ' - ' . $nom . '</td>';
        $RET .= '<td>' . select_tag('dades[' . $USUARI . '][IDN]', options_for_select(NivellsPeer::getSelect(), $OUS->getNivellId())) . '</td>';
        $RET .= '<td>' . link_to('esborra', 'gestio/gConfigSuperAdmin?accio=DELETE_USER_SITE&USUARI=' . $USUARI . '&SITE=' . $SITE) . '</td></tr>';
    }
    $RET .= '<tr><td>' . input_tag('dades[0][IDU]', 0, array('class' => 'autocomplete', 'style' => 'width:60px;')) . '</td>';
    $RET .= '<td>' . select_tag('dades[0][IDN]', options_for_select(NivellsPeer::getSelect(), 0)) . '</td></tr>';
    $RET .= '</table>';
    $RET .= '         	 	                                                    
                <div style="text-align:right">
                    <button style="margin-top:10px;" name="BSEARCHUSERSITES" class="BOTO_ACTIVITAT">
                        ' . image_tag('template/find.png') . ' Consulta
                    </BUTTON>                       
                    <button type="submit" name="BSAVEUSERSITE" class="BOTO_ACTIVITAT" onClick="return confirm(\'Segur que vols guardar els canvis?\')">
                        ' . image_tag('template/disk.png') . ' Guardar i sortir
                    </button>
                </div>                                                                                            
            </form>';
    return $RET;
}
Ejemplo n.º 16
0
 /**
  * Gestió de formularis a través de mail     
  * */
 public function executeFormularis(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     $this->DEFAULT = false;
     $this->IDU = $this->getUser()->getSessionPar('idU');
     $this->IDS = $this->getUser()->getSessionPar('idS');
     //Entren crides i es mostra una reposta en web si ha anat bé o no.
     $PARAMETRES = Encript::Desencripta($request->getParameter('PAR'));
     $PAR = unserialize($PARAMETRES);
     switch ($PAR['formulari']) {
         //Paràmetres [id = IDReservaEspais]
         //Només es podrà si l'estat actual és ESPERA_ACCEPTACIÓ_CONDICIONS
         case 'Reserva_Espais_Mail_Accepta_Condicions':
             $OR = ReservaespaisPeer::retrieveByPK($PAR['id']);
             //Fem un login i després acceptem les condicions
             $OU = UsuarisPeer::retrieveByPK($OR->getUsuarisUsuariid());
             $this->makeLogin($OU->getDNI(), $OU->getPasswd());
             if ($OR instanceof Reservaespais) {
                 if ($OR->setAcceptada()) {
                     myUser::addLogTimeline('acceptada', 'Reserva (Hospici)', $this->IDU, $OR->getSiteId(), $OR->getReservaespaiid());
                     //Enviem un mail a secretaria informant de l'acceptació de les condicions
                     $this->sendMail(OptionsPeer::getString('MAIL_FROM', $OR->getSiteid()), OptionsPeer::getString('MAIL_SECRETARIA', $OR->getSiteid()), "RESERVA " . $OR->getCodi() . " ACCEPTADA", "Les condicions per a la reserva amb codi " . $OR->getCodi() . " organitzada per " . $OR->getOrganitzadors() . " han estat <b>ACCEPTADES</b>. <br /> Per poder accedir-hi podeu clicar el següent <a href=\"http://www.casadecultura.cat/gestio/gReserves/accio/E/IDR/" . $OR->getReservaespaiid() . "\">enllaç</a> havent entrat prèviament a la intranet.");
                     $this->redirect('@hospici_llista_reserves?estat=RESERVA_ACCEPTADA');
                 } else {
                     $this->redirect('@hospici_llista_reserves?estat=ERROR_JA_CONTESTAT');
                 }
             } else {
                 $this->redirect('@hospici_llista_reserves?estat=ERROR_TECNIC');
             }
             UsuarisPeer::addSite($OR->getUsuarisUsuariid(), $OR->getSiteid());
             break;
             //Des del mail la persona no accepta i rebutja les condicions.
         //Des del mail la persona no accepta i rebutja les condicions.
         case 'Reserva_Espais_Mail_Rebutja_Condicions':
             $OR = ReservaespaisPeer::retrieveByPK($PAR['id']);
             //Fem un login i després acceptem les condicions
             $OU = UsuarisPeer::retrieveByPK($OR->getUsuarisUsuariid());
             $this->makeLogin($OU->getDNI(), $OU->getPasswd());
             if ($OR instanceof Reservaespais) {
                 if ($OR->setRebutjada()) {
                     myUser::addLogTimeline('no_acceptada', 'Reserva (Hospici)', $this->IDU, $OR->getSiteId(), $OR->getReservaespaiid());
                     //Enviem un mail a secretaria informant del rebuig de les condicions
                     $this->sendMail(OptionsPeer::getString('MAIL_FROM', $OR->getSiteid()), OptionsPeer::getString('MAIL_SECRETARIA', $OR->getSiteid()), "RESERVA " . $OR->getCodi() . " REBUTJADA", "Les condicions per a la reserva amb codi " . $OR->getCodi() . " organitzada per " . $OR->getOrganitzadors() . " han estat <b>REBUTJADES</b>. <br /> Per poder accedir-hi podeu clicar el següent <a href=\"http://www.casadecultura.cat/gestio/gReserves/accio/E/IDR/" . $OR->getReservaespaiid() . "\">enllaç</a> havent entrat prèviament a la intranet.");
                     $this->redirect('@hospici_llista_reserves?estat=RESERVA_ANULADA');
                 } else {
                     $this->redirect('@hospici_llista_reserves?estat=ERROR_JA_CONTESTAT');
                 }
             } else {
                 $this->redirect('@hospici_llista_reserves?estat=ERROR_TECNIC');
             }
             UsuarisPeer::addSite($OR->getUsuarisUsuariid(), $OR->getSiteid());
             break;
         default:
             break;
     }
 }