Exemplo n.º 1
0
 function loadList()
 {
     $_list = array();
     N2Plugin::callPlugin('sstype', 'onTypeList', array(&$_list, &$this->labels));
     $this->_list = array();
     /**
      * We have to force the proper order in the slider types
      */
     if (isset($_list['simple'])) {
         $this->_list['simple'] = $_list['simple'];
         unset($_list['simple']);
     }
     if (isset($_list['carousel'])) {
         $this->_list['carousel'] = $_list['carousel'];
         unset($_list['carousel']);
     }
     if (isset($_list['showcase'])) {
         $this->_list['showcase'] = $_list['showcase'];
         unset($_list['showcase']);
     }
     if (isset($_list['horizontalaccordion'])) {
         $this->_list['horizontalaccordion'] = $_list['horizontalaccordion'];
         unset($_list['horizontalaccordion']);
     }
     if (isset($_list['verticalaccordion'])) {
         $this->_list['verticalaccordion'] = $_list['verticalaccordion'];
         unset($_list['verticalaccordion']);
     }
     $this->_list += $_list;
 }
Exemplo n.º 2
0
 function loadList()
 {
     $_list = array();
     N2Plugin::callPlugin('ssresponsive', 'onResponsiveList', array(&$_list, &$this->labels));
     $this->_list = array();
     $this->_list += $_list;
 }
Exemplo n.º 3
0
 /**
  * @param $slider N2SmartSlider
  */
 public function __construct($slider)
 {
     if (!$slider->isAdmin) {
         $params = $slider->params;
         $plugins = array();
         N2Plugin::callPlugin('sswidget', 'onWidgetList', array(&$plugins));
         foreach ($plugins as $k => $v) {
             $widget = $params->get('widget' . $k);
             if ($widget && $widget != 'disabled') {
                 $this->enabledWidgets[$k] = $widget;
             }
         }
         $positions = array();
         foreach ($this->enabledWidgets as $k => $v) {
             $class = 'N2SSPluginWidget' . $k . $v;
             if (class_exists($class, false)) {
                 $params->fillDefault(call_user_func(array($class, 'getDefaults')));
                 $positions += call_user_func_array(array($class, 'getPositions'), array(&$params));
             } else {
                 unset($this->enabledWidgets[$k]);
             }
         }
         $this->makePositions($positions, $params);
         foreach ($this->enabledWidgets as $k => $v) {
             $class = 'N2SSPluginWidget' . $k . $v;
             $this->widgets[$k] = call_user_func(array($class, 'render'), $slider, $slider->elementId, $params);
         }
     }
 }
Exemplo n.º 4
0
 private static function _load()
 {
     static $loaded;
     if (!$loaded) {
         N2Plugin::callPlugin('ssitem', 'onNextendSliderItemShortcode', array(&self::$items));
         $loaded = true;
     }
 }
Exemplo n.º 5
0
 /**
  * @param $name
  *
  * @return N2Application
  */
 public static function getApplication($name)
 {
     if (!isset(self::$applications[$name])) {
         self::_createApplication($name);
         N2Plugin::callPlugin('application', 'applicationLoaded', array($name));
     }
     return self::$applications[$name];
 }
Exemplo n.º 6
0
 function getOptions()
 {
     if ($this->_list == null) {
         $this->_list = array();
         N2Plugin::callPlugin(N2XmlHelper::getAttribute($this->_xml, 'group'), N2XmlHelper::getAttribute($this->_xml, 'method'), array(&$this->_list));
     }
     uasort($this->_list, array($this, 'sort'));
     return $this->_list;
 }
Exemplo n.º 7
0
 private function getWidgetPath($name)
 {
     $list = array();
     N2Plugin::callPlugin('sswidget', 'onWidgetList', array(&$list));
     if (isset($list[$name])) {
         return $list[$name][1];
     }
     return false;
 }
