3 class Sabre_CardDAV_Backend_Mock extends Sabre_CardDAV_Backend_Abstract {
8 function __construct($addressBooks = null, $cards = null) {
10 $this->addressBooks = $addressBooks;
11 $this->cards = $cards;
13 if (is_null($this->addressBooks)) {
14 $this->addressBooks = array(
18 'principaluri' => 'principals/user1',
19 '{DAV:}displayname' => 'd-name',
25 'card1' => "BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD",
26 'card2' => "BEGIN:VCARD\nVERSION:3.0\nUID:45678\nEND:VCARD",
34 function getAddressBooksForUser($principalUri) {
37 foreach($this->addressBooks as $book) {
38 if ($book['principaluri'] === $principalUri) {
46 function updateAddressBook($addressBookId, array $mutations) {
48 foreach($this->addressBooks as &$book) {
49 if ($book['id'] !== $addressBookId)
52 foreach($mutations as $key=>$value) {
61 function createAddressBook($principalUri, $url, array $properties) {
63 $this->addressBooks[] = array_merge($properties, array(
66 'principaluri' => $principalUri,
71 function deleteAddressBook($addressBookId) {
73 foreach($this->addressBooks as $key=>$value) {
74 if ($value['id'] === $addressBookId)
75 unset($this->addressBooks[$key]);
77 unset($this->cards[$addressBookId]);
81 function getCards($addressBookId) {
84 foreach($this->cards[$addressBookId] as $uri=>$data) {
94 function getCard($addressBookId, $cardUri) {
96 if (!isset($this->cards[$addressBookId][$cardUri])) {
102 'carddata' => $this->cards[$addressBookId][$cardUri],
107 function createCard($addressBookId, $cardUri, $cardData) {
109 $this->cards[$addressBookId][$cardUri] = $cardData;
113 function updateCard($addressBookId, $cardUri, $cardData) {
115 $this->cards[$addressBookId][$cardUri] = $cardData;
119 function deleteCard($addressBookId, $cardUri) {
121 unset($this->cards[$addressBookId][$cardUri]);