示例#1
0
 function onNextendTwitter(&$twitter)
 {
     $config = new NextendData();
     $config->loadJson(NextendSmartSliderStorage::get(self::$_group));
     require_once dirname(__FILE__) . "/api/tmhOAuth.php";
     $twitter = new tmhOAuth(array('consumer_key' => $config->get('apikey', ''), 'consumer_secret' => $config->get('apisecret', ''), 'user_token' => $config->get('token', ''), 'user_secret' => $config->get('tokensecret', '')));
 }
示例#2
0
 function onNextendYoutube(&$google, &$youtube)
 {
     $config = new NextendData();
     $config->loadJson(NextendSmartSliderStorage::get(self::$_group));
     if (!class_exists('Google_Client')) {
         require_once dirname(__FILE__) . '/googleclient/Google_Client.php';
     }
     if (!class_exists('Google_YouTubeService')) {
         require_once dirname(__FILE__) . '/googleclient/contrib/Google_YouTubeService.php';
     }
     $google = new Google_Client();
     $google->setClientId($config->get('apikey', ''));
     $google->setClientSecret($config->get('apisecret', ''));
     $token = $config->get('token', null);
     if ($token) {
         $google->setAccessToken($token);
     }
     $youtube = new Google_YouTubeService($google);
     if ($google->isAccessTokenExpired()) {
         $token = json_decode($google->getAccessToken(), true);
         if (isset($token['refresh_token'])) {
             $google->refreshToken($token['refresh_token']);
             $config->set('token', $google->getAccessToken());
             NextendSmartSliderStorage::set(self::$_group, $config->toJSON());
         }
     }
 }
示例#3
0
 function clearfonts($sliderid)
 {
     if ($sliderid) {
         NextendSmartSliderStorage::delete('font' . $sliderid);
     }
     return true;
 }
示例#4
0
 function onNextendFlickr(&$flickr)
 {
     $config = new NextendData();
     $config->loadJson(NextendSmartSliderStorage::get(self::$_group));
     require_once dirname(__FILE__) . "/api/phpFlickr.php";
     $flickr = new phpFlickr($config->get('apikey', ''), $config->get('apisecret', ''));
     $flickr->setToken($config->get('token', ''));
 }
示例#5
0
 function onNextendFacebook(&$facebook)
 {
     $config = new NextendData();
     $config->loadJson(NextendSmartSliderStorage::get(self::$_group));
     require_once dirname(__FILE__) . "/api/facebook.php";
     $facebook = new Facebook(array('appId' => $config->get('apikey', ''), 'secret' => $config->get('apisecret', '')));
     $facebook->setAccessToken($config->get('token', ''));
 }
 function onNextendInstagram(&$instagram)
 {
     $config = new NextendData();
     $config->loadJson(NextendSmartSliderStorage::get(self::$_group));
     require_once dirname(__FILE__) . "/api/Instagram.php";
     $c = array('client_id' => $config->get('apikey', ''), 'client_secret' => $config->get('apisecret', ''), 'redirect_uri' => '', 'grant_type' => 'authorization_code');
     $instagram = new Instagram($c);
     $instagram->setAccessToken($config->get('token', ''));
 }
示例#7
0
文件: twitter.php 项目: sangikumar/IP
 function onNextendSliderGeneratorList(&$group, &$list, $showall = false)
 {
     if ($showall || smartsliderIsFull()) {
         $group[self::$_group] = 'Twitter';
         if (!isset($list[self::$_group])) {
             $list[self::$_group] = array();
         }
         $configured = is_string(NextendSmartSliderStorage::get(self::$_group));
         $list[self::$_group][self::$_group . '_timeline'] = array(NextendText::_('Timeline'), $this->getPath() . 'twittertimeline' . DIRECTORY_SEPARATOR, $configured, true, true);
     }
 }
示例#8
0
文件: youtube.php 项目: sangikumar/IP
 function onNextendSliderGeneratorList(&$group, &$list, $showall = false)
 {
     if ($showall || smartsliderIsFull()) {
         $group[self::$_group] = 'YouTube';
         if (!isset($list[self::$_group])) {
             $list[self::$_group] = array();
         }
         $configured = is_string(NextendSmartSliderStorage::get(self::$_group));
         $list[self::$_group][self::$_group . '_bysearch'] = array('By search', $this->getPath() . 'bysearch' . DIRECTORY_SEPARATOR, $configured, true, true);
         $list[self::$_group][self::$_group . '_byplaylist'] = array('By playlist', $this->getPath() . 'byplaylist' . DIRECTORY_SEPARATOR, $configured, true, true);
     }
 }
