aboutsummaryrefslogtreecommitdiff
path: root/mod/file/views/default/file/typecloud.php
blob: ce4d6c127dba713c8ac23af39ed21448545ef78a (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
<?php
/**
 * Type cloud
 */

function file_type_cloud_get_url($type, $friends) {
	$url = elgg_get_site_url() . 'file/search?subtype=file';

	if ($type->tag != "all") {
		$url .= "&md_type=simpletype&tag=" . urlencode($type->tag);
	}

	if ($friends) {
		$url .= "&friends=$friends";
	} 

	if ($type->tag == "image") {
		$url .= "&listtype=gallery";
	}

	if (elgg_get_page_owner_guid()) {
		$url .= "&page_owner=" . elgg_get_page_owner_guid();
	}

	return $url;
}


$types = elgg_extract('types', $vars, array());
if (!$types) {
	return true;
}

$friends = elgg_extract('friends', $vars, false);

$all = new stdClass;
$all->tag = "all";
elgg_register_menu_item('page', array(
	'name' => 'file:all',
	'text' => elgg_echo('all'),
	'href' =>  file_type_cloud_get_url($all, $friends),
));

foreach ($types as $type) {
	elgg_register_menu_item('page', array(
		'name' => "file:$type->tag",
		'text' => elgg_echo("file:type:$type->tag"),
		'href' =>  file_type_cloud_get_url($type, $friends),
	));
}