Merge remote-tracking branch 'origin/develop' into ent-4774-welcome-to-pandorafms

This commit is contained in:
fbsanchez 2019-11-13 17:38:24 +01:00
commit 83590146b1
37 changed files with 332 additions and 191 deletions

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix package: pandorafms-agent-unix
Version: 7.0NG.740-191112 Version: 7.0NG.740-191113
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.740-191112" pandora_version="7.0NG.740-191113"
echo "Test if you has the tools for to make the packages." echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null

View File

@ -42,7 +42,7 @@ my $Sem = undef;
my $ThreadSem = undef; my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.740'; use constant AGENT_VERSION => '7.0NG.740';
use constant AGENT_BUILD => '191112'; use constant AGENT_BUILD => '191113';
# Agent log default file size maximum and instances # Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000; use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_agent_unix %define name pandorafms_agent_unix
%define version 7.0NG.740 %define version 7.0NG.740
%define release 191112 %define release 191113
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_agent_unix %define name pandorafms_agent_unix
%define version 7.0NG.740 %define version 7.0NG.740
%define release 191112 %define release 191113
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -10,7 +10,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.740" PI_VERSION="7.0NG.740"
PI_BUILD="191112" PI_BUILD="191113"
OS_NAME=`uname -s` OS_NAME=`uname -s`
FORCE=0 FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{} {}
Version Version
{191112} {191113}
ViewReadme ViewReadme
{Yes} {Yes}

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils; using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1 #define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.740(Build 191112)") #define PANDORA_VERSION ("7.0NG.740(Build 191113)")
string pandora_path; string pandora_path;
string pandora_dir; string pandora_dir;

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Artica ST" VALUE "LegalCopyright", "Artica ST"
VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent" VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.740(Build 191112))" VALUE "ProductVersion", "(7.0NG.740(Build 191113))"
VALUE "FileVersion", "1.0.0.0" VALUE "FileVersion", "1.0.0.0"
END END
END END

View File

@ -1,5 +1,5 @@
package: pandorafms-console package: pandorafms-console
Version: 7.0NG.740-191112 Version: 7.0NG.740-191113
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.740-191112" pandora_version="7.0NG.740-191113"
package_pear=0 package_pear=0
package_pandora=1 package_pandora=1

View File

