Properly set uid and create and update
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
This commit is contained in:
parent
06b3ade9ee
commit
9afff2fb20
|
@ -494,7 +494,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||||
*/
|
*/
|
||||||
function getCards($addressBookId) {
|
function getCards($addressBookId) {
|
||||||
$query = $this->db->getQueryBuilder();
|
$query = $this->db->getQueryBuilder();
|
||||||
$query->select(['id', 'uri', 'lastmodified', 'etag', 'size', 'carddata'])
|
$query->select(['id', 'uri', 'lastmodified', 'etag', 'size', 'carddata', 'uid'])
|
||||||
->from('cards')
|
->from('cards')
|
||||||
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)));
|
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)));
|
||||||
|
|
||||||
|
@ -525,7 +525,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||||
*/
|
*/
|
||||||
function getCard($addressBookId, $cardUri) {
|
function getCard($addressBookId, $cardUri) {
|
||||||
$query = $this->db->getQueryBuilder();
|
$query = $this->db->getQueryBuilder();
|
||||||
$query->select(['id', 'uri', 'lastmodified', 'etag', 'size', 'carddata'])
|
$query->select(['id', 'uri', 'lastmodified', 'etag', 'size', 'carddata', 'uid'])
|
||||||
->from('cards')
|
->from('cards')
|
||||||
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
|
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
|
||||||
->andWhere($query->expr()->eq('uri', $query->createNamedParameter($cardUri)))
|
->andWhere($query->expr()->eq('uri', $query->createNamedParameter($cardUri)))
|
||||||
|
@ -563,7 +563,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||||
$cards = [];
|
$cards = [];
|
||||||
|
|
||||||
$query = $this->db->getQueryBuilder();
|
$query = $this->db->getQueryBuilder();
|
||||||
$query->select(['id', 'uri', 'lastmodified', 'etag', 'size', 'carddata'])
|
$query->select(['id', 'uri', 'lastmodified', 'etag', 'size', 'carddata', 'uid'])
|
||||||
->from('cards')
|
->from('cards')
|
||||||
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
|
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
|
||||||
->andWhere($query->expr()->in('uri', $query->createParameter('uri')));
|
->andWhere($query->expr()->in('uri', $query->createParameter('uri')));
|
||||||
|
@ -609,6 +609,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||||
*/
|
*/
|
||||||
function createCard($addressBookId, $cardUri, $cardData) {
|
function createCard($addressBookId, $cardUri, $cardData) {
|
||||||
$etag = md5($cardData);
|
$etag = md5($cardData);
|
||||||
|
$uid = $this->getUID($cardData);
|
||||||
|
|
||||||
$query = $this->db->getQueryBuilder();
|
$query = $this->db->getQueryBuilder();
|
||||||
$query->insert('cards')
|
$query->insert('cards')
|
||||||
|
@ -619,6 +620,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||||
'addressbookid' => $query->createNamedParameter($addressBookId),
|
'addressbookid' => $query->createNamedParameter($addressBookId),
|
||||||
'size' => $query->createNamedParameter(strlen($cardData)),
|
'size' => $query->createNamedParameter(strlen($cardData)),
|
||||||
'etag' => $query->createNamedParameter($etag),
|
'etag' => $query->createNamedParameter($etag),
|
||||||
|
'uid' => $query->createNamedParameter($uid),
|
||||||
])
|
])
|
||||||
->execute();
|
->execute();
|
||||||
|
|
||||||
|
@ -661,6 +663,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||||
*/
|
*/
|
||||||
function updateCard($addressBookId, $cardUri, $cardData) {
|
function updateCard($addressBookId, $cardUri, $cardData) {
|
||||||
|
|
||||||
|
$uid = $this->getUID($cardData);
|
||||||
$etag = md5($cardData);
|
$etag = md5($cardData);
|
||||||
$query = $this->db->getQueryBuilder();
|
$query = $this->db->getQueryBuilder();
|
||||||
$query->update('cards')
|
$query->update('cards')
|
||||||
|
@ -668,6 +671,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||||
->set('lastmodified', $query->createNamedParameter(time()))
|
->set('lastmodified', $query->createNamedParameter(time()))
|
||||||
->set('size', $query->createNamedParameter(strlen($cardData)))
|
->set('size', $query->createNamedParameter(strlen($cardData)))
|
||||||
->set('etag', $query->createNamedParameter($etag))
|
->set('etag', $query->createNamedParameter($etag))
|
||||||
|
->set('uid', $query->createNamedParameter($uid))
|
||||||
->where($query->expr()->eq('uri', $query->createNamedParameter($cardUri)))
|
->where($query->expr()->eq('uri', $query->createNamedParameter($cardUri)))
|
||||||
->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
|
->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
|
||||||
->execute();
|
->execute();
|
||||||
|
@ -1125,4 +1129,10 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||||
$addressbookInfo[$displaynameKey] = $principalInformation['{DAV:}displayname'];
|
$addressbookInfo[$displaynameKey] = $principalInformation['{DAV:}displayname'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getUID($cardData) {
|
||||||
|
$vCard = Reader::read($cardData);
|
||||||
|
$uid = $vCard->UID->getValue();
|
||||||
|
return $uid;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue