Browse Source

add in same request

tags/v11.0RC2
Thomas Citharel 7 years ago
parent
commit
17d5dfdeb1
No account linked to committer's email address

+ 2
- 19
apps/dav/lib/CalDAV/CalDavBackend.php View File

@@ -1633,26 +1633,9 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription

/**
* @param \OCA\DAV\CalDAV\Calendar $calendar
* @return boolean
* @return mixed
*/
public function getPublishStatus($calendar) {
$query = $this->db->getQueryBuilder();
$result = $query->select($query->createFunction('COUNT(*)'))
->from('dav_shares')
->where($query->expr()->eq('resourceid', $query->createNamedParameter($calendar->getResourceId())))
->andWhere($query->expr()->eq('access', $query->createNamedParameter(self::ACCESS_PUBLIC)))
->execute();

$row = $result->fetch();
$result->closeCursor();
return reset($row) > 0;
}

/**
* @param \OCA\DAV\CalDAV\Calendar $calendar
* @return string
*/
public function getPublishToken($calendar) {
$query = $this->db->getQueryBuilder();
$result = $query->select('publicuri')
->from('dav_shares')
@@ -1662,7 +1645,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription

$row = $result->fetch();
$result->closeCursor();
return reset($row);
return $row ? reset($row) : false;
}

/**

+ 1
- 5
apps/dav/lib/CalDAV/Calendar.php View File

@@ -261,16 +261,12 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IShareable {
}

/**
* @return boolean $value
* @return mixed $value
*/
function getPublishStatus() {
return $this->caldavBackend->getPublishStatus($this);
}

function getPublishToken() {
return $this->caldavBackend->getPublishToken($this);
}

private function canWrite() {
if (isset($this->calendarInfo['{http://owncloud.org/ns}read-only'])) {
return !$this->calendarInfo['{http://owncloud.org/ns}read-only'];

+ 1
- 1
apps/dav/lib/CalDAV/Publishing/PublishPlugin.php View File

@@ -97,7 +97,7 @@ class PublishPlugin extends ServerPlugin {
$propFind->handle('{'.self::NS_CALENDARSERVER.'}publish-url', function () use ($node) {
if ($node->getPublishStatus()) {
// We return the publish-url only if the calendar is published.
$token = $node->getPublishToken();
$token = $node->getPublishStatus();
$publishUrl = $this->urlGenerator->getAbsoluteURL($this->server->getBaseUri().'public-calendars/').$token;

return new Publisher($publishUrl, true);

Loading…
Cancel
Save