Пример #1
0
 function fetchElement()
 {
     if (isset($_REQUEST['get'])) {
         $get = json_decode(get_magic_quotes_gpc() || nextendIsWordPress() ? stripslashes($_REQUEST['get']) : $_REQUEST['get'], true);
         if (isset($get['sliderid'])) {
             nextendimportsmartslider2('nextend.smartslider.settings');
             NextendSmartSliderFontSettings::initAdminFonts(intval($get['sliderid']));
         }
     }
     $this->_xml->addChild('option', 'None')->addAttribute('value', '');
     if (isset($GLOBALS['nextendfontmatrix']) && count($GLOBALS['nextendfontmatrix'])) {
         foreach ($GLOBALS['nextendfontmatrix'] as $k => $v) {
             $this->_xml->addChild('option', $v)->addAttribute('value', $k);
         }
     }
     return parent::fetchElement();
 }
Пример #2
0
 function form($xml)
 {
     $data = array();
     switch ($xml) {
         case 'layout':
             $data = NextendSmartSliderLayoutSettings::getAll();
             break;
         case 'font':
             $data = NextendSmartSliderFontSettings::getAll(NextendRequest::getInt('sliderid'));
             break;
         case 'joomla':
             $data = NextendSmartSliderJoomlaSettings::getAll();
             break;
         default:
             $data = NextendSmartSliderSettings::getAll();
             break;
     }
     $this->render(dirname(__FILE__) . '/forms/settings/' . $xml . '.xml', $data);
 }
Пример #3
0
 function addCSS()
 {
     $id = $this->getId();
     nextendimport('nextend.css.css');
     $css = NextendCss::getInstance();
     $css->createGroup($id);
     $css->enableLess($id);
     $css->addLessImportDir(NEXTEND_SMART_SLIDER2_ASSETS . 'less' . DIRECTORY_SEPARATOR, $id);
     $data =& $this->_data;
     $slider =& $this->_slider;
     $sliderParams =& $this->_sliderParams;
     $size = NextendParse::parse($sliderParams->get('size'));
     $context = array('id' => '~"#' . $this->getId() . '"', 'width' => $size[0] . 'px', 'height' => $size[1] . 'px', 'canvas' => intval($size[2]), 'count' => count($this->_slides), 'margin' => NextendParse::parseUnit($sliderParams->get('margin'), ' '));
     if ($this->_backend) {
         $context['margin'] = '0px 0px 0px 0px';
     }
     nextendimport('nextend.parse.font');
     $fonts = 0;
     foreach (NextendSmartSliderFontSettings::getAll($this->_sliderid) as $k => $v) {
         preg_match('/sliderfont(custom)?([0-9]*)$/', $k, $matches);
         if (count($matches)) {
             $context['font' . $fonts] = '~".' . $matches[0] . '"';
             $tmp = json_decode($v);
             if ($tmp === null || $tmp == $v) {
                 $v = base64_decode($v);
             }
             $font = new NextendParseFont($v);
             $context['font' . $fonts . 'text'] = '";' . $font->printTab() . '"';
             $font->mixinTab('Link');
             $context['font' . $fonts . 'link'] = '";' . $font->printTab('Link') . '"';
             $font->mixinTab('Link:Hover', 'Link');
             $context['font' . $fonts . 'hover'] = '";' . $font->printTab('Link:Hover') . '"';
             $fonts++;
         }
     }
     $context['fonts'] = $fonts;
     include $this->_typePath . 'context.php';
     $css->addCssFile(array($this->getId(), $this->_typePath . 'style.less', $context), $this->getId());
     $imageload = NextendParse::parse($this->_sliderParams->get('imageload', '0|*|0'));
     $lazyload = intval($imageload[0]);
     if ($lazyload) {
         $css->addCssFile(array($this->getId() . 'spinner', NEXTEND_SMART_SLIDER2_ASSETS . 'less' . DIRECTORY_SEPARATOR . 'spinner.less', array('id' => '~"#' . $this->getId() . '"')), $this->getId());
     }
     if (strpos($context['margin'], '%')) {
         $m = explode('% ', $context['margin']);
         $m[1] = $m[1] / 100 * intval($context['width']);
         $m[3] = $m[3] / 100 * intval($context['width']);
         $m[0] = $m[0] / 100 * intval($context['height']);
         $m[2] = $m[2] / 100 * intval($context['height']);
     } else {
         $m = explode('px ', $context['margin']);
     }
     $addcss = (array) NextendParse::parse(NextendSmartSliderSettings::get('externalcssfile'));
     if ($this->_backend && count($addcss)) {
         foreach ($addcss as $cssfile) {
             $css->addCssFile($cssfile);
         }
     }
     return array(intval($context['width']), intval($context['height']), $m[0] + $m[2], $m[1] + $m[3], intval($context['canvaswidth']), intval($context['canvasheight']));
 }
Пример #4
0
 function editAction($tpl)
 {
     NextendSmartSliderFontSettings::initAdminFonts();
     $this->render($tpl);
 }
Пример #5
0
 function editAction($tpl)
 {
     NextendSmartSliderFontSettings::initAdminFonts(NextendRequest::getInt('sliderid'));
     $this->render($tpl);
 }
Пример #6
0
 function exportSlider($id)
 {
     nextendimport('nextend.externals.zip_lib');
     $zip = new NextendZipFile();
     $slider = $this->getSlider($id);
     $title = preg_replace('/[^a-zA-Z0-9]/', '_', $slider['title']) . '.smart';
     unset($slider['id']);
     $zip->addFile(serialize($slider), 'slider.ss2');
     $slidesModel = $this->getModel('slides');
     $slides = $slidesModel->getSlides($id);
     for ($i = 0; $i < count($slides); $i++) {
         unset($slides[$i]['id']);
         unset($slides[$i]['slider']);
     }
     $zip->addFile(serialize($slides), 'slides.ss2');
     $fonts = NextendSmartSliderFontSettings::getAll($id);
     $zip->addFile(serialize($fonts), 'fonts.ss2');
     return array($title, $zip->file());
 }