pandorafms/pandora_console/extensions/extension_uploader.php

73 lines
2.2 KiB
PHP

<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2011 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; 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.
function extension_uploader_extensions() {
global $config;
ui_print_page_header (__("Uploader extension"), "images/extensions.png", false, "", true, "");
$upload = (bool)get_parameter('upload', 0);
if ($upload) {
$error = $_FILES['extension']['error'];
if ($error == 0) {
$zip = new ZipArchive;
$tmpName = $_FILES['extension']['tmp_name'];
$pathname = $config['homedir'] . '/' . EXTENSIONS_DIR . '/';
if ($zip->open($tmpName) === true) {
$result = $zip->extractTo($pathname);
}
else {
$result = false;
}
}
else {
$result = false;
}
if ($result) {
db_pandora_audit ("Extension manager", "Upload extension " . $_FILES['extension']['name']);
}
ui_print_result_message ($result, __('Success to upload extension'),
__('Fail to upload extension'));
}
$table = null;
$table->width = '98%';
$table->data = array();
$table->data[0][0] = __('Upload extension');
$table->data[0][1] = html_print_input_file('extension', true) .
ui_print_help_tip (__("Upload the extension as a zip file."), true);
echo "<form method='post' enctype='multipart/form-data'>";
html_print_table($table);
echo "<div style='text-align: right; width: " . $table->width . "'>";
html_print_input_hidden('upload', 1);
html_print_submit_button(__('Upload'), 'submit', false, 'class="sub add"');
echo "</div>";
echo "</form>";
}
extensions_add_godmode_menu_option(__('Extension uploader'), 'AM', 'gextensions');
extensions_add_godmode_function('extension_uploader_extensions');
?>