2013-07-29 Miguel de Dios <miguel.dedios@artica.es>
* extensions/api_checker.php: a tiny extension to make more easy the checks in the api, it is a early version but works. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@8590 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
d7005e29e5
commit
3b72a6a4f4
|
@ -1,3 +1,8 @@
|
|||
2013-07-29 Miguel de Dios <miguel.dedios@artica.es>
|
||||
|
||||
* extensions/api_checker.php: a tiny extension to make more easy
|
||||
the checks in the api, it is a early version but works.
|
||||
|
||||
2013-07-29 Sergio Martin <sergio.martin@artica.es>
|
||||
|
||||
* godmode/reporting/reporting_builder.main.php
|
||||
|
|
|
@ -0,0 +1,219 @@
|
|||
<?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 api_execute($url, $ip, $pandora_url, $apipass, $user, $password, $op, $op2, $id, $id2, $return_type, $other, $other_mode) {
|
||||
|
||||
if (empty($url)) {
|
||||
$url = "http://" . $ip . $pandora_url . "/include/api.php";
|
||||
|
||||
$url .= "?";
|
||||
$url .= "apipass=" . $apipass;
|
||||
$url .= "&user=" . $user;
|
||||
$url .= "&pass=" . $password;
|
||||
$url .= "&op=" . $op;
|
||||
$url .= "&op2=" . $op2;
|
||||
if ($id !== '') {
|
||||
$url .= "&id=" . $id;
|
||||
}
|
||||
if ($id2 !== '') {
|
||||
$url .= "&id2=" . $id2;
|
||||
}
|
||||
if ($return_type !== '') {
|
||||
$url .= "&return_type=" . $return_type;
|
||||
}
|
||||
if ($other !== '') {
|
||||
$url .= "&other_mode=" . $other_mode;
|
||||
$url .= "&other=" . $other;
|
||||
}
|
||||
}
|
||||
|
||||
$curlObj = curl_init();
|
||||
curl_setopt($curlObj, CURLOPT_URL, $url);
|
||||
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
|
||||
$result = curl_exec($curlObj);
|
||||
curl_close($curlObj);
|
||||
|
||||
$return = array('url' => $url, 'result' => $result);
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
function extension_api_checker() {
|
||||
global $config;
|
||||
|
||||
$url = io_safe_output(get_parameter('url', ''));
|
||||
|
||||
$ip = io_safe_output(get_parameter('ip', '127.0.0.1'));
|
||||
$pandora_url = io_safe_output(get_parameter('pandora_url', $config['homeurl_static']));
|
||||
$apipass = io_safe_output(get_parameter('apipass', ''));
|
||||
$user = io_safe_output(get_parameter('user', $config['id_user']));
|
||||
$password = io_safe_output(get_parameter('password', ''));
|
||||
|
||||
$op = io_safe_output(get_parameter('op', 'get'));
|
||||
$op2 = io_safe_output(get_parameter('op2', 'test'));
|
||||
$id = io_safe_output(get_parameter('id', ''));
|
||||
$id2 = io_safe_output(get_parameter('id2', ''));
|
||||
$return_type = io_safe_output(get_parameter('return_type', ''));
|
||||
$other = io_safe_output(get_parameter('other', ''));
|
||||
$other_mode = io_safe_output(get_parameter('other', 'url_encode_separator_|'));
|
||||
|
||||
$api_execute = get_parameter('api_execute', 0);
|
||||
|
||||
$return_call_api = '';
|
||||
if ($api_execute) {
|
||||
$return_call_api =
|
||||
api_execute($url, $ip, $pandora_url, $apipass, $user, $password,
|
||||
$op, $op2, $id, $id2, $return_type, $other, $other_mode);
|
||||
}
|
||||
|
||||
ui_print_page_header (__("API checker"),
|
||||
"images/extensions.png", false, "", true, "");
|
||||
|
||||
$table = null;
|
||||
$table->data = array();
|
||||
|
||||
$row = array();
|
||||
$row[] = __("IP");
|
||||
$row[] = html_print_input_text('ip', $ip, '', 50, 255, true);
|
||||
$table->data[] = $row;
|
||||
|
||||
$row = array();
|
||||
$row[] = __("Pandora Console URL");
|
||||
$row[] = html_print_input_text('pandora_url', $pandora_url, '', 50, 255, true);
|
||||
$table->data[] = $row;
|
||||
|
||||
$row = array();
|
||||
$row[] = __("API Pass");
|
||||
$row[] = html_print_input_password('apipass', $apipass, '', 50, 255, true);
|
||||
$table->data[] = $row;
|
||||
|
||||
$row = array();
|
||||
$row[] = __("User");
|
||||
$row[] = html_print_input_text('user', $user, '', 50, 255, true);
|
||||
$table->data[] = $row;
|
||||
|
||||
$row = array();
|
||||
$row[] = __("Password");
|
||||
$row[] = html_print_input_password('password', $password, '', 50, 255, true);
|
||||
$table->data[] = $row;
|
||||
|
||||
$table2 = null;
|
||||
$table2->data = array();
|
||||
|
||||
$row = array();
|
||||
$row[] = __("Action (get or set)");
|
||||
$row[] = html_print_input_text('op', $op, '', 50, 255, true);
|
||||
$table2->data[] = $row;
|
||||
|
||||
$row = array();
|
||||
$row[] = __("Operation");
|
||||
$row[] = html_print_input_text('op2', $op2, '', 50, 255, true);
|
||||
$table2->data[] = $row;
|
||||
|
||||
$row = array();
|
||||
$row[] = __("ID");
|
||||
$row[] = html_print_input_text('id', $id, '', 50, 255, true);
|
||||
$table2->data[] = $row;
|
||||
|
||||
$row = array();
|
||||
$row[] = __("ID 2");
|
||||
$row[] = html_print_input_text('id', $id2, '', 50, 255, true);
|
||||
$table2->data[] = $row;
|
||||
|
||||
$row = array();
|
||||
$row[] = __("Return Type");
|
||||
$row[] = html_print_input_text('return_type', $return_type, '', 50, 255, true);
|
||||
$table2->data[] = $row;
|
||||
|
||||
$row = array();
|
||||
$row[] = __("Other");
|
||||
$row[] = html_print_input_text('other', $other, '', 50, 255, true);
|
||||
$table2->data[] = $row;
|
||||
|
||||
$row = array();
|
||||
$row[] = __("Other Mode");
|
||||
$row[] = html_print_input_text('other_mode', $other_mode, '', 50, 255, true);
|
||||
$table2->data[] = $row;
|
||||
|
||||
$table3 = null;
|
||||
$table3->data = array();
|
||||
|
||||
$row = array();
|
||||
$row[] = __("Raw URL");
|
||||
$row[] = html_print_input_text('url', $url, '', 150, 255, true);
|
||||
$table3->data[] = $row;
|
||||
|
||||
echo "<form method='post'>";
|
||||
echo "<fieldset>";
|
||||
echo "<legend>" . __('Credentials') . "</legend>";
|
||||
html_print_table($table);
|
||||
echo "</fieldset>";
|
||||
|
||||
echo "<fieldset>";
|
||||
echo "<legend>" . __('Call parameters') . "</legend>";
|
||||
html_print_table($table2);
|
||||
echo "</fieldset>";
|
||||
echo "<div style='text-align: right;'>";
|
||||
html_print_input_hidden('api_execute', 1);
|
||||
html_print_submit_button(__('Call'), 'submit', false, 'class="sub"');
|
||||
echo "</div>";
|
||||
echo "</form>";
|
||||
|
||||
|
||||
echo "<form method='post'>";
|
||||
echo "<fieldset>";
|
||||
echo "<legend>" . __('Custom URL') . "</legend>";
|
||||
html_print_table($table3);
|
||||
echo "</fieldset>";
|
||||
|
||||
echo "<div style='text-align: right;'>";
|
||||
html_print_input_hidden('api_execute', 1);
|
||||
html_print_submit_button(__('Call'), 'submit', false, 'class="sub"');
|
||||
echo "</div>";
|
||||
echo "</form>";
|
||||
|
||||
if ($api_execute) {
|
||||
echo "<fieldset>";
|
||||
echo "<legend>" . __('Result') . "</legend>";
|
||||
echo __('URL') . "<br />";
|
||||
html_print_input_password('url', $return_call_api['url'], '', 150, 255, false, true);
|
||||
echo " <a id='show_icon' title='" . __('Show URL') . "' href='javascript: show_url();'>";
|
||||
html_print_image("images/input_zoom.png");
|
||||
echo "</a>";
|
||||
echo "<br />";
|
||||
echo __('Result') . "<br />";
|
||||
html_print_textarea('result', 30, 20, $return_call_api['result'], 'readonly="readonly"');
|
||||
echo "</fieldset>";
|
||||
}
|
||||
?>
|
||||
<script>
|
||||
function show_url() {
|
||||
if ($("#password-url").attr('type') == 'password') {
|
||||
$("#password-url").attr('type', 'text');
|
||||
$("#show_icon").attr('title', '<?php echo __('Hide URL'); ?>');
|
||||
}
|
||||
else {
|
||||
$("#password-url").attr('type', 'password');
|
||||
$("#show_icon").attr('title', '<?php echo __('Show URL'); ?>');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
|
||||
extensions_add_godmode_function('extension_api_checker');
|
||||
extensions_add_godmode_menu_option(__('API checker'), 'PM', 'gsetup', null, "v1r1");
|
||||
?>
|
Loading…
Reference in New Issue