예제 #1
0
 public function generaMailEntrada($idEntrada, $idS = 1)
 {
     $OM = new OptionsModel();
     $TEXT = $OM->getOption('BODY_MAIL_ENTRADES', $idS);
     $EM = new EntradesModel();
     $OE = $EM->getEntradaById($idEntrada);
     $OA = $EM->getActivitatById($OE['idEspectacle']);
     $TEXT = str_replace('{{NUM_ENTRADES}}', $OE['num_entrades'], $TEXT);
     $TEXT = str_replace('{{ACTIVITAT}}', $OA['Nom'], $TEXT);
     $TEXT = str_replace('{{DIA}}', $OA['Dia'], $TEXT);
     $TEXT = str_replace('{{HORA}}', $OA['Hora'], $TEXT);
     $TEXT = str_replace('{{NOM_COMPRA}}', $OE['nom_reserva'], $TEXT);
     \Helpers\MyHelpers\Pdf::generateEntrada($EM->EntradaObject($OE, true));
     $URL = self::$URL_ENTRADES . $OE['idEntrada'] . '.pdf';
     $this->enviaMail('*****@*****.**', '*****@*****.**', 'Entrada per a un espectacle', $TEXT, $URL);
     return $this->enviaMail('*****@*****.**', $OE['email_reserva'], 'Entrada per a un espectacle', $TEXT, $URL);
 }
예제 #2
0
 /**
  * Carrego les dades bàsiques de les comandes que ha vist l'usuari
  **/
 public function getComandes()
 {
     $RET = array();
     $LlistatComandes = $this->db->select("\r\n                SELECT * \r\n                  FROM comandes c\r\n                  LEFT JOIN localitats l ON (l.l_idComanda = c.co_idComanda)\r\n                  LEFT JOIN sessions s ON (s.s_id = l.l_idSessio)\r\n                  LEFT JOIN espectacles e ON (e.e_id = s.s_idEspectacle)\r\n                 where c.co_IdClient = :id AND c.co_estat = 'P' AND l.l_estat = 'O'\r\n                ", array('id' => $this->client['c_id']));
     foreach ($LlistatComandes as $K => $V) {
         if (!isset($RET[$V['co_Codi']])) {
             $RET[$V['co_Codi']] = array();
         }
         $RET[$V['co_Codi']]['Espectacle'] = $V['e_Titol'];
         $RET[$V['co_Codi']]['Sessio'] = G::getDataText($V['s_DataHora']);
         $RET[$V['co_Codi']]['Seient'][] = $V['l_zona'] . '-' . $V['l_fila'] . '-' . $V['l_seient'];
         $RET[$V['co_Codi']]['URL_ENTRADES'] = Pdf::getEntradesWeb($V['co_Codi']);
     }
     return $RET;
 }
예제 #3
0
 /**
  * Funció que imprimeix les entrades d'una sessió en una sola comanda. 
  **/
 function printAllEntrades()
 {
     $R = $this->getAjaxData();
     //Carrego la sessió que vull imprimir totes les entrades
     $STO = new SessioTableObject(null, SessioTableObject::FROM_EMPTY);
     $STO->loadById($R['idSessio']);
     //per totes les localitats de la sessió, les marco com ocupades i venudes en metàl·lic.
     //Carrego el teatre
     $TTO = new TeatreTableObject(null, TeatreTableObject::FROM_EMPTY);
     $TTO->loadById($STO->sessio['s_idTeatre']);
     $planol = $TTO->getPlanol();
     foreach ($planol['zones'] as $idZ => $Z) {
         foreach ($Z['files'] as $idF => $F) {
             //Creo una nova comanda i començo a vendre les entrades
             $CTO = new ComandaTableObject(null, ComandaTableObject::FROM_EMPTY);
             $CTO->newComandaId(ComandaTableObject::TIPUS_PAGAMENT_METALIC, ComandaTableObject::TIPUS_LLOCCOMPRA_TAQUILLA, ComandaTableObject::TIPUS_COMANDA_VENTA);
             //Repassem els seients ( si la línia és en blanc, exist serà false )
             $exist = false;
             foreach ($F['seients'] as $idS => $S) {
                 //Per cada seient, faig una venda.
                 $id = $Z['codi'] . '-' . intval($F['num_fila']) . '-' . intval($S['numero']) . '-' . $STO->getSessioId();
                 if ($S['numero'] > 0 && $S['tipus'] == 'planol-cercle') {
                     $LTO = new LocalitatTableObject(null, LocalitatTableObject::FROM_EMPTY);
                     $LTO->loadLocalitatByIdString($id);
                     $LTO->updateLocalitat($CTO, LocalitatTableObject::ESTAT_OCUPADA);
                     $LTO->doSave();
                     $exist = true;
                 }
             }
             //Si la línia no és en blanc i hi ha seients la guardem
             if ($exist) {
                 $CTO->comanda['co_estat'] = ComandaTableObject::TIPUS_ESTAT_PAGAT;
                 $CTO->doMarcarPagatsOK();
                 $CTO->doSave();
                 $CTO->loadComanda();
                 Pdf::generateEntrades($CTO, false);
             }
         }
     }
 }
예제 #4
0
 public function PrintEntrades()
 {
     $R = $this->getAjaxData();
     $CTO = new ComandaTableObject();
     $CTO->loadComandaByCodi($R['CodiComanda']);
     if ($CTO->isPagada()) {
         echo json_encode(Pdf::generateEntrades($CTO, false));
     } else {
         throw new MyException("L'entrada que vol imprimir no existeix o no s'ha reservat correctament.");
     }
 }
 public function printLlistatEntrades()
 {
     $postdata = file_get_contents("php://input");
     $request = json_decode($postdata, true);
     \Helpers\MyHelpers\Pdf::generateLlistatEntrades($request['idEspectacle']);
     echo json_encode($request['idEspectacle']);
 }
예제 #6
0
파일: General.php 프로젝트: nagiro/Entrades
 /**
  * Funció que envia el mail d'una comanda amb les entrades
  **/
 public static function sendEmailComanda(ComandaTableObject $CTO)
 {
     $PAR = Pdf::generateEntrades($CTO);
     if (!empty($CTO->comanda['co_EmailCompra']) && $CTO->comanda['co_TipusComanda'] == ComandaTableObject::TIPUS_COMANDA_VENTA) {
         $PAR['Mail']->send();
     }
 }