Esempio n. 1
0
 public function __construct($arr)
 {
     $this->services = $arr;
     if (trim($arr['twitterName'])) {
         $connection = getConnectionWithAccessToken($arr['consumer_key'], $arr['consumer_secret'], $arr['access_token'], $arr['access_token_secret']);
         $tweets = $connection->get('https://api.twitter.com/1.1/users/show.json?screen_name=' . $arr['twitterName']) or die('Couldn\'t retrieve tweets! Wrong username?');
         if (!empty($tweets->errors)) {
             if ($tweets->errors[0]->message == 'Invalid or expired token') {
                 echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
             } else {
                 echo '<strong>' . $tweets->errors[0]->message . '</strong>' . $after_widget;
             }
             return;
         }
         $new_twitter = $tweets->followers_count;
         if (empty($new_twitter) || $new_twitter == 0 || $new_twitter == '0') {
             $this->twitter = $arr['twitter'];
         } else {
             $this->twitter = $new_twitter;
         }
     }
     if (trim($arr['facebookFanPageURL'])) {
         $query = wp_remote_get('https://api.facebook.com/method/links.getStats?urls=' . urlencode(trim($arr['facebookFanPageURL'])) . '&format=json');
         if (is_wp_error($query)) {
             print_r($query);
         }
         $result = json_decode($query['body'], true);
         if (empty($result[0]['like_count']) || $result[0]['like_count'] == 0 || $result[0]['like_count'] == '0') {
             $this->facebook = $arr['facebook'];
         } else {
             $this->facebook = $result[0]['like_count'];
         }
     }
 }
Esempio n. 2
0
function etheme_capture_tweets($consumer_key, $consumer_secret, $user_token, $user_secret, $user, $count)
{
    $connection = getConnectionWithAccessToken($consumer_key, $consumer_secret, $user_token, $user_secret);
    $params = array('screen_name' => $user, 'count' => $count);
    $content = $connection->get("statuses/user_timeline", $params);
    //prar($content);
    return json_encode($content);
}
Esempio n. 3
0
 function widget($args, $instance)
 {
     extract($args);
     $title = apply_filters('widget_title', $instance['title']);
     $twitter_username = $instance['twitter_username'];
     $show_num = $instance['show_num'];
     $consumer_key = $instance['consumer_key'];
     $consumer_secret = $instance['consumer_secret'];
     $access_token = $instance['access_token'];
     $access_token_secret = $instance['access_token_secret'];
     $cache_time = $instance['cache_time'];
     // Opening of widget
     echo $before_widget;
     // Open of title tag
     if ($title) {
         echo $before_title . $title . $after_title;
     }
     $last_cache_time = get_option('gdl_twitter_widget_last_cache_time', 0);
     $diff = time() - $last_cache_time;
     $crt = $cache_time * 3600;
     if (empty($last_cache_time) || $diff >= $crt) {
         $connection = getConnectionWithAccessToken($consumer_key, $consumer_secret, $access_token, $access_token_secret);
         $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitter_username . "&count=" . $show_num) or die('Couldn\'t retrieve tweets! Wrong username?');
         if (!empty($tweets->errors)) {
             if ($tweets->errors[0]->message == 'Invalid or expired token') {
                 echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
             } else {
                 echo '<strong>' . $tweets->errors[0]->message . '</strong>' . $after_widget;
             }
             return;
         }
         $tweets_data = array();
         for ($i = 0; $i <= count($tweets); $i++) {
             if (!empty($tweets[$i])) {
                 $tweets_data[$i]['created_at'] = $tweets[$i]->created_at;
                 $tweets_data[$i]['text'] = $tweets[$i]->text;
                 $tweets_data[$i]['status_id'] = $tweets[$i]->id_str;
             }
         }
         update_option('gdl_twitter_widget_tweets', serialize($tweets_data));
         update_option('gdl_twitter_widget_last_cache_time', time());
     } else {
         $tweets_data = maybe_unserialize(get_option('gdl_twitter_widget_tweets'));
     }
     echo '<div class="twitter-whole">';
     echo '<ul id="twitter_update_list">';
     foreach ($tweets_data as $each_tweet) {
         echo '<li>';
         echo '<span>' . convert_links($each_tweet['text']) . '</span>';
         echo '<a target="_blank" href="http://twitter.com/' . $twitter_username . '/statuses/' . $each_tweet['status_id'] . '">' . relative_time($each_tweet['created_at']) . '</a>';
         echo '</li>';
     }
     echo '</ul>';
     echo '</div>';
     // Closing of widget
     echo $after_widget;
 }
Esempio n. 4
0
function tweet($update)
{
    global $config;
    $connection = getConnectionWithAccessToken($config['twitter_oauth_token'], $config['twitter_oauth_token_secret']);
    $parameters = array('status' => $update);
    $status = $connection->post('statuses/update', $parameters);
    // Don't uncomment this as it will break "Update" button in OpenURL results
    //print_r($status);
}
Esempio n. 5
0
 function get($count = 20)
 {
     $username = $this->username;
     // Append the count
     $url = $this->feedUrl;
     $url .= '&count=' . $count;
     $tweets_cache_path = get_template_directory() . '/cache/twitter_' . $username . '_' . $count . '.cache';
     if (file_exists($tweets_cache_path)) {
         $tweets_cache_timer = intval((time() - filemtime($tweets_cache_path)) / 60);
     } else {
         $tweets_cache_timer = 0;
     }
     if (!file_exists($tweets_cache_path) or $tweets_cache_timer > 15) {
         $connection = getConnectionWithAccessToken($this->consumer_key, $this->consumer_secret, $this->access_token, $this->access_token_secret);
         $tweets = $connection->get($url);
         if (!empty($tweets->errors)) {
             if ($tweets->errors[0]->message == 'Invalid or expired token') {
                 echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
             } else {
                 echo '<strong>' . $tweets->errors[0]->message . '</strong>' . $after_widget;
             }
             return;
         }
         $tweets_data = array();
         foreach ($tweets as $tweet) {
             $tweets_data[]['text'] = $tweet->text;
         }
         if (file_exists($tweets_cache_path)) {
             unlink($tweets_cache_path);
         }
         $myFile = $tweets_cache_path;
         $fh = fopen($myFile, 'w') or die("can't open file");
         $stringData = serialize($tweets_data);
         fwrite($fh, $stringData);
         fclose($fh);
         //clear data
         $tweets_data = array();
     }
     error_reporting(0);
     $file = file_get_contents($tweets_cache_path, true);
     if (!empty($file)) {
         $tweets = unserialize($file);
         // Some reformatting
         $pattern = array('/[^(:\\/\\/)](www\\.[^ \\n\\r]+)/', '/(https?:\\/\\/[^ \\n\\r]+)/');
         $replace = array('<a href="http://$1" rel="nofollow">$1</a>', '<a href="$1" rel="nofollow">$1</a>');
         foreach ($tweets as $tweet) {
             $formatted_tweet = preg_replace($pattern, $replace, $tweet['text']);
             $formatted_tweet = auto_link_twitter($formatted_tweet);
             $tweets_data[]['text'] = $formatted_tweet;
         }
     }
     return $tweets_data;
 }
 public function __construct($lng, $lat)
 {
     require_once $_SERVER['DOCUMENT_ROOT'] . "/twitteroauth-master/connect.php";
     require_once $_SERVER['DOCUMENT_ROOT'] . "/twitteroauth-master/twitteroauth/twitteroauth.php";
     function getConnectionWithAccessToken($oauth_token, $oauth_token_secret)
     {
         $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_token, $oauth_token_secret);
         return $connection;
     }
     $connection = getConnectionWithAccessToken("53207076-VqragtGcaPWoldCNrfbnwwWG4dUnP0BbeKcW4xt8m", "OdeBMzodirvxoDrgkKJxNvkEBeB87TUCkamvMpqyULsgq");
     $content = $connection->get("https://api.twitter.com/1.1/geo/search.json?accuracy=3000&lat=38.6480&long=-90.3050");
     $place_id = $content->result->places[0]->id;
     $base_url = "https://twitter.com/search?q=place%3A" . $place_id;
     echo $base_url;
 }
Esempio n. 7
0
function getTweets($twitteruser)
{
    $notweets = 6;
    $consumerkey = "91VWoS0052BKjczqL9LMNKumm";
    $consumersecret = "YPrff3DTDtUw0i3iSRlGQGaGEEG2kW6CqwBFA5PV0Hfs62NDY7";
    $accesstoken = "27766009-jWBg4UotrwxP4f3WWYuwHFlwZeg6fJrrKmXOu52CF";
    $accesstokensecret = "1bAeS1A2wBzkqkPbQZOxViqDb2sOPblPe9IugMz9YsMnI";
    function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
    {
        $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
        return $connection;
    }
    $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
    $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitteruser . "&count=" . $notweets);
    return $tweets;
}
 function get($count = 20)
 {
     $username = $this->username;
     // Append the count
     $url = $this->feedUrl;
     $url .= '&count=' . $count;
     $tweets_cache_path = THEMEUPLOAD . '/twitter_' . $username . '_' . $count . '.cache';
     if (file_exists($tweets_cache_path)) {
         $tweets_cache_timer = intval((time() - filemtime($tweets_cache_path)) / 60);
     } else {
         $tweets_cache_timer = 0;
     }
     if (!file_exists($tweets_cache_path) or $tweets_cache_timer > 15) {
         $connection = getConnectionWithAccessToken($this->consumer_key, $this->consumer_secret, $this->access_token, $this->access_token_secret);
         $tweets = $connection->get($url);
         if (!empty($tweets->errors)) {
             if ($tweets->errors[0]->message == 'Invalid or expired token') {
                 echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!';
             } else {
                 echo '<strong>' . $tweets->errors[0]->message . '</strong>';
             }
             return;
         }
         $tweets_data = array();
         foreach ($tweets as $tweet) {
             $tweet_text = auto_link_twitter($tweet->text);
             $tweets_data[]['text'] = $tweet_text;
         }
         if (file_exists($tweets_cache_path)) {
             unlink($tweets_cache_path);
         }
         $myFile = $tweets_cache_path;
         $fh = fopen($myFile, 'w') or die("can't open file");
         $stringData = serialize($tweets_data);
         fwrite($fh, $stringData);
         fclose($fh);
     } else {
         $file = file_get_contents($tweets_cache_path, true);
         if (!empty($file)) {
             $tweets = unserialize($file);
             foreach ($tweets as $tweet) {
                 $tweets_data[]['text'] = $tweet['text'];
             }
         }
     }
     return $tweets_data;
 }
Esempio n. 9
0
function twitter_parse_cache_feed($args = '')
{
    /* Set up the default arguments for the twitter. */
    $defaults = array('username' => '', 'limit' => '', 'encode_utf8' => 'false', 'twitter_cons_key' => '', 'twitter_cons_secret' => '', 'twitter_oauth_token' => '', 'twitter_oauth_secret' => '');
    $args = apply_filters('twitter_parse_cache_feed_args', $args);
    $args = wp_parse_args($args, $defaults);
    $out = '';
    global $twitter_options;
    if (!(require_once FRAMEWORK_DIR . 'includes/twitteroauth.php')) {
        $out .= '<strong>Couldn\'t find twitteroauth.php!</strong>';
        return;
    }
    $connection = getConnectionWithAccessToken($args['twitter_cons_key'], $args['twitter_cons_secret'], $args['twitter_oauth_token'], $args['twitter_oauth_secret']);
    $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $args['username'] . "&count=" . $args['limit'] . "") or die('Couldn\'t retrieve tweets! Wrong username?');
    //print_r($tweets);
    if (!empty($tweets->errors)) {
        if ($tweets->errors[0]->message == 'Invalid or expired token') {
            $out .= '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
        } else {
            $out .= '<strong>' . $tweets->errors[0]->message . '</strong>';
        }
        return;
    }
    $out .= '<ul class="tweet">';
    for ($i = 0; $i <= count($tweets); $i++) {
        if (!empty($tweets[$i])) {
            $out .= '<li><i class="icon-twitter"></i>';
            $msg = " " . $tweets[$i]->text . " ";
            if ($args['encode_utf8']) {
                $msg = utf8_encode($msg);
            }
            //$link = $message->get_link();
            $time = $tweets[$i]->created_at;
            $msg = hyperlinks($msg);
            $msg = twitter_users($msg);
            $out .= $msg;
            $out .= '<span> - ' . relativeTime($time) . '</span>';
            $out .= '</li>';
        }
    }
    $out .= '</ul>';
    echo $out;
}
Esempio n. 10
0
function get_recent_tweet_by_username($username = null)
{
    if ($username) {
        $twitteruser = $username;
        $number = 1;
        $consumerkey = get_field('sdo_api_twitter_app_consumer_key', 'options');
        $consumersecret = get_field('sdo_api_twitter_app_consumer_secret', 'options');
        $accesstoken = get_field('sdo_api_twitter_app_access_token', 'options');
        $accesstokensecret = get_field('sdo_api_twitter_app_access_token_secret', 'options');
        function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
        {
            $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
            return $connection;
        }
        $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
        $tweet = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitteruser . "&count=" . $number . "&exclude_replies=true&include_rts=false&contributor_details=true&include_entities=true");
        return $tweet[0];
    }
}
function get_tweets()
{
    // The $_REQUEST contains all the data sent via ajax
    if (isset($_REQUEST)) {
        /*// get Vancouver weather from Environment Canada
                $xml=simplexml_load_file("https://weather.gc.ca/rss/city/bc-74_e.xml") or $xml = null;
        
                $weather = "";
                if ($xml) {
                    $weather = $xml->entry[1]->title;
                    $weather = substr($weather, 20); // removes "Current Conditions: " from beginning.
        
        
                    $date = $xml->entry[1]->updated;
                    $date = new DateTime($date);
                    $date = $date->format('d/m/y');
                    $weather = $date." | ".$weather;
                }
        
                echo ($weather);*/
        require_once "twitteroauth-master/twitteroauth/twitteroauth.php";
        //Path to twitteroauth library
        $twitteruser = "******";
        $notweets = 2;
        $consumerkey = "PlxuNdfmNQg1rt9pnF0L8K1kU";
        $consumersecret = "Wkulo79SOsEmlQvqmSCDaiDbO8ywRa0JIvvoBMFdaYPL2d5gH6";
        $accesstoken = "14864996-Ya9fNZarCjMYNyK6HPluj0Mothx3LpioeOdJYCEM5";
        $accesstokensecret = "lqGV9eWg3X6mEWDSnuz4no83cGMXtIZYV6QSNd2jprC0f";
        function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
        {
            $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
            return $connection;
        }
        $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
        $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitteruser . "&count=" . $notweets);
        echo json_encode($tweets);
    }
    // Always die in functions echoing ajax content
    die;
}
Esempio n. 12
0
function twitter_get_tweets($twitteruser)
{
    $cache = get_transient('revoke_twitter');
    if (is_array($cache) && array_key_exists($twitteruser, $cache)) {
        return $cache[$twitteruser];
    }
    $consumerkey = _go('twitter_consumerkey');
    $consumersecret = _go('twitter_consumersecret');
    $accesstoken = _go('twitter_accesstoken');
    $accesstokensecret = _go('twitter_accesstokensecret');
    if (empty($consumerkey) || empty($consumersecret) || empty($accesstoken) || empty($accesstokensecret)) {
        return null;
    }
    $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
    $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitteruser);
    if (!is_array($cache)) {
        $cache = array();
    }
    $cache[$twitteruser] = $tweets;
    set_transient('revoke_twitter', $cache, 60);
    return $tweets;
}
Esempio n. 13
0
function chronos_twitter_feed($count = '1', $list = false)
{
    global $user, $consumerkey, $consumersecret, $accesstoken, $accesstokensecret;
    $output = '';
    $i = 1;
    $twitteruser = $user;
    $notweets = $count;
    $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
    $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitteruser . "&count=" . $notweets);
    $data = json_decode(json_encode($tweets));
    if (is_array($data)) {
        while ($i <= $count) {
            if (isset($data[$i - 1])) {
                $feed = $data[$i - 1]->text;
                $feed = str_pad($feed, 3, ' ', STR_PAD_LEFT);
                $startat = stripos($feed, '@');
                $numat = substr_count($feed, '@');
                $numhash = substr_count($feed, '#');
                $numhttp = substr_count($feed, 'http');
                $feed = preg_replace("#(^|[\n ])([\\w]+?://[\\w]+[^ \"\n\r\t< ]*)#", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $feed);
                $feed = preg_replace("#(^|[\n ])((www|ftp)\\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $feed);
                $feed = preg_replace("/@(\\w+)/", "<a href=\"http://www.twitter.com/\\1\" target=\"_blank\">@\\1</a>", $feed);
                $feed = preg_replace("/#(\\w+)/", "<a href=\"http://search.twitter.com/search?q=\\1\" target=\"_blank\">#\\1</a>", $feed);
                if (!$list) {
                    $output .= sprintf('<div class="">%2$s</div><div class="">%1$s</div>', $feed, chronos_time_ago(strtotime($data[$i - 1]->created_at)));
                } else {
                    $output .= sprintf('<div class="single_row margin-bottom24"><i class="fa fa-twitter icon_element"></i><div class="text border-box">%1$s</div><div class="clearfix"></div></div><!-- single_row -->', $feed);
                }
                if ($i !== $count && $list) {
                    $output .= '<div class="small_separator background-color-passive margin-bottom24"></div>';
                }
            }
            $i++;
        }
        return $output;
    } else {
        return 'Twitter unaviable';
    }
}
 function get_theme_tweets($username, $consumerkey, $consumerkeysecret, $accesstoken, $accesstokensecret, $notweets)
 {
     //check settings and die if not set
     if (empty($username) || empty($consumerkey) || empty($consumerkeysecret) || empty($accesstoken) || empty($accesstokensecret)) {
         echo '<strong>Please fill all Twitter settings!</strong>';
         return;
     }
     //	yes, it needs update
     if (!(require_once 'twitter_oauth.php')) {
         echo '<strong>Couldn\'t find twitter_oauth.php!</strong>';
         return;
     }
     if (!function_exists('getConnectionWithAccessToken')) {
         function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
         {
             $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
             return $connection;
         }
     }
     $connection = getConnectionWithAccessToken($consumerkey, $consumerkeysecret, $accesstoken, $accesstokensecret);
     $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $username . "&count=5") or die('Couldn\'t retrieve tweets! Wrong username?');
     if (!empty($tweets->errors)) {
         if ($tweets->errors[0]->message == 'Invalid or expired token') {
             echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You will need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
         } else {
             echo '<strong>' . $tweets->errors[0]->message . '</strong>' . $after_widget;
         }
         return;
     }
     for ($i = 0; $i <= count($tweets); $i++) {
         if (!empty($tweets[$i])) {
             $tweets_array[$i]['created_at'] = $tweets[$i]->created_at;
             $tweets_array[$i]['text'] = $tweets[$i]->text;
             $tweets_array[$i]['status_id'] = $tweets[$i]->id_str;
         }
     }
     set_transient('twitter-bar-tweets', $tweets_array, 0);
     //convert links to clickable format
     function convert_links($status, $targetBlank = true, $linkMaxLen = 250)
     {
         // the target
         $target = $targetBlank ? " target=\"_blank\" " : "";
         // convert link to url
         $status = preg_replace("/((http:\\/\\/|https:\\/\\/)[^ )\n]+)/e", "'<a href=\"\$1\" title=\"\$1\" {$target} >'. ((strlen('\$1')>={$linkMaxLen} ? substr('\$1',0,{$linkMaxLen}).'...':'\$1')).'</a>'", $status);
         // convert @ to follow
         $status = preg_replace("/(@([_a-z0-9\\-]+))/i", "<a href=\"http://twitter.com/\$2\" title=\"Follow \$2\" {$target} >\$1</a>", $status);
         // convert # to search
         $status = preg_replace("/(#([_a-z0-9\\-]+))/i", "<a href=\"https://twitter.com/search?q=\$2\" title=\"Search \$1\" {$target} >\$1</a>", $status);
         // return the status
         return $status;
     }
     //convert dates to readable format
     function relative_time($a)
     {
         //get current timestampt
         $b = strtotime("now");
         //get timestamp when tweet created
         $c = strtotime($a);
         //get difference
         $d = $b - $c;
         //calculate different time values
         $minute = 60;
         $hour = $minute * 60;
         $day = $hour * 24;
         $week = $day * 7;
         if (is_numeric($d) && $d > 0) {
             //if less then 3 seconds
             if ($d < 3) {
                 return "right now";
             }
             //if less then minute
             if ($d < $minute) {
                 return floor($d) . " seconds ago";
             }
             //if less then 2 minutes
             if ($d < $minute * 2) {
                 return "about 1 minute ago";
             }
             //if less then hour
             if ($d < $hour) {
                 return floor($d / $minute) . " minutes ago";
             }
             //if less then 2 hours
             if ($d < $hour * 2) {
                 return "about 1 hour ago";
             }
             //if less then day
             if ($d < $day) {
                 return floor($d / $hour) . " hours ago";
             }
             //if more then day, but less then 2 days
             if ($d > $day && $d < $day * 2) {
                 return "yesterday";
             }
             //if less then year
             if ($d < $day * 365) {
                 return floor($d / $day) . " days ago";
             }
             //else return more than a year
             return "over a year ago";
         }
     }
     //print tweets
     $tp_twitter_plugin_tweets = maybe_unserialize(get_transient('twitter-bar-tweets'));
     if (!empty($tp_twitter_plugin_tweets)) {
         $fctr = '1';
         foreach ($tp_twitter_plugin_tweets as $tweet) {
             print '<li><span>' . convert_links($tweet['text']) . '</span><a class="created radius label blue" target="_blank" href="http://twitter.com/' . $username . '/statuses/' . $tweet['status_id'] . '">' . relative_time($tweet['created_at']) . '</a></li>';
             if ($fctr == $notweets) {
                 break;
             }
             $fctr++;
         }
     }
 }
