Advertisement
Guest User

Untitled

a guest
Aug 4th, 2015
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. <?php
  2.  
  3. class Statenweb_Twitter {
  4.  
  5. const TRANSIENT = 'tweets';
  6. const TRANSIENT_TIME = 300;
  7. private $cb;
  8. private $tweets;
  9.  
  10.  
  11. public function init() {
  12.  
  13. add_action( 'init', array( $this, 'set_tweets' ) );
  14. add_action( 'site_settings', array( $this, 'twitter_settings' ) );
  15.  
  16.  
  17. }
  18.  
  19. public function set_tweets() {
  20.  
  21. $this->tweets = get_transient( self::TRANSIENT );
  22. $this->tweets = false;
  23. if ( ! $this->tweets ) {
  24. $key = EG_Healthcare_Settings::get_site_setting( 'twitter_key' );
  25. $secret = EG_Healthcare_Settings::get_site_setting( 'twitter_secret' );
  26. $twitter_count = absint( EG_Healthcare_Settings::get_site_setting( 'twitter_count' ) );
  27. $username = EG_Healthcare_Settings::get_site_setting( 'twitter_username' );
  28. \Codebird\Codebird::setConsumerKey( $key, $secret );
  29. if ( ! $twitter_count ) {
  30. $twitter_count = 5;
  31. }
  32.  
  33.  
  34. $token = EG_Healthcare_Settings::get_site_setting( 'twitter_token' );
  35. $token_secret = EG_Healthcare_Settings::get_site_setting( 'twitter_token_secret' );
  36. $this->cb = \Codebird\Codebird::getInstance();
  37. $api = 'statuses/userTimeline';
  38. $this->cb->setToken( $token, $token_secret );
  39. $this->tweets = $this->cb->$api( array(
  40. 'screen_name' => $username,
  41. 'count' => 5,
  42. 'include_rts' => false,
  43. 'exclude_replies' => true
  44.  
  45. ) );
  46. set_transient( self::TRANSIENT, $this->tweets, self::TRANSIENT_TIME );
  47. }
  48.  
  49.  
  50. }
  51.  
  52. public function twitter_settings( $site_settings_group ) {
  53. $site_settings_group->add_setting( 'Twitter Key', 'twitter_key', array( 'description' => 'Consumer Key (API Key)' ) );
  54. $site_settings_group->add_setting( 'Twitter Secret', 'twitter_secret', array( 'description' => 'Consumer Secret (API Secret)' ) );
  55. $site_settings_group->add_setting( 'Twitter Token', 'twitter_token', array( 'description' => 'Access Token' ) );
  56. $site_settings_group->add_setting( 'Twitter Token Secret', 'twitter_token_secret', array( 'description' => 'Access Token Secret' ) );
  57. $site_settings_group->add_setting( 'Twitter Username', 'twitter_username', array( 'description' => 'Without @' ) );
  58. $site_settings_group->add_setting( 'Twitter Count', 'twitter_count' );
  59.  
  60. }
  61.  
  62.  
  63. public static function get_tweets() {
  64. return get_transient( self::TRANSIENT );
  65. }
  66.  
  67.  
  68. }
  69.  
  70. $swt = new Statenweb_Twitter;
  71. $swt->init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement