/** * @param str/string valor es una cadena con cualquier serie de simbolos * @param int/integer valor es una cadena con cualquier serie de simbolos * @return str/string si es la entrada cumple con los requerimientos * @soap */ public function verBoletos($referencia = false, $numeroBoletos = false) { $error = array('codigo' => -1, 'popsae' => 1, 'msg' => "No se encontro el error.", "visible" => 1); $formatoInterno = 'BoletoFormatoSimple'; $eventos = array(539, 558); $servicios = new Servicios($referencia); // echo CHtml::openTag("pre"); //Validar que el numero de boletos que se vendieron sea igual al de la referencia xxxxxxxxxxNN $lugares = $servicios->buscarBoletos($referencia, $numeroBoletos); $tickets = array(); $coords = Formatosimpresionlevel1::model()->findAllByAttributes(array('FormatoId' => 3)); $matrizCoord = array(); require_once dirname(__FILE__) . '/../extensions/cbarras/ean.php'; foreach ($coords as $coord) { $matrizCoord[$coord->FormatoObj] = array($coord->FormatoX, $coord->FormatoY); } foreach ($lugares as $lugar) { // print_r($lugar); $encoder = new EAN13($lugar->LugaresNumBol, 2); $fila = explode(',', str_replace(' ', ' ', $lugar->fila->FilasAli)); $fali = array_pop($fila); $imaBol = ""; try { if (in_array($lugar->EventoId, $eventos)) { $formatoInterno = 'BoletoFormatoUdlap'; } if (strlen($lugar->evento->EventoImaBol) > 0) { $imaBol = base64_encode(@file_get_contents('http://taquillacero.com/imagesbd/' . $lugar->evento->EventoImaBol)); } } catch (Exception $e) { // $error['codigo']=601; // $error['msg']="No se encontro la imagen del boleto."; // $error['popsae']=2; } $tickets[] = array('SubzonaAcc' => $lugar->subzona->SubzonaAcc, 'ZonasAli' => $lugar->zona->ZonasAli . " " . array_pop($fila), 'FilasAli' => $fali, 'LugaresLug' => $lugar->lugar->LugaresLug, 'VentasBolTip' => $lugar->VentasBolTip, 'VentasCosBol' => number_format($lugar->precios->VentasCosBol, 0), 'VentasCarSer' => number_format($lugar->precios->VentasCarSer), 'EventoDesBol' => $lugar->evento->EventoDesBol, 'EventoNom' => $lugar->evento->EventoNom, 'ForoNom' => $lugar->foro->ForoNom, 'funcionesTexto' => $lugar->funcion->funcionesTexto, 'VentasCon' => $lugar->VentasCon, 'LugaresNumBol' => $lugar->LugaresNumBol, 'codigo' => base64_encode($encoder->display()), 'contenedor1' => $imaBol); } $boletos = array('boletos' => $tickets); // echo "<pre>"; $e = Yii::app()->mustache->render($formatoInterno, $boletos, null, null, false); $jes = CJSON::decode($e); $ret = array(); array_pop($jes); // var_export($jes); foreach ($jes as $boleto) { foreach ($boleto as $key => $item) { try { if (array_key_exists($key, $matrizCoord)) { $boleto[$key][0] += $matrizCoord[$key][0]; $boleto[$key][1] += $matrizCoord[$key][1]; } } catch (Exception $e) { } } $ret[] = array_values($boleto); } // print_r($ret); // echo "</pre>"; // echo CHtml::closeTag('pre'); return CJSON::encode(array("error" => $error, "venta" => $ret)); }
public function actionValidarBoletos($boleto) { # Verifica si se trata de un numero de referencia o de un numero de boleto $service = new Servicios($boleto); $lugaresVendidos = array(); try { if (is_numeric($boleto)) { $lugaresVendidos = $service->buscarBoletos(false, array($boleto)); } else { $lugaresVendidos = $service->buscarBoletos($boleto); } } catch (Exception $e) { // echo $e->getMessage(); } foreach ($lugaresVendidos as $lugar) { $corredor = Corredores::model()->findByPk($lugar->getPrimaryKey()); if (is_null($corredor)) { $corredor = new Corredores('insert'); } $this->renderPartial('formularios/corredor', compact('lugar', 'corredor')); } if (empty($lugaresVendidos)) { throw new Exception("Boletos no encontrados", 503); // echo CHtml::tag('div',array('class'=>'alert alert-danger'),'Numero de boleto/referencia invalido.'); } // echo CJSON::encode($boletos); }