aboutsummaryrefslogtreecommitdiff
path: root/mod/groups/views/default/object/groupforumtopic.php
blob: 8a1daece85d6ebca00977cc57bda3eeba540a720 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
/**
 * Forum topic entity view
 *
 * @package ElggGroups
*/

$full = elgg_extract('full', $vars, FALSE);
$topic = elgg_extract('entity', $vars, FALSE);

if (!$topic) {
	return true;
}

$poster = $topic->getOwnerEntity();
$group = $topic->getContainerEntity();
$excerpt = elgg_get_excerpt($topic->description);

$poster_icon = elgg_view_entity_icon($poster, 'tiny');
$poster_link = elgg_view('output/url', array(
	'href' => $poster->getURL(),
	'text' => $poster->name,
));
$poster_text = elgg_echo('groups:started', array($poster->name));

$tags = elgg_view('output/tags', array('tags' => $topic->tags));
$date = elgg_view_friendly_time($topic->time_created);

$comments_link = '';
$comments_text = '';
$num_comments = $topic->countComments();
if ($num_comments != 0) {
	$last_comment = $topic->getAnnotations("generic_comment", 1, 0, "desc");
	$commenter = $last_comment[0]->getOwnerEntity();
	$comment_time = elgg_view_friendly_time($last_comment[0]->time_created);
	$comments_text = elgg_echo('groups:updated', array($commenter->name, $comment_time));
	
	$comments_link = elgg_view('output/url', array(
		'href' => $topic->getURL() . '#topic-comments',
		'text' => elgg_echo("comments") . " ($num_comments)",
	));
}

$metadata = elgg_view('navigation/menu/metadata', array(
	'entity' => $topic,
	'handler' => 'discussion',
));

// do not show the metadata and controls in widget view
if (elgg_in_context('widgets')) {
	$metadata = '';
}

if ($full) {
	$subtitle = "$poster_text $date $comments_link";

	$params = array(
		'entity' => $topic,
		'title' => false,
		'metadata' => $metadata,
		'subtitle' => $subtitle,
		'tags' => $tags,
	);
	$list_body = elgg_view('page/components/list/body', $params);

	$info = elgg_view_image_block($poster_icon, $list_body);

	$body = elgg_view('output/longtext', array('value' => $topic->description));

	echo <<<HTML
$header
$info
$body
HTML;

} else {
	// brief view
	$subtitle = "$poster_text $date $comments_link <span class=\"groups-latest-comment\">$comments_text</span>";

	$params = array(
		'entity' => $topic,
		'metadata' => $metadata,
		'subtitle' => $subtitle,
		'tags' => $tags,
		'content' => $excerpt,
	);
	$list_body = elgg_view('page/components/list/body', $params);

	echo elgg_view_image_block($poster_icon, $list_body);
}