getTitle()); } /** * @inheritdoc */ public function formatDescription($bookmark) { $indexUrl = ! empty($this->contextData['index_url']) ? $this->contextData['index_url'] : ''; return format_description(escape($bookmark->getDescription()), $indexUrl); } /** * @inheritdoc */ protected function formatTagList($bookmark) { return escape(parent::formatTagList($bookmark)); } /** * @inheritdoc */ public function formatTagString($bookmark) { return implode(' ', $this->formatTagList($bookmark)); } /** * @inheritdoc */ public function formatUrl($bookmark) { if ($bookmark->isNote() && isset($this->contextData['index_url'])) { return rtrim($this->contextData['index_url'], '/') . '/' . escape(ltrim($bookmark->getUrl(), '/')); } return escape($bookmark->getUrl()); } /** * @inheritdoc */ protected function formatRealUrl($bookmark) { if ($bookmark->isNote()) { if (isset($this->contextData['index_url'])) { $prefix = rtrim($this->contextData['index_url'], '/') . '/'; } if (isset($this->contextData['base_path'])) { $prefix = rtrim($this->contextData['base_path'], '/') . '/'; } return escape($prefix ?? '') . escape(ltrim($bookmark->getUrl(), '/')); } return escape($bookmark->getUrl()); } /** * @inheritdoc */ protected function formatThumbnail($bookmark) { return escape($bookmark->getThumbnail()); } }