Page MenuHomePhabricator

AbstractBackend.php
No OneTemporary

AbstractBackend.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) 2007-2015 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];
}
}
}

File Metadata

Mime Type
text/x-php
Expires
Sun, Dec 22, 11:28 PM (2 d, 7 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
914805
Default Alt Text
AbstractBackend.php (1 KB)

Event Timeline