/** * @param Url $url * @return UrlDataObject */ public function mapToDataObject(Url $url) { $urlDataObject = new UrlDataObject(); $urlDataObject->id = $url->getId(); $urlDataObject->userId = $url->getUserId(); $urlDataObject->url = $url->getUrl(); $urlDataObject->title = $url->getTitle(); $urlDataObject->description = $url->getDescription(); $urlDataObject->created = $url->getCreated()->format('c'); $urlDataObject->updated = $url->getUpdated()->format('c'); return $urlDataObject; }
/** * @param ContentBlock[] $blocks * @param Url $oldUrl * @param Url $newUrl * @return ContentBlock[] blocks with refactored links */ public function refactorLinks($blocks, $oldUrl, $newUrl) { foreach ($blocks as $block) { /** @var \simple_html_dom $dom */ $dom = HtmlDomParser::str_get_html($block->getContent()); $domLinks = $dom->find('a'); foreach ($domLinks as $domLink) { if ($this->checkSimilarity($domLink->getAttribute('href'), "/" . $oldUrl->getUrl())) { $domLink->setAttribute('href', $this->newUrlString($domLink->getAttribute('href'), $newUrl->getUrl())); } } $block->setContent($dom); } return $blocks; }
/** * @param Url $url * @param string $edit_link * @return Template */ public function buildUrlListEntry(Url $url, $edit_link) { $urlListEntry = $this->templateBuilder->createTemplate(); $urlListEntry->loadFile('urlListEntry.html')->addPlaceHolder('id', $url->getId())->addPlaceHolder('url', $url->getUrl())->addPlaceHolder('title', $url->getTitle())->addPlaceHolder('description', $url->getDescription())->addPlaceHolder('updated', $url->getUpdated()->format('d.m.Y'))->addPlaceHolder('edit_link', $edit_link); return $urlListEntry; }