Revision: 41922
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 24, 2011 23:14 by roflman79
Initial Code
function get_twitter($username){
/* From http://www.wprecipes.com/how-to-display-your-latest-twitter-entry-on-your-wp-blog/comment-page-2#comment-114746 */
$prefix = "<p>";
$suffix = "</p>";
$feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1";
function parse_feed($feed) {
$stepOne = explode("<content type=\"html\">", $feed);
$stepTwo = explode("</content>", $stepOne[1]);
$tweet = $stepTwo[0];
$tweet = str_replace("<", "<", $tweet);
$tweet = str_replace(">", ">", $tweet);
$tweet = str_replace(''', "‘", $tweet);
return $tweet;
}
function curr_date($feed) {
$stepOne = explode("<updated>", $feed);
$stepTwo = explode("</updated>", $stepOne[1]);
$tweet_time = $stepTwo[0];
return $tweet_time;
}
/* If your running PHP > 5.3 you need to set this or your app will throw errors */
date_default_timezone_set('Europe/London');
/* Added from Skidoosh at http://www.skidoosh.co.uk/php/create-twitter-like-date-formatted-strings-with-php/ */
function twitter_time_format ($date) {
$blocks = array (
array('year', (3600 * 24 * 365)),
array('month', (3600 * 24 * 30)),
array('week', (3600 * 24 * 7)),
array('day', (3600 * 24)),
array('hour', (3600)),
array('min', (60)),
array('sec', (1))
);
#Get the time from the function arg and the time now
$argtime = strtotime($date);
$nowtime = time();
#Get the time diff in seconds
$diff = $nowtime - $argtime;
#Store the results of the calculations
$res = array ();
#Calculate the largest unit of time
for ($i = 0; $i < count($blocks); $i++) {
$title = $blocks[$i][0];
$calc = $blocks[$i][1];
$units = floor($diff / $calc);
if ($units > 0) {
$res[$title] = $units;
}
}
if (isset($res['year']) && $res['year'] > 0) {
if (isset($res['month']) && $res['month'] > 0 && $res['month'] < 12) {
$format = "About %s %s %s %s ago";
$year_label = $res['year'] > 1 ? 'years' : 'year';
$month_label = $res['month'] > 1 ? 'months' : 'month';
return sprintf($format, $res['year'], $year_label, $res['month'], $month_label);
} else {
$format = "About %s %s ago";
$year_label = $res['year'] > 1 ? 'years' : 'year';
return sprintf($format, $res['year'], $year_label);
}
}
if (isset($res['month']) && $res['month'] > 0) {
if (isset($res['day']) && $res['day'] > 0 && $res['day'] < 31) {
$format = "About %s %s %s %s ago";
$month_label = $res['month'] > 1 ? 'months' : 'month';
$day_label = $res['day'] > 1 ? 'days' : 'day';
return sprintf($format, $res['month'], $month_label, $res['day'], $day_label);
} else {
$format = "About %s %s ago";
$month_label = $res['month'] > 1 ? 'months' : 'month';
return sprintf($format, $res['month'], $month_label);
}
}
if (isset($res['day']) && $res['day'] > 0) {
if ($res['day'] == 1) {
return sprintf("Yesterday at %s", date('h:i a', $argtime));
}
if ($res['day'] <= 7) {
return date("\L\a\s\\t l \a\\t h:i a", $argtime);
}
if ($res['day'] <= 31) {
return date("l \a\\t h:i a", $argtime);
}
}
if (isset($res['hour']) && $res['hour'] > 0) {
if ($res['hour'] > 1) {
return sprintf("About %s hours ago", $res['hour']);
} else {
return "About an hour ago";
}
}
if (isset($res['min']) && $res['min']) {
if ($res['min'] == 1) {
return "About one minut ago";
} else {
return sprintf("About %s minuts ago", $res['min']);
}
}
if (isset ($res['sec']) && $res['sec'] > 0) {
if ($res['sec'] == 1) {
return "One second ago";
} else {
return sprintf("%s seconds ago", $res['sec']);
}
}
}
$twitterFeed = file_get_contents($feed);
return stripslashes($prefix) . parse_feed($twitterFeed) . stripslashes($suffix).'<p class="tweet_time">'.twitter_time_format(curr_date($twitterFeed)).'</p>';
}
Initial URL
Initial Description
Initial Title
Twitter Function for Wordpress
Initial Tags
php, wordpress, function, twitter
Initial Language
PHP