function fetchElement() { global $smartslidercontroller, $ss2sliderafterform; $this->_value = htmlspecialchars($this->_form->get($this->_name, $this->_default), ENT_QUOTES); $this->_form->set($this->_name, $this->_value); $html = '<div style="display:none;">' . parent::fetchElement() . '</div>'; $slider = null; $params = new NextendData(); if (nextendIsJoomla()) { nextendimportsmartslider2('nextend.smartslider.joomla.slider'); $module = new stdClass(); $module->id = 0; $params->loadArray(array('slider' => intval($_GET['sliderid']))); $slider = new NextendSliderJoomla($module, $params, dirname(__FILE__), true); } else { if (nextendIsWordpress()) { nextendimportsmartslider2('nextend.smartslider.wordpress.slider'); $slider = new NextendSliderWordpress(intval($_GET['sliderid']), $params, dirname(__FILE__), true); } else { if (nextendIsMagento()) { nextendimportsmartslider2('nextend.smartslider.magento.slider'); $slider = new NextendSliderMagento(intval($_GET['sliderid']), $params, dirname(__FILE__), true); } } } ob_start(); echo "<div id='smartslider-adjust-height' style='overflow:auto; margin: 5px; padding: 5px;'>"; $slider->render(); echo "</div>"; echo "<div id='smart-slider-layer-dummy' class='smart-slider-layer'></div>"; echo '<div class="smartslider-slide-advanced-layers" style="min-width: 1600px;"></div>'; $ss2sliderafterform = ob_get_clean(); $css = NextendCss::getInstance(); $css->addCssLibraryFile('jqueryui/jquery.ui.resizable.css'); $css->addCssFile(NEXTEND_SMART_SLIDER2_ASSETS . 'admin/css/layer.css'); $js = NextendJavascript::getInstance(); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.core.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.widget.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.mouse.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.resizable.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.draggable.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.sortable.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.droppable.min.js'); $js->addLibraryJsFile('jquery', NEXTENDLIBRARYASSETS . 'js' . DIRECTORY_SEPARATOR . 'base64.js'); $js->addLibraryJsFile('jquery', NEXTENDLIBRARYASSETS . 'js' . DIRECTORY_SEPARATOR . 'sortable.js'); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'console.js'); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.js'); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.layer.js'); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.item.js'); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.layout.js'); $js->addLibraryJs('jquery', "\r\n njQuery(document).ready(function(){\r\n var el = \$('#smartslider-adjust-height');\r\n el.height(el[0].scrollHeight+10);\r\n \$(window).trigger('resize');\r\n });\r\n ndojo.addOnLoad(function(){\r\n SmartSliderAdminSlide('" . $slider->getId() . "','" . $slider->_activeSlide . "','" . $this->_id . "', '" . $smartslidercontroller->route('controller=layouts&action=create') . "');\r\n });\r\n "); if (NextendSmartSliderSettings::get('slideeditoralert', 1)) { $js->addLibraryJs('jquery', "\r\n njQuery(window).on('beforeunload', function() {\r\n if (njQuery.now()-window.nextendtime > 60000 && !window.nextendsave) { // 1 min\r\n return '" . NextendText::_('Your_slide_settings_has_not_been_submitted_yet') . "';\r\n } else {\r\n return;\r\n }\r\n });\r\n "); } return $html; }
echo $this->route('controller=sliders&view=sliders_generator&action=generatorrecords&refreshcache=1&sliderid=' . NextendRequest::getInt('sliderid')); ?> "> <span class="smartslider-icon smartslider-action-icon smartslider-action-icon-refresh"></span> Refresh cache </a> </div> </div> <div style="clear:both;"></div> <?php nextendimportsmartslider2('nextend.smartslider.generator'); $slidersModel = $this->getModel('sliders'); $slider = $slidersModel->getSlider(NextendRequest::getInt('sliderid')); $smartslidergenerator = (array) json_decode($slider['generator'], true); $generatorParams = new NextendData(); $generatorParams->loadArray($smartslidergenerator); if ($generatorParams->get('enabled')) { $source = $generatorParams->get('source', ''); if ($source) { $generator = new NextendSmartsliderGenerator($generatorParams, array(), NextendRequest::getInt('sliderid')); $generator->initDatasource($source, true); $generatorgroup = $generatorParams->get('generatorgroup', 1); if (!empty($generator->_datasource)) { for ($i = 0, $j = 1; $i < count($generator->_datasource); $j++) { ?> <h2>Slide #<?php echo $j; ?> </h2> <table class="ni"> <?php
# copyright Copyright (C) Nextendweb.com. All Rights Reserved. # @license - http://www.gnu.org/licenses/gpl-3.0.txt GNU/GPL */ defined('_JEXEC') or die('Restricted access'); global $smartslidergeneratorslide, $slidegenerator, $generatorinstance; nextendimportsmartslider2('nextend.smartslider.generator'); $slidersModel = $this->getModel('sliders'); $slider = $slidersModel->getSlider(NextendRequest::getInt('sliderid')); $smartslidergenerator = (array) json_decode($slider['generator'], true); $slidegenerator = null; $generatorParams = new NextendData(); $generatorParams->loadArray($smartslidergenerator); $source = $generatorParams->get('source', ''); if ($source) { $generatorSlideParams = new NextendData(); $generatorSlideParams->loadArray(json_decode($slider['slide'], true)); $generator = new NextendSmartsliderGenerator($generatorParams, $generatorSlideParams, NextendRequest::getInt('sliderid')); $generatorinstance = $generator->initDatasource($source, true); $slidegenerator = $generator; } else { // Here should be a redirect for the generator start! } $this->loadFragment('headerstart'); ?> <div class="smartslider-button smartslider-save" onclick="setTimeout(function(){njQuery('#smartslider-form').submit();}, 300);"><?php echo NextendText::_('Save'); ?> </div> <div class="smartslider-button smartslider-cancel" onclick="window.nextendsave=true;location.href='<?php echo $this->route('controller=sliders&view=sliders_slider&action=generatordashboard&sliderid=' . NextendRequest::getInt('sliderid')); ?>
function changeDynamicLayout($sliderid) { $slider = $this->getSlider($sliderid); $sliderParams = new NextendData(); $sliderParams->loadJSON($slider['params']); $sliders = array(); NextendPlugin::callPlugin('nextendslidergeneratorlayouts', 'onNextendSliderGeneratorSlider', array(&$sliders, $sliderParams->get('size', null))); $sliderpreset = NextendRequest::getVar('sliderpreset', ''); if (isset($sliders[$sliderpreset])) { $slider = $sliders[$sliderpreset]['slider'] + $slider; $db = NextendDatabase::getInstance(); $db->update('#__nextend_smartslider_sliders', array('type' => $slider['type'], 'params' => $slider['params']), 'id = ' . $db->quote($sliderid)); self::markChanged($sliderid); } $generatorParams = new NextendData(); $generatorParams->loadJSON($slider['generator']); $group = array(); $list = array(); NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendSliderGeneratorList', array(&$group, &$list)); $source = $generatorParams->get('source'); $sourcetype = null; foreach ($list as $ls) { foreach ($ls as $k => $l) { if ($k == $source) { $sourcetype = $l; break; } } if ($sourcetype) { break; } } $slide = array(); NextendPlugin::callPlugin('nextendslidergeneratorlayouts', 'onNextendSliderGeneratorLayouts', array($sourcetype[5], &$slide)); $layout = NextendRequest::getVar('layout', ''); if (isset($slide[$layout])) { if (isset($slide[$layout]['slider'])) { $generatorParams->loadArray($slide[$layout]['slider']); } $this->saveGenerator($sliderid, $generatorParams->toArray(), $slide[$layout]['slide'], false); } return $sliderid; }