Programming Joomla Plugins: All You Ever Wanted to Know About Joomla Plugins