示例#1
0
function tb_tweet_html($tweet,$mode = 'widget',$tb_o) {

 	// add screen name if from_user is given
	if (!isset($tweet->user)) {
		$user = new stdClass();
		if (isset($tweet->from_user)) {
			
			$user->screen_name = $tweet->from_user;
			$tweet->user = $user;
		}
		else {
			$user->screen_name = '';
			$tweet->user = $user;
		}
	}

	// see if there in alias for this screen name
	if (isset($tb_o['alt_source_names'])) {
		$TB_sourceNames = $tb_o['alt_source_names'];
	}
	if (isset($TB_sourceNames[strtolower($tweet->user->screen_name)])) {
		$tweet->user->alias = $TB_sourceNames[strtolower($tweet->user->screen_name)];
	}
	else {
		$tweet->user->alias = null;
	}

	// image url
	if (!isset($tweet->user->profile_image_url) && isset($tweet->profile_image_url)) {
		$tweet->user->profile_image_url = $tweet->profile_image_url;
	}

	$patterns = array(); $replacements = array();
	// link URLs if requested
	if ($tb_o['general_link_urls']) {
		$patterns[] = '/(https?:\/\/\S+)/';
		$replacements[] = '<a rel="nofollow" href="$1">$1</a>';
	}
	// link screen names if requested
	if ($tb_o['general_link_screen_names']) {
		$patterns[] = '/\@([\w]+)/';
		$replacements[] = '<a rel="nofollow" href="http://twitter.com/$1">@$1</a>';
	}
	// link hashtags if requested
	if ($tb_o['general_link_hash_tags']) {
		$patterns[] = '/\#(\S+)/';
		$replacements[] = '<a rel="nofollow" href="http://search.twitter.com/search?q=%23$1">#$1</a>';
	}
	if (sizeof($patterns) > 0) {
		$tweet->text = preg_replace($patterns,$replacements,$tweet->text);
	}

	// date
	$tweet_date = tb_str2time($tweet->created_at);
	if ($tb_o['general_timestamp_format']) {
		if(!version_compare(PHP_VERSION, '5.1.0', '<')) {
			date_default_timezone_set(get_option('timezone_string'));
		}
		$date_html = date($tb_o['general_timestamp_format'],$tweet_date);
	}
	else {
		$date_html = tb_verbal_time($tweet_date);
	} 

	// if source is not url encoded -> use as is
	if (isset($tweet->source) && strpos($tweet->source,'&lt;') === false) {
		$source_html = $tweet->source;
	}
	// else decode
	else {
		$source_html = html_entity_decode($tweet->source);
	}


	$tweet_template = '';
	
	$tweet_template .= '<div class="tb_tweet" id="{0}">';

	// photo if requested
	if ($tb_o[$mode . '_show_photos']) {
		$tweet_template .= '<a class="tb_photo" rel="nofollow" href="http://twitter.com/{1}"><img src="{2}" alt="{1}" /></a>';
	}

	// author
	if ($tb_o[$mode . '_show_user']) {
		if (isset($tweet->user->alias)) {
			$tweet_template .= '<span class="tb_author"><a rel="nofollow" href="http://twitter.com/{1}">{7}</a>: </span> ';
		}
		else {
			$tweet_template .= '<span class="tb_author"><a rel="nofollow" href="http://twitter.com/{1}">{1}</a>: </span> ';
		}
	}

	// tweet text	
	$tweet_template .= '<span class="tb_msg">{3}</span><br/>';

	// start tweet footer with info
	if (empty($tb_o['general_seo_tweets_googleoff']) && $tb_o['general_seo_footer_googleoff']) {
		$tweet_template .= '<!--googleoff: index-->';
	}
	$tweet_template .= ' <span class="tb_tweet-info">';
	
	// show timestamp
	$tweet_template .= '<a rel="nofollow" href="http://twitter.com/{1}/statuses/{4}">{5}</a>';
	
	// show source if requested
	if ($tb_o[$mode . '_show_source'] && isset($tweet->source)) {
		$tweet_template .= ' ' . __('from','tweetblender') . ' {6}';
	}
	
	// end tweet footer
	$tweet_template .= '</span>';
	if (empty($tb_o['general_seo_tweets_googleoff']) && $tb_o['general_seo_footer_googleoff']) {
		$tweet_template .= '<!--googleon: index-->';
	}
	
	// add tweet tools
	if ($tb_o[$mode . '_show_follow_link'] || $tb_o[$mode . '_show_reply_link']) {
		$tweet_template .= '<div class="tweet-tools" style="display:none;">';
		if ($tb_o[$mode . '_show_reply_link']) {
			$tweet_template .= '<a rel="nofollow" href="http://twitter.com/home?status=@{1}%20&in_reply_to_status_id={4}&in_reply_to={1}">' . __('reply','tweetblender') . '</a>';
		}
		if ($tb_o[$mode . '_show_follow_link'] && $tb_o[$mode . '_show_reply_link']) {
			$tweet_template .= ' | ';
		}
		if ($tb_o[$mode . '_show_follow_link']) {
			$tweet_template .= '<a rel="nofollow" href="http://twitter.com/{1}">' . __('follow','tweetblender') . ' {1}</a>';
		}
		$tweet_template .= '</div>'; 
	}

	// end tweet	
	$tweet_template .= "</div>\n";
 
	return str_replace(
		array(
			'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}'
		),
		array(
			$tweet->div_id,	// {0}
			$tweet->user->screen_name,	// {1}
			$tweet->user->profile_image_url,	// {2}
			$tweet->text, // {3}
			$tweet->id_str, // {4}
			$date_html, // {5}
			$source_html, // {6}
			$tweet->user->alias // {7}
		),
		$tweet_template
	);
}
示例#2
0
function tb_tweet_html($tweet, $mode = 'widget', $tb_o)
{
    $tweetHTML = '';
    // add screen name if from_user is given
    if (!isset($tweet->user)) {
        $user = new stdClass();
        if ($tweet->from_user) {
            $user->screen_name = $tweet->from_user;
            $tweet->user = $user;
        } else {
            $user->screen_name = '';
            $tweet->user = $user;
        }
    }
    $tweetHTML .= '<div class="tb_tweet" id="t' . $tweet->id . '">';
    // show photo if requested
    if ($tb_o[$mode . '_show_photos']) {
        // add image url
        if (!$tweet->user->profile_image_url && $tweet->profile_image_url) {
            $tweet->user->profile_image_url = $tweet->profile_image_url;
        }
        $tweetHTML .= '<a class="tb_photo" rel="nofollow" href="http://twitter.com/' . $tweet->user->screen_name . '">';
        $tweetHTML .= '<img src="' . $tweet->user->profile_image_url . '" alt="' . $tweet->user->screen_name . '" />';
        $tweetHTML .= '</a>';
    }
    // show author
    if ($tb_o[$mode . '_show_user']) {
        $tweetHTML .= '<span class="tb_author"><a rel="nofollow" href="http://twitter.com/' . $tweet->user->screen_name . '">' . $tweet->user->screen_name . '</a>: </span> ';
    }
    $patterns = array();
    $replacements = array();
    // link URLs if requested
    if ($tb_o['general_link_urls']) {
        $patterns[] = '/(https?:\\/\\/\\S+)/';
        $replacements[] = '<a rel="nofollow" href="$1">$1</a>';
    }
    // link screen names if requested
    if ($tb_o['general_link_screen_names']) {
        $patterns[] = '/\\@([\\w]+)/';
        $replacements[] = '<a rel="nofollow" href="http://twitter.com/$1">@$1</a>';
    }
    // link hashtags if requested
    if ($tb_o['general_link_hash_tags']) {
        $patterns[] = '/\\#([\\w\\-]+)/';
        $replacements[] = '<a rel="nofollow" href="http://search.twitter.com/search?q=%23$1">#$1</a>';
    }
    if (sizeof($patterns) > 0) {
        $tweet->text = preg_replace($patterns, $replacements, $tweet->text);
    }
    $tweetHTML .= '<span class="tb_msg">' . $tweet->text . '</span><br/>';
    // start tweet footer with info
    if (empty($tb_o['general_seo_tweets_googleoff']) && $tb_o['general_seo_footer_googleoff']) {
        $tweetHTML .= '<!--googleoff: index-->';
    }
    $tweetHTML .= ' <span class="tb_tweet-info">';
    // show timestamp
    $tweetHTML .= '<a rel="nofollow" href="http://twitter.com/' . $tweet->user->screen_name . '/statuses/' . $tweet->id . '">';
    $tweet_date = tb_str2time($tweet->created_at);
    if ($tb_o['general_timestamp_format']) {
        if (!version_compare(PHP_VERSION, '5.1.0', '<')) {
            date_default_timezone_set(get_option('timezone_string'));
        }
        $tweetHTML .= date($tb_o['general_timestamp_format'], $tweet_date);
    } else {
        $tweetHTML .= tb_verbal_time($tweet_date);
    }
    $tweetHTML .= '</a>';
    // show source if requested
    if ($tb_o[$mode . '_show_source'] && $tweet->source) {
        $tweetHTML .= ' from ';
        // if source is not url encoded -> use as is
        if (strpos($tweet->source, '&lt;') === false) {
            $tweetHTML .= $tweet->source;
        } else {
            $tweetHTML .= html_entity_decode($tweet->source);
        }
    }
    // end tweet footer
    $tweetHTML .= '</span>';
    if (empty($tb_o['general_seo_tweets_googleoff']) && $tb_o['general_seo_footer_googleoff']) {
        $tweetHTML .= '<!--googleon: index-->';
    }
    // add tweet tools
    if ($tb_o[$mode . '_show_follow_link'] || $tb_o[$mode . '_show_reply_link']) {
        $tweetHTML .= '<div class="tweet-tools" style="display:none;">';
        if ($tb_o[$mode . '_show_reply_link']) {
            $tweetHTML .= '<a rel="nofollow" href="http://twitter.com/home?status=@' . $tweet->user->screen_name . '%20&in_reply_to_status_id=' . $tweet->id . '&in_reply_to=' . $tweet->user->screen_name . '">reply</a>';
        }
        if ($tb_o[$mode . '_show_follow_link'] && $tb_o[$mode . '_show_reply_link']) {
            $tweetHTML .= ' | ';
        }
        if ($tb_o[$mode . '_show_follow_link']) {
            $tweetHTML .= '<a rel="nofollow" href="http://twitter.com/' . $tweet->user->screen_name . '">follow ' . $tweet->user->screen_name . '</a>';
        }
        $tweetHTML .= '</div>';
    }
    // end tweet
    $tweetHTML .= "</div>\n";
    return $tweetHTML;
}