2014-02-06 Sergio Martin <sergio.martin@artica.es>
* mobile/index.php mobile/operation/visualmap.php mobile/operation/visualmaps.php mobile/operation/networkmap.php mobile/operation/home.php mobile/operation/agent.php mobile/include/style/main.css mobile/include/user.class.php: Added visual consoles in mobile console. Improve the apparience with new icons (pandora ones), better layout, etc. * godmode/reporting/map_builder.php: Fix type in gettext function git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@9409 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
da0603577e
commit
6d33b6fe83
|
@ -1,3 +1,19 @@
|
|||
2014-02-06 Sergio Martin <sergio.martin@artica.es>
|
||||
|
||||
* mobile/index.php
|
||||
mobile/operation/visualmap.php
|
||||
mobile/operation/visualmaps.php
|
||||
mobile/operation/networkmap.php
|
||||
mobile/operation/home.php
|
||||
mobile/operation/agent.php
|
||||
mobile/include/style/main.css
|
||||
mobile/include/user.class.php: Added visual
|
||||
consoles in mobile console. Improve the apparience with
|
||||
new icons (pandora ones), better layout, etc.
|
||||
|
||||
* godmode/reporting/map_builder.php: Fix type
|
||||
in gettext function
|
||||
|
||||
2014-02-06 Junichi Satoh <junichi@rworks.jp>
|
||||
|
||||
* include/languages/ja.po, include/languages/ja.mo: Updated
|
||||
|
|
|
@ -166,7 +166,7 @@ else
|
|||
$maps = visual_map_get_user_layouts ($config['id_user'], false, false, false);
|
||||
|
||||
if (!$maps) {
|
||||
echo '<div class="nf">'.('No maps defined').'</div>';
|
||||
echo '<div class="nf">'.__('No maps defined').'</div>';
|
||||
}
|
||||
else {
|
||||
foreach ($maps as $map) {
|
||||
|
|
|
@ -474,23 +474,23 @@ table.event_details td.cell_event_name {
|
|||
|
||||
/*INIT-----------Agents styles----------------------------------------*/
|
||||
.red, .redb, .redi, .error {
|
||||
background: #CC0000 !important;
|
||||
background: #FF4040 !important;
|
||||
}
|
||||
|
||||
.green {
|
||||
background: #5A8629 !important;
|
||||
background: #6EB432 !important;
|
||||
}
|
||||
|
||||
.orange {
|
||||
background: #ffa300 !important;
|
||||
background: #FF8800 !important;
|
||||
}
|
||||
|
||||
.yellow {
|
||||
background: #F3C500 !important;
|
||||
background: #F2D400 !important;
|
||||
}
|
||||
|
||||
.grey {
|
||||
background: #808080 !important;
|
||||
background: #AAAAAA !important;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
@ -506,7 +506,11 @@ table.event_details td.cell_event_name {
|
|||
}
|
||||
|
||||
.agent_details {
|
||||
line-height: 25px;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.agent_details img {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.agent_name {
|
||||
|
@ -516,10 +520,12 @@ table.event_details td.cell_event_name {
|
|||
|
||||
#list_agents .cell_0 img {
|
||||
float: left;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
#list_agents td:hover, #list_networkmaps td:hover,
|
||||
#list_events td:hover, #list_Modules td:hover {
|
||||
#list_events td:hover, #list_Modules td:hover,
|
||||
#list_visualmaps td:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
@ -528,6 +534,12 @@ table.event_details td.cell_event_name {
|
|||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.agents_tiny_stats_tactical {
|
||||
display: block;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 25em) {
|
||||
#list_agents .cell_2 .ui-table-cell-label,
|
||||
#list_agents .cell_3 .ui-table-cell-label,
|
||||
|
@ -618,16 +630,86 @@ table.event_details td.cell_event_name {
|
|||
|
||||
/*END-----------Alerts styles---------------------------------------*/
|
||||
|
||||
/*INIT-----------Alerts styles---------------------------------------*/
|
||||
/*INIT-----------Network maps styles---------------------------------------*/
|
||||
|
||||
#list_networkmaps td {
|
||||
height: 35px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
/*END-----------Alerts styles---------------------------------------*/
|
||||
/*END-----------Network maps styles---------------------------------------*/
|
||||
|
||||
/*INIT-----------Visual maps styles---------------------------------------*/
|
||||
|
||||
#list_visualmaps td {
|
||||
height: 35px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
#rendered_visual_map div {
|
||||
color: #003a3a;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
#rendered_visual_map {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* For mobiles */
|
||||
@media screen and (max-width: 750px)
|
||||
{
|
||||
#rendered_visual_map div {
|
||||
font-size: 6pt !important;
|
||||
}
|
||||
}
|
||||
/* For tablets */
|
||||
@media screen and (min-width: 750px)
|
||||
{
|
||||
#rendered_visual_map div {
|
||||
font-size: 8pt !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* For mobiles */
|
||||
@media screen and (max-width: 750px)
|
||||
{
|
||||
.resize_visual_font_size_8pt * {
|
||||
font-size: 4pt !important;
|
||||
}
|
||||
.resize_visual_font_size_14pt * {
|
||||
font-size: 6pt !important;
|
||||
}
|
||||
.resize_visual_font_size_24pt * {
|
||||
font-size: 10pt !important;
|
||||
}
|
||||
.resize_visual_font_size_36pt * {
|
||||
font-size: 14pt !important;
|
||||
}
|
||||
.resize_visual_font_size_72pt * {
|
||||
font-size: 27pt !important;
|
||||
}
|
||||
}
|
||||
/* For tablets */
|
||||
@media screen and (min-width: 750px)
|
||||
{
|
||||
.resize_visual_font_size_8pt * {
|
||||
font-size: 4pt !important;
|
||||
}
|
||||
.resize_visual_font_size_14pt * {
|
||||
font-size: 7pt !important;
|
||||
}
|
||||
.resize_visual_font_size_24pt * {
|
||||
font-size: 12pt !important;
|
||||
}
|
||||
.resize_visual_font_size_36pt * {
|
||||
font-size: 18pt !important;
|
||||
}
|
||||
.resize_visual_font_size_72pt * {
|
||||
font-size: 36pt !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*END-----------Visual maps styles---------------------------------------*/
|
||||
|
||||
/*INIT-----------Modules styles---------------------------------------*/
|
||||
@media screen and (max-width: 25em) {
|
||||
|
@ -1019,9 +1101,92 @@ table.tactical_bars {
|
|||
font-weight: bold;
|
||||
}
|
||||
|
||||
.ui-icon-eye {
|
||||
background-image: url(../../images/eye.png) !important;
|
||||
/*INIT-----------Icons styles---------------------------------------*/
|
||||
|
||||
.ui-icon-tactical_view {
|
||||
background-image: url(../../../images/op_monitoring.png) !important;
|
||||
}
|
||||
|
||||
.ui-icon-events {
|
||||
background-image: url(../../../images/op_events.png) !important;
|
||||
}
|
||||
|
||||
.ui-icon-groups {
|
||||
background-image: url(../../../images/group.png) !important;
|
||||
}
|
||||
|
||||
.ui-icon-alerts {
|
||||
background-image: url(../../../images/op_alerts.png) !important;
|
||||
}
|
||||
|
||||
.ui-icon-agents {
|
||||
background-image: url(../../../images/agent_mc.png) !important;
|
||||
}
|
||||
|
||||
.ui-icon-modules {
|
||||
background-image: url(../../../images/brick.png) !important;
|
||||
}
|
||||
|
||||
.ui-icon-network_maps {
|
||||
background-image: url(../../../images/op_network.png) !important;
|
||||
}
|
||||
|
||||
.ui-icon-visual_console {
|
||||
background-image: url(../../../images/visual_console.png) !important;
|
||||
}
|
||||
|
||||
.ui-icon-tactical_view, .ui-icon-events,
|
||||
.ui-icon-groups, .ui-icon-alerts,
|
||||
.ui-icon-agents, .ui-icon-modules,
|
||||
.ui-icon-network_maps, .ui-icon-visual_console {
|
||||
background-color: #333 !important;
|
||||
background-position: center;
|
||||
border-radius: 15px !important;
|
||||
-webkit-border-radius: 15px !important;
|
||||
}
|
||||
|
||||
#login_btn-container .ui-icon {
|
||||
background-color: #333 !important;
|
||||
border-radius: 15px !important;
|
||||
-webkit-border-radius: 15px !important;
|
||||
}
|
||||
|
||||
/* For mobiles */
|
||||
@media screen and (max-width: 750px)
|
||||
{
|
||||
.ui-icon-tactical_view, .ui-icon-events,
|
||||
.ui-icon-groups, .ui-icon-alerts,
|
||||
.ui-icon-agents, .ui-icon-modules,
|
||||
.ui-icon-network_maps, .ui-icon-visual_console {
|
||||
width: 22px !important;
|
||||
height: 22px !important;
|
||||
margin-top: -13px !important;
|
||||
background-size: 16px 16px;
|
||||
}
|
||||
}
|
||||
/* For tablets */
|
||||
@media screen and (min-width: 750px)
|
||||
{
|
||||
.ui-icon-tactical_view, .ui-icon-events,
|
||||
.ui-icon-groups, .ui-icon-alerts,
|
||||
.ui-icon-agents, .ui-icon-modules,
|
||||
.ui-icon-network_maps, .ui-icon-visual_console {
|
||||
width: 32px !important;
|
||||
height: 32px !important;
|
||||
margin-top: -17px !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*END-----------Network maps styles---------------------------------------*/
|
||||
|
||||
#logout_dialog-button_close {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.ui-btn-active {
|
||||
background: #6db431 !important;
|
||||
}
|
||||
|
||||
span.nobold * {
|
||||
|
@ -1043,7 +1208,7 @@ span.nobold * {
|
|||
display: block !important;
|
||||
}
|
||||
|
||||
#list_Modules *, #list_agents *, #list_alerts *, #list_networkmaps * {
|
||||
#list_Modules *, #list_agents *, #list_alerts *, #list_networkmaps *, #list_visualmaps * {
|
||||
color: #222;
|
||||
}
|
||||
|
||||
|
|
|
@ -178,7 +178,7 @@ class User {
|
|||
$ui->formAddInputPassword($options);
|
||||
$options = array(
|
||||
'value' => __('Login'),
|
||||
'icon' => 'star',
|
||||
'icon' => 'arrow-r',
|
||||
'icon_pos' => 'right',
|
||||
'name' => 'login_btn'
|
||||
);
|
||||
|
|
|
@ -36,6 +36,8 @@ require_once('operation/module_graph.php');
|
|||
require_once('operation/agent.php');
|
||||
require_once('operation/networkmaps.php');
|
||||
require_once('operation/networkmap.php');
|
||||
require_once('operation/visualmaps.php');
|
||||
require_once('operation/visualmap.php');
|
||||
$enterpriseHook = enterprise_include('mobile/include/enterprise.class.php');
|
||||
|
||||
$system = System::getInstance();
|
||||
|
@ -78,6 +80,10 @@ switch ($action) {
|
|||
$module_graph = new ModuleGraph();
|
||||
$module_graph->ajax($parameter2);
|
||||
break;
|
||||
case 'visualmap':
|
||||
$visualmap = new Visualmap();
|
||||
$visualmap->ajax($parameter2);
|
||||
break;
|
||||
}
|
||||
return;
|
||||
break;
|
||||
|
@ -152,6 +158,14 @@ switch ($action) {
|
|||
$networkmap = new Networkmap();
|
||||
$networkmap->show();
|
||||
break;
|
||||
case 'visualmaps':
|
||||
$visualmaps = new Visualmaps();
|
||||
$visualmaps->show();
|
||||
break;
|
||||
case 'visualmap':
|
||||
$visualmap = new Visualmap();
|
||||
$visualmap->show();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@ class Agent {
|
|||
|
||||
|
||||
$html = '<div class="agent_details">';
|
||||
$html .= ui_print_group_icon ($this->agent["id_grupo"], true) . ' ';
|
||||
$html .= ui_print_group_icon ($this->agent["id_grupo"], true, "groups_small", "", false) . ' ';
|
||||
$html .= '<span class="agent_name">' . $agent_name . '</span><br />';
|
||||
$html .= $ip;
|
||||
$html .= $last_contact;
|
||||
|
@ -132,10 +132,12 @@ class Agent {
|
|||
$html = graph_agent_status ($this->id, 160, 160, true);
|
||||
$graph_js = ob_get_clean();
|
||||
$html = $graph_js . $html;
|
||||
unset($this->agent['fired_count']);
|
||||
$html .= '<span class="agents_tiny_stats agents_tiny_stats_tactical">' . reporting_tiny_stats($this->agent, true) . ' </span><br>';
|
||||
$html .= "<b>" . __('Events (24h)') . "</b><br />";
|
||||
$html .= graph_graphic_agentevents(
|
||||
$this->id, 250, 15, 86400, ui_get_full_url(false), true);
|
||||
$html .= '<br><br>';
|
||||
$html .= '<br>';
|
||||
$ui->contentGridAddCell($html);
|
||||
$ui->contentEndGrid();
|
||||
|
||||
|
|
|
@ -50,41 +50,46 @@ class Home {
|
|||
$ui->endForm();
|
||||
|
||||
//List of buttons
|
||||
$options = array('icon' => 'gear',
|
||||
$options = array('icon' => 'tactical_view',
|
||||
'pos' => 'right',
|
||||
'text' => __('Tactical view'),
|
||||
'href' => 'index.php?page=tactical');
|
||||
$ui->contentAddHtml($ui->createButton($options));
|
||||
$options = array('icon' => 'info',
|
||||
$options = array('icon' => 'events',
|
||||
'pos' => 'right',
|
||||
'text' => __('Events'),
|
||||
'href' => 'index.php?page=events');
|
||||
$ui->contentAddHtml($ui->createButton($options));
|
||||
$options = array('icon' => 'arrow-u',
|
||||
$options = array('icon' => 'groups',
|
||||
'pos' => 'right',
|
||||
'text' => __('Groups'),
|
||||
'href' => 'index.php?page=groups');
|
||||
$ui->contentAddHtml($ui->createButton($options));
|
||||
$options = array('icon' => 'alert',
|
||||
$options = array('icon' => 'alerts',
|
||||
'pos' => 'right',
|
||||
'text' => __('Alerts'),
|
||||
'href' => 'index.php?page=alerts');
|
||||
$ui->contentAddHtml($ui->createButton($options));
|
||||
$options = array('icon' => 'grid',
|
||||
$options = array('icon' => 'agents',
|
||||
'pos' => 'right',
|
||||
'text' => __('Agents'),
|
||||
'href' => 'index.php?page=agents');
|
||||
$ui->contentAddHtml($ui->createButton($options));
|
||||
$options = array('icon' => 'check',
|
||||
$options = array('icon' => 'modules',
|
||||
'pos' => 'right',
|
||||
'text' => __('Modules'),
|
||||
'href' => 'index.php?page=modules');
|
||||
$ui->contentAddHtml($ui->createButton($options));
|
||||
$options = array('icon' => 'star',
|
||||
$options = array('icon' => 'network_maps',
|
||||
'pos' => 'right',
|
||||
'text' => __('Networkmaps'),
|
||||
'href' => 'index.php?page=networkmaps');
|
||||
$ui->contentAddHtml($ui->createButton($options));
|
||||
$options = array('icon' => 'visual_console',
|
||||
'pos' => 'right',
|
||||
'text' => __('Visual consoles'),
|
||||
'href' => 'index.php?page=visualmaps');
|
||||
$ui->contentAddHtml($ui->createButton($options));
|
||||
$ui->endContent();
|
||||
$ui->showPage();
|
||||
return;
|
||||
|
|
|
@ -82,7 +82,7 @@ class Networkmap {
|
|||
$ui->createPage();
|
||||
$ui->createDefaultHeader(
|
||||
sprintf("%s",
|
||||
$this->network_map['name']),
|
||||
$this->networkmap['name']),
|
||||
$ui->createHeaderButton(
|
||||
array('icon' => 'back',
|
||||
'pos' => 'left',
|
||||
|
|
|
@ -0,0 +1,145 @@
|
|||
<?php
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation for version 2.
|
||||
// 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.
|
||||
|
||||
require_once ('../include/functions_visual_map.php');
|
||||
|
||||
class Visualmap {
|
||||
private $correct_acl = false;
|
||||
private $acl = "RR";
|
||||
|
||||
private $id = 0;
|
||||
private $visual_map = null;
|
||||
|
||||
function __construct() {
|
||||
$system = System::getInstance();
|
||||
|
||||
if ($system->checkACL($this->acl)) {
|
||||
$this->correct_acl = true;
|
||||
}
|
||||
else {
|
||||
$this->correct_acl = false;
|
||||
}
|
||||
}
|
||||
|
||||
private function getFilters() {
|
||||
$system = System::getInstance();
|
||||
|
||||
$this->id = (int)$system->getRequest('id', 0);
|
||||
}
|
||||
|
||||
public function show() {
|
||||
if (!$this->correct_acl) {
|
||||
$this->show_fail_acl();
|
||||
}
|
||||
else {
|
||||
$this->getFilters();
|
||||
|
||||
$this->visualmap = db_get_row('tlayout',
|
||||
'id', $this->id);
|
||||
|
||||
$this->show_visualmap();
|
||||
}
|
||||
}
|
||||
|
||||
private function show_fail_acl() {
|
||||
$error['title_text'] = __('You don\'t have access to this page');
|
||||
$error['content_text'] = __('Access to this page is restricted to authorized users only, please contact system administrator if you need assistance. <br><br>Please know that all attempts to access this page are recorded in security logs of Pandora System Database');
|
||||
$home = new Home();
|
||||
$home->show($error);
|
||||
}
|
||||
|
||||
public function ajax($parameter2 = false) {
|
||||
$system = System::getInstance();
|
||||
|
||||
if (!$this->correct_acl) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
switch ($parameter2) {
|
||||
case 'render_map':
|
||||
$map_id = $system->getRequest('map_id', '0');
|
||||
$width = $system->getRequest('width', '400');
|
||||
visual_map_print_visual_map($map_id, false, true, $width);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function show_visualmap() {
|
||||
$ui = Ui::getInstance();
|
||||
$system = System::getInstance();
|
||||
|
||||
$ui->createPage();
|
||||
$ui->createDefaultHeader(
|
||||
sprintf("%s",
|
||||
$this->visualmap['name']),
|
||||
$ui->createHeaderButton(
|
||||
array('icon' => 'back',
|
||||
'pos' => 'left',
|
||||
'text' => __('Back'),
|
||||
'href' => 'index.php?page=visualmaps')));
|
||||
$ui->showFooter(false);
|
||||
$ui->beginContent();
|
||||
|
||||
ob_start();
|
||||
$rendered_map = '<div id="rendered_visual_map">';
|
||||
$rendered_map .= html_print_image('images/spinner.gif', true);
|
||||
$rendered_map .= '</div>';
|
||||
ob_clean();
|
||||
|
||||
$ui->contentAddHtml($rendered_map);
|
||||
$ui->contentAddHtml("<script type=\"text/javascript\">
|
||||
function ajax_load_map() {
|
||||
//$('#rendered_visual_map').html('<img src=\"images/spinner.gif\">);
|
||||
|
||||
var map_max_width = window.innerWidth * 0.90;
|
||||
var map_max_height = (window.innerHeight - 47) * 0.90;
|
||||
|
||||
var original_width = " . $this->visualmap['width'] . ";
|
||||
var original_height = " . $this->visualmap['height'] . ";
|
||||
|
||||
var map_width = map_max_width;
|
||||
var map_height = original_height / (original_width / map_width);
|
||||
|
||||
if(map_height > map_max_height) {
|
||||
map_height = map_max_height;
|
||||
map_width = original_width / (original_height / map_height);
|
||||
}
|
||||
|
||||
postvars = {};
|
||||
postvars[\"action\"] = \"ajax\";
|
||||
postvars[\"parameter1\"] = \"visualmap\";
|
||||
postvars[\"parameter2\"] = \"render_map\";
|
||||
postvars[\"map_id\"] = \"" . $this->id . "\";
|
||||
postvars[\"width\"] = map_width;
|
||||
|
||||
$.post(\"index.php\",
|
||||
postvars,
|
||||
function (data) {
|
||||
$('#rendered_visual_map').html(data);
|
||||
},
|
||||
\"html\");
|
||||
}
|
||||
|
||||
ajax_load_map();
|
||||
|
||||
$( window ).resize(function() {
|
||||
ajax_load_map();
|
||||
});
|
||||
</script>");
|
||||
$ui->endContent();
|
||||
$ui->showPage();
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,162 @@
|
|||
<?php
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation for version 2.
|
||||
// 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.
|
||||
|
||||
ob_start();
|
||||
require_once ('../include/functions_visual_map.php');
|
||||
ob_get_clean(); //Fixed unused javascript code.
|
||||
|
||||
class Visualmaps {
|
||||
private $correct_acl = false;
|
||||
private $acl = "RR";
|
||||
|
||||
private $default = true;
|
||||
private $default_filters = array();
|
||||
|
||||
private $group = 0;
|
||||
private $type = 0;
|
||||
|
||||
private $list_types = null;
|
||||
|
||||
function __construct() {
|
||||
$system = System::getInstance();
|
||||
|
||||
if ($system->checkACL($this->acl)) {
|
||||
$this->correct_acl = true;
|
||||
}
|
||||
else {
|
||||
$this->correct_acl = false;
|
||||
}
|
||||
}
|
||||
|
||||
private function getFilters() {
|
||||
$system = System::getInstance();
|
||||
$user = User::getInstance();
|
||||
|
||||
$this->default_filters['group'] = true;
|
||||
$this->default_filters['type'] = true;
|
||||
|
||||
$this->group = (int)$system->getRequest('group', __("Group"));
|
||||
if (!$user->isInGroup($this->acl, $this->group)) {
|
||||
$this->group = 0;
|
||||
}
|
||||
if (($this->group === __("Group")) || ($this->group == 0)) {
|
||||
$this->group = 0;
|
||||
}
|
||||
else {
|
||||
$this->default = false;
|
||||
$this->default_filters['group'] = false;
|
||||
}
|
||||
|
||||
$this->type = $system->getRequest('type', __("Type"));
|
||||
if (($this->type === __("Type")) || ($this->type === '0')) {
|
||||
$this->type = '0';
|
||||
}
|
||||
else {
|
||||
$this->default = false;
|
||||
$this->default_filters['type'] = false;
|
||||
}
|
||||
}
|
||||
|
||||
public function show() {
|
||||
if (!$this->correct_acl) {
|
||||
$this->show_fail_acl();
|
||||
}
|
||||
else {
|
||||
$this->getFilters();
|
||||
$this->show_visualmaps();
|
||||
}
|
||||
}
|
||||
|
||||
private function show_fail_acl() {
|
||||
$error['title_text'] = __('You don\'t have access to this page');
|
||||
$error['content_text'] = __('Access to this page is restricted to authorized users only, please contact system administrator if you need assistance. <br><br>Please know that all attempts to access this page are recorded in security logs of Pandora System Database');
|
||||
$home = new Home();
|
||||
$home->show($error);
|
||||
}
|
||||
|
||||
private function show_visualmaps() {
|
||||
$ui = Ui::getInstance();
|
||||
|
||||
$ui->createPage();
|
||||
$ui->createDefaultHeader(__("Visual consoles"),
|
||||
$ui->createHeaderButton(
|
||||
array('icon' => 'back',
|
||||
'pos' => 'left',
|
||||
'text' => __('Back'),
|
||||
'href' => 'index.php?page=home')));
|
||||
$ui->showFooter(false);
|
||||
$ui->beginContent();
|
||||
$this->listVisualmapsHtml();
|
||||
$ui->endContent();
|
||||
$ui->showPage();
|
||||
}
|
||||
|
||||
private function listVisualmapsHtml() {
|
||||
$system = System::getInstance();
|
||||
$ui = Ui::getInstance();
|
||||
|
||||
// Create filter
|
||||
$where = array();
|
||||
// Order by type field
|
||||
$where['order'] = 'type';
|
||||
|
||||
if ($this->group != '0')
|
||||
$where['id_group'] = $this->group;
|
||||
|
||||
if ($this->type != '0')
|
||||
$where['type'] = $this->type;
|
||||
|
||||
// Only display maps of "All" group if user is administrator
|
||||
// or has "RR" privileges, otherwise show only maps of user group
|
||||
$id_user = $system->getConfig('id_user');
|
||||
$own_info = get_user_info ($id_user);
|
||||
if ($own_info['is_admin'] || $system->checkACL($this->acl))
|
||||
$maps = visual_map_get_user_layouts ();
|
||||
else
|
||||
$maps = visual_map_get_user_layouts ($id_user, false, false, false);
|
||||
|
||||
if (empty($maps)) {
|
||||
$maps = array();
|
||||
}
|
||||
$list = array();
|
||||
foreach ($maps as $map) {
|
||||
$row = array();
|
||||
$row[__('Name')] = '<a class="ui-link" data-ajax="false" href="index.php?page=visualmap&id=' . $map['id'] . '">' . io_safe_output($map['name']) . '</a>';
|
||||
//$row[__('Type')] = $map['type'];
|
||||
$row[__('Group')] = ui_print_group_icon($map["id_group"], true, "groups_small", "" , false);
|
||||
$list[] = $row;
|
||||
}
|
||||
|
||||
if (count($maps) == 0) {
|
||||
$ui->contentAddHtml('<p style="color: #ff0000;">' . __('No maps defined') . '</p>');
|
||||
}
|
||||
else {
|
||||
$table = new Table();
|
||||
$table->id = 'list_visualmaps';
|
||||
$table->importFromHash($list);
|
||||
$ui->contentAddHtml($table->getHTML());
|
||||
}
|
||||
|
||||
$ui->contentAddHtml("<script type=\"text/javascript\">
|
||||
//Set link on entire row
|
||||
$('#list_visualmaps tr').click( function() {
|
||||
var link = $(this).find('a').attr('href');
|
||||
if (link != undefined) {
|
||||
window.location = $(this).find('a').attr('href');
|
||||
}
|
||||
});
|
||||
</script>");
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue