%PDF- %PDF-
Direktori : /var/www/html/itworks/wp-content/themes/eduma/inc/widgets/twitter/tpl/ |
Current File : /var/www/html/itworks/wp-content/themes/eduma/inc/widgets/twitter/tpl/slider.php |
<?php $default = array( 'consumer_key' => 'fCuXeJBzIhikOjNFmh7FC7Cpz', 'consumer_secret' => 'tLefeE8nyARq1aIAJF7GSIhAoAxQiAMU9aX0RE79F6IVAcfA7J', 'access_token' => '3546925700-hzs7KwBYCqsZxP6sYRtjIS4V1TIMgh0zY0Hlhb5', 'access_token_secret' => 'TmI0MW7QH7KTfdePVX1Swsie7i2K1RziunVc46y0wOALn' ); $thim_twitter = get_option( 'thim_twitter', $default ); $twitter_id = $instance['username']; $number = $instance['display']; $consumer_key = $thim_twitter['consumer_key']; $consumer_secret = $thim_twitter['consumer_secret']; $access_token = $thim_twitter['access_token']; $access_token_secret = $thim_twitter['access_token_secret']; if ( $twitter_id && $number && $consumer_key && $consumer_secret && $access_token && $access_token_secret ) { $transName = 'list_tweets_' . $twitter_id; $cacheTime = 10; $twitterData = get_transient( $transName ); @$twitter = json_decode( get_transient( $transName ), true ); if ( false === $twitterData || isset( $twitter['errors'] ) ) { $twitter_token = 'twitter_token_' . $twitter_id; $token = !empty( $thim_twitter[$twitter_token] ) ? $thim_twitter[$twitter_token] : false; if ( !$token ) { // preparing credentials $credentials = $consumer_key . ':' . $consumer_secret; $toSend = base64_encode( $credentials ); // http post arguments $args_twitter = array( 'method' => 'POST', 'httpversion' => '1.1', 'blocking' => true, 'headers' => array( 'Authorization' => 'Basic ' . $toSend, 'Content-Type' => 'application/x-www-form-urlencoded;charset=UTF-8' ), 'body' => array( 'grant_type' => 'client_credentials' ) ); add_filter( 'https_ssl_verify', '__return_false' ); $response = wp_remote_post( 'https://api.twitter.com/oauth2/token', $args_twitter ); $keys = json_decode( wp_remote_retrieve_body( $response ) ); if ( $keys ) { // saving token to wp_options table $token = $keys->access_token; $thim_twitter[$twitter_token] = $token; update_option( 'thim_twitter', $thim_twitter ); } } // we have bearer token wether we obtained it from API or from options $args_twitter = array( 'httpversion' => '1.1', 'blocking' => true, 'headers' => array( 'Authorization' => "Bearer $token" ) ); add_filter( 'https_ssl_verify', '__return_false' ); $api_url = 'https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=' . $twitter_id . '&count=' . $number; $response = wp_remote_get( $api_url, $args_twitter ); set_transient( $transName, wp_remote_retrieve_body( $response ), 60 * $cacheTime ); } } @$twitter = json_decode( get_transient( $transName ), true ); ?> <div class="thim-twitter-slider"> <?php if ( $instance['title'] <> '' ) { echo ent2ncr( $args['before_title'] . $instance['title'] . '<i class="fa fa-twitter"></i>' . $args['after_title'] ); } if ( $twitter && is_array( $twitter ) ) : ?> <div class="thim-carousel-wrapper thim-twitter-carousel" data-visible="1" data-pagination="1" data-navigation="0" data-autoplay="0"> <?php foreach ( $twitter as $tweet ): $twitterTime = strtotime( $tweet['created_at'] ); $twitterTimeStr = date( 'd M Y', $twitterTime ); $username = $tweet['user']['screen_name']; $displayName = $tweet['user']['name']; $latestTweet = $tweet['text']; $latestTweet = preg_replace( '/https:\/\/([a-z0-9_\.\-\+\&\!\#\~\/\,]+)/i', '<a href="https://$1" target="_blank">https://$1</a>', $latestTweet ); $latestTweet = preg_replace( '/@([a-z0-9_]+)/i', '<a href="https://twitter.com/$1" target="_blank">@$1</a>', $latestTweet ); $latestTweet = preg_replace( '/#([a-z0-9_]+)/i', '<a href="https://twitter.com/hashtag/$1" target="_blank">#$1</a>', $latestTweet ); ?> <div class="tweet-item"> <div class="top"> <a href="https://twitter.com/<?php echo esc_attr( $username ); ?>/status/<?php echo esc_attr( $tweet['id_str'] ); ?>" target="_blank"><i class="fa fa-twitter"></i></a> </div> <div class="content"> <?php echo ent2ncr( $latestTweet ); ?> </div> </div> <?php endforeach; ?> </div> <?php endif; ?> </div>