示例#9
0
文件: flickr.php 项目: sangikumar/IP
 function onNextendSliderGeneratorList(&$group, &$list, $showall = false)
 {
     if ($showall || smartsliderIsFull()) {
         $group[self::$_group] = 'Flickr';
         if (!isset($list[self::$_group])) {
             $list[self::$_group] = array();
         }
         $configured = is_string(NextendSmartSliderStorage::get(self::$_group));
         $list[self::$_group][self::$_group . '_peoplephotostream'] = array(NextendText::_('My_photostream'), $this->getPath() . 'peoplephotostream' . DIRECTORY_SEPARATOR, $configured, true, true);
         $list[self::$_group][self::$_group . '_peoplephotoset'] = array(NextendText::_('My_photoset'), $this->getPath() . 'peoplephotoset' . DIRECTORY_SEPARATOR, $configured, true, true);
         $list[self::$_group][self::$_group . '_peoplephotogallery'] = array(NextendText::_('My_gallery'), $this->getPath() . 'peoplephotogallery' . DIRECTORY_SEPARATOR, $configured, true, true);
     }
 }
 function onNextendSliderGeneratorList(&$group, &$list, $showall = false)
 {
     if ($showall || smartsliderIsFull()) {
         $group[self::$_group] = 'Facebook';
         if (!isset($list[self::$_group])) {
             $list[self::$_group] = array();
         }
         $configured = is_string(NextendSmartSliderStorage::get(self::$_group));
         $list[self::$_group][self::$_group . '_postsbypage'] = array(NextendText::_('Posts_by_page'), $this->getPath() . 'postsbypage' . DIRECTORY_SEPARATOR, $configured, true, true);
         $list[self::$_group][self::$_group . '_albumbypage'] = array(NextendText::_('Photos_by_page_album'), $this->getPath() . 'albumbypage' . DIRECTORY_SEPARATOR, $configured, true, true);
         $list[self::$_group][self::$_group . '_albumbyuser'] = array(NextendText::_('Photos_by_user_album'), $this->getPath() . 'albumbyuser' . DIRECTORY_SEPARATOR, $configured, true, true);
     }
 }
 function onNextendSliderGeneratorList(&$group, &$list, $showall = false)
 {
     if ($showall || smartsliderIsFull()) {
         $group[self::$_group] = 'Instagram';
         if (!isset($list[self::$_group])) {
             $list[self::$_group] = array();
         }
         $configured = is_string(NextendSmartSliderStorage::get(self::$_group));
         $list[self::$_group][self::$_group . '_myfeed'] = array(NextendText::_('My_feed'), $this->getPath() . 'myfeed' . DIRECTORY_SEPARATOR, $configured, true, true);
         $list[self::$_group][self::$_group . '_tagsearch'] = array(NextendText::_('Search_by_tag'), $this->getPath() . 'tagsearch' . DIRECTORY_SEPARATOR, $configured, true, true);
         $list[self::$_group][self::$_group . '_myphotos'] = array(NextendText::_('My_photos'), $this->getPath() . 'myphotos' . DIRECTORY_SEPARATOR, $configured, true, true);
     }
 }
 function initDatasource($source, $forcedGeneratorObj = false)
 {
     $tmp = $this->_generator->toArray();
     unset($tmp['generateslides']);
     $hash = md5($this->_number * $this->_generatorgroup . json_encode($tmp));
     $recache = false;
     $cached = json_decode(NextendSmartSliderStorage::get('generator' . $this->_sliderid), true);
     if (is_array($cached)) {
         if ($cached['hash'] != $hash) {
             $recache = true;
         } else {
             if ($cached['time'] < time() - $this->_generator->get('cachetime', '24') * 60 * 60) {
                 $recache = true;
             }
         }
     } else {
         $recache = true;
     }
     if ($recache) {
         $v = explode('_', $source);
         require_once $this->_list[$v[0]][$source][1] . 'generator.php';
         $class = 'NextendGenerator' . $source;
         $generator = new $class($this->_generator);
         ob_start();
         $this->_datasource = $generator->getData($this->_number * $this->_generatorgroup);
         $message = ob_get_clean();
         if (count($this->_datasource) == 0 && trim($message) != '' && count($cached['data'])) {
             $this->_datasource = $cached['data'];
         }
         echo $message;
         $cached = array('time' => time(), 'hash' => $hash, 'data' => $this->_datasource);
         NextendSmartSliderStorage::set('generator' . $this->_sliderid, json_encode($cached));
         if ($forcedGeneratorObj) {
             return $generator;
         }
     } else {
         $this->_datasource = $cached['data'];
         if ($forcedGeneratorObj) {
             $v = explode('_', $source);
             require_once $this->_list[$v[0]][$source][1] . 'generator.php';
             $class = 'NextendGenerator' . $source;
             $generator = new $class($this->_generator);
             return $generator;
         }
     }
 }
