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/AlumnosCursosController.php
<?php

namespace App\Http\Controllers;

use App\Categorias;
use App\Cursos;
use App\ListaEspera;
use App\ListaInteresados;
use App\Profesores;
use App\User;
use App\UsersCursos;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Http\Requests;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Validator;
use Intervention\Image\Facades\Image;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\Yaml\Tests\A;

class AlumnosCursosController extends Controller
{
    
    
    
    public function baja($id) {

        $curso = Cursos::findOrFail($id);

        if (Auth::user()->estaEnLista($curso)) {
            $this->bajaLista($curso);
        }

        $this->bajaApuntarse($curso);

        return view('payment.apologies', ['curso' => $curso]);
    }


    public function bajaLista(Cursos $curso) {
        $curso->listaesperacursos()->where('users_id', Auth::user()->id)->delete();
    }

    public function bajaApuntarse(Cursos $curso) {
        $curso->userscursos()->where('users_id', Auth::user()->id)->delete();
    }

    public function confirmarBaja($id) {
        $curso = Cursos::findOrFail($id);
        return view('payment.confirmarbaja', ['curso' => $curso]);
    }

    public function getInscribirse($slug, $msg = null) {

        $curso = Cursos::where('slug', $slug)->firstOrFail();

        if (Auth::check()) {
            return view('inscripcion')->with(['curso' => $curso, 'categoria' =>$curso->categoria()->first(),'profesor' => $curso->profesor()->first(),'msg' => $msg]);
        } else {
            return view('noinscripcion');
        }
        
    }

    public function getPagar($slug){

        $curso = Cursos::where('slug', $slug)->first();

        $categoria = $curso->categoria()->first();

        if(! $curso->terminado()) {

            if(! $curso->tienePlazas()) {

                $this->addToListaEspera($curso);
                return view('payment.thanks', ['curso' => $curso]);

            } else {

                $this->apuntar($curso);
                return view("payment.pedirsenal")->with(["curso" => $curso, "categoria" => $categoria]);
            }
        }

        abort(404);
    }

    public function addToListaEspera(Cursos $curso) {
        if (! Auth::user()->estaEnLista($curso)) {
            ListaEspera::create(['cursos_id' => $curso->id, 'users_id' => Auth::user()->id, 'regalo' => 0]);
        }
    }

    public function apuntar(Cursos $curso) {
        if (! Auth::user()->estaApuntado($curso)) {
            UsersCursos::create(['cursos_id' => $curso->id, 'users_id' => Auth::user()->id, 'regalo' => 0]);
        }
    }

    public function postPagar(){
        return redirect("/cursos");
    }

    public function getCursosAlumno($id){
        $alumno = User::find($id);
        $cursos = $alumno->cursos()->get();
        return view('admin.listadocursos')->with('cursos', $cursos)->with('alumno', $alumno);
    }

    public function deleteCursosAlumno($ids){
        $dts = explode('|', $ids);
        $usercurso = UsersCursos::where('cursos_id', $dts[1])->where('users_id', $dts[0])->get();
        $usercurso[0]->delete();
        return Redirect('/admin/cursosalumnos/'.$dts[0]);
    }

    public function getDatos(){
        return view('micuenta.datosAlumno');
    }

    public function editarAlumno($id){
        $user = User::find($id);
        return view('micuenta.editAlumno')->with('alumno', $user);
    }

    public function updateAlumno(){
        $rules = array(
            'name'      => 'required',
            'apellidos' => 'required',
            'telefono'  => 'required',
            'password' => 'required|min:3|max:100',
            'password_confirmation' => 'required|same:password',
            'email'     => 'required|email',
        );

        $messages = [
            'min' => 'El campo :attribute tiene que tener 3 caracteres mínimo.',
            'max' => 'El campo :attribute tiene que tener 100 caracteres máximo.',
            'required' => 'El campo :attribute es requerido.',
            'integer' => 'El campo :attribute debe ser numérico.',
            'email' => 'El email tiene que ser válido.',
            'same' => 'Las contraseñas deben coincidir'
        ];

        $validator = Validator::make(Input::all(), $rules, $messages);

        if ($validator->fails()) {
            Input::flash();
            return view('micuenta.editAlumno')->withInput(Input::all())->withErrors($validator);
        } else {

            Auth::user();
            Auth::user()->name      = Input::get('name');
            Auth::user()->apellidos = Input::get('apellidos');
            Auth::user()->telefono  = Input::get('telefono');
            Auth::user()->email     = Input::get('email');
            Auth::user()->camara    = Input::get('camara');

            if (Input::hasFile('avatar')) {
                Auth::user()->avatar = $this->uploadFile(Input::file('avatar'),str_slug(Auth::user()->email));
            }

            if (Auth::user()->password != Input::get('password') ) {
                Auth::user()->password  = Hash::make(Input::get('password'));
            }

            Auth::user()->update();

            return Redirect('/mi-cuenta');
        }
    }

    public function uploadFile(UploadedFile $file, $filename) {
        if ($file->isValid()) {
            Image::make($file)->resize(400, 400)->save(public_path() . '/img/alumnos/' . $filename . '.' . $file->getClientOriginalExtension());
            return '/img/alumnos/' . $filename . '.' . $file->getClientOriginalExtension();
        }
    }

    public function estaInteresado($id) {
        return response()->json(Cursos::findOrFail($id)->interesado());
    }

    public function toggleInteres($id) {

        $interesado = ListaInteresados::where('cursos_id', $id)->where('users_id', Auth::user()->id)->first();

        if (! is_null($interesado)) {
            $interesado->delete();
        } else {
            ListaInteresados::create(['cursos_id' => $id, 'users_id' => Auth::user()->id]);
        }

        return;
    }

    public function interesado(){
        $idAlumno = Input::get('idAlumno');
        $idCurso = Input::get('idCurso');
        DB::table('lista_interesados')->insert(
            array('cursos_id' => $idCurso, 'users_id' => $idAlumno)
        );
    }

    public function bajaInteresado(){
        $ids = Input::get('ids');
        $dts = explode('-', $ids);
        $interes = ListaInteresados::where('cursos_id', $dts[1])->where('users_id', $dts[2])->get();
        $interes[0]->delete();
    }

    public static function getInteres($id){
        $interes = ListaInteresados::where('cursos_id', $id)->where('users_id', Auth::user()->id)->get();
        if($interes=="[]"){
            return "lightblue";
        }
        else{
            return "lightgreen";
        }
    }

}