public function saveDefaults($defaults) { if (!empty($defaults)) { foreach ($defaults as $referenceKey => $value) { N2StorageSectionAdmin::set('smartslider', 'default', $referenceKey, $value); } } return true; }
private static function initDefaultStyle() { static $inited = false; if (!$inited) { $res = N2StorageSectionAdmin::get('smartslider', 'default', 'item-button-style'); if (is_array($res)) { self::$style = $res['value']; } if (is_numeric(self::$style)) { N2StyleRenderer::preLoad(self::$style); } $inited = true; } }
public static function storeSettings($data) { if (is_array($data)) { foreach ($data as $key => $value) { if (isset(self::$config[$key])) { self::$config[$key] = $value; N2StorageSectionAdmin::set('system', 'fonts', $key, $value, 1, 1); unset($data[$key]); } } if (count($data)) { self::$config['plugins'] = new N2Data($data); N2StorageSectionAdmin::set('system', 'fonts', 'plugins', self::$config['plugins']->toJSON(), 1, 1); } return true; } return false; }
public static function render($style, $mode, $group, $pre = '') { self::$pre = $pre; $selector = ''; if (intval($style) > 0) { // Linked $style = N2StorageSectionAdmin::getById($style, 'style'); if ($style) { if (is_string($style['value'])) { $value = json_decode(base64_decode($style['value']), true); } else { $value = $style['value']; } $selector = 'n2-style-' . $style['id'] . '-' . $mode; self::$sets[] = $style['referencekey']; if (!isset(self::$styles[$style['id']])) { self::$styles[$style['id']] = array($mode); } else { if (!in_array($mode, self::$styles[$style['id']])) { self::$styles[$style['id']][] = $mode; } } N2CSS::addCode(self::renderStyle($mode, $pre, $selector, $value['data']), $group); return $selector . ' '; } } else { if ($style != '') { $value = json_decode(base64_decode($style), true); if ($value) { $selector = 'n2-style-' . md5($style) . '-' . $mode; N2CSS::addCode(self::renderStyle($mode, $pre, $selector, $value['data']), $group); return $selector . ' '; } } } return ''; }
public static function render($font, $mode, $group, $pre = '', $fontSize = false) { self::$pre = $pre; if (intval($font) > 0) { // Linked $font = N2StorageSectionAdmin::getById($font, 'font'); if ($font) { if (is_string($font['value'])) { $value = json_decode(base64_decode($font['value']), true); } else { $value = $font['value']; } $selector = 'n2-font-' . $font['id'] . '-' . $mode; self::$sets[] = $font['referencekey']; if (!isset(self::$fonts[$font['id']])) { self::$fonts[$font['id']] = array($mode); } else { if (!in_array($mode, self::$fonts[$font['id']])) { self::$fonts[$font['id']][] = $mode; } } N2CSS::addCode(self::renderFont($mode, $pre, $selector, $value['data'], $fontSize), $group); return $selector . ' '; } } else { if ($font != '') { $value = json_decode(base64_decode($font), true); if ($value) { $selector = 'n2-font-' . md5($font) . '-' . $mode; N2CSS::addCode(self::renderFont($mode, $pre, $selector, $value['data'], $fontSize), $group); return $selector . ' '; } } } return ''; }
public static function storeSettings($data) { if (is_array($data)) { foreach ($data as $key => $value) { if (isset(self::$config[$key])) { self::$config[$data['referencekey']] = $data['value']; N2StorageSectionAdmin::set('system', 'aviary', $key, $value, 1, 1); } } return true; } return false; }
public function deleteById($id) { return N2StorageSectionAdmin::deleteById($id); }
public static function set($key, $value) { self::$data->set($key, $value); N2StorageSectionAdmin::set('system', 'global', $key, $value, 1, 1); }
private function parseBackgroundAnimations($backgroundAnimation) { $backgroundAnimations = array_unique(array_map('intval', explode('||', $backgroundAnimation))); $jsProps = array(); if (count($backgroundAnimations)) { N2Loader::import('libraries.backgroundanimation.storage', 'smartslider'); foreach ($backgroundAnimations as $animationId) { $animation = N2StorageSectionAdmin::getById($animationId, 'backgroundanimation'); if (isset($animation)) { $jsProps[] = $animation['value']['data']; } } if (count($jsProps)) { $this->backgroundAnimation = true; return $jsProps; } } return 0; }
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()); } } }