111 lines
1.6 KiB
PHP
111 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace davina\overwrites;
|
|
|
|
require_once('vendor/autoload.php');
|
|
require_once(DIR_LOGIC . '/helpers/list.php');
|
|
|
|
|
|
/**
|
|
*/
|
|
class class_principle_backend
|
|
implements \Sabre\DAVACL\PrincipalBackend\BackendInterface
|
|
{
|
|
|
|
/**
|
|
* @var array {map<string, \davina\model\struct_realm>}
|
|
*/
|
|
private array $realms;
|
|
|
|
|
|
/**
|
|
*/
|
|
public function __construct(
|
|
array $realms
|
|
)
|
|
{
|
|
$this->realms = $realms;
|
|
}
|
|
|
|
|
|
/**
|
|
*/
|
|
public function getPrincipalsByPrefix(
|
|
$prefixPath
|
|
)
|
|
{
|
|
return [
|
|
[
|
|
'uri' => 'principals/-',
|
|
'{DAV:}displayname' => 'default',
|
|
],
|
|
];
|
|
}
|
|
|
|
|
|
/**
|
|
*/
|
|
public function getPrincipalByPath(
|
|
$path
|
|
)
|
|
{
|
|
$parts = \explode('/', $path);
|
|
$username = $parts[1];
|
|
return [
|
|
'uri' => $path,
|
|
'displayname' => $username,
|
|
];
|
|
}
|
|
|
|
|
|
/**
|
|
*/
|
|
public function updatePrincipal($path, \Sabre\DAV\PropPatch $propPatch)
|
|
{
|
|
throw (new \Exception('not implemented: updatePrincipal'));
|
|
}
|
|
|
|
|
|
/**
|
|
*/
|
|
public function searchPrincipals($prefixPath, array $searchProperties, $test = 'allof')
|
|
{
|
|
throw (new \Exception('not implemented: searchPrincipals'));
|
|
}
|
|
|
|
|
|
/**
|
|
*/
|
|
public function findByUri($uri, $principalPrefix)
|
|
{
|
|
throw (new \Exception('not implemented: findByUri'));
|
|
}
|
|
|
|
|
|
/**
|
|
*/
|
|
public function getGroupMemberSet($principal)
|
|
{
|
|
throw (new \Exception('not implemented: getGroupMemberSet'));
|
|
}
|
|
|
|
|
|
/**
|
|
*/
|
|
public function getGroupMembership($principal)
|
|
{
|
|
return [];
|
|
}
|
|
|
|
|
|
/**
|
|
*/
|
|
public function setGroupMemberSet($principal, array $members)
|
|
{
|
|
throw (new \Exception('not implemented: setGroupMemberSet'));
|
|
}
|
|
|
|
}
|
|
|
|
?>
|