403Webshell
Server IP : 189.126.111.107  /  Your IP : 216.73.217.69
Web Server : Apache
System : Linux www.gadotticar.com.br 5.4.0-135-generic #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022 x86_64
User : gadotticar ( 1000)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/gadotticar/site/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gadotticar/site/app/Http/Controllers/OrcamentoController.php
<?php

namespace App\Http\Controllers;

use App\Mail\OrcamentoMail;
use App\Models\FormularioOrcamento;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Log;
use Symfony\Component\DomCrawler\Form;

class OrcamentoController extends Controller
{
    public function create(Request $request)
    {
        $produto = $request->query('produto');
        return view('orcamento.create', compact('produto'));
    }

    public function store(Request $request)
    {
        $request->validate([
            'nome' => 'required|string|max:255',
            'email' => 'required|email|max:255',
            'telefone' => 'required|string|max:20',
            'produto' => 'required|string|max:255',
            'mensagem' => 'required|string|max:1000',
        ]);

        $data = $request->all();


        // Sanitize inputs to remove HTML/JavaScript tags
        $sanitizedData = [
            'nome' => strip_tags($data['nome']),
            'email' => strip_tags($data['email']), // Email should already be safe due to validation
            'telefone' => strip_tags($data['telefone']),
            'produto' => strip_tags($data['produto']),
            'mensagem' => strip_tags($data['mensagem']),
            'cpf_cnpj' => strip_tags($data['cpf_cnpj']),
            'cep' => strip_tags($data['cep']),
        ];
        $adminIds = [4, 71];

        // Check if adminIds is non-empty
        if (empty($adminIds)) {
            return response()->json(['message' => 'Erro: Nenhum administrador configurado'], 500);
        }


        // Get the last used admin index from cache, default to -1
        $lastAdminIndex = \Cache::get('last_admin_index', -1);

        // Calculate the next admin index
        $nextAdminIndex = ($lastAdminIndex + 1) % count($adminIds);
        $adminId = $adminIds[$nextAdminIndex];

        // Save the new index to cache for 30 days
        \Cache::put('last_admin_index', $nextAdminIndex, now()->addDays(30));
        // Save to database
        try {
            $formulario_orcamento = new FormularioOrcamento();
            $formulario_orcamento->nome = $sanitizedData['nome'];
            $formulario_orcamento->email = $sanitizedData['email'];
            $formulario_orcamento->telefone = $sanitizedData['telefone'];
            $formulario_orcamento->produto = $sanitizedData['produto'];
            $formulario_orcamento->mensagem = $sanitizedData['mensagem'];
            $formulario_orcamento->cep = $sanitizedData['cep'];
            $formulario_orcamento->cnpj = $sanitizedData['cpf_cnpj'];
            $formulario_orcamento->user_id = $adminId;
            $formulario_orcamento->save();
           // Log::info('Orçamento salvo no banco de dados com sucesso.');
        } catch (\Exception $e) {
           // Log::error('Erro ao salvar orçamento no banco de dados:', ['exception' => $e->getMessage()]);
        }

        $recipients = ['contato@gadotticar.com.br', 'rfr.cwb@gmail.com', 'ronaldo@gadotticar.com.br', 'gestorcomercial@gadotticar.com.br' ];

        // Enviar e-mail usando o Mailable OrcamentoMail
        try {
            Mail::to($recipients)->send(new OrcamentoMail($data));
           // Log::info('Email enviado com sucesso para: ' . implode(', ', $recipients));
        } catch (\Exception $e) {
           // Log::error('Erro ao enviar e-mail de orçamento:', ['exception' => $e->getMessage()]);
        }
        \App\Models\GoogleCliqueConversoes::create([
            'tipo_id' => 5,
            'google_clique_id' => 1
        ]);

       return redirect()->route('orcamento.confirmacao');
    }

    public function confirmacao()
    {
        return view('orcamento.confirmacao');
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit