<?php /** * Os. * * @category Os * @package Pandora FMS * @subpackage Community * @version 1.0.0 * @license See below * * ______ ___ _______ _______ ________ * | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __| * | __/| _ | | _ || _ | _| _ | | ___| |__ | * |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______| * * ============================================================================ * Copyright (c) 2005-2021 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 (! check_acl($config['id_user'], 0, 'PM') && ! is_user_admin($config['id_user'])) { db_pandora_audit( AUDIT_LOG_ACL_VIOLATION, 'Trying to access Setup Management' ); include 'general/noaccess.php'; return; } $is_management_allowed = true; if (is_management_allowed() === false) { $is_management_allowed = false; if (is_metaconsole() === false) { $url = '<a target="_blank" href="'.ui_get_meta_url( 'index.php?sec=advanced&sec2=advanced/component_management&tab=os_manage&tab2=list&pure='.(int) $config['pure'] ).'">'.__('metaconsole').'</a>'; } else { $url = __('any node'); } ui_print_warning_message( __( 'This node is configured with centralized mode. All OS definitions are read only. Go to %s to manage them.', $url ) ); } $table = new stdClass(); $table->width = '100%'; $table->class = 'info_table'; $table->head[0] = ''; $table->head[1] = __('ID'); $table->head[2] = __('Name'); $table->head[3] = __('Description'); if ($is_management_allowed === true) { $table->head[4] = ''; } $table->align[0] = 'center'; if ($is_management_allowed === true) { $table->align[4] = 'center'; } $table->size[0] = '20px'; if ($is_management_allowed === true) { $table->size[4] = '20px'; } // Prepare pagination. $offset = (int) get_parameter('offset'); $limit = $config['block_size']; $count_osList = db_get_value('count(*)', 'tconfig_os'); $osList = db_get_all_rows_filter( 'tconfig_os', [ 'offset' => $offset, 'limit' => $limit, ] ); if ($osList === false) { $osList = []; } $table->data = []; foreach ($osList as $os) { $data = []; $data[] = ui_print_os_icon($os['id_os'], false, true); $data[] = $os['id_os']; if ($is_management_allowed === true) { if (is_metaconsole() === true) { $data[] = '<a href="index.php?sec=advanced&sec2=advanced/component_management&tab=os_manage&action=edit&tab2=builder&id_os='.$os['id_os'].'">'.io_safe_output($os['name']).'</a>'; } else { $data[] = '<a href="index.php?sec=gsetup&sec2=godmode/setup/os&action=edit&tab=builder&id_os='.$os['id_os'].'">'.io_safe_output($os['name']).'</a>'; } } else { $data[] = io_safe_output($os['name']); } $data[] = ui_print_truncate_text(io_safe_output($os['description']), 'description', true, true); if ($is_management_allowed === true) { $table->cellclass[][4] = 'action_buttons'; if ($os['id_os'] > 16) { if (is_metaconsole()) { $data[] = '<a href="index.php?sec=advanced&sec2=advanced/component_management&tab=os_manage&action=delete&tab2=list&id_os='.$os['id_os'].'">'.html_print_image('images/cross.png', true).'</a>'; } else { $data[] = '<a href="index.php?sec=gsetup&sec2=godmode/setup/os&action=delete&tab=list&id_os='.$os['id_os'].'">'.html_print_image('images/cross.png', true, ['class' => 'invert_filter']).'</a>'; } } else { // The original icons of pandora don't delete. $data[] = ''; } } $table->data[] = $data; } if (isset($data) === true) { ui_pagination($count_osList, ui_get_url_refresh(['message' => false]), $offset); html_print_table($table); ui_pagination($count_osList, ui_get_url_refresh(['message' => false]), $offset, 0, false, 'offset', true, 'pagination-bottom'); } else { ui_print_info_message(['no_close' => true, 'message' => __('There are no defined operating systems') ]); } if (is_metaconsole() === true) { echo '<form method="post" action="index.php?sec=advanced&sec2=advanced/component_management&tab=os_manage&tab2=builder">'; echo "<div style='text-align:right;width:".$table->width."'>"; html_print_submit_button(__('Create OS'), '', false, 'class="sub next"'); echo '</div>'; echo '</form>'; }