function ut_twitter_rotator($atts, $content = null)
        {
            extract(shortcode_atts(array('avatar' => 'off', 'width' => '', 'count' => '3', 'speed' => '9000', 'class' => '', 'last' => 'false', '' => ''), $atts));
            /* grid settings */
            $grid = array('third' => 'ut-one-third', 'fourth' => 'ut-one-fourth', 'half' => 'ut-one-half', 'fullwdith' => '');
            $last = $last == 'true' ? 'ut-column-last' : '';
            /* fallback */
            $gridwidth = !empty($grid[$width]) ? $grid[$width] : '';
            $twitter_options = is_array(get_option('ut_twitter_options')) ? get_option('ut_twitter_options') : array();
            /** Set access tokens here - see: https://dev.twitter.com/apps/ **/
            $settings = array('oauth_access_token' => $twitter_options['oauth_access_token'], 'oauth_access_token_secret' => $twitter_options['oauth_access_token_secret'], 'consumer_key' => $twitter_options['consumer_key'], 'consumer_secret' => $twitter_options['consumer_secret']);
            if (empty($twitter_options['oauth_access_token']) || empty($twitter_options['oauth_access_token_secret']) || empty($twitter_options['consumer_key']) || empty($twitter_options['consumer_secret'])) {
                return '<div class="ut-alert themecolor">' . __('Please make sure you have entered all necessary Twitter API Keys under Dashboard -> Settings -> Twitter', 'ut_shortcodes') . '</div>';
            } else {
                /* config */
                $url = 'https://api.twitter.com/1.1/statuses/user_timeline.json';
                $getfield = '?count=' . $count;
                $requestMethod = 'GET';
                $twitter = new TwitterAPIExchange($settings);
                $tweets = $twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest();
                $tweets = json_decode($tweets);
                /* create twitter feed option */
                if (!get_option('ut_twitter_feed')) {
                    add_option('ut_twitter_feed');
                }
                /* update feeds */
                if (!empty($tweets) && !isset($tweets->errors[0]->code)) {
                    update_option('ut_twitter_feed', $tweets);
                }
                /* we have an error - let's use the cached feeds */
                if (empty($tweets) || isset($tweets->errors[0]->code)) {
                    $tweets = get_option('ut_twitter_feed');
                }
                if (empty($tweets)) {
                    return '<div class="ut-alert themecolor">' . __('An Error has occured, no Twitter Feeds are available', 'ut_shortcodes') . '</div>';
                } else {
                    /* set unique ID for this rotator */
                    $id = uniqid("ut_tweet_");
                    /* output for slider without avatar */
                    if ($avatar == 'off') {
                        $script = '
						<script type="text/javascript">
						/* <![CDATA[ */
						
						(function($){
				
							$(document).ready(function(){
												
								$("#' . $id . '").flexslider({
									useCSS: false,  
									animation: "fade",
									directionNav:true,
									controlNav:false,		
									smoothHeight: false,
									animationLoop:true,
									slideshow: false,
									slideshowSpeed: ' . $speed . ',
									prevText: "",
									nextText: ""   
								});
						
							});
				
						})(jQuery);
						
						 /* ]]> */	
						</script>';
                        $quote_rotator = '<div class="ut-testimonials ut-twitter-rotator ' . $gridwidth . ' ' . $last . '">';
                        $quote_rotator .= '<div class="ut-rotate-quote-alt flexslider" id="' . $id . '">';
                        $quote_rotator .= '<ul class="slides">';
                        foreach ($tweets as $tweet) {
                            $tweetdate = new DateTime($tweet->created_at);
                            $tweetdate = strtotime($tweetdate->format('Y-m-d H:i:s'));
                            $currentdate = strtotime(date('Y-m-d H:i:s'));
                            $days = ut_twitter_time_ago($tweetdate, $currentdate);
                            $quote_rotator .= '<li><i class="ut-rq-icon-tw fa fa-twitter fa-3x"></i><h2>' . ut_twitterify($tweet->text) . '</h2><span class="ut-quote-name">' . $tweet->user->name . __(' about ', 'ut_shortcodes') . $days . '</span></li>';
                        }
                        $quote_rotator .= '</ul>';
                        $quote_rotator .= '</div>';
                        $quote_rotator .= '</div>';
                        return $script . $quote_rotator;
                    }
                    /* output for slider with avatar */
                    if ($avatar == 'on') {
                        $script = '
						<script type="text/javascript">
						/* <![CDATA[ */
						
						(function($){
				
							$(document).ready(function(){
								
								$("#avatarSlider_' . $id . '").flexslider({
									animation: "fade",
									directionNav:false,
									controlNav:false,
									smoothHeight: true,
									animationLoop:true,
									slideshow: false,
									slideshowSpeed: 3000,		
									slideToStart: 0,
									prevText: "",
									nextText: ""   
								});
								
								$("#quoteSlider_' . $id . '").flexslider({
									animation: "slide",
									directionNav:true,
									controlNav:false,
									slideshow: false,	
									smoothHeight: true,
									animationLoop:true,
									sync: "#avatarSlider_' . $id . '",
									slideshowSpeed: 3000,			
									slideToStart: 0,
									prevText: "",
									nextText: ""   
								});
						
							});
				
						})(jQuery);
						
						 /* ]]> */	
						</script>';
                        $quote_rotator = '<div class="ut-testimonials ut-twitter-rotator ' . $gridwidth . ' ' . $last . '">';
                        $quote_rotator .= '<div class="ut-rotate-twitter-avatar flexslider" id="avatarSlider_' . $id . '">';
                        $quote_rotator .= '<ul class="slides">';
                        foreach ($tweets as $tweet) {
                            $avatar = preg_replace('/_normal/', '', $tweet->user->profile_image_url);
                            $quote_rotator .= '<li><img alt="' . $tweet->user->name . '" class="ut-twitter-avatar" src="' . $avatar . '" /></li>';
                        }
                        $quote_rotator .= '</ul>';
                        $quote_rotator .= '</div>';
                        $quote_rotator .= '<div class="ut-rotate-quote" id="quoteSlider_' . $id . '">';
                        $quote_rotator .= '<ul class="slides">';
                        foreach ($tweets as $tweet) {
                            $tweetdate = new DateTime($tweet->created_at);
                            $tweetdate = strtotime($tweetdate->format('Y-m-d H:i:s'));
                            $currentdate = strtotime(date('Y-m-d H:i:s'));
                            $days = ut_twitter_time_ago($tweetdate, $currentdate);
                            $quote_rotator .= '<li><h3 class="ut-quote-comment">' . ut_twitterify($tweet->text) . '</h3><span class="ut-quote-name">' . $tweet->user->name . __(' about ', 'ut_shortcodes') . $days . '</span></li>';
                        }
                        $quote_rotator .= '</ul>';
                        $quote_rotator .= '</div>';
                        $quote_rotator .= '</div>';
                        return $script . $quote_rotator;
                    }
                }
            }
        }
    function widget($args, $instance)
    {
        $twitter_options = is_array(get_option('ut_twitter_options')) ? get_option('ut_twitter_options') : array();
        extract($args);
        extract($instance);
        $title = apply_filters($this->slug, $title);
        if (empty($count)) {
            $count = 3;
        }
        /** Set access tokens here - see: https://dev.twitter.com/apps/ **/
        $settings = array('oauth_access_token' => $twitter_options['oauth_access_token'], 'oauth_access_token_secret' => $twitter_options['oauth_access_token_secret'], 'consumer_key' => $twitter_options['consumer_key'], 'consumer_secret' => $twitter_options['consumer_secret']);
        if (empty($twitter_options['oauth_access_token']) || empty($twitter_options['oauth_access_token_secret']) || empty($twitter_options['consumer_key']) || empty($twitter_options['consumer_secret'])) {
            _e('Please make sure you have entered all necessary Twitter API Keys under Dashboard -> Settings -> Twitter', 'ut_lang');
        } else {
            $url = 'https://api.twitter.com/1.1/statuses/user_timeline.json';
            $getfield = '?count=' . $count;
            $requestMethod = 'GET';
            $twitter = new TwitterAPIExchange($settings);
            $tweets = $twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest();
            $tweets = json_decode($tweets);
            /* create twitter feed option */
            if (!get_option('ut_twitter_feed')) {
                add_option('ut_twitter_feed');
            }
            /* update feeds */
            if (!empty($tweets) && !isset($tweets->errors[0]->code)) {
                update_option('ut_twitter_feed', $tweets);
            }
            /* we have an error - let's use the cached feeds */
            if (empty($tweets) || isset($tweets->errors[0]->code)) {
                $tweets = get_option('ut_twitter_feed');
            }
            if (empty($tweets)) {
                return '<div class="ut-alert themecolor">' . __('An Error has occured, no Twitter Feeds are available', 'ut_lang') . '</div>';
            } else {
                /* fallback */
                $title = isset($title) ? $before_title . do_shortcode($title) . $after_title : '';
                /* output */
                echo $before_widget;
                echo $title;
                /* tweets */
                ?>
                
                <div class="ut-tweets">
                    <ul class="tweet_list">
                        
                        <?php 
                foreach ($tweets as $tweet) {
                    ?>
                            
                            <?php 
                    /* tweet data */
                    $tweetdate = new DateTime($tweet->created_at);
                    $tweetdate = strtotime($tweetdate->format('Y-m-d H:i:s'));
                    $currentdate = strtotime(date('Y-m-d H:i:s'));
                    $days = ut_twitter_time_ago($tweetdate, $currentdate);
                    /* end tweet data */
                    ?>
                            
                            <li class="tweet">
                            
                                <div class="">
                                
                                    <div class="tweet-left">
                                        
                                        <img src="<?php 
                    echo $tweet->user->profile_image_url;
                    ?>
">
                                        
                                        <div class="clear"></div>
                                        
                                        <span class="tweet-actions">
                                            <a href="https://twitter.com/intent/favorite?tweet_id=<?php 
                    echo $tweet->id_str;
                    ?>
" title="Favorite" rel="nofollow"><i class="icon-star icon-2"></i></a>
                                            <a href="https://twitter.com/intent/retweet?tweet_id=<?php 
                    echo $tweet->id_str;
                    ?>
" title="Retweet" rel="nofollow"><i class="icon-refresh icon-2"></i></a>
                                        </span>
                                        
                                    </div>
                                    
                                    <div class="tweet-right"> 
                                        
                                        <span class="tweet_text"><?php 
                    echo ut_twitterify($tweet->text);
                    ?>
</span>
                                        
                                    </div>
                                    
                                    <div class="clear"></div>
                                                                        
                                    <div class="tweet-bottom clearfix">
                                    
                                        <span class="tweet_time"><a href="http://twitter.com/<?php 
                    echo $tweet->user->screen_name;
                    ?>
/status/<?php 
                    echo $tweet->id_str;
                    ?>
"><?php 
                    _e('about', 'ut_lang');
                    ?>
 <?php 
                    echo $days;
                    ?>
</a></span>
                                        
                                    </div>
                                    
                            
                                </div>
                                
                            </li>
                        
                        <?php 
                }
                ?>
                        
                    </ul>
                </div>
                
                <?php 
                /* end tweets */
                echo $after_widget;
            }
        }
    }