@@ -138,22 +138,28 @@ public function create(\OCP\Share\IShare $share) {
138138 $ qb ->insert ('share ' );
139139 $ qb ->setValue ('share_type ' , $ qb ->createNamedParameter ($ share ->getShareType ()));
140140
141+ $ expirationDate = $ share ->getExpirationDate ();
142+ if ($ expirationDate !== null ) {
143+ $ expirationDate = clone $ expirationDate ;
144+ $ expirationDate ->setTimezone (new \DateTimeZone (date_default_timezone_get ()));
145+ }
146+
141147 if ($ share ->getShareType () === IShare::TYPE_USER ) {
142148 //Set the UID of the user we share with
143149 $ qb ->setValue ('share_with ' , $ qb ->createNamedParameter ($ share ->getSharedWith ()));
144150 $ qb ->setValue ('accepted ' , $ qb ->createNamedParameter (IShare::STATUS_PENDING ));
145151
146152 //If an expiration date is set store it
147- if ($ share -> getExpirationDate () !== null ) {
148- $ qb ->setValue ('expiration ' , $ qb ->createNamedParameter ($ share -> getExpirationDate () , 'datetime ' ));
153+ if ($ expirationDate !== null ) {
154+ $ qb ->setValue ('expiration ' , $ qb ->createNamedParameter ($ expirationDate , 'datetime ' ));
149155 }
150156 } elseif ($ share ->getShareType () === IShare::TYPE_GROUP ) {
151157 //Set the GID of the group we share with
152158 $ qb ->setValue ('share_with ' , $ qb ->createNamedParameter ($ share ->getSharedWith ()));
153159
154160 //If an expiration date is set store it
155- if ($ share -> getExpirationDate () !== null ) {
156- $ qb ->setValue ('expiration ' , $ qb ->createNamedParameter ($ share -> getExpirationDate () , 'datetime ' ));
161+ if ($ expirationDate !== null ) {
162+ $ qb ->setValue ('expiration ' , $ qb ->createNamedParameter ($ expirationDate , 'datetime ' ));
157163 }
158164 } elseif ($ share ->getShareType () === IShare::TYPE_LINK ) {
159165 //set label for public link
@@ -169,8 +175,8 @@ public function create(\OCP\Share\IShare $share) {
169175 $ qb ->setValue ('password_by_talk ' , $ qb ->createNamedParameter ($ share ->getSendPasswordByTalk (), IQueryBuilder::PARAM_BOOL ));
170176
171177 //If an expiration date is set store it
172- if ($ share -> getExpirationDate () !== null ) {
173- $ qb ->setValue ('expiration ' , $ qb ->createNamedParameter ($ share -> getExpirationDate () , 'datetime ' ));
178+ if ($ expirationDate !== null ) {
179+ $ qb ->setValue ('expiration ' , $ qb ->createNamedParameter ($ expirationDate , 'datetime ' ));
174180 }
175181
176182 if (method_exists ($ share , 'getParent ' )) {
@@ -250,6 +256,12 @@ public function update(\OCP\Share\IShare $share) {
250256
251257 $ shareAttributes = $ this ->formatShareAttributes ($ share ->getAttributes ());
252258
259+ $ expirationDate = $ share ->getExpirationDate ();
260+ if ($ expirationDate !== null ) {
261+ $ expirationDate = clone $ expirationDate ;
262+ $ expirationDate ->setTimezone (new \DateTimeZone (date_default_timezone_get ()));
263+ }
264+
253265 if ($ share ->getShareType () === IShare::TYPE_USER ) {
254266 /*
255267 * We allow updating the recipient on user shares.
@@ -264,7 +276,7 @@ public function update(\OCP\Share\IShare $share) {
264276 ->set ('attributes ' , $ qb ->createNamedParameter ($ shareAttributes ))
265277 ->set ('item_source ' , $ qb ->createNamedParameter ($ share ->getNode ()->getId ()))
266278 ->set ('file_source ' , $ qb ->createNamedParameter ($ share ->getNode ()->getId ()))
267- ->set ('expiration ' , $ qb ->createNamedParameter ($ share -> getExpirationDate () , IQueryBuilder::PARAM_DATE ))
279+ ->set ('expiration ' , $ qb ->createNamedParameter ($ expirationDate , IQueryBuilder::PARAM_DATE ))
268280 ->set ('note ' , $ qb ->createNamedParameter ($ share ->getNote ()))
269281 ->set ('accepted ' , $ qb ->createNamedParameter ($ share ->getStatus ()))
270282 ->execute ();
@@ -278,7 +290,7 @@ public function update(\OCP\Share\IShare $share) {
278290 ->set ('attributes ' , $ qb ->createNamedParameter ($ shareAttributes ))
279291 ->set ('item_source ' , $ qb ->createNamedParameter ($ share ->getNode ()->getId ()))
280292 ->set ('file_source ' , $ qb ->createNamedParameter ($ share ->getNode ()->getId ()))
281- ->set ('expiration ' , $ qb ->createNamedParameter ($ share -> getExpirationDate () , IQueryBuilder::PARAM_DATE ))
293+ ->set ('expiration ' , $ qb ->createNamedParameter ($ expirationDate , IQueryBuilder::PARAM_DATE ))
282294 ->set ('note ' , $ qb ->createNamedParameter ($ share ->getNote ()))
283295 ->execute ();
284296
@@ -293,7 +305,7 @@ public function update(\OCP\Share\IShare $share) {
293305 ->set ('uid_initiator ' , $ qb ->createNamedParameter ($ share ->getSharedBy ()))
294306 ->set ('item_source ' , $ qb ->createNamedParameter ($ share ->getNode ()->getId ()))
295307 ->set ('file_source ' , $ qb ->createNamedParameter ($ share ->getNode ()->getId ()))
296- ->set ('expiration ' , $ qb ->createNamedParameter ($ share -> getExpirationDate () , IQueryBuilder::PARAM_DATE ))
308+ ->set ('expiration ' , $ qb ->createNamedParameter ($ expirationDate , IQueryBuilder::PARAM_DATE ))
297309 ->set ('note ' , $ qb ->createNamedParameter ($ share ->getNote ()))
298310 ->execute ();
299311
@@ -320,7 +332,7 @@ public function update(\OCP\Share\IShare $share) {
320332 ->set ('item_source ' , $ qb ->createNamedParameter ($ share ->getNode ()->getId ()))
321333 ->set ('file_source ' , $ qb ->createNamedParameter ($ share ->getNode ()->getId ()))
322334 ->set ('token ' , $ qb ->createNamedParameter ($ share ->getToken ()))
323- ->set ('expiration ' , $ qb ->createNamedParameter ($ share -> getExpirationDate () , IQueryBuilder::PARAM_DATE ))
335+ ->set ('expiration ' , $ qb ->createNamedParameter ($ expirationDate , IQueryBuilder::PARAM_DATE ))
324336 ->set ('note ' , $ qb ->createNamedParameter ($ share ->getNote ()))
325337 ->set ('label ' , $ qb ->createNamedParameter ($ share ->getLabel ()))
326338 ->set ('hide_download ' , $ qb ->createNamedParameter ($ share ->getHideDownload () ? 1 : 0 ), IQueryBuilder::PARAM_INT )
0 commit comments