<?php /** * MIB Uploader view * * @category Monitoring * @package Pandora FMS * @subpackage Community * @version 1.0.0 * @license See below * * ______ ___ _______ _______ ________ * | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __| * | __/| _ | | _ || _ | _| _ | | ___| |__ | * |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______| * * ============================================================================ * Copyright (c) 2005-2023 Pandora FMS * Please see https://pandorafms.com/community/ 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. * ============================================================================ */ // Begin. global $config; check_login(); if (! check_acl($config['id_user'], 0, 'PM')) { db_pandora_audit( AUDIT_LOG_ACL_VIOLATION, 'Trying to access MIB uploader' ); include 'general/noaccess.php'; return; } require_once 'include/functions_filemanager.php'; // Header. ui_print_standard_header( __('MIB uploader'), 'images/op_snmp.png', false, '', false, [], [ [ 'link' => '', 'label' => __('Monitoring'), ], [ 'link' => '', 'label' => __('SNMP'), ], ] ); if (isset($config['filemanager']['message'])) { echo $config['filemanager']['message']; $config['filemanager']['message'] = null; } $directory = (string) get_parameter('directory'); $directory = str_replace('\\', '/', $directory); // Add custom directories here. $fallback_directory = SNMP_DIR_MIBS; if (empty($directory) === true) { $directory = $fallback_directory; } else { $directory = str_replace('\\', '/', $directory); $directory = filemanager_safe_directory($directory, $fallback_directory); } $real_directory = realpath($config['homedir'].'/'.$directory); ui_print_info_message(__('MIB files will be installed on the system. Please note that a MIB may depend on other MIB. To customize trap definitions use the SNMP trap editor.')); $upload_file_or_zip = (bool) get_parameter('upload_file_or_zip'); $create_text_file = (bool) get_parameter('create_text_file'); $default_real_directory = realpath($config['homedir'].'/'.$fallback_directory); if ($upload_file_or_zip === true) { upload_file($upload_file_or_zip, $default_real_directory, $real_directory, ['mib', 'zip']); } if ($create_text_file === true) { create_text_file($default_real_directory, $real_directory); } filemanager_file_explorer( $real_directory, $directory, 'index.php?sec=snmpconsole&sec2=operation/snmpconsole/snmp_mib_uploader', SNMP_DIR_MIBS, false, false, '', false, '', false, [ 'all' => true, 'denyCreateText' => true, 'allowCreateFolder' => true, ] );