Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F1821426
PropertiesCollection.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Size
2 KB
Subscribers
None
PropertiesCollection.php
View Options
<?php
namespace
Sabre\DAV\Mock
;
use
Sabre\DAV\IProperties
,
Sabre\DAV\PropPatch
;
/**
* A node specifically for testing property-related operations
*
* @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
class
PropertiesCollection
extends
Collection
implements
IProperties
{
public
$failMode
=
false
;
public
$properties
;
/**
* Creates the object
*
* @param string $name
* @param array $children
* @param array $properties
* @return void
*/
public
function
__construct
(
$name
,
array
$children
,
array
$properties
=
[])
{
parent
::
__construct
(
$name
,
$children
,
null
);
$this
->
properties
=
$properties
;
}
/**
* Updates properties on this node.
*
* This method received a PropPatch object, which contains all the
* information about the update.
*
* To update specific properties, call the 'handle' method on this object.
* Read the PropPatch documentation for more information.
*
* @param array $mutations
* @return bool|array
*/
public
function
propPatch
(
PropPatch
$proppatch
)
{
$proppatch
->
handleRemaining
(
function
(
$updateProperties
)
{
switch
(
$this
->
failMode
)
{
case
'updatepropsfalse'
:
return
false
;
case
'updatepropsarray'
:
$r
=
[];
foreach
(
$updateProperties
as
$k
=>
$v
)
$r
[
$k
]
=
402
;
return
$r
;
case
'updatepropsobj'
:
return
new
\STDClass
();
}
});
}
/**
* Returns a list of properties for this nodes.
*
* The properties list is a list of propertynames the client requested,
* encoded in clark-notation {xmlnamespace}tagname
*
* If the array is empty, it means 'all properties' were requested.
*
* Note that it's fine to liberally give properties back, instead of
* conforming to the list of requested properties.
* The Server class will filter out the extra.
*
* @param array $properties
* @return array
*/
public
function
getProperties
(
$requestedProperties
)
{
$returnedProperties
=
array
();
foreach
(
$requestedProperties
as
$requestedProperty
)
{
if
(
isset
(
$this
->
properties
[
$requestedProperty
]))
{
$returnedProperties
[
$requestedProperty
]
=
$this
->
properties
[
$requestedProperty
];
}
}
return
$returnedProperties
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Tue, Dec 24, 12:18 AM (1 d, 1 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
914310
Default Alt Text
PropertiesCollection.php (2 KB)
Attached To
rDAVCAL DokuWiki DAVCal PlugIn
Event Timeline
Log In to Comment