</p>
                    </div>
                    <br class="visiblephone">
                    <div class="span9">
                        <div class="well" style=" box-shadow:none !important; margin-bottom:0px; background:#303030; border:0px; border-radius:0px !important">
								<?php 
    if (!(require_once 'inc/twitteroauth.php')) {
        echo '<strong>Couldn\'t find twitteroauth.php!</strong>';
        return;
    }
    function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
    {
        $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
        return $connection;
    }
    $connection = getConnectionWithAccessToken($b_data['TW_CONSUMER_KEY'], $b_data['TW_CONSUMER_SECRET'], $b_data['TW_OAUTH_TOKEN'], $b_data['TW_OAUTH_SECRET']);
    $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $b_data['TW_USERNAME'] . "&count=" . $b_data['TW_NUMBER']);
    if (!empty($tweets->errors)) {
        if ($tweets->errors[0]->message == 'Invalid or expired token') {
            echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!';
        } else {
            echo '<strong>' . $tweets->errors[0]->message . '</strong>';
        }
    }
    if (is_array($tweets)) {
        for ($i = 0; $i <= count($tweets); $i++) {
            if (!empty($tweets[$i])) {
                $tweets_array[$i]['created_at'] = $tweets[$i]->created_at;
                $tweets_array[$i]['text'] = $tweets[$i]->text;
                $tweets_array[$i]['status_id'] = $tweets[$i]->id_str;
            }
function display_latest_tweets($twitter_user_id, $cache_file = './tweets.txt', $tweets_to_display = 5, $ignore_replies = false, $include_rts = false, $twitter_wrap_open = '<ul class="slides">', $twitter_wrap_close = '</ul>', $tweet_wrap_open = '<li>', $meta_wrap_open = '<p class="tweet-meta">', $time_open = '<span class="tweet-time">', $time_close = '</span>', $meta_wrap_close = '</p><p class="tweet-text">', $tweet_wrap_close = '</p></li>', $date_format = 'g:i A M jS', $twitter_style_dates = true)
{
    // Twitter style days. [about an hour ago] (Default : true)
    // Twitter keys (You'll need to visit https://dev.twitter.com and register to get these.
    $consumerkey = "sNjEbKxd2hvm24OQKmsbNDHsd";
    $consumersecret = "zYdQ3az6X9EDjfqJREhCCw0mVLnSqzZamL5tVlPscaS3mSOCOQ";
    $accesstoken = "27026126-8tSI1JWQclqoSoynR9uUPL660ERcQcsZUwQ4HQOVc";
    $accesstokensecret = "n5fO4JGUaQ5wN1owJeMlofEYExQGJ6V4Ylh9ZeravfTVM";
    // Seconds to cache feed (Default : 1 minute).
    $cachetime = 60 * 3;
    // Time that the cache was last updtaed.
    $cache_file_created = file_exists($cache_file) ? filemtime($cache_file) : 0;
    // A flag so we know if the feed was successfully parsed.
    $tweet_found = false;
    // Show cached version of tweets, if it's less than $cachetime.
    if (time() - $cachetime < $cache_file_created) {
        $tweet_found = true;
        // Display tweets from the cache.
        readfile($cache_file);
    } else {
        // Cache file not found, or old. Authenticae app.
        $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
        if ($connection) {
            // Get the latest tweets from Twitter
            $get_tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitter_user_id . "&count=" . $tweets_to_display . "&include_rts=" . $include_rts . "&exclude_replies=" . $ignore_replies);
            // Error check: Make sure there is at least one item.
            if (count($get_tweets)) {
                // Define tweet_count as zero
                $tweet_count = 0;
                // Start output buffering.
                ob_start();
                // Open the twitter wrapping element.
                $twitter_html = $twitter_wrap_open;
                // Iterate over tweets.
                foreach ($get_tweets as $tweet) {
                    $tweet_found = true;
                    $tweet_count++;
                    $tweet_desc = $tweet->text;
                    // Add hyperlink html tags to any urls, twitter ids or hashtags in the tweet.
                    $tweet_desc = preg_replace("/((http)+(s)?:\\/\\/[^<>\\s]+)/i", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $tweet_desc);
                    $tweet_desc = preg_replace("/[@]+([A-Za-z0-9-_]+)/", "<a href=\"http://twitter.com/\\1\" target=\"_blank\">\\0</a>", $tweet_desc);
                    $tweet_desc = preg_replace("/[#]+([A-Za-z0-9-_]+)/", "<a href=\"http://twitter.com/search?q=%23\\1\" target=\"_blank\">\\0</a>", $tweet_desc);
                    // Convert Tweet display time to a UNIX timestamp. Twitter timestamps are in UTC/GMT time.
                    $tweet_time = strtotime($tweet->created_at);
                    if ($twitter_style_dates) {
                        // Current UNIX timestamp.
                        $current_time = time();
                        $time_diff = abs($current_time - $tweet_time);
                        switch ($time_diff) {
                            case $time_diff < 60:
                                $display_time = $time_diff . ' seconds ago';
                                break;
                            case $time_diff >= 60 && $time_diff < 3600:
                                $min = floor($time_diff / 60);
                                $display_time = $min . ' minutes ago';
                                break;
                            case $time_diff >= 3600 && $time_diff < 86400:
                                $hour = floor($time_diff / 3600);
                                $display_time = $hour . ' hr';
                                if ($hour > 1) {
                                    $display_time .= 's';
                                }
                                $display_time .= ' ago';
                                break;
                            default:
                                $display_time = date($date_format, $tweet_time);
                                break;
                        }
                    } else {
                        $display_time = date($date_format, $tweet_time);
                    }
                    // Render the tweet.
                    // $twitter_html .= $tweet_wrap_open.$meta_wrap_open.'<a href="http://twitter.com/'.$twitter_user_id.'">@'.$display_time.'</a>'.html_entity_decode($tweet_desc).$meta_wrap_close.$tweet_wrap_close;
                    $twitter_html .= $tweet_wrap_open . $meta_wrap_open . '<a href="https://www.twitter.com/' . $twitter_user_id . '" target="blank">@' . $twitter_user_id . '</a>' . $time_open . $display_time . $time_close . $meta_wrap_close . html_entity_decode($tweet_desc) . $tweet_wrap_close;
                    // If we have processed enough tweets, stop.
                    if ($tweet_count >= $tweets_to_display) {
                        break;
                    }
                }
                // Close the twitter wrapping element.
                $twitter_html .= $twitter_wrap_close;
                echo $twitter_html;
                // Generate a new cache file.
                $file = fopen($cache_file, 'w');
                // Save the contents of output buffer to the file, and flush the buffer.
                fwrite($file, ob_get_contents());
                fclose($file);
                ob_end_flush();
            }
        }
    }
}
Esempio n. 17
0
<?php

require_once 'config.inc.php';
require_once 'lib.php';
date_default_timezone_set('UTC');
// OAuth
require_once 'twitteroauth/twitteroauth.php';
function getConnectionWithAccessToken($oauth_token, $oauth_token_secret)
{
    global $config;
    $connection = new TwitterOAuth($config['consumer_key'], $config['consumer_secret'], $oauth_token, $oauth_token_secret);
    return $connection;
}
if ($config['oauth']) {
    $connection = getConnectionWithAccessToken($config['oauth_token'], $config['oauth_token_secret']);
} else {
}
$lastpublished = strtotime('10 September 2000');
$published = $lastpublished;
echo $lastpublished . "\n";
$filename = dirname(__FILE__) . '/published.json';
if (file_exists($filename)) {
    $file = @fopen($filename, "a+") or die("could't open file --\"{$filename}\"");
    $json = fread($file, filesize($filename));
    fclose($file);
    $lastpublished = json_decode($json);
    $published = $lastpublished;
}
echo "Last published={$lastpublished}\n";
echo "Published={$published}\n";
// Fetch feed
Esempio n. 18
0
<?php

session_start();
require_once "twitteroauth/twitteroauth.php";
//Path to twitteroauth library
$twitteruser = "******";
$notweets = 30;
$consumerkey = "enter-consumerkey-here";
$consumersecret = "enter-consumersecret-here";
$accesstoken = "enter-accesstoken-here";
$accesstokensecret = "enter-accesstoken-here";
function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
{
    $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
    return $connection;
}
$connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitteruser . "&count=" . $notweets);
echo json_encode($tweets);
Esempio n. 19
0
		<?php 
