public function sendmailcircularAction() { //CORREOOOOOO $sid = new Container('base'); $id_usuario = $sid->offsetGet('id_usuario'); $id_db = $sid->offsetGet('id_db'); $status = "ok"; $mensaje = ""; if (isset($id_usuario)) { //por seguridad, se aplica consulta de la peticion. Debe existir y con estado Proceso $db_name = $sid->offsetGet('dbNombre'); $this->dbAdapter = $this->getServiceLocator()->get($db_name); $circularTable = new CircularTable($this->dbAdapter); //recuperamos nro de peticion de circular $lc = $this->request->getPost(); $filtros = array('id' => $lc['id_circular'], 'estado' => 'Proceso'); $lstCircular = $circularTable->getCircularByDatos($filtros); if (count($lstCircular) > 0) { // seteamos el link $link_circular = 'http://becheck.cl/files/db/' . $id_db . '/circulares/' . $lstCircular[0]['nombre_file']; //actualizamos la peticion de Proceso a Enviando $filtros = array('id' => $lc['id_circular'], 'estado' => 'Enviando', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms()); $circularTable->actualizarCircular($filtros); //obtenemos todos los correos de la comunidad $correos = $circularTable->getListadoCorreoActivos($this->dbAdapter); //enviando a la gentita... $tamanio = count($correos); if ($tamanio > 0) { //seteamos el link del descarga //seteamos para que no expire la trasaccion set_time_limit(90); //enviamos correo masivas $transport = new SmtpTransport(); $options = new SmtpOptions(array('name' => 'smtp.gmail.com', 'host' => 'smtp.gmail.com', 'port' => '587', 'connection_class' => 'login', 'connection_config' => array('username' => '*****@*****.**', 'password' => 'xofita123', 'ssl' => 'tls'))); for ($i = 0; $i < $tamanio; $i++) { if (isset($correos[$i]['correo'])) { $pos = strpos($correos[$i]['correo'], "@"); if ($pos == false) { } else { //si utilizas temporalmente Encomienda $htmlMarkup = \HtmlCorreo::htmlcircular($correos[$i]['nombre'], $link_circular); $html = new MimePart($htmlMarkup); $html->type = "text/html"; $body = new MimeMessage(); $body->setParts(array($html)); $message = new Message(); $message->addTo($correos[$i]['correo'])->addFrom('*****@*****.**', 'Sistema be check')->setSubject('AVISO: Nuevo Circular del Condominio')->setBody($body); $transport->setOptions($options); $transport->send($message); sleep(0.5); } } } //actualizamos si fue enviado $filtros = array('id' => $lc['id_circular'], 'estado' => 'Enviado OK', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms()); $circularTable->actualizarCircular($filtros); } else { $mensaje = "No hay datos para enviar correo masivo a la comunidad"; } $mensaje = "Envio masivo de correo - OK"; } else { $mensaje = "No se envia correos por que no cumple la regla de negocio"; } } else { $status = "nok"; $mensaje = "sesion time out"; } return new JsonModel(array('status' => $status, 'mensaje' => $mensaje)); }
public function cargarresidentesAction() { $sid = new Container('base'); $id_usuario = $sid->offsetGet('id_usuario'); $status = ""; $mensaje = ""; if (isset($id_usuario)) { $id_db = $sid->offsetGet('id_db'); //Primero hay que cargar el archivo es decir reemplazamos el archivo $File = $this->params()->fromFiles('fileData'); $adapterFile = new \Zend\File\Transfer\Adapter\Http(); $adapterFile->setDestination($_SERVER['DOCUMENT_ROOT'] . '/files/db/' . $id_db . '/admin/copropietarios'); $adapterFile->receive($File['name']); //Llamamos Clase PHPExcel $objReader = \PHPExcel_IOFactory::createReader('Excel2007'); $objReader->setReadDataOnly(TRUE); //seleccionamos el archivo que ha sido reemplazado con el mimso nombre $archivo = $_SERVER['DOCUMENT_ROOT'] . '/files/db/' . $id_db . '/admin/copropietarios/' . $File['name']; //cargamos el archivo $objPHPExcel = $objReader->load($archivo); //Obtenemos Hoja de trabajo $objWorksheet = $objPHPExcel->getActiveSheet(); //validamos RUT debe contener el caracter guion y mayor a 3 //validamos nombre apellido y apellido2 no vacios y correo consistente y no vacio //preparamos la query $recorre = true; $fila = 3; $status = "ok"; while ($recorre) { $dpto = $objWorksheet->getCell('A' . $fila)->getValue(); if (trim($dpto) == "") { $recorre = false; if ($fila == 3) { $status = "nok"; $mensaje = "no hay datos"; } break; } $bodega = $objWorksheet->getCell('B' . $fila)->getValue(); $estacionamiento = $objWorksheet->getCell('C' . $fila)->getValue(); $nombre = $objWorksheet->getCell('D' . $fila)->getValue(); $apellido = $objWorksheet->getCell('E' . $fila)->getValue(); $apellido_2 = $objWorksheet->getCell('F' . $fila)->getValue(); $rut = $objWorksheet->getCell('G' . $fila)->getValue(); $telefono = $objWorksheet->getCell('H' . $fila)->getValue(); $correo = $objWorksheet->getCell('I' . $fila)->getValue(); $pais = $objWorksheet->getCell('J' . $fila)->getValue(); $descripcion = $objWorksheet->getCell('K' . $fila)->getValue(); if (strpos(trim($rut), "-") === FALSE) { $recorre = false; $status = "nok"; $mensaje = "Formato de RUT no es valido: " . $rut; break; } if (strpos($correo, "@") === FALSE) { $recorre = false; $status = "nok"; $mensaje = "Formato de Correo no es valido"; break; } if (trim($nombre) == "" || trim($apellido) == "" || trim($apellido_2) == "") { $recorre = false; $status = "nok"; $mensaje = "Valores vacios, Nombre o Apellidos nulos"; break; } //almacenamos en un array desde indice 0 //primero obtenemos rut y su dv //obtenemos rut sin espacios $rutSE = trim($rut); //tamaño del rut $rutLen = strlen($rutSE); //cortamos hacia la izquierda $dv = substr($rutSE, -1, 1); $rutSinDv = substr($rutSE, 0, $rutLen - 2); $myDatos[$fila - 3] = array("dpto" => trim($dpto), "bodega" => trim($bodega), "estacionamiento" => trim($estacionamiento), "nombre" => trim($nombre), "apellido" => trim($apellido), "apellido_2" => trim($apellido_2), "rut" => $rutSinDv, "dv" => $dv, "telefono" => trim($telefono), "correo" => trim($correo), "pais" => trim($pais), "descripcion" => trim($descripcion)); $fila++; } if ($status == "ok") { $db_name = $sid->offsetGet('dbNombre'); $this->dbAdapter = $this->getServiceLocator()->get($db_name); $this->dbAdapter2 = $this->getServiceLocator()->get('Zend\\Db\\Adapter'); $unidad = new UnidadTable($this->dbAdapter); $persona = new PersonaTable($this->dbAdapter2); $personaDet = new PersonaDetTable($this->dbAdapter); //Filtramos los datos $contadorPersona = 0; $contadorDetalle = 0; for ($i = 0; $i < count($myDatos); $i++) { //Recuperamos el id_unidad $datosId = $unidad->getIdUIdBIdEIdPActivos($this->dbAdapter, $myDatos[$i]); if (count($datosId) > 0) { //verificamos si existe la persona if ($datosId[0]['id_persona'] > 0) { $id_persona = $datosId[0]['id_persona']; } else { //insertamos nueva persona $dataPersona = array('rut' => $myDatos[$i]['rut'], 'dv' => $myDatos[$i]['dv'], 'nombre' => $myDatos[$i]['nombre'], 'apellido' => $myDatos[$i]['apellido'], 'apellido2' => $myDatos[$i]['apellido_2'], 'telefono' => $myDatos[$i]['telefono'], 'correo' => $myDatos[$i]['correo'], 'pais' => $myDatos[$i]['pais'], 'observacion' => $myDatos[$i]['descripcion'], 'user_create' => $id_usuario); $id_persona = $persona->nuevaPersona($dataPersona); $contadorPersona++; } //insertamos perdet siempre y cuando no exista la relacion id_unidad con id_persona //si existe no hacemos nada $detallePersona = $personaDet->getDatosPersonaDetalle($datosId[0]['id_unidad'], $id_persona); if (count($detallePersona) == 0) { //insertamos la tabla perdet, porque no existe $myDatosPerDet = array('id_unidad' => $datosId[0]['id_unidad'], 'id_bodega' => $datosId[0]['id_bodega'], 'id_estacionamiento' => $datosId[0]['id_estacionamiento'], 'id_persona' => $id_persona, 'activo' => '1', 'user_create' => $id_usuario, 'date_update' => \Sistema\Util\SysFnc::FechaActualYmdHms(), 'condicion' => 'C', 'titular' => '1', 'representa' => 's', 'gastocomun' => '1'); $personaDet->nuevaPersonaDetalle($myDatosPerDet); $contadorDetalle++; } } } if ($contadorDetalle == 0 && $contadorPersona == 0) { $mensaje = "Se analiza y se verifica que el contenido del fichero ya se encuentra en la base de datos por lo tanto no se inserta datos"; } else { $mensaje = "Operacion Exitosa: Se inserto " . $contadorPersona . " nuevas personas y se inserto " . $contadorDetalle . " Detalles Personas. Si no coincide la cantidad significa que ya existen en la base de datos"; } } } else { $status = "nok"; $mensaje = "Sesion expirada..."; } return new JsonModel(array('status' => $status, 'mensaje' => $mensaje)); }
public function retirarAction() { $sid = new Container('base'); $id_usuario = $sid->offsetGet('id_usuario'); $id_db = $sid->offsetGet('id_db'); $status = ""; $error = ""; if (isset($id_usuario)) { $fechaCompleta = SysFnc::FechaActualYmdHms(); $v = $this->request->getPost(); if (isset($v['id_encomienda']) && (int) $v['id_encomienda'] > 0) { $db_name = $sid->offsetGet('dbNombre'); $this->dbAdapter = $this->getServiceLocator()->get($db_name); $encomienda = new EncomiendaTable($this->dbAdapter); $v['fecha_salida'] = $fechaCompleta; $v['date_update'] = $fechaCompleta; $v['user_update'] = $id_usuario; $encomienda->cerrarEncomienda($v); $status = "ok"; } else { $status = "nok"; $error = "el identificador de encomienda no encontrado"; } } else { $status = "nok"; $error = "usuario no encontrado"; } return new JsonModel(array('status' => $status, 'error' => $error)); }
public function updateNota($lista) { $array = array('texto' => $lista['texto'], 'date_update' => SysFnc::FechaActualYmdHms()); $this->update($array, array('id' => $lista['id'])); }
public function aqoperAction() { $error = ""; $status = ""; $msj = ""; $sid = new Container('base'); $id_usuario = $sid->offsetGet('id_usuario'); $id_db = $sid->offsetGet('id_db'); $prm = $this->request->getPost(); if (isset($id_usuario) && !empty($prm['id']) && !empty($prm['oper'])) { $db_name = $sid->offsetGet('dbNombre'); $this->dbAdapter = $this->getServiceLocator()->get($db_name); $vD = new RsvQuinchoTable($this->dbAdapter); if ($prm['oper'] == "reservaOK") { $data = array('estado' => 'Reserva', 'condicion' => 'Abierto', 'observacion_entrega' => 'Se entrega quincho OK. Pasa de Pre Reserva a Reserva', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms()); $vD->actualizarRsvQuincho($prm['id'], $data); $msj = "Se hizo la reserva satisfactoriamente..."; } if ($prm['oper'] == "finalizaOK") { $data = array('estado_recibido' => 'OK', 'condicion' => 'Cerrado', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms()); $vD->actualizarRsvQuincho($prm['id'], $data); $msj = "Se ha finalizado la reserva satisfactoriamente..."; } if ($prm['oper'] == "anulaReserva") { $data = array('activo' => 0, 'estado_entrega' => '', 'observacion_entrega' => '', 'observacion_cancelacion' => $prm['obs'], 'condicion' => 'Cancelado', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms()); $vD->actualizarRsvQuincho($prm['id'], $data); $msj = "Se ha cancelado la reserva satisfactoriamente..."; } if ($prm['oper'] == "finalizaNOK") { $data = array('estado_recibido' => 'NOK', 'observacion_recibido' => $prm['obs'], 'condicion' => 'Cerrado', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms()); $vD->actualizarRsvQuincho($prm['id'], $data); $msj = "Se ha finalizado con observacion la reserva satisfactoriamente..."; } if ($prm['oper'] == "finalizaM") { $data = array('estado_recibido' => 'NOK', 'motivo_multa' => $prm['obs'], 'monto_multa' => $prm['monto'], 'condicion' => 'Cerrado', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms()); $vD->actualizarRsvQuincho($prm['id'], $data); $msj = "Se ha finalizado con multa la reserva satisfactoriamente..."; } $status = "ok"; } else { $error = "Se ha caducado la sesion o parametro incorrecto"; } $datos = array('status' => $status, 'error' => $error, 'message' => $msj); $result = new JsonModel($datos); return $result; }