function initAdmin() { $js = NextendJavascript::getInstance(); $js->addLibraryJs('jquery', ' window.selectText = function(element) { var doc = document; if (doc.body.createTextRange) { // ms var range = doc.body.createTextRange(); range.moveToElementText(element); range.select(); } else if (window.getSelection) { // moz, opera, webkit var selection = window.getSelection(); var range = doc.createRange(); range.selectNodeContents(element); selection.removeAllRanges(); selection.addRange(range); } } $("#generatorvariables").html("' . str_replace('"', '\\"', $this->generateList()) . '"); $("#generatorvariables .nextend-variables > span").qtip({ position: { my: "bottom center", at: "top center" } }); '); }
function fetchElement() { $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'element/list.js'); $this->_value = $this->_form->get($this->_name, $this->_default); $this->_values = explode('||', $this->_value); if (!is_array($this->_values)) { $this->_values = array(); } $this->_multiple = intval(NextendXmlGetAttribute($this->_xml, 'multiple')); $this->_translateable = intval(NextendXmlGetAttribute($this->_xml, 'translateable')); $size = NextendXmlGetAttribute($this->_xml, 'size'); if ($size != '') { $size = " size='" . $size . "'"; } $html = "<div class='nextend-list' style='" . NextendXmlGetAttribute($this->_xml, 'style') . "'>"; $html .= "<select id='" . $this->_id . "_select' class='nextend-select' name='select" . $this->_inputname . "' " . $size . $this->isMultiple() . " style='font-family:Arial !important;' autocomplete='off'>"; $html .= $this->generateOptions($this->_xml); if ($this->_xml->optgroup) { $html .= $this->generateOptgroup($this->_xml); } $html .= "</select>"; $html .= "</div>"; $html .= parent::fetchElement(); $js->addLibraryJs('dojo', ' new NextendElementList({ hidden: "' . $this->_id . '", multiple: ' . $this->_multiple . ', value: "' . $this->_value . '" }); '); return $html; }
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 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 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 fetchElement() { $v = (array) NextendParse::parse($this->parent->_value); $_REQUEST['fbpage'] = $v[0]; $this->_xml->addChild('option', 'Please choose')->addAttribute('value', 0); $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsFile('dojo', dirname(__FILE__) . '/facebookalbumsbypage.js'); $js->addLibraryJs('dojo', ' new NextendElementFacebookAlbumsbyPage({ val: "' . $v[0] . '", hidden: "' . $this->parent->_id . '", listhidden: "' . $this->_id . '", group: "nextendslidergenerator", method: "onNextendFacebookPageAlbums" }); '); ob_start(); $list = null; NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendFacebookPageAlbums', array(&$list)); if ($list) { ob_end_clean(); if (count($list)) { foreach ($list as $id => $name) { $this->_xml->addChild('option', htmlentities($name))->addAttribute('value', $id); } } } $this->_value = $this->_form->get($this->_name, $this->_default); $html = parent::fetchElement(); if (!$list) { $html .= ob_get_clean(); } 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); $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; }
function render($control_name) { $this->initTabs(); $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('jquery', 'tab/tabbed.js'); $count = count($this->_tabs); $id = 'nextend-tabbed-' . $this->_name; $active = intval(NextendXmlGetAttribute($this->_xml, 'active')); $active = $active > 0 ? $active - 1 : 0; $js->addLibraryJs('jquery', "new nextendTabTabbed('" . $id . "-container', " . $active . ")"); echo "<div id='" . $id . "-container' class='nextend-tab nextend-tab-tabbed nextend-clearfix'>"; echo '<div class="smartslider-greybar smartslider-button-grey">'; $i = 0; foreach ($this->_tabs as $tabname => $tab) { echo '<div class="smartslider-toolbar-options smartslider-button-grey' . ($i == $active ? ' active' : '') . ($i == 0 ? ' first' : '') . ($i == $count - 1 ? ' last' : '') . '"><div>' . NextendText::_(NextendXmlGetAttribute($tab->_xml, 'label')) . '</div></div>'; $i++; } echo '</div>'; echo "<div id='" . $id . "' class='nextend-tab-tabbed-panes nextend-clearfix' style='width: " . $count * 100 . "%; margin-left: " . -$active * 100 . "%;'>"; $i = 0; foreach ($this->_tabs as $tabname => $tab) { echo "<div class='nextend-tab-tabbed-pane' style='width: " . 100 / $count . "%; visibility: " . ($i == $active ? 'visible' : 'hidden') . ";'>"; $tab->render($control_name); echo "</div>"; $i++; } echo "</div>"; echo "</div>"; }
function generateJs() { $js = NextendJavascript::getInstance(); if (count($this->_jsFiles)) { foreach ($this->_jsFiles as $file) { $js->addJsFile($file); } } }
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 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 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 serveJs($clear = true) { $js = NextendJavascript::getInstance(); $inline = '(function(dojo){ '; $inline .= 'dojo.addOnLoad(function(){'; $inline .= $this->_js; $inline .= '});'; $inline .= ' })(ndojo);'; $js->addJs($inline); }
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 serveJs($clear = true) { $js = NextendJavascript::getInstance(); $inline = '(function($){ '; $inline .= '$(document).ready(function() {'; $inline .= $this->_js; $inline .= '});'; $inline .= ' })(jQuery);'; $js->addJs($inline); }
function onNextendSliderRender(&$slider, $id) { preg_match_all('/<!\\-\\-smartslideryoutubeitem,([a-zA-Z0-9\\-]*?),([a-zA-Z0-9\\-_]*?)\\-\\->/', $slider, $out, PREG_SET_ORDER); if (count($out)) { $js = NextendJavascript::getInstance(); $js->addLibraryJsFile('jquery', dirname(__FILE__) . '/youtube/youtube.js'); foreach ($out as $o) { $slider .= "<script type='text/javascript'>\r\n njQuery(document).ready(function () {\r\n ssCreateYouTubePlayer('" . $o[1] . $o[2] . "', '" . $id . "');\r\n });\r\n </script>"; } } }
function _render($data, $id, $sliderid, $items) { $js = NextendJavascript::getInstance(); $js->addLibraryJsFile('jquery', dirname(__FILE__) . '/vimeo/vimeo.js'); return '<div id="' . $id . '" data-vimeocode="' . $data->get('vimeourl') . '" data-autoplay="' . $data->get('autoplay', 0) . '" data-reset="' . $data->get('reset', 0) . '" data-title="' . $data->get('title', 1) . '" data-byline="' . $data->get('byline', 1) . '" data-portrait="' . $data->get('portrait', 1) . '" data-loop="' . $data->get('loop', 0) . '" data-color="' . $data->get('color', '00adef') . '" ></div> <script type="text/javascript"> njQuery(document).ready(function () { ssCreateVimeoPlayer("' . $id . '", "' . $sliderid . '"); }); </script>'; }
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; }
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 serveInlineJs($clear = true) { if ($this->_inlinejs == '') { return; } if ($this->_echo) { parent::serveInlineJs($clear); return; } $document = JFactory::getDocument(); $document->addScriptDeclaration($this->_inlinejs); if ($clear) { $this->_inlinejs = ''; } }
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'); }
function fetchElement() { $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'element/skin.js'); $html = parent::fetchElement(); $js->addLibraryJs('dojo', ' new NextendElementSkin({ hidden: "' . $this->_id . '", preid: "' . str_replace($this->parent->_name, '', $this->parent->_id) . '", skins: ' . json_encode($this->skins) . ' }); '); return $html; }
function decorateBefore() { $js = NextendJavascript::getInstance(); $html = ''; $js->addLibraryJs('dojo', ' new NextendElementSubform({ hidden: "' . $this->_id . '", origvalue: "' . $this->_value . '", value: "' . $this->_value . '", tab: "' . $this->_tab->_name . '", xml: "' . NextendFilesystem::toLinux(NextendFilesystem::pathToRelativePath($this->_form->_xmlfile)) . '" }); '); $GLOBALS['nextendbuffer'] = '<div id="nextend-' . $this->_name . '-panel">' . $this->renderForm() . "</div>"; return $html; }
function nextend_generate() { global $nextend_head, $nextend_body, $nextend_wp_footer; $nextend_wp_footer = true; if (class_exists('NextendCss', false) || class_exists('NextendJavascript', false)) { ob_start(); do_action('nextend_css'); $css = NextendCss::getInstance(); $css->generateCSS(); echo '<script type="text/javascript"> (function (w, d, u) { if(w.njQuery === u){ w.bindNextendQ = []; function pushToReady(x) { w.bindNextendQ.push([alias.handler,"ready", x]); } function pushToLoad(x) { w.bindNextendQ.push([alias.handler,"load", x]); } var alias = { handler: w, ready: pushToReady, load: pushToLoad } w.njQuery = function (handler) { alias.handler = handler; return alias; } } })(window, document); </script>'; $nextend_head = ob_get_clean(); ob_start(); do_action('nextend_js'); $js = NextendJavascript::getInstance(); $js->generateJs(); $nextend_body = ob_get_clean(); } if (getNextend('safemode', 0) == 1) { echo $nextend_head . $nextend_body; } return true; }
function fetchElement() { $js = NextendJavascript::getInstance(); $js->addLibraryJsAssetsFile('dojo', 'element.js'); $js->addLibraryJsAssetsFile('dojo', 'element/menuwithitems.js'); $html = ''; $this->_value = $this->_form->get($this->_name, $this->_default); $value = explode('|*|', $this->_value); $db = JFactory::getDBO(); $query = "SELECT \r\n id, \r\n name,\r\n name as title,\r\n 0 AS parent,\r\n 0 AS parent_id\r\n FROM #__js_res_sections ORDER BY name ASC"; $db->setQuery($query); $this->sections = $db->loadObjectList('id'); if (!isset($this->sections[$value[0]])) { $keys = array_keys($this->sections); $this->_form->set($this->_name, $keys[0] . '|*|0'); } $html .= parent::fetchElement(); $this->groupedList = array(); jimport('joomla.html.html.menu'); foreach ($this->sections as $section) { $this->groupedList[$section->id] = array(); $query = "SELECT DISTINCT \r\n id, \r\n title,\r\n title AS name,\r\n parent_id,\r\n parent_id AS parent\r\n FROM #__js_res_categories\r\n WHERE section_id = " . intval($section->id) . " AND published = 1\r\n ORDER BY name ASC\r\n "; $db->setQuery($query); $categories = $db->loadObjectList(); $children = array(); if ($categories) { foreach ($categories as $v) { $pt = $v->parent_id; $list = isset($children[$pt]) ? $children[$pt] : array(); array_push($list, $v); $children[$pt] = $list; } } $options = JHTML::_('menu.treerecurse', 1, '', array(), $children, 9999, 0, 0); foreach ($options as $option) { $this->groupedList[$section->id][] = array($option->id, $option->treename); } } $js->addLibraryJs('dojo', ' new NextendElementMenuWithItems({ hidden: "' . $this->_id . '", options: ' . json_encode($this->groupedList) . ', value: "' . $this->_value . '" }); '); return $html; }
function editForm($data = array()) { $css = NextendCss::getInstance(); $js = NextendJavascript::getInstance(); $css->addCssLibraryFile('common.css'); $css->addCssLibraryFile('window.css'); $css->addCssLibraryFile('configurator.css'); $configurationXmlFile = dirname(__FILE__) . '/forms/slide.xml'; $js->loadLibrary('dojo'); nextendimport('nextend.form.form'); $form = new NextendForm(); $data['publishdates'] = isset($data['publishdates']) ? $data['publishdates'] : (isset($data['publish_up']) ? $data['publish_up'] : '') . '|*|' . (isset($data['publish_down']) ? $data['publish_down'] : ''); $form->loadArray($data); $form->loadXMLFile($configurationXmlFile); $form->devicespecificimages = NextendSmartSliderSettings::get('devicespecificimages', 0); echo $form->render('slide'); }
function renderForm($type, $item, $data = array()) { $css = NextendCss::getInstance(); $js = NextendJavascript::getInstance(); $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin/js/itemparser.js'); $js->addLibraryJsFile('jquery', $item[4] . 'parser.js'); $css->addCssLibraryFile('common.css'); $css->addCssLibraryFile('window.css'); $css->addCssLibraryFile('configurator.css'); $configurationXmlFile = $item[4] . 'configuration.xml'; $js->loadLibrary('dojo'); nextendimport('nextend.form.form'); $form = new NextendForm(); $form->loadArray($data); $form->loadXMLFile($configurationXmlFile); $form->devicespecificimages = NextendSmartSliderSettings::get('devicespecificimages', 0); echo $form->render('item_' . $type); }