HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.0.30
System: Linux multiplicar 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64
User: root (0)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /var/www/html/aventurasolar.sumar.com.py/app/Http/Controllers/EvidenciaindividualController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use App\Models\Desafioindividual;
use App\Models\Evidenciaindividual;
use App\Models\Matriculaindividual;
use App\Models\User;
use App\Models\Notificacion;
use Maatwebsite\Excel\Facades\Excel;
use App\Imports\MonedasImport;
use file;
use Auth;
use DB;
use Session;

class EvidenciaindividualController extends Controller{

    public function index(){
        
        return view('admin.evidenciaindividual.index');

    }

    public function create($id){

		$mision=Desafioindividual::findOrFail($id);

		return view('paginas.misionindividual.create',["mision"=>$mision]);
	}

    public function evidenciaindividualedit($id){

        $evidencia=Evidenciaindividual::findOrFail($id);

        $mision=Desafioindividual::findOrFail($evidencia->desafio_id);

        return view('paginas.misionindividual.edit',["mision"=>$mision,"evidencia"=>$evidencia]);
    }

    public function evidenciaindividialedit(Request $request) {

        $evidencia=Evidencia::findOrFail($request->get('evidencia_id'));

        $evidencia->evidencia=$request->get('evidencia');

        if($file = $request->file('archivo')) {
            $control=0;
            $nombre = $file->getClientOriginalName();
            while ($control == 0) {
                if (is_file( public_path() . '/evidencias/' . $nombre )) {
                    $nombre = rand() . $nombre;
                }else{
                    $file->move(public_path() . '/evidencias/', $nombre);
                    $evidencia->archivo=$nombre;
                    $control=1;
                }
            }
        }

        if ($evidencia->update()){
            Session::flash('success', '¡La evidencia se editó correctamente!');
        }
        
        return Redirect::to('misionindividual/create/'.$request->get('mision_id'));
    }

	public function evidenciaindividialcreate(Request $request) {
        
        $evidencia=new Evidenciaindividual;

        $evidencia->evidencia=$request->get('evidencia');

        if($file = $request->file('archivo')) {
            $control=0;
            $nombre = $file->getClientOriginalName();
            while ($control == 0) {
                if (is_file( public_path() . '/evidencias/' . $nombre )) {
                    $nombre = rand() . $nombre;
                }else{
                    $file->move(public_path() . '/evidencias/', $nombre);
                    $evidencia->archivo=$nombre;
                    $control=1;
                }
            }
        }

		$evidencia->desafio_id=$request->get('mision_id');
		$evidencia->usuario_id=Auth::id();

        if ($evidencia->save()){
            Session::flash('success', '¡La evidencia se creo correctamente!');
            $usuarios=User::where('nivel',1)->get();
            $mision=Desafioindividual::find($request->get('mision_id'));
            foreach($usuarios as $user){
                $notificacion=new Notificacion;
                    $notificacion->enlace="/admin/evidenciaindividuales/show/".$request->get('mision_id')."?id=".$evidencia->id;
                    $notificacion->mensaje=Auth::user()->name." ha publicado una nueva evidencia individual en la mision ".$mision->titulo;
                    $notificacion->notificado_id=$user->id;
                    $notificacion->notificador_id=Auth::user()->id;
                $notificacion->save();
            }
        }
        
        return Redirect::to('misionesindividuales');
	}

    public function show($id){

        $ids=explode("-", $id);

        $evidencias=DB::table('evidencias as e')
                ->join('misions as m','e.mision_id','m.id')
                ->join('users as u','e.usuario_id','u.id')
                ->join('equipos as eq','e.equipo_id','eq.id')
                ->select('e.*','u.name','u.foto')
                ->where('equipo_id',$ids[1])
                ->where('mision_id',$ids[0])->orderBy('e.id','desc')->get();

        return view('admin.evidencias.show',["evidencias"=>$evidencias]);
    }

    public function monedasimport(Request $request) {

        Excel::import(new MonedasImport(), $request->file('file')->store('temp'));
        Session::flash('success', '¡Monedas asignadas correctamente!');

        return back();
    } 

    public function destroy($id){
        
        $evidencia=Evidencia::findOrFail($id);
        $evidencia->delete();

        return back();
    }
}