示例#13
0
文件: base.php 项目: sangikumar/IP
 static function markChanged($id)
 {
     NextendSmartSliderStorage::set('sliderchanged' . $id, '1');
 }
示例#14
0
 function refreshCache($sliderid)
 {
     $slider = $this->getSlider($sliderid);
     $generatorParams = new NextendData();
     $generatorParams->loadJSON($slider['generator']);
     $generatorSlideParams = new NextendData();
     $generatorSlideParams->loadJSON($slider['slide']);
     //refresh generator
     // Set the cache expired
     $cached = json_decode(NextendSmartSliderStorage::get('generator' . $sliderid), true);
     if (is_array($cached)) {
         $cached['time'] = 0;
         NextendSmartSliderStorage::set('generator' . $sliderid, json_encode($cached));
     }
     if ($generatorParams->get('enabled', 0)) {
         nextendimportsmartslider2('nextend.smartslider.generator');
         $generator = new NextendSmartsliderGenerator($generatorParams, $generatorSlideParams, $sliderid);
         $source = $generatorParams->get('source', '');
         if ($source) {
             $generator->initDatasource($source);
         }
     }
     self::markChanged($sliderid);
 }
示例#15
0
 function importFile($targetzip, $showmessage = true)
 {
     nextendimport('nextend.externals.zip_read');
     $zipfile = new NextendZipfile();
     $zipfile->read_zip($targetzip);
     if (count($zipfile->files)) {
         $data = array();
         foreach ($zipfile->files as $file) {
             $data[$file['name']] = $file['data'];
         }
         $slider = isset($data['slider.ss2']) ? $data['slider.ss2'] : 0;
         if ($slider) {
             $slidersModel = $this->getModel('sliders');
             $sliderid = $slidersModel->import(unserialize($slider));
             if ($showmessage) {
                 NextendMessage::success(NextendText::_('Success'), NextendText::_('1_Slider_imported'));
             }
             if ($sliderid) {
                 $slides = isset($data['slides.ss2']) ? $data['slides.ss2'] : 0;
                 if ($slides) {
                     $slidesModel = $this->getModel('slides');
                     $slides = unserialize($slides);
                     foreach ($slides as $slide) {
                         $slide['slider'] = $sliderid;
                         $slidesModel->create($sliderid, $slide, false);
                     }
                     if ($showmessage) {
                         NextendMessage::success(NextendText::_('Success'), count($slides) . '&nbsp;' . NextendText::_('Slides_imported'));
                     }
                 }
                 $fonts = isset($data['fonts.ss2']) ? $data['fonts.ss2'] : 0;
                 if ($fonts) {
                     NextendSmartSliderStorage::set('font' . $sliderid, json_encode(unserialize($fonts)));
                     if ($showmessage) {
                         NextendMessage::success(NextendText::_('Success'), NextendText::_('1_font_set_imported'));
                     }
                 }
                 return $sliderid;
             }
         }
     } else {
         NextendMessage::error(NextendText::_('Error'), NextendText::_('Unable_to_unzip_the_file_Error_code'));
     }
 }
