/** * analize object data and set 'wu' property in sys_data * * return newly assigned ids */ protected function setFollowers() { $rez = parent::setFollowers(); $d =& $this->data; $sd =& $d['sys_data']; /** add newly assigned users to followers */ $oldAssigned = array(); if (!empty($this->oldObject)) { $oldAssigned = Util\toNumericArray(@$this->oldObject->getFieldValue('assigned', 0)['value']); } $newAssigned = Util\toNumericArray(@$this->getFieldValue('assigned', 0)['value']); $diff = array_diff($newAssigned, $oldAssigned); $wu = empty($sd['wu']) ? array() : $sd['wu']; $wu = array_merge($wu, $diff); $rez = array_merge($rez, $newAssigned); //analize referenced users from description if (!empty($d['data']['description'])) { $uids = Util\getReferencedUsers($d['data']['description']); if (!empty($uids)) { $wu = array_merge($wu, $uids); $rez = array_merge($rez, $wu); } } $sd['wu'] = array_unique($wu); $rez = array_unique($rez); return $rez; }