From within a plugin, there are 2 ways to get the currently active application context. One is to use the global $app variable:
The other is to use JFactory to get the application.
$app = JFactory::getApplication('site');
Which is the preferred option?
Use of global is a smell of bad code. It will import any variable from the global name space identified by its name, regardless of its meaning. In an ideal world the global namespace would not be polluted with global variables. So the latter option is the (only) right one. Nibra 13:53, 10 April 2012 (CDT)