mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-30 16:40:28 +01:00
54 lines
1.6 KiB
PHP
54 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace Sabre\DAVACL\PrincipalBackend;
|
|
|
|
/**
|
|
* Abstract Principal Backend
|
|
*
|
|
* Currently this class has no function. It's here for consistency and so we
|
|
* have a non-bc-breaking way to add a default generic implementation to
|
|
* functions we may add in the future.
|
|
*
|
|
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
|
|
* @author Evert Pot (http://evertpot.com/)
|
|
* @license http://sabre.io/license/ Modified BSD License
|
|
*/
|
|
abstract class AbstractBackend implements BackendInterface {
|
|
|
|
/**
|
|
* Finds a principal by its URI.
|
|
*
|
|
* This method may receive any type of uri, but mailto: addresses will be
|
|
* the most common.
|
|
*
|
|
* Implementation of this API is optional. It is currently used by the
|
|
* CalDAV system to find principals based on their email addresses. If this
|
|
* API is not implemented, some features may not work correctly.
|
|
*
|
|
* This method must return a relative principal path, or null, if the
|
|
* principal was not found or you refuse to find it.
|
|
*
|
|
* @param string $uri
|
|
* @param string $principalPrefix
|
|
* @return string
|
|
*/
|
|
function findByUri($uri, $principalPrefix) {
|
|
|
|
// Note that the default implementation here is a bit slow and could
|
|
// likely be optimized.
|
|
if (substr($uri, 0, 7) !== 'mailto:') {
|
|
return;
|
|
}
|
|
$result = $this->searchPrincipals(
|
|
$principalPrefix,
|
|
['{http://sabredav.org/ns}email-address' => substr($uri, 7)]
|
|
);
|
|
|
|
if ($result) {
|
|
return $result[0];
|
|
}
|
|
|
|
}
|
|
|
|
}
|