1<?php
2/**
3 * Elgg bookmark view
4 *
5 * @uses $vars['entity'] ElggBookmark to show
6 */
7
8$entity = elgg_extract('entity', $vars, false);
9if (!$entity instanceof ElggBookmark) {
10	return;
11}
12
13$owner = $entity->getOwnerEntity();
14
15$link = elgg_view('output/url', [
16	'href' => $entity->address,
17	'icon' => 'push-pin-alt',
18]);
19
20if (elgg_in_context('gallery')) {
21	$owner_link = elgg_view('output/url', [
22		'href' => $owner->getURL(),
23		'text' => $owner->getDisplayName(),
24	]);
25	$date = elgg_view_friendly_time($entity->time_created);
26
27	echo <<<HTML
28<div class="bookmarks-gallery-item">
29	<h3>{$entity->getDisplayName()}</h3>
30	<p class='subtitle'>$owner_link $date</p>
31</div>
32HTML;
33
34	return;
35}
36
37if (elgg_extract('full_view', $vars)) {
38	$description = elgg_view('output/longtext', [
39		'value' => $entity->description,
40		'class' => 'pbl',
41	]);
42
43	$body = <<<HTML
44<div class="bookmark elgg-content mts">
45	<span class="elgg-heading-basic mbs">$link</span>
46	$description
47</div>
48HTML;
49
50	$params = [
51		'icon' => true,
52		'show_summary' => true,
53		'body' => $body,
54		'show_responses' => elgg_extract('show_responses', $vars, false),
55		'show_navigation' => true,
56	];
57	$params = $params + $vars;
58
59	echo elgg_view('object/elements/full', $params);
60	return;
61}
62
63// brief view
64$url = $entity->address;
65$display_text = $url;
66$excerpt = elgg_get_excerpt($entity->description);
67if ($excerpt) {
68	$excerpt = " - $excerpt";
69}
70
71if (elgg_strlen($url) > 25) {
72	$bits = parse_url($url);
73	if (isset($bits['host'])) {
74		$display_text = $bits['host'];
75	} else {
76		$display_text = elgg_get_excerpt($url, 100);
77	}
78}
79
80$link = elgg_view('output/url', [
81	'href' => $entity->address,
82	'text' => $display_text,
83	'icon' => 'push-pin-alt',
84]);
85
86$content = "$link{$excerpt}";
87
88$params = [
89	'content' => $content,
90	'icon' => true,
91];
92$params = $params + $vars;
93echo elgg_view('object/elements/summary', $params);
94