aboutsummaryrefslogtreecommitdiff
path: root/mod/file/views/default/file/icon.php
blob: 391afd0c8d900f9d397b1ea939ebb93c50240744 (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
<?php
/**
 * Elgg file icons.
 * Displays an icon, depending on its mime type, for a file. 
 * Optionally you can specify a size.
 * 
 * @package ElggFile
 *
 * @uses $vars['size']
 * @uses $vars['mimetype']
 * @uses $vars['thumbnail']
 * @uses $vars['file_guid']
 */

$mime = $vars['mimetype'];
$simple_type = file_get_simple_type($mime);

// is this request for an image thumbnail
$thumbnail = elgg_get_array_value('thumbnail', $vars, false);

// default size is small for thumbnails
$size = elgg_get_array_value('size', $vars, 'small');

if ($simple_type == 'image' && $thumbnail) {
	$icon = "<img src=\"" . elgg_get_site_url() . "mod/file/thumbnail.php?file_guid={$vars['file_guid']}&size={$size}\" />";
} else {
	$base_type = substr($mime, 0, strpos($mime, '/'));
	if ($mime && elgg_view_exists("file/icon/$mime")) {
		$icon = elgg_view("file/icon/{$mime}", $vars);
	} else if ($mime && elgg_view_exists("file/icon/$base_type/default")) {
		$icon = elgg_view("file/icon/$base_type/default", $vars);
	} else {
		$icon = elgg_view('file/icon/default', $vars);
	}
}

echo $icon;