211 lines
7.5 KiB
PHP
211 lines
7.5 KiB
PHP
<?php
|
|
|
|
// Pandora FMS - https://pandorafms.com
|
|
// ==================================================
|
|
// 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 Lesser 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.
|
|
|
|
/**
|
|
* @package Include
|
|
* @subpackage Clippy
|
|
*/
|
|
|
|
|
|
function clippy_start_page_homepage()
|
|
{
|
|
global $config;
|
|
|
|
$clippy_is_annoying = (int) get_cookie('clippy_is_annoying', 0);
|
|
$nagios = (int) get_cookie('nagios', -1);
|
|
|
|
$easter_egg_toy = ($nagios % 6);
|
|
if (($easter_egg_toy == 5)
|
|
|| ($easter_egg_toy == -1)
|
|
) {
|
|
$image = 'images/clippy/clippy.png';
|
|
} else {
|
|
$image = 'images/clippy/easter_egg_0'.$easter_egg_toy.'.png';
|
|
}
|
|
|
|
if ($image != 'easter_egg_04.png') {
|
|
$style = 'display: block; position: absolute; left: -112px; top: -80px;';
|
|
} else {
|
|
$style = 'display: block; position: absolute; left: -200px; top: -80px;';
|
|
}
|
|
|
|
clippy_clean_help();
|
|
|
|
$pandorin_img = html_print_image(
|
|
$image,
|
|
true,
|
|
[
|
|
'id' => 'clippy_toy',
|
|
'onclick' => 'easter_egg_clippy(1);',
|
|
]
|
|
);
|
|
|
|
$pandorin_chkb = html_print_checkbox_extended(
|
|
'clippy_is_annoying',
|
|
1,
|
|
$clippy_is_annoying,
|
|
false,
|
|
'set_clippy_annoying()',
|
|
'',
|
|
true
|
|
);
|
|
|
|
$return_tours = [];
|
|
$return_tours['first_step_by_default'] = true;
|
|
$return_tours['tours'] = [];
|
|
|
|
// ==================================================================
|
|
// Help tour with the some task for to help the user.
|
|
// ------------------------------------------------------------------
|
|
$return_tours['tours']['homepage'] = [];
|
|
$return_tours['tours']['homepage']['steps'] = [];
|
|
$return_tours['tours']['homepage']['steps'][] = [
|
|
'element' => '#clippy',
|
|
'intro' => '<div class="clippy_body left pdd_l_20px pdd_r_20px">'.__('Hi, can I help you?').'<br/><br/>'.__('Let me introduce my self: I am Pandorin, the annoying assistant of %s. You can follow my steps to do basic tasks in %s or you can close me and never see me again.', get_product_name(), get_product_name()).'<br /> <br /> <div class="clippy_body font_7pt">'.$pandorin_chkb.__('Close this wizard and don\'t open it again.').'</div></div><div class="relative"><div id="pandorin" style="'.$style.'">'.$pandorin_img.'</div></div>',
|
|
];
|
|
$return_tours['tours']['homepage']['steps'][] = [
|
|
'element' => '#clippy',
|
|
'intro' => __('Which task would you like to do first?').'<br/><br/><ul class="left mrgn_lft_10px list-type-disc"><li>'."<a href='javascript: clippy_go_link_show_help(\"index.php?sec=gagente&sec2=godmode/agentes/modificar_agente\", \"monitoring_server_step_1\");'>".__('Ping a Linux or Windows server using a %s agent.', get_product_name()).'</a></li><li>'."<a href='javascript: clippy_go_link_show_help(\"index.php\", \"email_alert_module_step_1\");'>".__('Create a alert by email in a critical module.').'</a></li></ul>',
|
|
];
|
|
$return_tours['tours']['homepage']['conf'] = [];
|
|
$return_tours['tours']['homepage']['conf']['show_bullets'] = 0;
|
|
$return_tours['tours']['homepage']['conf']['show_step_numbers'] = 0;
|
|
$return_tours['tours']['homepage']['conf']['name_obj_js_tour'] = 'intro_homepage';
|
|
$return_tours['tours']['homepage']['conf']['other_js'] = "
|
|
var started = 0;
|
|
|
|
function show_clippy() {
|
|
if (intro_homepage.started()) {
|
|
started = 1;
|
|
}
|
|
else {
|
|
started = 0;
|
|
}
|
|
|
|
if (started == 0)
|
|
intro_homepage.start();
|
|
}
|
|
|
|
var nagios = -1;
|
|
function easter_egg_clippy(click) {
|
|
if (readCookie('nagios')) {
|
|
nagios = readCookie('nagios');
|
|
}
|
|
|
|
if (click)
|
|
nagios++;
|
|
|
|
if (nagios > 5) {
|
|
easter_egg_toy = nagios % 6;
|
|
|
|
if ((easter_egg_toy == 5) ||
|
|
(easter_egg_toy == -1)) {
|
|
image = 'images/clippy/clippy.png';
|
|
}
|
|
else {
|
|
image = 'images/clippy/easter_egg_0' + easter_egg_toy + '.png';
|
|
}
|
|
|
|
$('#clippy_toy').attr('src', image);
|
|
if (easter_egg_toy == 4) {
|
|
$('#pandorin').css('left', '-200px');
|
|
}
|
|
else {
|
|
$('#pandorin').css('left', '-112px');
|
|
}
|
|
|
|
document.cookie = 'nagios=' + nagios;
|
|
}
|
|
}
|
|
|
|
function set_clippy_annoying() {
|
|
var now = new Date();
|
|
var time = now.getTime();
|
|
var expireTime = time + 3600000 * 24 * 360 * 20;
|
|
now.setTime(expireTime);
|
|
|
|
checked = $('input[name=\'clippy_is_annoying\']')
|
|
.is(':checked');
|
|
//intro_homepage.exit();
|
|
|
|
if (checked) {
|
|
document.cookie = 'clippy_is_annoying=1;expires=' +
|
|
now.toGMTString() + ';';
|
|
}
|
|
else {
|
|
document.cookie = 'clippy_is_annoying=0;expires=' +
|
|
now.toGMTString() + ';';
|
|
}
|
|
}
|
|
|
|
function readCookie(name) {
|
|
var nameEQ = name + '=';
|
|
var ca = document.cookie.split(';');
|
|
|
|
for(var i=0;i < ca.length;i++) {
|
|
var c = ca[i];
|
|
|
|
while (c.charAt(0)==' ')
|
|
c = c.substring(1,c.length);
|
|
if (c.indexOf(nameEQ) == 0)
|
|
return c.substring(nameEQ.length,c.length);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
";
|
|
if ($config['logged']) {
|
|
$return_tours['tours']['homepage']['conf']['autostart'] = true;
|
|
} else {
|
|
$return_tours['tours']['homepage']['conf']['autostart'] = false;
|
|
}
|
|
|
|
if ($config['tutorial_mode'] == 'on_demand') {
|
|
$return_tours['tours']['homepage']['conf']['autostart'] = false;
|
|
}
|
|
|
|
if ($clippy_is_annoying === 1) {
|
|
$return_tours['tours']['homepage']['conf']['autostart'] = false;
|
|
}
|
|
|
|
// ==================================================================
|
|
// ==================================================================
|
|
// Help tour about the email alert module (step 1)
|
|
// ------------------------------------------------------------------
|
|
$return_tours['tours']['email_alert_module_step_1'] = [];
|
|
$return_tours['tours']['email_alert_module_step_1']['steps'] = [];
|
|
$return_tours['tours']['email_alert_module_step_1']['steps'][] = [
|
|
'element' => '#clippy',
|
|
'intro' => __('The first thing you have to do is to setup the e-mail config on the %s Server.', get_product_name()).'<br />'.ui_print_help_icon('context_pandora_server_email', true, '', 'images/help.png').'<br />'.__('If you have it already configured you can go to the next step.'),
|
|
];
|
|
$return_tours['tours']['email_alert_module_step_1']['steps'][] = [
|
|
'element' => '#icon_god-alerts',
|
|
'position' => 'top',
|
|
'intro' => __('Now, pull down the Manage alerts menu and click on Actions. '),
|
|
];
|
|
$return_tours['tours']['email_alert_module_step_1']['conf'] = [];
|
|
$return_tours['tours']['email_alert_module_step_1']['conf']['show_bullets'] = 0;
|
|
$return_tours['tours']['email_alert_module_step_1']['conf']['show_step_numbers'] = 0;
|
|
|
|
$return_tours['tours']['email_alert_module_step_1']['conf']['complete_js'] = '
|
|
;
|
|
';
|
|
$return_tours['tours']['email_alert_module_step_1']['conf']['exit_js'] = '
|
|
location.reload();
|
|
';
|
|
$return_tours['tours']['email_alert_module_step_1']['conf']['next_help'] = 'email_alert_module_step_2';
|
|
// ==================================================================
|
|
return $return_tours;
|
|
}
|