__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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\Renderable\Item;


use Exception;
use Nextend\Framework\Data\Data;
use Nextend\Framework\Pattern\OrderableTrait;
use Nextend\Framework\Pattern\PluggableTrait;
use Nextend\Framework\Pattern\SingletonTrait;
use Nextend\SmartSlider3\BackupSlider\ExportSlider;
use Nextend\SmartSlider3\BackupSlider\ImportSlider;
use Nextend\SmartSlider3\Renderable\AbstractRenderableOwner;
use Nextend\SmartSlider3\Renderable\Component\ComponentLayer;
use Nextend\SmartSlider3\Renderable\Item\Button\ItemButton;
use Nextend\SmartSlider3\Renderable\Item\Heading\ItemHeading;
use Nextend\SmartSlider3\Renderable\Item\Image\ItemImage;
use Nextend\SmartSlider3\Renderable\Item\Missing\ItemMissing;
use Nextend\SmartSlider3\Renderable\Item\Text\ItemText;
use Nextend\SmartSlider3\Renderable\Item\Vimeo\ItemVimeo;
use Nextend\SmartSlider3\Renderable\Item\YouTube\ItemYouTube;

class ItemFactory {

    use SingletonTrait, PluggableTrait, OrderableTrait;

    public static $i = array();
    /** @var AbstractItem[][] */
    private static $itemGroups = array();
    /**
     * @var AbstractItem[]
     */
    private static $items = array();

    /**
     * @return AbstractItem[]
     */
    public static function getItems() {

        return self::$items;
    }

    /**
     * @param $type
     *
     * @return AbstractItem
     */
    public static function getItem($type) {

        return self::$items[$type];
    }

    /**
     * @return AbstractItem[][]
     */
    public static function getItemGroups() {

        return self::$itemGroups;
    }

    /**
     * @param ComponentLayer $layer
     * @param array          $itemData
     *
     * @return AbstractItemFrontend
     * @throws Exception
     */
    public static function create($layer, $itemData) {

        if (!isset($itemData['type'])) {
            throw new Exception('Error with itemData: ' . $itemData);
        }

        $type = $itemData['type'];

        if ($type == 'missing') {
            $type = $itemData['values']['type'];
        }

        if (!isset(self::$items[$type])) {
            $itemData['values']['type'] = $type;

            $type = 'missing';
        }

        /** @var AbstractItem $factory */
        $factory = self::$items[$type];

        $elementID = $layer->getOwner()
                           ->getElementID();

        if (!isset(self::$i[$elementID])) {
            self::$i[$elementID] = 0;
        }

        self::$i[$elementID]++;
        $id = $elementID . 'item' . self::$i[$elementID];

        return $factory->createFrontend($id, $itemData['values'], $layer);
    }

    /**
     * @param AbstractRenderableOwner $slide
     * @param array                   $item
     */
    public static function getFilled($slide, &$item) {

        $type = $item['type'];
        if (isset(self::$items[$type])) {
            $item['values'] = self::$items[$type]->getFilled($slide, new Data($item['values']))
                                                 ->toArray();
        }
    }

    /**
     * @param ExportSlider                                    $export
     * @param                                                 $item
     */
    public static function prepareExport($export, $item) {

        $type = $item['type'];
        if (isset(self::$items[$type])) {
            self::$items[$type]->prepareExport($export, new Data($item['values']));
        }
    }

    /**
     * @param ImportSlider                                    $import
     * @param                                                 $item
     *
     * @return mixed
     */
    public static function prepareImport($import, $item) {

        $type = $item['type'];
        if (isset(self::$items[$type])) {
            $item['values'] = self::$items[$type]->prepareImport($import, new Data($item['values']))
                                                 ->toArray();
        }

        return $item;
    }

    public static function prepareSample($item) {

        $type = $item['type'];
        if (isset(self::$items[$type])) {
            $item['values'] = self::$items[$type]->prepareSample(new Data($item['values']))
                                                 ->toArray();
        }

        return $item;
    }

    /**
     * @param AbstractItem $item
     */
    public function addItem($item) {

        self::$items[$item->getType()] = $item;
    }

    protected function init() {

        new ItemHeading($this);
        new ItemButton($this);
        new ItemImage($this);
        new ItemText($this);
        new ItemVimeo($this);
        new ItemYouTube($this);

        $this->makePluggable('RenderableItem');

        self::uasort(self::$items);

        self::$itemGroups[n2_x('Basic', 'Layer group')] = array();
        self::$itemGroups[n2_x('Media', 'Layer group')] = array();

        foreach (self::$items as $type => $item) {
            $group = $item->getGroup();
            if (!isset(self::$itemGroups[$group])) {
                self::$itemGroups[$group] = array();
            }
            self::$itemGroups[$group][$type] = $item;
        }

        new ItemMissing($this);
    }
}

ItemFactory::getInstance();

Filemanager

Name Type Size Permission Actions
Button Folder 0775
Heading Folder 0775
Image Folder 0775
Missing Folder 0775
Text Folder 0775
Vimeo Folder 0775
YouTube Folder 0775
AbstractItem.php File 5.1 KB 0664
AbstractItemFrontend.php File 2.93 KB 0664
ItemFactory.php File 5.05 KB 0664
Filemanager