Exemple #1
0
 /**
  * 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;
 }