aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Share20/DefaultShareProvider.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Share20/DefaultShareProvider.php')
-rw-r--r--lib/private/Share20/DefaultShareProvider.php32
1 files changed, 22 insertions, 10 deletions
diff --git a/lib/private/Share20/DefaultShareProvider.php b/lib/private/Share20/DefaultShareProvider.php
index 55ac3eda644..fd22095b420 100644
--- a/lib/private/Share20/DefaultShareProvider.php
+++ b/lib/private/Share20/DefaultShareProvider.php
@@ -137,22 +137,28 @@ class DefaultShareProvider implements IShareProvider {
$qb->insert('share');
$qb->setValue('share_type', $qb->createNamedParameter($share->getShareType()));
+ $expirationDate = $share->getExpirationDate();
+ if ($expirationDate !== null) {
+ $expirationDate = clone $expirationDate;
+ $expirationDate->setTimezone(new \DateTimeZone(date_default_timezone_get()));
+ }
+
if ($share->getShareType() === IShare::TYPE_USER) {
//Set the UID of the user we share with
$qb->setValue('share_with', $qb->createNamedParameter($share->getSharedWith()));
$qb->setValue('accepted', $qb->createNamedParameter(IShare::STATUS_PENDING));
//If an expiration date is set store it
- if ($share->getExpirationDate() !== null) {
- $qb->setValue('expiration', $qb->createNamedParameter($share->getExpirationDate(), 'datetime'));
+ if ($expirationDate !== null) {
+ $qb->setValue('expiration', $qb->createNamedParameter($expirationDate, 'datetime'));
}
} elseif ($share->getShareType() === IShare::TYPE_GROUP) {
//Set the GID of the group we share with
$qb->setValue('share_with', $qb->createNamedParameter($share->getSharedWith()));
//If an expiration date is set store it
- if ($share->getExpirationDate() !== null) {
- $qb->setValue('expiration', $qb->createNamedParameter($share->getExpirationDate(), 'datetime'));
+ if ($expirationDate !== null) {
+ $qb->setValue('expiration', $qb->createNamedParameter($expirationDate, 'datetime'));
}
} elseif ($share->getShareType() === IShare::TYPE_LINK) {
//set label for public link
@@ -168,8 +174,8 @@ class DefaultShareProvider implements IShareProvider {
$qb->setValue('password_by_talk', $qb->createNamedParameter($share->getSendPasswordByTalk(), IQueryBuilder::PARAM_BOOL));
//If an expiration date is set store it
- if ($share->getExpirationDate() !== null) {
- $qb->setValue('expiration', $qb->createNamedParameter($share->getExpirationDate(), 'datetime'));
+ if ($expirationDate !== null) {
+ $qb->setValue('expiration', $qb->createNamedParameter($expirationDate, 'datetime'));
}
if (method_exists($share, 'getParent')) {
@@ -249,6 +255,12 @@ class DefaultShareProvider implements IShareProvider {
$shareAttributes = $this->formatShareAttributes($share->getAttributes());
+ $expirationDate = $share->getExpirationDate();
+ if ($expirationDate !== null) {
+ $expirationDate = clone $expirationDate;
+ $expirationDate->setTimezone(new \DateTimeZone(date_default_timezone_get()));
+ }
+
if ($share->getShareType() === IShare::TYPE_USER) {
/*
* We allow updating the recipient on user shares.
@@ -263,7 +275,7 @@ class DefaultShareProvider implements IShareProvider {
->set('attributes', $qb->createNamedParameter($shareAttributes))
->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_source', $qb->createNamedParameter($share->getNode()->getId()))
- ->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATE))
+ ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATE))
->set('note', $qb->createNamedParameter($share->getNote()))
->set('accepted', $qb->createNamedParameter($share->getStatus()))
->execute();
@@ -277,7 +289,7 @@ class DefaultShareProvider implements IShareProvider {
->set('attributes', $qb->createNamedParameter($shareAttributes))
->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_source', $qb->createNamedParameter($share->getNode()->getId()))
- ->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATE))
+ ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATE))
->set('note', $qb->createNamedParameter($share->getNote()))
->execute();
@@ -292,7 +304,7 @@ class DefaultShareProvider implements IShareProvider {
->set('uid_initiator', $qb->createNamedParameter($share->getSharedBy()))
->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_source', $qb->createNamedParameter($share->getNode()->getId()))
- ->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATE))
+ ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATE))
->set('note', $qb->createNamedParameter($share->getNote()))
->execute();
@@ -319,7 +331,7 @@ class DefaultShareProvider implements IShareProvider {
->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('token', $qb->createNamedParameter($share->getToken()))
- ->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATE))
+ ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATE))
->set('note', $qb->createNamedParameter($share->getNote()))
->set('label', $qb->createNamedParameter($share->getLabel()))
->set('hide_download', $qb->createNamedParameter($share->getHideDownload() ? 1 : 0), IQueryBuilder::PARAM_INT)