@@ -276,10 +276,11 @@ protected function validateExpirationDateInternal(IShare $share) {
276276
277277 // If $expirationDate is falsy, noExpirationDate is true and expiration not enforced
278278 // Then skip expiration date validation as null is accepted
279- if (!( $ share ->getNoExpirationDate () && ! $ isEnforced) ) {
280- if ($ expirationDate != null ) {
279+ if (!$ share ->getNoExpirationDate () || $ isEnforced ) {
280+ if ($ expirationDate !== null ) {
281281 $ expirationDate ->setTimezone ($ this ->dateTimeZone ->getTimeZone ());
282282 $ expirationDate ->setTime (0 , 0 , 0 );
283+ $ expirationDate ->setTimezone (new \DateTimeZone (date_default_timezone_get ()));
283284
284285 $ date = new \DateTime ('now ' , $ this ->dateTimeZone ->getTimeZone ());
285286 $ date ->setTime (0 , 0 , 0 );
@@ -300,6 +301,7 @@ protected function validateExpirationDateInternal(IShare $share) {
300301 if ($ fullId === null && $ expirationDate === null && $ defaultExpireDate ) {
301302 $ expirationDate = new \DateTime ('now ' , $ this ->dateTimeZone ->getTimeZone ());
302303 $ expirationDate ->setTime (0 , 0 , 0 );
304+ $ expirationDate ->setTimezone (new \DateTimeZone (date_default_timezone_get ()));
303305 $ days = (int )$ this ->config ->getAppValue ('core ' , $ configProp , (string )$ defaultExpireDays );
304306 if ($ days > $ defaultExpireDays ) {
305307 $ days = $ defaultExpireDays ;
0 commit comments