WordPress

Briefly unavailable for scheduled maintenance.
Check back in a some hours.
403WebShell
403Webshell
Server IP : 38.242.244.58  /  Your IP : 216.73.217.62
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux vmi1486879.contaboserver.net 5.4.0-166-generic #183-Ubuntu SMP Mon Oct 2 11:28:33 UTC 2023 x86_64
User : root ( 0)
PHP Version : 7.4.3-4ubuntu2.19
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,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/sura/src/Service/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/sura/src/Service/PdfHelper.php
<?php

namespace App\Service;

// Include Dompdf required namespaces
use App\Controller\BaseController;
use Dompdf\Dompdf;
use Dompdf\Options;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\Routing\Router;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;

class PdfHelper extends BaseController
{
    private $targetDirectory;
    private $router;

    public function __construct($targetDirectory, Router $router)
    {
        $this->targetDirectory = $targetDirectory;
        $this->router = $router;
    }

    private function generate($view, $data, $fileName)
    {
        $pdfOptions = new Options();
        $pdfOptions->set('defaultFont', 'Arial');

        $dompdf = new Dompdf($pdfOptions);

        $html = $this->renderView($view, [
            'data' => $data
        ]);

        $dompdf->loadHtml($html);

        // (Optional) Setup the paper size and orientation 'portrait' or 'portrait'
        $dompdf->setPaper('A4', 'portrait');

        $dompdf->render();

        $output = $dompdf->output();

        $fileSystem = new Filesystem();
        if (!$fileSystem->exists($this->targetDirectory)) {
            $fileSystem->mkdir($this->targetDirectory);
        }

        $pdfFilepath =  $this->targetDirectory .DIRECTORY_SEPARATOR. $fileName;

        file_put_contents($pdfFilepath, $output);

        return $pdfFilepath;
    }
    public function make( $data, $fileName)
    {
        $header_url = $this->router->generate('membershp_quote_header', array(), UrlGeneratorInterface::ABSOLUTE_URL);
        $footer_url = $this->router->generate('membershp_quote_footer', array(), UrlGeneratorInterface::ABSOLUTE_URL);
            $preview_url = $this->router->generate('membershp_quote_body', array('id' => $data['user']->getId()), UrlGeneratorInterface::ABSOLUTE_URL);


        $file_name=$fileName;
        $fileSystem = new Filesystem();
        if (!$fileSystem->exists($this->targetDirectory)) {
            $fileSystem->mkdir($this->targetDirectory);
        }

        $pdfFilepath =  $this->targetDirectory .DIRECTORY_SEPARATOR. $fileName;
        $file_path='uploads/pdf/'.$file_name;
        $cmd="wkhtmltopdf  --footer-html $footer_url  ";
        $cmd.="--header-html $header_url --lowquality ";
        $cmd.="$preview_url $pdfFilepath";
        exec( $cmd );
        return $pdfFilepath;
    }

    public function generateQuote($view, $data)
    {
        $fileName = uniqid('quote_').'.pdf';
        $pdfFile = $this->generate($view, $data, $fileName);
        return $pdfFile;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit