<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Events\ChatComm;
use App\Events\PicEtiquetas;
use App\Models\User;
use App\Models\MensagemChat;
use App\Models\Acesso;
use App\Models\Dispositivo;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;


class MsgTalkController extends Controller
{
    public function show()
  {
  		return view('usuarios/funcionarios/chat/chat');
  		// show message
  }
  //Lista Mensagem entre Funcinaios
  public function getChat(Request $request){
    $data="";$idconversa=0;
    $user=User::where('id',$request->idUser)->first();
    // $chat=MensagemChat::where('user_from',Auth::id())->where('user_to',$request->idUser)->Orwhere('user_from',$request->idUser)->where('user_to',Auth::id())->get();
    $contasAbertas=Acesso::join('dispositivos','dispositivos.id','=','acessos.dispositivo_id')->where('dispositivos.user_id',$request->idUser)->where('acessos.estado','sucesso')->where('acessos.sessao','aberta')->get();
    $estado = ($contasAbertas->count()>0) ? 'Activo' : 'Inativo' ;
    $icon = ($contasAbertas->count()>0) ? 'online' : 'offline' ;
    $image="";
    // $estadoActividade

            //dd($request->all());
            $idclicadoMyImag=User::where('id',$request->idUser)->first();
            // $userlogadoClass=User::where('id',1)->first();
             $userlogado=Auth::id();//$userlogadoClass->id;
             $clicado_id=$request->idUser; //id do destinatario
             //dd($request->id_conversa);
             
              $mensagem=DB::table('mensagens')
              ->join('conversas','conversas.id','=','mensagens.conversa_id')
              ->join('mensagenschats','mensagenschats.id','=','mensagens.chat_id')
              ->where(
                  function ($query) use ($userlogado,$clicado_id)
                  {
                      $query->where([
                          'user_from'=>$userlogado,
                          'user_to'=>$clicado_id,]);
                  })
              ->orWhere(
                  function ($query) use ($userlogado,$clicado_id)
                  {
                      $query->where([
                          'user_from'=>$clicado_id,
                          'user_to'=>$userlogado,]);
                  })
              ->orderBy('mensagenschats.created_at','asc')
              ->orderBy('mensagenschats.id', 'desc')->distinct()
              ->select('mensagenschats.created_at','mensagenschats.mensagem','mensagenschats.nomeoriginal',
                       'mensagenschats.tamanhoarquivo','mensagenschats.ficheiro','mensagens.conversa_id'
                       ,'mensagenschats.user_from','mensagenschats.user_to')->get();    
              $dados=""; 
                    
           // dd($mensagem);


      $image="<img  class=\"avatar-md \"   data-toggle=\"tooltip\" data-placement=\"top\" title=\"Lean\" alt=\"avatar\" src=\"".asset('storage/img/'.$user->avatar)."\"/>";
      if ($mensagem->isEmpty()) {

          $dados.="

          <div class=\"content empty\">
            <div class=\"container\">
              <div class=\"col-md-12\">
                <div class=\"no-messages\">
                  <i class=\"material-icons md-48\">forum</i>
                  <p>Parece que não tem históricos de mensagens com ".$user->getPessoa->nome.", inicie uma conversa.</p>
                </div>
              </div>
            </div>
          </div>


          ";

          // Container

          $idconversa=null;


        } else
        {

        
                foreach($mensagem as $mensagens){   
                  $idconversa=$mensagens->conversa_id;  
                  if( $mensagens->user_from==$userlogado)
                  {

                      if( empty($mensagens->ficheiro) || $mensagens->ficheiro===null)
                      {
                          //______CASO NAO TIVER EXIBE A MENSAGEM________

                                  //______CASO NAO TIVER EXIBE A MENSAGEM________

                              $dados.="
                                  <div class=\"message me\">
                                      <div class=\"text-main\">
                                          <div class=\"text-group me\">
                                              <div class=\"text me\">
                                                  <p>".$mensagens->mensagem."</p>
                                              </div>
                                          </div>
                                          <span>$mensagens->created_at</span>
                                      </div>
                                  </div>
                                  ";
                      }
                      else{  
                                  //dd("entrarste aqui tem imagem");


                              //__________ E  X  I  S  T  E T  E  X   T   O____________
                              $meu_vectorNew=explode(".",$mensagens->nomeoriginal);
                              $meu_vectorNew=end($meu_vectorNew);
                              //dd($meu_vectorNew);
                              $formato = ['pdf','psd','raw','eps','doc','pptx','txt','xlsm','xlsb','xltx','ddl'];
                              if( in_array($meu_vectorNew,$formato) )
                                  {
                                      $dados=$dados."<div class=\"message me\">
                                              <div class=\"text-main me\">
                                                  <div class=\"text-group\">
                                                      <div class=\"text me\">
                                                          <div class=\"attachment\">
                                                              <button class=\"btn attach\">
                                                                  <div class=\"botaorem\" onclick=\"deletardiv(this)\" ></div>
                                                                  <i class=\"material-icons md-18 botaosucess\">insert_drive_file</i>
                                                              </button>
                                                              <div class=\"file\">
                                                                  <h5><a href=\"".asset('storage/'.$mensagens->ficheiro)."\" target=\"_blank\">".$mensagens->nomeoriginal."</a></h5>
                                                                  <span>".$mensagens->tamanhoarquivo." Documento </span>
                                                              </div>
                                                          </div>
                                                      </div>
                                                  </div>
                                                  <span>".$mensagens->created_at."</span>
                                              </div></div>";
                                  }
                                  else{
                                          $dados=$dados."<div class=\"message me\">
                                                      <div class=\"text-main\">
                                                          <div class=\"my img\">
                                                              <div class=\"widget-tools pull-right\">
                                                              
                                                              </div>
                                                          
                                                              <img class=\"avatar\" src=\"".asset('storage/'.$mensagens->ficheiro)."\"  data-toggle=\"tooltip\" data-placement=\"top\" title=\"".$mensagens->nomeoriginal."\" alt=\"avatar\" style=\"width:100px;height:100px;\" >
                                                          </div>	
                                                                                                  
                                                              <span>$mensagens->created_at</span>
                                                      </div></div>";
                                      }
                      }

                              
                  }else
                  {
                      if( empty($mensagens->ficheiro) || $mensagens->ficheiro==null)
                      {
                          //______CASO NAO TIVER EXIBE A MENSAGEM________

                              $dados.="
                              <div class=\"message\">
                              <img class=\"avatar-md\" src=\"".asset('storage/img/'.$idclicadoMyImag->avatar)."\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Keith\" alt=\"avatar\">
                              <div class=\"text-main\">
                                  <div class=\"text-group\">
                                      <div class=\"text\">
                                          <p>".$mensagens->mensagem."</p>
                                      </div>
                                  </div>
                                  <span>$mensagens->created_at</span>
                              </div>
                          </div>
                          ";
                      }
                      else
                      {
                            //__________EXISTE TEXTO
                              $meu_vectorNew=explode(".",$mensagens->nomeoriginal);
                              $meu_vectorNew=end($meu_vectorNew);
                              //dd($meu_vectorNew);
                              $formato = ['pdf','psd','raw','eps','png','doc','pptx','txt','xlsm','xlsb','xltx','ddl'];
                              if( in_array($meu_vectorNew,$formato) )
                                  {
                                      $dados=$dados."<div class=\"message\">
                                      <img class=\"avatar-md\" src=\"".asset('storage/img/'.$idclicadoMyImag->avatar)."\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Keith\" alt=\"avatar\">
                                      <div class=\"text-main \">
                                          <div class=\"text-group\">
                                              <div class=\"text\">
                                                  <div class=\"attachment\">
                                                      <button class=\"btn attach\">
                                                          <div class=\"botaorem\" onclick=\"deletardiv(this)\" ></div>
                                                          <i class=\"material-icons md-18 botaosucess\">insert_drive_file</i>
                                                      </button>
                                                      <div class=\"file\">
                                                          <h5><a href=\"".asset('storage/'.$mensagens->ficheiro)."\" target=\"_blank\">".$mensagens->nomeoriginal."</a></h5>
                                                          <span>".$mensagens->tamanhoarquivo." Documento </span>
                                                      </div>
                                                  </div>
                                              </div>
                                          </div>
                                          <span>".$mensagens->created_at."</span>
                                      </div></div>";
                                  }
                                  else{
                                      $dados=$dados."<div class=\"message\">
                                      <img class=\"avatar-md\" src=\"".asset('storage/img/'.$idclicadoMyImag->avatar)."\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Keith\" alt=\"avatar\">
                                                      <div class=\"text-main\">
                                                          <div class=\"my img\">
                                                              <div class=\"widget-tools pull-left\">
                                                              
                                                              </div>
                                                          
                                                              <img class=\"avatar\" src=\"".asset('storage/'.$mensagens->ficheiro)."\"  data-toggle=\"tooltip\" data-placement=\"top\" title=\"".$mensagens->nomeoriginal."\" alt=\"avatar\" style=\"width:100px;height:100px;\" >
                                                          </div>	
                                                                                                  
                                                              <span>$mensagens->created_at</span>
                                                      </div></div>";
                                      }
                          

                      }

                      
                  }
              }
            
                        
        }


      $infoReturn[] = array(

        "chat" => $dados,
        "nome" => $user->getPessoa->nome,
        "estado"=>$estado,
        "icon"=>$icon,
        "avatar"=>$image,
        "idconversa"=>$idconversa,

      );
    //dd($infoReturn);
  	return  json_encode($infoReturn);
  }



  public function submitMessage(Request $request){
    //   dd($request->idUserTo);
      $mensagem=new MensagemChat ();
        $mensagem->tipo=1;
        $mensagem->mensagem=$request->Message;
        $mensagem->user_from=Auth::id();
        $mensagem->user_to=$request->idUserTo;
        $mensagem->estado=2;
      $mensagem->save();
      $mensagens= MensagemChat::where('user_from',Auth::id())->where('user_to',$request->idUserTo)->Orwhere('user_from',$request->idUserTo)->where('user_to',Auth::id())->get();
      $qtdMensagem=$mensagens->count();
      $chaat=MensagemChat::where('user_from',Auth::id())->latest()->first();
      event(new ChatComm($chaat));

      $msg="
        <div class=\"message me\">
            <div class=\"text-main\">
                <div class=\"text-group me\">
                    <div class=\"text me\">
                        <p>".$request->Message."</p>
                    </div>
                </div>
                <span><i class=\"material-icons\">check</i>$chaat->created_at</span>
            </div>
        </div>
      ";


      $infoReturn[] = array(

        "qtdMensagens" => $qtdMensagem,
        "chat" => $msg,
        // "estado"=>$estado,
        // "icon"=>$icon,
        // "avatar"=>$image

      );


    return  json_encode($infoReturn);

  }
}