Exemplo n.º 8
0
    protected function renderType()
    {
        $params = $this->slider->params;
        N2JS::addFiles(N2Filesystem::translate(dirname(__FILE__) . "/gsap"), array("MainAnimationSimple.js", "TypeSimple.js", "ResponsiveSimple.js"), "smartslider-simple-type-frontend");
        N2JS::addFiles(N2Filesystem::translate(dirname(__FILE__) . "/gsap"), array("BackgroundAnimation.js"), "smartslider-simple-type-frontend");
        N2JS::addFiles(NEXTEND_SMARTSLIDER_ASSETS . "/js/animation", array("BackgroundAnimationAbstract.js", 'Flux.js'), "smartslider-simple-type-frontend");
        $background = $params->get('background');
        $css = $params->get('slider-css');
        $slidecss = $params->get('slide-css');
        if (!empty($background)) {
            $css = 'background-image: url(' . N2ImageHelper::fixed($background) . ');';
        }
        $this->initBackgroundAnimation();
        echo $this->openSliderElement();
        ?>

        <div class="n2-ss-slider-1" style="<?php 
        echo $css;
        ?>
">
            <?php 
        echo $this->getBackgroundVideo($params);
        ?>
            <div class="n2-ss-slider-2">
                <?php 
        if ($this->backgroundAnimation) {
            ?>
                    <div class="n2-ss-background-animation"></div>
                <?php 
        }
        ?>
                <div class="n2-ss-slider-3" style="<?php 
        echo $slidecss;
        ?>
">

                    <?php 
        echo $this->slider->staticHtml;
        foreach ($this->slider->slides as $i => $slide) {
            echo N2Html::tag('div', $slide->attributes + array('class' => 'n2-ss-slide n2-ss-canvas ' . $slide->classes, 'style' => $slide->style), $slide->background . $slide->getHTML());
        }
        ?>
                </div>
            </div>
        </div>
        <?php 
        $this->widgets->echoRemainder();
        echo N2Html::closeTag('div');
        $this->javaScriptProperties['mainanimation'] = array('type' => $params->get('animation'), 'duration' => intval($params->get('animation-duration')), 'delay' => intval($params->get('animation-delay')), 'ease' => $params->get('animation-easing'), 'parallax' => floatval($params->get('animation-parallax')), 'shiftedBackgroundAnimation' => $params->get('animation-shifted-background-animation'));
        $this->javaScriptProperties['mainanimation']['shiftedBackgroundAnimation'] = 0;
        $this->javaScriptProperties['carousel'] = intval($params->get('carousel'));
        $this->javaScriptProperties['dynamicHeight'] = intval($params->get('dynamic-height', '0'));
        $this->javaScriptProperties['dynamicHeight'] = 0;
        N2Plugin::callPlugin('nextendslider', 'onNextendSliderProperties', array(&$this->javaScriptProperties));
        N2JS::addFirstCode("new NextendSmartSliderSimple('#{$this->slider->elementId}', " . json_encode($this->javaScriptProperties) . ");");
        echo N2Html::clear();
    }
Exemplo n.º 9
0
 function loadList()
 {
     if ($this->_list == null) {
         $this->_group = array();
         $this->_list = array();
         N2Plugin::callPlugin(N2XmlHelper::getAttribute($this->_xml, 'plugingroup'), N2XmlHelper::getAttribute($this->_xml, 'method'), array(&$this->_group, &$this->_list));
         $v = explode('_', $this->getValue());
         if (!isset($this->_list[$v[0]][$this->getValue()])) {
             $keys = array_keys($this->_list);
             $ks = array_keys($this->_list[$keys[0]]);
             $this->setValue($this->_list[$keys[0]][$ks[0]]);
         }
     }
 }
