<?php // Initialize oAuth helper functions. require_once drupal_get_path('theme', 'porto') . '/includes/twitter.inc'; // Store all the node field data needed to authorize feed. $token = strip_tags(render($content['field_twitter_user_token'])); $token_secret = strip_tags(render($content['field_twitter_user_secret'])); $key = strip_tags(render($content['field_twitter_consumer_key'])); $key_secret = strip_tags(render($content['field_twitter_consumer_secret'])); $count = strip_tags(render($content['field_tweet_count'])); $handle = strip_tags(render($content['field_twitter_handle'])); // Output the handle and link at the top of the feed. $output = '<a class="twitter-account" href="http://www.twitter.com/' . strip_tags(render($content['field_twitter_handle'])) . '" target="_blank">@ ' . strip_tags(render($content['field_twitter_handle'])) . '</a>'; if (!empty($token) && !empty($token_secret) && !empty($key) && !empty($key_secret)) { // Call the returnTweet() function passing field data variables as arguments. $tweet_data = returnTweet($token, $token_secret, $key, $key_secret, $handle, $count); // Start counter and loop through Tweets until count is reached. $i = '0'; while ($i < $count) { // Grab the raw text from the Tweet. $tweet_text = $tweet_data[$i]["text"]; // Grab the Tweet date/time and trim to just the date. $tweet_created = explode(" ", $tweet_data[$i]['created_at']); $tweet_created_trimmed = implode(" ", array_splice($tweet_created, 1, 2)); // Get the links and add the markup. $links = preg_match_all('/https?\\:\\/\\/[^\\" ]+/i', $tweet_text, $link); if ($link[0]) { foreach ($link[0] as $url) { $tweet_text = str_replace($url, "<a href='{$url}'>{$url}</a>", $tweet_text); } }
$results = array(); $french_day = array("Jan" => "Jan", "Feb" => "Fév", "Mar" => "Mar", "Apr" => "Avr", "May" => "Mai", "Jun" => "Jui", "Jul" => "Jui", "Aug" => "Aou", "Sep" => "Sep", "Oct" => "Oct", "Nov" => "Nov", "Dec" => "Déc"); foreach ($tweets as $tweet) { $result = new stdClass(); $result->text = $tweet['text']; $result->date = date('d M', strtotime($tweet['created_at'])); $result->date = substr($result->date, 0, -3) . $french_day[substr($result->date, -3)]; $result->author = $tweet['user']['screen_name']; $result->account = '@' . $tweet['user']['name']; $result->authorpic = $tweet['user']['profile_image_url_https']; if (!empty($tweet['entities']['urls'])) { foreach ($tweet['entities']['urls'] as $url) { $result->text = str_replace($url['url'], '<a target="_blank" href="' . $url['url'] . '">' . $url['url'] . '</a>', $result->text); } } if (!empty($tweet['entities']['hashtags'])) { foreach ($tweet['entities']['hashtags'] as $hashtag) { $result->text = str_replace('#' . $hashtag['text'], '<a target="_blank" href="https://twitter.com/hashtag/' . $hashtag['text'] . '?src=hash">#' . $hashtag['text'] . '</a>', $result->text); } } if (!empty($tweet['entities']['user_mentions'])) { foreach ($tweet['entities']['user_mentions'] as $user) { $result->text = str_replace('@' . $user['screen_name'], '<a target="_blank" href="https://twitter.com/' . $user['screen_name'] . '">@' . $user['screen_name'] . '</a>', $result->text); } } $results[] = $result; } return json_encode($results); } echo returnTweet();