| Server IP : 68.178.247.200 / Your IP : 216.73.216.14 Web Server : Apache System : Linux p3plzcpnl489463.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64 User : x9dppmxs4rgd ( 8559391) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/x9dppmxs4rgd/www/wp-content/themes/grace-church/fw/widgets/ |
Upload File : |
<?php
/**
* Add function to widgets_init that will load our widget.
*/
add_action( 'widgets_init', 'grace_church_widget_twitter_load' );
/**
* Register our widget.
* 'Twitter_Widget' is the widget class used below.
*/
function grace_church_widget_twitter_load() {
register_widget( 'grace_church_widget_twitter' );
}
/**
* Twitter Widget class.
*/
class grace_church_widget_twitter extends WP_Widget {
/**
* Widget setup.
*/
function __construct() {
/* Widget settings. */
$widget_ops = array( 'classname' => 'widget_twitter', 'description' => esc_html__('Last Twitter Updates. Version for new Twitter API 1.1', 'grace-church') );
/* Widget control settings. */
$control_ops = array( 'width' => 200, 'height' => 250, 'id_base' => 'grace_church_widget_twitter' );
/* Create the widget. */
parent::__construct( 'grace_church_widget_twitter', esc_html__('Grace-Church - Twitter', 'grace-church'), $widget_ops, $control_ops );
}
/**
* How to display the widget on the screen.
*/
function widget( $args, $instance ) {
extract( $args );
/* Our variables from the widget settings. */
$title = apply_filters('widget_title', isset($instance['title']) ? $instance['title'] : '' );
$twitter_username = isset($instance['twitter_username']) ? $instance['twitter_username'] : '';
$twitter_consumer_key = isset($instance['twitter_consumer_key']) ? $instance['twitter_consumer_key'] : '';
$twitter_consumer_secret = isset($instance['twitter_consumer_secret']) ? $instance['twitter_consumer_secret'] : '';
$twitter_token_key = isset($instance['twitter_token_key']) ? $instance['twitter_token_key'] : '';
$twitter_token_secret = isset($instance['twitter_token_secret']) ? $instance['twitter_token_secret'] : '';
$twitter_count = isset($instance['twitter_count']) ? $instance['twitter_count'] : '';
if (empty($twitter_consumer_key) || empty($twitter_consumer_secret) || empty($twitter_token_key) || empty($twitter_token_secret)) return;
$data = grace_church_get_twitter_data(array(
'mode' => 'user_timeline',
'consumer_key' => $twitter_consumer_key,
'consumer_secret' => $twitter_consumer_secret,
'token' => $twitter_token_key,
'secret' => $twitter_token_secret
)
);
if (!$data || !isset($data[0]['text'])) return;
$output = '<ul>';
$cnt = 0;
if (is_array($data) && count($data) > 0) {
foreach ($data as $tweet) {
if (grace_church_substr($tweet['text'], 0, 1)=='@') continue;
$output .= '<li class="theme_text' . ($cnt==$twitter_count-1 ? ' last' : '') . '"><a href="' . esc_url('https://twitter.com/'.($twitter_username)) . '" class="username" target="_blank">@' . ($tweet['user']['screen_name']) . '</a> ' . force_balance_tags(grace_church_prepare_twitter_text($tweet)) . '</li>';
if (++$cnt >= $twitter_count) break;
}
}
$output .= '</ul>';
if (!empty($output)) {
/* Before widget (defined by themes). */
echo ($before_widget);
/* Display the widget title if one was input (before and after defined by themes). */
echo ($before_title) . ($title) . ($after_title);
echo ($output);
/* After widget (defined by themes). */
echo ($after_widget);
}
}
/**
* Update the widget settings.
*/
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
/* Strip tags for title and name to remove HTML (important for text inputs). */
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['twitter_username'] = strip_tags( $new_instance['twitter_username'] );
$instance['twitter_consumer_key'] = strip_tags( $new_instance['twitter_consumer_key'] );
$instance['twitter_consumer_secret'] = strip_tags( $new_instance['twitter_consumer_secret'] );
$instance['twitter_token_key'] = strip_tags( $new_instance['twitter_token_key'] );
$instance['twitter_token_secret'] = strip_tags( $new_instance['twitter_token_secret'] );
$instance['twitter_count'] = strip_tags( $new_instance['twitter_count'] );
return $instance;
}
/**
* Displays the widget settings controls on the widget panel.
* Make use of the get_field_id() and get_field_name() function
* when creating your form elements. This handles the confusing stuff.
*/
function form( $instance ) {
/* Set up some default widget settings. */
$defaults = array( 'title' => '', 'description' => esc_html__('Last Twitter Updates', 'grace-church') );
$instance = wp_parse_args( (array) $instance, $defaults );
$title = isset($instance['title']) ? $instance['title'] : '';
$twitter_username = isset($instance['twitter_username']) ? $instance['twitter_username'] : grace_church_get_theme_option('twitter_username');
$twitter_consumer_key = isset($instance['twitter_consumer_key']) ? $instance['twitter_consumer_key'] : grace_church_get_theme_option('twitter_consumer_key');
$twitter_consumer_secret = isset($instance['twitter_consumer_secret']) ? $instance['twitter_consumer_secret'] : grace_church_get_theme_option('twitter_consumer_secret');
$twitter_token_key = isset($instance['twitter_token_key']) ? $instance['twitter_token_key'] : grace_church_get_theme_option('twitter_token_key');
$twitter_token_secret = isset($instance['twitter_token_secret']) ? $instance['twitter_token_secret'] : grace_church_get_theme_option('twitter_token_secret');
$twitter_count = max(1, intval(isset($instance['twitter_count']) ? $instance['twitter_count'] : grace_church_get_theme_option('twitter_count')));
?>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'title' )); ?>"><?php esc_html_e('Title:', 'grace-church'); ?></label>
<input id="<?php echo esc_attr($this->get_field_id( 'title' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'title' )); ?>" value="<?php echo esc_attr($title); ?>" style="width:100%;" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'twitter_count' )); ?>"><?php esc_html_e('Tweets count:', 'grace-church'); ?></label>
<input id="<?php echo esc_attr($this->get_field_id( 'twitter_count' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'twitter_count' )); ?>" value="<?php echo esc_attr($twitter_count); ?>" style="width:100%;" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'twitter_username' )); ?>"><?php esc_html_e('Twitter Username:', 'grace-church'); ?><br />(<?php esc_html_e('leave empty if you paste widget code', 'grace-church'); ?>)</label>
<input id="<?php echo esc_attr($this->get_field_id( 'twitter_username' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'twitter_username' )); ?>" value="<?php echo esc_attr($twitter_username); ?>" style="width:100%;" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'twitter_consumer_key' )); ?>"><?php esc_html_e('Twitter Consumer Key:', 'grace-church'); ?></label>
<input id="<?php echo esc_attr($this->get_field_id( 'twitter_consumer_key' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'twitter_consumer_key' )); ?>" value="<?php echo esc_attr($twitter_consumer_key); ?>" style="width:100%;" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'twitter_consumer_secret' )); ?>"><?php esc_html_e('Twitter Consumer Secret:', 'grace-church'); ?></label>
<input id="<?php echo esc_attr($this->get_field_id( 'twitter_consumer_secret' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'twitter_consumer_secret' )); ?>" value="<?php echo esc_attr($twitter_consumer_secret); ?>" style="width:100%;" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'twitter_token_key' )); ?>"><?php esc_html_e('Twitter Token Key:', 'grace-church'); ?></label>
<input id="<?php echo esc_attr($this->get_field_id( 'twitter_token_key' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'twitter_token_key' )); ?>" value="<?php echo esc_attr($twitter_token_key); ?>" style="width:100%;" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'twitter_token_secret' )); ?>"><?php esc_html_e('Twitter Token Secret:', 'grace-church'); ?></label>
<input id="<?php echo esc_attr($this->get_field_id( 'twitter_token_secret' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'twitter_token_secret' )); ?>" value="<?php echo esc_attr($twitter_token_secret); ?>" style="width:100%;" />
</p>
<?php
}
}
?>