blob: e118160d08f198e35722b2b41bb2c66b74814e49 (
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
|
<?PHP
require_once('code/user.inc.php');
class Links {
function GetNeonLink($page) {
if($GLOBALS['pages']->HasAccess($page, 'c')) {
if($GLOBALS['user']->GetLoginType() == 'url')
return 'index.php?page=' . $page . '&login=' . $GLOBALS['user']->GetLoginKey();
return 'index.php?page=' . $page;
}
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;
?>
|