Exemplo n.º 10
0
 function fetchElement()
 {
     $items = array();
     N2Plugin::callPlugin('ssitem', 'onNextendSliderItemList', array(&$items));
     ob_start();
     ?>
     <div id="smartslider-slide-toolbox-item" class="nextend-clearfix smartslider-slide-toolbox-view">
         <?php 
     $itemModel = new N2SmartsliderItemModel();
     foreach ($items as $type => $item) {
         echo N2Html::openTag("div", array("id" => "smartslider-slide-toolbox-item-type-{$type}", "style" => "display:none", "data-itemtemplate" => $item[1], "data-itemvalues" => $item[3]));
         $itemModel->renderForm($type, $item);
         echo N2Html::closeTag("div");
     }
     ?>
     </div>
     <?php 
     return ob_get_clean();
 }
Exemplo n.º 11
0
 public static function frontend($force = false)
 {
     static $once;
     if ($once != null && !$force) {
         return;
     }
     $once = true;
     N2AssetsManager::getInstance();
     N2JS::addInline('window.N2PRO=' . N2PRO . ';', true);
     N2JS::addInline('window.N2GSAP=' . N2GSAP . ';', true);
     N2JS::addInline('window.N2PLATFORM="' . N2Platform::getPlatform() . '";', true);
     N2JS::addInline('window.nextend={localization: {}, deferreds:[], loadScript: function(url){n2jQuery.ready(function () {nextend.deferreds.push(n2.ajax({url:url,dataType:"script",cache:true,error:function(){console.log(arguments)}}))})}, ready: function(cb){n2.when.apply(n2, nextend.deferreds).done(function(){cb.call(window,n2)})}};', true);
     N2JS::jQuery($force);
     N2JS::addFiles(N2LIBRARYASSETS . "/js", array('consts.js', 'class.js', 'base64.js', 'mobile-detect.js'), 'nextend-frontend');
     N2JS::addFiles(N2LIBRARYASSETS . "/js/core/jquery", array("jquery.imagesloaded.js", "litebox.js", "jquery.universalpointer.js", "jquery.mousewheel.js", "EventBurrito.js"), "nextend-frontend");
     N2JS::modernizr();
     N2CSS::addFiles(N2LIBRARYASSETS . "/css", array('litebox.css'), 'nextend-frontend');
     self::animation($force);
     N2Loader::import('libraries.fonts.fonts');
     N2Plugin::callPlugin('fontservices', 'onFontManagerLoad', array($force));
 }
Exemplo n.º 12
0
 public function render()
 {
     if (!$this->loadSlider()) {
         return false;
     }
     if (count($this->slides) == 0) {
         return false;
     }
     $this->assets = $this->getSliderTypeResource('css');
     $this->assets->render();
     $this->slides[$this->_activeSlide]->setActive();
     for ($i = 0; $i < count($this->slides); $i++) {
         $this->slides[$i]->prepare();
         $this->slides[$i]->setSlidesParams();
     }
     $this->renderStaticSlide();
     $slider = $this->sliderType->render();
     if (!$this->isAdmin) {
         N2Plugin::callPlugin('ssitem', 'onNextendSliderRender', array(&$slider, $this->elementId));
     }
     $slider = str_replace('n2-ss-0', $this->elementId, $slider);
     $dependency = intval($this->params->get('dependency'));
     if (!N2Platform::$isAdmin && $dependency > 0) {
         $slider = '<script id="' . $this->elementId . '" data-dependency="' . $dependency . '" type="rocket/slider">' . str_replace(array('<script', '</script'), array('<_s_c_r_i_p_t', '<_/_s_c_r_i_p_t'), $slider) . '</script>';
     }
     $slider = $this->features->translateUrl->renderSlider($slider);
     $slider = $this->features->align->renderSlider($slider, $this->assets->sizes['width']);
     $slider = $this->features->margin->renderSlider($slider);
     $slider .= $this->features->fadeOnLoad->renderPlaceholder($this->assets->sizes);
     return "\n<!-- Nextend Smart Slider 3 #" . $this->sliderId . " - BEGIN -->\n" . $slider . "\n<!-- Nextend Smart Slider 3 #" . $this->sliderId . " - END -->\n";
 }
Exemplo n.º 13
0
    <div class="n2-layers-tab" style="display:block;">

        <div id="smartslider-slide-toolbox-layer">
            <?php 