$gdl_show_twitter = get_option(THEME_SHORT_NAME . '_show_twitter_bar', 'enable') == 'enable' ? true : false;
$gdl_homepage_twitter = get_option(THEME_SHORT_NAME . '_show_twitter_only_homepage', 'disable') == 'enable' ? true : false;
if ($gdl_show_twitter && ($gdl_homepage_twitter && is_front_page() || !$gdl_homepage_twitter)) {
    $twitter_id = get_option(THEME_SHORT_NAME . '_twitter_bar_id');
    $num_fetch = get_option(THEME_SHORT_NAME . '_twitter_num_fetch');
    $consumer_key = get_option(THEME_SHORT_NAME . '_twitter_bar_consumer_id');
    $consumer_secret = get_option(THEME_SHORT_NAME . '_twitter_bar_consumer_secret');
    $access_token = get_option(THEME_SHORT_NAME . '_twitter_bar_access_token');
    $access_token_secret = get_option(THEME_SHORT_NAME . '_twitter_bar_access_token_secret');
    $cache_time = get_option(THEME_SHORT_NAME . '_twitter_bar_cache_time', '1');
    $last_cache_time = get_option(THEME_SHORT_NAME . '_twitter_bar_last_cache_time', 0);
    $diff = time() - $last_cache_time;
    $crt = $cache_time * 3600;
    if (empty($last_cache_time) || $diff >= $crt) {
        $connection = getConnectionWithAccessToken($consumer_key, $consumer_secret, $access_token, $access_token_secret);
        $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitter_id . "&count=" . $num_fetch) or die('Couldn\'t retrieve tweets! Wrong username?');
        if (!empty($tweets->errors)) {
            if ($tweets->errors[0]->message == 'Invalid or expired token') {
                echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
            } else {
                echo '<strong>' . $tweets->errors[0]->message . '</strong>' . $after_widget;
            }
            return;
        }
        $tweets_data = array();
        for ($i = 0; $i <= count($tweets); $i++) {
            if (!empty($tweets[$i])) {
                $tweets_data[$i]['created_at'] = $tweets[$i]->created_at;
                $tweets_data[$i]['text'] = $tweets[$i]->text;
                $tweets_data[$i]['status_id'] = $tweets[$i]->id_str;
Esempio n. 20
0
// setup varibles
$modules = get_option('reza_modules');
// user settings
$user = $modules['tweets_username'];
$count = 1;
// key settings
$apikey = $modules['tweets_api_key'];
$apisecret = $modules['tweets_api_secret'];
$accesstoken = $modules['tweets_access_token'];
$accesstokensecret = $modules['tweets_access_token_secret'];
function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
{
    $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
    return $connection;
}
$connection = getConnectionWithAccessToken($apikey, $apisecret, $accesstoken, $accesstokensecret);
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $user . "&count=" . $count);
/**
 * Find links and create the hyperlinks
 */
function links($tweets)
{
    $tweets = preg_replace('/\\b([a-zA-Z]+:\\/\\/[\\w_.\\-]+\\.[a-zA-Z]{2,6}[\\/\\w\\-~.?=&%#+$*!]*)\\b/i', "<a href=\"\$1\" class=\"twitter-link\">\$1</a>", $tweets);
    $tweets = preg_replace('/\\b(?<!:\\/\\/)(www\\.[\\w_.\\-]+\\.[a-zA-Z]{2,6}[\\/\\w\\-~.?=&%#+$*!]*)\\b/i', "<a href=\"http://\$1\" class=\"twitter-link\">\$1</a>", $tweets);
    // match @username
    $tweets = preg_replace('/([\\.|\\,|\\:|\\¡|\\¿|\\>|\\{|\\(]?)@{1}(\\w*)([\\.|\\,|\\:|\\!|\\?|\\>|\\}|\\)]?)\\s/i', "\$1<a href=\"http://twitter.com/\$2\" class=\"twitter-user\">@\$2</a>\$3 ", $tweets);
    // match name@address
    $tweets = preg_replace("/\\b([a-zA-Z][a-zA-Z0-9\\_\\.\\-]*[a-zA-Z]*\\@[a-zA-Z][a-zA-Z0-9\\_\\.\\-]*[a-zA-Z]{2,6})\\b/i", "<a href=\"mailto://\$1\" class=\"twitter-link\">\$1</a>", $tweets);
    //match #trending
    $tweets = preg_replace('/([\\.|\\,|\\:|\\¡|\\¿|\\>|\\{|\\(]?)#{1}(\\w*)([\\.|\\,|\\:|\\!|\\?|\\>|\\}|\\)]?)\\s/i', "\$1<a href=\"http://twitter.com/#search?q=\$2\" class=\"twitter-link\">#\$2</a>\$3 ", $tweets);
    return $tweets;
Esempio n. 21
0
 public function widget($args, $instance)
 {
     extract($args);
     if (!empty($instance['title'])) {
         $title = apply_filters('widget_title', $instance['title']);
     }
     echo $before_widget;
     if (!empty($title)) {
         echo $before_title . $title . $after_title;
     }
     if (empty($instance['consumerkey']) || empty($instance['consumersecret']) || empty($instance['accesstoken']) || empty($instance['accesstokensecret']) || empty($instance['cachetime']) || empty($instance['username'])) {
         echo '<strong>Please fill all widget settings!</strong>' . $after_widget;
         return;
     }
     // Check cache time
     $tc_recent_tweets_cache_time = get_option('tc_recent_tweets_cache_time');
     $diff = time() - $tc_recent_tweets_cache_time;
     $crt = $instance['cachetime'] * 3600;
     //require_once('twitteroauth.php');
     if ($diff >= $crt || empty($tc_recent_tweets_cache_time)) {
         if (!(require_once 'twitteroauth.php')) {
             echo '<strong>Couldn\'t find twitteroauth.php!</strong>' . $after_widget;
             return;
         }
         function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
         {
             $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
             return $connection;
         }
         $connection = getConnectionWithAccessToken($instance['consumerkey'], $instance['consumersecret'], $instance['accesstoken'], $instance['accesstokensecret']);
         $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $instance['username'] . "&count=10") or die('Couldn\'t retrieve tweets! Wrong username?');
         if (!empty($tweets->errors)) {
             if ($tweets->errors[0]->message == 'Invalid or expired token') {
                 echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
             } else {
                 echo '<strong>' . $tweets->errors[0]->message . '</strong>' . $after_widget;
             }
             return;
         }
         for ($i = 0; $i <= count($tweets); $i++) {
             if (!empty($tweets[$i])) {
                 $tweets_array[$i]['created_at'] = $tweets[$i]->created_at;
                 $tweets_array[$i]['text'] = $tweets[$i]->text;
                 $tweets_array[$i]['status_id'] = $tweets[$i]->id_str;
             }
         }
         //save tweets to wp option
         update_option('mts_twitter_plugin_tweets', serialize($tweets_array));
         update_option('tc_recent_tweets_cache_time', time());
         echo '<!-- twitter cache has been updated! -->';
     }
     //convert links to clickable format
     function convert_links($status, $targetBlank = true, $linkMaxLen = 250)
     {
         $target = $targetBlank ? " target=\"_blank\" " : "";
         // the target
         $status = preg_replace("/((http:\\/\\/|https:\\/\\/)[^ )]+)/e", "'<a href=\"\$1\" title=\"\$1\" {$target} >'. ((strlen('\$1')>={$linkMaxLen} ? substr('\$1',0,{$linkMaxLen}).'...':'\$1')).'</a>'", $status);
         // convert link to url
         $status = preg_replace("/(@([_a-z0-9\\-]+))/i", "<a href=\"http://twitter.com/\$2\" title=\"Follow \$2\" {$target} >\$1</a>", $status);
         // convert @ to follow
         $status = preg_replace("/(#([_a-z0-9\\-]+))/i", "<a href=\"https://twitter.com/search?q=\$2\" title=\"Search \$1\" {$target} >\$1</a>", $status);
         // convert # to search
         return $status;
         // return the status
     }
     //convert dates to readable format
     function relative_time($a)
     {
         $b = strtotime("now");
         //get current timestampt
         $c = strtotime($a);
         //get timestamp when tweet created
         $d = $b - $c;
         //get difference
         $minute = 60;
         //calculate different time values
         $hour = $minute * 60;
         $day = $hour * 24;
         $week = $day * 7;
         if (is_numeric($d) && $d > 0) {
             if ($d < 3) {
                 return "right now";
             }
             //if less then 3 seconds
             if ($d < $minute) {
                 return floor($d) . " seconds ago";
             }
             //if less then minute
             if ($d < $minute * 2) {
                 return "about 1 minute ago";
             }
             //if less then 2 minutes
             if ($d < $hour) {
                 return floor($d / $minute) . " minutes ago";
             }
             //if less then hour
             if ($d < $hour * 2) {
                 return "about 1 hour ago";
             }
             //if less then 2 hours
             if ($d < $day) {
                 return floor($d / $hour) . " hours ago";
             }
             //if less then day
             if ($d > $day && $d < $day * 2) {
                 return "yesterday";
             }
             //if more then day, but less then 2 days
             if ($d < $day * 365) {
                 return floor($d / $day) . " days ago";
             }
             //if less then year
             return "over a year ago";
             //else return more than a year
         }
     }
     $mts_twitter_plugin_tweets = maybe_unserialize(get_option('mts_twitter_plugin_tweets'));
     if (!empty($mts_twitter_plugin_tweets)) {
         print '<div class="tc-recent-tweets tweets"><ul>';
         $fctr = '1';
         foreach ($mts_twitter_plugin_tweets as $tweet) {
             print '<li><span>' . convert_links($tweet['text']) . '</span><br /><a class="twitter-time" target="_blank" href="http://twitter.com/' . $instance['username'] . '/statuses/' . $tweet['status_id'] . '">' . relative_time($tweet['created_at']) . '</a></li>';
             if ($fctr == $instance['tweetstoshow']) {
                 break;
             }
             $fctr++;
         }
         print '</ul></div>';
     }
     echo $after_widget;
 }
Esempio n. 22
0
 public function widget($args, $instance)
 {
     extract($args);
     if (!empty($instance['title'])) {
         $title = apply_filters('widget_title', $instance['title']);
     }
     echo $before_widget;
     if (!empty($title)) {
         echo $before_title . $title . $after_title;
     }
     //check settings and die if not set
     if (empty($instance['consumerkey']) || empty($instance['consumersecret']) || empty($instance['accesstoken']) || empty($instance['accesstokensecret']) || empty($instance['cachetime']) || empty($instance['username'])) {
         echo '<strong>Please fill all widget settings!</strong>' . $after_widget;
         return;
     }
     //check if cache needs update
     $tp_twitter_plugin_last_cache_time = get_option('tp_twitter_plugin_last_cache_time');
     $diff = time() - $tp_twitter_plugin_last_cache_time;
     $crt = $instance['cachetime'] * 3600;
     //	yes, it needs update
     if ($diff >= $crt || empty($tp_twitter_plugin_last_cache_time)) {
         if (!class_exists('TwitterOAuth')) {
             if (!(require_once TEMPLATEPATH . '/widgets/twitter/twitteroauth.php')) {
                 echo '<strong>Couldn\'t find twitteroauth.php!</strong>' . $after_widget;
                 return;
             }
         }
         function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
         {
             $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
             return $connection;
         }
         $connection = getConnectionWithAccessToken($instance['consumerkey'], $instance['consumersecret'], $instance['accesstoken'], $instance['accesstokensecret']);
         $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $instance['username'] . "&count=10") or die('Couldn\'t retrieve tweets! Wrong username?');
         if (!empty($tweets->errors)) {
             if ($tweets->errors[0]->message == 'Invalid or expired token') {
                 echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
             } else {
                 echo '<strong>' . $tweets->errors[0]->message . '</strong>' . $after_widget;
             }
             return;
         }
         for ($i = 0; $i <= count($tweets); $i++) {
             if (!empty($tweets[$i])) {
                 $tweets_array[$i]['created_at'] = $tweets[$i]->created_at;
                 $tweets_array[$i]['text'] = $tweets[$i]->text;
                 $tweets_array[$i]['status_id'] = $tweets[$i]->id_str;
             }
         }
         //save tweets to wp option
         update_option('tp_twitter_plugin_tweets', serialize($tweets_array));
         update_option('tp_twitter_plugin_last_cache_time', time());
         echo '<!-- twitter cache has been updated! -->';
     }
     //convert links to clickable format
     function convert_links($status, $targetBlank = true, $linkMaxLen = 250)
     {
         // the target
         $target = $targetBlank ? " target=\"_blank\" " : "";
         // convert link to url
         $status = preg_replace("/((http:\\/\\/|https:\\/\\/)[^ )\n]+)/e", "'<a href=\"\$1\" title=\"\$1\" {$target} >'. ((strlen('\$1')>={$linkMaxLen} ? substr('\$1',0,{$linkMaxLen}).'...':'\$1')).'</a>'", $status);
         // convert @ to follow
         $status = preg_replace("/(@([_a-z0-9\\-]+))/i", "<a href=\"http://twitter.com/\$2\" title=\"Follow \$2\" {$target} >\$1</a>", $status);
         // convert # to search
         $status = preg_replace("/(#([_a-z0-9\\-]+))/i", "<a href=\"https://twitter.com/search?q=\$2\" title=\"Search \$1\" {$target} >\$1</a>", $status);
         // return the status
         return $status;
     }
     //convert dates to readable format
     function relative_time($a)
     {
         //get current timestampt
         $b = strtotime("now");
         //get timestamp when tweet created
         $c = strtotime($a);
         //get difference
         $d = $b - $c;
         //calculate different time values
         $minute = 60;
         $hour = $minute * 60;
         $day = $hour * 24;
         $week = $day * 7;
         if (is_numeric($d) && $d > 0) {
             //if less then 3 seconds
             if ($d < 3) {
                 return "right now";
             }
             //if less then minute
             if ($d < $minute) {
                 return floor($d) . " seconds ago";
             }
             //if less then 2 minutes
             if ($d < $minute * 2) {
                 return "about 1 minute ago";
             }
             //if less then hour
             if ($d < $hour) {
                 return floor($d / $minute) . " minutes ago";
             }
             //if less then 2 hours
             if ($d < $hour * 2) {
                 return "about 1 hour ago";
             }
             //if less then day
             if ($d < $day) {
                 return floor($d / $hour) . " hours ago";
             }
             //if more then day, but less then 2 days
             if ($d > $day && $d < $day * 2) {
                 return "yesterday";
             }
             //if less then year
             if ($d < $day * 365) {
                 return floor($d / $day) . " days ago";
             }
             //else return more than a year
             return "over a year ago";
         }
     }
     $tp_twitter_plugin_tweets = maybe_unserialize(get_option('tp_twitter_plugin_tweets'));
     if (!empty($tp_twitter_plugin_tweets)) {
         //print '<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="http://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>';
         print '<script>jQuery(window).load(function () { jQuery.getScript(\'http://platform.twitter.com/widgets.js\'); });</script>';
         print '<div class="twitter-feed">';
         print '<div class="tweets" id="twitterFeed">';
         $fctr = '1';
         if (is_array($tp_twitter_plugin_tweets)) {
             foreach ($tp_twitter_plugin_tweets as $tweet) {
                 print '<div><a class="twTime" target="_blank" href="http://twitter.com/' . $instance['username'] . '/statuses/' . $tweet['status_id'] . '"><span>' . relative_time($tweet['created_at']) . '</span></a>' . convert_links($tweet['text']) . '</div>';
                 if ($fctr == $instance['tweetstoshow']) {
                     break;
                 }
                 $fctr++;
             }
         }
         print '</div>';
         print '<a href="https://twitter.com/' . $instance['username'] . '" class="twitter-follow-button" data-show-count="false">Follow @' . $instance['username'] . '</a>';
         print '</div><!-- end twitter-feed -->';
         // print '
         // <div class="tp_recent_tweets">
         // 	<ul>';
         // 	$fctr = '1';
         // 	foreach($tp_twitter_plugin_tweets as $tweet){
         // 		print '<li><span>'.convert_links($tweet['text']).'</span><br /><a class="twitter_time" target="_blank" href="http://twitter.com/'.$instance['username'].'/statuses/'.$tweet['status_id'].'">'.relative_time($tweet['created_at']).'</a></li>';
         // 		if($fctr == $instance['tweetstoshow']){ break; }
         // 		$fctr++;
         // 	}
         // print '
         // 	</ul>
         // </div>';
     }
     echo $after_widget;
 }
Esempio n. 23
0
    function widget($args, $instance)
    {
        extract($args);
        if (!empty($instance['title'])) {
            $title = apply_filters('widget_title', $instance['title']);
        }
        echo $before_widget;
        if (!empty($title)) {
            echo $before_title . $title . $after_title;
        }
        //check settings and die if not set
        if (empty($instance['username'])) {
            echo '<strong>Please fill all widget settings!</strong>' . $after_widget;
            return;
        }
        if (function_exists('ot_get_option')) {
            $consumerkey = '';
            if (ot_get_option('meganews_twitter_consumer_key')) {
                $consumerkey = ot_get_option('meganews_twitter_consumer_key');
            }
            $consumersecret = '';
            if (ot_get_option('meganews_twitter_consumer_secret')) {
                $consumersecret = ot_get_option('meganews_twitter_consumer_secret');
            }
            $accesstoken = '';
            if (ot_get_option('meganews_twitter_access_token')) {
                $accesstoken = ot_get_option('meganews_twitter_access_token');
            }
            $accesstokensecret = '';
            if (ot_get_option('meganews_twitter_access_secret_token')) {
                $accesstokensecret = ot_get_option('meganews_twitter_access_secret_token');
            }
            $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
            $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $instance['username'] . "&count=10") or die('Couldn\'t retrieve tweets! Wrong username?');
        }
        if (!empty($tweets->errors)) {
            if ($tweets->errors[0]->message == 'Invalid or expired token') {
                echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
            } else {
                echo '<strong>' . $tweets->errors[0]->message . '</strong>' . $after_widget;
            }
            return;
        }
        for ($i = 0; $i <= count($tweets); $i++) {
            if (!empty($tweets[$i])) {
                $tweets_array[$i]['created_at'] = $tweets[$i]->created_at;
                $tweets_array[$i]['text'] = $tweets[$i]->text;
                $tweets_array[$i]['status_id'] = $tweets[$i]->id_str;
            }
        }
        //save tweets to wp option
        update_option('tp_twitter_plugin_tweets', serialize($tweets_array));
        update_option('tp_twitter_plugin_last_cache_time', time());
        echo '<!-- twitter cache has been updated! -->';
        $tp_twitter_plugin_tweets = maybe_unserialize(get_option('tp_twitter_plugin_tweets'));
        if (!empty($tp_twitter_plugin_tweets)) {
            print '
						<div class="twitter_updates">
							<ul class="tweet_list">';
            $fctr = '1';
            foreach ($tp_twitter_plugin_tweets as $tweet) {
                print '<li>' . convert_links($tweet['text']) . '<br /><span class="tweet_time"><a target="_blank" href="http://twitter.com/' . $instance['username'] . '/statuses/' . $tweet['status_id'] . '">' . relative_time($tweet['created_at']) . '</a></span></li>';
                if ($fctr == $instance['tweetstoshow']) {
                    break;
                }
                $fctr++;
            }
            print '
							</ul>
						</div>';
        }
        echo $after_widget;
    }
Esempio n. 24
0
 function get_theme_tweets($username, $consumerkey, $consumerkeysecret, $accesstoken, $accesstokensecret, $notweets)
 {
     //check settings and die if not set
     if (empty($username) || empty($consumerkey) || empty($consumerkeysecret) || empty($accesstoken) || empty($accesstokensecret)) {
         echo '<strong>Please fill all Twitter settings!</strong>';
         return;
     }
     //	yes, it needs update
     function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
     {
         $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
         return $connection;
     }
     $cacheContent = file_get_contents(__DIR__ . '/cache.txt');
     if (!empty($cacheContent)) {
         $cacheContent = json_decode($cacheContent, true);
     }
     if (empty($cacheContent) || time() - $cacheContent['time'] > 60) {
         $connection = getConnectionWithAccessToken($consumerkey, $consumerkeysecret, $accesstoken, $accesstokensecret);
         $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $username . "&count=10") or die('Couldn\'t retrieve tweets! Wrong username?');
         if (!empty($tweets->errors)) {
             if ($tweets->errors[0]->message == 'Invalid or expired token') {
                 echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You will need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
             } else {
                 echo '<strong>' . $tweets->errors[0]->message . '</strong>' . $after_widget;
             }
             return;
         }
         for ($i = 0; $i <= count($tweets); $i++) {
             if (!empty($tweets[$i])) {
                 $tweets_array[$i]['created_at'] = $tweets[$i]->created_at;
                 $tweets_array[$i]['text'] = $tweets[$i]->text;
                 $tweets_array[$i]['status_id'] = $tweets[$i]->id_str;
             }
         }
         $cacheContent = array('time' => time(), 'tweets' => $tweets_array);
         file_put_contents(__DIR__ . '/cache.txt', json_encode($cacheContent));
     } else {
         $tweets_array = $cacheContent['tweets'];
     }
     set_transient('twitter-bar-tweets', $tweets_array, 0);
     //convert links to clickable format
     function convert_links($status)
     {
         // convert link to url
         $status = preg_replace_callback("/((http:\\/\\/|https:\\/\\/)[^ )]+)/i", function ($u) {
             return '<a href="' . $u[0] . '" target="_blank">' . $u[0] . '</a>';
         }, $status);
         // convert @ to follow
         $status = preg_replace_callback("/(@([_a-z0-9\\-]+))/i", function ($u) {
             return '<a href="http://twitter.com/' . $u[2] . '" title="Follow ' . $u[1] . '" target="_blank">' . $u[1] . '</a>';
         }, $status);
         // convert # to search
         $status = preg_replace_callback("/(#([_a-z0-9\\-]+))/i", function ($u) {
             return '<a href="https://twitter.com/search?q=' . $u[2] . '" title="Search ' . $u[0] . '" target="_blank">' . $u[0] . '</a>';
         }, $status);
         // return the status
         return $status;
     }
     //convert dates to readable format
     function relative_time($a)
     {
         //get current timestampt
         $b = strtotime("now");
         //get timestamp when tweet created
         $c = strtotime($a);
         //get difference
         $d = $b - $c;
         //calculate different time values
         $minute = 60;
         $hour = $minute * 60;
         $day = $hour * 24;
         $week = $day * 7;
         if (is_numeric($d) && $d > 0) {
             //if less then 3 seconds
             if ($d < 3) {
                 return "right now";
             }
             //if less then minute
             if ($d < $minute) {
                 return floor($d) . " seconds ago";
             }
             //if less then 2 minutes
             if ($d < $minute * 2) {
                 return "about 1 minute ago";
             }
             //if less then hour
             if ($d < $hour) {
                 return floor($d / $minute) . " minutes ago";
             }
             //if less then 2 hours
             if ($d < $hour * 2) {
                 return "about 1 hour ago";
             }
             //if less then day
             if ($d < $day) {
                 return floor($d / $hour) . " hours ago";
             }
             //if more then day, but less then 2 days
             if ($d > $day && $d < $day * 2) {
                 return "yesterday";
             }
             //if less then year
             if ($d < $day * 365) {
                 return floor($d / $day) . " days ago";
             }
             //else return more than a year
             return "over a year ago";
         }
     }
     //print tweets
     $tp_twitter_plugin_tweets = maybe_unserialize(get_transient('twitter-bar-tweets'));
     if (!empty($tp_twitter_plugin_tweets)) {
         $fctr = '1';
         foreach ($tp_twitter_plugin_tweets as $tweet) {
             print '<div>' . convert_links($tweet['text']) . '</div>';
             if ($fctr == $notweets) {
                 break;
             }
             $fctr++;
         }
     }
 }
