public function actionCorreo() { try { sendHtmlEmail("pruebaeñe@gmail.com", "Prueba envio 1", "Esto es una prueba"); echo "Enviado"; } catch (Exception $exc) { echo "Error: " . $exc->getMessage() . "<br/><br/>"; echo $exc->getTraceAsString(); } }
public function actionEmail_for_reset() { if (isset($_POST['EmailForm'])) { $user_email = $_POST['EmailForm']['email']; $criteria = new CDbCriteria(); $criteria->condition = 'email=:email'; $criteria->params = array(':email' => $user_email); $user = User::model()->find($criteria); if (!$user) { $errormsg = Yii::t('passwordreset', 'No user with this email in our records'); Yii::app()->user->setFlash('danger', $errormsg); $this->refresh(); } $key = $user->generate_activation_key(); $user->reset_token = $key; $reset_url = $this->createAbsoluteUrl('/site/password_reset', array('key' => $key, 'email' => $user_email)); $user->save(); if (sendHtmlEmail($user->email, Yii::app()->name . ' Administrator', null, Yii::t('reset', 'Password reset.'), array('username' => $user->username, 'reset_url' => $reset_url), 'pwd_reset', 'main')) { $infomsg = Yii::t('passwordreset', 'We have sent you a reset link,please check your email inbox.'); Yii::app()->user->setFlash('info', $infomsg); $this->refresh(); } else { $errormsg = Yii::t('passwordreset', 'We could not email you the password reset link'); Yii::app()->user->setFlash('danger', $errormsg); $this->refresh(); } } $model = new EmailForm(); $this->render('email_for_reset', array('model' => $model)); }
private function procesoCompra(FormaPagoForm $modelPago, $tipoEntrega) { $categoriasCompra = array(); $productosCompra = array(); $transaction = Yii::app()->db->beginTransaction(); try { //registrar compra compra $objCompra = new Compras(); $objCompra->identificacionUsuario = $modelPago->identificacionUsuario; $objCompra->tipoEntrega = $tipoEntrega; //if($tipoEntrega==Yii::app()->params->entrega['tipo']['domicilio']){ $objCompra->fechaEntrega = $modelPago->fechaEntrega; $objCompra->observacion = $modelPago->comentario; //} if ($tipoEntrega == Yii::app()->params->entrega['tipo']['presencial']) { $puntoVenta = $modelPago->listPuntosVenta[1][$modelPago->indicePuntoVenta]; $objCompra->idComercial = $puntoVenta[1]; } if ($modelPago->idFormaPago == Yii::app()->params->formaPago['pasarela']['idPasarela']) { $objCompra->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['pendientePasarela']; } else { $objCompra->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['pendiente']; } $objCompra->idTipoVenta = 1; $objCompra->activa = 1; $objCompra->invitado = $modelPago->pagoInvitado ? 1 : 0; $objCompra->codigoPerfil = Yii::app()->shoppingCart->getCodigoPerfil(); $objCompra->codigoCiudad = Yii::app()->shoppingCart->getCodigoCiudad(); $objCompra->codigoSector = Yii::app()->shoppingCart->getCodigoSector(); if ($tipoEntrega == Yii::app()->params->entrega['tipo']['domicilio']) { $objCompra->tiempoDomicilioCedi = Yii::app()->shoppingCart->getDeliveryStored(); $objCompra->valorDomicilioCedi = Yii::app()->shoppingCart->getShippingStored(); $objCompra->codigoCedi = Yii::app()->shoppingCart->objSectorCiudad->objCiudad->codigoSucursal; } else { if ($tipoEntrega == Yii::app()->params->entrega['tipo']['presencial']) { $objCompra->tiempoDomicilioCedi = 0; $objCompra->valorDomicilioCedi = 0; $objCompra->codigoCedi = 0; } } $objCompra->subtotalCompra = Yii::app()->shoppingCart->getCost(); $objCompra->impuestosCompra = Yii::app()->shoppingCart->getTaxPrice(); $objCompra->baseImpuestosCompra = Yii::app()->shoppingCart->getBaseTaxPrice(); $objCompra->domicilio = Yii::app()->shoppingCart->getShipping(); $objCompra->flete = Yii::app()->shoppingCart->getExtraShipping(); $objCompra->totalCompra = Yii::app()->shoppingCart->getTotalCost(); if (!$objCompra->save()) { throw new Exception("Error al guardar compra" . $objCompra->validateErrorsResponse()); } if ($tipoEntrega == Yii::app()->params->entrega['tipo']['presencial']) { $puntoVenta = $modelPago->listPuntosVenta[1][$modelPago->indicePuntoVenta]; $objEstadoCompra = new ComprasEstados(); $objEstadoCompra->idCompra = $objCompra->idCompra; $objEstadoCompra->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['asignado']; $objEstadoCompra->idOperador = 38; if (!$objEstadoCompra->save()) { throw new Exception("Error al guardar traza de estado: " . $objEstadoCompra->validateErrorsResponse()); } $objObservacion = new ComprasObservaciones(); $objObservacion->idCompra = $objCompra->idCompra; $objObservacion->observacion = "Cambio de Estado: Asignado PDV. " . $puntoVenta[2]; $objObservacion->idOperador = 38; $objObservacion->notificarCliente = 0; if (!$objObservacion->save()) { throw new Exception("Error al guardar observación" . $objObservacion->validateErrorsResponse()); } $objEstadoCompra2 = new ComprasEstados(); $objEstadoCompra2->idCompra = $objCompra->idCompra; $objEstadoCompra2->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['pendiente']; $objEstadoCompra2->idOperador = 38; if (!$objEstadoCompra2->save()) { throw new Exception("Error al guardar traza de estado: " . $objEstadoCompra2->validateErrorsResponse()); } $objObservacion2 = new ComprasObservaciones(); $objObservacion2->idCompra = $objCompra->idCompra; $objObservacion2->observacion = "Cambio de Estado: Pendiente de entrega a cliente en PDV. " . $puntoVenta[2]; $objObservacion2->idOperador = 38; $objObservacion2->notificarCliente = 0; if (!$objObservacion2->save()) { throw new Exception("Error al guardar observación" . $objObservacion2->validateErrorsResponse()); } } if ($modelPago->bono !== null && $modelPago->usoBono == 1) { Yii::app()->shoppingCart->setBono($modelPago->bono['valor']); } $objFormasPago = new FormasPago(); //FormaPago::model()->findByPk($modelPago->idFormaPago); $objFormasPago->idCompra = $objCompra->idCompra; $objFormasPago->valor = Yii::app()->shoppingCart->getTotalCost(); $objFormasPago->numeroTarjeta = $modelPago->numeroTarjeta; $objFormasPago->cuotasTarjeta = $modelPago->cuotasTarjeta; $objFormasPago->idFormaPago = $modelPago->idFormaPago; $objFormasPago->valorBono = Yii::app()->shoppingCart->getBono(); /* if ($modelPago->bono !== null && $modelPago->usoBono == 1) { $objFormasPago->valorBono = $modelPago->bono['valor']; } */ /*if($objFormasPago->valorBono>0){ try{ $clientBono = new SoapClient(null, array( 'location' => Yii::app()->params->webServiceUrl['crmLrv'], 'uri' => "", 'trace' => 1 )); $resultBono = $clientBono->__soapCall("ActualizarBono", array('identificacion' => $objCompra->identificacionUsuario)); if (empty($resultBono) || $resultBono[0]->ESTADO == 0) { throw new Exception("Error al actualizar bono"); } }catch(SoapFault $soapExc){ throw new Exception("Error al actualizar bono"); } }*/ if (!$objFormasPago->save()) { throw new Exception("Error al guardar forma de pago" . $objFormasPago->validateErrorsResponse()); } $objCompraDireccion = new ComprasDireccionesDespacho(); if ($tipoEntrega == Yii::app()->params->entrega['tipo']['domicilio']) { if ($modelPago->pagoInvitado) { $objCompraDireccion->idCompra = $objCompra->idCompra; $objCompraDireccion->descripcion = $modelPago->descripcion; $objCompraDireccion->nombre = $modelPago->nombre; $objCompraDireccion->direccion = $modelPago->direccion; $objCompraDireccion->barrio = $modelPago->barrio; $objCompraDireccion->telefono = $modelPago->telefono; $objCompraDireccion->celular = $modelPago->celular; $objCompraDireccion->codigoCiudad = Yii::app()->shoppingCart->getCodigoCiudad(); $objCompraDireccion->codigoSector = Yii::app()->shoppingCart->getCodigoSector(); } else { $objDireccion = DireccionesDespacho::model()->findByPk($modelPago->idDireccionDespacho); $objCompraDireccion->idCompra = $objCompra->idCompra; $objCompraDireccion->descripcion = $objDireccion->descripcion; $objCompraDireccion->nombre = $objDireccion->nombre; $objCompraDireccion->direccion = $objDireccion->direccion; $objCompraDireccion->barrio = $objDireccion->barrio; $objCompraDireccion->telefono = $objDireccion->telefono; $objCompraDireccion->celular = $objDireccion->celular; $objCompraDireccion->codigoCiudad = $objDireccion->codigoCiudad; $objCompraDireccion->codigoSector = $objDireccion->codigoSector; $objCompraDireccion->pdvAsignado = $objDireccion->pdvAsignado; if ($objDireccion->codigoSector == 0 && Yii::app()->shoppingCart->getCodigoSector() != 0) { $objDireccion->codigoSector = Yii::app()->shoppingCart->getCodigoSector(); $objDireccion->save(); } } } else { if ($tipoEntrega == Yii::app()->params->entrega['tipo']['presencial']) { $objCompraDireccion = new ComprasDireccionesDespacho(); $objCompraDireccion->idCompra = $objCompra->idCompra; $objCompraDireccion->descripcion = "NA"; $objCompraDireccion->nombre = "NA"; $objCompraDireccion->direccion = "NA"; $objCompraDireccion->barrio = "NA"; $objCompraDireccion->telefono = $modelPago->telefonoContacto; } } if (!$objCompraDireccion->save()) { throw new Exception("Error al guardar dirección de compra" . $objCompraDireccion->validateErrorsResponse()); } //generar puntos //-- $listPuntosCompra = array(); if (!$modelPago->pagoInvitado) { $fecha = new DateTime(); $parametrosPuntos = array(Yii::app()->params->puntos['categoria'] => Yii::app()->shoppingCart->getCategorias(), Yii::app()->params->puntos['marca'] => Yii::app()->shoppingCart->getMarcas(), Yii::app()->params->puntos['proveedor'] => Yii::app()->shoppingCart->getProveedores(), Yii::app()->params->puntos['producto'] => Yii::app()->shoppingCart->getProductosCantidad(), Yii::app()->params->puntos['monto'] => $objCompra->subtotalCompra, Yii::app()->params->puntos['cedula'] => array('identificacionUsuario' => Yii::app()->user->name, 'valor' => $objCompra->subtotalCompra), Yii::app()->params->puntos['rango'] => array('fecha' => $fecha, 'valor' => $objCompra->subtotalCompra), Yii::app()->params->puntos['cumpleanhos'] => array('fechaNacimiento' => Yii::app()->session[Yii::app()->params->usuario['sesion']]->objUsuarioExtendida->fechaNacimiento, 'valor' => $objCompra->subtotalCompra), Yii::app()->params->puntos['clientefielCompra'] => $objCompra->subtotalCompra); $listPuntosCompra = ComprasPuntos::generarPuntos($fecha, Yii::app()->session[Yii::app()->params->usuario['sesion']], $parametrosPuntos); } //-- generar puntos // guardar puntos //-- foreach ($listPuntosCompra as $objPuntoCompra) { $objPuntoCompra->idCompra = $objCompra->idCompra; if (!$objPuntoCompra->save()) { throw new Exception("Error al guardar punto de compra {$objPuntoCompra->idPunto}. " . $objPuntoCompra->validateErrorsResponse()); } } //-- guardar puntos //-- //items de compra $positions = Yii::app()->shoppingCart->getPositions(); foreach ($positions as $position) { if ($position->isProduct()) { //actualizar saldo producto //-- $objSaldo = null; if ($position->objProducto->tercero == 1) { $objSaldo = ProductosSaldosTerceros::model()->find(array('condition' => 'codigoCiudad=:ciudad AND codigoSector=:sector AND codigoProducto=:producto', 'params' => array(':ciudad' => Yii::app()->shoppingCart->getCodigoCiudad(), ':sector' => Yii::app()->shoppingCart->getCodigoSector(), ':producto' => $position->objProducto->codigoProducto))); } else { $objSaldo = ProductosSaldos::model()->find(array('condition' => 'codigoCiudad=:ciudad AND codigoSector=:sector AND codigoProducto=:producto', 'params' => array(':ciudad' => Yii::app()->shoppingCart->getCodigoCiudad(), ':sector' => Yii::app()->shoppingCart->getCodigoSector(), ':producto' => $position->objProducto->codigoProducto))); } if ($objSaldo == null) { throw new Exception("Producto " . $position->objProducto->codigoProducto . " no disponible"); } if ($objSaldo->saldoUnidad < $position->getQuantityUnit()) { throw new Exception("Producto " . $position->objProducto->codigoProducto . ". La cantidad solicitada no está disponible en este momento. Saldos disponibles: {$objSaldo->saldoUnidad} unidades"); } if ($objSaldo->saldoFraccion < $position->getQuantity(true)) { throw new Exception("Producto " . $position->objProducto->codigoProducto . ". La cantidad solicitada no está disponible en este momento. Saldos disponibles: {$objSaldo->saldoFraccion} fracciones"); } $objSaldo->saldoUnidad = $objSaldo->saldoUnidad - $position->getQuantityUnit(); $objSaldo->saldoFraccion = $objSaldo->saldoFraccion - $position->getQuantity(true); $objSaldo->save(); //-- actualizar saldo producto //actualizar saldo bodega //-- if ($position->getQuantityStored() > 0) { $objSaldoBodega = ProductosSaldosCedi::model()->find(array('condition' => 'codigoCedi=:cedi AND codigoProducto=:producto', 'params' => array(':cedi' => Yii::app()->shoppingCart->getObjCiudad()->codigoSucursal, ':producto' => $position->objProducto->codigoProducto))); if ($objSaldoBodega == null) { throw new Exception("Producto " . $position->objProducto->codigoProducto . " no disponible en bodega"); } if ($objSaldoBodega->saldoUnidad < $position->getQuantityStored()) { throw new Exception("Producto " . $position->objProducto->codigoProducto . ". La cantidad solicitada no está disponible en este momento. Saldos disponibles: {$objSaldoBodega->saldoUnidad} unidades"); } $objSaldoBodega->saldoUnidad = $objSaldoBodega->saldoUnidad - $position->getQuantityStored(); $objSaldoBodega->save(); } //-- actualizar saldo bodega $objItem = new ComprasItems(); $objItem->idCompra = $objCompra->idCompra; $objItem->codigoProducto = $position->objProducto->codigoProducto; $objItem->descripcion = $position->objProducto->descripcionProducto; $objItem->presentacion = $position->objProducto->presentacionProducto; $objItem->precioBaseUnidad = $position->getPrice(false, false); $objItem->precioBaseFraccion = $position->getPrice(true, false); $objItem->descuentoUnidad = $position->getDiscountPrice(); $objItem->descuentoFraccion = $position->getDiscountPrice(true); $objItem->precioTotalUnidad = $position->getSumPriceUnit(); $objItem->precioTotalFraccion = $position->getSumPriceFraction(true); $objItem->terceros = $position->objProducto->tercero; $objItem->unidades = $position->getQuantityUnit(); $objItem->fracciones = $position->getQuantity(true); $objItem->unidadesCedi = $position->getQuantityStored(); $objItem->codigoImpuesto = $position->objProducto->codigoImpuesto; $objItem->idEstadoItem = Yii::app()->params->callcenter['estadoItem']['estado']['activo']; //$objItem->idEstadoItemTercero = null; $objItem->flete = $position->getShipping(); $objItem->disponible = 1; if ($objCompra->identificacionUsuario !== null) { $categoriasCompra[] = "('" . $objCompra->identificacionUsuario . "','" . $position->objProducto->idCategoriaBI . "')"; } $productosCompra[] = "('" . $position->objProducto->codigoProducto . "')"; if (!$objItem->save()) { throw new Exception("Error al guardar item de compra {$objItem->codigoProducto}. " . $objItem->validateErrorsResponse()); } //beneficios foreach ($position->getBeneficios() as $objBeneficio) { $objBeneficioItem = new BeneficiosComprasItems(); $objBeneficioItem->idBeneficio = $objBeneficio->idBeneficio; $objBeneficioItem->idBeneficioSincronizado = $objBeneficio->idBeneficioSincronizado; $objBeneficioItem->idCompraItem = $objItem->idCompraItem; $objBeneficioItem->tipo = $objBeneficio->tipo; $objBeneficioItem->fechaIni = $objBeneficio->fechaIni; $objBeneficioItem->fechaFin = $objBeneficio->fechaFin; $objBeneficioItem->dsctoUnid = $objBeneficio->dsctoUnid; $objBeneficioItem->dsctoFrac = $objBeneficio->dsctoFrac; $objBeneficioItem->vtaUnid = $objBeneficio->vtaUnid; $objBeneficioItem->vtaFrac = $objBeneficio->vtaFrac; $objBeneficioItem->pagoUnid = $objBeneficio->pagoUnid; $objBeneficioItem->pagoFrac = $objBeneficio->pagoFrac; $objBeneficioItem->cuentaCop = $objBeneficio->cuentaCop; $objBeneficioItem->nitCop = $objBeneficio->nitCop; $objBeneficioItem->porcCop = $objBeneficio->porcCop; $objBeneficioItem->cuentaProv = $objBeneficio->cuentaProv; $objBeneficioItem->nitProv = $objBeneficio->nitProv; $objBeneficioItem->porcProv = $objBeneficio->porcProv; $objBeneficioItem->promoFiel = $objBeneficio->promoFiel; $objBeneficioItem->mensaje = $objBeneficio->mensaje; $objBeneficioItem->swobligaCli = $objBeneficio->swobligaCli; $objBeneficioItem->fechaCreacionBeneficio = $objBeneficio->fechaCreacionBeneficio; if (!$objBeneficioItem->save()) { throw new Exception("Error al guardar beneficio de compra {$objBeneficioItem->idCompraItem}. " . $objBeneficioItem->validateErrorsResponse()); } } } else { if ($position->isCombo()) { $objSaldo = ComboSectorCiudad::model()->find(array('condition' => 'codigoCiudad=:ciudad AND codigoSector=:sector AND idCombo=:combo', 'params' => array(':ciudad' => Yii::app()->shoppingCart->getCodigoCiudad(), ':sector' => Yii::app()->shoppingCart->getCodigoSector(), ':combo' => $position->objCombo->idCombo))); if ($objSaldo == null) { throw new Exception("Combo " . $position->objCombo->getCodigo() . " no disponible"); } if ($objSaldo->saldo < $position->getQuantity()) { throw new Exception("Combo " . $position->objCombo->getCodigo() . "La cantidad solicitada no está disponible en este momento. Saldos disponibles: {$objSaldo->saldo} unidades"); } $objSaldo->saldo = $objSaldo->saldo - $position->getQuantity(); $objSaldo->save(); foreach ($position->objCombo->listProductosCombo as $productoCombo) { $objItem = new ComprasItems(); $objItem->idCompra = $objCompra->idCompra; $objItem->idCombo = $position->objCombo->idCombo; $objItem->codigoProducto = $productoCombo->objProducto->codigoProducto; $objItem->descripcion = $productoCombo->objProducto->descripcionProducto; $objItem->descripcionCombo = $position->objCombo->descripcionCombo; $objItem->presentacion = $productoCombo->objProducto->presentacionProducto; $objItem->precioBaseUnidad = $productoCombo->precio; $objItem->precioBaseFraccion = 0; $objItem->descuentoUnidad = 0; $objItem->descuentoFraccion = 0; $objItem->precioTotalUnidad = $productoCombo->precio * $position->getQuantity(); $objItem->precioTotalFraccion = 0; $objItem->terceros = $productoCombo->objProducto->tercero; $objItem->unidades = $position->getQuantity(); $objItem->fracciones = 0; $objItem->unidadesCedi = 0; $objItem->codigoImpuesto = $productoCombo->objProducto->codigoImpuesto; $objItem->idEstadoItem = Yii::app()->params->callcenter['estadoItem']['estado']['activo']; //$objItem->idEstadoItemTercero = null; $objItem->flete = $position->getShipping(); $objItem->disponible = 1; if (!$objItem->save()) { throw new Exception("Error al guardar item de compra {$objItem->codigoProducto}. " . $objItem->validateErrorsResponse()); } if ($objCompra->identificacionUsuario !== null) { $categoriasCompra[] = "('" . $objCompra->identificacionUsuario . "','" . $productoCombo->objProducto->idCategoriaBI . "')"; } $productosCompra[] = "('" . $productoCombo->objProducto->codigoProducto . "')"; } } } } $objUsuario = Yii::app()->session[Yii::app()->params->usuario['sesion']]; $objPasarelaEnvio = null; $asuntoCorreo = Yii::app()->params->asunto['pedidoRealizado']; if ($modelPago->idFormaPago == Yii::app()->params->formaPago['pasarela']['idPasarela']) { $asuntoCorreo = Yii::app()->params->asunto['pedidoRealizadoPasarela']; $objPasarelaEnvio = new PasarelaEnvios(); $objPasarelaEnvio->idCompra = $objCompra->idCompra; $objPasarelaEnvio->valor = $objCompra->totalCompra; $objPasarelaEnvio->iva = $objCompra->impuestosCompra; $objPasarelaEnvio->baseIva = $objCompra->baseImpuestosCompra; $objPasarelaEnvio->moneda = "COP"; $objPasarelaEnvio->nombre = $objUsuario->getNombreCompleto(); $objPasarelaEnvio->identificacionUsuario = $objCompra->identificacionUsuario; $objPasarelaEnvio->tipoDocumento = 1; $objPasarelaEnvio->correoElectronico = $objUsuario->correoElectronico; if (!$objPasarelaEnvio->save()) { throw new Exception("Error al guardar registro de pasarela. " . $objPasarelaEnvio->validateErrorsResponse()); } } if (count($categoriasCompra) > 0) { $sql = "INSERT INTO t_ComprasUsuariosCategorias(identificacionUsuario, idCategoriaBI) VALUES " . implode(",", $categoriasCompra) . " ON DUPLICATE KEY UPDATE cantidad=cantidad+1"; Yii::app()->db->createCommand($sql)->execute(); } if (count($productosCompra) > 0) { $sql = "INSERT INTO t_ProductosVendidos(codigoProducto) VALUES " . implode(",", $productosCompra) . " ON DUPLICATE KEY UPDATE cantidad=cantidad+1"; Yii::app()->db->createCommand($sql)->execute(); } $objFormaPago = FormaPago::model()->findByPk($modelPago->idFormaPago); $contenidoCorreo = $this->renderPartial('compraCorreo', array('objCompra' => $objCompra, 'modelPago' => $modelPago, 'objCompraDireccion' => $objCompraDireccion, 'objFormaPago' => $objFormaPago, 'objFormasPago' => $objFormasPago, 'objUsuario' => $objUsuario), true, true); $htmlCorreo = $this->renderPartial('/usuario/_correo', array('contenido' => $contenidoCorreo), true, true); sendHtmlEmail($objUsuario->correoElectronico, $asuntoCorreo, $htmlCorreo); $transaction->commit(); return array('result' => 1, 'response' => array('objCompra' => $objCompra, 'modelPago' => $modelPago, 'objCompraDireccion' => $objCompraDireccion, 'objFormaPago' => $objFormaPago, 'objFormasPago' => $objFormasPago, 'objPasarelaEnvio' => $objPasarelaEnvio)); } catch (Exception $exc) { Yii::log($exc->getMessage() . "\n" . $exc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application'); try { $transaction->rollBack(); } catch (Exception $txexc) { Yii::log($txexc->getMessage() . "\n" . $txexc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application'); } return array('result' => 0, 'response' => $exc->getMessage()); } }
public function actionRecordar() { $this->showSeeker = false; $this->fixedFooter = true; $model = new RecordarForm(); if (isset($_POST['RecordarForm'])) { $model->attributes = $_POST['RecordarForm']; if ($model->validate()) { try { $objUsuarioExtendida = $model->usuario->objUsuarioExtendida; $fecha = new DateTime(); $fecha->modify('+1 day'); $objUsuarioExtendida->recuperacionFecha = $fecha->format('Y-m-d H:i:s'); $objUsuarioExtendida->recuperacionCodigo = md5($objUsuarioExtendida->identificacionUsuario) . md5($fecha->format('YmdHis')); $objUsuarioExtendida->recuperacionCodigo = md5($objUsuarioExtendida->recuperacionCodigo); $objUsuarioExtendida->save(); $model->usuario->objUsuarioExtendida = $objUsuarioExtendida; $contenido = $this->renderPartial('_correoRecordar', array('objUsuario' => $model->usuario), true, true); $htmlCorreo = $this->renderPartial('_correo', array('contenido' => $contenido), true, true); sendHtmlEmail($model->correoElectronico, Yii::app()->params->asuntoRecordatorioClave, $htmlCorreo); Yii::app()->user->setFlash('success', "Se ha enviado a su correo los datos de restauración de clave"); //$usuario->save(); //$this->render('_recordarexito', array('url' => Yii::app()->homeUrl)); } catch (Exception $exc) { Yii::log($exc->getMessage() . "\n" . $exc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application'); Yii::app()->user->setFlash('error', "Error: " . $exc->getMessage()); $this->render('recordar', array('model' => $model)); Yii::app()->end(); } } } $this->render('recordar', array('model' => $model)); }
/** * Send an email to the administrator * @return boolean * @param string Name of the sender * @param string Email of the sender * @param string Name of the receiver * @param string Email of the receiver * @param string Email subject * @param string Email HTML content * @desc Send an email from the sender email to the admin email */ function sendHtmlEmailToAdmin($nameSender, $emailSender, $subject, $htmlContent) { return sendHtmlEmail($nameSender, $emailSender, $GLOBALS['adminName'], $GLOBALS['adminEmail'], $subject, $htmlContent); }
public function actionObservacionpedido() { if (isset($_POST['ObservacionForm'])) { $model = new ObservacionForm(); $model->attributes = $_POST['ObservacionForm']; if ($model->validate()) { $objCompra = Compras::model()->findByPk($model->idCompra); if ($objCompra === null) { echo CJSON::encode(array('result' => 'error', 'response' => 'Compra no existente')); Yii::app()->end(); } $objObservacion = new ComprasObservaciones(); $objObservacion->idCompra = $model->idCompra; $objObservacion->observacion = $model->observacion; $objObservacion->idOperador = Yii::app()->controller->module->user->id; $objObservacion->notificarCliente = 0; $objObservacion->idTipoObservacion = $model->tipoObservacion; if ($model->estado != null) { $transaction = Yii::app()->db->beginTransaction(); try { $estadoCompra = EstadoCompra::model()->findByPk($model->estado); if ($estadoCompra == null) { throw new Exception('Estado inválido'); } $objObservacion->observacion = "<b>Cambio de estado: " . $estadoCompra->compraEstado . ".</b> " . $objObservacion->observacion; if (!$objObservacion->save()) { throw new Exception('Error al actualizar estado: ' . $objObservacion->validateErrorsResponse()); } $objCompra->idEstadoCompra = $model->estado; if ($model->estado == Yii::app()->params->callcenter['estadoCompra']['estado']['devolucion']) { $objCompra->generarDocumentoCruce(Yii::app()->controller->module->user->id); } if (!$objCompra->save()) { throw new Exception('Error al actualizar estado: ' . $objCompra->validateErrorsResponse()); } //$objCompraEstado $objCompraEstado = new ComprasEstados(); $objCompraEstado->idCompra = $objCompra->idCompra; $objCompraEstado->idEstadoCompra = $model->estado; $objCompraEstado->idOperador = Yii::app()->controller->module->user->id; if (!$objCompraEstado->save()) { throw new Exception("Error al guardar traza de estado: " . $objCompraEstado->validateErrorsResponse()); } $transaction->commit(); echo CJSON::encode(array('result' => 'ok', 'response' => array('msg' => 'Observación registrada.', 'htmlObservaciones' => $this->renderPartial('_observaciones', array('objCompra' => $objCompra), true, false), 'htmlEncabezado' => $this->renderPartial('_encabezadoPedido', array('objCompra' => $objCompra), true, false)))); Yii::app()->end(); } catch (Exception $exc) { Yii::log($exc->getMessage() . "\n" . $exc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application'); try { $transaction->rollBack(); } catch (Exception $txexc) { Yii::log($txexc->getMessage() . "\n" . $txexc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application'); } echo CJSON::encode(array('result' => 'error', 'response' => $exc->getMessage())); Yii::app()->end(); } } else { if (!$objObservacion->save()) { echo CJSON::encode(array('result' => 'error', 'response' => 'Error al actualizar estado: ' . $objObservacion->validateErrorsResponse())); Yii::app()->end(); } echo CJSON::encode(array('result' => 'ok', 'response' => array('msg' => 'Observación registrada.', 'htmlObservaciones' => $this->renderPartial('_observaciones', array('objCompra' => $objCompra), true, false)))); Yii::app()->end(); } } else { echo CActiveForm::validate($model); } } else { if (isset($_POST['NotificacionForm'])) { $model = new NotificacionForm(); $model->attributes = $_POST['NotificacionForm']; if ($model->validate()) { $objCompra = Compras::model()->findByPk($model->idCompra); if ($objCompra === null) { echo CJSON::encode(array('result' => 'error', 'response' => 'Compra no existente')); Yii::app()->end(); } $objObservacion = new ComprasObservaciones(); $objObservacion->idCompra = $model->idCompra; $objObservacion->observacion = $model->observacion; $objObservacion->idOperador = Yii::app()->controller->module->user->id; $objObservacion->notificarCliente = 1; if (!$objObservacion->save()) { echo CJSON::encode(array('result' => 'error', 'response' => 'Error al actualizar estado: ' . $objObservacion->validateErrorsResponse())); Yii::app()->end(); } try { $contenido = $this->renderPartial('//common/mensajeHtml', array('mensaje' => $objObservacion->observacion), true, true); $htmlCorreo = $this->renderPartial('//common/correo', array('contenido' => $contenido), true, true); sendHtmlEmail($objCompra->objUsuario->correoElectronico, Yii::app()->params->callcenter['observacion']['asuntoMensaje'], $htmlCorreo); } catch (Exception $exc) { } echo CJSON::encode(array('result' => 'ok', 'response' => array('msg' => 'Observación registrada.', 'htmlObservaciones' => $this->renderPartial('_observaciones', array('objCompra' => $objCompra), true, false)))); Yii::app()->end(); } else { echo CActiveForm::validate($model); } } else { throw new CHttpException(404, 'Solicitud invalida.'); } } }
protected function correo($tipo_correo = 1, $nombre = "", $numeroPedido = 0, $valorCompra = 0, $correoCliente = "", $menEstado = "") { switch ($tipo_correo) { case 1: // TRANSACCION APROBADA. $contenido = $this->renderPartial('correoAprobada', array('nombre' => $nombre, 'numeroPedido' => $numeroPedido, 'valorCompra' => $valorCompra), true); try { sendHtmlEmail($correoCliente, "La Rebaja Virtual: Informacion Transaccion", $contenido); } catch (Exception $exc) { } break; case 2: // TRANSACCION RECHAZADA. $contenido = $this->renderPartial('correoRechazada', array('nombre' => $nombre, 'numeroPedido' => $numeroPedido, 'valorCompra' => $valorCompra), true); try { sendHtmlEmail($correoCliente, "La Rebaja Virtual: Informacion Transaccion", $contenido); } catch (Exception $exc) { } break; case 3: //VERIFICACION CALL CENTER. $contenido = $this->renderPartial('correoCentroContacto', array('estado' => $menEstado, 'numeroPedido' => $numeroPedido, 'valorCompra' => $valorCompra), true); try { sendHtmlEmail(Yii::app()->params->callcenter['correo'], "La Rebaja Virtual: Verificacion Transaccion", $contenido); } catch (Exception $exc) { } break; case 4: //CORREO PARA REVISION DEL CALL CENETR try { sendHtmlEmail(Yii::app()->params->callcenter['correo'], "La Rebaja Virtual: Verificacion Transaccion", $menEstado); } catch (Exception $exc) { } break; } }
function sendBeenDispute($email, $uid1, $player1, $claim1, $uid2, $player2, $claim2, $disputeId) { $subject = 'There has been a dispute'; $body = <<<END_OF_BODY <p>{$player1} has a dispute with {$player2}</p> {$player1} claims that: <p>{$claim1}</p> {$player2} claims that: <p>{$claim2}</p> Who do you think is right? <form action="http://stanfordassassins.com/gameserver.php" method="get"> \t<input type="hidden" name="cmd" value="dispute-judge"/> \t<input type="hidden" name="disputeId" value="{$disputeId}"/> \t<input type="hidden" name="vote" value="{$uid1}"/> \t<input type="submit" value="{$player1} is right" /> </form> <form action="http://stanfordassassins.com/gameserver.php" method="get"> \t<input type="hidden" name="cmd" value="dispute-judge"/> \t<input type="hidden" name="disputeId" value="{$disputeId}"/> \t<input type="hidden" name="vote" value="{$uid2}"/> \t<input type="submit" value="{$player2} is right" /> </form> <form action="http://stanfordassassins.com/gameserver.php" method="get"> \t<input type="hidden" name="cmd" value="dispute-judge"/> \t<input type="hidden" name="disputeId" value="{$disputeId}"/> \t<input type="hidden" name="vote" value="0"/> \t<input type="submit" value="Flip a coin!" /> </form> END_OF_BODY; return sendHtmlEmail($email, $subject, $body); }