125 lines
2.3 KiB
PHP
125 lines
2.3 KiB
PHP
<?php
|
|
/*
|
|
davina — Calendar data CalDAV conditioner
|
|
Copyright (C) 2025 Fenris <fenris@folksprak.org>
|
|
|
|
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
|
|
License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
|
|
version.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along with this program. If not, see
|
|
<https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
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'));
|
|
}
|
|
|
|
}
|
|
|
|
?>
|