blob: 78951975fe3db815dbc12c80cbf4e284d61245a1 (
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
<?PHP
require_once('code/user.inc.php');
class Links {
function GetNeonLink($page, $extra = '', $html = true) {
if($GLOBALS['pages']->HasAccess($page, 'c')) {
if($GLOBALS['user']->login_type == 'url')
$ret = 'index.php?page=' . $page . '&login=' . $GLOBALS['user']->login_key
. ($extra ? '&' . $extra : '');
else
$ret = 'index.php?page=' . $page . ($extra ? '&' . $extra : '');
if($html) return htmlspecialchars($ret);
else return $ret;
}
return '';
}
function GetExternalLink($link) {
return $link;
}
function GetMailtoLink($address) {
return 'mailto:' . $address;
}
function GetNavPage($page) {
if($GLOBALS['pages']->HasAccess($page, 'n')) {
$page = $GLOBALS['pages']->Get($page, 'n');
return $page['content'];
}
return '';
}
function ParseNavLink($text, $link) {
if(!$link) return $text;
switch($link[0]) {
case ':':
$ret = $this->GetNeonLink(substr($link, 1));
if($ret)
return '<a href="' . $ret . '">' . $text . '</a>';
return $text;
case '@':
return '<a href="' . $this->GetMailtoLink(substr($link, 1)) . '">' . $text . '</a>';
case '!':
$ret = $this->GetNavPage(substr($link, 1));
if($ret)
return $ret;
return $text;
default:
return '<a href="' . $this->GetExternalLink($link) . '">' . $text . '</a>';
}
}
}
$GLOBALS['links'] = new Links;
?>
|