From f967bfc9566c2b5a6ca393f1ac5e2e8b0ff1ac7e Mon Sep 17 00:00:00 2001
From: Michael Gapczynski <mtgap@owncloud.com>
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;
 	}
-- 
GitLab