%PDF- %PDF-
Direktori : /www/varak.net/mail2.varak.net_old/libraries/afterlogic/DAV/CardDAV/Backend/ |
Current File : //www/varak.net/mail2.varak.net_old/libraries/afterlogic/DAV/CardDAV/Backend/PDO.php |
<?php /* * Copyright 2004-2014, AfterLogic Corp. * Licensed under AGPLv3 license or AfterLogic license * if commercial version of the product was purchased. * See the LICENSE file for a full license statement. */ namespace afterlogic\DAV\CardDAV\Backend; use afterlogic\DAV\Constants; class PDO extends \Sabre\CardDAV\Backend\PDO { /** * Sets up the object */ public function __construct() { $oPdo = \CApi::GetPDO(); $sDbPrefix = \CApi::GetSettings()->GetConf('Common/DBPrefix'); parent::__construct($oPdo, $sDbPrefix.Constants::T_ADDRESSBOOKS, $sDbPrefix.Constants::T_CARDS); } /** * Returns the addressbook for a specific user. * * @param string $principalUri * @param string $addressbookUri * @return array */ public function getAddressBookForUser($principalUri, $addressbookUri) { $stmt = $this->pdo->prepare('SELECT id, uri, displayname, principaluri, description, ctag FROM '.$this->addressBooksTableName.' WHERE principaluri = ? AND uri = ?'); $stmt->execute(array($principalUri, $addressbookUri)); $row = $stmt->fetch(\PDO::FETCH_ASSOC); return array( 'id' => $row['id'], 'uri' => $row['uri'], 'principaluri' => $row['principaluri'], '{DAV:}displayname' => $row['displayname'], '{' . \Sabre\CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => $row['description'], '{http://calendarserver.org/ns/}getctag' => $row['ctag'], '{' . \Sabre\CardDAV\Plugin::NS_CARDDAV . '}supported-address-data' => new \Sabre\CardDAV\Property\SupportedAddressData(), ); } /** * Returns all cards for a specific addressbook id. * * @return array */ public function getCardsSharedToAll($addressbookId) { $stmt = $this->pdo->prepare('SELECT id, carddata, uri, lastmodified FROM ' . $this->cardsTableName . ' WHERE addressbookid = ?'); $stmt->execute(array($addressbookId)); return $stmt->fetchAll(\PDO::FETCH_ASSOC); } /** * Returns all cards for a specific addressbook id. * * @param mixed $addressbookId * @return array */ public function getCardsByOffset($addressbookId, $iOffset, $iRequestLimit) { $stmt = $this->pdo->prepare( 'SELECT id, carddata, uri, lastmodified FROM ' . $this->cardsTableName . ' WHERE addressbookid = ? LIMIT ?, ?'); $stmt->execute(array($addressbookId, $iOffset, $iRequestLimit)); return $stmt->fetchAll(\PDO::FETCH_ASSOC); } }