/** * */ function widget($args, $instance) { global $shortname; extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? __('Recent Tweets', MISS_TEXTDOMAIN) : $instance['title'], $instance, $this->id_base); $tagline = apply_filters('widget_tagline', empty($instance['tagline']) ? __('Recent Tweets', MISS_TEXTDOMAIN) : $instance['tagline'], $instance, $this->id_base); $id = $instance['id']; if (!($number = (int) $instance['number'])) { $number = 5; } else { if ($number < 1) { $number = 1; } else { if ($number > 40) { $number = 40; } } } $username = isset($instance['id']) ? trim($instance['id']) : miss_get_setting('twitter_id'); $type = 'widget'; $miss_get_user_timeline = new miss_timeline_store($oauth_access_token = !empty($instance['oauth_access_token']) ? $instance['oauth_access_token'] : miss_get_setting('oauth_access_token'), $oauth_access_token_secret = !empty($instance['oauth_access_token_secret']) ? $instance['oauth_access_token_secret'] : miss_get_setting('oauth_access_token_secret'), $consumer_key = !empty($instance['consumer_key']) ? $instance['consumer_key'] : miss_get_setting('consumer_key'), $consumer_secret = !empty($instance['consumer_secret']) ? $instance['consumer_secret'] : miss_get_setting('consumer_secret'), $screen_name = $username, $count = $number); $results = $miss_get_user_timeline->returnTweet(); ?> <?php echo $before_widget; ?> <?php echo $before_title . $title . $after_title . '<h6>' . $tagline . '</h6>'; ?> <ul><?php if (isset($results) && is_array($results) && !empty($results)) { foreach ($results as $key => $tweet) { if ($key == "errors") { echo ''; /* echo '<li>'; echo $tweet[0]['message']; echo '</li>'; */ } else { echo '<li>'; echo '<a class="target_blank" target="_BLANK" href="http://twitter.com/1/status/' . $tweet['id_str'] . '" title="' . sprintf(esc_attr__('%1$s ago', MISS_TEXTDOMAIN), miss_relative_time(strtotime($tweet['created_at']))) . '">' . '<i class="im-icon-twitter pull-left"></i>' . miss_filter_tweet($tweet['text']) . '</a>'; echo '</li>'; } } } else { echo '<li>' . __('Tweets not found.', MISS_TEXTDOMAIN) . '</li>'; } ?> </ul><?php echo $after_widget; }
/** * */ function miss_twitter_feed($usernames, $limit = 5, $type) { $out = ''; if (empty($usernames)) { return __('Twitter not configured.', MISS_TEXTDOMAIN); } include_once ABSPATH . WPINC . '/feed.php'; $rss = @fetch_feed('http://twitter.com/statuses/user_timeline/' . $usernames . '.rss'); $tQuery = 'http://search.twitter.com/search.json?q=' . $usernames . '&rpp=' . $limit; $rss = wp_remote_get($tQuery); if (!is_wp_error($rss)) { if (isset($rss['body'])) { $rss = json_decode($rss['body'], false); } else { $rss = (object) array('results' => array('0' => (object) array('id_str' => 0, 'created_at' => 1, 'text' => __('Error occurred, please contact twitter ;)', MISS_TEXTDOMAIN)))); } $rss_items = $rss->results; } else { add_filter('wp_feed_cache_transient_lifetime', 'miss_twitter_feed_cahce_error'); $rss = wp_remote_get($tQuery); $rss = json_decode($rss['body'], false); if (!is_wp_error($rss)) { } else { remove_filter('wp_feed_cache_transient_lifetime', 'miss_twitter_feed_cahce_error'); return '<p>No Twitter Messages</p>'; } remove_filter('wp_feed_cache_transient_lifetime', 'miss_twitter_feed_cahce_error'); } $i = 0; foreach ($rss_items as $item) { if ($type == 'teaser') { $out .= '<a class="tweet target_blank" href="http://twitter.com/1/status/' . $item->id_str . '">'; $out .= miss_filter_tweet($item->text); $out .= sprintf(__('<small> (%1$s ago)</small>', MISS_TEXTDOMAIN), miss_relative_time(strtotime($item->created_at))); $out .= '</a>'; } if ($type == 'widget') { $out .= '<li>'; $out .= '<a class="twitt" target="_BLANK" href="http://twitter.com/1/status/' . $item->id_str . '" title="' . sprintf(esc_attr__('%1$s ago', MISS_TEXTDOMAIN), miss_relative_time(strtotime($item->created_at))) . '"><i class="fa-icon-twitter pull-left"></i><div class="comment"><span class="twitter_time">' . sprintf(esc_attr__('%1$s ago', MISS_TEXTDOMAIN), miss_relative_time(strtotime($item->created_at))) . '</span> ' . miss_filter_tweet($item->text) . '</div></a>'; $out .= '</li>'; } $i++; if ($i >= $limit) { break; } } return $out; }
/** * Recent Tweets */ function miss_recent_tweets() { global $wp_query; $post_obj = $wp_query->get_queried_object(); if (!empty($post_obj) && !empty($post_obj->ID) && get_post_meta($post_obj->ID, '_disable_tweets', true)) { return; } $disable_tweets = apply_atomic('disable_tweets', miss_get_setting('disable_tweets')); //$disable_tweets = miss_get_setting( 'disable_tweets' ); if (!empty($disable_tweets)) { return; } $out = ''; $number = 10; $username = miss_get_setting('twitter_id'); $miss_get_user_timeline = new miss_timeline_store($oauth_access_token = miss_get_setting('oauth_access_token'), $oauth_access_token_secret = miss_get_setting('oauth_access_token_secret'), $consumer_key = miss_get_setting('consumer_key'), $consumer_secret = miss_get_setting('consumer_secret'), $screen_name = $username, $count = $number); $results = $miss_get_user_timeline->returnTweet(); if (isset($results) && is_array($results) && !empty($results)) { foreach ($results as $key => $tweet) { if ($key == "errors") { if (isset($tweet) && isset($tweet[0]) && isset($tweet[0]['message'])) { $out .= '<li> <div class="date">message</div> <div class="text">' . $tweet[0]['message'] . '</div> </li>'; } } else { $out .= '<li>'; $out .= '<div class="date">' . sprintf(esc_attr__(' %1$s ago ', MISS_TEXTDOMAIN), miss_relative_time(strtotime($tweet['created_at']))) . '</div>'; //$out .= '<span class="tw-icon"><i class="im-icon-twitter"></i></span>'; $out .= '<div class="text">' . miss_filter_tweet($tweet['text']) . '</div>'; $out .= '<div class="button_container"><a target="_BLANK" href="http://twitter.com/1/status/' . $tweet['id_str'] . '" class="btn ribbon-style">View details</a></div>'; $out .= '</li>'; } } } else { $out .= '<li>' . __('Tweets not found.', MISS_TEXTDOMAIN) . '</li>'; } $out = ' <div class="twitter-crousel"> <div id="lasttweet"> <!--div class="twitter_controls pull-right"><div class="twitter-prev"><i class="fa-icon-chevron-left"></i></div><div class="twitter-next"><i class="fa-icon-chevron-right"></i></div></div--> <ul class="tweet_holder">' . $out . '</ul> </div> <span class="tw-icon"><i class="im-icon-twitter"></i></span> </div>'; return $out; }