From f967bfc9566c2b5a6ca393f1ac5e2e8b0ff1ac7e Mon Sep 17 00:00:00 2001 From: Michael Gapczynski Date: Tue, 25 Sep 2012 23:54:46 -0400 Subject: [PATCH] Properly format the share expiration time for the database, fixes bug oc-1779 --- lib/public/share.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/public/share.php b/lib/public/share.php index b215d7f938..6ef984732b 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -418,11 +418,16 @@ class Share { } public static function setExpirationDate($itemType, $itemSource, $date) { - if ($item = self::getItems($itemType, $itemSource, null, null, \OC_User::getUser(), self::FORMAT_NONE, null, 1, false)) { - error_log('setting'); - $query = \OC_DB::prepare('UPDATE `*PREFIX*share` SET `expiration` = ? WHERE `id` = ?'); - $query->execute(array($date, $item['id'])); - return true; + if ($items = self::getItems($itemType, $itemSource, null, null, \OC_User::getUser(), self::FORMAT_NONE, null, -1, false)) { + if (!empty($items)) { + $date = new \DateTime($date); + $date = date('Y-m-d H:i', $date->format('U') - $date->getOffset()); + $query = \OC_DB::prepare('UPDATE `*PREFIX*share` SET `expiration` = ? WHERE `id` = ?'); + foreach ($items as $item) { + $query->execute(array($date, $item['id'])); + } + return true; + } } return false; }