Sabre\CardDAV\Backend\PDO::getAddressBooksForUser PHP Method

getAddressBooksForUser() public method

Returns the list of addressbooks for a specific user.
public getAddressBooksForUser ( string $principalUri ) : array
$principalUri string
return array
    function getAddressBooksForUser($principalUri)
    {
        $stmt = $this->pdo->prepare('SELECT id, uri, displayname, principaluri, description, synctoken FROM ' . $this->addressBooksTableName . ' WHERE principaluri = ?');
        $stmt->execute([$principalUri]);
        $addressBooks = [];
        foreach ($stmt->fetchAll() as $row) {
            $addressBooks[] = ['id' => $row['id'], 'uri' => $row['uri'], 'principaluri' => $row['principaluri'], '{DAV:}displayname' => $row['displayname'], '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => $row['description'], '{http://calendarserver.org/ns/}getctag' => $row['synctoken'], '{http://sabredav.org/ns}sync-token' => $row['synctoken'] ? $row['synctoken'] : '0'];
        }
        return $addressBooks;
    }

Usage Example

Example #1
0
 function testCreateAddressBookSuccess()
 {
     $this->backend->createAddressBook('principals/user1', 'book2', ['{DAV:}displayname' => 'book2', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'addressbook 2']);
     $expected = [['id' => 1, 'uri' => 'book1', 'principaluri' => 'principals/user1', '{DAV:}displayname' => 'book1', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'addressbook 1', '{http://calendarserver.org/ns/}getctag' => 1, '{http://sabredav.org/ns}sync-token' => 1], ['id' => 2, 'uri' => 'book2', 'principaluri' => 'principals/user1', '{DAV:}displayname' => 'book2', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'addressbook 2', '{http://calendarserver.org/ns/}getctag' => 1, '{http://sabredav.org/ns}sync-token' => 1]];
     $result = $this->backend->getAddressBooksForUser('principals/user1');
     $this->assertEquals($expected, $result);
 }
All Usage Examples Of Sabre\CardDAV\Backend\PDO::getAddressBooksForUser