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; }
/** * @return phpFlickr */ function getNextendFlickr() { $flickr = null; NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendFlickr', array(&$flickr)); if ($flickr->auth_checkToken() === false) { if (NextendSmartSliderSettings::get('debugmessages', 1)) { global $smartslidercontroller; echo "<span style='line-height: 24px; padding: 0 10px;'>"; echo NextendText::_('There_are_some_configuration_issues_with_Flickr_API_Please_check_the_settings') . ' <a href="' . $smartslidercontroller->route('controller=settings&view=sliders_settings&action=flickr') . '">' . NextendText::_('settings') . '</a>!<br />'; echo "</span>"; } return false; } return $flickr; }
/** * @return Instagram */ function getNextendInstagram() { $instagram = null; NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendInstagram', array(&$instagram)); $test = json_decode($instagram->getUserFeed(), true); if ($test['meta']['code'] != 200) { if (NextendSmartSliderSettings::get('debugmessages', 1)) { global $smartslidercontroller; echo "<span style='line-height: 24px; padding: 0 10px;'>"; echo NextendText::_('There_are_some_configuration_issues_with_Instagram_API_Please_check_the') . ' <a href="' . $smartslidercontroller->route('controller=settings&view=sliders_settings&action=instagram') . '">' . NextendText::_('settings') . '</a>!<br />'; echo "</span>"; } return false; } return $instagram; }
function getNextendTwitter() { $twitter = null; NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendTwitter', array(&$twitter)); $test = $twitter->request('GET', 'https://api.twitter.com/1.1/statuses/user_timeline.json', array()); if ($test != 200) { if (NextendSmartSliderSettings::get('debugmessages', 1)) { global $smartslidercontroller; echo "<span style='line-height: 24px; padding: 0 10px;'>"; echo NextendText::_('There_are_some_configuration_issues_with_Twitter_API_Please_check_the') . ' <a href="' . $smartslidercontroller->route('controller=settings&view=sliders_settings&action=twitter') . '">' . NextendText::_('settings') . '</a>!<br />'; echo "</span>"; } return false; } return $twitter; }
/** * @return array(Google_Client,Google_Client_YouTube) */ function getNextendYoutube() { static $google = null, $youtube = null; if ($google === null) { NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendYoutube', array(&$google, &$youtube)); } if ($google->isAccessTokenExpired()) { if (NextendSmartSliderSettings::get('debugmessages', 1)) { global $smartslidercontroller; echo "<span style='line-height: 24px; padding: 0 10px;'>"; echo NextendText::_('There are some configuration issues with Youtube API. Please check the') . ' <a href="' . $smartslidercontroller->route('controller=settings&view=sliders_settings&action=youtube') . '">' . NextendText::_('settings') . '</a>!<br />'; echo "</span>"; } return false; } return array($google, $youtube); }
/** * @return Facebook */ function getNextendFacebook() { $facebook = null; NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendFacebook', array(&$facebook)); try { $test = $facebook->api('/me'); } catch (Exception $e) { if (NextendSmartSliderSettings::get('debugmessages', 1)) { global $smartslidercontroller; echo "<span style='line-height: 24px; padding: 0 10px;'>"; echo NextendText::_('There_are_some_configuration_issues_with_Facebook_API_Please_check_the') . ' <a href="' . $smartslidercontroller->route('controller=settings&view=sliders_settings&action=facebook') . '">' . NextendText::_('settings') . '</a>!<br />'; echo "</span>"; } return false; } return $facebook; }
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 NextendSmartsliderGenerator($generator, $slide, $sliderid) { $this->_generator = $generator; $this->_slide = $slide; $this->_sliderid = $sliderid; if (class_exists('Tidy', false)) { $this->_tidy = true; } $this->_tidyInputEncoding = NextendSmartSliderSettings::get('tidy-input-encoding', 'utf8'); $this->_tidyOutputEncoding = NextendSmartSliderSettings::get('tidy-output-encoding', 'utf8'); $this->_generateslides = NextendParse::parse($this->_generator->get('generateslides')); $this->_number = intval($this->_generateslides[0]); $this->_generatorgroup = intval($this->_generator->get('generatorgroup', 1)); if ($this->_generatorgroup < 1) { $this->_generatorgroup = 1; } $this->loadList(); }
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); }
function getData($number) { $data = array(); $photoset = $this->_data->get('peoplephotoset'); if ($photoset) { $api = getNextendFlickr(); if (!$api) { return $data; } $result = $api->photosets_getPhotos($photoset, 'description, date_upload, date_taken, owner_name, geo, tags, o_dims, views, media, path_alias, url_sq, url_t, url_s, url_q, url_m, url_n, url_z, url_c, url_l, url_o', NULL, $number); $people = array(); foreach ($result['photoset']['photo'] as $photo) { if (!isset($people[$photo['ownername']])) { $owner = $api->people_findByUsername($photo['ownername']); $people[$photo['ownername']] = $api->people_getInfo($owner['nsid']); } $ow = $people[$photo['ownername']]; $photo['owner_username'] = $ow['username']; $photo['owner_realname'] = isset($ow['realname']) ? $ow['realname'] : $ow['username']; $photo['owner_photosurl'] = $ow['photosurl']; $photo['owner_profileurl'] = $ow['profileurl']; $photo['image'] = isset($photo['url_o']) ? $photo['url_o'] : $photo['url_l']; $photo['thumbnail'] = isset($photo['url_m']) ? $photo['url_m'] : $photo['url_l']; $photo['url'] = $photo['owner_photosurl']; $photo['url_label'] = 'More photos'; $photo['author_name'] = $photo['owner_realname']; $photo['author_url'] = $photo['owner_profileurl']; $data[] = $photo; } } else { if (NextendSmartSliderSettings::get('debugmessages', 1)) { echo 'Please choose a set for Flickr photoset generator!'; } } return $data; }
function getValues() { return array('imagefront' => NextendSmartSliderSettings::get('placeholder'), 'imageback' => NextendSmartSliderSettings::get('placeholder'), 'alt' => 'Image not available', 'link' => '#|*|_self', 'url' => '', 'target' => '_self', 'width' => '100%', 'fadeclass' => 'myfade', 'css' => '', 'class' => ''); }
function getValues() { return array('imagefront' => NextendSmartSliderSettings::get('placeholder'), 'imageback' => NextendSmartSliderSettings::get('placeholder'), 'alt' => NextendText::_('Image_not_available'), 'link' => '#|*|_self', 'width' => '100%', 'css' => '', 'flipclass' => 'myflip', 'onmouseclick' => '', 'onmouseenter' => '', 'onmouseleave' => ''); }
$this->loadFragment('firstcol/slide'); ?> <?php $this->loadFragment('firstcolend'); ?> <?php $this->loadFragment('secondcolstart'); ?> <form id="smartslider-form" action="" onsubmit="return (parseInt(njQuery('#generateslidesgeneratorgenerateslides_1').val()) == 1 && parseInt(njQuery('#generateslidesgeneratorgenerateslides_2').val()) == 0 ? confirm('\'Generate slides\' without static switch will delete and generate your dynamic slides. Are you sure?') : true)" method="post"> <?php NextendForm::tokenize(); $xml = $slidersModel->editGeneratorSlide($smartslidergenerator); if (intval(NextendSmartSliderSettings::get('generatordesignermode', 1))) { if ($generator->_datasource && count($generator->_datasource)) { echo '<script type="text/javascript">window.samplegeneratordata = ' . json_encode($generator->_datasource) . ';</script>'; } } $smartslidergeneratorslide = (array) json_decode($slider['slide'], true); $slidesModel = $this->getModel('slides'); $slidesModel->editForm($smartslidergeneratorslide); ?> <input name="sliderid" value="<?php echo NextendRequest::getInt('sliderid'); ?> " type="hidden"/> <input name="save" value="1" type="hidden"/> </form>
function getValues() { return array('link' => '#|*|_self', 'url' => '', 'target' => '_self', 'image' => NextendSmartSliderSettings::get('placeholder'), 'alt' => 'Image not available', 'content' => 'Title', 'description' => 'Here comes the description text.', 'fontclass' => 'sliderfont11', 'fontclasstitle' => 'sliderfont1', 'captionclass' => 'simple-bottom', 'width' => '130', 'height' => '120', 'color' => '00000080', 'colora' => 'RGBA(0,0,0,0.6)', 'colorhex' => '000000', 'customcaptionclass' => 'my-caption-custom-class'); }
function getValues() { return array('image' => NextendSmartSliderSettings::get('placeholder'), 'alt' => NextendText::_('Image_not_available'), 'title' => '', 'link' => '#|*|_self', 'size' => '100%|*|auto', 'css' => '', 'onmouseenter' => '', 'onmouseclick' => '', 'onmouseleave' => '', 'kenburns' => '0|*|10000|*|115|*|0-50% 50%|*|0'); }
function getValues() { return array('image' => NextendSmartSliderSettings::get('placeholder'), 'alt' => 'Image not available', 'link' => '#|*|_self', 'size' => '130|*|130', 'content' => 'Title', 'description' => 'Here comes the description text.', 'captionclass' => 'simple-bottom', 'fontclasstitle' => 'sliderfont1', 'fontclass' => 'sliderfont11', 'color' => '00000080', 'customcaptionclass' => '', 'onmouseclick' => '', 'onmouseenter' => '', 'onmouseleave' => ''); }
function addCSS() { $id = $this->getId(); nextendimport('nextend.css.css'); $css = NextendCss::getInstance(); $css->createGroup($id); $css->enableLess($id); $css->addLessImportDir(NEXTEND_SMART_SLIDER2_ASSETS . 'less' . DIRECTORY_SEPARATOR, $id); $data =& $this->_data; $slider =& $this->_slider; $sliderParams =& $this->_sliderParams; $size = NextendParse::parse($sliderParams->get('size')); $context = array('id' => '~"#' . $this->getId() . '"', 'width' => $size[0] . 'px', 'height' => $size[1] . 'px', 'canvas' => intval($size[2]), 'count' => count($this->_slides), 'margin' => NextendParse::parseUnit($sliderParams->get('margin'), ' ')); if ($this->_backend) { $context['margin'] = '0px 0px 0px 0px'; } nextendimport('nextend.parse.font'); $fonts = 0; foreach (NextendSmartSliderFontSettings::getAll($this->_sliderid) as $k => $v) { preg_match('/sliderfont(custom)?([0-9]*)$/', $k, $matches); if (count($matches)) { $context['font' . $fonts] = '~".' . $matches[0] . '"'; $tmp = json_decode($v); if ($tmp === null || $tmp == $v) { $v = base64_decode($v); } $font = new NextendParseFont($v); $context['font' . $fonts . 'text'] = '";' . $font->printTab() . '"'; $font->mixinTab('Link'); $context['font' . $fonts . 'link'] = '";' . $font->printTab('Link') . '"'; $font->mixinTab('Link:Hover', 'Link'); $context['font' . $fonts . 'hover'] = '";' . $font->printTab('Link:Hover') . '"'; $fonts++; } } $context['fonts'] = $fonts; include $this->_typePath . 'context.php'; $css->addCssFile(array($this->getId(), $this->_typePath . 'style.less', $context), $this->getId()); $imageload = NextendParse::parse($this->_sliderParams->get('imageload', '0|*|0')); $lazyload = intval($imageload[0]); if ($lazyload) { $css->addCssFile(array($this->getId() . 'spinner', NEXTEND_SMART_SLIDER2_ASSETS . 'less' . DIRECTORY_SEPARATOR . 'spinner.less', array('id' => '~"#' . $this->getId() . '"')), $this->getId()); } if (strpos($context['margin'], '%')) { $m = explode('% ', $context['margin']); $m[1] = $m[1] / 100 * intval($context['width']); $m[3] = $m[3] / 100 * intval($context['width']); $m[0] = $m[0] / 100 * intval($context['height']); $m[2] = $m[2] / 100 * intval($context['height']); } else { $m = explode('px ', $context['margin']); } $addcss = (array) NextendParse::parse(NextendSmartSliderSettings::get('externalcssfile')); if ($this->_backend && count($addcss)) { foreach ($addcss as $cssfile) { $css->addCssFile($cssfile); } } return array(intval($context['width']), intval($context['height']), $m[0] + $m[2], $m[1] + $m[3], intval($context['canvaswidth']), intval($context['canvasheight'])); }