Example #1
0
 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;
 }