$class = 'N2SSPluginType' . $slider['type'];
N2Loader::importPath(call_user_func(array($class, "getPath")) . NDS . 'type');
$itemDefaults = call_user_func(array('N2SmartSliderType' . $slider['type'], 'getItemDefaults'));
?>
            <script type="text/javascript">
                window.ssitemmarker = true;
            </script>
            <div id="n2-ss-item-container" class="n2-sidebar-list-bg">
                <?php 
$items = array();
N2Plugin::callPlugin('ssitem', 'onNextendSliderItemList', array(&$items));
N2SSPluginItemAbstract::sortItems($items);
foreach ($items as $type => $item) {
    echo N2Html::tag('div', array('class' => 'n2-h5 n2-ss-core-item n2-ss-core-item-' . $type, 'data-layerproperties' => json_encode((object) array_merge($item[5], $itemDefaults)), 'data-item' => $type), N2Html::tag('div', array(), $item[0]));
}
?>
            </div>
            <script type="text/javascript">
                delete window.ssitemmarker;
            </script>

            <div id="n2-ss-layers-items-list">
                <ul class="n2-list n2-h4 n2-list-orderable">

                </ul>
            </div>
 public static function getGenerators()
 {
     static $groups;
     static $list;
     if (!$list) {
         $groups = array();
         $list = array();
         N2Plugin::callPlugin('ssgenerator', 'onGeneratorList', array(&$groups, &$list));
     }
     return array(&$groups, &$list);
 }
Exemplo n.º 15
0
 public function import($filePathOrData, $imageImportMode = 'clone', $linkedVisuals = 1, $isFilePath = true)
 {
     $zip = new N2ZipRead();
     $importData = $zip->read_zip($filePathOrData, $isFilePath);
     if (!isset($importData['data'])) {
         if (array_key_exists("slider.ss2", $importData)) {
             N2Message::error(n2_('You can\'t import sliders from Smart Slider 2.'));
         }
         return false;
     }
     $this->backup = unserialize($importData['data']);
     $this->sectionTranslation = array();
     $this->importVisuals($this->backup->visuals, $linkedVisuals);
     $sliderModel = new N2SmartsliderSlidersModel();
     if ($this->restore) {
         $this->sliderId = $sliderModel->restore($this->backup->slider);
     } else {
         $this->sliderId = $sliderModel->import($this->backup->slider);
     }
     if (!$this->sliderId) {
         return false;
     }
     switch ($imageImportMode) {
         case 'clone':
             $images = $importData['images'];
             $imageStore = new N2StoreImage('slider' . $this->sliderId, true);
             foreach ($images as $file => $content) {
                 $localImage = $imageStore->makeCache($file, $content);
                 if ($localImage) {
                     $this->imageTranslation[$file] = N2ImageHelper::dynamic(N2Uri::pathToUri($localImage));
                 } else {
                     $this->imageTranslation[$file] = $file;
                 }
                 if (!$this->imageTranslation[$file]) {
                     $this->imageTranslation[$file] = array_search($file, $this->backup->imageTranslation);
                 }
             }
             break;
         case 'update':
             $keys = array_keys($this->backup->NextendImageHelper_Export);
             $values = array_values($this->backup->NextendImageHelper_Export);
             foreach ($this->backup->imageTranslation as $image => $value) {
                 $this->imageTranslation[$value] = str_replace($keys, $values, $image);
             }
             break;
         default:
             break;
     }
     foreach ($this->backup->NextendImageManager_ImageData as $image => $data) {
         $data['tablet']['image'] = $this->fixImage($data['tablet']['image']);
         $data['mobile']['image'] = $this->fixImage($data['mobile']['image']);
         N2ImageManager::addImageData($this->fixImage($image), $data);
     }
     unset($importData);
     if (empty($this->backup->slider['type'])) {
         $this->backup->slider['type'] = 'simple';
     }
     $class = 'N2SSPluginType' . $this->backup->slider['type'];
     N2Loader::importPath(call_user_func(array($class, "getPath")) . NDS . 'backup');
     $class = 'N2SmartSliderBackup' . $this->backup->slider['type'];
     call_user_func_array(array($class, 'import'), array($this, &$this->backup->slider));
     $enabledWidgets = array();
     $plugins = array();
     N2Plugin::callPlugin('sswidget', 'onWidgetList', array(&$plugins));
     $params = $this->backup->slider['params'];
     foreach ($plugins as $k => $v) {
         $widget = $params->get('widget' . $k);
         if ($widget && $widget != 'disabled') {
             $enabledWidgets[$k] = $widget;
         }
     }
     foreach ($enabledWidgets as $k => $v) {
         $class = 'N2SSPluginWidget' . $k . $v;
         if (class_exists($class, false)) {
             $params->fillDefault(call_user_func(array($class, 'getDefaults')));
             call_user_func_array(array($class, 'prepareImport'), array($this, $params));
         } else {
             unset($enabledWidgets);
         }
     }
     $sliderModel->importUpdate($this->sliderId, $params);
     $generatorTranslation = array();
     N2Loader::import("models.generator", "smartslider");
     $generatorModel = new N2SmartsliderGeneratorModel();
     foreach ($this->backup->generators as $generator) {
         $generatorTranslation[$generator['id']] = $generatorModel->import($generator);
     }
     $slidesModel = new N2SmartsliderSlidesModel();
     for ($i = 0; $i < count($this->backup->slides); $i++) {
         $slide = $this->backup->slides[$i];
         $slide['params'] = new N2Data($slide['params'], true);
         $slide['thumbnail'] = $this->fixImage($slide['thumbnail']);
         $slide['params']->set('backgroundImage', $this->fixImage($slide['params']->get('backgroundImage')));
         $slide['params']->set('link', $this->fixLightbox($slide['params']->get('link')));
         $slide['slide'] = N2SmartSliderLayer::prepareImport($this, $slide['slide']);
         if (isset($generatorTranslation[$slide['generator_id']])) {
             $slide['generator_id'] = $generatorTranslation[$slide['generator_id']];
         }
         $slidesModel->import($slide, $this->sliderId);
     }
     return $this->sliderId;
 }