Esempio n. 25
0
    public function widget($args, $instance)
    {
        extract($args);
        if (!empty($instance['title'])) {
            $title = apply_filters('widget_title', $instance['title']);
        }
        echo $before_widget;
        if (!empty($title)) {
            echo $before_title . $title . $after_title;
        }
        //check settings and die if not set
        if (empty($instance['consumerkey']) || empty($instance['consumersecret']) || empty($instance['accesstoken']) || empty($instance['accesstokensecret']) || empty($instance['cachetime']) || empty($instance['username'])) {
            echo '<strong>Please fill all widget settings!</strong>' . $after_widget;
            return;
        }
        //check if cache needs update
        $tp_twitter_plugin_last_cache_time = get_option('tp_twitter_plugin_last_cache_time');
        $diff = time() - $tp_twitter_plugin_last_cache_time;
        $crt = $instance['cachetime'] * 3600;
        //	yes, it needs update
        if ($diff >= $crt || empty($tp_twitter_plugin_last_cache_time)) {
            if (!(require_once 'twitteroauth.php')) {
                echo '<strong>Couldn\'t find twitteroauth.php!</strong>' . $after_widget;
                return;
            }
            function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret)
            {
                $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
                return $connection;
            }
            $connection = getConnectionWithAccessToken($instance['consumerkey'], $instance['consumersecret'], $instance['accesstoken'], $instance['accesstokensecret']);
            $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $instance['username'] . "&count=10&exclude_replies=" . $instance['excludereplies']) or die('Couldn\'t retrieve tweets! Wrong username?');
            if (!empty($tweets->errors)) {
                if ($tweets->errors[0]->message == 'Invalid or expired token') {
                    echo '<strong>' . $tweets->errors[0]->message . '!</strong><br />You\'ll need to regenerate it <a href="https://dev.twitter.com/apps" target="_blank">here</a>!' . $after_widget;
                } else {
                    echo '<strong>' . $tweets->errors[0]->message . '</strong>' . $after_widget;
                }
                return;
            }
            $tweets_array = array();
            for ($i = 0; $i <= count($tweets); $i++) {
                if (!empty($tweets[$i])) {
                    $tweets_array[$i]['created_at'] = $tweets[$i]->created_at;
                    //clean tweet text
                    $tweets_array[$i]['text'] = preg_replace('/[\\x{10000}-\\x{10FFFF}]/u', '', $tweets[$i]->text);
                    if (!empty($tweets[$i]->id_str)) {
                        $tweets_array[$i]['status_id'] = $tweets[$i]->id_str;
                    }
                }
            }
            //save tweets to wp option
            update_option('tp_twitter_plugin_tweets', serialize($tweets_array));
            update_option('tp_twitter_plugin_last_cache_time', time());
            echo '<!-- twitter cache has been updated! -->';
        }
        $tp_twitter_plugin_tweets = maybe_unserialize(get_option('tp_twitter_plugin_tweets'));
        if (!empty($tp_twitter_plugin_tweets)) {
            print '
						<div class="tp_recent_tweets">
							<ul>';
            $fctr = '1';
            foreach ($tp_twitter_plugin_tweets as $tweet) {
                if (!empty($tweet['text'])) {
                    if (empty($tweet['status_id'])) {
                        $tweet['status_id'] = '';
                    }
                    if (empty($tweet['created_at'])) {
                        $tweet['created_at'] = '';
                    }
                    print '<li><span>' . tp_convert_links($tweet['text']) . '</span><br /><a class="twitter_time" target="_blank" href="http://twitter.com/' . $instance['username'] . '/statuses/' . $tweet['status_id'] . '">' . tp_relative_time($tweet['created_at']) . '</a></li>';
                    if ($fctr == $instance['tweetstoshow']) {
                        break;
                    }
                    $fctr++;
                }
            }
            print '
							</ul>
						</div>';
        }
        echo $after_widget;
    }
