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; }