public static function backend($force = false) { static $once; if ($once != null && !$force) { return; } $once = true; $family = n2_x('Montserrat', 'Default Google font family for admin'); foreach (explode(',', n2_x('latin', 'Default Google font charset for admin')) as $subset) { N2GoogleFonts::addSubset($subset); } N2GoogleFonts::addFont($family); N2CSS::addInline('.n2,html[dir="rtl"] .n2,.n2 td,.n2 th,.n2 select, .n2 textarea, .n2 input{font-family: "' . $family . '", Arial, sans-serif;}'); N2CSS::addFiles(N2LIBRARYASSETS . "/css", array('nextend-font.css', 'font.css', 'admin.css', 'form.css', 'notificationcenter.css', 'spectrum.css', 'contextMenu.css'), 'nextend-backend'); foreach (glob(N2LIBRARYASSETS . "/css/tabs/*.css") as $file) { N2CSS::addFile($file, 'nextend-backend'); } foreach (glob(N2LIBRARYASSETS . "/css/jquery/*.css") as $file) { N2CSS::addFile($file, 'nextend-backend'); } N2JS::addFiles(N2LIBRARYASSETS . "/js", array('json2.js', 'admin.js', 'color.js', 'query-string.js', 'md5.js', 'css.js', 'imagehelper.js', 'modal.js', 'notificationcenter.js', 'spectrum.js', 'expert.js'), 'nextend-backend'); N2Localization::addJS(array('Cancel', 'Delete', 'Delete and never show again', 'Are you sure you want to delete?', 'Documentation')); self::form($force); N2JS::addFiles(N2LIBRARYASSETS . "/js/core/jquery", array("fixto.js", "jstorage.js", "jquery.datetimepicker.js", "jquery.tinyscrollbar.min.js", "jquery.unique-element-id.js", "vertical-pane.js"), "nextend-backend"); wp_enqueue_script('nextend-ui', N2Uri::pathToUri(N2LIBRARYASSETS . "/js/core/jquery/ui/jquery-ui.nextend.js"), array('jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-autocomplete', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-resizable', 'jquery-ui-sortable', 'jquery-ui-slider'), '1.0', 1); wp_enqueue_script('nextend-ui-iframe-transport', N2Uri::pathToUri(N2LIBRARYASSETS . "/js/core/jquery/ui/jquery.iframe-transport.js"), array('jquery-ui-core', 'jquery-ui-widget'), '1.0', 1); wp_enqueue_script('nextend-ui-fileupload', N2Uri::pathToUri(N2LIBRARYASSETS . "/js/core/jquery/ui/jquery.fileupload.js"), array('jquery-ui-core', 'jquery-ui-widget'), '1.0', 1); N2JS::addFiles(N2LIBRARYASSETS . "/js/core/jquery/ui", array('jquery.contextMenu.js'), "nextend-backend"); N2Base::getApplication('system')->info->assetsBackend(); N2JS::addFirstCode("NextendAjaxHelper.addAjaxArray(" . json_encode(N2Form::tokenizeUrl()) . ");"); N2Plugin::callPlugin('fontservices', 'onFontManagerLoadBackend'); }
public function assetsBackend() { static $once; if ($once != null) { return; } $once = true; $path = $this->getAssetsPath(); N2CSS::addInline('.n2-expert {display: none !important;'); N2CSS::addFile($path . "/admin/css/smartslider.css", 'smartslider-backend'); foreach (glob($path . "/admin/js/*.js") as $file) { N2JS::addFile($file, 'smartslider-backend'); } if (!N2Base::getApplication('smartslider')->storage->get('free', 'rated')) { N2JS::addFile($path . "/admin/js/free/gopro.js", 'smartslider-free'); } foreach (glob($path . "/admin/js/element/*.js") as $file) { N2JS::addFile($file, 'smartslider-backend'); } N2Localization::addJS(array('Insert', 'Insert variable', 'Choose the group', 'Choose the variable', 'Result', 'Filter', 'No', 'Clean HTML', 'Remove HTML', 'Split', 'Chars', 'Words', 'Start', 'Length', 'Find image', 'Index', 'Find link', 'Index')); foreach (glob($path . "/admin/js/generator/*.js") as $file) { N2JS::addFile($file, 'smartslider-backend'); } foreach (glob($path . "/admin/js/item/*.js") as $file) { N2JS::addFile($file, 'smartslider-backend'); } foreach (glob($path . "/admin/js/item/parser/*.js") as $file) { N2JS::addFile($file, 'smartslider-backend'); } foreach (glob($path . "/admin/js/layer/*.js") as $file) { N2JS::addFile($file, 'smartslider-backend'); } N2Form::$documentation = 'http://doc.smartslider3.com/'; }
/** * @param $slider N2SmartSliderAbstract * @param $id * @param $params * * @return string */ static function render($slider, $id, $params) { N2CSS::addFile(N2Filesystem::translate(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'horizontal' . DIRECTORY_SEPARATOR . 'style.css'), $id); N2JS::addFile(N2Filesystem::translate(dirname(__FILE__) . '/horizontal/bar.js'), $id); list($displayClass, $displayAttributes) = self::getDisplayAttributes($params, self::$key); $styleClass = N2StyleRenderer::render($params->get(self::$key . 'style'), 'simple', $slider->elementId, 'div#' . $slider->elementId . ' '); $fontTitle = N2FontRenderer::render($params->get(self::$key . 'font-title'), 'simple', $slider->elementId, 'div#' . $slider->elementId . ' ', $slider->fontSize); $fontDescription = N2FontRenderer::render($params->get(self::$key . 'font-description'), 'simple', $slider->elementId, 'div#' . $slider->elementId . ' ', $slider->fontSize); list($style, $attributes) = self::getPosition($params, self::$key); $attributes['data-offset'] = $params->get(self::$key . 'position-offset'); $style .= 'text-align: ' . $params->get(self::$key . 'align') . ';'; $width = $params->get(self::$key . 'width'); if (is_numeric($width) || substr($width, -1) == '%' || substr($width, -2) == 'px') { $style .= 'width:' . $width . ';'; } else { $attributes['data-sswidth'] = $width; } $innerStyle = ''; if (!$params->get(self::$key . 'full-width')) { $innerStyle = 'display: inline-block;'; } $separator = $params->get(self::$key . 'separator'); $showDescription = intval($params->get(self::$key . 'show-description')); $slides = array(); for ($i = 0; $i < count($slider->slides); $i++) { $slides[$i] = N2Html::tag('span', array('class' => $fontTitle), $slider->slides[$i]->getTitle()); $description = $slider->slides[$i]->getDescription(); if ($showDescription && !empty($description)) { $slides[$i] .= N2Html::tag('span', array('class' => $fontDescription), $separator . $description); } } $parameters = array('overlay' => $params->get(self::$key . 'position-mode') != 'simple' || $params->get(self::$key . 'overlay'), 'area' => intval($params->get(self::$key . 'position-area')), 'animate' => intval($params->get(self::$key . 'animate'))); N2JS::addInline('new NextendSmartSliderWidgetBarHorizontal("' . $id . '", ' . json_encode($slides) . ', ' . json_encode($parameters) . ');'); return N2Html::tag("div", $displayAttributes + $attributes + array("class" => $displayClass . "nextend-bar nextend-bar-horizontal", "style" => $style), N2Html::tag("div", array("class" => $styleClass, "style" => $innerStyle), $slides[$slider->_activeSlide])); }
static function render($slider, $id, $params) { $html = ''; $play = $params->get(self::$key . 'play-image'); $playColor = $params->get(self::$key . 'play-color'); if (empty($play)) { $play = $params->get(self::$key . 'play'); if ($play == -1) { $play = null; } elseif ($play[0] != '$') { $play = N2Uri::pathToUri(dirname(__FILE__) . '/image/play/' . $play); } } if ($params->get(self::$key . 'mirror')) { $pause = str_replace('image/play/', 'image/pause/', $play); $pauseColor = $playColor; } else { $pause = $params->get(self::$key . 'pause-image'); $pauseColor = $params->get(self::$key . 'pause-color'); if (empty($pause)) { $pause = $params->get(self::$key . 'pause'); if ($pause == -1) { $pause = null; } elseif ($pause[0] != '$') { $pause = N2Uri::pathToUri(dirname(__FILE__) . '/image/pause/' . $pause); } } } $ext = pathinfo($play, PATHINFO_EXTENSION); if (substr($play, 0, 1) == '$' && $ext == 'svg') { list($color, $opacity) = N2Color::colorToSVG($playColor); $play = 'data:image/svg+xml;base64,' . base64_encode(str_replace(array('fill="#FFF"', 'opacity="1"'), array('fill="#' . $color . '"', 'opacity="' . $opacity . '"'), N2Filesystem::readFile(N2ImageHelper::fixed($play, true)))); } else { $play = N2ImageHelper::fixed($play); } $ext = pathinfo($pause, PATHINFO_EXTENSION); if (substr($pause, 0, 1) == '$' && $ext == 'svg') { list($color, $opacity) = N2Color::colorToSVG($pauseColor); $pause = 'data:image/svg+xml;base64,' . base64_encode(str_replace(array('fill="#FFF"', 'opacity="1"'), array('fill="#' . $color . '"', 'opacity="' . $opacity . '"'), N2Filesystem::readFile(N2ImageHelper::fixed($pause, true)))); } else { $pause = N2ImageHelper::fixed($pause); } if ($play && $pause) { N2CSS::addFile(N2Filesystem::translate(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'image' . DIRECTORY_SEPARATOR . 'style.css'), $id); N2JS::addFile(N2Filesystem::translate(dirname(__FILE__) . '/image/autoplay.js'), $id); list($displayClass, $displayAttributes) = self::getDisplayAttributes($params, self::$key); $styleClass = N2StyleRenderer::render($params->get(self::$key . 'style'), 'heading', $slider->elementId, 'div#' . $slider->elementId . ' '); list($style, $attributes) = self::getPosition($params, self::$key); N2JS::addInline('new NextendSmartSliderWidgetAutoplayImage("' . $id . '", ' . floatval($params->get(self::$key . 'responsive-desktop')) . ', ' . floatval($params->get(self::$key . 'responsive-tablet')) . ', ' . floatval($params->get(self::$key . 'responsive-mobile')) . ');'); $html = N2Html::tag('div', $displayAttributes + $attributes + array('class' => $displayClass . $styleClass . 'nextend-autoplay nextend-autoplay-image', 'style' => $style), N2Html::image($play, '', array('class' => 'nextend-autoplay-play n2-ow')) . N2Html::image($pause, '', array('class' => 'nextend-autoplay-pause n2-ow'))); } return $html; }
public static function build() { foreach (N2AssetsManager::$less->getFiles() as $group => $file) { N2CSS::addFile($file, $group); } }
/** * @param $slider N2SmartSliderAbstract * @param $id * @param $params * * @return string */ static function render($slider, $id, $params) { N2JS::addFile(N2Filesystem::translate(dirname(__FILE__) . '/transition/bullet.js'), $id); N2CSS::addFile(N2Filesystem::translate(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'transition' . DIRECTORY_SEPARATOR . 'style.css'), $id); list($displayClass, $displayAttributes) = self::getDisplayAttributes($params, self::$key); $bulletStyle = N2StyleRenderer::render($params->get(self::$key . 'style'), 'dot', $slider->elementId, 'div#' . $slider->elementId . ' '); $barStyle = N2StyleRenderer::render($params->get(self::$key . 'bar'), 'simple', $slider->elementId, 'div#' . $slider->elementId . ' '); list($style, $attributes) = self::getPosition($params, self::$key); $attributes['data-offset'] = $params->get(self::$key . 'position-offset', 0); $dots = array(); $i = 1; foreach ($slider->slides as $slide) { $dots[] = N2Html::tag('div', array('class' => $bulletStyle . ($slide->isActive() ? 'n2-active' : '')), ''); $i++; } $orientation = self::getOrientationByPosition($params->get(self::$key . 'position-mode'), $params->get(self::$key . 'position-area'), $params->get(self::$key . 'orientation')); if ($orientation == 'auto') { $orientation = 'horizontal'; } $html = ''; switch ($orientation) { case 'vertical': $html .= implode('<br>', $dots); break; default: $html .= implode('', $dots); } $parameters = array('overlay' => $params->get(self::$key . 'position-mode') != 'simple' || $params->get(self::$key . 'overlay'), 'area' => intval($params->get(self::$key . 'position-area'))); $thumbnails = array(); if ($params->get(self::$key . 'thumbnail-show-image')) { foreach ($slider->slides as $slide) { $thumbnails[] = $slide->getThumbnail(); } $parameters['thumbnailWidth'] = intval($params->get(self::$key . 'thumbnail-width')); $parameters['thumbnailHeight'] = intval($params->get(self::$key . 'thumbnail-height')); $parameters['thumbnailStyle'] = N2StyleRenderer::render($params->get(self::$key . 'thumbnail-style'), 'simple', $slider->elementId, ''); $side = $params->get(self::$key . 'thumbnail-side'); if ($side == 'before') { if ($orientation == 'vertical') { $position = 'left'; } else { $position = 'top'; } } else { if ($orientation == 'vertical') { $position = 'right'; } else { $position = 'bottom'; } } $parameters['thumbnailPosition'] = $position; } $parameters['thumbnails'] = $thumbnails; $parameters['action'] = $params->get(self::$key . 'action'); $parameters['numeric'] = 0; N2JS::addInline('new NextendSmartSliderWidgetBulletTransition("' . $id . '", ' . json_encode($parameters) . ');'); $fullSize = intval($params->get(self::$key . 'bar-full-size')); if ($fullSize) { $displayClass .= "n2-bullet-bar-full-size "; } return N2Html::tag("div", $displayAttributes + $attributes + array("class" => $displayClass . $barStyle . "nextend-bullet-bar nextend-bullet-bar-" . $orientation, "style" => "text-align: " . $params->get(self::$key . 'align') . ";" . $style), $html); }