Fix unsetting share expiration date

This commit is contained in:
Michael Gapczynski 2012-09-26 00:09:35 -04:00
parent 00103d730f
commit b4e40b1c21
2 changed files with 14 additions and 3 deletions

View File

@ -482,7 +482,14 @@ $(document).ready(function() {
if (this.checked) {
OC.Share.showExpirationDate('');
} else {
$('#expirationDate').hide();
var itemType = $('#dropdown').data('item-type');
var itemSource = $('#dropdown').data('item-source');
$.post(OC.filePath('core', 'ajax', 'share.php'), { action: 'setExpirationDate', itemType: itemType, itemSource: itemSource, date: '' }, function(result) {
if (!result || result.status !== 'success') {
OC.dialogs.alert(t('core', 'Error'), t('core', 'Error unsetting expiration date'));
}
$('#expirationDate').hide();
});
}
});

View File

@ -420,8 +420,12 @@ class Share {
public static function setExpirationDate($itemType, $itemSource, $date) {
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());
if ($date == '') {
$date = null;
} else {
$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']));