@ -105,7 +105,7 @@ if (check_login()) {
echo __( echo __(
"This is the online help for %s console. This help is -in best cases- just a brief contextual help, not intented to teach you how to use %s. Official documentation of %s is about 900 pages, and you probably don't need to read it entirely, but sure, you should download it and take a look.<br><br> "This is the online help for %s console. This help is -in best cases- just a brief contextual help, not intented to teach you how to use %s. Official documentation of %s is about 900 pages, and you probably don't need to read it entirely, but sure, you should download it and take a look.<br><br>
<a href='%s' target='_blanck' style='color: #82b92e; font-size: 10pt; text-decoration: underline;'>Download the official documentation</a>", <a href='%s' target='_blanck' class='pandora_green_text' style='font-size: 10pt; text-decoration: underline;'>Download the official documentation</a>",
get_product_name(), get_product_name(),
get_product_name(), get_product_name(),
get_product_name(), get_product_name(),

View File

@ -290,7 +290,7 @@ $table_aux = new stdClass();
foreach ($result_graphs as $graph) { foreach ($result_graphs as $graph) {
$data = []; $data = [];
$data[0] = '<a href="index.php?sec=reporting&sec2=operation/reporting/graph_viewer&view_graph=1&id='.$graph['id_graph'].'">'.ui_print_truncate_text($graph['name'], 70).'</a>'; $data[0] = '<a href="index.php?sec=reporting&sec2=operation/reporting/graph_viewer&view_graph=1&id='.$graph['id_graph'].'">'.ui_print_truncate_text(io_safe_output($graph['name']), 70).'</a>';
$data[1] = ui_print_truncate_text($graph['description'], 70); $data[1] = ui_print_truncate_text($graph['description'], 70);

View File

@ -557,7 +557,7 @@ $row++;
// For 5.1 Autohidden menu feature // For 5.1 Autohidden menu feature
$table_styles->data['autohidden'][0] = __('Autohidden menu'); $table_styles->data['autohidden'][0] = __('Automatically hide submenu');
$table_styles->data['autohidden'][1] = html_print_checkbox_switch( $table_styles->data['autohidden'][1] = html_print_checkbox_switch(
'autohidden_menu', 'autohidden_menu',
1, 1,
@ -1032,6 +1032,12 @@ $row++;
); );
$row++; $row++;
$table_other->data[$row][0] = __('Font size for items reports');
$table_other->data[$row][1] = "<input type ='number' value=".$config['font_size_item_report']." size='1' name='font_size_item_report' min='1' max='9' step='0.1'>";
$row++;
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
$dirItems = scandir($config['homedir'].'/images/custom_logo'); $dirItems = scandir($config['homedir'].'/images/custom_logo');
foreach ($dirItems as $entryDir) { foreach ($dirItems as $entryDir) {

View File

@ -54,6 +54,7 @@ class HelpFeedBack extends Wizard
*/ */
public $ajaxController; public $ajaxController;
/** /**
* Checks if target method is available to be called using AJAX. * Checks if target method is available to be called using AJAX.
* *
@ -61,8 +62,6 @@ class HelpFeedBack extends Wizard
* *
* @return boolean True allowed, false not. * @return boolean True allowed, false not.
*/ */
public function ajaxMethod($method) public function ajaxMethod($method)
{ {
return in_array($method, $this->AJAXMethods); return in_array($method, $this->AJAXMethods);
@ -91,6 +90,7 @@ class HelpFeedBack extends Wizard
*/ */
public function run() public function run()
{ {
ui_require_css_File('discovery');
ui_require_css_file('help_feedback'); ui_require_css_file('help_feedback');
$help_url = get_parameter('url', null); $help_url = get_parameter('url', null);
@ -105,10 +105,15 @@ class HelpFeedBack extends Wizard
<?php <?php
} }
$hidden = '<input type="hidden" value="'.$help_url.'" ';
$hidden .= ' form="feedback_form" name="help_url" />';
echo $hidden;
echo '<div class="help_feedback">'; echo '<div class="help_feedback">';
// Load feedback form. // Load feedback form.
echo $this->loadFeedbackForm(); echo $this->loadFeedbackForm();
echo '</div>'; echo '</div><div id="back" style="display: none"></div>';
} }
@ -123,8 +128,6 @@ class HelpFeedBack extends Wizard
{ {
global $config; global $config;
ui_require_css_file('helper');
$form = [ $form = [
'action' => '#', 'action' => '#',
'id' => 'feedback_form', 'id' => 'feedback_form',
@ -134,35 +137,38 @@ class HelpFeedBack extends Wizard
$inputs = [ $inputs = [
[ [
'wrapper' => 'div', 'wrapper' => 'div',
'block_id' => 'btn_section', 'block_id' => 'flex-row-baseline w100p',
'class' => 'btn_section', 'class' => 'flex-row-baseline w100p',
'direct' => 1, 'direct' => 1,
'block_content' => [ 'block_content' => [
[ [
'arguments' => [ 'arguments' => [
'label' => __('Sugesstion'), 'label' => __('Sugesstion'),
'type' => 'button', 'type' => 'radio_button',
'attributes' => 'class="btn_sug"', 'attributes' => 'class="btn"',
'name' => 'option_1', 'name' => 'suggestion',
'id' => 'option_1', 'id' => 'suggestion',
'script' => 'change_option1()', 'script' => 'disableRadio(\'report\')',
'return' => true,
], ],
], ],
[ [
'arguments' => [ 'arguments' => [
'label' => __('Something is not quite right'), 'label' => __('Something is not quite right'),
'type' => 'button', 'type' => 'radio_button',
'attributes' => 'class="btn_something"', 'attributes' => 'class="btn"',
'name' => 'option_2', 'name' => 'report',
'id' => 'option_2', 'id' => 'report',
'script' => 'change_option2()', 'script' => 'disableRadio(\'suggestion\')',
'return' => true,
], ],
], ],
], ],
], ],
[ [
'label' => __('What Happend?'), 'label' => __('What happened?'),
'class' => 'explain',
'arguments' => [ 'arguments' => [
'class' => 'textarea_feedback', 'class' => 'textarea_feedback',
'id' => 'feedback_text', 'id' => 'feedback_text',
@ -177,7 +183,8 @@ class HelpFeedBack extends Wizard
'name' => 'feedback_email', 'name' => 'feedback_email',
'input_class' => 'email_feedback', 'input_class' => 'email_feedback',
'class' => 'email_feedback', 'class' => 'email_feedback',
'type' => 'text', 'type' => 'email',
'required' => true,
], ],
], ],
[ [
@ -192,21 +199,23 @@ class HelpFeedBack extends Wizard
], ],
]; ];
$output = ui_toggle( $output = ui_print_toggle(
$this->printForm( [
[ 'id' => 'toggle_help_feedback',
'form' => $form, 'content' => $this->printForm(
'inputs' => $inputs, [
], 'form' => $form,
true 'inputs' => $inputs,
), ],
__('Feedback'), true
'', ),
'', 'name' => __('Feedback'),
true, 'return' => true,
false, 'class' => 'no-border',
'', 'img_a' => 'images/arrow_down_white.png',
'no-border' 'img_b' => 'images/arrow_up_white.png',
]
); );
$output .= $this->loadJS(); $output .= $this->loadJS();
@ -222,80 +231,152 @@ class HelpFeedBack extends Wizard
* @param string $feedback_text text mail. * @param string $feedback_text text mail.
* @param string $feedback_mail costumer mail. * @param string $feedback_mail costumer mail.
* *
* @return integer Status of the email send task. * @return void.
*/ */
public function sendMailMethod() public function sendMailMethod()
{ {
$subject = get_parameter('feedback_option', null); $suggestion = get_parameter('type', 'false');
$feedback_text = get_parameter('feedback_text', null); $feedback_text = get_parameter('feedback_text', null);
$feedback_mail = get_parameter('feedback_email', null); $feedback_mail = get_parameter('feedback_email', null);
$help_url = get_parameter('help_url', 'unknown');
$subject; $section = explode('title=', $help_url, 2);
if ($subject === null) { $subject = '';
echo json_encode(['error' => __('No ha seleccionado una opcion')]); if (is_array($section) === true && isset($section[1]) === true) {
$subject = '['.$section[1].']';
}
if ($suggestion !== 'false') {
$subject .= __('[pandorafms wiki] New suggestion');
} else {
$subject .= __('[pandorafms wiki] New report');
}
if (empty($feedback_mail) === true) {
$error = [
'error' => __(
'Please provide your email address, we promise not to bother you'
),
];
}
if (empty($feedback_text) === true) {
if ($suggestion !== 'false') {
$msg = 'Please provide some feedback. Write something awesome!';
} else {
$msg = 'Please provide some feedback. We\'ll appreciate it!';
}
$error = [
'error' => __($msg),
];
}
if ($error !== null) {
echo json_encode($error);
exit; exit;
} }
enterprise_include_once('include/functions_cron.php'); enterprise_include_once('include/functions_cron.php');
$feedback_text .= ' $uid = $config['pandora_uid'];
From '.$feedback_mail.' '; if (empty($uid) === true) {
$uid = 'not registered';
}
$res = enterprise_hook('send_email_attachment', ['feedback@artica.es', $feedback_text, $subject]); $body = '<ul><li><b>User mail</b> '.$feedback_mail.'</li>';
$body .= '<li><b>Console</b> <i>'.$uid.'</i></li>';
$body .= '<li><b>URL</b> '.$help_url.'</li></ul>';
$body .= '<h2>Message</h2>';
$body .= '<p>'.$feedback_text.'</p>';
return $res; $res = enterprise_hook(
'send_email_attachment',
[
'feedback@artica.es',
$body,
$subject,
]
);
// Response.
if ($res == 1) {
$r = ['error' => ''];
} else {
$r = ['error' => __('Something went wrong while sending the report.')];
}
echo json_encode($r);
exit;
} }
/**
* Load extra JS.
*
* @return string JS content.
*/
public function loadJS() public function loadJS()
{ {
ob_start(); ob_start();
?> ?>
<script type="text/javascript"> <script type="text/javascript">
function disableRadio(id) {
var option_selected = ""; $('#'+id).prop('checked', false)
function change_option1() {
option_selected = "<?php echo __('Suggestion'); ?>";
document.getElementById("button-option_1").className = "btn_sug_not_selected";
document.getElementById("button-option_2").className = "btn_sug";
;
} }
function change_option2() {
option_selected = "<?php echo __('Something is not quite rigth'); ?>";
document.getElementById("button-option_2").className = "btn_sug_not_selected";
document.getElementById("button-option_1").className = "btn_sug";
}
// Set values to data. // Set values to data.
$("#feedback_form").on('submit', function() { $("#feedback_form").on('submit', function() {
// Make the AJAX call to send mails. // Make the AJAX call to send mails.
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: "ajax.php", url: "ajax.php",
dataType: "html", dataType: "json",
data: { data: {
page: "<?php echo $this->ajaxController; ?>", page: "<?php echo $this->ajaxController; ?>",
method: 'sendMailMethod', method: 'sendMailMethod',
feedback_option: option_selected, type: $('#suggestion').prop('checked'),
feedback_text: $("textarea[name=feedback_text]").val(), feedback_text: $("textarea[name=feedback_text]").val(),
feedback_email: $("input[name=feedback_email]").val() feedback_email: $("input[name=feedback_email]").val(),
help_url: $("input[name=help_url]").val(),
}, },
success: function (data) { success: function (data) {
console.log(data); var title;
if (data == 1) { var content;
alert('Message sent'); var failed = 0;
var className='submit-next';
if (data.error != "") {
title = '<?php echo __('Failed'); ?>';
content = data.error;
failed = 1;
className='submit-cancel';
} else { } else {
console.error("Error in AJAX call to send help feedback mail") title = '<?php echo __('Success'); ?>';
content = '<?php echo __('Your report had been successfully sent to Artica.').'<br>'.__('Thank you!'); ?>';
} }
$('#back').html(content);
$('#back').dialog({
title: title,
buttons: [
{
class:
"ui-widget ui-state-default ui-corner-all ui-button-text-only sub upd " + className,
text: '<?php echo __('OK'); ?>',
click: function() {
$(this).dialog("close");
if (failed == 0) {
$('#toggle_help_feedback').empty();
}
}
},
]
})
}, },
error: function (data) { error: function (data) {
console.error("Fatal error in AJAX call to send help feedback mail") console.error("Fatal error in AJAX call to send help feedback mail")
} }
}); });
}); });
@ -307,4 +388,3 @@ class HelpFeedBack extends Wizard
} }

View File

@ -20,7 +20,7 @@
/** /**
* Pandora build version and version * Pandora build version and version
*/ */
$build_version = 'PC191112'; $build_version = 'PC191113';
$pandora_version = 'v7.0NG.740'; $pandora_version = 'v7.0NG.740';
// Do not overwrite default timezone set if defined. // Do not overwrite default timezone set if defined.

View File

@ -1281,6 +1281,10 @@ function config_update_config()
} }
// Juanma (06/05/2014) New feature: Custom front page for reports. // Juanma (06/05/2014) New feature: Custom front page for reports.
if (!config_update_value('font_size_item_report', get_parameter('font_size_item_report', 2))) {
$error_update[] = __('Font size for items reports');
}
if (!config_update_value('custom_report_front', get_parameter('custom_report_front'))) { if (!config_update_value('custom_report_front', get_parameter('custom_report_front'))) {
$error_update[] = __('Custom report front'); $error_update[] = __('Custom report front');
} }
@ -2809,6 +2813,10 @@ function config_process_config()
config_update_value('custom_report_front', 0); config_update_value('custom_report_front', 0);
} }
if (!isset($config['font_size_item_report'])) {
config_update_value('font_size_item_report', 2);
}
if (!isset($config['custom_report_front_font'])) { if (!isset($config['custom_report_front_font'])) {
config_update_value('custom_report_front_font', 'FreeSans.ttf'); config_update_value('custom_report_front_font', 'FreeSans.ttf');
} }

View File

@ -2279,33 +2279,47 @@ function html_print_table(&$table, $return=false)
/** /**
* Render a radio button input. Extended version, use html_print_radio_button() to simplify. * Render a radio button input. Extended version, use html_print_input()
* to simplify.
* *
* @param string Input name. * @param string $name Input name.
* @param string Input value. * @param string $value Input value.
* @param string Set the button to be marked (optional, unmarked by default). * @param string $label Set the button to be marked (optional, unmarked by default).
* @param bool Disable the button (optional, button enabled by default). * @param string $checkedvalue Checked value.
* @param string Script to execute when onClick event is triggered (optional). * @param string $disabled Disable the button (optional, button enabled by default).
* @param string Optional HTML attributes. It's a free string which will be * @param string $script Script to execute when onClick event is triggered (optional).
inserted into the HTML tag, use it carefully (optional). * @param string $attributes Optional HTML attributes. It's a free string which will be inserted tag, use it carefully (optional).
* @param bool Whether to return an output string or echo now (optional, echo by default). * @param string $returnparam Whether to return an output string or echo now (optional, echo by default).
* @param string $modalparam Modal param.
* @param string $message Message.
* @param string $id Use custom id.
* *
* @return string HTML code if return parameter is true. * @return string HTML code if return parameter is true.
*/ */
/* function html_print_radio_button_extended(
Hello there! :) $name,
We added some of what seems to be "buggy" messages to the openSource version recently. This is not to force open-source users to move to the enterprise version, this is just to inform people using Pandora FMS open source that it requires skilled people to maintain and keep it running smoothly without professional support. This does not imply open-source version is limited in any way. If you check the recently added code, it contains only warnings and messages, no limitations except one: we removed the option to add custom logo in header. In the Update Manager section, it warns about the 'danger of applying automated updates without a proper backup, remembering in the process that the Enterprise version comes with a human-tested package. Maintaining an OpenSource version with more than 500 agents is not so easy, that's why someone using a Pandora with 8000 agents should consider asking for support. It's not a joke, we know of many setups with a huge number of agents, and we hate to hear that “its becoming unstable and slow” :( $value,
You can of course remove the warnings, that's why we include the source and do not use any kind of trick. And that's why we added here this comment, to let you know this does not reflect any change in our opensource mentality of does the last 14 years. $label,
*/ $checkedvalue,
$disabled,
function html_print_radio_button_extended($name, $value, $label, $checkedvalue, $disabled, $script, $attributes, $return=false, $modal=false, $message='visualmodal') $script,
{ $attributes,
$return=false,
$modal=false,
$message='visualmodal',
$id=null
) {
static $idcounter = 0; static $idcounter = 0;
$output = ''; $output = '';
$output = '<input type="radio" name="'.$name.'" value="'.$value.'"'; $output = '<input type="radio" name="'.$name.'" value="'.$value.'"';
$htmlid = 'radiobtn'.sprintf('%04d', ++$idcounter); if (empty($id) === false) {
$htmlid = $id;
} else {
$htmlid = 'radiobtn'.sprintf('%04d', ++$idcounter);
}
$output .= ' id="'.$htmlid.'"'; $output .= ' id="'.$htmlid.'"';
if ($value == $checkedvalue) { if ($value == $checkedvalue) {
@ -3464,6 +3478,26 @@ function html_print_input($data, $wrapper='div', $input_only=false)
); );
break; break;
case 'radio_button':
$output .= html_print_radio_button_extended(
$data['name'],
$data['value'],
$data['label'],
((isset($data['checkedvalue']) === true) ? $data['checkedvalue'] : 1),
((isset($data['disabled']) === true) ? $data['disabled'] : ''),
((isset($data['script']) === true) ? $data['script'] : ''),
((isset($data['attributes']) === true) ? $data['attributes'] : true),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['modal']) === true) ? $data['modal'] : false),
((isset($data['message']) === true) ? $data['message'] : 'visualmodal'),
((isset($data['id']) === true) ? $data['id'] : null)
);
break;
case 'email':
$output .= html_print_input_email($data);
break;
default: default:
// Ignore. // Ignore.
break; break;