Exemplo n.º 16
0
 function loadList()
 {
     $this->_list = array();
     N2Plugin::callPlugin(N2XmlHelper::getAttribute($this->_xml, 'group'), 'on' . N2XmlHelper::getAttribute($this->_xml, 'method') . 'List', array(&$this->_list));
 }
Exemplo n.º 17
0
 public function create($saveAsFile = false)
 {
     $this->backup = new N2SmartSliderBackup();
     $slidersModel = new N2SmartsliderSlidersModel();
     if ($this->backup->slider = $slidersModel->get($this->sliderId)) {
         $this->backup->slider['params'] = new N2Data($this->backup->slider['params'], true);
         $slidesModel = new N2SmartsliderSlidesModel();
         $this->backup->slides = $slidesModel->getAll($this->backup->slider['id']);
         if (empty($this->backup->slider['type'])) {
             $this->backup->slider['type'] = 'simple';
         }
         $class = 'N2SSPluginType' . $this->backup->slider['type'];
         N2Loader::importPath(call_user_func(array($class, "getPath")) . NDS . 'backup');
         $class = 'N2SmartSliderBackup' . $this->backup->slider['type'];
         call_user_func_array(array($class, 'export'), array($this, $this->backup->slider));
         $enabledWidgets = array();
         $plugins = array();
         N2Plugin::callPlugin('sswidget', 'onWidgetList', array(&$plugins));
         $params = $this->backup->slider['params'];
         foreach ($plugins as $k => $v) {
             $widget = $params->get('widget' . $k);
             if ($widget && $widget != 'disabled') {
                 $enabledWidgets[$k] = $widget;
             }
         }
         foreach ($enabledWidgets as $k => $v) {
             $class = 'N2SSPluginWidget' . $k . $v;
             if (class_exists($class, false)) {
                 $params->fillDefault(call_user_func(array($class, 'getDefaults')));
                 call_user_func_array(array($class, 'prepareExport'), array($this, &$params));
             } else {
                 unset($enabledWidgets);
             }
         }
         for ($i = 0; $i < count($this->backup->slides); $i++) {
             $slide = $this->backup->slides[$i];
             self::addImage($slide['thumbnail']);
             $slide['params'] = new N2Data($slide['params'], true);
             self::addImage($slide['params']->get('backgroundImage'));
             self::addLightbox($slide['params']->get('link'));
             N2SmartSliderLayer::prepareExport($this, $slide['slide']);
             if (!empty($slide['generator_id'])) {
                 N2Loader::import("models.generator", "smartslider");
                 $generatorModel = new N2SmartsliderGeneratorModel();
                 $this->backup->generators[] = $generatorModel->get($slide['generator_id']);
             }
         }
         $zip = new N2ZipFile();
         $this->images = array_unique($this->images);
         $this->visuals = array_unique($this->visuals);
         foreach ($this->images as $image) {
             $this->backup->NextendImageManager_ImageData[$image] = N2ImageManager::getImageData($image, true);
             if ($this->backup->NextendImageManager_ImageData[$image]) {
                 self::addImage($this->backup->NextendImageManager_ImageData[$image]['tablet']['image']);
                 self::addImage($this->backup->NextendImageManager_ImageData[$image]['mobile']['image']);
             } else {
                 unset($this->backup->NextendImageManager_ImageData[$image]);
             }
         }
         $this->images = array_unique($this->images);
         $usedNames = array();
         foreach ($this->images as $image) {
             $file = N2ImageHelper::fixed($image, true);
             if (N2Filesystem::fileexists($file)) {
                 $fileName = strtolower(basename($file));
                 while (in_array($fileName, $usedNames)) {
                     $fileName = $this->uniqueCounter . $fileName;
                     $this->uniqueCounter++;
                 }
                 $usedNames[] = $fileName;
                 $this->backup->imageTranslation[$image] = $fileName;
                 $zip->addFile(file_get_contents($file), 'images/' . $fileName);
             }
         }
         foreach ($this->visuals as $visual) {
             $this->backup->visuals[] = N2StorageSectionAdmin::getById($visual);
         }
         $zip->addFile(serialize($this->backup), 'data');
         if (!$saveAsFile) {
             ob_end_clean();
             header('Content-disposition: attachment; filename=' . preg_replace('/[^a-zA-Z0-9_-]/', '', $this->backup->slider['title']) . '.ss3');
             header('Content-type: application/zip');
             echo $zip->file();
             n2_exit(true);
         } else {
             $file = preg_replace('/[^a-zA-Z0-9_-]/', '', $this->backup->slider['title']) . '.ss3';
             $folder = N2Platform::getPublicDir();
             $folder .= '/export/';
             if (!N2Filesystem::existsFolder($folder)) {
                 N2Filesystem::createFolder($folder);
             }
             N2Filesystem::createFile($folder . $file, $zip->file());
         }
     }
 }
<?php

$action = N2Request::getCmd('nextendaction', 'default');
$settings = array('default' => array('title' => n2_('General settings'), 'url' => array("settings/default")), 'itemDefaults' => array('title' => n2_('Item defaults'), 'url' => array("settings/itemDefaults")));
N2Plugin::callPlugin('ssgenerator', 'onSmartSliderConfigurationList', array(&$settings));
$dl = array();
foreach ($settings as $id => $setting) {
    $linkOptions = isset($setting['linkOptions']) ? $setting['linkOptions'] : array();
    $linkOptions['href'] = $this->appType->router->createUrl($setting['url']);
    $dl[] = array('title' => $setting['title'], 'class' => $action == $id ? 'n2-active ' : '', 'linkOptions' => $linkOptions);
}
echo $this->widget->init("definitionlist", array("dl" => $dl));