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 NextendSliderWidgets($slider, $id) { $this->_slider = $slider; $this->_id = $id; $this->_widgets = array(); $this->_enabledWidgets = array(); $params = $this->_slider->_sliderParams; if ($slider->_backend) { return; } $plugins = array(); NextendPlugin::callPlugin('nextendsliderwidget', 'onNextendSliderWidgetList', array(&$plugins)); foreach ($plugins as $k => $v) { $widget = $params->get('widget' . $k); $display = NextendParse::parse($params->get('widget' . $k . 'display', '0|*|always|*|0|*|0')); if ($widget != '' && (isset($display[0]) && intval($display[0]) || isset($display[2]) && intval($display[2]) || isset($display[3]) && intval($display[3]))) { $this->_enabledWidgets[$k] = $widget; } } foreach ($this->_enabledWidgets as $k => $v) { if (nextendIsJoomla()) { JPluginHelper::importPlugin('nextendsliderwidget' . $k); } $class = 'plgNextendSliderWidget' . $k . $v; if (class_exists($class, false)) { $this->_widgets[$k] = call_user_func(array($class, 'render'), $slider, $id, $params); } } }
function loadWordpressList() { nextendimport('nextend.plugin.plugin'); require_once NEXTEND_ACCORDION_MENU . 'types' . DIRECTORY_SEPARATOR . 'loadplugin.php'; $this->_list = array(); NextendPlugin::callPlugin('nextendmenu', 'onNextendMenuList', array(&$this->_list)); }
function getOptions() { if ($this->_list == null) { $this->_list = array(); NextendPlugin::callPlugin('nextendsliderwidget', 'onNextendSliderWidgetList', array(&$this->_list)); } uasort($this->_list, array($this, 'sort')); return $this->_list; }
function NextendSliderItems($id, $slider, $admin) { $this->id = $id; $this->slider = $slider; $this->admin = $admin; $this->items = array(); if (!isset(self::$i[$id])) { self::$i[$id] = 0; } NextendPlugin::callPlugin('nextendslideritem', 'onNextendSliderItemShortcode', array(&$this->items)); }
function pluginAction($tpl) { $plugin = NextendRequest::getVar('action'); $path = null; NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendGeneratorConfiguration', array(&$plugin, &$path)); if ($path) { $path .= 'configuration.xml'; $this->xml = $path; $this->group = $plugin; $this->render('plugin'); } else { $this->defaultAction($tpl); } }
function loadList() { if ($this->_list == null) { $this->_group = array(); $this->_list = array(); NextendPlugin::callPlugin(NextendXmlGetAttribute($this->_xml, 'plugingroup'), NextendXmlGetAttribute($this->_xml, 'method'), array(&$this->_group, &$this->_list)); $v = explode('_', $this->_value); if (!isset($this->_list[$v[0]][$this->_value])) { $keys = array_keys($this->_list); $ks = array_keys($this->_list[$keys[0]]); $this->_value = $this->_list[$keys[0]][$ks[0]]; } } }
/** * @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; }
function fetchElement() { static $options; if (!$options) { $options = array(0 => 'No_animation', 'fade' => 'Fade', 'slidelefttoright' => 'Slide_left_to_right', 'sliderighttoleft' => 'Slide_right_to_left', 'slidetoptobottom' => 'Slide_top_to_bottom', 'slidebottomtotop' => 'Slide_bottom_to_top', 'flipx' => 'Flip_X', 'fadeup' => 'Fade_up', 'fadedown' => 'Fade_down', 'fadeleft' => 'Fade_left', 'faderight' => 'Fade_right', 'bounce' => 'Bounce', 'rotate' => 'Rotate', 'rotateupleft' => 'Rotate_up_left', 'rotatedownleft' => 'Rotate_down_left', 'rotateupright' => 'Rotate_up_right', 'rotatedownright' => 'Rotate_down_right', 'rollin' => 'Roll_in', 'rollout' => 'Roll_out', 'scale' => 'Scale'); NextendPlugin::callPlugin('nextendslider', 'onNextendSliderLayerAnimations', array(&$options)); } if (count($options)) { foreach ($options as $k => $v) { $this->_xml->addChild('option', $v)->addAttribute('value', $k); } } $this->_value = $this->_form->get($this->_name, $this->_default); $html = parent::fetchElement(); return $html; }
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; }
function fetchElement() { static $options; if (!$options) { $options = array(0 => 'No_animation', '1' => 'Fade - full', '2' => 'Slide left to right - full', '3' => 'Slide right to left - full', '4' => 'Slide top to bottom - full', 'slidebottomtotop' => 'Slide bottom to top', '5' => 'Flip X - full', '6' => 'Fade up - full', 'fadedown' => 'Fade down', '8' => 'Fade left - full', '9' => 'Fade right - full', '10' => 'Bounce - full', '11' => 'Rotate - full', '12' => 'Rotate up left - full', '13' => 'Rotate down left - full', '13' => 'Rotate up right - full', '14' => 'Rotate down right - full', 'rollin' => 'Roll in', '15' => 'Roll out - full', '16' => 'Scale - full'); NextendPlugin::callPlugin('nextendslider', 'onNextendSliderLayerAnimations', array(&$options)); } if (count($options)) { foreach ($options as $k => $v) { $this->_xml->addChild('option', $v)->addAttribute('value', $k); } } $this->_value = $this->_form->get($this->_name, $this->_default); $html = parent::fetchElement(); return $html; }
/** * @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; }
/** * @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; }
/** * @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); }
function render($cache = false) { if ($this->_norender) { return; } $this->preRender(); $id = $this->getId(); $data =& $this->_data; $this->addJs(); $jquery = NextendSmartSliderSettings::get('jquery', 1); if (!$jquery && !class_exists('NextendSmartsliderAdminController', false)) { $js = NextendJavascript::getInstance(); $js->_loadedLibraries['jquery']->removeJsLibraryFile('jQuery.js'); } if (isset($this->_slides[$this->_activeSlide])) { $this->_slides[$this->_activeSlide]['classes'] .= ' smart-slider-slide-active'; } $fadeonload = (array) NextendParse::parse($this->_sliderParams->get('fadeonload', '1|*|0')); if (!isset($fadeonload[1])) { $fadeonload[1] = 0; } else { if ($fadeonload[1]) { $fadeonload[0] = 1; } } $sliderClasses = !$this->_backend && $fadeonload[0] ? 'nextend-slider-fadeload ' : ''; $sliderClasses .= 'nextend-desktop '; $properties = $this->generateJSProperties(); $fontsize = (array) NextendParse::parse($this->_sliderParams->get('globalfontsize', '12|*|11|*|10')); if (!isset($fontsize[1])) { $fontsize[1] = 11; } if (intval($fontsize[1]) <= 0) { $fontsize[1] = $fontsize[0]; } if (!isset($fontsize[2])) { $fontsize[2] = 10; } if (intval($fontsize[2]) <= 0) { $fontsize[2] = $fontsize[1]; } $size = $this->addCSS(); $backgroundresize = $this->_sliderParams->get('backgroundresize', 0); if ($backgroundresize != '0') { $works = nextend_try_to_test_memory_limit(); if ($works) { $canvasWidth = $size[4]; $canvasHeight = $size[5]; $resizeremote = intval(NextendSmartSliderSettings::get('resizeremote', 0)); nextendimport('nextend.cache.image'); $imageCache = new NextendCacheImage(); for ($i = 0; $i < count($this->_slides); $i++) { $imageCache->setBackground(substr($this->_slides[$i]['background'], 0, 6)); $this->_slides[$i]['bg']['desktop'] = $imageCache->resizeImage($this->_slides[$i]['bg']['desktop'], $canvasWidth, $canvasHeight, $backgroundresize, $resizeremote); } } else { if (NextendSmartSliderSettings::get('debugmessages', 1)) { echo "It seems like the <a href='http://php.net/manual/en/ini.core.php#ini.memory-limit'>memory_limit</a> on the server is too low for the background resize. Please set it minimum 60M and reload the page! You can disable this message in <a href='http://www.nextendweb.com/wiki/smart-slider-documentation/global-settings/'>global configuration</a> 'Frontend debug message' option."; } } } $css = NextendCss::getInstance(); $widgets = new NextendSliderWidgets($this, $id); $items = new NextendSliderItems($id, $this, $this->_backend); ob_start(); if (!$this->_backend && $fadeonload[0]) { $css->addCssFile('div#' . $id . '.nextend-slider-fadeload{position: absolute; opacity: 0;}', $this->getId()); } include $this->_typePath . 'slider.php'; $slider = ob_get_clean(); if (!$this->_backend) { NextendPlugin::callPlugin('nextendslideritem', 'onNextendSliderRender', array(&$slider, $id)); $slider = preg_replace('/data-itemvalues=".*?"/', '', $slider); // Remove unnecessary attributes... $slider = preg_replace('/data-item=".*?"/', '', $slider); // Remove unnecessary attributes... $slider = preg_replace('/data-leave=""/', '', $slider); // Remove unnecessary attributes... $slider = preg_replace('/data-enter=""/', '', $slider); // Remove unnecessary attributes... $slider = preg_replace('/data-click=""/', '', $slider); // Remove unnecessary attributes... if ($cache == false) { if (nextendIsJoomla()) { if (version_compare(JVERSION, '1.6.0', 'ge')) { $dispatcher = JDispatcher::getInstance(); JPluginHelper::importPlugin('content'); $article = new stdClass(); $article->text = $slider; $_p = array(); $dispatcher->trigger('onContentPrepare', array('com_smartslider2', &$article, &$_p, 0)); if (!empty($article->text)) { $slider = $article->text; } } } elseif (nextendIsWordPress()) { if (!function_exists('ss2_attr_shortcode')) { function ss2_attr_shortcode($matches) { return 'data-' . $matches[1] . '="' . str_replace('"', '"', do_shortcode(str_replace('"', '"', $matches[2]))) . '"'; } } $slider = preg_replace_callback("/data-(click|enter|leave)=\"(.*?)\"/", "ss2_attr_shortcode", $slider); $slider = do_shortcode($slider); } } } $slider = str_replace(array('{{id}}', 'nextend-smart-slider-0'), $this->getId(), $slider); if (!$this->_backend) { $translateurl = (array) NextendParse::parse(NextendSmartSliderSettings::get('translateurl', '')); if (isset($translateurl[0]) && isset($translateurl[1])) { $slider = str_replace($translateurl[0], $translateurl[1], $slider); } } $align = $this->_sliderParams->get('align', 'normal'); $responsive = (array) NextendParse::parse($this->_sliderParams->get('responsive', '0|*|0')); if ($responsive[1] != 1 && $align != 'normal') { switch ($align) { case 'left': echo "<div class='ss2-align' style='float:left;'>"; break; case 'center': echo "<div class='ss2-align' style='margin: 0 auto; max-width: " . $size[0] . "px;'>"; break; case 'right': echo "<div class='ss2-align' style='float:right;'>"; break; } $align = true; } else { echo "<div class='ss2-align'>"; } echo $this->parseSlider($slider); if ($align === true) { echo "</div><div style='clear:both;'></div>"; } else { echo "</div>"; } if (!$this->_backend && $fadeonload[0] && (isset($responsive[0]) && $responsive[0] || isset($responsive[1]) && $responsive[1])) { $works = nextend_try_to_test_memory_limit(); if ($works) { if ($size[0] + $size[3] > 0 && $size[1] > 0 && function_exists('imagecreatetruecolor')) { echo '<div id="' . $id . '-placeholder" >'; $im = imagecreatetruecolor($size[0] + $size[3], $size[1]); imagesavealpha($im, true); imagealphablending($im, false); $trans = imagecolorallocatealpha($im, 255, 0, 0, 127); imagefilledrectangle($im, 0, 0, $size[0] + $size[3], $size[1], $trans); ob_start(); imagepng($im); imagedestroy($im); $img = base64_encode(ob_get_clean()); echo '<img alt="" style="width:100%; max-width: ' . (intval($this->_sliderParams->get('simpleresponsivemaxwidth', 30000)) + $size[3]) . 'px;" src="data:image/png;base64,' . $img . '" />'; if ($size[2] > 0) { $im = imagecreatetruecolor($size[0] + $size[3], $size[2]); imagesavealpha($im, true); imagealphablending($im, false); $trans = imagecolorallocatealpha($im, 255, 0, 0, 127); imagefilledrectangle($im, 0, 0, $size[0] + $size[3], $size[2], $trans); ob_start(); imagepng($im); imagedestroy($im); $img = base64_encode(ob_get_clean()); echo '<img alt="" style="width:100%;" src="data:image/png;base64,' . $img . '" />'; } echo '</div>'; } else { $css->addCssFile('#' . $id . ' .nextend-slider-fadeload{position: relative !important;}', $this->getId()); } } else { if (NextendSmartSliderSettings::get('debugmessages', 1)) { echo "It seems like the <a href='http://php.net/manual/en/ini.core.php#ini.memory-limit'>memory_limit</a> on the server is too low for the fade on load feature. Please set it minimum 60M and reload the page! You can disable this message in <a href='http://www.nextendweb.com/wiki/smart-slider-documentation/global-settings/'>global configuration</a> 'Frontend debug message' option."; } } } else { $css->addCssFile('#' . $id . '.nextend-slider-fadeload{position: relative !important;}', $this->getId()); } NextendPlugin::callPlugin('nextendslider', 'onNextendSliderRenderAfter'); if (!$cache) { if (nextendIsWordPress()) { add_action('nextend_css', array($this, 'wpAddCSS')); } elseif (nextendIsMagento()) { Nextend_SmartSlider2_Model_Observer::$sliders[] = $this->getId(); } else { $css->generateCSS($this->getId()); } } }
function loadList() { if ($this->_list == null) { $this->_group = array(); $this->_list = array(); NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendSliderGeneratorList', array(&$this->_group, &$this->_list)); } }
<?php $action = NextendRequest::getCmd('action', 'default'); $settings = array(array('id' => 'default', 'title' => NextendText::_('General_settings')), array('id' => 'layout', 'title' => NextendText::_('Layout_settings'))); if (nextendIsJoomla()) { $settings[] = array('id' => 'joomla', 'title' => NextendText::_('Joomla_settings')); } $settings[] = array('id' => 'cache', 'title' => NextendText::_('Cache')); NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendGeneratorConfigurationList', array(&$settings)); $settings[] = array('id' => 'font', 'title' => NextendText::_('Global_font')); ?> <dl class="smartslider-list smartslider-sliders-list"> <?php $i = 0; foreach ($settings as $setting) { $c = $i % 2 ? 'even' : 'odd'; $i++; $active = $action == $setting['id']; if ($action == 'font' && NextendRequest::getInt('sliderid')) { $active = false; } ?> <dt class="<?php echo $c; ?> smartslider-button-blue-active smartslider-icon-container <?php echo $active ? 'active' : ''; ?> "> <a class="smartslider-button-link" href="<?php echo $this->route('controller=settings&view=sliders_settings&action=' . $setting['id']);
function loadList() { $this->_list = array(); NextendPlugin::callPlugin(NextendXmlGetAttribute($this->_xml, 'group'), 'onNextend' . NextendXmlGetAttribute($this->_xml, 'method') . 'List', array(&$this->_list)); }
function loadList() { $this->_list = array(); NextendPlugin::callPlugin('nextendslidertype', 'onNextendSliderTypeList', array(&$this->_list)); }
NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendSliderGeneratorList', array(&$group, &$list)); $source = $slider->_generatorParams->get('source'); $sourcetype = null; foreach ($list as $ls) { foreach ($ls as $k => $l) { if ($k == $source) { $sourcetype = $l; break; } } if ($sourcetype) { break; } } $slide = array(); NextendPlugin::callPlugin('nextendslidergeneratorlayouts', 'onNextendSliderGeneratorLayouts', array($sourcetype[5], &$slide)); $layout = NextendRequest::getVar('layout', ''); if (isset($slide[$layout])) { if (isset($slide[$layout]['slider'])) { $slider->_generatorParams->loadArray($slide[$layout]['slider']); } $slider->_generatorSlideParams->loadArray($slide[$layout]['slide']); } $slider->_generatorParams->set('generateslides', intval($slider->_generatorParams->get('generateslides')) . '|*|0|*|0'); function generateDynamicThumbs($controller, $image, $sliderid, $id, $data) { global $layout, $sliderpreset; ?> <div class="smartslider-dynamic-thumb <?php echo $layout == $id ? 'selected' : 'notselected';
function changeDynamicLayout($sliderid) { $slider = $this->getSlider($sliderid); $sliderParams = new NextendData(); $sliderParams->loadJSON($slider['params']); $sliders = array(); NextendPlugin::callPlugin('nextendslidergeneratorlayouts', 'onNextendSliderGeneratorSlider', array(&$sliders, $sliderParams->get('size', null))); $sliderpreset = NextendRequest::getVar('sliderpreset', ''); if (isset($sliders[$sliderpreset])) { $slider = $sliders[$sliderpreset]['slider'] + $slider; $db = NextendDatabase::getInstance(); $db->update('#__nextend_smartslider_sliders', array('type' => $slider['type'], 'params' => $slider['params']), 'id = ' . $db->quote($sliderid)); self::markChanged($sliderid); } $generatorParams = new NextendData(); $generatorParams->loadJSON($slider['generator']); $group = array(); $list = array(); NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendSliderGeneratorList', array(&$group, &$list)); $source = $generatorParams->get('source'); $sourcetype = null; foreach ($list as $ls) { foreach ($ls as $k => $l) { if ($k == $source) { $sourcetype = $l; break; } } if ($sourcetype) { break; } } $slide = array(); NextendPlugin::callPlugin('nextendslidergeneratorlayouts', 'onNextendSliderGeneratorLayouts', array($sourcetype[5], &$slide)); $layout = NextendRequest::getVar('layout', ''); if (isset($slide[$layout])) { if (isset($slide[$layout]['slider'])) { $generatorParams->loadArray($slide[$layout]['slider']); } $this->saveGenerator($sliderid, $generatorParams->toArray(), $slide[$layout]['slide'], false); } return $sliderid; }
<script type="text/javascript"> window.ssitemmarker = true; </script> <dl class="smartslider-list smartslider-items-list"> <dt style="display: none;" class="even smartslider-button-blue-active smartslider-icon-container subactive "> <a href="#" class="smartslider-button-link" onclick="return false;"><?php echo NextendText::_('Add_item'); ?> </a> <span class="smartslider-arrowdown"></span> </dt> <dd class="active"> <?php $items = array(); NextendPlugin::callPlugin('nextendslideritem', 'onNextendSliderItemList', array(&$items)); ?> <div id="draggableitems" class="nextend-clearfix"> <?php foreach ($items as $type => $item) { ?> <div class="smart-slider-item-container smartslider-button-grey"><?php echo $item[0]; ?> <div style="display: none;" class="smart-slider-items" data-item="<?php echo $type; ?> " data-itemvalues='<?php
?> <a class="button small b" href="<?php echo $controller->route('controller=sliders&view=sliders_slider&action=createdynamic&step=2&group=' . $group . '&type=' . $type); ?> ">Start</a> <?php } ?> </div> <?php } $groups = array(); $list = array(); NextendPlugin::callPlugin('nextendslidergenerator', 'onNextendSliderGeneratorList', array(&$groups, &$list, true)); $notconfigured = array(); $notavailable = array(); foreach ($list as $group => $sources) { foreach ($sources as $type => $data) { if ($data[4] !== true || $data[3] && !smartsliderIsFull()) { if (!isset($notavailable[$group])) { $notavailable[$group] = array(); } $notavailable[$group][$type] = $data; } else { if (!$data[2]) { if (!isset($notconfigured[$group])) { $notconfigured[$group] = array(); } $notconfigured[$group][$type] = $data;