Sindbad~EG File Manager
<?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