summaryrefslogtreecommitdiffstats
path: root/core/ajax
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-03-05 13:12:58 +0100
committerJoas Schilling <nickvergessen@gmx.de>2014-03-05 13:12:58 +0100
commit80393d9c0ff44c0614960cc6b7b7d8cc5bd17743 (patch)
tree874bc3d9449c8036fcc4f6d93697f800cfddc03a /core/ajax
parent7edd8df07f50b0a556889b276eaeeab37cb175be (diff)
downloadnextcloud-server-80393d9c0ff44c0614960cc6b7b7d8cc5bd17743.tar.gz
nextcloud-server-80393d9c0ff44c0614960cc6b7b7d8cc5bd17743.zip
Do not allow setting an expiration date in the past
Fix #7297
Diffstat (limited to 'core/ajax')
-rw-r--r--core/ajax/share.php8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/ajax/share.php b/core/ajax/share.php
index 86ee018e388..abcb4b5c22b 100644
--- a/core/ajax/share.php
+++ b/core/ajax/share.php
@@ -80,6 +80,14 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
break;
case 'setExpirationDate':
if (isset($_POST['date'])) {
+ $l = OC_L10N::get('core');
+ $date = new \DateTime($_POST['date']);
+ $today = new \DateTime('now');
+
+ if ($date < $today) {
+ OC_JSON::error(array('data' => array('message' => $l->t('Expiration date is in the past.'))));
+ return;
+ }
$return = OCP\Share::setExpirationDate($_POST['itemType'], $_POST['itemSource'], $_POST['date']);
($return) ? OC_JSON::success() : OC_JSON::error();
}