예제 #1
0
 public function saveDefaults($defaults)
 {
     if (!empty($defaults)) {
         foreach ($defaults as $referenceKey => $value) {
             N2StorageSectionAdmin::set('smartslider', 'default', $referenceKey, $value);
         }
     }
     return true;
 }
예제 #2
0
 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;
     }
 }
예제 #3
0
파일: fonts.php 프로젝트: vicpril/rep_bidqa
 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;
 }
예제 #4
0
 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 '';
 }
예제 #5
0
 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 '';
 }
예제 #6
0
 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;
 }
예제 #7
0
 public function deleteById($id)
 {
     return N2StorageSectionAdmin::deleteById($id);
 }
예제 #8
0
 public static function set($key, $value)
 {
     self::$data->set($key, $value);
     N2StorageSectionAdmin::set('system', 'global', $key, $value, 1, 1);
 }
예제 #9
0
파일: type.php 프로젝트: vicpril/rep_bidqa
 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;
 }
예제 #10
0
파일: export.php 프로젝트: MBerguer/wp-demo
 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());
         }
     }
 }