View File

@ -447,7 +447,7 @@ function reporting_html_SLA($table, $item, $mini, $pdf=0)
if ($mini) { if ($mini) {
$font_size = '1.5'; $font_size = '1.5';
} else { } else {
$font_size = '3'; $font_size = $config['font_size_item_report'];
} }
$metaconsole_on = is_metaconsole(); $metaconsole_on = is_metaconsole();
@ -2493,7 +2493,7 @@ function reporting_html_monitor_report($table, $item, $mini, $pdf=0)
if ($mini) { if ($mini) {
$font_size = '1.5'; $font_size = '1.5';
} else { } else {
$font_size = '3'; $font_size = $config['font_size_item_report'];
} }
$table->colspan['module']['cell'] = 3; $table->colspan['module']['cell'] = 3;
@ -2735,10 +2735,12 @@ function reporting_html_min_value(&$table, $item, $mini)
function reporting_html_value(&$table, $item, $mini, $only_value=false, $check_empty=false) function reporting_html_value(&$table, $item, $mini, $only_value=false, $check_empty=false)
{ {
global $config;
if ($mini) { if ($mini) {
$font_size = '1.5'; $font_size = '1.5';
} else { } else {
$font_size = '3'; $font_size = $config['font_size_item_report'];
} }
if (isset($item['visual_format']) && $item['visual_format'] != 0 if (isset($item['visual_format']) && $item['visual_format'] != 0

View File

@ -3535,6 +3535,8 @@ function ui_print_event_priority(
* @param string $toggle_class Toggle class. * @param string $toggle_class Toggle class.
* @param string $container_class Container class. * @param string $container_class Container class.
* @param string $main_class Main object class. * @param string $main_class Main object class.
* @param string $img_a Image (closed).
* @param string $img_b Image (opened).
* *
* @return string HTML. * @return string HTML.
*/ */
@ -3547,20 +3549,22 @@ function ui_toggle(
$return=false, $return=false,
$toggle_class='', $toggle_class='',
$container_class='white-box-content', $container_class='white-box-content',
$main_class='box-shadow white_table_graph' $main_class='box-shadow white_table_graph',
$img_a='images/arrow_down_green.png',
$img_b='images/arrow_right_green.png'
) { ) {
// Generate unique Id. // Generate unique Id.
$uniqid = uniqid(''); $uniqid = uniqid('');
$image_a = html_print_image('images/arrow_down_green.png', true, false, true); $image_a = html_print_image($img_a, true, false, true);
$image_b = html_print_image('images/arrow_right_green.png', true, false, true); $image_b = html_print_image($img_b, true, false, true);
// Options. // Options.
if ($hidden_default) { if ($hidden_default) {
$style = 'display:none'; $style = 'display:none';
$original = 'images/arrow_right_green.png'; $original = $img_b;
} else { } else {
$style = ''; $style = '';
$original = 'images/arrow_down_green.png'; $original = $img_a;
} }
// Link to toggle. // Link to toggle.
@ -3613,6 +3617,31 @@ function ui_toggle(
} }
/**
* Simplified way of ui_toggle ussage.
*
* @param array $data Arguments.
*
* @return string HTML code with toggle content.
*/
function ui_print_toggle($data)
{
return ui_toggle(
$data['content'],
$data['name'],
(isset($data['title']) === true) ? $data['title'] : '',
(isset($data['id']) === true) ? $data['id'] : '',
(isset($data['hidden_default']) === true) ? $data['hidden_default'] : true,
(isset($data['return']) === true) ? $data['return'] : false,
(isset($data['toggle_class']) === true) ? $data['toggle_class'] : '',
(isset($data['container_class']) === true) ? $data['container_class'] : 'white-box-content',
(isset($data['main_class']) === true) ? $data['main_class'] : 'box-shadow white_table_graph',
(isset($data['img_a']) === true) ? $data['img_a'] : 'images/arrow_down_green.png',
(isset($data['img_b']) === true) ? $data['img_b'] : 'images/arrow_right_green.png'
);
}
/** /**
* Construct and return the URL to be used in order to refresh the current page correctly. * Construct and return the URL to be used in order to refresh the current page correctly.
* *

View File

@ -207,6 +207,7 @@ label {
li > input[type="text"], li > input[type="text"],
li > input[type="email"], li > input[type="email"],
li > input[type="password"], li > input[type="password"],
li > input[type="email"],
.discovery_text_input > input[type="password"], .discovery_text_input > input[type="password"],
.discovery_text_input > input[type="text"], .discovery_text_input > input[type="text"],
#interval_manual > input[type="text"] { #interval_manual > input[type="text"] {

View File

@ -4,64 +4,55 @@ body {
height: 100%; height: 100%;
} }
div#main_pure {
background-color: #fefefe;
text-align: left;
margin-bottom: 0px;
margin-top: 0px;
margin-left: 0px;
margin-right: 0px;
width: 100%;
position: static;
}
div.help_feedback { div.help_feedback {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
background: white;
height: auto; height: auto;
width: 365px; background-color: #fff;
padding-left: 10px; right: 3em;
padding-right: 10px;
} }
.btn_sug { .help_feedback label {
margin-right: 10px;
margin-top: 10px;
margin-left: 10px;
font-weight: normal; font-weight: normal;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
font-size: 1.2em;
background-repeat: no-repeat;
background-position: 92% 10px;
color: #000;
padding-bottom: 10px;
padding-top: 10px;
padding-left: 10px;
border: none;
font-family: "lato", "Open Sans", sans-serif;
cursor: pointer;
padding-right: 30px;
} }
.btn_something { .help_feedback * {
margin-top: 10px; font-family: "lato", "courier", sans-serif;
margin-left: 10px; font-size: 8pt;
}
font-weight: normal; .help_feedback .white_table_graph_header {
-moz-border-radius: 2px; background: #82b92e;
-webkit-border-radius: 2px; color: #fff;
border-radius: 2px; }
font-size: 1.2em;
background-repeat: no-repeat; .help_feedback .white_table_graph {
background-position: 92% 10px; margin-bottom: 0;
color: #000; box-shadow: 0px 5px 6px 2px #888;
padding-bottom: 10px; }
padding-top: 10px;
padding-left: 10px; .help_feedback .white-box-content form {
border: none; margin-bottom: 0;
font-family: "lato", "Open Sans", sans-serif; padding: 0;
cursor: pointer; }
padding-right: 30px;
.help_feedback .explain {
margin: 10px auto;
} }
.textarea_feedback { .textarea_feedback {
margin-left: 11px;
max-width: 200px;
margin-top: 10px; margin-top: 10px;
font-weight: bolder;
} }
.email_feedback { .email_feedback {
@ -73,33 +64,14 @@ div.help_feedback {
} }
.btn_submit_feed_back { .btn_submit_feed_back {
margin-right: 50px; margin: 15px 0 0 0;
margin-top: 5px;
margin-bottom: 10px;
} }
.btn_sug_not_selected { .btn {
font-weight: normal; margin: 0 auto;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
font-size: 1.2em;
background-repeat: no-repeat;
background-position: 92% 10px;
color: #000;
padding-bottom: 10px;
padding-top: 10px;
padding-left: 10px;
border: 1px solid #888;
font-family: "lato", "Open Sans", sans-serif;
cursor: pointer; cursor: pointer;
margin-right: 20px;
margin-top: 10px;
margin-left: 10px;
background-image: url(../../images/input_tick.png);
padding-right: 30px;
} }
.btn_section { .flex-row-baseline.w100p label {
display: flex; cursor: pointer;
} }

View File

@ -5928,3 +5928,12 @@ table.table_modal_alternate tr td:first-child {
font-size: 14px; font-size: 14px;
font-weight: bold; font-weight: bold;
} }
/* Generic classes to reuse and facilitate the creation of custom themes */
.pandora_green_text {
color: #82b92e;
}
.pandora_green_bg {
background-color: #82b92e;
}

View File

@ -129,7 +129,7 @@
<div style='height: 10px'> <div style='height: 10px'>
<?php <?php
$version = '7.0NG.740'; $version = '7.0NG.740';
$build = '191112'; $build = '191113';
$banner = "v$version Build $build"; $banner = "v$version Build $build";
error_reporting(0); error_reporting(0);

View File

@ -432,7 +432,7 @@ if (!empty($addresses)) {
// $data_opcional = []; // $data_opcional = [];
$data_opcional[] = '<b>'.__('Other IP addresses').'</b>'; $data_opcional[] = '<b>'.__('Other IP addresses').'</b>';
if (!empty($addresses)) { if (!empty($addresses)) {
$data_opcional[] = '<div style="overflow-y: scroll;">'.implode('<br>', $addresses).'</div>'; $data_opcional[] = '<div style="overflow-y: scroll; max-height:50px;">'.implode('<br>', $addresses).'</div>';
} }
} }

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.740 %define version 7.0NG.740
%define release 191112 %define release 191113
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.740 %define version 7.0NG.740
%define release 191112 %define release 191113
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.740 %define version 7.0NG.740
%define release 191112 %define release 191113
%define httpd_name httpd %define httpd_name httpd
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name apache2 %define httpd_name apache2

View File

@ -1,5 +1,5 @@
package: pandorafms-server package: pandorafms-server
Version: 7.0NG.740-191112 Version: 7.0NG.740-191113
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.740-191112" pandora_version="7.0NG.740-191113"
package_cpan=0 package_cpan=0
package_pandora=1 package_pandora=1

View File

@ -45,7 +45,7 @@ our @EXPORT = qw(
# version: Defines actual version of Pandora Server for this module only # version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.740"; my $pandora_version = "7.0NG.740";
my $pandora_build = "191112"; my $pandora_build = "191113";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
# Setup hash # Setup hash

View File

@ -32,7 +32,7 @@ our @ISA = qw(Exporter);
# version: Defines actual version of Pandora Server for this module only # version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.740"; my $pandora_version = "7.0NG.740";
my $pandora_build = "191112"; my $pandora_build = "191113";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
our %EXPORT_TAGS = ( 'all' => [ qw() ] ); our %EXPORT_TAGS = ( 'all' => [ qw() ] );

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_server %define name pandorafms_server
%define version 7.0NG.740 %define version 7.0NG.740
%define release 191112 %define release 191113
Summary: Pandora FMS Server Summary: Pandora FMS Server
Name: %{name} Name: %{name}

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_server %define name pandorafms_server
%define version 7.0NG.740 %define version 7.0NG.740
%define release 191112 %define release 191113
Summary: Pandora FMS Server Summary: Pandora FMS Server
Name: %{name} Name: %{name}

View File

@ -9,7 +9,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.740" PI_VERSION="7.0NG.740"
PI_BUILD="191112" PI_BUILD="191113"
MODE=$1 MODE=$1
if [ $# -gt 1 ]; then if [ $# -gt 1 ]; then

View File

@ -34,7 +34,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB; use PandoraFMS::DB;
# version: define current version # version: define current version
my $version = "7.0NG.740 PS191112"; my $version = "7.0NG.740 PS191113";
# Pandora server configuration # Pandora server configuration
my %conf; my %conf;

View File

@ -36,7 +36,7 @@ use Encode::Locale;
Encode::Locale::decode_argv; Encode::Locale::decode_argv;
# version: define current version # version: define current version
my $version = "7.0NG.740 PS191112"; my $version = "7.0NG.740 PS191113";
# save program name for logging # save program name for logging
my $progname = basename($0); my $progname = basename($0);