function Entrades_LlistaActivitats($LLISTAT_ACTIVITATS, $P) { ?> <div class="REQUADRE"> <div class="TITOL">Activitats amb reserva d'entrades</div> <div class="DADIV"> <div class="titol" style=" width:250px; "> Nom activitat </div> <div class="titol" style=" text-align:right; width:100px; "> Data </div> <div class="titol" style=" text-align:right; width:100px; "> Hora </div> <div class="titol" style=" text-align:right; width:100px; "> Reserves </div> <div class="titol" style=" text-align:right; width:50px; "> Llistat </div> <?php if (sizeof($LLISTAT_ACTIVITATS) == 0) { echo '<div>No hi ha cap més activitat amb reserva per internet.</div>'; } else { foreach ($LLISTAT_ACTIVITATS as $idA => $D) { try { $NE = EntradesReservaPeer::countEntradesActivitatConf($idA); echo '<div class="col" style="width:250px; clear:both;">' . link_to($D['nom'], 'gestio/gActivitats?accio=ACTIVITAT&IDA=' . $idA) . '</div>'; echo '<div class="col" style="text-align:right; width:100px;">' . $D['dia'] . '</div>'; echo '<div class="col" style="text-align:right; width:100px;">' . $D['hora'] . '</div>'; echo '<div class="col" style="text-align:right; width:100px;">' . $NE . '/' . $D['places'] . '</div>'; echo '<div class="col" style="text-align:right; width:50px;">' . link_to(image_tag('template/user.png', array('style' => 'height:13px;')) . '<span>Llistat de persones que han fet una reserva.</span>', 'gestio/gEntrades?accio=LR&IDA=' . $idA, array('class' => 'tt2')) . '</div>'; } catch (Exception $e) { } } } ?> </div> <div style="clear: both;"> </div> <?php if ($P > 1) { echo link_to('<-- Veure activitats anteriors', 'gestio/gEntrades?P=' . ($P - 1)); } if (sizeof($LLISTAT_ACTIVITATS) == 20) { echo " "; if (sizeof($LLISTAT_ACTIVITATS) > 0) { echo link_to('Veure activitats següents -->', 'gestio/gEntrades?P=' . ($P + 1)); } } ?> </div> <?php }
/** * Retorna si una activitat ja no t� m�s entrades a la venta. * */ public function getIsPle() { return EntradesReservaPeer::countEntradesActivitatConf($this->getActivitatid()) >= $this->getPlaces(); }
/** * @return array( status , OER ) * @return -1 (OH incorrecte) * @return -2 (OA incorrecte) * @return -3 (OEP incorrecte) * @return -4 (Repe) * @return -5 (Exhaurides) * @return -6 (Error TPV) * @return -7 (Es volen comprar 0 entrades) * @return 1 (Compra metàl·lic o codi de barres OK) * @return 2 (Reserva d'entrada OK) * @return 3 (Pagament amb TPV) * @return 4 (En llista d'espera) * @return 5 (Pagament amb domiciliació) || Aquest encara s'ha d'aplicar correctament. * */ public static function setCompraEntrada($OER) { $IDH = $OER->getEntradesPreusHorariId(); $IDU = $OER->getUsuariId(); $NEntrades = $OER->getQuantitat(); $Descompte = $OER->getDescompte(); $TPagament = $OER->getTipusPagament(); //Paràmetres que retornaré després de la compra d'una entrada. $RET = array('status' => 0, 'OER' => null); $OH = HorarisPeer::retrieveByPK($IDH); //Comprovem que existeixi l'horari if (!$OH instanceof Horaris) { $RET = array('status' => -1, 'OER' => null); //Horari OK. } else { $IDA = $OH->getActivitatsActivitatid(); $OA = ActivitatsPeer::retrieveByPK($IDA); //Comprovem que existeixi l'activitat if (!$OA instanceof Activitats) { $RET = array('status' => -2, 'OER' => null); //Activitat OK. } else { //Carrego l'entrada i el preu $OEP = EntradesPreusPeer::retrieveByPK($IDH); //No s'ha trobat el preu per aquesta activitat i horari. if (!$OEP instanceof EntradesPreus) { $RET = array('status' => -3, 'OER' => null); //HORARI_INEXISTENT } else { //Comprovem que el nombre d'entrades no sigui 0 o un valor extrany if (!($NEntrades >= 0)) { $RET = array('status' => -7, 'OER' => null); //Número d'entrades incorrecte } else { //Tenim un horari carregat i una activitat. $idS = $OH->getSiteid(); //Aquest no el farem servir perquè acceptem que les entrades siguin repetides pels usuaris. $HaComprat = 0; //EntradesReservaPeer::ExisteixenEntradesComprades($IDU, $IDH); $PlacesLliures = EntradesReservaPeer::countEntradesActivitatConf($IDH); //Comprovem si l'entrada està repetida if ($HaComprat) { $RET = array('status' => -4, 'OER' => null); //ENTRADA_REPE //No té cap entrada comprada } else { //Mirem si queden places tenint en cmopte que no hi ha llista d'espera. if ($PlacesLliures - $NEntrades < 0 && $TPagament != TipusPeer::PAGAMENT_LLISTA_ESPERA) { return array('status' => -5, 'OER' => null); //NO_QUEDEN_PROU_ENTRADES i no hi ha llista d'espera //Tot OK. Passem al tipus de pagament. } else { //Generem la nova compra o reserva //$OER = EntradesReservaPeer::initialize( $idS , '' , 0 , $IDH , $IDU , $NEntrades , $Descompte , $TPagament )->getObject(); //Marquem el preu $OER->setPagat(DescomptesPeer::getPreuAmbDescompte($OEP->getPreu(), $Descompte)); $OER->setData(date('Y-m-d H:i', time())); //Mirem el tipus de pagament i deixem l'estat oportú. if ($TPagament == TipusPeer::PAGAMENT_METALIC || $TPagament == TipusPeer::PAGAMENT_CODI_BARRES) { $OER->setEstat(EntradesReservaPeer::ESTAT_ENTRADA_RESERVADA); $OER->save(); return array('status' => 1, 'OER' => $OER); } elseif ($TPagament == TipusPeer::PAGAMENT_RESERVA) { $OER->setPagat(0); $OER->setEstat(EntradesReservaPeer::ESTAT_ENTRADA_RESERVADA); $OER->save(); return array('status' => 2, 'OER' => $OER); } elseif ($TPagament == TipusPeer::PAGAMENT_TARGETA) { $OER->setEstat(EntradesReservaPeer::ESTAT_ENTRADA_EN_PROCES); $OER->save(); return array('status' => 3, 'OER' => $OER); } elseif ($TPagament == TipusPeer::PAGAMENT_LLISTA_ESPERA) { $OER->setPagat(0); $OER->setEstat(EntradesReservaPeer::ESTAT_ENTRADA_EN_ESPERA); $OER->save(); return array('status' => 4, 'OER' => $OER); } elseif ($TPagament == TipusPeer::PAGAMENT_DOMICILIACIO) { $OER->setEstat(EntradesReservaPeer::ESTAT_ENTRADA_RESERVADA); $OER->save(); return array('status' => 5, 'OER' => $OER); } UsuarisPeer::addSite($IDU, $idS); } } } } } } return $RET; }