API16

JPath/setPermissions

From Joomla! Documentation

< API16:JPath
Revision as of 17:47, 22 March 2010 by Doxiki (talk | contribs) (New page: ===Description=== Chmods files and directories recursivly to given permissions <span class="editsection" style="font-size:76%;"> <nowiki>[</nowiki>[[Description:JPath/setPermissions|E...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Chmods files and directories recursivly to given permissions

[Edit Descripton]

Template:Description:JPath/setPermissions

Syntax[edit]

setPermissions($path, $filemode= '0644', $foldermode= '0755')
Parameter Name Default Value Description
$path $path Root path to begin changing mode [without trailing slash]
$filemode '0644' $filemode Octal representation of the value to change file mode to [null = no change]
$foldermode '0755' $foldermode Octal representation of the value to change folder mode to [null = no change]

Returns[edit]

boolean True if successful [one fail means the whole operation failed]

Defined in[edit]

libraries/joomla/filesystem/path.php

Importing[edit]

jimport( 'joomla.filesystem.path' );

Source Body[edit]

function setPermissions($path, $filemode = '0644', $foldermode = '0755') {

        // Initialise return value
        $ret = true;

        if (is_dir($path))
        {
                $dh = opendir($path);
                while ($file = readdir($dh))
                {
                        if ($file != '.' && $file != '..') {
                                $fullpath = $path.'/'.$file;
                                if (is_dir($fullpath)) {
                                        if (!JPath::setPermissions($fullpath, $filemode, $foldermode)) {
                                                $ret = false;
                                        }
                                } else {
                                        if (isset ($filemode)) {
                                                if (!@ chmod($fullpath, octdec($filemode))) {
                                                        $ret = false;
                                                }
                                        }
                                } // if
                        } // if
                } // while
                closedir($dh);
                if (isset ($foldermode)) {
                        if (!@ chmod($path, octdec($foldermode))) {
                                $ret = false;
                        }
                }
        }
        else
        {
                if (isset ($filemode)) {
                        $ret = @ chmod($path, octdec($filemode));
                }
        } // if
        return $ret;
}

[Edit See Also] Template:SeeAlso:JPath/setPermissions

Examples[edit]

<CodeExamplesForm />