/** * Initializes the options for an entity after being created * * @param object An optional KConfig object with configuration options. * @return void */ protected function _afterEntityInstantiate(KConfig $config) { $data = $config->data; $data->append(array('subscribers' => array())); if ($data->object) { if (is($data->object, 'ComBaseDomainEntityComment')) { $data->comment = $data->object; $data->object = $data->comment->parent; $data->append(array('subscribers' => array($data->comment->author->id))); } elseif ($data->object->isModifiable() && !is($data->object, 'ComActorsDomainEntityActor')) { $data->append(array('subscribers' => array($data->object->author->id))); } elseif (is_person($data->object)) { $data->append(array('subscribers' => array($data->object->id))); } if ($data->object->isOwnable()) { $data->target = $data->object->owner; } } if ($data->target && $data->target->isNotifiable()) { $data->append(array('subscribers' => array($data->target->id))); } parent::_afterEntityInstantiate($config); if ($config->data->subscribers) { $this->setSubscribers($config->data->subscribers); } }