Esempio n. 26
0
define('_OAUTH_TOKEN_SECRET', 'HSPzhYqQli2TheMCbkrxxI8GUYaNhislAfIOPVBWSk');
//La obtenes en el paso 1
$bit = tinyurl($link);
//reducimos el link con la api de bit.ly
$quedan = 140 - strlen($bit) - 4;
// calculo los caracteres restantes que me quedan para publicar restando los puntos suspensivo
$mensaje = substr($mensaje, 0, $quedan) . ' ...' . $bit;
// corto el mensaje en caso de que sea muy largo
//declaramos la función que realiza la conexión a tu aplicación de twitter
function getConnectionWithAccessToken()
{
    $connection = new TwitterOAuth(_CONSUMER_KEY, _CONSUMER_SECRET, _OAUTH_TOKEN, _OAUTH_TOKEN_SECRET);
    return $connection;
}
//Realizamos la conexión
$connection = getConnectionWithAccessToken();
//Publicamos el mensaje en twitter
$twitter = $connection->post('statuses/update', array('status' => utf8_encode($mensaje)));
//Función para acortar URL con bit.ly . Primero debemos registrarnos en http://bit.ly para obtener clave api y usuario
function tinyurl($url_larga)
{
    $tiny = "http://api.bit.ly/v3/shorten?login=o_3tp23r37p4&apiKey=R_5d4bb1271dc717c4e370c38e70cb5eb6&format=txt&longUrl=" . $url_larga;
    $sesion = curl_init();
    curl_setopt($sesion, CURLOPT_URL, $tiny);
    curl_setopt($sesion, CURLOPT_RETURNTRANSFER, 1);
    $url_tiny = curl_exec($sesion);
    curl_close($sesion);
    return $url_tiny;
}
?>
Esempio n. 27
0
        function widget($args, $instance)
        {
            $title = !empty($instance['title']) ? apply_filters('widget_title', esc_attr($instance['title'])) : null;
            $expiration = !empty($instance['expiration']) ? esc_attr($instance['expiration']) : 300;
            $layout = !empty($instance['layout']) ? esc_attr($instance['layout']) : 'list';
            $thumbnail = !empty($instance['thumbnail']) ? esc_attr($instance['thumbnail']) : null;
            $username = !empty($instance['username']) ? esc_attr($instance['username']) : null;
            $consumerkey = !empty($instance['consumerkey']) ? esc_attr($instance['consumerkey']) : null;
            $consumersecret = !empty($instance['consumersecret']) ? esc_attr($instance['consumersecret']) : null;
            $accesstoken = !empty($instance['accesstoken']) ? esc_attr($instance['accesstoken']) : null;
            $accesstokensecret = !empty($instance['accesstokensecret']) ? esc_attr($instance['accesstokensecret']) : null;
            $shows = !empty($instance['shows']) ? absint($instance['shows']) : 5;
            echo $args['before_widget'];
            if ($title) {
                echo $args['before_title'] . $title . $args['after_title'];
            }
            if (!class_exists('TwitterOAuth')) {
                return;
            }
            if (!function_exists('getConnectionWithAccessToken')) {
                return;
            }
            if (false === ($twitterData = get_transient($this->id))) {
                $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
                $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $username . "&count=" . $shows);
                $twitterData = $tweets;
                set_transient($this->id, $twitterData, apply_filters('transient_expiration', $expiration));
            }
            if (empty($twitterData->errors[0]->message)) {
                if ($layout == 'list') {
                    ?>
						<div class="twitter-list">
							<ul>
								<?php 
                    foreach ($twitterData as $tweet) {
                        ?>
									<li>
										<?php 
                        if ($thumbnail == 'on') {
                            ?>
											<a class="twitter-profile-link" href="<?php 
                            print gazeta_get_twitter_profile_link($username);
                            ?>
"><img src="<?php 
                            print apply_filters('gazeta_twitters/profile_image_url', gazeta_get_twitter_bigger_avatar($tweet->user->profile_image_url), $tweet);
                            ?>
" alt="<?php 
                            print apply_filters('gazeta_twitters/name', esc_attr($tweet->user->name), $tweet);
                            ?>
"/></a>
										<?php 
                        }
                        ?>
										<div class="twitter-inner <?php 
                        if (!$thumbnail) {
                            ?>
no-thumbnail-image<?php 
                        }
                        ?>
">
											<span class="twitter-username"><?php 
                        print apply_filters('gazeta_twitters/name', esc_attr($tweet->user->name));
                        ?>
</span>
											<p><?php 
                        print gazeta_find_twitter_user(gazeta_convert_string_to_link($tweet->text));
                        ?>
</p>
											<p><?php 
                        print apply_filters('gazeta_twitters/time', sprintf(__('%s ago', 'gazeta'), human_time_diff(gazeta_conver_twitter_time_to_timeago($tweet->created_at), current_time('timestamp'))), $tweet);
                        ?>
</p>
										</div>
									</li>
								<?php 
                    }
                    ?>
							</ul>
						</div>
					<?php 
                } else {
                    $is_rtl = is_rtl() ? 'yes' : 'no';
                    ?>
					<div data-rtl="<?php 
                    print $is_rtl;
                    ?>
" id="<?php 
                    print $this->id;
                    ?>
" class="tweet-feed">
						<?php 
                    foreach ($twitterData as $tweet) {
                        ?>
							<div class="tf-info">
								<?php 
                        if ($thumbnail) {
                            ?>
									<a class="twitter-profile-link" href="<?php 
                            print gazeta_get_twitter_profile_link($username);
                            ?>
"><img src="<?php 
                            print apply_filters('gazeta_twitters/profile_image_url', gazeta_get_twitter_bigger_avatar($tweet->user->profile_image_url), $tweet);
                            ?>
" alt="<?php 
                            print apply_filters('gazeta_twitters/name', esc_attr($tweet->user->name), $tweet);
                            ?>
"/></a>
								<?php 
                        }
                        ?>
								<p><?php 
                        print gazeta_find_twitter_user(gazeta_convert_string_to_link($tweet->text));
                        ?>
</p>
							</div>						
						<?php 
                    }
                    ?>
					</div>
					<?php 
                }
            } else {
                print isset($tweets->errors[0]->message) ? $tweets->errors[0]->message . '!' : __('Getting feeds error.', 'gazeta');
            }
            echo $args['after_widget'];
        }
