function fetchElement() { $css = NextendCss::getInstance(); $css->addCssLibraryFile('spectrum.css'); $css->addCssLibraryFile('element/color.css'); $js = NextendJavascript::getInstance(); $js->loadLibrary('jquery'); $js->addLibraryJsAssetsFile('jquery', 'spectrum.js'); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'element/color.js'); $this->_value = $this->_form->get($this->_name, $this->_default); $hidden = new NextendElementText($this->_form, $this->_tab, $this->_xml); $html = "<div class='nextend-color' style='" . NextendXmlGetAttribute($this->_xml, 'style') . "'>"; $hiddenhtml = $hidden->render($this->control_name); $html .= $hiddenhtml[1]; $html .= "</div>"; $alpha = NextendXmlGetAttribute($this->_xml, 'alpha'); if ($alpha != 1) { $alpha = 0; } $js->addLibraryJs('dojo', ' new NextendElementColor({ hidden: "' . $this->_id . '", alpha: ' . $alpha . ' }); '); return $html; }
function NextendTabFontmatrix(&$form, &$xml) { $css = NextendCss::getInstance(); $css->addCssLibraryFile('tabs/fontmatrix.css'); $this->_matrixname = NextendXmlGetAttribute($xml, 'name'); parent::NextendTab($form, $xml); }
function fetchElement() { $this->_values = array(); $css = NextendCss::getInstance(); $css->addCssLibraryFile('element/switcher.css'); $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'element/switcher.js'); $html = ""; $html .= "<div class='nextend-switcher' style='" . NextendXmlGetAttribute($this->_xml, 'style') . "'>"; $html .= "<div class='nextend-switcher-vertical'>"; $html .= "<div class='nextend-switcher-vertical-dot'>"; $html .= "</div>"; $html .= "</div>"; $html .= "<div class='nextend-switcher-units'>"; foreach ($this->_xml->unit as $unit) { $this->_values[] = (string) $unit->attributes()->value; $html .= "<span class='nextend-switcher-units-unit'>"; $html .= NextendText::_((string) $unit); $html .= "</span>"; } $html .= "</div>"; $this->_value = $this->_form->get($this->_name, $this->_default); $hidden = new NextendElementHidden($this->_form, $this->_tab, $this->_xml); $hiddenhtml = $hidden->render($this->control_name, false); $html .= $hiddenhtml[1]; $html .= "</div>"; $js->addLibraryJs('dojo', ' new NextendElementSwitcher({ hidden: "' . $this->_id . '", values: ' . json_encode($this->_values) . ' }); '); return $html; }
function NextendTabDefaultVertical(&$form, &$xml) { $css = NextendCss::getInstance(); $css->addCssLibraryFile('tabs/defaultvertical.css'); $this->_matrixname = NextendXmlGetAttribute($xml, 'name'); parent::NextendTab($form, $xml); }
function fetchElement() { $this->setfolder(); $files = NextendFilesystem::files($this->_folder); $this->_xml->addChild('option', NextendText::_('No_image'))->addAttribute('value', -1); for ($i = 0; $i < count($files); $i++) { $ext = pathinfo($files[$i], PATHINFO_EXTENSION); if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'png') { $this->_xml->addChild('option', htmlspecialchars(ucfirst($files[$i])))->addAttribute('value', NextendFilesystem::toLinux(NextendFilesystem::pathToRelativePath($this->_folder . $files[$i]))); } } if (nextendIsWordPress()) { $wpfolder = get_template_directory() . '/' . NextendXmlGetAttribute($this->_xml, 'folder') . '/'; if (isset($_GET['nextendpath'])) { echo $wpfolder . "<br />"; } if (NextendFilesystem::existsFolder($wpfolder)) { $files = NextendFilesystem::files($wpfolder); for ($i = 0; $i < count($files); $i++) { $ext = pathinfo($files[$i], PATHINFO_EXTENSION); if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'png') { $this->_xml->addChild('option', htmlspecialchars(ucfirst($files[$i])))->addAttribute('value', NextendFilesystem::toLinux(NextendFilesystem::pathToRelativePath($wpfolder . $files[$i]))); } } } } $css = NextendCss::getInstance(); $css->addCssLibraryFile('element/imagelist.css'); $html = "<div class='nextend-imagelist' style='" . NextendXmlGetAttribute($this->_xml, 'style') . "'>"; $html .= parent::fetchElement(); $html .= '</div>'; return $html; }
static function render($slider, $id, $params) { $html = ''; $previous = $params->get('previous', false); $next = $params->get('next', false); $enabled = $previous && $previous != -1 || $next && $next != -1; if ($enabled) { $displayclass = self::getDisplayClass($params->get('widgetarrowdisplay', '0|*|always|*|0|*|0'), true); $css = NextendCss::getInstance(); $css->addCssFile(NextendFilesystem::translateToMediaPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'image' . DIRECTORY_SEPARATOR . 'style.css')); if ($previous && $previous != -1) { list($style, $data) = self::getPosition($params->get('previousposition', '')); $info = pathinfo($previous); $class = 'nextend-arrow-previous nextend-image nextend-image-previous nextend-image-previous-' . basename($previous, '.' . $info['extension']); $html .= '<div onclick="njQuery(\'#' . $id . '\').smartslider(\'previous\');" class="' . $displayclass . $class . '" style="' . $style . '" ' . $data . '></div>'; } if ($next && $next != -1) { list($style, $data) = self::getPosition($params->get('nextposition', '')); $info = pathinfo($next); $class = 'nextend-arrow-next nextend-image nextend-image-next nextend-image-next-' . basename($next, '.' . $info['extension']); $html .= '<div onclick="njQuery(\'#' . $id . '\').smartslider(\'next\');" class="' . $displayclass . $class . '" style="' . $style . '" ' . $data . '></div>'; } } return $html; }
function fetchElement() { $css = NextendCss::getInstance(); $css->addCssLibraryFile('element/subform.css'); $html = "<div class='nextend-subform " . NextendXmlGetAttribute($this->_xml, 'class') . "' style='" . NextendXmlGetAttribute($this->_xml, 'style') . "'>"; $this->_value = $this->_form->get($this->_name, $this->_default); $options = $this->getOptions(); $this->_form->set($this->_name, $this->_value); if (count($options) === 0) { return 'No sub form exists...'; } if (!in_array($this->_form->get($this->_name), $options)) { $this->_form->set($this->_name, $options[0]); $this->_value = $this->_form->get($this->_name, $this->_default); } $this->setOptions($options); $html .= parent::fetchElement(); $name = $this->_name; $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'element/subform.js'); $html .= $this->decorateBefore(); $html .= $this->decorateAfter(); $html .= '</div>'; return $html; }
function getFontUrl() { $css = NextendCss::getInstance(); $url = 'https://fonts.googleapis.com/css?family='; $subset = ''; if (count($this->_fonts)) { foreach ($this->_fonts as $family => $font) { $style = explode(',', $font[0]); $style = array_filter(array_unique($style)); foreach ($style as $k => $s) { $file = NEXTENDLIBRARYASSETS . 'fonts/' . preg_replace("/[^a-z0-9]/", '', strtolower($family)) . '/' . $s . '/s.css'; if (NextendFilesystem::existsFile($file)) { unset($style[$k]); $css->addCssFile($file, null, true); } } if (count($style)) { $url .= urlencode($family) . ':' . implode(',', $style) . '|'; $subset .= $font[1] . ','; } } } if ($url == 'https://fonts.googleapis.com/css?family=') { return ''; } $url = substr($url, 0, -1); $subset = explode(',', $subset); $subset = array_filter(array_unique($subset)); $url .= '&subset=' . implode(',', $subset); return $url; }
function fetchElement() { $css = NextendCss::getInstance(); $css->addCssLibraryFile('element/fontmanager.css'); $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'element/fontmanager.js'); $this->_value = $this->_form->get($this->_name, $this->_default); $hidden = new NextendElementHidden($this->_form, $this->_tab, $this->_xml); $html = ''; $fontmanager = NextendFontmanager::getInstance(); $fontmanager->_currentform = $this->_form; $html .= $fontmanager->render(); $html .= '<a id="nextend-' . $this->_name . '-button" class="nextend-font-button" href="#">Font</a>'; $html .= '<a id="nextend-' . $this->_name . '-button-export" class="nextend-button-css nextend-font-export nextend-element-hastip" title="Export" href="#"></a>'; $html .= '<a id="nextend-' . $this->_name . '-button-import" class="nextend-button-css nextend-font-import nextend-element-hastip" title="Import" href="#"></a>'; $html .= '<div id="nextend-' . $this->_name . '-message" class="nextend-message"></div>'; $html .= "<div class='nextend-fontmanager clearfix'>"; $hiddenhtml = $hidden->render($this->control_name); $html .= $hiddenhtml[1]; $html .= "</div>"; $tabs = explode('|', NextendXmlGetAttribute($this->_xml, 'tabs')); $js->addLibraryJs('dojo', ' new NextendElementFontmanager({ hidden: "' . $this->_id . '", button: "nextend-' . $this->_name . '-button", importbtn: "nextend-' . $this->_name . '-button-import", exportbtn: "nextend-' . $this->_name . '-button-export", message: "nextend-' . $this->_name . '-message", tabs: ' . json_encode($tabs) . ', firsttab: "' . $tabs[0] . '" }); '); return $html; }
static function render($slider, $id, $params) { $html = ''; $indicatorstripe = $params->get('indicatorstripe', false); if ($indicatorstripe && $indicatorstripe != -1) { $displayclass = self::getDisplayClass($params->get('widgetindicatordisplay', '0|*|always|*|0|*|0'), true) . 'nextend-indicator '; $css = NextendCss::getInstance(); $css->addCssFile(NextendFilesystem::translateToMediaPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'stripe' . DIRECTORY_SEPARATOR . 'style.css')); list($style, $data) = self::getPosition($params->get('indicatorposition', '')); $style .= 'z-index:10;'; $width = NextendParse::parse($params->get('indicatorwidth', '100%')); if (is_numeric($width) || $width == 'auto' || substr($width, -1) == '%') { $style .= 'width:' . $width . ';'; } else { $data .= 'data-sswidth="' . $width . '" '; } $size = intval($params->get('indicatorsize', 50)); list($colorhex, $rgbacss) = NextendColor::colorToCss($params->get('indicatorstripecolor', '000000cc')); list($colorhexbg, $rgbacssbg) = NextendColor::colorToCss($params->get('backgroundstripecolor', '7670c7ff')); $height = $params->get('indicatorstripeheight', '6'); $info = pathinfo($indicatorstripe); $class = 'nextend-indicator nextend-indicator-stripe nextend-indicator-stripe-' . basename($indicatorstripe, '.' . $info['extension']); $html = '<div class="' . $displayclass . 'nextend-indicator-stripe-container" style="' . $style . 'background-color:' . $colorhexbg . '; background-color:' . $rgbacssbg . '; height: ' . $height . 'px;" ' . $data . '><div class="' . $class . '" style="width: 0%; background-color:' . $colorhex . '; background-color:' . $rgbacss . '; height: ' . $height . 'px;"></div></div>'; $html .= "\r\n <script type='text/javascript'>\r\n njQuery(document).ready(function () {\r\n var stripe = window.njQuery('#" . $id . " .nextend-indicator-stripe');\r\n window['" . $id . "-indicator'] = {\r\n hide: function(){\r\n stripe.hide();\r\n },\r\n show: function(){\r\n stripe.show();\r\n },\r\n refresh: function(val){\r\n stripe.css('width', val+'%');\r\n }\r\n };\r\n });\r\n </script>\r\n "; } return $html; }
function render($xmlpath, $data) { $css = NextendCss::getInstance(); $js = NextendJavascript::getInstance(); $css->addCssLibraryFile('common.css'); $css->addCssLibraryFile('window.css'); $css->addCssLibraryFile('configurator.css'); $js->loadLibrary('dojo'); nextendimport('nextend.form.form'); $form = new NextendForm(); $form->loadArray($data); $form->loadXMLFile($xmlpath); echo $form->render('settings'); $js->addLibraryJsAssetsFile('dojo', 'form.js'); $js->addLibraryJs('dojo', ' new NextendForm({ container: "smartslider-form", data: ' . json_encode($form->_data) . ', xml: "' . NextendFilesystem::toLinux(NextendFilesystem::pathToRelativePath($xmlpath)) . '", control_name: "settings", url: "' . NextendUri::ajaxUri('nextend', 'smartslider') . '", loadedJSS: ' . json_encode($js->generateArrayJs()) . ', loadedCSS: ' . json_encode($css->generateArrayCSS()) . ' }); ', true); }
function generateOptions(&$xml) { $template = (string) $this->_xml; $cssfile = NextendFilesystem::translateToMediaPath(str_replace(DIRECTORY_SEPARATOR, '/', dirname($this->_form->_xmlfile)) . '/style.'); $css = NextendCss::getInstance(); if (NextendFilesystem::fileexists($cssfile . 'less')) { $css->enableLess(); $cssfile .= 'less'; $css->addCssFile(array($cssfile, $cssfile, array('id' => 'body'))); } else { $cssfile .= 'css'; $css->addCssFile($cssfile); } $prefix = NextendXmlGetAttribute($this->_xml, 'prefix'); $this->_values = array(); $html = ''; foreach ($xml->option as $option) { $v = NextendXmlGetAttribute($option, 'value'); $this->_values[] = $v; if ($v != -1) { $info = pathinfo($v); $class = $prefix . basename($v, '.' . $info['extension']); $html .= ' <div class="nextend-radio-option nextend-imagelist-option' . $this->isSelected($v) . '"> ' . str_Replace('{image}', NextendUri::pathToUri($v), str_Replace('{class}', $class, $template)) . ' </div>'; } else { $html .= '<div class="nextend-radio-option' . $this->isSelected($v) . '">' . (string) $option . '</div>'; } } return $html; }
function serveCSSFile($url) { if ($this->_echo) { parent::serveCSSFile($url); } else { parent::serveCSSFile($url); } }
function fetchElement() { $css = NextendCss::getInstance(); $css->addCssLibraryFile('element/mixed.css'); $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'element/mixed.js'); $this->_translateable = NextendXmlGetAttribute($this->_xml, 'translateable'); $this->_translateable = $this->_translateable === '0' ? false : true; $default = explode($this->_separator, $this->_default); $this->_value = $this->_form->get($this->_name, $this->_default); $value = explode($this->_separator, $this->_value); $value = $value + $default; $html = "<div class='nextend-mixed' style='" . NextendXmlGetAttribute($this->_xml, 'style') . "'>"; $this->_elements = array(); $i = 0; foreach ($this->_xml->param as $element) { $html .= "<div class='nextend-mixed-group' style='" . NextendXmlGetAttribute($element, 'mixedstyle') . "'>"; $type = NextendXmlGetAttribute($element, 'type'); $class = 'NextendElement' . $type; if (!class_exists($class, false)) { if (!nextendimportpath($this->_form->_xmlfolder . 'element/' . $type)) { nextendimport('nextend.form.element.' . $type); } } $element->addAttribute('name', $this->_name . '_' . $i); $element->addAttribute('hidename', 1); if (isset($value[$i])) { $element->addAttribute('default', $value[$i]); } $el = new $class($this->_form, $this, $element); $el->parent =& $this; $elementHtml = $el->render($this->_name . $this->control_name, $this->_translateable); $html .= "<div class='nextend-mixed-label'>"; $html .= $elementHtml[0]; $html .= "</div>"; $html .= "<div class='nextend-mixed-element'>"; $html .= $elementHtml[1]; $html .= "</div>"; $this->_elements[$i] = $el->_id; $i++; $html .= "</div>"; } $this->_form->set($this->_name, $this->_value); $hidden = new NextendElementHidden($this->_form, $this->_tab, $this->_xml); $hiddenhtml = $hidden->render($this->control_name, false); $html .= $hiddenhtml[1]; $html .= "</div>"; $js->addLibraryJs('dojo', ' new NextendElementMixed({ hidden: "' . $this->_id . '", elements: ' . json_encode($this->_elements) . ', separator: "' . $this->_separator . '" }); '); return $html; }
function fetchElement() { $css = NextendCss::getInstance(); $css->addCssLibraryFile('element/fontmanager.css'); $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'element/fontmanager.js'); $this->_value = $this->_form->get($this->_name, $this->_default); if (intval(NextendXmlGetAttribute($this->_xml, 'base64'))) { $this->base64 = 1; $js->addLibraryJsFile('jquery', NEXTENDLIBRARYASSETS . 'js' . DIRECTORY_SEPARATOR . 'base64.js'); $json = json_decode($this->_value); if ($json != null && $json != $this->_value) { $this->_value = base64_encode($this->_value); $this->_form->set($this->_name, $this->_value); } } $hidden = new NextendElementHidden($this->_form, $this->_tab, $this->_xml); $html = ''; $fontmanager = NextendFontmanager::getInstance(); $fontmanager->_currentform = $this->_form; $html .= $fontmanager->render(); $html .= '<a id="nextend-' . $this->_name . '-button" class="nextend-font-button" href="#">' . NextendText::_('Font') . '</a>'; $html .= '<a id="nextend-' . $this->_name . '-button-export" class="nextend-button-css nextend-font-export nextend-element-hastip" title="' . NextendText::_('FONTMANAGER_Export') . '" href="#"></a>'; $html .= '<a id="nextend-' . $this->_name . '-button-import" class="nextend-button-css nextend-font-import nextend-element-hastip" title="' . NextendText::_('FONTMANAGER_Import') . '" href="#"></a>'; $html .= '<div id="nextend-' . $this->_name . '-message" class="nextend-message"></div>'; $html .= "<div class='nextend-fontmanager nextend-clearfix'>"; $hiddenhtml = $hidden->render($this->control_name, false); $html .= $hiddenhtml[1]; $html .= "</div>"; $tabs = explode('|', NextendXmlGetAttribute($this->_xml, 'tabs')); $translatedTabs = array(); for ($i = 0; $i < count($tabs); $i++) { $translatedTabs[$i] = NextendText::_($tabs[$i]); } $this->printjs = ' new NextendElementFontmanager({ hidden: "' . $this->_id . '", button: "nextend-' . $this->_name . '-button", importbtn: "nextend-' . $this->_name . '-button-import", exportbtn: "nextend-' . $this->_name . '-button-export", message: "nextend-' . $this->_name . '-message", tabs: ' . json_encode($tabs) . ', translatedTabs: ' . json_encode($translatedTabs) . ', firsttab: "' . $tabs[0] . '", txt: { importingdone: "' . NextendText::_('FONTMANAGER_Importing_done') . '", youcanimport: "' . NextendText::_('FONTMANAGER_Now_you_can_import_the_settings_of_this_font') . '" }, base64: ' . $this->base64 . ' }); '; if ($this->_includeJS) { $js->addLibraryJs('dojo', $this->printjs); } return $html; }
function render() { if ($this->_form) { return; } $html = ''; $css = NextendCss::getInstance(); $css->addCssLibraryFile('fontmanager.css'); $js = NextendJavascript::getInstance(); nextendimport('nextend.form.form'); $form = new NextendForm(); $form->loadXMLFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'fontmanager' . DIRECTORY_SEPARATOR . 'form.xml'); $this->_form =& $form; $js->addLibraryJsLibraryFile('dojo', 'dojo/window.js'); $js->addLibraryJsAssetsFile('dojo', 'window.js'); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'fontmanager.js'); $id = 'nextend-fontmanager-lightbox-' . md5(time()); $html .= '<div id="' . $id . '" class="gk_hack nextend-window ' . $this->_currentform->get('class', isset($_REQUEST['view']) && $_REQUEST['view'] == 'sliders_settings' ? 'smartslider' : '') . '">'; $html .= '<div class="gk_hack nextend-window-container">'; $html .= '<div class="gk_hack nextend-topbar"><div class="gk_hack nextend-topbar-logo"></div>'; $manual = $this->_currentform->get('manual'); if ($manual != "") { $html .= '<a href="' . $manual . '" target="_blank" class="gk_hack nextend-topbar-button nextend-topbar-manual">' . NextendText::_('Manual') . '</a>'; } $support = $this->_currentform->get('support'); if ($support != "") { $html .= '<a href="' . $support . '" target="_blank" class="gk_hack nextend-topbar-button nextend-topbar-support">' . NextendText::_('Support') . '</a>'; } $html .= '<div id="nextend-fontmanager-save" class="nextend-window-save"><div class="NextendWindowSave">' . NextendText::_('APPLY') . '</div></div>'; $html .= '</div>'; $html .= '<div class="gk_hack nextend-window-container-inner">'; $html .= '<fieldset id="nextend-fontmanager-panels" class="gk_hack panelform">'; $html .= '<div id="nextend-fontmanager-tabs" class="gk_hack"></div>'; $html .= '<div id="nextend-fontmanager-panel" class="gk_hack pane-sliders">'; $html .= '<h3>' . NextendText::_('FONTMANAGER_Font_manager') . '</h3>'; ob_start(); //echo '<form method="post" name="nextend-fontmanager" id="nextend-fontmanager" action="" onsubmit="return false;">'; $form->render('fontmanager'); //echo '</form>'; $html .= ob_get_clean(); $html .= '</div>'; $html .= '<p id="nextend-fontmanager-preview" style="background-color: #d0d0d0;">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>'; $html .= '<div class="fontcolorpickerinput"><div><input id="nextend-fontmanager-backgroundcolor" value="#d0d0d0" name="nextend-fontmanager-backgroundcolor" /></div></div>'; $html .= '<div id="nextend-fontmanager-cleartab" style="float:right;">' . NextendText::_('FONTMANAGER_Clear_this_tab') . '</div>'; $html .= '</fieldset>'; $html .= '</div>'; $html .= '</div>'; $html .= '</div>'; $js->addLibraryJs('dojo', ' new NextendFontmanager({ node: "' . $id . '" }); '); return $html; }
function fetchElement() { global $smartslidercontroller, $ss2sliderafterform; $this->_value = htmlspecialchars($this->_form->get($this->_name, $this->_default), ENT_QUOTES); $this->_form->set($this->_name, $this->_value); $html = '<div style="display:none;">' . parent::fetchElement() . '</div>'; $slider = null; $params = new NextendData(); if (nextendIsJoomla()) { nextendimportsmartslider2('nextend.smartslider.joomla.slider'); $module = new stdClass(); $module->id = 0; $params->loadArray(array('slider' => intval($_GET['sliderid']))); $slider = new NextendSliderJoomla($module, $params, dirname(__FILE__), true); } else { if (nextendIsWordpress()) { nextendimportsmartslider2('nextend.smartslider.wordpress.slider'); $slider = new NextendSliderWordpress(intval($_GET['sliderid']), $params, dirname(__FILE__), true); } else { if (nextendIsMagento()) { nextendimportsmartslider2('nextend.smartslider.magento.slider'); $slider = new NextendSliderMagento(intval($_GET['sliderid']), $params, dirname(__FILE__), true); } } } ob_start(); echo "<div id='smartslider-adjust-height' style='overflow:auto; margin: 5px; padding: 5px;'>"; $slider->render(); echo "</div>"; echo "<div id='smart-slider-layer-dummy' class='smart-slider-layer'></div>"; echo '<div class="smartslider-slide-advanced-layers" style="min-width: 1600px;"></div>'; $ss2sliderafterform = ob_get_clean(); $css = NextendCss::getInstance(); $css->addCssLibraryFile('jqueryui/jquery.ui.resizable.css'); $css->addCssFile(NEXTEND_SMART_SLIDER2_ASSETS . 'admin/css/layer.css'); $js = NextendJavascript::getInstance(); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.core.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.widget.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.mouse.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.resizable.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.draggable.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.sortable.min.js'); $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.droppable.min.js'); $js->addLibraryJsFile('jquery', NEXTENDLIBRARYASSETS . 'js' . DIRECTORY_SEPARATOR . 'base64.js'); $js->addLibraryJsFile('jquery', NEXTENDLIBRARYASSETS . 'js' . DIRECTORY_SEPARATOR . 'sortable.js'); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'console.js'); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.js'); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.layer.js'); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.item.js'); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.layout.js'); $js->addLibraryJs('jquery', "\r\n njQuery(document).ready(function(){\r\n var el = \$('#smartslider-adjust-height');\r\n el.height(el[0].scrollHeight+10);\r\n \$(window).trigger('resize');\r\n });\r\n ndojo.addOnLoad(function(){\r\n SmartSliderAdminSlide('" . $slider->getId() . "','" . $slider->_activeSlide . "','" . $this->_id . "', '" . $smartslidercontroller->route('controller=layouts&action=create') . "');\r\n });\r\n "); if (NextendSmartSliderSettings::get('slideeditoralert', 1)) { $js->addLibraryJs('jquery', "\r\n njQuery(window).on('beforeunload', function() {\r\n if (njQuery.now()-window.nextendtime > 60000 && !window.nextendsave) { // 1 min\r\n return '" . NextendText::_('Your_slide_settings_has_not_been_submitted_yet') . "';\r\n } else {\r\n return;\r\n }\r\n });\r\n "); } return $html; }
function fetchElement() { $css = NextendCss::getInstance(); $css->addCssLibraryFile('element/textarea.css'); $html = ""; $html .= "<div class='nextend-textarea' style='" . NextendXmlGetAttribute($this->_xml, 'style') . "'>"; $html .= "<textarea id='" . $this->_id . "' style='" . NextendXmlGetAttribute($this->_xml, 'style2') . "' name='" . $this->_inputname . "' autocomplete='off'>" . $this->_form->get($this->_name, $this->_default) . "</textarea>"; $html .= "</div>"; return $html; }
function fetchElement() { $css = NextendCss::getInstance(); $css->addCssLibraryFile('calendar.css'); $js = NextendJavascript::getInstance(); $js->addJsAssetsFile('datetimepicker_css.js'); $html = parent::fetchElement(); $html .= '<div class="nextend-calendar" onclick="javascript:NewCssCal(\'' . $this->_id . '\', \'yyyyMMdd\',\'dropdown\',true, 24)"></div>'; return $html; }
function render($control_name) { $css = NextendCss::getInstance(); $css->addCssLibraryFile('form.css'); $this->initTabs(); $this->decorateFormStart(); foreach ($this->_tabs as $tabname => $tab) { $tab->render($control_name); } $this->decorateFormEnd(); }
function addCSS() { parent::addCSS(); $css = NextendCss::getInstance(); end($css->_cssFiles); $last = key($css->_cssFiles); $override = str_replace(WP_PLUGIN_DIR, get_template_directory(), $css->_cssFiles[$last][1]); if (NextendFilesystem::fileexists($override)) { $css->_cssFiles[$last][1] = $override; } }
function fetchElement() { $css = NextendCss::getInstance(); $css->addCssLibraryFile('element/gradient.css'); $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'element/gradient.js'); $this->_value = $this->_form->get($this->_name, $this->_default); $gradient = explode('-', $this->_value); $this->validate($gradient); $html = "<div class='nextend-gradient' style='" . NextendXmlGetAttribute($this->_xml, 'style') . "'>"; $html .= "<table><tr>"; $html .= "<td class='nextend-gradient-onoff'>"; $attr = $this->_xml->attributes(); $onoffXml = new SimpleXMLElement('<param type="onoff" default="' . $gradient[0] . '" name="' . $attr->name . '_onoff' . '" />'); $onoff = new NextendElementOnoff($this->_form, $this->_tab, $onoffXml); $onoffHtml = $onoff->render($this->control_name, false); $html .= $onoffHtml[1]; $html .= "</td>"; $html .= "<td class='nextend-gradient-start'>"; $startColorXml = new SimpleXMLElement('<param type="color" default="' . $gradient[1] . '" name="' . $attr->name . '_start' . '" />'); $startColor = new NextendElementColor($this->_form, $this->_tab, $startColorXml); $startColorHtml = $startColor->render($this->control_name, false); $html .= $startColorHtml[1]; $html .= "</td>"; $html .= "<td class='nextend-grandient-bg'>"; $html .= "</td>"; $html .= "<td class='nextend-gradient-end'>"; $endColorXml = new SimpleXMLElement('<param type="color" default="' . $gradient[2] . '" name="' . $attr->name . '_end' . '" />'); $endColor = new NextendElementColor($this->_form, $this->_tab, $endColorXml); $endColorHtml = $endColor->render($this->control_name, false); $html .= $endColorHtml[1]; $html .= "</td>"; $html .= "</tr></table>"; $hidden = new NextendElementHidden($this->_form, $this->_tab, $this->_xml); $hiddenhtml = $hidden->render($this->control_name, false); $html .= $hiddenhtml[1]; $html .= "</div>"; $alpha = NextendXmlGetAttribute($this->_xml, 'alpha'); if ($alpha != 1) { $alpha = 0; } $js->addLibraryJs('dojo', ' new NextendElementGradient({ hidden: "' . $this->_id . '", onoff: "' . $onoff->_id . '", start: "' . $startColor->_id . '", end: "' . $endColor->_id . '", value: "' . $this->_value . '" }); '); return $html; }
function nextend_generate() { global $nextend_head; ob_start(); if (class_exists('NextendCss', false) || class_exists('NextendJavascript', false)) { $css = NextendCss::getInstance(); $css->generateCSS(); $js = NextendJavascript::getInstance(); $js->generateJs(); } $nextend_head = ob_get_clean(); return true; }
static function render($slider, $id, $params) { $html = ''; $thumbnail = $params->get('thumbnail', false); if ($thumbnail && $thumbnail != '-1') { $displayclass = self::getDisplayClass($params->get('widgetthumbnaildisplay', '0|*|always|*|0|*|0'), true); $css = NextendCss::getInstance(); $css->addCssFile(NextendFilesystem::translateToMediaPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'horizontal' . DIRECTORY_SEPARATOR . 'style.css')); $js = NextendJavascript::getInstance(); $js->addLibraryJsFile('jquery', dirname(__FILE__) . '/horizontal/script.js'); list($colorhexthumbnailactivebackground, $rgbacssthumbnailactivebackground) = NextendColor::colorToCss($params->get('thumbnailactivebackground', '00000080')); $info = pathinfo($thumbnail); $class = 'nextend-thumbnail nextend-thumbnail-horizontal nextend-thumbnail-horizontal-' . basename($thumbnail, '.' . $info['extension']); $style = ''; $thumbnailsize = NextendParse::parse($params->get('thumbnailsize', '100|*|54')); $thumbnailperpage = $params->get('thumbnailperpage', 2); $style .= 'width:' . $thumbnailsize[0] . 'px; height:' . $thumbnailsize[1] . 'px;'; list($positionstyle, $data) = self::getPosition($params->get('thumbnailposition', '')); $positionstyle .= 'z-index:10; width: 100%;'; $html .= '<div id="' . $id . '-thumbnail" class="' . $displayclass . '" style="' . $positionstyle . '" ' . $data . '>'; $html .= '<div class="nextend-thumbnail-container ' . $class . ' nextend-clearfix"> <div class="nextend-arrow-left" style="height:' . $thumbnailsize[1] . 'px"></div>'; $html .= '<div class="nextend-thumbnail-strip-hider"><div class="nextend-thumbnail-strip">'; for ($i = 0; $i < count($slider->_slides); $i++) { if (!$slider->_slides[$i]['thumbnail'] && $slider->_slides[$i]['bg']['desktop']) { $im = new NextendImage(); $slider->_slides[$i]['thumbnail'] = $im->resizeImage($slider->_slides[$i]['bg']['desktop'], $thumbnailsize[0], $thumbnailsize[1]); } $html .= '<div onclick="njQuery(\'#' . $id . '\').smartslider(\'goto\',' . $i . ',false);" class="' . $class . ($slider->_slides[$i]['first'] ? ' active' : '') . '" style="' . $style . 'background-image: url(\'' . $slider->_slides[$i]['thumbnail'] . '\')"></div>'; } $html .= '</div></div>'; $html .= '<div class="nextend-arrow-right" style="height:' . $thumbnailsize[1] . 'px"></div> </div> <style> .nextend-thumbnail-container.nextend-thumbnail-horizontal-horizontal1 .nextend-thumbnail:HOVER, .nextend-thumbnail-container.nextend-thumbnail-horizontal-horizontal1 .nextend-thumbnail.active{ box-shadow: inset 0 0 0 6px ' . $rgbacssthumbnailactivebackground . '; } .nextend-thumbnail-container.nextend-thumbnail-horizontal-horizontal-dark .nextend-thumbnail:HOVER, .nextend-thumbnail-container.nextend-thumbnail-horizontal-horizontal-dark .nextend-thumbnail.active{ box-shadow: 0 0 3px 1px RGBA(0,0,0,0.6), 0 0 0 6px ' . $rgbacssthumbnailactivebackground . ' inset; } </style> '; $html .= '</div>'; $html .= "\r\n <script type='text/javascript'>\r\n njQuery(document).ready(function () {\r\n window['" . $id . "-thumbnail'] = new smartSliderHorizontal({\r\n id: '" . $id . "',\r\n node: window.njQuery('#" . $id . "-thumbnail'),\r\n thumbnailperpage: '" . $thumbnailperpage . "',\r\n thumbnailanimation: '" . $params->get('thumbnailanimation', 700) . "'\r\n });\r\n });\r\n </script>\r\n "; } return $html; }
function serveCSS($clear = true) { if ($this->_css != '') { if ($this->_echo) { parent::serveCSS($clear); } else { $document = JFactory::getDocument(); $document->addStyleDeclaration($this->_css); if ($clear) { $this->_css = ''; } } } }
static function render($slider, $id, $params) { $html = ''; $thumbnail = $params->get('thumbnail', false); if ($thumbnail && $thumbnail != '-1') { $displayclass = self::getDisplayClass($params->get('widgetthumbnaildisplay', '0|*|always|*|0|*|0'), true); $css = NextendCss::getInstance(); $css->addCssFile(NextendFilesystem::translateToMediaPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'gallery' . DIRECTORY_SEPARATOR . 'style.css')); $js = NextendJavascript::getInstance(); $js->addLibraryJsFile('jquery', dirname(__FILE__) . '/gallery/script.js'); $info = pathinfo($thumbnail); $class = 'nextend-thumbnail nextend-thumbnail-gallery nextend-thumbnail-gallery-' . basename($thumbnail, '.' . $info['extension']); $style = ''; $thumbnailsize = NextendParse::parse($params->get('thumbnailgallerysize', '100|*|54')); $thumbnailperpage = $params->get('thumbnailperpage', 2); $style .= 'width:' . $thumbnailsize[0] . 'px; height:' . $thumbnailsize[1] . 'px;'; list($positionstyle, $data) = self::getPosition($params->get('thumbnailgalleryposition', '')); $positionstyle .= 'z-index:10;'; $thumbnailgalleryoutersize = NextendParse::parse($params->get('thumbnailgalleryoutersize', '100%|*|auto')); if (is_numeric($thumbnailgalleryoutersize[0]) || $thumbnailgalleryoutersize[0] == 'auto' || substr($thumbnailgalleryoutersize[0], -1) == '%') { $positionstyle .= 'width:' . $thumbnailgalleryoutersize[0] . ';'; } else { $data .= 'data-sswidth="' . $thumbnailgalleryoutersize[0] . '" '; } if (is_numeric($thumbnailgalleryoutersize[1]) || $thumbnailgalleryoutersize[1] == 'auto' || substr($thumbnailgalleryoutersize[1], -1) == '%') { $positionstyle .= 'height:' . $thumbnailgalleryoutersize[1] . ';'; } else { $data .= 'data-ssheight="' . $thumbnailgalleryoutersize[1] . '" '; } list($colorhexthumbnailgallerybackground, $rgbacssthumbnailgallerybackground) = NextendColor::colorToCss($params->get('thumbnailgallerybackground', 'eeeeeefff')); $positionstyle .= 'background: #' . $colorhexthumbnailgallerybackground . '; background: ' . $rgbacssthumbnailgallerybackground . ';'; $br = NextendParse::parse($params->get('thumbnailgalleryborderradius', '0|*|0|*|0|*|0')); $positionstyle .= 'border-radius: ' . $br[0] . 'px ' . $br[1] . 'px ' . $br[2] . 'px ' . $br[3] . 'px; overflow: auto;'; $html .= '<div id="' . $id . '-thumbnail" class="' . $displayclass . '" style="opacity: 0.9999; ' . $positionstyle . '" ' . $data . '>'; $p = NextendParse::parse($params->get('thumbnailgallerypadding', '5|*|5|*|5|*|5')); $html .= '<div class="nextend-thumbnail-container ' . $class . '" style="padding: ' . $p[0] . 'px ' . $p[1] . 'px ' . $p[2] . 'px ' . $p[3] . 'px;">'; $m = NextendParse::parse($params->get('thumbnailgallerymargin', '0|*|1|*|1|*|0')); for ($i = 0; $i < count($slider->_slides); $i++) { if (!$slider->_slides[$i]['thumbnail'] && $slider->_slides[$i]['bg']) { $im = new NextendImage(); $slider->_slides[$i]['thumbnail'] = $im->resizeImage($slider->_slides[$i]['bg'], $thumbnailsize[0], $thumbnailsize[1]); } $html .= '<div onclick="njQuery(\'#' . $id . '\').smartslider(\'goto\',' . $i . ',false);" class="' . $class . ($slider->_slides[$i]['first'] ? ' active' : '') . '" style="' . $style . 'background-image: url(\'' . $slider->_slides[$i]['thumbnail'] . '\'); margin: ' . $m[0] . 'px ' . $m[1] . 'px ' . $m[2] . 'px ' . $m[3] . 'px;"></div>'; } $html .= '</div></div>'; $html .= "\r\n <script type='text/javascript'>\r\n njQuery(document).ready(function () {\r\n window['" . $id . "-thumbnail'] = new smartSliderGallery({\r\n id: '" . $id . "',\r\n node: window.njQuery('#" . $id . "-thumbnail')\r\n });\r\n });\r\n </script>\r\n "; } return $html; }
function fetchElement() { $bold = $this->_xml->addChild('option', 'Bold'); $bold->addAttribute('value', 'bold'); $italic = $this->_xml->addChild('option', 'Italic'); $italic->addAttribute('value', 'italic'); $underline = $this->_xml->addChild('option', 'Underline'); $underline->addAttribute('value', 'underline'); $html = "<div class='nextend-decoration' style='" . NextendXmlGetAttribute($this->_xml, 'style') . "'>"; $html .= parent::fetchElement(); $html .= '</div>'; $css = NextendCss::getInstance(); $css->addCssLibraryFile('element/decoration.css'); return $html; }
static function render($slider, $id, $params) { $html = ''; $autoplayimage = $params->get('autoplayimage', false); if ($autoplayimage && $autoplayimage != -1) { $displayclass = self::getDisplayClass($params->get('widgetautoplaydisplay', '0|*|always|*|0|*|0'), true); $css = NextendCss::getInstance(); $css->addCssFile(NextendFilesystem::translateToMediaPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'image' . DIRECTORY_SEPARATOR . 'style.css')); list($style, $data) = self::getPosition($params->get('autoplayimageposition', '')); $info = pathinfo($autoplayimage); $class = 'nextend-autoplay-button nextend-autoplay-image nextend-autoplay-' . basename($autoplayimage, '.' . $info['extension']); $html .= '<div onclick="njQuery(this).hasClass(\'paused\') ? njQuery(\'#' . $id . '\').smartslider(\'startautoplay\') : njQuery(\'#' . $id . '\').smartslider(\'pauseautoplay\');" class="' . $displayclass . $class . '" style="' . $style . '" ' . $data . '></div>'; } return $html; }
function renderForm($data = array()) { $css = NextendCss::getInstance(); $js = NextendJavascript::getInstance(); $css->addCssLibraryFile('common.css'); $css->addCssLibraryFile('window.css'); $css->addCssLibraryFile('configurator.css'); $configurationXmlFile = dirname(__FILE__) . '/forms/layer.xml'; $js->loadLibrary('dojo'); nextendimport('nextend.form.form'); $form = new NextendForm(); $form->loadArray($data); $form->loadXMLFile($configurationXmlFile); echo $form->render('layer'); }
static function render($slider, $id, $params) { $html = ''; $barcolored = $params->get('barcolored', false); if ($barcolored && $barcolored != -1) { $displayclass = self::getDisplayClass($params->get('widgetbardisplay', '0|*|always|*|0|*|0'), true); list($colorhex, $rgbacss) = NextendColor::colorToCss($params->get('barbackground', '00000080')); $css = NextendCss::getInstance(); $css->enableLess(); $cssfile = NextendFilesystem::translateToMediaPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'colored' . DIRECTORY_SEPARATOR . 'style.less'); $css->addCssFile(array($cssfile, $cssfile, array('id' => '~"#' . $id . '"')), $id); list($style, $data) = self::getPosition($params->get('barcoloredposition', '')); $style .= 'background-color:' . $rgbacss . ';'; $width = NextendParse::parse($params->get('barcoloredwidth', '20')); if (is_numeric($width)) { $style .= 'width:' . $width . '%;'; } else { $data .= 'data-sswidth="' . $width . '" '; } /*$height = NextendParse::parse($params->get('barcoloredheight', '100')); if(is_numeric($height)){ $style.= 'height:'.$height.'px;'; }else{ $data.= 'data-ssheight="'.$height.'" '; } $style .= 'font-size: '.intval($slider->_sliderParams->get('globalfontsize', '12')).'px;'; */ $style .= 'padding: ' . NextendParse::parse($params->get('barcoloredpadding', '0')) . '% 0;'; $borderradius = NextendParse::parse($params->get('barcoloredborderradius', '0|*|0|*|0|*|0')); $style .= '-webkit-border-radius: ' . $borderradius[0] . 'px ' . $borderradius[1] . 'px ' . $borderradius[2] . 'px ' . $borderradius[3] . 'px;'; $style .= '-moz-border-radius: ' . $borderradius[0] . 'px ' . $borderradius[1] . 'px ' . $borderradius[2] . 'px ' . $borderradius[3] . 'px;'; $style .= 'border-radius: ' . $borderradius[0] . 'px ' . $borderradius[1] . 'px ' . $borderradius[2] . 'px ' . $borderradius[3] . 'px;'; $info = pathinfo($barcolored); $class = 'nextend-bar nextend-bar-c nextend-bar-c-' . basename($barcolored, '.' . $info['extension']); $html .= '<div class="' . $displayclass . $class . '" style="' . $style . '" ' . $data . '>'; for ($i = 0; $i < count($slider->_slides); $i++) { $html .= '<div class="nextend-bar-slide ' . ($slider->_slides[$i]['first'] ? ' active' : '') . '">'; $html .= '<h6 class="' . $params->get('barcoloredtitlefont', '') . '">' . $slider->_slides[$i]['title'] . '</h6>'; if ($slider->_slides[$i]['description']) { $html .= '<p class="' . $params->get('barcoloreddescriptionfont', '') . '">' . $slider->_slides[$i]['description'] . '</p>'; } $html .= '<div style="clear: both;"></div></div>'; } $html .= '</div>'; } return $html; }