Custom Zend Filter: Excerpt

So you are familiar with the WordPress template tag called the_excert() right? If not the tag takes a post and trims it up to display 55 or so words and then adds ellipses to the end. I find this very useful when you just want to display a teaser. In the current Zend Framework project then I am working on for a client I needed just this. So I had to create the custom filter which is really easy. You can find a vast amount of info for Zend Filters here.

Custom Filter – Excerpt

// To call the filter use
$excerpt = new My_Filter_Excerpt();
$excerpt->filter($str); //$str is the string of text

//Put this in your library
class My_Filter_Excerpt implements Zend_Filter_Interface
{
	protected $_wordCount = 55;

	public function filter($data)
	{
		$sentance = explode(" ", $data);
		if (count($sentance) > $this->_wordCount) {
			$sentance = array_splice($sentance, 0, $this->_wordCount);
			$ellipsis = "…";
		}
		$excerpt = implode(" ", $sentance);
		echo $excerpt . $ellipsis;
	}
}

Add Google Buzz to your Site!

So as everyone knows Google has released Buzz and by now most everyone has it. The number one question is how do I add it to my site so that people can share my content with their buzz friends. Well, if you are running WordPress it’s pretty easy. Head on over to WordPress.org and search for the plugin called Google Buzz for WordPress. If you are not running WordPress you can just use this link and replace out the variables (designated by <<>>)

http://www.google.com/reader/link?url=<<URL>>&title=<<TITLE>>&srcURL=<<SRC>>&srcTitle=<<SRCTITLE>>

Where
URL = Url of the page you want to share
TITLE = Title of the page that you are sharing
SRC = Source of the page that you are sharing. for instance you may share http://www.kapustabrothers.com/ to buzz but found the link and shared it from aol.com so the SRC would be aol.com.
SRCTITLE = The title of the source.

It’s that simple. A box will pop up you can add some tags and some comments and click post. This will post directly to your buzz feed for all your buzzy friends to see.

Next are the icons. What should you use for an icon? Well you can search the net for them but I found some pretty cool simple ones from http://www.chethstudios.net/

All you have to do is wrap the icon with the link and your all set. I suggest setting a rel and a target too if applicable.


Google Buzz


Google Buzz


Google Buzz


Google Buzz


Google Buzz


Google Buzz


Google Buzz


Google Buzz

Update: Here is another icon that I found floating around on the interwebs.

Google Buzz

Enjoy!

Gravatar Zend Framework View Helper

I have worked on a Zend Framework these past couple of days and needed the ability to display a users avatar. This is easy by using Automattic’s gravatar project. The easiest way to add a users avatar is to use a (this) view helper. Basically in your view you just pass the user’s email address and a desired size and your all set. Make sure in the view helper you specify the default image if the user doesn’t have an avatar to display.

You can download the source here. Comments and improvements are always welcome.

<?php
/**
 *
 * @author Shaun Farrell
 * @version 1.0
 */
require_once 'Zend/View/Interface.php';

/**
 * Gravatar helper
 *
 * @uses viewHelper Zend_View_Helper
 */
class Zend_View_Helper_Gravatar {

	/**
	 * @var Zend_View_Interface
	 */
	public $view;
	/**
	 *
	 * @var unknown_type
	 */
	protected $_gravatarUrl = "http://www.gravatar.com/avatar.php?";
	/**
	 *
	 * @var unknown_type
	 */
	protected $_defaultImage = "http://everquest.allakhazam.com/pgfx/item_576.png";

	/**
	 *
	 * @param $emailAddress
	 * @param $size
	 * @param $imgAlt
	 */
	public function gravatar($emailAddress, $size = "40", $imgAlt = "")
	{
		$gravatarId = "gravatar_id=" . md5(strtolower(trim($emailAddress)));
		$url = $this->_gravatarUrl . $gravatarId . "&default=" . urlencode($this->_defaultImage) .
			"&size=" . $size;

		echo "<img src=\"$url\" alt=\"$imgAlt\" />";
		return null;
	}

	/**
	 * Sets the view field
	 * @param $view Zend_View_Interface
	 */
	public function setView(Zend_View_Interface $view) {
		$this->view = $view;
	}
}

After the Deadline (AtD)

Yesterday I had the great opportunity to here Raphael Mudge the creator of AtD present After the Deadline at DC PHP.  Below is a recording of the talk.  I hope to write some more about AtD after I play around with it more.