namespace Shaarli\Formatter;
use DateTime;
-use Shaarli\Config\ConfigManager;
use Shaarli\Bookmark\Bookmark;
+use Shaarli\Config\ConfigManager;
/**
* Class BookmarkFormatter
$out['title'] = $this->formatTitle($bookmark);
$out['description'] = $this->formatDescription($bookmark);
$out['thumbnail'] = $this->formatThumbnail($bookmark);
+ $out['urlencoded_taglist'] = $this->formatUrlEncodedTagList($bookmark);
$out['taglist'] = $this->formatTagList($bookmark);
+ $out['urlencoded_tags'] = $this->formatUrlEncodedTagString($bookmark);
$out['tags'] = $this->formatTagString($bookmark);
$out['sticky'] = $bookmark->isSticky();
$out['private'] = $bookmark->isPrivate();
public function addContextData($key, $value)
{
$this->contextData[$key] = $value;
+
+ return $this;
}
/**
*/
protected function formatRealUrl($bookmark)
{
- return $bookmark->getUrl();
+ return $this->formatUrl($bookmark);
}
/**
return $this->filterTagList($bookmark->getTags());
}
+ /**
+ * Format Url Encoded Tags
+ *
+ * @param Bookmark $bookmark instance
+ *
+ * @return array formatted Tags
+ */
+ protected function formatUrlEncodedTagList($bookmark)
+ {
+ return array_map('urlencode', $this->filterTagList($bookmark->getTags()));
+ }
+
/**
* Format TagString
*
return implode(' ', $this->formatTagList($bookmark));
}
+ /**
+ * Format TagString
+ *
+ * @param Bookmark $bookmark instance
+ *
+ * @return string formatted TagString
+ */
+ protected function formatUrlEncodedTagString($bookmark)
+ {
+ return implode(' ', $this->formatUrlEncodedTagList($bookmark));
+ }
+
/**
* Format Class
* Used to add specific CSS class for a link