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
|
<?php
/**
* Tab navigation
*
* @uses string $vars['type'] horizontal || vertical - Defaults to horizontal
* @uses string $vars['class'] Additional class to add to ul
* @uses array $vars['tabs'] A multi-dimensional array of tab entries in the format array(
* 'title' => string, // Title of link
* 'url' => string, // URL for the link
* 'class' => string // Class of the li element
* 'id' => string, // ID of the li element
* 'selected' => bool // if this li element is currently selected
* 'url_class' => string, // Class to pass to the link
* 'url_id' => string, // ID to pass to the link
* )
*/
$type = elgg_extract('type', $vars, 'horizontal');
if ($type == 'horizontal') {
$type_class = "elgg-tabs elgg-htabs";
} else {
$type_class = "elgg-tabs elgg-vtabs";
}
if (isset($vars['class'])) {
$type_class = "$type_class {$vars['class']}";
}
if (isset($vars['tabs']) && is_array($vars['tabs']) && !empty($vars['tabs'])) {
?>
<ul class="<?php echo $type_class; ?>">
<?php
foreach ($vars['tabs'] as $info) {
$class = elgg_extract('class', $info, '');
$id = elgg_extract('id', $info, '');
$selected = elgg_extract('selected', $info, FALSE);
if ($selected) {
$class .= ' elgg-state-selected';
}
$class_str = ($class) ? "class=\"$class\"" : '';
$id_str = ($id) ? "id=\"$id\"" : '';
$title = htmlspecialchars($info['title'], ENT_QUOTES, 'UTF-8');
$url = htmlspecialchars($info['url'], ENT_QUOTES, 'UTF-8');
$options = array(
'href' => $url,
'title' => $title,
'text' => $title
);
if (isset($info['url_class'])) {
$options['class'] = $info['url_class'];
}
if (isset($info['url_id'])) {
$options['internalid'] = $info['url_id'];
}
$link = elgg_view('output/url', $options);
echo "<li $class_str $js>$link</li>";
}
?>
</ul>
<?php
}
|