82 lines
1.9 KiB
PHP
82 lines
1.9 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Shaarli\Formatter;
|
||
|
|
||
|
/**
|
||
|
* Class BookmarkDefaultFormatter
|
||
|
*
|
||
|
* Default bookmark formatter.
|
||
|
* Escape values for HTML display and automatically add link to URL and hashtags.
|
||
|
*
|
||
|
* @package Shaarli\Formatter
|
||
|
*/
|
||
|
class BookmarkDefaultFormatter extends BookmarkFormatter
|
||
|
{
|
||
|
/**
|
||
|
* @inheritdoc
|
||
|
*/
|
||
|
public function formatTitle($bookmark)
|
||
|
{
|
||
|
return escape($bookmark->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($bookmark->getTags());
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @inheritdoc
|
||
|
*/
|
||
|
public function formatTagString($bookmark)
|
||
|
{
|
||
|
return implode(' ', $this->formatTagList($bookmark));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @inheritdoc
|
||
|
*/
|
||
|
public function formatUrl($bookmark)
|
||
|
{
|
||
|
if (! empty($this->contextData['index_url']) && (
|
||
|
startsWith($bookmark->getUrl(), '?') || startsWith($bookmark->getUrl(), '/')
|
||
|
)) {
|
||
|
return $this->contextData['index_url'] . escape($bookmark->getUrl());
|
||
|
}
|
||
|
return escape($bookmark->getUrl());
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @inheritdoc
|
||
|
*/
|
||
|
protected function formatRealUrl($bookmark)
|
||
|
{
|
||
|
if (! empty($this->contextData['index_url']) && (
|
||
|
startsWith($bookmark->getUrl(), '?') || startsWith($bookmark->getUrl(), '/')
|
||
|
)) {
|
||
|
return $this->contextData['index_url'] . escape($bookmark->getUrl());
|
||
|
}
|
||
|
return escape($bookmark->getUrl());
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @inheritdoc
|
||
|
*/
|
||
|
protected function formatThumbnail($bookmark)
|
||
|
{
|
||
|
return escape($bookmark->getThumbnail());
|
||
|
}
|
||
|
}
|