/** * 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; }
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; }
public static function getNom($idU) { return UsuarisPeer::retrieveByPK($idU)->getNomComplet(); }
/** * 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; } }
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; } }
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;"> </div>'; echo '<div class="col" style="width:50px;"><b>' . $total . '</b></div>'; echo '<div class="col" style="width:100px;"> </div>'; } ?> </div> <div style="clear: both;"> </div> </div> <?php }
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;">
<?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();
/** * 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; } }
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; }
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; }
/** * 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; }
/** * 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; } }