示例#16
0
    ?>
                    
                    <?php 
    if ($accessCore) {
        ?>
                        <li class="smartslider-icon-container">
                            <a href="<?php 
        echo $this->route('controller=slider&view=sliders_slider&action=font&sliderid=' . $slider['id']);
        ?>
">
                                <span class="smartslider-qtip-icon fontsettings"></span>
                                <?php 
        echo NextendText::_('Slider_fonts');
        ?>
                                <?php 
        if (NextendSmartSliderStorage::get('font' . $slider['id'])) {
            ?>
                                    <span class="smartslider-qtip-icon activegreen"></span>
                                <?php 
        }
        ?>
                            </a>
                        </li>
                    <?php 
    }
    ?>
                    
                    <?php 
    if ($accessSliderCreate) {
        ?>
                        <li class="smartslider-icon-container">
示例#17
0
 static function getAll()
 {
     if (self::$settings === null) {
         self::$settings = json_decode(NextendSmartSliderStorage::get('joomla'), true);
         if (self::$settings === null) {
             self::$settings = array();
         }
     }
     return self::$settings;
 }
示例#18
0
<?php 
$this->loadFragment('firstcol/settings');
?>

<?php 
$this->loadFragment('firstcolend');
?>

<?php 
$this->loadFragment('secondcolstart');
?>

<form id="smartslider-form" action="" method="post">
    <?php 
NextendForm::tokenize();
$settingsModel = $this->getModel('settings');
$settingsModel->render($this->xml, json_decode(NextendSmartSliderStorage::get($this->group), true));
?>
    <input name="namespace" value="<?php 
echo $this->group;
?>
" type="hidden" />
    <input name="save" value="1" type="hidden" />
</form>

<?php 
$this->loadFragment('secondcolend');
?>

<?php 
$this->loadFragment('footer');
 function NextendSliderCache($slider)
 {
     nextendimportsmartslider2('nextend.smartslider.check');
     nextendimport('nextend.css.css');
     nextendimport('nextend.javascript.javascript');
     nextendimport('nextend.fonts.google');
     $this->slider = $slider;
     $sliderid = $slider->_sliderid;
     $recache = false;
     $cached = json_decode(NextendSmartSliderStorage::get('slidercache' . $sliderid), true);
     if (nextendIsWordpress()) {
         $time = current_time('timestamp');
     } else {
         $time = time();
     }
     nextendimportsmartslider2('nextend.smartslider.admin.models.slides');
     $slidesModel = new NextendSmartsliderAdminModelSlides(null);
     $slides = $slidesModel->getSlides($sliderid, '');
     $slideexpire = null;
     foreach ($slides as $s) {
         $publish_up = strtotime($s['publish_up']);
         if ($publish_up && $publish_up > $time && ($slideexpire == null || $publish_up < $slideexpire)) {
             $slideexpire = $publish_up;
         }
         $publish_down = strtotime($s['publish_down']);
         if ($publish_down && $publish_down > $time && ($slideexpire == null || $publish_down < $slideexpire)) {
             $slideexpire = $publish_down;
         }
     }
     if (is_array($cached)) {
         if (NextendSmartSliderStorage::get('sliderchanged' . $sliderid) == 1) {
             $recache = true;
         } else {
             if (isset($cached['time']) && isset($cached['expire']) && $cached['time'] < time() - $cached['expire'] * 60 * 60) {
                 $recache = true;
             } else {
                 if (isset($cached['slideexpire']) && $cached['slideexpire'] < $time) {
                     $recache = true;
                 }
             }
         }
     } else {
         $recache = true;
     }
     if (!$recache) {
         $data = $cached['data'];
         if (isset($data['css'])) {
             if (!NextendFilesystem::fileexists(NextendFilesystem::absoluteURLToPath($data['css']))) {
                 $recache = true;
             }
         } else {
             $recache = true;
         }
         if (!isset($data['libraries']) || !isset($data['libraries']['jquery']) || !isset($data['libraries']['jquery']['jsfiles']) || count($data['libraries']['jquery']['jsfiles']) == 0) {
             $recache = true;
         }
     }
     //$recache = true;
     if ($recache) {
         $data = $this->render();
         $cached = array('time' => time(), 'data' => $data);
         if ($this->slider->_generatorParams->get('enabled', 0)) {
             $generatorcached = json_decode(NextendSmartSliderStorage::get('generator' . $sliderid), true);
             if (is_array($generatorcached)) {
                 $cached['time'] = $generatorcached['time'];
                 $cached['expire'] = $this->slider->_generatorParams->get('cachetime', '24');
             }
         }
         if ($slideexpire) {
             $cached['slideexpire'] = $slideexpire;
         }
         NextendSmartSliderStorage::set('slidercache' . $sliderid, json_encode($cached));
         NextendSmartSliderStorage::set('sliderchanged' . $sliderid, '0');
     }
     $this->cssurl = $data['css'];
     if (nextendIsWordPress()) {
         add_action('nextend_css', array($this, 'addCSS'));
     } elseif (nextendIsMagento()) {
         Nextend_SmartSlider2_Model_Observer::$sliders[] = array($this, 'addCSS');
     } else {
         $this->addCSS();
     }
     $js = NextendJavascript::getInstance();
     foreach ($data['js']['core'] as $j) {
         $js->addJsFile($j);
     }
     if (isset($data['libraries']) && count($data['libraries'])) {
         foreach ($data['libraries'] as $library => $jss) {
             $js->loadLibrary($library);
             if (!empty($jss['js'])) {
                 $js->addLibraryJs($library, $jss['js']);
             }
             if (count($jss['jsfiles'])) {
                 foreach ($jss['jsfiles'] as $j) {
                     $js->addLibraryJsFile($library, $j);
                 }
             }
         }
     }
     if (isset($data['fonts']) && count($data['fonts'])) {
         $google = NextendFontsGoogle::getInstance();
         foreach ($data['fonts'] as $k => $v) {
             $style = explode(',', $v[0]);
             $subset = explode(',', $v[1]);
             for ($i = 0; $i < count($style); $i++) {
                 $google->addFont($k, $style[$i], $subset[$i]);
             }
         }
     }
     $slider = $data['html'];
     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('"', '&quot;', do_shortcode(str_replace('&quot;', '"', $matches[2]))) . '"';
             }
         }
         $slider = preg_replace_callback("/data-(click|enter|leave)=\"(.*?)\"/", "ss2_attr_shortcode", $slider);
         $slider = do_shortcode($slider);
     }
     echo $slider;
 }