mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-07 16:44:07 +01:00
allways update modified TS and modifier in save(), removed code to only conditionally update in update()
fixes bug that ctag got not updated when eg. a recurrence got deleted
This commit is contained in:
parent
c443126893
commit
f4e372747a
@ -93,7 +93,7 @@ class calendar_boupdate extends calendar_bo
|
|||||||
*
|
*
|
||||||
* @param array &$event event-array, on return some values might be changed due to set defaults
|
* @param array &$event event-array, on return some values might be changed due to set defaults
|
||||||
* @param boolean $ignore_conflicts=false just ignore conflicts or do a conflict check and return the conflicting events
|
* @param boolean $ignore_conflicts=false just ignore conflicts or do a conflict check and return the conflicting events
|
||||||
* @param boolean $touch_modified=true touch modificatin time and set modifing user, default true=yes
|
* @param boolean $touch_modified=true NOT USED ANYMORE (was only used in old csv-import), modified&modifier is always updated!
|
||||||
* @param boolean $ignore_acl=false should we ignore the acl
|
* @param boolean $ignore_acl=false should we ignore the acl
|
||||||
* @param boolean $updateTS=true update the content history of the event
|
* @param boolean $updateTS=true update the content history of the event
|
||||||
* @param array &$messages=null messages about because of missing ACL removed participants or categories
|
* @param array &$messages=null messages about because of missing ACL removed participants or categories
|
||||||
@ -154,8 +154,6 @@ class calendar_boupdate extends calendar_bo
|
|||||||
}
|
}
|
||||||
if ($new_event)
|
if ($new_event)
|
||||||
{
|
{
|
||||||
$event['created'] = $this->now_su;
|
|
||||||
$event['creator'] = $this->user;
|
|
||||||
$old_event = array();
|
$old_event = array();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -349,12 +347,6 @@ class calendar_boupdate extends calendar_bo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// save the event to the database
|
|
||||||
if ($touch_modified)
|
|
||||||
{
|
|
||||||
$event['modified'] = $this->now_su; // we are still in user-time
|
|
||||||
$event['modifier'] = $this->user;
|
|
||||||
}
|
|
||||||
//echo "saving $event[id]="; _debug_array($event);
|
//echo "saving $event[id]="; _debug_array($event);
|
||||||
$event2save = $event;
|
$event2save = $event;
|
||||||
|
|
||||||
@ -875,7 +867,7 @@ class calendar_boupdate extends calendar_bo
|
|||||||
*/
|
*/
|
||||||
function save($event,$ignore_acl=false,$updateTS=true)
|
function save($event,$ignore_acl=false,$updateTS=true)
|
||||||
{
|
{
|
||||||
//error_log(__METHOD__.'('.array2string($event).",$etag)");
|
//error_log(__METHOD__.'('.array2string($event).", $ignore_acl, $updateTS)");
|
||||||
|
|
||||||
// check if user has the permission to update / create the event
|
// check if user has the permission to update / create the event
|
||||||
if (!$ignore_acl && ($event['id'] && !$this->check_perms(EGW_ACL_EDIT,$event['id']) ||
|
if (!$ignore_acl && ($event['id'] && !$this->check_perms(EGW_ACL_EDIT,$event['id']) ||
|
||||||
@ -982,11 +974,11 @@ class calendar_boupdate extends calendar_bo
|
|||||||
$this->so->save_alarm($event['id'],$alarm, $this->now);
|
$this->so->save_alarm($event['id'],$alarm, $this->now);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!isset($event['modified']) || $event['modified'] > $this->now)
|
|
||||||
{
|
// always update modification time (ctag depends on it!)
|
||||||
$event['modified'] = $this->now;
|
$event['modified'] = $this->now;
|
||||||
$event['modifier'] = $this->user;
|
$event['modifier'] = $this->user;
|
||||||
}
|
|
||||||
if (empty($event['id']) && (!isset($event['created']) || $event['created'] > $this->now))
|
if (empty($event['id']) && (!isset($event['created']) || $event['created'] > $this->now))
|
||||||
{
|
{
|
||||||
$event['created'] = $this->now;
|
$event['created'] = $this->now;
|
||||||
@ -1298,7 +1290,7 @@ class calendar_boupdate extends calendar_bo
|
|||||||
// mark all links to the event as deleted, but keep them
|
// mark all links to the event as deleted, but keep them
|
||||||
egw_link::unlink(0,'calendar',$cal_id,'','','',true);
|
egw_link::unlink(0,'calendar',$cal_id,'','','',true);
|
||||||
|
|
||||||
$event['modified'] = $event['deleted'] = $this->now;
|
$event['deleted'] = $this->now;
|
||||||
$this->save($event, $ignore_acl);
|
$this->save($event, $ignore_acl);
|
||||||
// Actually delete alarms
|
// Actually delete alarms
|
||||||
if (isset($event['alarm']) && is_array($event['alarm']))
|
if (isset($event['alarm']) && is_array($event['alarm']))
|
||||||
@ -1311,7 +1303,7 @@ class calendar_boupdate extends calendar_bo
|
|||||||
}
|
}
|
||||||
$GLOBALS['egw']->contenthistory->updateTimeStamp('calendar', $cal_id, 'delete', $this->now);
|
$GLOBALS['egw']->contenthistory->updateTimeStamp('calendar', $cal_id, 'delete', $this->now);
|
||||||
}
|
}
|
||||||
else
|
else // delete an exception
|
||||||
{
|
{
|
||||||
$event['recur_exception'][] = $recur_date = $this->date2ts($event['start']);
|
$event['recur_exception'][] = $recur_date = $this->date2ts($event['start']);
|
||||||
unset($event['start']);
|
unset($event['start']);
|
||||||
|
Loading…
Reference in New Issue
Block a user