Sindbad~EG File Manager

Current Path : /proc/self/root/var/www/html/eva.sumar.com.py/app/Http/Livewire/
Upload File :
Current File : //proc/self/root/var/www/html/eva.sumar.com.py/app/Http/Livewire/Cargainterrogante.php

<?php

namespace App\Http\Livewire;

use Livewire\Component;
use App\Models\Interrogante;
use App\Models\Respuesta;
use App\Models\Formulario;
use App\Models\Competencia;
use App\Models\Puntaje;
use Auth;
use DB;

class Cargainterrogante extends Component{

    protected $listeners = ['store' => 'store'];

    public $competencia_id,$respuesta=[],$respuestas,$formulario_id,$interrogantes=[],
    $formulario,$usuario_id,$totalpuntos5=0,$totalitem5=0; 

    public function mount(){
        $this->formulario=Formulario::find($this->formulario_id);

        $competencias=Competencia::where('formulario_id',$this->formulario_id)->where('com_estado',1)->get();

        foreach($competencias as $competencia){
            $interrogantess=Interrogante::where('competencia_id',$competencia->id)->where('int_estado',1)->orderBy('int_ubicacion','asc')->get();
            foreach($interrogantess as $interrogante){
                if($this->usuario_id){
                    $respuesta=Respuesta::where('interrogante_id',$interrogante->id)
                        ->where('usuario_id',$this->usuario_id)->first();
                }
                if($interrogante->int_tipo == 1){
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['id']=$interrogante->id;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_tipo']=$interrogante->int_tipo;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_nom']=$interrogante->int_nom;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_inicio']=$interrogante->int_inicio;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_fin']=$interrogante->int_fin;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_nr']=$interrogante->int_nr;
                    if($this->usuario_id){
                        if($respuesta){
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['respuesta']=$respuesta->respuesta;
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['respuesta2']=$respuesta->respuesta2;
                        }
                    }
			    }elseif($interrogante->int_tipo == 2){
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['id']=$interrogante->id;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_tipo']=$interrogante->int_tipo;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_nom']=$interrogante->int_nom;
                    if($this->usuario_id){
                        if($respuesta){
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['respuesta']=$respuesta->respuesta;
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['respuesta2']=$respuesta->respuesta2;
                        }
                    }
                }elseif($interrogante->int_tipo == 3){
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['id']=$interrogante->id;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_tipo']=$interrogante->int_tipo;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_nom']=$interrogante->int_nom;
                    for($i = 1; $i <= 10; $i++){
                        $dato='int_opcion'.$i;
                        $dato2='int_opcion'.$i.'_punto';
                        if($interrogante->$dato){
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion][$dato]=$interrogante->$dato;
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion][$dato2]=$interrogante->$dato2;
                        }
                    }
                    if($this->usuario_id){
                        if($respuesta){
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['respuesta']=$respuesta->respuesta;
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['respuesta2']=$respuesta->respuesta2;
                        }
                    }
                }elseif($interrogante->int_tipo == 4){
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['id']=$interrogante->id;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_tipo']=$interrogante->int_tipo;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_nom']=$interrogante->int_nom;
                    for($i = 1; $i <= 10; $i++){
                        $dato='int_opcion'.$i;
                        if($interrogante->$dato){
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion][$dato]=$interrogante->$dato;
                        }
                    }
                    if($this->usuario_id){
                        if($respuesta){
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['respuesta']=$respuesta->respuesta;
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['respuesta2']=$respuesta->respuesta2;
                        }
                    }
                }elseif($interrogante->int_tipo == 5){
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['id']=$interrogante->id;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_tipo']=$interrogante->int_tipo;
                    $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['int_nom']=$interrogante->int_nom;
                    for($i = 1; $i <= 5; $i++){
                        $dato='int_opcion'.$i;
                        $dato2='int_opcion'.$i.'_punto';
                        if($interrogante->$dato){
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion][$dato]=$interrogante->$dato;
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion][$dato2]=$interrogante->$dato2;
                        }
                    }
                    if($this->usuario_id){
                        if($respuesta){
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['respuesta']=$respuesta->respuesta;
                            $this->interrogantes[$competencia->id][$interrogante->int_ubicacion]['respuesta2']=$respuesta->respuesta2;
                        }
                    }
                    $this->totalitem5++;
                }
            }
        }
    }

    public function render(){
        $competencias=Competencia::where('formulario_id',$this->formulario_id)->where('com_estado',1)->get();
        return view('livewire.cargainterrogante',["competencias"=>$competencias]);
    }

    public function store(){
        $tipo5=false;

        $competencias=Competencia::where('formulario_id',$this->formulario_id)->where('com_estado',1)->get();

        foreach ($competencias as $com) {

            $interrogantes=Interrogante::where('competencia_id',$com->id)->where('int_estado',1)->orderBy('int_ubicacion','asc')->get();
            
            foreach ($interrogantes as $int){

                if($int->int_tipo == 1){

                    $respuesta=new Respuesta;

                        $respuesta->interrogante_id = $int->id;
                        $respuesta->respuesta = $this->respuesta[$int->id];
                        $respuesta->usuario_id = Auth::user()->id;

                    $respuesta->save();

                }elseif($int->int_tipo == 4){

                    $respuesta=new Respuesta;

                        $respuesta->interrogante_id = $int->id;
                        $respuesta->respuesta = serialize($this->respuesta[$int->id]);
                        $respuesta->respuesta2 = $this->respuestas[$int->id];
                        $respuesta->usuario_id = Auth::user()->id;

                    $respuesta->save();

                }elseif($int->int_tipo == 5){
                    $respuesta=new Respuesta;

                        $respuesta->interrogante_id = $int->id;
                        $respuesta->respuesta = serialize($this->respuesta[$int->id]);
                        $respuesta->usuario_id = Auth::user()->id;

                    $respuesta->save();
                    $tipo5=true;
                }elseif($int->int_tipo == 2){

                    $respuesta=new Respuesta;

                        $respuesta->interrogante_id = $int->id;
                        $respuesta->respuesta = $this->respuesta[$int->id];
                        $respuesta->usuario_id = Auth::user()->id;

                    $respuesta->save();

                }elseif($int->int_tipo == 3){

                    $respuesta=new Respuesta;

                        $respuesta->interrogante_id = $int->id;
                        $respuesta->respuesta = $this->respuesta[$int->id];
                        $respuesta->usuario_id = Auth::user()->id;

                    $respuesta->save();

                }

                
            }
            if($tipo5){
                $punto=new Puntaje;
                    $punto->nota=($this->totalpuntos5*100)/(100*$this->totalitem5);
                    $punto->feedback="Autocorregido";
                    $punto->formulario_id=$this->formulario_id;
                    $punto->usuario_id=Auth::user()->id;
                $punto->save();
            }

        }

        $curso_id=Formulario::find($this->formulario_id);

        if($curso_id->for_tipo == "curso"){
            $this->emit('alert', ['type' => 'success', 'message' => 'Formulario guardado correctamente.']);

            return redirect()->to('/curso/'.$curso_id->curso_id);
        }else{
            $this->emit('alert', ['type' => 'success', 'message' => 'Respuestas enviadas correctamente.']);

            return redirect()->to('/encuestas');
        }

    }
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists