Your IP : 216.73.216.229


Current Path : /proc/self/root/proc/self/root/proc/self/root/tmp/
Upload File :
Current File : //proc/self/root/proc/self/root/proc/self/root/tmp/phpiaOg1p

<?php


namespace Nextend\SmartSlider3Pro\Form\Element;

use Nextend\Framework\Asset\Js\Js;
use Nextend\Framework\Form\AbstractField;
use Nextend\Framework\Form\ContainerInterface;
use Nextend\Framework\Form\Element\AbstractFieldHidden;
use Nextend\Framework\Form\Element\Select;
use Nextend\Framework\Form\Element\Text\Number;
use Nextend\Framework\Form\TraitFieldset;

class AutoplayPicker extends AbstractFieldHidden implements ContainerInterface {

    use TraitFieldset;

    private static $separator = '|*|';

    protected function fetchElement() {
        $this->addAutoPlayPicker();

        $default = explode(self::$separator, $this->defaultValue);

        $value = explode(self::$separator, $this->getValue());

        $value = $value + $default;


        $html = '<div class="n2_field_autoplaypicker">';
        $html .= '<div class="n2_field_autoplaypicker__label"></div><i class="n2_field_autoplaypicker__arrow ssi_16 ssi_16--selectarrow"></i>';
        $html .= '<div class="n2_field_autoplaypicker__popover">';

        $subElements = array();
        $i           = 0;

        $element = $this->first;
        while ($element) {

            $element->setExposeName(false);
            if (isset($value[$i])) {
                $element->setDefaultValue($value[$i]);
            }

            $html            .= $this->decorateElement($element);
            $subElements[$i] = $element->getID();
            $i++;

            $element = $element->getNext();
        }

        $html .= '</div>';
        $html .= parent::fetchElement();
        $html .= '</div>';

        Js::addInline('new _N2.FormElementAutoPlayPicker("' . $this->fieldID . '", ' . json_encode($subElements) . ', "' . self::$separator . '");');

        return $html;
    }

    /**
     * @param AbstractField $element
     *
     * @return string
     */
    public function decorateElement($element) {

        return $this->parent->decorateElement($element);
    }

    protected function addAutoPlayPicker() {
        new Number($this, $this->name . '-1', n2_('Interval'), '', array(
            'wide' => 3,
            'min'  => 1
        ));

        new Select($this, $this->name . '-2', n2_('Interval modifier'), '', array(
            'options'            => array(
                'loop'       => n2_x('loops', 'Autoplay modifier'),
                'slide'      => n2_x('slide count', 'Autoplay modifier'),
                'slideindex' => n2_x('slide index', 'Autoplay modifier')
            ),
            'relatedValueFields' => array(
                array(
                    'values' => array(
                        'loop'
                    ),
                    'field'  => array(
                        $this->getControlName() . $this->name . '-3'
                    )
                )
            ),
        ));
        new Select($this, $this->name . '-3', n2_('Stops on'), '', array(
            'options' => array(
                'current' => n2_x('last slide', 'Autoplay modifier'),
                'next'    => n2_x('next slide', 'Autoplay modifier')
            )
        ));
    }
}<?php

namespace Nextend\SmartSlider3Pro\Form\Element;


use Nextend\Framework\Asset\Js\Js;
use Nextend\Framework\Form\Element\AbstractFieldHidden;
use Nextend\Framework\View\Html;

class CanvasLayerParentPicker extends AbstractFieldHidden {

    protected function fetchElement() {

        Js::addInline('new _N2.FormElementLayerPicker("' . $this->fieldID . '");');
        $this->renderRelatedFields();

        return parent::fetchElement() . Html::tag('div', array(
                'class' => 'n2_ss_absolute_parent_picker'
            ), '<i class="ssi_16"></i>');
    }
}<?php

namespace Nextend\SmartSlider3Pro\Form\Element;

use Nextend\Framework\Asset\Js\Js;
use Nextend\Framework\Form\Element\AbstractChooser;
use Nextend\Framework\Request\Request;

class Particle extends AbstractChooser {

    protected function addScript() {

        $MVCHelper = $this->getForm();

        Js::addInline('new _N2.FormElementParticleManager("' . $this->fieldID . '", ' . json_encode(array(
                'editUrl' => $MVCHelper->createUrl(array(
                    'slider/particle',
                    array(
                        'sliderid' => Request::$GET->getInt('sliderid')
                    )
                ), true)
            )) . ');');
    }
}<?php

namespace Nextend\SmartSlider3Pro\Form\Element;


use Nextend\Framework\Filesystem\Filesystem;
use Nextend\Framework\Form\Element\Select\Skin;
use Nextend\Framework\ResourceTranslator\ResourceTranslator;

class ParticleSkin extends Skin {

    protected $fixed = true;

    public function __construct($insertAt, $name = '', $label = '', $default = '', $parameters = array()) {
        parent::__construct($insertAt, $name, $label, $default, $parameters);

        $labels = array(
            'link'        => n2_('Link'),
            'polygons'    => n2_('Polygons'),
            'bloom'       => n2_('Bloom'),
            'web'         => n2_('Web'),
            'blackwidow'  => n2_('Black widow'),
            'zodiac'      => n2_('Zodiac'),
            'fading-dots' => n2_('Fading dots'),
            'pirouette'   => n2_('Pirouette'),
            'sparkling'   => n2_('Sparkling'),
        );

        $this->options = array(
            '0' => array(
                'label'    => n2_('Disabled'),
                'settings' => array()
            )
        );

        $folder    = ResourceTranslator::toPath('$ss3-pro-frontend$/js/particle/presets/');
        $files     = Filesystem::files($folder);
        $extension = 'json';
        for ($i = 0; $i < count($files); $i++) {
            $pathInfo = pathinfo($files[$i]);
            if (isset($pathInfo['extension']) && $pathInfo['extension'] == $extension) {

                $jsProp = json_decode(Filesystem::readFile($folder . $pathInfo['filename'] . '.json'), true);

                $this->options[$pathInfo['filename']] = array(
                    'label'    => $labels[$pathInfo['filename']],
                    'settings' => array(
                        'color'      => substr($jsProp['particles']["color"]["value"], 1) . str_pad(dechex(intval($jsProp['particles']["opacity"]["value"] * 255)), 2, "0", STR_PAD_LEFT),
                        'line-color' => substr($jsProp['particles']["line_linked"]["color"], 1) . str_pad(dechex(intval($jsProp['particles']["line_linked"]["opacity"] * 255)), 2, "0", STR_PAD_LEFT),
                        'hover'      => $jsProp['interactivity']["events"]["onhover"]['enable'] ? $jsProp['interactivity']["events"]["onhover"]['mode'] : 0,
                        'click'      => $jsProp['interactivity']["events"]["onclick"]['enable'] ? $jsProp['interactivity']["events"]["onclick"]['mode'] : 0,
                        'number'     => $jsProp['particles']["number"]["value"],
                        'speed'      => $jsProp['particles']["move"]["speed"]
                    )
                );

            }
        }

        $this->options['custom'] = array(
            'label'    => n2_('Custom'),
            'settings' => array()
        );
    }
}<?php

namespace Nextend\SmartSlider3Pro\Form\Element;


use Nextend\Framework\Asset\Js\Js;
use Nextend\Framework\Form\Element\AbstractChooser;

class PostBackgroundAnimation extends AbstractChooser {

    protected function addScript() {

        Js::addInline('new _N2.FormElementPostAnimationManager("' . $this->fieldID . '", "postbackgroundanimationManager");');
    }
}<?php

namespace Nextend\SmartSlider3Pro\Form\Element;


use Nextend\Framework\Asset\Js\Js;
use Nextend\Framework\Form\Element\AbstractChooser;
use Nextend\Framework\Request\Request;

class ShapeDivider extends AbstractChooser {

    protected function addScript() {

        $MVCHelper = $this->getForm();

        Js::addInline('new _N2.FormElementShapeDividerManager("' . $this->fieldID . '", ' . json_encode(array(
                'editUrl' => $MVCHelper->createUrl(array(
                    'slider/shapedivider',
                    array(
                        'sliderid' => Request::$GET->getInt('sliderid')
                    )
                ), true)
            )) . ');');
    }
}<?php

namespace Nextend\SmartSlider3Pro\Form\Element;


use Nextend\Framework\Asset\Js\Js;
use Nextend\Framework\Form\Element\AbstractChooser;
use Nextend\SmartSlider3Pro\SplitText\SplitTextManager;

class SplitTextAnimation extends AbstractChooser {


    protected $relatedStyle = '';
    protected $relatedFont = '';
    protected $group = '';
    protected $transformOrigin = '';
    protected $preview = '';
    protected $linkedRelatedFields = array();

