Source for file helper.php
Documentation is available at helper.php
 * @package     Joomla.Libraries  
 * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.  
 * @license     GNU General Public License version 2 or later; see LICENSE  
 * @package     Joomla.Libraries  
     * A persistent cache of the loaded plugins.  
    protected static $plugins = 
null;  
     * Get the path to a layout from a Plugin  
     * @param   string  $type    Plugin type  
     * @param   string  $name    Plugin name  
     * @param   string  $layout  Layout name  
     * @return  string  Layout path  
    public static function getLayoutPath($type, $name, $layout = 
'default')  
        $defaultLayout = 
$layout;  
        if (strpos($layout, ':') !== 
false)  
            // Get the template and file name from the string  
            $template = 
($temp[0] == 
'_') ? 
$template : 
$temp[0];  
            $defaultLayout = 
($temp[1]) ? 
$temp[1] : 
'default';  
        // Build the template and base path for the layout  
        $tPath = 
JPATH_THEMES . 
'/' . 
$template . 
'/html/plg_' . 
$type . 
'_' . 
$name . 
'/' . 
$layout . 
'.php';  
        $bPath = 
JPATH_BASE . 
'/plugins/' . 
$type . 
'/' . 
$name . 
'/tmpl/' . 
$defaultLayout . 
'.php';  
        $dPath = 
JPATH_BASE . 
'/plugins/' . 
$type . 
'/' . 
$name . 
'/tmpl/default.php';  
        // If the template has a layout override use it  
     * Get the plugin data of a specific type if no specific plugin is specified  
     * otherwise only the specific plugin data is returned.  
     * @param   string  $type    The plugin type, relates to the sub-directory in the plugins directory.  
     * @param   string  $plugin  The plugin name.  
     * @return  mixed  An array of plugin data objects, or a plugin data object.  
    public static function getPlugin($type, $plugin = 
null)  
        $plugins = 
static::load();  
        // Find the correct plugin(s) to return.  
                // Is this the right plugin?  
                // Is this plugin in the right group?  
                if ($p->type == 
$type && 
$p->name == 
$plugin)  
     * Checks if a plugin is enabled.  
     * @param   string  $type    The plugin type, relates to the sub-directory in the plugins directory.  
     * @param   string  $plugin  The plugin name.  
    public static function isEnabled($type, $plugin = 
null)  
        $result = 
static::getPlugin($type, $plugin);  
        return (!empty($result));  
     * Loads all the plugin files for a particular type if no specific plugin is specified  
     * otherwise only the specific plugin is loaded.  
     * @param   string            $type        The plugin type, relates to the sub-directory in the plugins directory.  
     * @param   string            $plugin      The plugin name.  
     * @param   boolean           $autocreate  Autocreate the plugin.  
     * @param   JEventDispatcher  $dispatcher  Optionally allows the plugin to use a different dispatcher.  
     * @return  boolean  True on success.  
    public static function importPlugin($type, $plugin = 
null, $autocreate = 
true, JEventDispatcher $dispatcher = 
null)  
        static $loaded = 
array();  
        // Check for the default args, if so we can optimise cheaply  
        if (is_null($plugin) && 
$autocreate == 
true && 
is_null($dispatcher))  
        if (!isset
($loaded[$type]) || 
!$defaults)  
            // Load the plugins from the database.  
            $plugins = 
static::load();  
            // Get the specified plugin(s).  
            for ($i = 
0, $t = 
count($plugins); $i < 
$t; $i++
)  
                if ($plugins[$i]->type == 
$type && 
($plugin === 
null || 
$plugins[$i]->name == 
$plugin))  
                    static::import($plugins[$i], $autocreate, $dispatcher);  
            // Bail out early if we're not using default args  
            $loaded[$type] = 
$results;  
     * @param   object            $plugin      The plugin.  
     * @param   boolean           $autocreate  True to autocreate.  
     * @param   JEventDispatcher  $dispatcher  Optionally allows the plugin to use a different dispatcher.  
     * @deprecated  4.0  Use JPluginHelper::import() instead  
    protected static function _import($plugin, $autocreate = 
true, JEventDispatcher $dispatcher = 
null)  
        static::import($plugin, $autocreate, $dispatcher);  
     * @param   object            $plugin      The plugin.  
     * @param   boolean           $autocreate  True to autocreate.  
     * @param   JEventDispatcher  $dispatcher  Optionally allows the plugin to use a different dispatcher.  
    protected static function import($plugin, $autocreate = 
true, JEventDispatcher $dispatcher = 
null)  
        $plugin->type = 
preg_replace('/[^A-Z0-9_\.-]/i', '', $plugin->type);  
        $plugin->name = 
preg_replace('/[^A-Z0-9_\.-]/i', '', $plugin->name);  
        $path = 
JPATH_PLUGINS . 
'/' . 
$plugin->type . 
'/' . 
$plugin->name . 
'/' . 
$plugin->name . 
'.php';  
        if (!isset
($paths[$path]))  
                if (!isset
($paths[$path]))  
                    // Makes sure we have an event dispatcher  
                    $className = 
'Plg' . 
$plugin->type . 
$plugin->name;  
                        // Load the plugin from the database.  
                        if (!isset
($plugin->params))  
                            // Seems like this could just go bye bye completely  
                            $plugin = 
static::getPlugin($plugin->type, $plugin->name);  
                        // Instantiate and register the plugin.  
                        new $className($dispatcher, (array) 
($plugin));  
     * Loads the published plugins.  
     * @return  array  An array of published plugins  
     * @deprecated  4.0  Use JPluginHelper::load() instead  
    protected static function _load()  
     * Loads the published plugins.  
     * @return  array  An array of published plugins  
    protected static function load()  
        if (static::$plugins !== 
null)  
        $levels = 
implode(',', $user->getAuthorisedViewLevels());  
        if (!static::$plugins = 
$cache->get($levels))  
            $query = 
$db->getQuery(true)  
                ->select('folder AS type, element AS name, params')  
                ->where('type =' . 
$db->quote('plugin'))  
                ->where('access IN (' . 
$levels . 
')')  
            static::$plugins = 
$db->setQuery($query)->loadObjectList();  
            $cache->store(static::$plugins, $levels);  
 
 
	
		Documentation generated on Tue, 19 Nov 2013 15:04:32 +0100 by phpDocumentor 1.4.3