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; }
function loadList() { $_list = array(); N2Plugin::callPlugin('ssresponsive', 'onResponsiveList', array(&$_list, &$this->labels)); $this->_list = array(); $this->_list += $_list; }
/** * @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); } } }
private static function _load() { static $loaded; if (!$loaded) { N2Plugin::callPlugin('ssitem', 'onNextendSliderItemShortcode', array(&self::$items)); $loaded = true; } }
/** * @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]; }
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; }
private function getWidgetPath($name) { $list = array(); N2Plugin::callPlugin('sswidget', 'onWidgetList', array(&$list)); if (isset($list[$name])) { return $list[$name][1]; } return false; }
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(); }
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]]); } } }
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(); }
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)); }
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"; }
<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); }
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; }
function loadList() { $this->_list = array(); N2Plugin::callPlugin(N2XmlHelper::getAttribute($this->_xml, 'group'), 'on' . N2XmlHelper::getAttribute($this->_xml, 'method') . 'List', array(&$this->_list)); }
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));