예제 #1
0
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;">&nbsp;</div>
  		         
        <?php 
    if ($P > 1) {
        echo link_to('<-- Veure activitats anteriors', 'gestio/gEntrades?P=' . ($P - 1));
    }
    if (sizeof($LLISTAT_ACTIVITATS) == 20) {
        echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
        if (sizeof($LLISTAT_ACTIVITATS) > 0) {
            echo link_to('Veure activitats següents -->', 'gestio/gEntrades?P=' . ($P + 1));
        }
    }
    ?>
        
  	</div>
    
<?php 
}
예제 #2
0
 /**
  * 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;
 }