The Red Matrix
 All Classes Namespaces Files Functions Variables Pages
RedMatrix\RedDAV\RedDirectory Class Reference

RedDirectory class. More...

Inheritance diagram for RedMatrix\RedDAV\RedDirectory:

Public Member Functions

 __construct ($ext_path, &$auth_plugin)
 Sets up the directory node, expects a full path. More...
 
 getChildren ()
 Returns an array with all the child nodes. More...
 
 getChild ($name)
 Returns a child by name. More...
 
 getName ()
 Returns the name of the directory. More...
 
 setName ($name)
 Renames the directory. More...
 
 createFile ($name, $data=null)
 Creates a new file in the directory. More...
 
 createDirectory ($name)
 Creates a new subdirectory. More...
 
 childExists ($name)
 Checks if a child exists. More...
 
 getDir ()
 
 getLastModified ()
 Returns the last modification time for the directory, as a UNIX timestamp. More...
 
 getQuotaInfo ()
 Return quota usage. More...
 

Private Member Functions

 log ()
 

Private Attributes

 $red_path
 
 $folder_hash
 
 $ext_path
 
 $root_dir = ''
 
 $auth
 
 $os_path = ''
 

Detailed Description

RedDirectory class.

A class that represents a directory.

http://opensource.org/licenses/mit-license.php The MIT License (MIT)

Constructor & Destructor Documentation

RedMatrix\RedDAV\RedDirectory::__construct (   $ext_path,
$auth_plugin 
)

Sets up the directory node, expects a full path.

Parameters
string$ext_patha full path
RedBasicAuth&$auth_plugin

Member Function Documentation

RedMatrix\RedDAV\RedDirectory::childExists (   $name)

Checks if a child exists.

Parameters
string$nameThe name to check if it exists.
Returns
boolean
RedMatrix\RedDAV\RedDirectory::createDirectory (   $name)

Creates a new subdirectory.

Parameters
string$namethe directory to create
Returns
void
RedMatrix\RedDAV\RedDirectory::createFile (   $name,
  $data = null 
)

Creates a new file in the directory.

Data will either be supplied as a stream resource, or in certain cases as a string. Keep in mind that you may have to support either.

After successful creation of the file, you may choose to return the ETag of the new file here.

Exceptions
\Sabre\DAV\Exception\Forbidden
Parameters
string$nameName of the file
resource | string$dataInitial payload
Returns
null|string ETag
RedMatrix\RedDAV\RedDirectory::getChild (   $name)

Returns a child by name.

Exceptions
\Sabre\DAV\Exception\Forbidden
\Sabre\DAV\Exception\NotFound
Parameters
string$name
RedMatrix\RedDAV\RedDirectory::getChildren ( )

Returns an array with all the child nodes.

Exceptions
\Sabre\DAV\Exception\Forbidden
Returns
array []
RedMatrix\RedDAV\RedDirectory::getDir ( )
Todo:
add description of what this function does.
Exceptions
\Sabre\DAV\Exception\NotFound
Returns
void

Referenced by RedMatrix\RedDAV\RedDirectory\__construct().

RedMatrix\RedDAV\RedDirectory::getLastModified ( )

Returns the last modification time for the directory, as a UNIX timestamp.

It looks for the last edited file in the folder. If it is an empty folder it returns the lastmodified time of the folder itself, to prevent zero timestamps.

Returns
int last modification time in UNIX timestamp
RedMatrix\RedDAV\RedDirectory::getName ( )

Returns the name of the directory.

Returns
string
RedMatrix\RedDAV\RedDirectory::getQuotaInfo ( )

Return quota usage.

Should guests relly see the used/free values from filesystem of the complete store directory?

Returns
array with used and free values in bytes.
RedMatrix\RedDAV\RedDirectory::log ( )
private
RedMatrix\RedDAV\RedDirectory::setName (   $name)

Renames the directory.

Todo:
handle duplicate directory name
Exceptions
\Sabre\DAV\Exception\Forbidden
Parameters
string$nameThe new name of the directory.
Returns
void

Member Data Documentation

RedMatrix\RedDAV\RedDirectory::$auth
private
RedMatrix\RedDAV\RedDirectory::$ext_path
private
RedMatrix\RedDAV\RedDirectory::$folder_hash
private
RedMatrix\RedDAV\RedDirectory::$os_path = ''
private
RedMatrix\RedDAV\RedDirectory::$red_path
private
RedMatrix\RedDAV\RedDirectory::$root_dir = ''
private

The documentation for this class was generated from the following file: