<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ravenheart</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ravenheart"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Ravenheart"/>
	<updated>2026-09-27T04:38:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=API16:JFolder/create&amp;diff=62435</id>
		<title>API16:JFolder/create</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=API16:JFolder/create&amp;diff=62435"/>
		<updated>2011-10-01T07:36:21Z</updated>

		<summary type="html">&lt;p&gt;Ravenheart: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Description===&lt;br /&gt;
Create a folder -- and all necessary parent folders.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;editsection&amp;quot; style=&amp;quot;font-size:76%;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[Description:JFolder/create|Edit Descripton]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Description:JFolder/create}}&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;create($path= &#039;&#039;, $mode=0755)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter Name&lt;br /&gt;
!Default Value&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
| $path&lt;br /&gt;
| &#039;&#039;&lt;br /&gt;
|  A path to create from the base path. &lt;br /&gt;
|-&lt;br /&gt;
| $mode&lt;br /&gt;
| 0755&lt;br /&gt;
|  Directory permissions to set for folders created. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
boolean True if successful. &lt;br /&gt;
&lt;br /&gt;
===Defined in===&lt;br /&gt;
libraries/joomla/filesystem/folder.php&lt;br /&gt;
===Importing===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;jimport( &#039;joomla.filesystem.folder&#039; );&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Source Body===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function create($path = &#039;&#039;, $mode = 0755)&lt;br /&gt;
{&lt;br /&gt;
        // Initialise variables.&lt;br /&gt;
        jimport(&#039;joomla.client.helper&#039;);&lt;br /&gt;
        $FTPOptions = JClientHelper::getCredentials(&#039;ftp&#039;);&lt;br /&gt;
        static $nested = 0;&lt;br /&gt;
&lt;br /&gt;
        // Check to make sure the path valid and clean&lt;br /&gt;
        $path = JPath::clean($path);&lt;br /&gt;
&lt;br /&gt;
        // Check if parent dir exists&lt;br /&gt;
        $parent = dirname($path);&lt;br /&gt;
        if (!JFolder::exists($parent)) {&lt;br /&gt;
                // Prevent infinite loops!&lt;br /&gt;
                $nested++;&lt;br /&gt;
                if (($nested &amp;gt; 20) || ($parent == $path)) {&lt;br /&gt;
                        JError::raiseWarning(&lt;br /&gt;
                                &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                &#039;JFolder::create: &#039; . JText::_(&#039;Infinite loop detected&#039;)&lt;br /&gt;
                        );&lt;br /&gt;
                        $nested--;&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Create the parent directory&lt;br /&gt;
                if (JFolder::create($parent, $mode) !== true) {&lt;br /&gt;
                        // JFolder::create throws an error&lt;br /&gt;
                        $nested--;&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // OK, parent directory has been created&lt;br /&gt;
                $nested--;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Check if dir already exists&lt;br /&gt;
        if (JFolder::exists($path)) {&lt;br /&gt;
                return true;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Check for safe mode&lt;br /&gt;
        if ($FTPOptions[&#039;enabled&#039;] == 1) {&lt;br /&gt;
                // Connect the FTP client&lt;br /&gt;
                jimport(&#039;joomla.client.ftp&#039;);&lt;br /&gt;
                $ftp = &amp;amp;JFTP::getInstance(&lt;br /&gt;
                        $FTPOptions[&#039;host&#039;], $FTPOptions[&#039;port&#039;], null,&lt;br /&gt;
                        $FTPOptions[&#039;user&#039;], $FTPOptions[&#039;pass&#039;]&lt;br /&gt;
                );&lt;br /&gt;
&lt;br /&gt;
                // Translate path to FTP path&lt;br /&gt;
                $path = JPath::clean(str_replace(JPATH_ROOT, $FTPOptions[&#039;root&#039;], $path), &#039;/&#039;);&lt;br /&gt;
                $ret = $ftp-&amp;gt;mkdir($path);&lt;br /&gt;
                $ftp-&amp;gt;chmod($path, $mode);&lt;br /&gt;
        } else {&lt;br /&gt;
                // We need to get and explode the open_basedir paths&lt;br /&gt;
                $obd = ini_get(&#039;open_basedir&#039;);&lt;br /&gt;
&lt;br /&gt;
                // If open_basedir is set we need to get the open_basedir that the path is in&lt;br /&gt;
                if ($obd != null)&lt;br /&gt;
                {&lt;br /&gt;
                        if (JPATH_ISWIN) {&lt;br /&gt;
                                $obdSeparator = &amp;quot;;&amp;quot;;&lt;br /&gt;
                        } else {&lt;br /&gt;
                                $obdSeparator = &amp;quot;:&amp;quot;;&lt;br /&gt;
                        }&lt;br /&gt;
                        // Create the array of open_basedir paths&lt;br /&gt;
                        $obdArray = explode($obdSeparator, $obd);&lt;br /&gt;
                        $inBaseDir = false;&lt;br /&gt;
                        // Iterate through open_basedir paths looking for a match&lt;br /&gt;
                        foreach ($obdArray as $test) {&lt;br /&gt;
                                $test = JPath::clean($test);&lt;br /&gt;
                                if (strpos($path, $test) === 0) {&lt;br /&gt;
                                        $obdpath = $test;&lt;br /&gt;
                                        $inBaseDir = true;&lt;br /&gt;
                                        break;&lt;br /&gt;
                                }&lt;br /&gt;
                        }&lt;br /&gt;
                        if ($inBaseDir == false) {&lt;br /&gt;
                                // Return false for JFolder::create because the path to be created is not in open_basedir&lt;br /&gt;
                                JError::raiseWarning(&lt;br /&gt;
                                        &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                        &#039;JFolder::create: &#039; . JText::_(&#039;Path not in open_basedir paths&#039;)&lt;br /&gt;
                                );&lt;br /&gt;
                                return false;&lt;br /&gt;
                        }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // First set umask&lt;br /&gt;
                $origmask = @umask(0);&lt;br /&gt;
&lt;br /&gt;
                // Create the path&lt;br /&gt;
                if (!$ret = @mkdir($path, $mode)) {&lt;br /&gt;
                        @umask($origmask);&lt;br /&gt;
                        JError::raiseWarning(&lt;br /&gt;
                                &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                &#039;JFolder::create: &#039; . JText::_(&#039;COULD_NOT_CREATE_DIRECTORY&#039;),&lt;br /&gt;
                                &#039;Path: &#039; . $path&lt;br /&gt;
                        );&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Reset umask&lt;br /&gt;
                @umask($origmask);&lt;br /&gt;
        }&lt;br /&gt;
        return $ret;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;editsection&amp;quot; style=&amp;quot;font-size:76%;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[SeeAlso:JFolder/create|Edit See Also]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
{{SeeAlso:JFolder/create}}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
To create a subfolder(in this example: photoalbum) to images, write:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JFolder::create(&amp;quot;images&amp;quot;.DS.&amp;quot;photoalbum&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
As long as you execute this from the frontend your fine. If you like to make sure the folders are created under the site section regardless of where the command is executed, write:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JFolder::create(JPATH_SITE.DS.&amp;quot;your path here&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
For always under /administrator, write;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JFolder::create(JPATH_ADMINISTRATOR.DS.&amp;quot;your path here&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ravenheart</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=API16:JFolder/create&amp;diff=62429</id>
		<title>API16:JFolder/create</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=API16:JFolder/create&amp;diff=62429"/>
		<updated>2011-09-30T17:29:40Z</updated>

		<summary type="html">&lt;p&gt;Ravenheart: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Description===&lt;br /&gt;
Create a folder -- and all necessary parent folders.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;editsection&amp;quot; style=&amp;quot;font-size:76%;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[Description:JFolder/create|Edit Descripton]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Description:JFolder/create}}&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;create($path= &#039;&#039;, $mode=0755)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter Name&lt;br /&gt;
!Default Value&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
| $path&lt;br /&gt;
| &#039;&#039;&lt;br /&gt;
|  A path to create from the base path. &lt;br /&gt;
|-&lt;br /&gt;
| $mode&lt;br /&gt;
| 0755&lt;br /&gt;
|  Directory permissions to set for folders created. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
boolean True if successful. &lt;br /&gt;
&lt;br /&gt;
===Defined in===&lt;br /&gt;
libraries/joomla/filesystem/folder.php&lt;br /&gt;
===Importing===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;jimport( &#039;joomla.filesystem.folder&#039; );&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Source Body===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function create($path = &#039;&#039;, $mode = 0755)&lt;br /&gt;
{&lt;br /&gt;
        // Initialise variables.&lt;br /&gt;
        jimport(&#039;joomla.client.helper&#039;);&lt;br /&gt;
        $FTPOptions = JClientHelper::getCredentials(&#039;ftp&#039;);&lt;br /&gt;
        static $nested = 0;&lt;br /&gt;
&lt;br /&gt;
        // Check to make sure the path valid and clean&lt;br /&gt;
        $path = JPath::clean($path);&lt;br /&gt;
&lt;br /&gt;
        // Check if parent dir exists&lt;br /&gt;
        $parent = dirname($path);&lt;br /&gt;
        if (!JFolder::exists($parent)) {&lt;br /&gt;
                // Prevent infinite loops!&lt;br /&gt;
                $nested++;&lt;br /&gt;
                if (($nested &amp;gt; 20) || ($parent == $path)) {&lt;br /&gt;
                        JError::raiseWarning(&lt;br /&gt;
                                &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                &#039;JFolder::create: &#039; . JText::_(&#039;Infinite loop detected&#039;)&lt;br /&gt;
                        );&lt;br /&gt;
                        $nested--;&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Create the parent directory&lt;br /&gt;
                if (JFolder::create($parent, $mode) !== true) {&lt;br /&gt;
                        // JFolder::create throws an error&lt;br /&gt;
                        $nested--;&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // OK, parent directory has been created&lt;br /&gt;
                $nested--;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Check if dir already exists&lt;br /&gt;
        if (JFolder::exists($path)) {&lt;br /&gt;
                return true;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Check for safe mode&lt;br /&gt;
        if ($FTPOptions[&#039;enabled&#039;] == 1) {&lt;br /&gt;
                // Connect the FTP client&lt;br /&gt;
                jimport(&#039;joomla.client.ftp&#039;);&lt;br /&gt;
                $ftp = &amp;amp;JFTP::getInstance(&lt;br /&gt;
                        $FTPOptions[&#039;host&#039;], $FTPOptions[&#039;port&#039;], null,&lt;br /&gt;
                        $FTPOptions[&#039;user&#039;], $FTPOptions[&#039;pass&#039;]&lt;br /&gt;
                );&lt;br /&gt;
&lt;br /&gt;
                // Translate path to FTP path&lt;br /&gt;
                $path = JPath::clean(str_replace(JPATH_ROOT, $FTPOptions[&#039;root&#039;], $path), &#039;/&#039;);&lt;br /&gt;
                $ret = $ftp-&amp;gt;mkdir($path);&lt;br /&gt;
                $ftp-&amp;gt;chmod($path, $mode);&lt;br /&gt;
        } else {&lt;br /&gt;
                // We need to get and explode the open_basedir paths&lt;br /&gt;
                $obd = ini_get(&#039;open_basedir&#039;);&lt;br /&gt;
&lt;br /&gt;
                // If open_basedir is set we need to get the open_basedir that the path is in&lt;br /&gt;
                if ($obd != null)&lt;br /&gt;
                {&lt;br /&gt;
                        if (JPATH_ISWIN) {&lt;br /&gt;
                                $obdSeparator = &amp;quot;;&amp;quot;;&lt;br /&gt;
                        } else {&lt;br /&gt;
                                $obdSeparator = &amp;quot;:&amp;quot;;&lt;br /&gt;
                        }&lt;br /&gt;
                        // Create the array of open_basedir paths&lt;br /&gt;
                        $obdArray = explode($obdSeparator, $obd);&lt;br /&gt;
                        $inBaseDir = false;&lt;br /&gt;
                        // Iterate through open_basedir paths looking for a match&lt;br /&gt;
                        foreach ($obdArray as $test) {&lt;br /&gt;
                                $test = JPath::clean($test);&lt;br /&gt;
                                if (strpos($path, $test) === 0) {&lt;br /&gt;
                                        $obdpath = $test;&lt;br /&gt;
                                        $inBaseDir = true;&lt;br /&gt;
                                        break;&lt;br /&gt;
                                }&lt;br /&gt;
                        }&lt;br /&gt;
                        if ($inBaseDir == false) {&lt;br /&gt;
                                // Return false for JFolder::create because the path to be created is not in open_basedir&lt;br /&gt;
                                JError::raiseWarning(&lt;br /&gt;
                                        &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                        &#039;JFolder::create: &#039; . JText::_(&#039;Path not in open_basedir paths&#039;)&lt;br /&gt;
                                );&lt;br /&gt;
                                return false;&lt;br /&gt;
                        }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // First set umask&lt;br /&gt;
                $origmask = @umask(0);&lt;br /&gt;
&lt;br /&gt;
                // Create the path&lt;br /&gt;
                if (!$ret = @mkdir($path, $mode)) {&lt;br /&gt;
                        @umask($origmask);&lt;br /&gt;
                        JError::raiseWarning(&lt;br /&gt;
                                &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                &#039;JFolder::create: &#039; . JText::_(&#039;COULD_NOT_CREATE_DIRECTORY&#039;),&lt;br /&gt;
                                &#039;Path: &#039; . $path&lt;br /&gt;
                        );&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Reset umask&lt;br /&gt;
                @umask($origmask);&lt;br /&gt;
        }&lt;br /&gt;
        return $ret;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;editsection&amp;quot; style=&amp;quot;font-size:76%;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[SeeAlso:JFolder/create|Edit See Also]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
{{SeeAlso:JFolder/create}}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
To create a subfolder(in this example: photoalbum) to images, write:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JFolder::create(&amp;quot;images.DS.photoalbum&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
As long as you execute this from the frontend your fine. If you like to make sure the folders are created under the site section regardless of where the command is executed, write:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JFolder::create(JPATH_SITE.DS.&amp;quot;your path here&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
For always under /administrator, write;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JFolder::create(JPATH_ADMINISTRATOR.DS.&amp;quot;your path here&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ravenheart</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=API16:JFolder/create&amp;diff=62428</id>
		<title>API16:JFolder/create</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=API16:JFolder/create&amp;diff=62428"/>
		<updated>2011-09-30T16:20:19Z</updated>

		<summary type="html">&lt;p&gt;Ravenheart: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Description===&lt;br /&gt;
Create a folder -- and all necessary parent folders.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;editsection&amp;quot; style=&amp;quot;font-size:76%;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[Description:JFolder/create|Edit Descripton]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Description:JFolder/create}}&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;create($path= &#039;&#039;, $mode=0755)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter Name&lt;br /&gt;
!Default Value&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
| $path&lt;br /&gt;
| &#039;&#039;&lt;br /&gt;
|  A path to create from the base path. &lt;br /&gt;
|-&lt;br /&gt;
| $mode&lt;br /&gt;
| 0755&lt;br /&gt;
|  Directory permissions to set for folders created. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
boolean True if successful. &lt;br /&gt;
&lt;br /&gt;
===Defined in===&lt;br /&gt;
libraries/joomla/filesystem/folder.php&lt;br /&gt;
===Importing===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;jimport( &#039;joomla.filesystem.folder&#039; );&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Source Body===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function create($path = &#039;&#039;, $mode = 0755)&lt;br /&gt;
{&lt;br /&gt;
        // Initialise variables.&lt;br /&gt;
        jimport(&#039;joomla.client.helper&#039;);&lt;br /&gt;
        $FTPOptions = JClientHelper::getCredentials(&#039;ftp&#039;);&lt;br /&gt;
        static $nested = 0;&lt;br /&gt;
&lt;br /&gt;
        // Check to make sure the path valid and clean&lt;br /&gt;
        $path = JPath::clean($path);&lt;br /&gt;
&lt;br /&gt;
        // Check if parent dir exists&lt;br /&gt;
        $parent = dirname($path);&lt;br /&gt;
        if (!JFolder::exists($parent)) {&lt;br /&gt;
                // Prevent infinite loops!&lt;br /&gt;
                $nested++;&lt;br /&gt;
                if (($nested &amp;gt; 20) || ($parent == $path)) {&lt;br /&gt;
                        JError::raiseWarning(&lt;br /&gt;
                                &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                &#039;JFolder::create: &#039; . JText::_(&#039;Infinite loop detected&#039;)&lt;br /&gt;
                        );&lt;br /&gt;
                        $nested--;&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Create the parent directory&lt;br /&gt;
                if (JFolder::create($parent, $mode) !== true) {&lt;br /&gt;
                        // JFolder::create throws an error&lt;br /&gt;
                        $nested--;&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // OK, parent directory has been created&lt;br /&gt;
                $nested--;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Check if dir already exists&lt;br /&gt;
        if (JFolder::exists($path)) {&lt;br /&gt;
                return true;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Check for safe mode&lt;br /&gt;
        if ($FTPOptions[&#039;enabled&#039;] == 1) {&lt;br /&gt;
                // Connect the FTP client&lt;br /&gt;
                jimport(&#039;joomla.client.ftp&#039;);&lt;br /&gt;
                $ftp = &amp;amp;JFTP::getInstance(&lt;br /&gt;
                        $FTPOptions[&#039;host&#039;], $FTPOptions[&#039;port&#039;], null,&lt;br /&gt;
                        $FTPOptions[&#039;user&#039;], $FTPOptions[&#039;pass&#039;]&lt;br /&gt;
                );&lt;br /&gt;
&lt;br /&gt;
                // Translate path to FTP path&lt;br /&gt;
                $path = JPath::clean(str_replace(JPATH_ROOT, $FTPOptions[&#039;root&#039;], $path), &#039;/&#039;);&lt;br /&gt;
                $ret = $ftp-&amp;gt;mkdir($path);&lt;br /&gt;
                $ftp-&amp;gt;chmod($path, $mode);&lt;br /&gt;
        } else {&lt;br /&gt;
                // We need to get and explode the open_basedir paths&lt;br /&gt;
                $obd = ini_get(&#039;open_basedir&#039;);&lt;br /&gt;
&lt;br /&gt;
                // If open_basedir is set we need to get the open_basedir that the path is in&lt;br /&gt;
                if ($obd != null)&lt;br /&gt;
                {&lt;br /&gt;
                        if (JPATH_ISWIN) {&lt;br /&gt;
                                $obdSeparator = &amp;quot;;&amp;quot;;&lt;br /&gt;
                        } else {&lt;br /&gt;
                                $obdSeparator = &amp;quot;:&amp;quot;;&lt;br /&gt;
                        }&lt;br /&gt;
                        // Create the array of open_basedir paths&lt;br /&gt;
                        $obdArray = explode($obdSeparator, $obd);&lt;br /&gt;
                        $inBaseDir = false;&lt;br /&gt;
                        // Iterate through open_basedir paths looking for a match&lt;br /&gt;
                        foreach ($obdArray as $test) {&lt;br /&gt;
                                $test = JPath::clean($test);&lt;br /&gt;
                                if (strpos($path, $test) === 0) {&lt;br /&gt;
                                        $obdpath = $test;&lt;br /&gt;
                                        $inBaseDir = true;&lt;br /&gt;
                                        break;&lt;br /&gt;
                                }&lt;br /&gt;
                        }&lt;br /&gt;
                        if ($inBaseDir == false) {&lt;br /&gt;
                                // Return false for JFolder::create because the path to be created is not in open_basedir&lt;br /&gt;
                                JError::raiseWarning(&lt;br /&gt;
                                        &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                        &#039;JFolder::create: &#039; . JText::_(&#039;Path not in open_basedir paths&#039;)&lt;br /&gt;
                                );&lt;br /&gt;
                                return false;&lt;br /&gt;
                        }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // First set umask&lt;br /&gt;
                $origmask = @umask(0);&lt;br /&gt;
&lt;br /&gt;
                // Create the path&lt;br /&gt;
                if (!$ret = @mkdir($path, $mode)) {&lt;br /&gt;
                        @umask($origmask);&lt;br /&gt;
                        JError::raiseWarning(&lt;br /&gt;
                                &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                &#039;JFolder::create: &#039; . JText::_(&#039;COULD_NOT_CREATE_DIRECTORY&#039;),&lt;br /&gt;
                                &#039;Path: &#039; . $path&lt;br /&gt;
                        );&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Reset umask&lt;br /&gt;
                @umask($origmask);&lt;br /&gt;
        }&lt;br /&gt;
        return $ret;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;editsection&amp;quot; style=&amp;quot;font-size:76%;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[SeeAlso:JFolder/create|Edit See Also]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
{{SeeAlso:JFolder/create}}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JFolder::create(&amp;quot;images/photoalbum&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ravenheart</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=API16:JFolder/exists&amp;diff=62427</id>
		<title>API16:JFolder/exists</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=API16:JFolder/exists&amp;diff=62427"/>
		<updated>2011-09-30T16:17:22Z</updated>

		<summary type="html">&lt;p&gt;Ravenheart: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Description===&lt;br /&gt;
Wrapper for the standard file_exists function&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;editsection&amp;quot; style=&amp;quot;font-size:76%;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[Description:JFolder/exists|Edit Descripton]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Description:JFolder/exists}}&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;static exists($path)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter Name&lt;br /&gt;
!Default Value&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
| $path&lt;br /&gt;
| &lt;br /&gt;
|  Folder name relative to installation dir &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
boolean True if path is a folder &lt;br /&gt;
&lt;br /&gt;
===Defined in===&lt;br /&gt;
libraries/joomla/filesystem/folder.php&lt;br /&gt;
===Importing===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;jimport( &#039;joomla.filesystem.folder&#039; );&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Source Body===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public static function exists($path)&lt;br /&gt;
{&lt;br /&gt;
        return is_dir(JPath::clean($path));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;editsection&amp;quot; style=&amp;quot;font-size:76%;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[SeeAlso:JFolder/exists|Edit See Also]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
{{SeeAlso:JFolder/exists}}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JFolder::exists(&amp;quot;images/banners&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ravenheart</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=API16:JFolder/create&amp;diff=62417</id>
		<title>API16:JFolder/create</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=API16:JFolder/create&amp;diff=62417"/>
		<updated>2011-09-30T12:01:26Z</updated>

		<summary type="html">&lt;p&gt;Ravenheart: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Description===&lt;br /&gt;
Create a folder -- and all necessary parent folders.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;editsection&amp;quot; style=&amp;quot;font-size:76%;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[Description:JFolder/create|Edit Descripton]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Description:JFolder/create}}&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;create($path= &#039;&#039;, $mode=0755)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter Name&lt;br /&gt;
!Default Value&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
| $path&lt;br /&gt;
| &#039;&#039;&lt;br /&gt;
|  A path to create from the base path. &lt;br /&gt;
|-&lt;br /&gt;
| $mode&lt;br /&gt;
| 0755&lt;br /&gt;
|  Directory permissions to set for folders created. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
boolean True if successful. &lt;br /&gt;
&lt;br /&gt;
===Defined in===&lt;br /&gt;
libraries/joomla/filesystem/folder.php&lt;br /&gt;
===Importing===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;jimport( &#039;joomla.filesystem.folder&#039; );&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Source Body===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function create($path = &#039;&#039;, $mode = 0755)&lt;br /&gt;
{&lt;br /&gt;
        // Initialise variables.&lt;br /&gt;
        jimport(&#039;joomla.client.helper&#039;);&lt;br /&gt;
        $FTPOptions = JClientHelper::getCredentials(&#039;ftp&#039;);&lt;br /&gt;
        static $nested = 0;&lt;br /&gt;
&lt;br /&gt;
        // Check to make sure the path valid and clean&lt;br /&gt;
        $path = JPath::clean($path);&lt;br /&gt;
&lt;br /&gt;
        // Check if parent dir exists&lt;br /&gt;
        $parent = dirname($path);&lt;br /&gt;
        if (!JFolder::exists($parent)) {&lt;br /&gt;
                // Prevent infinite loops!&lt;br /&gt;
                $nested++;&lt;br /&gt;
                if (($nested &amp;gt; 20) || ($parent == $path)) {&lt;br /&gt;
                        JError::raiseWarning(&lt;br /&gt;
                                &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                &#039;JFolder::create: &#039; . JText::_(&#039;Infinite loop detected&#039;)&lt;br /&gt;
                        );&lt;br /&gt;
                        $nested--;&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Create the parent directory&lt;br /&gt;
                if (JFolder::create($parent, $mode) !== true) {&lt;br /&gt;
                        // JFolder::create throws an error&lt;br /&gt;
                        $nested--;&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // OK, parent directory has been created&lt;br /&gt;
                $nested--;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Check if dir already exists&lt;br /&gt;
        if (JFolder::exists($path)) {&lt;br /&gt;
                return true;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Check for safe mode&lt;br /&gt;
        if ($FTPOptions[&#039;enabled&#039;] == 1) {&lt;br /&gt;
                // Connect the FTP client&lt;br /&gt;
                jimport(&#039;joomla.client.ftp&#039;);&lt;br /&gt;
                $ftp = &amp;amp;JFTP::getInstance(&lt;br /&gt;
                        $FTPOptions[&#039;host&#039;], $FTPOptions[&#039;port&#039;], null,&lt;br /&gt;
                        $FTPOptions[&#039;user&#039;], $FTPOptions[&#039;pass&#039;]&lt;br /&gt;
                );&lt;br /&gt;
&lt;br /&gt;
                // Translate path to FTP path&lt;br /&gt;
                $path = JPath::clean(str_replace(JPATH_ROOT, $FTPOptions[&#039;root&#039;], $path), &#039;/&#039;);&lt;br /&gt;
                $ret = $ftp-&amp;gt;mkdir($path);&lt;br /&gt;
                $ftp-&amp;gt;chmod($path, $mode);&lt;br /&gt;
        } else {&lt;br /&gt;
                // We need to get and explode the open_basedir paths&lt;br /&gt;
                $obd = ini_get(&#039;open_basedir&#039;);&lt;br /&gt;
&lt;br /&gt;
                // If open_basedir is set we need to get the open_basedir that the path is in&lt;br /&gt;
                if ($obd != null)&lt;br /&gt;
                {&lt;br /&gt;
                        if (JPATH_ISWIN) {&lt;br /&gt;
                                $obdSeparator = &amp;quot;;&amp;quot;;&lt;br /&gt;
                        } else {&lt;br /&gt;
                                $obdSeparator = &amp;quot;:&amp;quot;;&lt;br /&gt;
                        }&lt;br /&gt;
                        // Create the array of open_basedir paths&lt;br /&gt;
                        $obdArray = explode($obdSeparator, $obd);&lt;br /&gt;
                        $inBaseDir = false;&lt;br /&gt;
                        // Iterate through open_basedir paths looking for a match&lt;br /&gt;
                        foreach ($obdArray as $test) {&lt;br /&gt;
                                $test = JPath::clean($test);&lt;br /&gt;
                                if (strpos($path, $test) === 0) {&lt;br /&gt;
                                        $obdpath = $test;&lt;br /&gt;
                                        $inBaseDir = true;&lt;br /&gt;
                                        break;&lt;br /&gt;
                                }&lt;br /&gt;
                        }&lt;br /&gt;
                        if ($inBaseDir == false) {&lt;br /&gt;
                                // Return false for JFolder::create because the path to be created is not in open_basedir&lt;br /&gt;
                                JError::raiseWarning(&lt;br /&gt;
                                        &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                        &#039;JFolder::create: &#039; . JText::_(&#039;Path not in open_basedir paths&#039;)&lt;br /&gt;
                                );&lt;br /&gt;
                                return false;&lt;br /&gt;
                        }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // First set umask&lt;br /&gt;
                $origmask = @umask(0);&lt;br /&gt;
&lt;br /&gt;
                // Create the path&lt;br /&gt;
                if (!$ret = @mkdir($path, $mode)) {&lt;br /&gt;
                        @umask($origmask);&lt;br /&gt;
                        JError::raiseWarning(&lt;br /&gt;
                                &#039;SOME_ERROR_CODE&#039;,&lt;br /&gt;
                                &#039;JFolder::create: &#039; . JText::_(&#039;COULD_NOT_CREATE_DIRECTORY&#039;),&lt;br /&gt;
                                &#039;Path: &#039; . $path&lt;br /&gt;
                        );&lt;br /&gt;
                        return false;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Reset umask&lt;br /&gt;
                @umask($origmask);&lt;br /&gt;
        }&lt;br /&gt;
        return $ret;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;editsection&amp;quot; style=&amp;quot;font-size:76%;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[SeeAlso:JFolder/create|Edit See Also]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
{{SeeAlso:JFolder/create}}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;CodeExamplesForm /&amp;gt;&lt;br /&gt;
&amp;lt;dpl&amp;gt;&lt;br /&gt;
 noresultsheader=\n&lt;br /&gt;
 category=create&lt;br /&gt;
 category=JFolder&lt;br /&gt;
 category=CodeExample&lt;br /&gt;
 category=MethodExample&lt;br /&gt;
 include=*&lt;br /&gt;
 format= ,,,&lt;br /&gt;
&amp;lt;/dpl&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JFolder::create(&amp;quot;images/photoalbum&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ravenheart</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived_talk:Developing_a_MVC_Component/Adding_verifications&amp;diff=59758</id>
		<title>Archived talk:Developing a MVC Component/Adding verifications</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived_talk:Developing_a_MVC_Component/Adding_verifications&amp;diff=59758"/>
		<updated>2011-06-18T14:57:50Z</updated>

		<summary type="html">&lt;p&gt;Ravenheart: /* Attention */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why is the protected function _populateState() in the /admin/models/helloworld.php file? It doesn&#039;t appear in the original helloworld.php model file, and there isn&#039;t any indication as to the purpose of this function aside from the annotations within the function, which I don&#039;t fully understand.&lt;br /&gt;
&lt;br /&gt;
== Attention ==&lt;br /&gt;
&lt;br /&gt;
Section about admin/views/helloworld/tmpl/edit.php is not the same as in file present in archive.&lt;/div&gt;</summary>
		<author><name>Ravenheart</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived_talk:Developing_a_MVC_Component/Adding_backend_actions&amp;diff=59757</id>
		<title>Archived talk:Developing a MVC Component/Adding backend actions</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived_talk:Developing_a_MVC_Component/Adding_backend_actions&amp;diff=59757"/>
		<updated>2011-06-18T14:47:40Z</updated>

		<summary type="html">&lt;p&gt;Ravenheart: /* Attention! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It&#039;s not clear to me where the word &amp;quot;helloworld&amp;quot; refers to in these examples.  Can you please clarify when &#039;helloworld&#039; refers to the component,controller,model,table,view or form?  While following this, I&#039;ve changed the name of my component, and when running this I get a &#039;call to member function getTable() on non-object&#039;.  It seems that I used the wrong name somewhere, but I have no idea where.&lt;br /&gt;
&lt;br /&gt;
We&#039;re also introducing JForms and JFields.  These are powerful and important, and warrant some richer explanation.&lt;br /&gt;
&lt;br /&gt;
== Attention! ==&lt;br /&gt;
&lt;br /&gt;
There is a change in /admin/views/helloworlds/tmpl/default_body.php that isnt mentioned on this page but is present in the archive file.&lt;/div&gt;</summary>
		<author><name>Ravenheart</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived_talk:Developing_a_MVC_Component/Adding_backend_actions&amp;diff=59756</id>
		<title>Archived talk:Developing a MVC Component/Adding backend actions</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived_talk:Developing_a_MVC_Component/Adding_backend_actions&amp;diff=59756"/>
		<updated>2011-06-18T14:47:11Z</updated>

		<summary type="html">&lt;p&gt;Ravenheart: /* Attention! */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It&#039;s not clear to me where the word &amp;quot;helloworld&amp;quot; refers to in these examples.  Can you please clarify when &#039;helloworld&#039; refers to the component,controller,model,table,view or form?  While following this, I&#039;ve changed the name of my component, and when running this I get a &#039;call to member function getTable() on non-object&#039;.  It seems that I used the wrong name somewhere, but I have no idea where.&lt;br /&gt;
&lt;br /&gt;
We&#039;re also introducing JForms and JFields.  These are powerful and important, and warrant some richer explanation.&lt;br /&gt;
&lt;br /&gt;
== Attention! ==&lt;br /&gt;
&lt;br /&gt;
There is a change /admin/views/helloworlds/tmpl/default_body.php that isnt mentioned on this page but is present in the archive file.&lt;/div&gt;</summary>
		<author><name>Ravenheart</name></author>
	</entry>
</feed>