/** * Show the form for creating a new resource. * * @return Response */ public function create() { //Título Vista $titulo = "Nuevo Cursillo"; $cursillo = new Cursillos(); $cursillo->cursillo = "CURSILLO DE CRISTIANDAD"; $cursillo->fecha_inicio = $this->ponerFecha(date("d-m-Y")); $cursillo->fecha_final = $this->ponerFecha(date("d-m-Y")); $tipos_participantes = TiposParticipantes::getTiposParticipantesList(); $comunidades = Comunidades::getComunidadesColaboradoras(); //Vista return view('cursillos.nuevo', compact('cursillo', 'comunidades', 'tipos_participantes', 'titulo')); }
public function comenzarCopia(Request $request) { $remitente = Comunidades::getComunidad($request->get('nuestrasComunidades')); if (count($remitente) == 0) { return redirect()->route('copiaSeguridad')->with('mensaje', 'No se puede realizar el envío, selecciona comunidad.'); } $logEnvios = []; //Ruta para linux $backupfile = "CS-PALENCIA_" . date("Y-m-d_H_i_s") . '.sql'; $dbhost = env('DB_HOST'); $dbuser = env('DB_USERNAME'); $dbpass = env('DB_PASSWORD'); $dbnamedb = env('DB_DATABASE'); //Realizamos la copia de seguridad $fileCopiaSeguridad = "backups/" . $backupfile; $copiaSeguridad = "mysqldump --compact --opt --host=" . $dbhost . " --user="******" --password="******" " . $dbnamedb . ">" . $fileCopiaSeguridad; System($copiaSeguridad); //Realizamos la copia de seguridad $logEnvios[] = ["Creada copia de seguridad para la comunidad " . $remitente->comunidad, $fileCopiaSeguridad, true]; $titulo = "Operaciones Realizadas"; return view('copiaSeguridad.listadoLog', compact('titulo', 'logEnvios')); }
public static function imprimirSecretariadosPaisConSolicitudesSinResponder($pais = 0) { if ($pais == 0) { return Comunidades::Select('comunidades.comunidad', 'paises.pais')->leftJoin('paises', 'paises.id', '=', 'comunidades.pais_id')->leftJoin('solicitudes_enviadas', 'comunidad_id', '=', 'comunidades.id')->where('solicitudes_enviadas.aceptada', false)->where('comunidades.esColaborador', true)->where('comunidades.activo', true)->orderBy('paises.pais')->orderBy('comunidades.comunidad')->get(); } else { return Comunidades::Select('comunidades.comunidad')->where('comunidades.pais_id', '=', $pais)->leftJoin('solicitudes_enviadas', 'comunidad_id', '=', 'comunidades.id')->where('solicitudes_enviadas.aceptada', false)->where('comunidades.esColaborador', true)->where('comunidades.activo', true)->orderBy('comunidades.comunidad')->get(); } }
public function getCursillosSolicitudEnviada(Request $request) { $titulo = "Listado de Cursillos"; $comunidadId = $request->comunidad_id; $solicitudId = $request->solicitud_id; $comunidad = Comunidades::getNombreComunidad($comunidadId); $solicitudesEnviadasCursillos = SolicitudesEnviadasCursillos::getCursillosSolicitud($comunidadId, $solicitudId, $request); return view("solicitudesEnviadas.verCursillos", compact('solicitudesEnviadasCursillos', 'titulo', 'comunidad', 'solicitudId')); }
public function imprimirSecretariadosColaboradoresSinResponder() { $idPais = \Request::input('pais'); $pais = Paises::getNombrePais((int) $idPais); $date = date('d-m-Y'); $fichero = 'secretariadosColaboradoresSinResponder' . substr($date, 0, 2) . substr($date, 3, 2) . substr($date, 6, 4); $comunidades = Comunidades::imprimirSecretariadosPaisConSolicitudesSinResponder($idPais); //Configuración del listado html $listadoPosicionInicial = 15; $listadoTotal = 19; $listadoTotalRestoPagina = 25; $separacionLinea = 2.5; if ($idPais == 0) { $titulo1 = "Secretariados Colaboradores Sin Responder"; $titulo2 = "de Todos los Países"; } else { $titulo1 = "Secretariados Colaboradores Sin Responder"; $titulo2 = "de " . $pais->pais; } $pdf = \App::make('dompdf.wrapper'); return $pdf->loadView('pdf.imprimirSecretariadosColaboradoresSinResponder', compact('comunidades', 'pais', 'date', 'titulo1', 'titulo2', 'listadoPosicionInicial', 'listadoTotal', 'separacionLinea', 'listadoTotalRestoPagina'))->download($fichero . '.pdf'); }
public function enviar(Request $request) { $tipoEnvio = $request->get("modalidad"); $remitente = Comunidades::getComunidad($request->get('nuestrasComunidades')); $incluirRespuestasAnteriores = filter_var($request->get('incluirRespuestasAnteriores'), FILTER_VALIDATE_BOOLEAN); $destinatarios = Comunidades::getComunidadPDFRespuestas($request->get('restoComunidades'), false, true, $incluirRespuestasAnteriores, $tipoEnvio); $cursillos = Cursillos::getCursillosPDFRespuesta($request->get('restoComunidades'), $request->get('anyo'), $request->get('incluirRespuestasAnteriores'), false); //Verificación $numeroDestinatarios = count($destinatarios); if (count($remitente) == 0 || $numeroDestinatarios == 0 || count($cursillos) == 0) { return redirect()->route('nuestrasRespuestas')->with('mensaje', 'No se puede realizar la operación, debe de existir remitente y/o destinatario/s y/o curso/s'); } //Configuración del listado html $listadoPosicionInicial = 40.5; $listadoTotal = 11; $listadoTotalRestoPagina = 40; $separacionLinea = 1.5; $meses = array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"); $fecha_emision = date('d') . " de " . $meses[date('n') - 1] . " del " . date('Y'); //Array contenedor de logs. $logEnvios = []; //Colección de cursos que van a ser actualizados y sus correspondiente mensajes. $comunidadesDestinatarias = []; $totalCursosActualizadosIds = []; $totalCursosActualizados = []; $totalContadorCursosActualizados = 0; $totalContadorCursos = 0; //PDF en múltiples páginas $destinatariosConCarta = 0; $destinatariosConEmail = 0; $multiplesPdf = \App::make('dompdf.wrapper'); $multiplesPdfBegin = '<html lang="es">'; $multiplesPdfContain = ""; $multiplesPdfEnd = '</html>'; //Ampliamos el tiempo de ejecución del servidor a 60 minutos. ini_set("max_execution_time", config('opciones.envios.timeout')); foreach ($destinatarios as $idx => $destinatario) { //Ruta para linux $separatorPath = "/"; $path = "respuestasCursillos"; $archivo = $path . $separatorPath . "NR-" . date("d_m_Y", strtotime('now')) . '-' . $destinatario->pais . '-' . $destinatario->comunidad . '-' . ($request->get('anyo') > 0 ? $request->get('anyo') : 'TotalCursos') . '.pdf'; //Conversión a UTF $nombreArchivo = mb_convert_encoding($archivo, "UTF-8", mb_detect_encoding($archivo, "UTF-8, ISO-8859-1, ISO-8859-15", true)); $cursos = []; $cursosActualizados = []; $cursosActualizadosIds = []; $esCarta = true; foreach ($cursillos as $idx => $cursillo) { if ($cursillo->comunidad_id == $destinatario->id) { if (config("opciones.accion.cartaCumplimentadaIndividualNuestrasRespuestas")) { $curso[] = ['num' => $cursillo->num_cursillo, 'dia' => date('d', strtotime($cursillo->fecha_inicio)), 'mes' => $meses[date('n', strtotime($cursillo->fecha_inicio)) - 1], 'anyo' => date('Y', strtotime($cursillo->fecha_inicio))]; } $cursos[] = sprintf("Nº %'06s de fecha %10s al %10s", $cursillo->num_cursillo, date('d/m/Y', strtotime($cursillo->fecha_inicio)), date('d/m/Y', strtotime($cursillo->fecha_final))); if (!$cursillo->esRespuesta) { $cursosActualizados[] = sprintf("Cuso Nº %'06s de la comunidad %10s cambiado a estado de respuesta realizada.", $cursillo->num_cursillo, $destinatario->comunidad); $cursosActualizadosIds[] = $cursillo->id; $totalContadorCursos += 1; } } } //Reseteamos el tiempo de ejecución del script definiendo un nuevo tamaño de espera. set_time_limit(config('opciones.envios.seMaxtTimeAt')); // $tipoEnvio si es distinto de carta , si su comunicación preferida es email y si tiene correo destinatario para el envío if ($tipoEnvio != 1 && strcasecmp($destinatario->comunicacion_preferida, config("opciones.tipo.email")) == 0 && strlen($destinatario->email_envio) > 0) { $archivoEmail = 'templatePDF' . $separatorPath . 'NR-' . $remitente->comunidad . '.pdf'; //Conversión a UTF $nombreArchivoAdjuntoEmail = mb_convert_encoding($archivoEmail, "UTF-8", mb_detect_encoding($archivo, "UTF-8, ISO-8859-1, ISO-8859-15", true)); $nombreArchivoAdjuntoEmail = str_replace(" ", "_", $nombreArchivoAdjuntoEmail); try { $pdf = \App::make('dompdf.wrapper'); if (config("opciones.accion.cartaCumplimentadaIndividualNuestrasRespuestas")) { $multiplesPdfContain = ""; foreach ($curso as $cur) { $view = \View::make('nuestrasRespuestas.pdf.cartaRespuestaB2_B3PorCurso', compact('cur', 'remitente', 'destinatario', 'fecha_emision', 'esCarta', 'listadoPosicionInicial', 'listadoTotal', 'listadoTotalRestoPagina', 'separacionLinea'))->render(); $multiplesPdfContain .= $view; } $view = $multiplesPdfContain; } else { $view = \View::make('nuestrasRespuestas.pdf.cartaRespuestaB2_B3', compact('cursos', 'remitente', 'destinatario', 'fecha_emision', 'esCarta', 'listadoPosicionInicial', 'listadoTotal', 'listadoTotalRestoPagina', 'separacionLinea'))->render(); } $pdf->loadHTML($multiplesPdfBegin . $view . $multiplesPdfEnd); $pdf->output(); $pdf->save($nombreArchivoAdjuntoEmail); $logEnvios[] = ["Creado documento adjunto para el email de respuesta a la comunidad " . $destinatario->comunidad, "", "floppy-saved green icon-size-large"]; } catch (\Exception $e) { $logEnvios[] = ["Error al crear el documento adjunto para email de " . $destinatario->comunidad, "", "floppy-remove red icon-size-large"]; } $esCarta = false; //Obtenemos el número de cursillos a procesar $contador = count($cursosActualizados); try { if (config("opciones.emailTestSender.active")) { $destinatario->email_solicitud = config("opciones.emailTestSender.email"); $destinatario->email_envio = config("opciones.emailTestSender.email"); } $envio = Mail::send("nuestrasRespuestas.pdf.cartaRespuestaB1", ['cursos' => $cursos, 'remitente' => $remitente, 'destinatario' => $destinatario, 'fecha_emision' => $fecha_emision, 'esCarta' => $esCarta], function ($message) use($remitente, $destinatario, $nombreArchivoAdjuntoEmail) { $message->from($remitente->email_envio, $remitente->comunidad); $message->to($destinatario->email_envio)->subject("Nuestra Respuesta"); $message->attach($nombreArchivoAdjuntoEmail); }); $destinatariosConEmail += 1; $comunidadesDestinatarias[] = [$destinatario->id, $destinatario->comunidad]; $totalContadorCursosActualizados += $contador; foreach ($cursosActualizados as $actualizados) { $totalCursosActualizados[] .= $actualizados; } foreach ($cursosActualizadosIds as $id) { $totalCursosActualizadosIds[] .= $id; } if ($contador > 0) { $logEnvios[] = [$contador . " Curso" . ($contador > 1 ? "s" : "") . " de la comunidad " . $destinatario->comunidad . " está" . ($contador > 1 ? "n" : "") . " preparado" . ($contador > 1 ? "s" : "") . " para cambiar al estado de respuesta realizada.", "", "dashboard warning icon-size-normal"]; } unlink($nombreArchivoAdjuntoEmail); } catch (\Exception $ex) { if (count($cursosActualizados) > 0) { $logEnvios[] = [count($cursosActualizados) . " Curso" . ($contador > 1 ? "s" : "") . " de la comunidad " . $destinatario->comunidad . " excluido" . ($contador > 1 ? "s" : "") . " del cambio de estado a respuesta" . ($contador > 1 ? "s" : "") . " realizada" . ($contador > 1 ? "s." : "."), "", "dashboard red icon-size-normal"]; } $envio = 0; } $logEnvios[] = $envio > 0 ? ["Enviada respuesta a la comunidad " . $destinatario->comunidad . " al email " . $destinatario->email_envio, "", "envelope green icon-size-large"] : ["No se pudo enviar la respuesta a la comunidad " . $destinatario->comunidad . " al email " . $destinatario->email_envio, "", "envelope red icon-size-large"]; } elseif ($tipoEnvio != 1 && strcasecmp($destinatario->comunicacion_preferida, config("opciones.tipo.email")) == 0 && strlen($destinatario->email_envio) == 0) { $logEnvios[] = ["La comunidad destinataria " . $destinatario->comunidad . " no dispone de email de respuesta", "", "envelope red icon-size-large"]; } elseif ($tipoEnvio != 2 && strcasecmp($destinatario->comunicacion_preferida, config("opciones.tipo.email")) != 0) { $contador = count($cursosActualizados); try { $view = \View::make('nuestrasRespuestas.pdf.cartaRespuestaB2_B3', compact('cursos', 'remitente', 'destinatario', 'fecha_emision', 'esCarta', 'listadoPosicionInicial', 'listadoTotal', 'listadoTotalRestoPagina', 'separacionLinea'))->render(); $multiplesPdfContain .= $view; $logEnvios[] = ["Creada carta de respuesta para la comunidad " . $destinatario->comunidad, "", "align-justify green icon-size-large"]; $destinatariosConCarta += 1; $comunidadesDestinatarias[] = [$destinatario->id, $destinatario->comunidad]; $totalContadorCursosActualizados += $contador; foreach ($cursosActualizados as $actualizados) { $totalCursosActualizados[] .= $actualizados; } foreach ($cursosActualizadosIds as $id) { $totalCursosActualizadosIds[] .= $id; } if ($contador > 0) { $logEnvios[] = [$contador . " Curso" . ($contador > 1 ? "s" : "") . " de la comunidad " . $destinatario->comunidad . " está" . ($contador > 1 ? "n" : "") . " preparado" . ($contador > 1 ? "s" : "") . " para cambiar al estado de respuesta realizada.", "", "dashboard warning icon-size-normal"]; } } catch (\Exception $e) { $logEnvios[] = ["No se ha podido crear la carta de respuesta para la comunidad " . $destinatario->comunidad, "", "align-justify red icon-size-large"]; $logEnvios[] = [count($cursosActualizados) . " Curso" . ($contador > 1 ? "s" : "") . " de la comunidad " . $destinatario->comunidad . " excluido" . ($contador > 1 ? "s" : "") . " del cambio de estado a respuesta" . ($contador > 1 ? "s" : "") . " realizada" . ($contador > 1 ? "s." : "."), "", "dashboard red icon-size-normal"]; } } } if ($destinatariosConCarta > 0) { $pathTotalComunidadesCarta = $path . $separatorPath . "NR-" . date("d_m_Y", strtotime('now')) . '-' . "TotalComunidadesCarta.pdf"; $multiplesPdf->loadHTML($multiplesPdfBegin . $multiplesPdfContain . $multiplesPdfEnd); $multiplesPdf->output(); $multiplesPdf->save($pathTotalComunidadesCarta); $logEnvios[] = ["Creada cartas de respuesta.", $pathTotalComunidadesCarta, "list-alt green icon-size-large"]; } if (count($logEnvios) == 0) { $logEnvios[] = ["No hay operaciones que realizar.", "", "remove-sign red icon-size-large"]; } else { if ($destinatariosConEmail > 0) { $logEnvios[] = [$destinatariosConEmail . ($destinatariosConEmail > 1 ? " emails enviados." : " email enviado"), "", "info-sign info icon-size-large"]; } if ($destinatariosConCarta > 0) { $logEnvios[] = [$destinatariosConCarta . ($destinatariosConCarta > 1 ? " cartas creadas." : " carta creada."), "", "info-sign info icon-size-large"]; } //Cambiamos de estado las respuestas que no están como esRespuesta if ($totalContadorCursosActualizados > 0) { if (Cursillos::setCursillosEsRespuesta($totalCursosActualizadosIds) == $totalContadorCursosActualizados && $totalContadorCursosActualizados > 0) { $logEnvios[] = ["[" . $totalContadorCursosActualizados . "/" . $totalContadorCursos . "] Curso" . ($totalContadorCursosActualizados > 1 ? "s" : "") . " ha" . ($totalContadorCursosActualizados > 1 ? "n" : "") . " cambiado al estado de respuesta realizada.", "", "info-sign info icon-size-large"]; } elseif ($totalContadorCursosActualizados > 0) { $logEnvios[] = [$totalContadorCursosActualizados . " Curso" . ($totalContadorCursosActualizados > 1 ? "s" : "") . " no se ha" . ($totalContadorCursosActualizados > 1 ? "n" : "") . " podido actualizar como Respuesta.", "", "exclamation-sign info icon-size-large"]; } } //Actualizamos las tablas de forma automática y añadimos los logs $logSolicitudesRecibidas = SolicitudesRecibidas::crearComunidadesCursillos($comunidadesDestinatarias, $totalCursosActualizadosIds); //Obtenemos el último registro del log generado. if (count($logSolicitudesRecibidas) > 0) { $logEnvios[] = $logSolicitudesRecibidas[count($logSolicitudesRecibidas) - 1]; } //Creamos la cabecera del Log $logArchivo = array(); $logArchivo[] = 'Fecha->' . date('d/m/Y H:i:s') . "\n"; $logArchivo[] = 'Usuario->' . $request->user()->name . "\n"; $logArchivo[] = 'Email->' . $request->user()->email . "\n"; $logArchivo[] = 'Ip->' . $request->server('REMOTE_ADDR') . "\n"; $logArchivo[] = '******************************************' . "\n"; foreach ($logEnvios as $log) { $logArchivo[] = $log[0] . "\n"; } if ($totalContadorCursosActualizados > 0) { foreach ($totalCursosActualizados as $log) { $logArchivo[] = $log . "\n"; } } //Guardamos a archivo file_put_contents('logs/NR/NR_log_' . date('d_m_Y_H_i_s'), $logArchivo, true); } $titulo = "Operaciones Realizadas"; return view('nuestrasRespuestas.listadoLog', compact('titulo', 'logEnvios')); }
public function enviar(Request $request) { $modalidadComunicacion = $request->get("modalidad"); $remitente = Comunidades::getComunidad($request->get('nuestrasComunidades')); $destinatarios = Comunidades::getComunidadPDFSolicitudes($request->get('restoComunidades'), $modalidadComunicacion); $cursillos = Cursillos::getCursillosPDFSolicitud($request->get('nuestrasComunidades'), $request->get('anyo'), filter_var($request->get('incluirSolicitudesAnteriores'), FILTER_VALIDATE_BOOLEAN)); $numeroDestinatarios = count($destinatarios); //Verificación if (count($remitente) == 0 || $numeroDestinatarios == 0 || count($cursillos) == 0) { return redirect()->route('nuestrasSolicitudes')->with('mensaje', 'No se puede realizar la operación, comprueba que exista remitente y/o destinatario/s y/o curso/s'); } //Configuración del listado html $listadoPosicionInicial = 43.5; //primera linea $listadoTotal = 9; // nº lineas cursillo max primera pagina $listadoTotalRestoPagina = 40; // nº lineas cursillo resto de las paginas $separacionLinea = 1.5; $meses = array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"); $fecha_emision = date('d') . " de " . $meses[date('n') - 1] . " del " . date('Y'); $logEnvios = []; //PDF en múltiples páginas $destinatariosConCarta = 0; $destinatariosConEmail = 0; $multiplesPdf = \App::make('dompdf.wrapper'); $multiplesPdfBegin = '<html lang="es">'; $multiplesPdfContain = ""; $multiplesPdfEnd = '</html>'; //Ampliamos el tiempo de ejecución del servidor a 60 minutos. ini_set("max_execution_time", config('opciones.envios.timeout')); //Obtenemos Los cursos relacionados con la comunidad y creamos la línea de impresión para enviarla al template en memoria $cursos = []; $cursosActualizados = []; $cursosActualizadosIds = []; $contadorCursosActualizados = 0; $comunidadesDestinatarias = []; foreach ($cursillos as $idx => $cursillo) { if ($cursillo->comunidad_id == $remitente->id) { $cursos[] = sprintf("Nº %'06s de fecha %10s al %10s", $cursillo->num_cursillo, date('d/m/Y', strtotime($cursillo->fecha_inicio)), date('d/m/Y', strtotime($cursillo->fecha_final))); if (!$cursillo->esSolicitud || $cursillo->esSolicitud && $request->get('generarSusRespuestas') && $request->get('incluirSolicitudesAnteriores')) { $cursosActualizados[] = sprintf("Cuso Nº %'06s de la comunidad %10s cambiado al estado de es solicitud.", $cursillo->num_cursillo, $remitente->comunidad); $contadorCursosActualizados += 1; $cursosActualizadosIds[] = $cursillo->id; } } } foreach ($destinatarios as $idx => $destinatario) { //Ruta Linux $separatorPath = "/"; $path = "solicitudesCursillos"; $archivo = $path . $separatorPath . "NS-" . date("d_m_Y", strtotime('now')) . '-' . $destinatario->pais . '-' . $destinatario->comunidad . '-' . ($request->get('anyo') > 0 ? $request->get('anyo') : 'TotalCursos') . '.pdf'; //Conversión a UTF $nombreArchivo = mb_convert_encoding($archivo, "UTF-8", mb_detect_encoding($archivo, "UTF-8, ISO-8859-1, ISO-8859-15", true)); $esCarta = true; //intentanmos modificar el tiempo de ejecución del script. set_time_limit(config('opciones.envios.seMaxtTimeAt')); // modalidadComunicacion si es distinto de carta , si su comunicación preferida es email y si tiene correo destinatario para el envío if ($modalidadComunicacion != 1 && strcasecmp($destinatario->comunicacion_preferida, config("opciones.tipo.email")) == 0 && strlen($destinatario->email_solicitud) > 0) { //Nombre del archivo a adjuntar $archivoMail = "templatePDF" . $separatorPath . 'NS-' . $remitente->comunidad . '.pdf'; //Conversión a UTF $nombreArchivoAdjuntoEmail = mb_convert_encoding($archivoMail, "UTF-8", mb_detect_encoding($archivo, "UTF-8, ISO-8859-1, ISO-8859-15", true)); $nombreArchivoAdjuntoEmail = str_replace(" ", "", $nombreArchivoAdjuntoEmail); try { $pdf = \App::make('dompdf.wrapper'); $view = \View::make('nuestrasSolicitudes.pdf.cartaSolicitudA2_A3', compact('cursos', 'remitente', 'destinatario', 'fecha_emision', 'esCarta', 'listadoPosicionInicial', 'listadoTotal', 'listadoTotalRestoPagina', 'separacionLinea'))->render(); $pdf->loadHTML($multiplesPdfBegin . $view . $multiplesPdfEnd); $pdf->output(); $pdf->save($nombreArchivoAdjuntoEmail); $logEnvios[] = ["Creado documento adjunto para la comunidad " . $destinatario->comunidad, "", "floppy-saved green icon-size-large"]; } catch (\Exception $e) { $logEnvios[] = ["Error al crear el documento adjunto para la comunidad" . $destinatario->comunidad, "", "floppy-remove red icon-size-large"]; } $esCarta = false; try { if (config("opciones.emailTestSender.active")) { $destinatario->email_solicitud = config("opciones.emailTestSender.email"); $destinatario->email_envio = config("opciones.emailTestSender.email"); } $envio = Mail::send('nuestrasSolicitudes.pdf.cartaSolicitudA1', compact('cursos', 'remitente', 'destinatario', 'fecha_emision', 'esCarta'), function ($message) use($remitente, $destinatario, $nombreArchivoAdjuntoEmail) { $message->from($remitente->email_solicitud, $remitente->comunidad); $message->to($destinatario->email_solicitud)->subject("Nuestra Solicitud"); $message->attach($nombreArchivoAdjuntoEmail); }); $destinatariosConEmail += 1; $comunidadesDestinatarias[] = [$destinatario->id, $destinatario->comunidad]; unlink($nombreArchivoAdjuntoEmail); } catch (\Exception $e) { $envio = 0; } $logEnvios[] = $envio > 0 ? ["Enviada solicitud a la comunidad " . $destinatario->comunidad . " al email " . $destinatario->email_solicitud, "", "envelope green icon-size-large"] : ["No se pudo enviar la solicitud a la comunidad " . $destinatario->comunidad . " al email " . $destinatario->email_solicitud, "", "envelope red icon-size-large"]; } elseif ($modalidadComunicacion != 1 && strcasecmp($destinatario->comunicacion_preferida, config("opciones.tipo.email")) == 0 && strlen($destinatario->email_solicitud) == 0) { $logEnvios[] = ["La comunidad destinataria " . $destinatario->comunidad . " no dispone de email de solicitud", "", "envelope red icon-size-large"]; } elseif ($modalidadComunicacion != 2 && strcasecmp($destinatario->comunicacion_preferida, config("opciones.tipo.email")) != 0) { try { $view = \View::make('nuestrasSolicitudes.pdf.cartaSolicitudA2_A3', compact('cursos', 'remitente', 'destinatario', 'fecha_emision', 'esCarta', 'listadoPosicionInicial', 'listadoTotal', 'listadoTotalRestoPagina', 'separacionLinea'))->render(); $multiplesPdfContain .= $view; $logEnvios[] = ["Creada carta de solicitud para la comunidad " . $destinatario->comunidad, "", "align-justify green icon-size-large"]; $destinatariosConCarta += 1; $comunidadesDestinatarias[] = [$destinatario->id, $destinatario->comunidad]; } catch (\Exception $e) { $logEnvios[] = ["No se ha podido crear la carta de solicitud para la comunidad " . $destinatario->comunidad, "", "align-justify red icon-size-large"]; } } } if ($destinatariosConCarta > 0) { $pathTotalComunidadesCarta = $path . $separatorPath . "NS-" . date("d_m_Y", strtotime('now')) . '-' . "TotalComunidadesCarta.pdf"; $multiplesPdf->loadHTML($multiplesPdfBegin . $multiplesPdfContain . $multiplesPdfEnd); $multiplesPdf->output(); $multiplesPdf->save($pathTotalComunidadesCarta); $logEnvios[] = ["Cartas creadas de solicitud.", $pathTotalComunidadesCarta, "list-alt green icon-size-large"]; } if ($destinatariosConEmail > 0) { $logEnvios[] = [$destinatariosConEmail . ($destinatariosConEmail > 1 ? " emails enviados." : " email enviado"), "", "info-sign info icon-size-large"]; } if ($destinatariosConCarta > 0) { $logEnvios[] = [$destinatariosConCarta . ($destinatariosConCarta > 1 ? " cartas creadas." : " carta creada."), "", "info-sign info icon-size-large"]; } //Cambiamos de estado las solicitudes que no están como esSolicitud if (count($comunidadesDestinatarias) > 0 && count($cursosActualizadosIds) > 0) { if (Cursillos::setCursillosEsSolicitud($cursosActualizadosIds) == $contadorCursosActualizados && $contadorCursosActualizados > 0) { $logEnvios[] = [count($cursosActualizados) . " Curso" . ($contadorCursosActualizados > 1 ? "s" : "") . " de la comunidad " . $remitente->comunidad . " ha" . ($contadorCursosActualizados > 1 ? "n" : "") . " sido actualizado" . ($contadorCursosActualizados > 1 ? "s" : "") . " a solicitud realizada.", "", "info-sign info icon-size-large"]; } elseif ($contadorCursosActualizados > 0) { $logEnvios[] = [count($cursosActualizados) . " Cursos de la comunidad " . $remitente->comunidad . " no se ha" . ($contadorCursosActualizados > 1 ? "n" : "") . " podido actualizar como Solicitud.", "", "exclamation-sign red icon-size-large"]; } } //Actualizamos las tablas de forma automática y añadimos los logs $logSolicitudesEnviadas = SolicitudesEnviadas::crearComunidadesCursillos($comunidadesDestinatarias, $cursosActualizadosIds); //Obtenemos el último registro del log generado. if (count($logSolicitudesEnviadas) > 0) { $logEnvios[] = $logSolicitudesEnviadas[count($logSolicitudesEnviadas) - 1]; } //Creamos la cabecera del Log de archivo $logArchivo = array(); $logArchivo[] = 'Fecha->' . date('d/m/Y H:i:s') . "\n"; $logArchivo[] = 'Usuario->' . $request->user()->name . "\n"; $logArchivo[] = 'Email->' . $request->user()->email . "\n"; $logArchivo[] = 'Ip->' . $request->server('REMOTE_ADDR') . "\n"; $logArchivo[] = '******************************************' . "\n"; foreach ($logEnvios as $log) { $logArchivo[] = $log[0] . "\n"; } if ($contadorCursosActualizados > 0) { foreach ($cursosActualizados as $log) { $logArchivo[] = $log . "\n"; } foreach ($logSolicitudesEnviadas as $log) { $logArchivo[] = $log[0] . "\n"; } } //Guardamos a archivo file_put_contents('logs/NS/NS_log_' . date('d_m_Y_H_i_s'), $logArchivo, true); $titulo = "Operaciones Realizadas"; return view('nuestrasSolicitudes.listadoLog', compact('titulo', 'logEnvios')); }
public function cambiarComunidadesNoPropiasRespuestas(Request $request) { if (\Request::ajax()) { $modalidadComunicacion = $request->get('modalidadComunicacion'); return Comunidades::getComunidadesModalidadComunicacionListRespuestas($modalidadComunicacion, true, "Enviar las respuestas pendientes"); } }