blob: 79ab5237716670e7838e0227bc0e5e533ab7aa7f (
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
|
<?php
/**
* Elgg URL display
* Displays a URL as a link
*
* @package Elgg
* @subpackage Core
*
* @uses string $vars['text'] The string between the <a></a> tags.
* @uses string $vars['href'] The unencoded url string
* @uses bool $vars['encode_text'] Run $vars['text'] through htmlspecialchars() (false)
* @uses bool $vars['is_action'] Is this a link to an action (false)
*
*/
$url = elgg_extract('href', $vars, null);
if (!$url and isset($vars['value'])) {
$url = trim($vars['value']);
unset($vars['value']);
}
if (isset($vars['text'])) {
if (elgg_extract('encode_text', $vars, false)) {
$text = htmlspecialchars($vars['text'], ENT_QUOTES, 'UTF-8', false);
} else {
$text = $vars['text'];
}
unset($vars['text']);
} else {
$text = htmlspecialchars($url, ENT_QUOTES, 'UTF-8', false);
}
unset($vars['encode_text']);
if ($url) {
$url = elgg_normalize_url($url);
if (elgg_extract('is_action', $vars, false)) {
$url = elgg_add_action_tokens_to_url($url, false);
unset($vars['is_action']);
}
$vars['href'] = $url;
}
$attributes = elgg_format_attributes($vars);
echo "<a $attributes>$text</a>";
|