/** * Add information to serialized custom-url document. * * @param ObjectEvent $event */ public function onPostSerialize(ObjectEvent $event) { $customUrl = $event->getObject(); $visitor = $event->getVisitor(); if (!$customUrl instanceof CustomUrlDocument) { return; } if ($customUrl->getTargetDocument() !== null) { $visitor->addData('targetTitle', $customUrl->getTargetDocument()->getTitle()); } $visitor->addData('customUrl', $this->generator->generate($customUrl->getBaseDomain(), $customUrl->getDomainParts())); $visitor->addData('creatorFullName', $this->userManager->getFullNameByUserId($customUrl->getCreator())); $visitor->addData('changerFullName', $this->userManager->getFullNameByUserId($customUrl->getChanger())); }
public function current() { $row = parent::current(); $result = []; foreach ($this->columns as $column) { $result[str_replace('a.', '', $column)] = $row->getValue($column); } $result['targetTitle'] = ''; if (!empty($result['targetDocument']) && array_key_exists($result['targetDocument'], $this->targets)) { $result['targetTitle'] = $this->targets[$result['targetDocument']]['title']; } $result['domainParts'] = json_decode($result['domainParts'], true); $result['customUrl'] = $this->generator->generate($result['baseDomain'], $result['domainParts']); $result['creatorFullName'] = $this->userManager->getFullNameByUserId($result['creator']); $result['changerFullName'] = $this->userManager->getFullNameByUserId($result['changer']); return $result; }
/** * returns user fullName. * * @param int $id userId * * @return string */ protected function getFullNameByUserId($id) { return $this->userManager->getFullNameByUserId($id); }