WebsiteBaker Logo
  • *
  • Templates
  • Help
  • Add-ons
  • Download
  • Home
*
Welcome, Guest. Please login or register.

Login with username, password and session length
 

News


WebsiteBaker 2.13.6 is now available!


Will it continue with WB? It goes on! | Geht es mit WB weiter? Es geht weiter!
https://forum.websitebaker.org/index.php/topic,32340.msg226702.html#msg226702


The forum email address board@websitebaker.org is working again
https://forum.websitebaker.org/index.php/topic,32358.0.html


R.I.P Dietmar (luisehahne) and thank you for all your valuable work for WB
https://forum.websitebaker.org/index.php/topic,32355.0.html


* Support WebsiteBaker

Your donations will help to:

  • Pay for our dedicated server
  • Pay for domain registration
  • and much more!

You can donate by clicking on the button below.


  • Home
  • Help
  • Search
  • Login
  • Register

  • WebsiteBaker Community Forum »
  • WebsiteBaker Support (2.8.x) »
  • Droplets & Snippets »
  • twitter-feed-droplet
  • Print
Pages: [1]   Go Down

Author Topic: twitter-feed-droplet  (Read 6494 times)

Offline Ruud

  • Posts: 3671
  • Gender: Male
  • Do not use PM for help! Please use the forum!
    • Dev4Me - Professional WebsiteBaker Development
twitter-feed-droplet
« on: May 05, 2011, 11:51:25 PM »
Some time ago I needed to add a twitter feed to a website.
I did not want to use javascript for this because for SEO purposes it is good to have changing content in the page output.
So I made a Droplet for it.

Code: [Select]
<?php 
//use [[tweet?name=mytweetname&max=5]]

if (isset($_SESSION[&#39;tweets&#39;])) return $_SESSION[&#39;tweets&#39;]; //prevent too many calls
if (!isset($name)) return true;
if (!isset(
$max)) $max = 5;

if (!
function_exists(&#39;fetch_tweets&#39;)) {
function fetch_tweets($username, $maxtweets) {
$tweets = simplexml_load_file("http://twitter.com/statuses/user_timeline/" . $username . ".rss");
$tweet_array = array();  
foreach ( $tweets->channel->item as $tweet ) { 
if ($maxtweets == 0) {
break;
} else {
$twit = $tweet->description;
$twit = substr(strstr($twit, &#39;: &#39;), 2, strlen($twit));
$twit = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<a target=\"_blank\" href=\"$1\">$1</a>",$twit);
$twit = preg_replace("(@([a-zA-Z0-9\_]+))", "<a target=\"_blank\" href=\"http://www.twitter.com/\\1\">\\0</a>", $twit);
$twit = preg_replace(&#39;/(^|\s)#(\w+)/&#39;, &#39;\1<a target=\"_blank\" href="http://search.twitter.com/search?q=%23\2">#\2</a>&#39;, $twit);
$twit = iconv("UTF-8", DEFAULT_CHARSET, $twit);
$pubdate = strtotime($tweet->pubDate); 
$propertime = date(DATE_FORMAT.&#39;, &#39;.TIME_FORMAT, $pubdate);  //Customize this to your liking
$tweet_item = array(&#39;desc&#39; => $twit,&#39;date&#39; => $propertime,);
array_push($tweet_array, $tweet_item);
$maxtweets--;
}
}
return $tweet_array;
}
}
$mytweets = fetch_tweets($name, $max);
$rval = &#39;<div class="twitter-updates">&#39;;
foreach ($mytweets as $k => $v) {
     
$rval .= &#39;<div><p class="twitter-update">&#39; .$v[&#39;desc&#39;]. &#39;</p><p class="twitter-date">&#39; .$v[&#39;date&#39;]. &#39;</p></div>&#39;;
}
$rval .= &#39;</div>&#39;;
$_SESSION[&#39;tweets&#39;] = $rval;
return $rval;

The droplet is called like [[tweets?name=billgates&max=10]] (max is optional)

It is depending on the simplexml library. According to the PHP website this is included in the standard PHP-5 installations, so it might work on most hosts.

The tweets are loaded once per browser session. This is to prevent being banned by twitter for requesting data too much from a single IP address.

Have fun with it.

Ruud
« Last Edit: May 05, 2011, 11:56:15 PM by Ruud »
Logged
Dev4me - WebsiteBaker modules - WBhelp.org

Offline Bug

  • Posts: 237
Re: twitter-feed-droplet
« Reply #1 on: May 08, 2011, 12:44:00 PM »
Sweet
Logged

Argos

  • Guest
Re: twitter-feed-droplet
« Reply #2 on: May 16, 2011, 03:50:31 PM »
This seems to be the same functionality as http://www.websitebakers.com/pages/modules/listings/various/wb-tweets.php, but then as a droplet. Is that correct?
Logged

Offline Ruud

  • Posts: 3671
  • Gender: Male
  • Do not use PM for help! Please use the forum!
    • Dev4Me - Professional WebsiteBaker Development
Re: twitter-feed-droplet
« Reply #3 on: May 16, 2011, 04:05:13 PM »
in the end: yes. It shows tweets.  8-)

It is very minimal, and because it is a droplet it is very easy to position and customize the output.
Logged
Dev4me - WebsiteBaker modules - WBhelp.org

  • Print
Pages: [1]   Go Up
  • WebsiteBaker Community Forum »
  • WebsiteBaker Support (2.8.x) »
  • Droplets & Snippets »
  • twitter-feed-droplet
 

  • SMF 2.0.19 | SMF © 2017, Simple Machines
  • XHTML
  • RSS
  • WAP2