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"
                }
            });
        ');
    }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 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;
 }
Exemplo n.º 5
0
 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;
 }
Exemplo n.º 7
0
 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;
 }
Exemplo n.º 8
0
 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>";
 }
Exemplo n.º 9
0
 function generateJs()
 {
     $js = NextendJavascript::getInstance();
     if (count($this->_jsFiles)) {
         foreach ($this->_jsFiles as $file) {
             $js->addJsFile($file);
         }
     }
 }
Exemplo n.º 10
0
 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;
 }
Exemplo n.º 11
0
 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;
 }
Exemplo n.º 12
0
 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;
 }
Exemplo n.º 13
0
 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;
 }
Exemplo n.º 14
0
 function serveJs($clear = true)
 {
     $js = NextendJavascript::getInstance();
     $inline = '(function(dojo){ ';
     $inline .= 'dojo.addOnLoad(function(){';
     $inline .= $this->_js;
     $inline .= '});';
     $inline .= ' })(ndojo);';
     $js->addJs($inline);
 }
Exemplo n.º 15
0
 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;
 }
Exemplo n.º 16
0
 function serveJs($clear = true)
 {
     $js = NextendJavascript::getInstance();
     $inline = '(function($){ ';
     $inline .= '$(document).ready(function() {';
     $inline .= $this->_js;
     $inline .= '});';
     $inline .= ' })(jQuery);';
     $js->addJs($inline);
 }
Exemplo n.º 17
0
 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>";
         }
     }
 }
Exemplo n.º 18
0
 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>';
 }
Exemplo n.º 19
0
 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;
 }
Exemplo n.º 20
0
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;
}
Exemplo n.º 21
0
    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;
    }
Exemplo n.º 22
0
 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;
 }
Exemplo n.º 23
0
 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 = '';
     }
 }
Exemplo n.º 24
0
 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');
 }
Exemplo n.º 25
0
 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;
 }
Exemplo n.º 27
0
    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;
 }
Exemplo n.º 29
0
 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');
 }
Exemplo n.º 30
0
 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);
 }