HEX
Server: Apache
System: Linux web2213.uni5.net 5.4.282-1.el8.elrepo.x86_64 #1 SMP Mon Aug 19 18:33:22 EDT 2024 x86_64
User: clinicamaciel (596848)
PHP: 7.3.33
Disabled: apache_child_terminate,c99_buff_prepare,c99_sess_put,dl,eval,exec,leak,link,myshellexec,openlog,passthru,pclose,pcntl_exec,php_check_syntax,php_strip_whitespace,popen,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,show_source,symlink,system,socket_listen,socket_create_listen,putenv
Upload Files
File: /home/clinicamaciel/www/site/wp-content/plugins/w3-total-cache/lib/Minify/Minify/Inline.php
<?php

abstract class Minify_Inline {
    protected $_tag = '';
    protected $_minifier = null;
    protected $_minifierOptions = array();

    //abstract static function minify($content, $minifier, $options = array());

    public function setTag($tag) {
        $this->_tag = $tag;
    }

    public function setMinifier($minifier) {
        $this->_minifier = $minifier;
    }

    public function setMinifierOptions($minifierOptions = array()) {
        $this->_minifierOptions = $minifierOptions;
    }

    public function doMinify($content) {
        $search = '/(<' . $this->_tag . '\\b[^>]*?>)([\\s\\S]*?)(<\\/' . $this->_tag . '>)/i';

        $content = preg_replace_callback($search, array($this, '_callback'), $content);

        return $content;
    }

    protected function _callback($match) {
        list(, $openTag, $content, $closeTag) = $match;

        $content = $this->_process($openTag, $content, $closeTag);

        return $content;
    }

    protected function _process($openTag, $content, $closeTag) {
        $content = $this->_removeCdata($content);

        $content = call_user_func($this->_minifier, $content, $this->_minifierOptions);

        if ($this->_needsCdata($content)) {
            $content = $this->_wrapCdata($content);
        }

        $content = $openTag . $content . $closeTag;

        return $content;
    }

    protected function _needsCdata($content) {
        return preg_match('/(?:[<&]|\\-\\-|\\]\\]>)/', $content);
    }

    protected function _removeCdata($content) {
        if (false !== strpos($content, '<![CDATA[')) {
            $content = str_replace('//<![CDATA[', '', $content);
            $content = str_replace('/*<![CDATA[*/', '', $content);
            $content = str_replace('<![CDATA[', '', $content);

            $content = str_replace('//]]>', '', $content);
            $content = str_replace('/*]]>*/', '', $content);
            $content = str_replace(']]>', '', $content);
        }

        return $content;
    }

    protected function _wrapCdata($content) {
        $content = '/*<![CDATA[*/' . $content . '/*]]>*/';

        return $content;
    }
}