-
Notifications
You must be signed in to change notification settings - Fork 72
/
NagVisIndexView.php
92 lines (82 loc) · 2.97 KB
/
NagVisIndexView.php
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
/*****************************************************************************
*
* NagVisIndexView.php - Class for parsing the NagVis index in nagvis-js
* frontend
*
* Copyright (c) 2004-2016 NagVis Project (Contact: info@nagvis.org)
*
* License:
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*****************************************************************************/
/**
* @author Lars Michelsen <lm@larsmichelsen.com>
*/
class NagVisIndexView {
private $sSubtitle = '';
private $sCustomStylesheet = '';
private $sHeaderMenu = '';
private $sContent = '';
public function __construct(GlobalCore $CORE) {
}
public function setSubtitle($s) {
$this->sSubtitle = ' › ' . $s;
}
public function setCustomStylesheet($s) {
$this->sCustomStylesheet = $s;
}
public function setHeaderMenu($s) {
$this->sHeaderMenu = $s;
}
public function setContent($s) {
$this->sContent = $s;
}
/**
* Parses the map and the objects for the nagvis-js frontend
*
* @return String String with JS Code
* @author Lars Michelsen <lm@larsmichelsen.com>
*/
public function parse() {
// Initialize template system
$TMPL = New FrontendTemplateSystem();
$TMPLSYS = $TMPL->getTmplSys();
$aData = Array(
'pageTitle' => cfg('internal', 'title') . $this->sSubtitle,
'htmlBase' => cfg('paths', 'htmlbase'),
'htmlJs' => cfg('paths', 'htmljs'),
'htmlCss' => cfg('paths', 'htmlcss'),
'version' => CONST_VERSION,
'htmlTemplates' => path('html', 'global', 'templates'),
'bUseCompressedJs' => $this->checkJsCompressed(),
'customStylesheet' => $this->sCustomStylesheet,
'headerMenu' => $this->sHeaderMenu,
'content' => $this->sContent
);
// Build page based on the template file and the data array
return $TMPLSYS->get($TMPL->getTmplFile(cfg('defaults', 'view_template'), 'index'), $aData);
}
/**
* Checks if the compressed javascript file exists
*
* @return Boolean
* @author Lars Michelsen <lm@larsmichelsen.com>
*/
private function checkJsCompressed() {
return file_exists(cfg('paths', 'js').'NagVisCompressed.js');
}
}
?>