Esempio n. 28
0
function display_latest_tweets($twitter_user_id, $cache_file = 'tweets.txt', $tweets_to_display = 1, $ignore_replies = false, $include_rts = false, $twitter_wrap_open = '<ul class="home-tweets-ul">', $twitter_wrap_close = '</ul>', $tweet_wrap_open = '<li><p class="home-tweet-tweet">', $meta_wrap_open = '<br/><span class="home-tweet-date">', $meta_wrap_close = '</span>', $tweet_wrap_close = '</p></li>', $date_format = 'g:i A M jS', $twitter_style_dates = true)
{
    // Twitter keys (You'll need to visit https://dev.twitter.com and register to get these.
    $consumerkey = "RfhIAfsqShY6srbg38B8JQFti";
    $consumersecret = "REOs7IlfHD86dawmsJwuvD2nasir27LXvT25BVLvzGwjhacita";
    $accesstoken = "22193430-QgEw8fhsSlI16IzdO5npdouAhIqbQvVCBmGGUNzXJ";
    $accesstokensecret = "6oZrv5CYeKy8EJzTQXryzIpDmZo4J9Jy4QtPSBnuyoaPO";
    // Seconds to cache feed (Default : 3 minutes).
    $cachetime = 60 * 3;
    // Time that the cache was last updtaed.
    $cache_file_created = file_exists($cache_file) ? filemtime($cache_file) : 0;
    // A flag so we know if the feed was successfully parsed.
    $tweet_found = false;
    // Show cached version of tweets, if it's less than $cachetime.
    if (time() - $cachetime < $cache_file_created) {
        $tweet_found = true;
        // Display tweets from the cache.
        readfile($cache_file);
    } else {
        // Cache file not found, or old. Authenticae app.
        $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
        if ($connection) {
            // Get the latest tweets from Twitter
            $get_tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitter_user_id . "&count=" . $tweets_to_display . "&include_rts=" . $include_rts . "&exclude_replies=" . $ignore_replies);
            // Error check: Make sure there is at least one item.
            if (count($get_tweets)) {
                // Define tweet_count as zero
                $tweet_count = 0;
                // Start output buffering.
                ob_start();
                // Open the twitter wrapping element.
                $twitter_html = $twitter_wrap_open;
                // Iterate over tweets.
                foreach ($get_tweets as $tweet) {
                    $tweet_found = true;
                    $tweet_count++;
                    $tweet_desc = $tweet->text;
                    // Add hyperlink html tags to any urls, twitter ids or hashtags in the tweet.
                    $tweet_desc = preg_replace("/((http)+(s)?:\\/\\/[^<>\\s]+)/i", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $tweet_desc);
                    $tweet_desc = preg_replace("/[@]+([A-Za-z0-9-_]+)/", "<a href=\"http://twitter.com/\\1\" target=\"_blank\">\\0</a>", $tweet_desc);
                    $tweet_desc = preg_replace("/[#]+([A-Za-z0-9-_]+)/", "<a href=\"http://twitter.com/search?q=%23\\1\" target=\"_blank\">\\0</a>", $tweet_desc);
                    // replace t.co links with expanded link, if present
                    $entities = $tweet->entities;
                    if (!empty($entities->urls[0]->expanded_url)) {
                        $tweet_desc = str_replace($entities->urls[0]->url, $entities->urls[0]->expanded_url, $tweet_desc);
                    }
                    $media_url = '';
                    // Capture media url if exists
                    $media_url = $entities->media[0]->media_url;
                    // Convert Tweet display time to a UNIX timestamp. Twitter timestamps are in UTC/GMT time.
                    $tweet_time = strtotime($tweet->created_at);
                    if ($twitter_style_dates) {
                        // Current UNIX timestamp.
                        $current_time = time();
                        $time_diff = abs($current_time - $tweet_time);
                        switch ($time_diff) {
                            case $time_diff < 60:
                                $display_time = $time_diff . ' seconds ago';
                                break;
                            case $time_diff >= 60 && $time_diff < 3600:
                                $min = floor($time_diff / 60);
                                $display_time = $min . ' minutes ago';
                                break;
                            case $time_diff >= 3600 && $time_diff < 86400:
                                $hour = floor($time_diff / 3600);
                                $display_time = 'about ' . $hour . ' hour';
                                if ($hour > 1) {
                                    $display_time .= 's';
                                }
                                $display_time .= ' ago';
                                break;
                            default:
                                $display_time = date($date_format, $tweet_time);
                                break;
                        }
                    } else {
                        $display_time = date($date_format, $tweet_time);
                    }
                    // Render the tweet.
                    $twitter_html .= $tweet_wrap_open . html_entity_decode($tweet_desc) . $meta_wrap_open . '<a href="http://twitter.com/' . $twitter_user_id . '">' . $display_time . '</a>' . $meta_wrap_close . $tweet_wrap_close;
                    // If we have processed enough tweets, stop.
                    if ($tweet_count >= $tweets_to_display) {
                        break;
                    }
                }
                // Close the twitter wrapping element.
                $twitter_html .= $twitter_wrap_close;
                //echo $twitter_html;
                echo json_encode(array("date" => $display_time, "text" => $tweet_desc, "media" => $media_url));
                // Generate a new cache file.
                $file = fopen($cache_file, 'w');
                // Save the contents of output buffer to the file, and flush the buffer.
                fwrite($file, ob_get_contents());
                fclose($file);
                ob_end_flush();
            }
        }
    }
}
Esempio n. 29
0
function ts_get_user_data($widget_options)
{
    // twitter keys
    $consumerkey = $widget_options['consumer_key'];
    $consumersecret = $widget_options['consumer_secret'];
    $accesstoken = $widget_options['access_token'];
    $accesstokensecret = $widget_options['access_token_secret'];
    $notweets = $widget_options['limit'];
    $twitteruser = $widget_options['username'];
    // if username isn't array check if user separated usernames with comma
    if (!is_array($twitteruser)) {
        $twitteruser = explode(',', trim($twitteruser));
    }
    // create connection
    $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
    // check if there are more then one username
    if (count($twitteruser) > 1) {
        $all_tweets = array();
        $remainder = $notweets % count($twitteruser);
        $tweets_per_user = floor($notweets / count($twitteruser));
        // split tweets per user so it doesn't exceed limit
        foreach ($twitteruser as $user) {
            if ($remainder > 0) {
                $notweets = $tweets_per_user + $remainder;
            } else {
                $notweets = $tweets_per_user;
            }
            // get tweets
            $tweets[] = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $user . "&count=" . $notweets);
        }
        // merge into one array
        $all_tweets = $tweets[0];
        for ($i = 1; $i < count($tweets); $i++) {
            $all_tweets = array_merge($all_tweets, $tweets[$i]);
        }
    } else {
        $all_tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitteruser[0] . "&count=" . $notweets);
    }
    return $all_tweets;
}
Esempio n. 30
0
$NumFriends = $datosUsuario->friends_count;
$NumFollowers = $datosUsuario->followers_count;
//Borrar Tweet
if (isset($_GET["post"])) {
    $connection = getConnectionWithAccessToken($token, $token_secret);
    $connection->post('statuses/destroy/' . $_GET["post"], array());
    header('Location: app.php');
}
//Gets Timeline
function getConnectionWithAccessToken($oauth_token, $oauth_token_secret)
{
    require "autentificacion.php";
    $connection = new TwitterOAuth($consumer_key, $consumer_secret, $token, $token_secret);
    return $connection;
}
$connection = getConnectionWithAccessToken($token, $token_secret);
$content = $connection->get("statuses/user_timeline");
//Post tweet
$tweet = @$_POST['tweet'];
if ($tweet != "") {
    $statues = $conexion->post("statuses/update", array("status" => $tweet));
    header('Location: app.php');
}
if (isset($_GET['logout'])) {
    session_unset();
    $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
    header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
}
?>
<!DOCTYPE html>
<html lang="en"><head>