diff options
Diffstat (limited to 'views/default/output/url.php')
-rw-r--r-- | views/default/output/url.php | 47 |
1 files changed, 33 insertions, 14 deletions
diff --git a/views/default/output/url.php b/views/default/output/url.php index 190b08c21..b77ffbf00 100644 --- a/views/default/output/url.php +++ b/views/default/output/url.php @@ -8,26 +8,45 @@ * @author Curverider Ltd * @link http://elgg.org/ * - * @uses $vars['value'] The URL to display + * @uses string $vars['href'] The string to display in the <a></a> tags + * @uses string $vars['text'] The string between the <a></a> tags. + * @uses bool $vars['target'] Set the target="" attribute. + * @uses string $vars['class'] what to add in class="" + * @uses string $vars['js'] Javascript to insert in <a> tag + * @uses bool $vars['is_action'] Is this a link to an action? * */ -$val = trim($vars['value']); -if (!empty($val)) { - if ((substr_count($val, "http://") == 0) && (substr_count($val, "https://") == 0)) { - $val = "http://" . $val; +$url = trim($vars['href']); + +if (!empty($url)) { + if (array_key_exists('is_action', $vars) && $vars['is_action']) { + $url = elgg_validate_action_url($url); + } + + if (array_key_exists('target', $vars) && $vars['target']) { + $target = "target = \"{$vars['target']}\""; + } else { + $target = ''; } - if ($vars['is_action']) { - $ts = time(); - $token = generate_action_token($ts); + if (array_key_exists('class', $vars) && $vars['class']) { + $class = "class = \"{$vars['class']}\""; + } else { + $class = ''; + } + + if (array_key_exists('js', $vars) && $vars['js']) { + $js = "{$vars['target']}"; + } else { + $js = ''; + } - $sep = "?"; - if (strpos($val, '?')>0) { - $sep = "&"; - } - $val = "$val{$sep}__elgg_token=$token&__elgg_ts=$ts"; + if (array_key_exists('text', $vars) && $vars['text']) { + $text = htmlentities($vars['text'], ENT_QUOTES, 'UTF-8'); + } else { + $text = htmlentities($url, ENT_QUOTES, 'UTF-8'); } - echo "<a href=\"{$val}\" target=\"_blank\">". htmlentities($val, ENT_QUOTES, 'UTF-8'). "</a>"; + echo "<a href=\"{$url}\" $target $class $js>$text</a>"; }
\ No newline at end of file |