aboutsummaryrefslogtreecommitdiffstats
path: root/apps/dav/lib/carddav/carddavbackend.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav/lib/carddav/carddavbackend.php')
-rw-r--r--apps/dav/lib/carddav/carddavbackend.php20
1 files changed, 20 insertions, 0 deletions
diff --git a/apps/dav/lib/carddav/carddavbackend.php b/apps/dav/lib/carddav/carddavbackend.php
index c4f29b39d0d..aa2490ab11a 100644
--- a/apps/dav/lib/carddav/carddavbackend.php
+++ b/apps/dav/lib/carddav/carddavbackend.php
@@ -29,6 +29,7 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
use OCA\DAV\DAV\Sharing\Backend;
use OCA\DAV\DAV\Sharing\IShareable;
use OCP\IDBConnection;
+use PDO;
use Sabre\CardDAV\Backend\BackendInterface;
use Sabre\CardDAV\Backend\SyncSupport;
use Sabre\CardDAV\Plugin;
@@ -762,6 +763,25 @@ class CardDavBackend implements BackendInterface, SyncSupport {
}
/**
+ * @param int $bookId
+ * @param string $name
+ * @return array
+ */
+ public function collectCardProperties($bookId, $name) {
+ $query = $this->db->getQueryBuilder();
+ $result = $query->selectDistinct('value')
+ ->from($this->dbCardsPropertiesTable)
+ ->where($query->expr()->eq('name', $query->createNamedParameter($name)))
+ ->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($bookId)))
+ ->execute();
+
+ $all = $result->fetchAll(PDO::FETCH_COLUMN);
+ $result->closeCursor();
+
+ return $all;
+ }
+
+ /**
* get URI from a given contact
*
* @param int $id