__( 'Display most recent tweets of a hasthtag or username.' , 'amazing-widgets') )
);
}
public function form($instance) {
$defaults = array(
'title' => 'Twitter Widget',
'tweets_base' => 'username',
'profile_photo' => 'display',
'tweets_nr' => 5,
'tweets_of' => ''
);
$instance = wp_parse_args( (array) $instance, $defaults );
?>
Amazing Widgets page', 'amazing-widgets'); ?>
aw_get_twitter_data($instance,'username');
} else {
echo $this->aw_get_twitter_data($instance,'hashtag');
}
echo $args['after_widget'];
}
private function aw_get_twitter_data($options, $tweets_base) {
$settings = wpsf_get_settings( 'aw' );
if(isset($settings['twitter_aw_ck'])) {
if ($settings['twitter_aw_ck'] == '' || $settings['twitter_aw_cs'] == '' || $settings['twitter_aw_tk'] == '' || $settings['twitter_aw_ts'] == '') {
return __('Twitter Authentication data is incomplete','amazing-widgets');
}
if (!class_exists('Codebird')) {
require_once ( AW_WIDGETS_DIR . '/lib/codebird/codebird.php');
}
\Codebird\Codebird::setConsumerKey($settings['twitter_aw_ck'], $settings['twitter_aw_cs']);
$cb = \Codebird\Codebird::getInstance();
$cb->setToken($settings['twitter_aw_tk'], $settings['twitter_aw_ts']);
$cb->setReturnFormat(CODEBIRD_RETURNFORMAT_ARRAY);
$count = 0;
$target = 'target="_blank"';
if ($tweets_base == 'hashtag') {
$out = '';
$reply = get_transient('aw_socialmashup_widget_twitter_search_transient');
if (false === $reply){
try {
$reply = $cb->search_tweets(array(
'q'=>'#'.$options['tweets_of'],
'count'=> $options['tweets_nr']
));
} catch (Exception $e) {
return __('Error retrieving tweets','amazing-widgets');
}
if (isset($reply['errors'])) {
//error_log(serialize($reply['errors']));
}
set_transient('aw_socialmashup_widget_twitter_search_transient',$reply,300);
}
if (empty($reply) or count($reply)<1) {
return __('No public tweets with' . $reply . ' hashtag','amazing-widgets');
}
if (isset($reply['statuses']) && is_array($reply['statuses'])) {
foreach($reply['statuses'] as $message) {
if ($count>=$options['tweets_nr']) {
break;
}
if (!isset($message['text'])) {
continue;
}
$msg = $message['text'];
$out .= '';
$count++;
}
}
$out .= '
';
} elseif ($tweets_base == 'username') {
$out = '';
}
return $out;
}
}
}
// Register the widget
add_action('widgets_init',
create_function('', 'return register_widget("Aw_Tweets");')
);