/home/ivoiecob/email.hirewise-va.com/vendor/afterlogic/dav/lib/DAV/CardDAV/Shared/Card.php
<?php
/**
* This code is licensed under AGPLv3 license or Afterlogic Software License
* if commercial version of the product was purchased.
* For full statements of the licenses see LICENSE-AFTERLOGIC and LICENSE-AGPL3 files.
*/
namespace Afterlogic\DAV\CardDAV\Shared;
use Aurora\Modules\Contacts\Enums\Access;
/**
* @license https://www.gnu.org/licenses/agpl-3.0.html AGPL-3.0
* @license https://afterlogic.com/products/common-licensing Afterlogic Software License
* @copyright Copyright (c) 2019, Afterlogic Corp.
*/
class Card extends \Sabre\CardDAV\Card
{
protected $principalUri;
/**
* Constructor
*
* @param \Sabre\CardDAV\Backend\BackendInterface $carddavBackend
* @param array $addressBookInfo
* @param array $cardData
*/
public function __construct(\Sabre\CardDAV\Backend\BackendInterface $carddavBackend, array $addressBookInfo, array $cardData, $principalUri)
{
parent::__construct($carddavBackend, $addressBookInfo, $cardData);
$this->principalUri = $principalUri;
}
public function getACL()
{
if ($this->addressBookInfo['access'] == Access::NoAccess) {
$acl = [];
} else {
$acl = [
[
'privilege' => '{DAV:}read',
'principal' => $this->principalUri,
'protected' => true,
],
];
if (isset($this->addressBookInfo['access']) && $this->addressBookInfo['access'] == Access::Read || !isset($this->addressBookInfo['access'])) {
$acl[] = [
'privilege' => '{DAV:}write',
'principal' => $this->principalUri,
'protected' => true,
];
}
}
return $acl;
}
}