2010-09-09 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_networkmap.php: cleaned source code. * include/functions_ui.php: in function "print_os_icon" change the directory to search os icon because it change for new feature. * images/os_icons, images/os_icons/*: copied the icons image files into this dir for to use in new feature. * godmode/menu.php: added new item in submenu "Setup" for the management the OS. * godmode/setup/os.php: added the page to management the list OS of agents. Pending task: #3057663 git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3234 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
|
@ -1,3 +1,20 @@
|
|||
2010-09-09 Miguel de Dios <miguel.dedios@artica.es>
|
||||
|
||||
* include/functions_networkmap.php: cleaned source code.
|
||||
|
||||
* include/functions_ui.php: in function "print_os_icon" change the
|
||||
directory to search os icon because it change for new feature.
|
||||
|
||||
* images/os_icons, images/os_icons/*: copied the icons image files into this
|
||||
dir for to use in new feature.
|
||||
|
||||
* godmode/menu.php: added new item in submenu "Setup" for the management
|
||||
the OS.
|
||||
|
||||
* godmode/setup/os.php: added the page to management the list OS of agents.
|
||||
|
||||
Pending task: #3057663
|
||||
|
||||
2010-09-09 Sancho Lerena <slerena@artica.es>
|
||||
|
||||
* fgraph.php: Graph "Modules per agent" was not working properly
|
||||
|
|
|
@ -207,6 +207,7 @@ if (give_acl ($config['id_user'], 0, "PM")) {
|
|||
$sub["godmode/setup/gis"]["text"] = __('Map conections GIS');
|
||||
$sub["godmode/setup/links"]["text"] = __('Links');
|
||||
$sub["godmode/setup/news"]["text"] = __('Site news');
|
||||
$sub["godmode/setup/os"]["text"] = __('Edit OS');
|
||||
enterprise_hook ('historydb_submenu');
|
||||
enterprise_hook ('enterprise_acl_submenu');
|
||||
|
||||
|
|
|
@ -0,0 +1,228 @@
|
|||
<?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.
|
||||
|
||||
// Load global vars
|
||||
global $config;
|
||||
|
||||
check_login ();
|
||||
|
||||
if (! give_acl ($config['id_user'], 0, "PM") && ! is_user_admin ($config['id_user'])) {
|
||||
audit_db ($config['id_user'], $_SERVER['REMOTE_ADDR'], "ACL Violation", "Trying to access Setup Management");
|
||||
require ("general/noaccess.php");
|
||||
return;
|
||||
}
|
||||
|
||||
$action = get_parameter('action', 'new');
|
||||
$idOS = get_parameter('id_os', 0);
|
||||
|
||||
if ($idOS) {
|
||||
$os = get_db_row_filter('tconfig_os', array('id_os' => $idOS));
|
||||
$name = $os['name'];
|
||||
$description = $os['description'];
|
||||
$icon = $os['icon_name'];
|
||||
}
|
||||
else {
|
||||
$name = get_parameter('name', '');
|
||||
$description = get_parameter('description', '');
|
||||
$icon = get_parameter('icon',0);
|
||||
}
|
||||
|
||||
// Header
|
||||
print_page_header(__('Edit OS'), "", false, "", true);
|
||||
|
||||
switch ($action) {
|
||||
default:
|
||||
case 'new':
|
||||
$actionHidden = 'save';
|
||||
$textButton = __('Create');
|
||||
$classButton = 'class="sub next"';
|
||||
break;
|
||||
case 'edit':
|
||||
$actionHidden = 'update';
|
||||
$textButton = __('Update');
|
||||
$classButton = 'class="sub upd"';
|
||||
break;
|
||||
case 'save':
|
||||
$values = array();
|
||||
$values['name'] = $name;
|
||||
$values['description'] = $description;
|
||||
|
||||
if (($icon !== 0) && ($icon != '')) {
|
||||
$values['icon_name'] = $icon;
|
||||
}
|
||||
$resultOrId = process_sql_insert('tconfig_os', $values);
|
||||
|
||||
if ($resultOrId === false) {
|
||||
print_error_message(__('Fail to create OS'));
|
||||
$actionHidden = 'save';
|
||||
$textButton = __('Create');
|
||||
$classButton = 'class="sub next"';
|
||||
}
|
||||
else {
|
||||
$idOs = $resultOrId;
|
||||
print_success_message(__('Success to create OS'));
|
||||
$actionHidden = 'update';
|
||||
$textButton = __('Update');
|
||||
$classButton = 'class="sub upd"';
|
||||
}
|
||||
break;
|
||||
case 'update':
|
||||
$name = get_parameter('name', '');
|
||||
$description = get_parameter('description', '');
|
||||
$icon = get_parameter('icon',0);
|
||||
|
||||
$values = array();
|
||||
$values['name'] = $name;
|
||||
$values['description'] = $description;
|
||||
|
||||
if (($icon !== 0) && ($icon != '')) {
|
||||
$values['icon_name'] = $icon;
|
||||
}
|
||||
$result = process_sql_update('tconfig_os', $values, array('id_os' => $idOS));
|
||||
|
||||
print_result_message($result, __('Success to update OS'), __('Error to update OS'));
|
||||
|
||||
$actionHidden = 'update';
|
||||
$textButton = __('Update');
|
||||
$classButton = 'class="sub upd"';
|
||||
break;
|
||||
case 'delete':
|
||||
$sql = 'SELECT COUNT(id_os) AS count FROM tagente WHERE id_os = ' . $idOS;
|
||||
$count = get_db_all_rows_sql($sql);
|
||||
$count = $count[0]['count'];
|
||||
|
||||
if ($count > 0) {
|
||||
print_error_message(__('There are agents with this OS.'));
|
||||
}
|
||||
else {
|
||||
$result = (bool)process_sql_delete('tconfig_os', array('id_os' => $idOS));
|
||||
|
||||
print_result_message($result, __('Success to delete'), __('Error to delete'));
|
||||
}
|
||||
|
||||
$idOS = 0;
|
||||
$name = get_parameter('name', '');
|
||||
$description = get_parameter('description', '');
|
||||
$icon = get_parameter('icon',0);
|
||||
|
||||
$actionHidden = 'save';
|
||||
$textButton = __('Create');
|
||||
$classButton = 'class="sub next"';
|
||||
break;
|
||||
}
|
||||
|
||||
$table = null;
|
||||
|
||||
$table->width = '80%';
|
||||
$table->head[0] = '';
|
||||
$table->head[1] = __('Name');
|
||||
$table->head[2] = __('Description');
|
||||
$table->head[3] = '';
|
||||
$table->align[0] = 'center';
|
||||
$table->align[3] = 'center';
|
||||
$table->size[0] = '20px';
|
||||
$table->size[3] = '20px';
|
||||
|
||||
$osList = get_db_all_rows_in_table('tconfig_os');
|
||||
|
||||
$table->data = array();
|
||||
foreach ($osList as $os) {
|
||||
$data = array();
|
||||
$data[] = print_os_icon($os['id_os'], false, true);
|
||||
$data[] = '<a href="index.php?sec=gsetup&sec2=godmode/setup/os&action=edit&id_os=' . $os['id_os'] . '">' . safe_output($os['name']) . '</a>';
|
||||
$data[] = printTruncateText(safe_output($os['description']), 25, true, true);
|
||||
if ($os['id_os'] > 13) {
|
||||
$data[] = '<a href="index.php?sec=gsetup&sec2=godmode/setup/os&action=delete&id_os=' . $os['id_os'] . '"><img src="images/cross.png" /></a>';
|
||||
}
|
||||
else {
|
||||
//The original icons of pandora don't delete.
|
||||
$data[] = '';
|
||||
}
|
||||
|
||||
$table->data[] = $data;
|
||||
}
|
||||
|
||||
$htmlListOS = print_table($table, true);
|
||||
|
||||
toggle($htmlListOS,__('List of OS'), __('Toggle'));
|
||||
|
||||
echo '<form id="form_setup" method="post">';
|
||||
unset($table->head);
|
||||
unset($table->align);
|
||||
unset($table->size);
|
||||
unset($table->data);
|
||||
|
||||
$table->width = '50%';
|
||||
|
||||
$table->style[0] = 'font-weight: bolder; vertical-align: top;';
|
||||
|
||||
$table->data[0][0] = __('Name:');
|
||||
$table->data[0][1] = print_input_text('name', $name, __('Name'), 20, 30, true);
|
||||
$table->data[1][0] = __('Description');
|
||||
$table->data[1][1] = print_textarea('description', 5, 10, $description, '', true);
|
||||
$icons = get_list_os_icons_dir();
|
||||
$table->data[2][0] = __('Icon');
|
||||
$table->data[2][1] = print_select($icons, 'icon', $icon, 'show_icon_OS();', __('None'), 0, true);
|
||||
$table->data[2][1] .= ' <span id="icon_image">' . print_os_icon($idOS, false, true) . '</span>';
|
||||
|
||||
|
||||
echo '<div class="action-buttons" style="width: '.$table->width.'">';
|
||||
print_button(__('New OS'), 'new_button', false, 'new_os();', 'class="sub add"');
|
||||
echo '</div>';
|
||||
echo '<form action="post">';
|
||||
print_table($table);
|
||||
|
||||
print_input_hidden('id_os', $idOS);
|
||||
print_input_hidden ('action', $actionHidden);
|
||||
|
||||
echo '<div class="action-buttons" style="width: '.$table->width.'">';
|
||||
print_submit_button ($textButton, 'update_button', false, $classButton);
|
||||
echo '</div>';
|
||||
echo '</form>';
|
||||
|
||||
function get_list_os_icons_dir() {
|
||||
global $config;
|
||||
|
||||
$return = array();
|
||||
|
||||
$items = scandir($config['homedir'] . '/images/os_icons');
|
||||
|
||||
foreach ($items as $item) {
|
||||
if (strstr($item, '_small.png') || strstr($item, '_small.gif')
|
||||
|| strstr($item, '_small.jpg')) {
|
||||
continue;
|
||||
}
|
||||
if (strstr($item, '.png') || strstr($item, '.gif')
|
||||
|| strstr($item, '.jpg')) {
|
||||
$return[$item] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
function new_os() {
|
||||
location.href='<?php
|
||||
if ($config['https']) echo "https://";
|
||||
else echo "http://";
|
||||
echo $_SERVER['SERVER_NAME'] . $config['homeurl'] . '/index.php?sec=gsetup&sec2=godmode/setup/os&action=new';
|
||||
?>';
|
||||
}
|
||||
|
||||
function show_icon_OS() {
|
||||
$("#icon_image").html('<img src="images/os_icons/' + $("#icon").val() + '" />');
|
||||
}
|
||||
</script>
|
After Width: | Height: | Size: 637 B |
After Width: | Height: | Size: 672 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 885 B |
After Width: | Height: | Size: 707 B |
After Width: | Height: | Size: 801 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 511 B |
After Width: | Height: | Size: 539 B |
After Width: | Height: | Size: 623 B |
After Width: | Height: | Size: 696 B |
After Width: | Height: | Size: 748 B |
After Width: | Height: | Size: 340 B |
After Width: | Height: | Size: 788 B |
After Width: | Height: | Size: 698 B |
After Width: | Height: | Size: 777 B |
After Width: | Height: | Size: 846 B |
After Width: | Height: | Size: 554 B |
After Width: | Height: | Size: 266 B |
After Width: | Height: | Size: 454 B |
|
@ -319,7 +319,7 @@ function create_group_node ($group, $simple = 0, $font_size = 10) {
|
|||
if ($simple == 0){
|
||||
// Set node icon
|
||||
if (file_exists ('images/groups_small/'.$icon.'.png')) {
|
||||
$img_node = '<IMG SRC="images/groups_small/'.$icon.'.png"/>';
|
||||
$img_node = '<img src="images/groups_small/'.$icon.'.png"/>';
|
||||
} else {
|
||||
$img_node = '-';
|
||||
}
|
||||
|
|
|
@ -276,7 +276,7 @@ function print_os_icon ($id_os, $name = true, $return = false) {
|
|||
return "-";
|
||||
}
|
||||
|
||||
$output = '<img src="images/'.$icon.'" alt="'.$os_name.'" title="'.$os_name.'" />';
|
||||
$output = '<img src="images/os_icons/'.$icon.'" alt="'.$os_name.'" title="'.$os_name.'" />';
|
||||
|
||||
if ($name === true) {
|
||||
$output .= ' - '.$os_name;
|
||||
|
|