if we write infolog entry with $ignore_acl===true, we also need to read it that way and allow to set info_id on creating infolog entry

This commit is contained in:
Ralf Becker 2016-09-29 16:55:25 +02:00
parent 83152bcb29
commit 5800effa5e
2 changed files with 4 additions and 4 deletions

View File

@ -729,7 +729,7 @@ class infolog_bo
// we need to get the old values to update the links in customfields and for the tracking // we need to get the old values to update the links in customfields and for the tracking
if ($values['info_id']) if ($values['info_id'])
{ {
$old = $this->read($values['info_id'], false, 'server'); $old = $this->read($values['info_id'], false, 'server', $ignore_acl);
} }
if (($status_only = $values['info_id'] && !$this->check_access($values,Acl::EDIT))) if (($status_only = $values['info_id'] && !$this->check_access($values,Acl::EDIT)))
@ -936,7 +936,7 @@ class infolog_bo
{ {
if (!isset($values['info_type']) || $status_only || empty($values['caldav_url'])) if (!isset($values['info_type']) || $status_only || empty($values['caldav_url']))
{ {
$values = $this->read($info_id, true, 'server'); $values = $this->read($info_id, true, 'server', $ignore_acl);
} }
$values['info_id'] = $info_id; $values['info_id'] = $info_id;
@ -1004,7 +1004,7 @@ class infolog_bo
// Update modified timestamp of parent // Update modified timestamp of parent
if($values['info_id_parent']) if($values['info_id_parent'])
{ {
$parent = $this->read($values['info_id_parent'], false, 'server',true); $parent = $this->read($values['info_id_parent'], false, 'server', true);
$this->write($parent,false, true, false, true); $this->write($parent,false, true, false, true);
} }
} }

View File

@ -583,7 +583,7 @@ class infolog_so
{ {
$where = array('info_id' => $info_id); $where = array('info_id' => $info_id);
if ($check_modified) $where['info_datemodified'] = $check_modified; if ($check_modified) $where['info_datemodified'] = $check_modified;
if (!$this->db->update($this->info_table,$to_write,$where,__LINE__,__FILE__)) if (!$this->db->insert($this->info_table,$to_write,$where,__LINE__,__FILE__))
{ {
//error_log("### soinfolog::write(".print_r($to_write,true).") where=".print_r($where,true)." returning false"); //error_log("### soinfolog::write(".print_r($to_write,true).") where=".print_r($where,true)." returning false");
return false; // Error return false; // Error