Actions

API15

JApplicationHelper/getPath

From Joomla! Documentation

< API15:JApplicationHelper
Revision as of 17:09, 22 March 2010 by Doxiki (Talk | contribs)

Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

Contents

Description

Get a path

[Edit Descripton]

Description:JApplicationHelper/getPath

Syntax

getPath($varname, $user_option=null)
Parameter Name Default Value Description
$varname $varname
$user_option null $user_option

Returns

string The requested path

Defined in

libraries/joomla/application/helper.php

Importing

jimport( 'joomla.application.helper' );

Source Body

function getPath( $varname, $user_option=null )
{
        // check needed for handling of custom/new module xml file loading
        $check = ( ( $varname == 'mod0_xml' ) || ( $varname == 'mod1_xml' ) );
 
        if ( !$user_option && !$check ) {
                $user_option = JRequest::getCmd('option');
        } else {
                $user_option = JFilterInput::clean($user_option, 'path');
        }
 
        $result = null;
        $name   = substr( $user_option, 4 );
 
        switch ($varname) {
                case 'front':
                        $result = JApplicationHelper::_checkPath( DS.'components'.DS. $user_option .DS. $name .'.php', 0 );
                        break;
 
                case 'html':
                case 'front_html':
                        if ( !( $result = JApplicationHelper::_checkPath( DS.'templates'.DS. JApplication::getTemplate() .DS.'components'.DS. $name .'.html.php', 0 ) ) ) {
                                $result = JApplicationHelper::_checkPath( DS.'components'.DS. $user_option .DS. $name .'.html.php', 0 );
                        }
                        break;
 
                case 'toolbar':
                        $result = JApplicationHelper::_checkPath( DS.'components'.DS. $user_option .DS.'toolbar.'. $name .'.php', -1 );
                        break;
 
                case 'toolbar_html':
                        $result = JApplicationHelper::_checkPath( DS.'components'.DS. $user_option .DS.'toolbar.'. $name .'.html.php', -1 );
                        break;
 
                case 'toolbar_default':
                case 'toolbar_front':
                        $result = JApplicationHelper::_checkPath( DS.'includes'.DS.'HTML_toolbar.php', 0 );
                        break;
 
                case 'admin':
                        $path   = DS.'components'.DS. $user_option .DS.'admin.'. $name .'.php';
                        $result = JApplicationHelper::_checkPath( $path, -1 );
                        if ($result == null) {
                                $path = DS.'components'.DS. $user_option .DS. $name .'.php';
                                $result = JApplicationHelper::_checkPath( $path, -1 );
                        }
                        break;
 
                case 'admin_html':
                        $path   = DS.'components'.DS. $user_option .DS.'admin.'. $name .'.html.php';
                        $result = JApplicationHelper::_checkPath( $path, -1 );
                        break;
 
                case 'admin_functions':
                        $path   = DS.'components'.DS. $user_option .DS. $name .'.functions.php';
                        $result = JApplicationHelper::_checkPath( $path, -1 );
                        break;
 
                case 'class':
                        if ( !( $result = JApplicationHelper::_checkPath( DS.'components'.DS. $user_option .DS. $name .'.class.php' ) ) ) {
                                $result = JApplicationHelper::_checkPath( DS.'includes'.DS. $name .'.php' );
                        }
                        break;
 
                case 'helper':
                        $path   = DS.'components'.DS. $user_option .DS. $name .'.helper.php';
                        $result = JApplicationHelper::_checkPath( $path );
                        break;
 
                case 'com_xml':
                        $path   = DS.'components'.DS. $user_option .DS. $name .'.xml';
                        $result = JApplicationHelper::_checkPath( $path, 1 );
                        break;
 
                case 'mod0_xml':
                        $path = DS.'modules'.DS. $user_option .DS. $user_option. '.xml';
                        $result = JApplicationHelper::_checkPath( $path );
                        break;
 
                case 'mod1_xml':
                        // admin modules
                        $path = DS.'modules'.DS. $user_option .DS. $user_option. '.xml';
                        $result = JApplicationHelper::_checkPath( $path, -1 );
                        break;
 
                case 'bot_xml':
                        // legacy value
                case 'plg_xml':
                        // Site plugins
                        $path   = DS.'plugins'.DS. $user_option .'.xml';
                        $result = JApplicationHelper::_checkPath( $path, 0 );
                        break;
 
                case 'menu_xml':
                        $path   = DS.'components'.DS.'com_menus'.DS. $user_option .DS. $user_option .'.xml';
                        $result = JApplicationHelper::_checkPath( $path, -1 );
                        break;
        }
 
        return $result;
}

[Edit See Also] SeeAlso:JApplicationHelper/getPath

Examples

<CodeExamplesForm />