HEX
Server: Apache/2.4.61 (Ubuntu)
System: Linux hosting106 7.0.12-1-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.12-1 (2026-06-09T21:07Z) x86_64
User: clinicadentalargarate.com (1193)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/cursos.ril.es/app/Http/Controllers/AdminMailsController.php
<?php

namespace App\Http\Controllers;

use App\Categorias;
use App\Cursos;
use App\ListaInteresados;
use App\Plantillas;
use App\User;
use Illuminate\Http\Request;

use App\Http\Requests;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Mail;

class AdminMailsController extends Controller
{
    public function index()
    {
        $plantillas = Plantillas::all();
        return view('emails.gestorMails')->with('plantillas', $plantillas);
    }

    public function store(Request $request)
    {
        $plantilla = Plantillas::create(array('nombre' => $request->nombre, 'contenido' => $request->editor1));
        redirect()->back();
    }

    public function sendMails()
    {

        $emails = Input::get( 'emails' );
        $idCurso = Input::get( 'id' );
        $idPlantilla = Input::get( 'idPlantilla' );

        $plantilla = Plantillas::find($idPlantilla);

        $alumnos = explode("|", $emails);

        for($i=0;count($alumnos); $i++){

            $user = User::where('email', $alumnos[$i])->get();
            Mail::send('emails.plantilla', ['contenido' => $this->getTemplate($plantilla->id, $user[0]->id, $idCurso)], function($message) use ($user, $plantilla){
                $message->to($user[0]->email, $user[0]->name)->from('rilprueba@gmail.com')->subject($plantilla->nombre);
            });
        }

        return redirect('/admin/alumnoscursos/' . $idCurso);
    }

    public function sendPlantilla(){
        $idPlantilla = Input::get( 'idPlantilla' );
        $email = Input::get( 'email' );
        $plantilla = Plantillas::find($idPlantilla);
        Mail::send('emails.plantilla', ['contenido' => $plantilla->contenido], function($message) use ($email, $plantilla){
            $message->to($email, "Prueba")->from('rilprueba@gmail.com')->subject($plantilla->nombre);
        });
    }

    public function sendPlantillasCursos(){
        $idCurso = Input::get( 'idCurso' );
        $email = Input::get( 'email' );
        $curso = Cursos::findOrFail($idCurso);

        if (!empty($curso->mailAntes)) {
            Mail::send('emails.plantilla', ['contenido' => $curso->mailAntes], function($message) use ($email, $curso){
                $message->to($email, "Prueba")->from('rilprueba@gmail.com')->subject('Información ' . $curso->resumen);
            });
        }

        if (!empty($curso->mailDespues)) {
            Mail::send('emails.plantilla', ['contenido' => $curso->mailDespues], function ($message) use ($email, $curso) {
                $message->to($email, "Prueba")->from('rilprueba@gmail.com')->subject('Gracias por asistir al ' . $curso->resumen);
            });

        }
    }

    public function editPlantilla(){
        $idPlantilla = Input::get( 'idPlantilla' );
        $plantilla = Plantillas::find($idPlantilla);
        return $plantilla->contenido;
    }

    public function updatePlantilla(){
        $idPlantilla = Input::get( 'idPlantilla' );
        $contenido = Input::get( 'contenido' );
        DB::table('plantillas')->where('id', $idPlantilla)->update(array('contenido' => $contenido));
    }

    public function sendAlumnosMails(){
        $idPlantilla = Input::get( 'idPlantilla' );
        $plantilla = Plantillas::find($idPlantilla);
        $alumnos = User::all();
        foreach($alumnos as $alumno){
            Mail::send('emails.plantilla', ['contenido' => $plantilla->contenido], function($message) use ($alumno, $plantilla){
                $message->to($alumno->email, $alumno->name)->from('rilprueba@gmail.com')->subject($plantilla->nombre);
            });
        }
        return redirect('/admin/alumnos');
    }

    public function getTemplate($idPlantilla, $id, $idCurso)
    {
        $curso = Cursos::find($idCurso);
        $categoria = Categorias::find($curso->idCategoria);
        $user = User::find($id);
        $plantilla = Plantillas::find($idPlantilla);
        $contenido = $this->sortcode($plantilla->contenido, $user, $curso, $categoria);
        return $contenido;
    }

    function sortcode($contenido, $user, $curso, $categoria)
    {
        $nombre = "[nombreAlumno]";
        $nomcategoria = "[nombreCategoria]";
        $descripcion = "[descripcion]";
        $resumen = "[resumen]";
        $fechaInicio = "[fechaInicio]";
        $lugar = "[lugar]";
        $horario = "[horario]";
        $contenido = str_replace($nombre, $user->name, $contenido);
        $contenido = str_replace($nomcategoria, $categoria->nombre, $contenido);
        $contenido = str_replace($descripcion, $curso->descripcion, $contenido);
        $contenido = str_replace($resumen, $curso->resumen, $contenido);
        $contenido = str_replace($fechaInicio, $curso->fechaInicio, $contenido);
        $contenido = str_replace($lugar, $curso->lugar, $contenido);
        $contenido = str_replace($horario, $curso->horario, $contenido);
        return $contenido;
    }

    public function sendMailsInteresados(){
        $idCurso = Input::get( 'id' );
        $idPlantilla = Input::get( 'idPlantilla' );
        $plantilla = Plantillas::find($idPlantilla);
        $listaInteresados = ListaInteresados::where('cursos_id', $idCurso)->get();
        foreach($listaInteresados as $listint){
            if($listint->puede == 0){
                DB::table('lista_interesados')->where('cursos_id', $listint->cursos_id)->where('users_id', $listint->users_id)->update(array('intentos' => ($listint->intentos + 1)));

                $user = User::find($listint->users_id);
                Mail::send('emails.plantilla', ['contenido' => $this->getTemplate($plantilla->id, $user->id, $idCurso)], function($message) use ($user, $plantilla){
                    $message->to($user->email, $user->name)->from('rilprueba@gmail.com')->subject($plantilla->nombre);
                });
            }
        }
        return redirect('/admin/listainteresados/' . $idCurso);
    }

}