    protected function addScript() {

        Js::addInline('new _N2.FormElementSplitTextAnimationManager("' . $this->fieldID . '", {
            font: "' . $this->relatedFont . '",
            style: "' . $this->relatedStyle . '",
            preview: ' . json_encode($this->preview) . ',
            group: "' . $this->group . '",
            transformOrigin: "' . $this->transformOrigin . '",
            linkedRelatedFields: ' . json_encode($this->linkedRelatedFields) . ',
        });');
    }

    protected function fetchElement() {

        SplitTextManager::enqueue($this->getForm()
                                       ->getMVCHelper());

        return parent::fetchElement();
    }

    /**
     * @param string $relatedStyle
     */
    public function setRelatedStyle($relatedStyle) {
        $this->relatedStyle = $relatedStyle;
    }

    /**
     * @param string $relatedFont
     */
    public function setRelatedFont($relatedFont) {
        $this->relatedFont = $relatedFont;
    }

    /**
     * @param string $group
     */
    public function setGroup($group) {
        $this->group = $group;
    }

    /**
     * @param string $transformOrigin
     */
    public function setTransformOrigin($transformOrigin) {
        $this->transformOrigin = $transformOrigin;
    }

    /**
     * @param string $preview
     */
    public function setPreview($preview) {
        $this->preview = $preview;
    }

    /**
     * @param array $linkedRelatedFields
     */
    public function setLinkedRelatedFields($linkedRelatedFields) {
        $this->linkedRelatedFields = $linkedRelatedFields;
    }
}<?php

namespace Nextend\SmartSlider3Pro\Form\Element\Select;


use Nextend\Framework\Form\Element\Select;
use Nextend\Framework\View\Html;

class ShapeDividerSelect extends Select {

    private static $_options;

    public function __construct($insertAt, $name = '', $label = '', $default = '', array $parameters = array()) {
        if (self::$_options === null) {
            self::$_options = array(
                'simple-Arrow'        => n2_('Arrow'),
                'simple-Curve1'       => sprintf(n2_('Curve %d'), '1'),
                'simple-Curve2'       => sprintf(n2_('Curve %d'), '2'),
                'simple-Curve3'       => sprintf(n2_('Curve %d'), '3'),
                'simple-Curve4'       => sprintf(n2_('Curve %d'), '4'),
                'simple-Curves'       => n2_('Curves'),
                'simple-Fan1'         => sprintf(n2_('Fan %d'), '1'),
                'simple-Fan2'         => sprintf(n2_('Fan %d'), '2'),
                'simple-Fan3'         => sprintf(n2_('Fan %d'), '3'),
                'simple-Fan4'         => sprintf(n2_('Fan %d'), '4'),
                'simple-Hills'        => n2_('Hills'),
                'simple-Incline1'     => sprintf(n2_('Incline %d'), '1'),
                'simple-Incline2'     => sprintf(n2_('Incline %d'), '2'),
                'simple-Incline3'     => sprintf(n2_('Incline %d'), '3'),
                'simple-InverseArrow' => n2_('Inverse arrow'),
                'simple-Rectangle'    => n2_('Rectangle'),
                'simple-Slopes'       => n2_('Slopes'),
                'simple-Tilt1'        => sprintf(n2_('Tilt %d'), '1'),
                'simple-Tilt2'        => sprintf(n2_('Tilt %d'), '2'),
                'simple-Triangle1'    => sprintf(n2_('Triangle %d'), '1'),
                'simple-Triangle2'    => sprintf(n2_('Triangle %d'), '2'),
                'simple-Wave1'        => sprintf(n2_('Wave %d'), '1'),
                'simple-Wave2'        => sprintf(n2_('Wave %d'), '2'),
                'simple-Waves'        => n2_('Waves'),
                'simple-Columns1'     => sprintf(n2_('Columns %d'), '1'),
                'simple-Columns2'     => sprintf(n2_('Columns %d'), '2'),
                'simple-Paper1'       => sprintf(n2_('Paper %d'), '1'),
                'simple-Paper2'       => sprintf(n2_('Paper %d'), '2'),
                'simple-Paper3'       => sprintf(n2_('Paper %d'), '3'),
                'simple-Paper4'       => sprintf(n2_('Paper %d'), '4'),
                'bicolor'             => array(
                    'label'   => n2_('2 Colors'),
                    'options' => array(
                        'bi-Fan'         => n2_('Fan'),
                        'bi-MaskedWaves' => n2_('Masked waves'),
                        'bi-Ribbon'      => n2_('Ribbon'),
                        'bi-Waves'       => n2_('Waves')
                    )
                )
            );
        }

        parent::__construct($insertAt, $name, $label, $default, $parameters);
    }

    protected function renderOptions($options) {

        $html = '<option value="0" ' . $this->isSelected('0') . '>' . n2_('Disabled') . '</option>';

        $html .= $this->renderOptionsRecursive(self::$_options);

        return $html;
    }

    private function renderOptionsRecursive($options) {
        $html = '';

        foreach ($options as $value => $option) {
            if (is_array($option)) {
                $html .= Html::tag('optgroup', array('label' => $option['label']), $this->renderOptionsRecursive($option['options']));
            } else {
                $html .= '<option value="' . $value . '" ' . $this->isSelected($value) . '>' . $option . '</option>';

            }
        }

        return $html;
    }
}