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();
}
}