/** @see WP_Widget::widget */
 function widget($args, $instance)
 {
     extract($args);
     $title = apply_filters('widget_title', $instance['title']);
     $positive_variables = array('screen_name', 'shorten_links', 'include_rts', 'exclude_replies', 'links_in_new_window', 'tweet_count', 'show_follow', 'timeout', 'rotation_type', 'show_meta_reply_retweet_favorite', 'official_format', 'show_type', 'list_tag', 'search');
     foreach ($positive_variables as $var) {
         if (isset($instance['tw_' . $var])) {
             $newargs[$var] = $instance['tw_' . $var];
         }
     }
     $negative_variables = array('meta_timestamp', 'meta_screen_name', 'meta_via');
     foreach ($negative_variables as $var) {
         $newargs['show_' . $var] = !$instance['tw_hide_' . $var];
     }
     switch ($newargs['show_follow']) {
         case 2:
             $newargs['no_show_count'] = TRUE;
             $newargs['no_show_screen_name'] = FALSE;
             break;
         case 3:
             $newargs['no_show_count'] = FALSE;
             $newargs['no_show_screen_name'] = TRUE;
             break;
         case 4:
             $newargs['no_show_count'] = TRUE;
             $newargs['no_show_screen_name'] = TRUE;
             break;
         default:
             $newargs['no_show_count'] = FALSE;
             $newargs['no_show_screen_name'] = FALSE;
             break;
     }
     if (empty($newargs['timeout'])) {
         $newargs['timeout'] = 4000;
     }
     switch ($newargs['show_type']) {
         case 1:
             $tweets = rotatingtweets_get_tweets($newargs['screen_name'], $newargs['include_rts'], $newargs['exclude_replies'], true);
             break;
         case 2:
             $tweets = rotatingtweets_get_tweets($newargs['screen_name'], $newargs['include_rts'], $newargs['exclude_replies'], false, $newargs['search']);
             //				$newargs['screen_name'] = '';   // Originally put in to avoid confusion when people have a 'follow' button and a search tweet
             break;
         case 3:
             $tweets = rotatingtweets_get_tweets($newargs['screen_name'], $newargs['include_rts'], $newargs['exclude_replies'], false, false, $newargs['list_tag']);
             break;
         case 0:
         default:
             $tweets = rotatingtweets_get_tweets($newargs['screen_name'], $newargs['include_rts'], $newargs['exclude_replies']);
             break;
     }
     ?>
           <?php 
     echo $before_widget;
     if ($title) {
         echo $before_title . $title . $after_title;
     }
     rotating_tweets_display($tweets, $newargs, TRUE);
     echo $after_widget;
     ?>
     <?php 
 }
 /** @see WP_Widget::widget */
 public function widget($args, $instance)
 {
     extract($args);
     if (!isset($instance['title'])) {
         $instance = array('title' => '', 'tw_show_follow' => FALSE, 'tw_show_type' => 0, 'tw_screen_name' => '', 'tw_include_rts' => FALSE, 'tw_exclude_replies' => FALSE, 'tw_tweet_count' => 5, 'tw_rotation_type' => 'scrollUp', 'tw_official_format' => FALSE, 'tw_hide_meta_timestamp' => FALSE, 'tw_hide_meta_screen_name' => FALSE, 'tw_hide_meta_via' => FALSE, 'tw_show_meta_reply_retweet_favorite' => FALSE);
     }
     $title = apply_filters('widget_title', $instance['title']);
     $positive_variables = array('screen_name', 'shorten_links', 'include_rts', 'exclude_replies', 'links_in_new_window', 'tweet_count', 'show_follow', 'timeout', 'rotation_type', 'show_meta_reply_retweet_favorite', 'official_format', 'show_type', 'list_tag', 'search');
     $newargs['displaytype'] = 'widget';
     $newargs['w3tc_render_to'] = $args['widget_id'];
     foreach ($positive_variables as $var) {
         if (isset($instance['tw_' . $var])) {
             $newargs[$var] = $instance['tw_' . $var];
         }
     }
     $negative_variables = array('meta_timestamp', 'meta_screen_name', 'meta_via');
     foreach ($negative_variables as $var) {
         if (isset($instance['tw_hide_' . $var])) {
             $newargs['show_' . $var] = !$instance['tw_hide_' . $var];
         }
     }
     switch ($newargs['show_follow']) {
         case 2:
             $newargs['no_show_count'] = TRUE;
             $newargs['no_show_screen_name'] = FALSE;
             break;
         case 3:
             $newargs['no_show_count'] = FALSE;
             $newargs['no_show_screen_name'] = TRUE;
             break;
         case 4:
             $newargs['no_show_count'] = TRUE;
             $newargs['no_show_screen_name'] = TRUE;
             break;
         default:
             $newargs['no_show_count'] = FALSE;
             $newargs['no_show_screen_name'] = FALSE;
             break;
     }
     if (empty($newargs['timeout'])) {
         $newargs['timeout'] = 4000;
     }
     $newargs['text_cache_id'] = "rt-wg-" . md5(serialize($newargs));
     $rt_tweet_string = rotatingtweets_get_transient($newargs['text_cache_id']);
     echo $before_widget;
     if ($title) {
         echo $before_title . $title . $after_title;
     }
     if (empty($rt_tweet_string)) {
         switch ($newargs['show_type']) {
             // Favourites
             case 1:
                 $tweets = rotatingtweets_get_tweets($newargs['screen_name'], $newargs['include_rts'], $newargs['exclude_replies'], true);
                 break;
                 // Search
             // Search
             case 2:
                 $tweets = rotatingtweets_get_tweets($newargs['screen_name'], $newargs['include_rts'], $newargs['exclude_replies'], false, $newargs['search']);
                 //				$newargs['screen_name'] = '';   // Originally put in to avoid confusion when people have a 'follow' button and a search tweet
                 break;
                 // List
             // List
             case 3:
                 $tweets = rotatingtweets_get_tweets($newargs['screen_name'], $newargs['include_rts'], $newargs['exclude_replies'], false, false, $newargs['list_tag']);
                 break;
                 // Buddypress
             // Buddypress
             case 4:
                 if (function_exists('bp_displayed_user_id')) {
                     global $bp;
                     $rt_buddyid = bp_displayed_user_id();
                     $rt_buddyargs = array('field' => 'Twitter', 'user_id' => $rt_buddyid);
                     print_r($rt_buddyargs);
                     $rt_buddytwitter = bp_get_profile_field_data($rt_buddyargs);
                     $tweets = rotatingtweets_get_tweets($rt_buddytwitter, $newargs['include_rts'], $newargs['exclude_replies']);
                     break;
                 }
                 // User name
             // User name
             case 0:
             default:
                 $tweets = rotatingtweets_get_tweets($newargs['screen_name'], $newargs['include_rts'], $newargs['exclude_replies']);
                 break;
         }
         if ($tweets) {
             $rt_tweet_string = rotating_tweets_display($tweets, $newargs, false);
         }
     } elseif (WP_DEBUG) {
         $rt_tweet_string .= "<!-- Transient " . $newargs['text_cache_id'] . " loaded -->";
     }
     echo $rt_tweet_string . $after_widget;
 }