Merge remote-tracking branch 'origin/develop' into ent-5822-prueba-concepto-modal-selector-de-grupos
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
pandora_console/attachment/agents
|
@ -24,7 +24,7 @@ cd $CODEHOME && tar zcvf $RPMHOME/SOURCES/pandorafms_server-$LOCAL_VERSION.tar.g
|
|||||||
cd $CODEHOME/pandora_agents/shellscript && tar zcvf $RPMHOME/SOURCES/pandorafms_agent-$LOCAL_VERSION.tar.gz --exclude \.exe --exclude \.svn --exclude nohup linux || exit 1
|
cd $CODEHOME/pandora_agents/shellscript && tar zcvf $RPMHOME/SOURCES/pandorafms_agent-$LOCAL_VERSION.tar.gz --exclude \.exe --exclude \.svn --exclude nohup linux || exit 1
|
||||||
|
|
||||||
# Unix agent
|
# Unix agent
|
||||||
cd $CODEHOME/pandora_agents && tar zvcf $RPMHOME/SOURCES/pandorafms_agent_unix-$LOCAL_VERSION.tar.gz --exclude \.exe --exclude \.svn --exclude nohup --exclude NT4 unix || exit 1
|
cd $CODEHOME/pandora_agents && tar zvcf $RPMHOME/SOURCES/pandorafms_agent_unix-$LOCAL_VERSION.tar.gz --exclude \.exe --exclude \.svn --exclude nohup --exclude NT4 --exclude Darwin/dmg unix || exit 1
|
||||||
|
|
||||||
# Enterprise console
|
# Enterprise console
|
||||||
cd $PANDHOME_ENT/pandora_console && tar zcvf $RPMHOME/SOURCES/pandorafms_console_enterprise-$LOCAL_VERSION.tar.gz --exclude \.exe --exclude \.svn enterprise/* || exit 1
|
cd $PANDHOME_ENT/pandora_console && tar zcvf $RPMHOME/SOURCES/pandorafms_console_enterprise-$LOCAL_VERSION.tar.gz --exclude \.exe --exclude \.svn enterprise/* || exit 1
|
||||||
|
@ -57,6 +57,9 @@ AGENT_UNIX_FILE="$CODEHOME/pandora_agents/unix/pandora_agent"
|
|||||||
AGENT_WIN_FILE="$CODEHOME/pandora_agents/win32/pandora.cc"
|
AGENT_WIN_FILE="$CODEHOME/pandora_agents/win32/pandora.cc"
|
||||||
AGENT_WIN_MPI_FILE="$CODEHOME/pandora_agents/win32/installer/pandora.mpi"
|
AGENT_WIN_MPI_FILE="$CODEHOME/pandora_agents/win32/installer/pandora.mpi"
|
||||||
AGENT_WIN_RC_FILE="$CODEHOME/pandora_agents/win32/versioninfo.rc"
|
AGENT_WIN_RC_FILE="$CODEHOME/pandora_agents/win32/versioninfo.rc"
|
||||||
|
AGENT_DARWIN_BUILDER="$CODEHOME/pandora_agents/unix/Darwin/dmg/build_darwin_dmg.sh"
|
||||||
|
AGENT_DARWIN_DISTR="$CODEHOME/pandora_agents/unix/Darwin/dmg/extras/distribution.xml"
|
||||||
|
AGENT_DARWIN_PLIST="$CODEHOME/pandora_agents/unix/Darwin/dmg/files/pandorafms_uninstall/PandoraFMS agent uninstaller.app/Contents/Info.plist"
|
||||||
SATELLITE_FILE="$PANDHOME_ENT/satellite_server/satellite_server.pl"
|
SATELLITE_FILE="$PANDHOME_ENT/satellite_server/satellite_server.pl"
|
||||||
PERL_PLUGIN_FILES="$PANDHOME_ENT/pandora_server/util/recon_script/vmware-plugin.pl \
|
PERL_PLUGIN_FILES="$PANDHOME_ENT/pandora_server/util/recon_script/vmware-plugin.pl \
|
||||||
$PANDHOME_ENT/pandora_server/util/recon_script/pcm_client.pl \
|
$PANDHOME_ENT/pandora_server/util/recon_script/pcm_client.pl \
|
||||||
@ -138,6 +141,14 @@ for file in $INSTALLER_FILES; do
|
|||||||
update_installer_version $file
|
update_installer_version $file
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Darwin dmg installer files
|
||||||
|
echo "Updating DARWIN DMG files..."
|
||||||
|
sed -i -e "/VERSION/s/=.*/=\"$VERSION\"/" "$AGENT_DARWIN_BUILDER"
|
||||||
|
sed -i -r "s/(version=\").*(\"\s+onConclusion=)/\1$VERSION\2/g" "$AGENT_DARWIN_DISTR"
|
||||||
|
sed -i -r "s/(CFBundleVersion<\/key>\s*<string>).*(<\/string>)/\1$VERSION\2/g" "$AGENT_DARWIN_PLIST"
|
||||||
|
sed -i -r "s/(CFBundleShortVersionString<\/key>\s*<string>).*(<\/string>)/\1$VERSION\2/g" "$AGENT_DARWIN_PLIST"
|
||||||
|
sed -i -r "s/(CFBundleGetInfoString<\/key>\s*<string>).*( Pandora FMS)/\1$VERSION\2/g" "$AGENT_DARWIN_PLIST"
|
||||||
|
|
||||||
# Perl plugins files
|
# Perl plugins files
|
||||||
for file in $PERL_PLUGIN_FILES; do
|
for file in $PERL_PLUGIN_FILES; do
|
||||||
echo "Updating plugin file $file..."
|
echo "Updating plugin file $file..."
|
||||||
@ -155,7 +166,7 @@ sed -i -e "s/my\s\s*\$version\s*=.*/my \$version = \"$VERSION PS$BUILD\";/" "$SE
|
|||||||
sed -i -e "s/\s*\#\s*\Version.*/\# Version $VERSION/" "$SERVER_CONF_FILE"
|
sed -i -e "s/\s*\#\s*\Version.*/\# Version $VERSION/" "$SERVER_CONF_FILE"
|
||||||
sed -i -e "s/\s*\!define PRODUCT_VERSION.*/\!define PRODUCT_VERSION \"$VERSION\"/" "$SERVER_WIN_MPI_OPEN_FILE"
|
sed -i -e "s/\s*\!define PRODUCT_VERSION.*/\!define PRODUCT_VERSION \"$VERSION\"/" "$SERVER_WIN_MPI_OPEN_FILE"
|
||||||
sed -i -e "s/\s*\!define PRODUCT_VERSION.*/\!define PRODUCT_VERSION \"$VERSION\"/" "$SERVER_WIN_MPI_ENT_FILE"
|
sed -i -e "s/\s*\!define PRODUCT_VERSION.*/\!define PRODUCT_VERSION \"$VERSION\"/" "$SERVER_WIN_MPI_ENT_FILE"
|
||||||
echo "Updateing Pandora PluginTools version..."
|
echo "Updating Pandora PluginTools version..."
|
||||||
sed -i -e "s/my\s\s*\$pandora_version\s*=.*/my \$pandora_version = \"$VERSION\";/" "$PLUGIN_LIB_FILE"
|
sed -i -e "s/my\s\s*\$pandora_version\s*=.*/my \$pandora_version = \"$VERSION\";/" "$PLUGIN_LIB_FILE"
|
||||||
sed -i -e "s/my\s\s*\$pandora_build\s*=.*/my \$pandora_build = \"$BUILD\";/" "$PLUGIN_LIB_FILE"
|
sed -i -e "s/my\s\s*\$pandora_build\s*=.*/my \$pandora_build = \"$BUILD\";/" "$PLUGIN_LIB_FILE"
|
||||||
|
|
||||||
|
@ -1,53 +1,59 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Fandora FMS - Generate SSH keys step-by-step</title>
|
<title>Fandora FMS - Generate SSH keys step-by-step</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="resource-type" content="document">
|
<meta name="resource-type" content="document" />
|
||||||
<meta name="distribution" content="global">
|
<meta name="distribution" content="global" />
|
||||||
<meta name="author" content="Sancho Lerena, Raul Mateos and others">
|
<meta name="author" content="Sancho Lerena, Raul Mateos and others" />
|
||||||
<meta name="copyright" content="This is GPL software. Created by Sancho Lerena and others">
|
<meta
|
||||||
</head>
|
name="copyright"
|
||||||
<body>
|
content="This is GPL software. Created by Sancho Lerena and others"
|
||||||
<center>
|
/>
|
||||||
<img src="images/logo.png" alt="">
|
</head>
|
||||||
</center>
|
<body>
|
||||||
|
<center>
|
||||||
|
<img src="images/logo.png" alt="" />
|
||||||
|
</center>
|
||||||
|
|
||||||
<h2>Step-by-step generating SSH keys</h2>
|
<h2>Step-by-step generating SSH keys</h2>
|
||||||
|
|
||||||
From
|
From
|
||||||
<a href="http://www.openideas.info/wiki/index.php?title=Pandora:FAQ#How_to_generate_a_pair_of_SSH_keys_for_Pandora_Windows_agent_1.2_.3F">Pandora FMS FAQ</a>.
|
<a
|
||||||
|
href="https://pandorafms.com/docs/index.php?title=Pandora:FAQ#How_to_generate_a_pair_of_SSH_keys_for_Pandora_Windows_agent.3F_.28SSH_Transfer_only.29"
|
||||||
|
>Pandora FMS FAQ</a
|
||||||
|
>.
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li>
|
<li>
|
||||||
Go to <code>.\util</code> of your Pandora FMS agent for Windows
|
Go to <code>.\util</code> of your Pandora FMS agent for Windows and run
|
||||||
and run <code>puttygen.exe</code>.<br>
|
<code>puttygen.exe</code>.<br />
|
||||||
Generate keys, SSH-2_DSA, 1024:<br><br>
|
Generate keys, SSH-2_DSA, 1024:<br /><br />
|
||||||
<img src="images/1.jpg"><br><br>
|
<img src="images/1.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Press Generate<br>
|
Press Generate<br />
|
||||||
Export key to OpenSSH key (Cygwin uses a port of OpenSSH)<br><br>
|
Export key to OpenSSH key (Cygwin uses a port of OpenSSH)<br /><br />
|
||||||
<img src="images/2.jpg"><br><br>
|
<img src="images/2.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
We have no chosen password, so press YES:<br><br>
|
We have no chosen password, so press YES:<br /><br />
|
||||||
<img src="images/3.jpg"><br><br>
|
<img src="images/3.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Save it as <code>c:\pandora\keys\id_dsa:</code><br><br>
|
Save it as <code>c:\pandora\keys\id_dsa:</code><br /><br />
|
||||||
<img src="images/4.jpg"><br><br>
|
<img src="images/4.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Now let's copy the public key to clipboard:<br><br>
|
Now let's copy the public key to clipboard:<br /><br />
|
||||||
<img src="images/5.jpg"><br><br>
|
<img src="images/5.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
and paste it as <code>c:\pandora_agent\keys\id_dsa.pub</code>,
|
and paste it as <code>c:\pandora_agent\keys\id_dsa.pub</code>, and also
|
||||||
and also to the <code>/home/pandora/.ssh/authorized_keys</code> file.
|
to the <code>/home/pandora/.ssh/authorized_keys</code> file.
|
||||||
<br><br>
|
<br /><br />
|
||||||
<img src="images/6.jpg"><br><br>
|
<img src="images/6.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,53 +1,62 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Pandora FMS - Generación de claves SSH en Windows paso por paso</title>
|
<title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
Pandora FMS - Generación de claves SSH en Windows paso por paso
|
||||||
<meta name="resource-type" content="document">
|
</title>
|
||||||
<meta name="distribution" content="global">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="author" content="Sancho Lerena, Raul Mateos y otros">
|
<meta name="resource-type" content="document" />
|
||||||
<meta name="copyright" content="This is GPL software. Created by Sancho Lerena and others">
|
<meta name="distribution" content="global" />
|
||||||
</head>
|
<meta name="author" content="Sancho Lerena, Raul Mateos y otros" />
|
||||||
<body>
|
<meta
|
||||||
<center>
|
name="copyright"
|
||||||
<img src="images/logo.png" alt="">
|
content="This is GPL software. Created by Sancho Lerena and others"
|
||||||
</center>
|
/>
|
||||||
<h2 class="print">Generación de claves SSH en Windows paso por paso</h2>
|
</head>
|
||||||
|
<body>
|
||||||
|
<center>
|
||||||
|
<img src="images/logo.png" alt="" />
|
||||||
|
</center>
|
||||||
|
<h2 class="print">Generación de claves SSH en Windows paso por paso</h2>
|
||||||
|
|
||||||
Extraído de las
|
Extraído de las
|
||||||
<a href="http://www.openideas.info/wiki/index.php?title=Pandora:FAQ_ES#.C2.BF_C.C3.B3mo_puedo_generar_un_par_de_claves_SHH_para_el_agente_para_Windows_1.2_.3F">
|
<a
|
||||||
FAQ</a>.
|
href="https://pandorafms.com/docs/index.php?title=Pandora:FAQ_ES#.C2.BFC.C3.B3mo_puedo_generar_un_par_de_claves_SHH_para_el_agente_para_Windows_.28SSH_Transfer.29_.3F"
|
||||||
|
>
|
||||||
|
FAQ</a
|
||||||
|
>.
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li>
|
<li>
|
||||||
Desde el directorio <code>.\util</code> del agente Pandora FMS para
|
Desde el directorio <code>.\util</code> del agente Pandora FMS para
|
||||||
windows ejecutamos <code>puttygen.exe</code>.<br>
|
windows ejecutamos <code>puttygen.exe</code>.<br />
|
||||||
Generamos claves SSH-2_DSA, 1024:<br><br>
|
Generamos claves SSH-2_DSA, 1024:<br /><br />
|
||||||
<img src="images/1.jpg"><br><br>
|
<img src="images/1.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Pulsamos «Generate»
|
Pulsamos «Generate» para generar la clave.<br />
|
||||||
para generar la clave.<br>
|
Exportamos la clave a formato OpenSSH<br /><br />
|
||||||
Exportamos la clave a formato OpenSSH<br><br>
|
<img src="images/2.jpg" /><br /><br />
|
||||||
<img src="images/2.jpg"><br><br>
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
No elegimos contraseña, con lo cual pulsamos «Sí»:<br><br>
|
No elegimos contraseña, con lo cual pulsamos «Sí»:<br /><br />
|
||||||
<img src="images/3.jpg"><br><br>
|
<img src="images/3.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Guardamos la clave como <code>C:\pandora\keys\id_dsa:</code><br><br>
|
Guardamos la clave como <code>C:\pandora\keys\id_dsa:</code><br /><br />
|
||||||
<img src="images/4.jpg"><br><br>
|
<img src="images/4.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Ahora copiamos la clave pública al portapapeles:<br><br>
|
Ahora copiamos la clave pública al portapapeles:<br /><br />
|
||||||
<img src="images/5.jpg"><br><br>
|
<img src="images/5.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Pegamos la clave en un nuevo fichero <code>C:\pandora_agent\keys\id_dsa.pub</code>,
|
Pegamos la clave en un nuevo fichero
|
||||||
y debemos también añadirla al fichero <code>/home/pandora/.ssh/authorized_keys</code>.
|
<code>C:\pandora_agent\keys\id_dsa.pub</code>, y debemos también
|
||||||
<br><br>
|
añadirla al fichero <code>/home/pandora/.ssh/authorized_keys</code>.
|
||||||
<img src="images/6.jpg"><br><br>
|
<br /><br />
|
||||||
|
<img src="images/6.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</body></html>
|
</body>
|
||||||
|
</html>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
||||||
# Copyright (c) 2007-2008 Artica Soluciones Tecnologicas S.L.
|
# Copyright (c) 2007-2008 Artica Soluciones Tecnologicas S.L.
|
||||||
#
|
#
|
||||||
# tentacle_client.pl Tentacle Client. See http://www.openideas.info/wiki for
|
# tentacle_client.pl Tentacle Client. See https://pandorafms.com/docs/ for
|
||||||
# protocol description.
|
# protocol description.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@ -155,7 +155,7 @@ my $t_zip = 0;
|
|||||||
sub print_help {
|
sub print_help {
|
||||||
|
|
||||||
print ("Usage: $0 [options] [file] [file] ...\n\n");
|
print ("Usage: $0 [options] [file] [file] ...\n\n");
|
||||||
print ("Tentacle client v$VERSION. See http://www.openideas.info/wiki for protocol description.\n\n");
|
print ("Tentacle client v$VERSION. See https://pandorafms.com/docs/ for protocol description.\n\n");
|
||||||
print ("Options:\n");
|
print ("Options:\n");
|
||||||
print ("\t-a address\tServer address (default $t_address).\n");
|
print ("\t-a address\tServer address (default $t_address).\n");
|
||||||
print ("\t-b localaddress\tLocal address to bind.\n");
|
print ("\t-b localaddress\tLocal address to bind.\n");
|
||||||
@ -1091,7 +1091,7 @@ This is released under the GNU Lesser General Public License.
|
|||||||
|
|
||||||
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<File::Basename>
|
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<File::Basename>
|
||||||
|
|
||||||
Protocol description and more info at: L<< http://openideas.info/wiki/index.php?title=Tentacle >>
|
Protocol description and more info at: L<< https://pandorafms.com/docs/index.php?title=Pandora:Documentation_en:Tentacle >>
|
||||||
|
|
||||||
=head1 COPYRIGHT
|
=head1 COPYRIGHT
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# Tentacle Server
|
# Tentacle Server
|
||||||
# See http://www.openideas.info/wiki for protocol description.
|
# See https://pandorafms.com/docs/ for protocol description.
|
||||||
# Tentacle have IANA assigned port tpc/41121 as official port.
|
# Tentacle have IANA assigned port tpc/41121 as official port.
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
||||||
# Copyright (c) 2005-2010 Artica Soluciones Tecnologicas S.L
|
# Copyright (c) 2005-2010 Artica Soluciones Tecnologicas S.L
|
||||||
#
|
#
|
||||||
# tentacle_server.pl Tentacle Server. See http://www.openideas.info/wiki for
|
# tentacle_server.pl Tentacle Server. See https://pandorafms.com/docs/ for
|
||||||
# protocol description.
|
# protocol description.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@ -211,7 +211,7 @@ sub print_help {
|
|||||||
$" = ',';
|
$" = ',';
|
||||||
|
|
||||||
print ("Usage: $0 -s <storage directory> [options]\n\n");
|
print ("Usage: $0 -s <storage directory> [options]\n\n");
|
||||||
print ("Tentacle server v$VERSION. See http://www.openideas.info/wiki for protocol description.\n\n");
|
print ("Tentacle server v$VERSION. See https://pandorafms.com/docs/ for protocol description.\n\n");
|
||||||
print ("Options:\n");
|
print ("Options:\n");
|
||||||
print ("\t-a ip_addresses\tIP addresses to listen on (default @t_addresses).\n");
|
print ("\t-a ip_addresses\tIP addresses to listen on (default @t_addresses).\n");
|
||||||
print ("\t \t(Multiple addresses separated by comma can be defined.)\n");
|
print ("\t \t(Multiple addresses separated by comma can be defined.)\n");
|
||||||
@ -1859,7 +1859,7 @@ This is released under the GNU Lesser General Public License.
|
|||||||
|
|
||||||
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<Thread::Semaphore>, L<POSIX>
|
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<Thread::Semaphore>, L<POSIX>
|
||||||
|
|
||||||
Protocol description and more info at: L<< http://openideas.info/wiki/index.php?title=Tentacle >>
|
Protocol description and more info at: L<< https://pandorafms.com/docs/index.php?title=Pandora:Documentation_en:Tentacle >>
|
||||||
|
|
||||||
=head1 COPYRIGHT
|
=head1 COPYRIGHT
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
||||||
# Copyright (c) 2007-2008 Artica Soluciones Tecnologicas S.L.
|
# Copyright (c) 2007-2008 Artica Soluciones Tecnologicas S.L.
|
||||||
#
|
#
|
||||||
# tentacle_client.pl Tentacle Client. See http://www.openideas.info/wiki for
|
# tentacle_client.pl Tentacle Client. See https://pandorafms.com/docs/ for
|
||||||
# protocol description.
|
# protocol description.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@ -155,7 +155,7 @@ my $t_zip = 0;
|
|||||||
sub print_help {
|
sub print_help {
|
||||||
|
|
||||||
print ("Usage: $0 [options] [file] [file] ...\n\n");
|
print ("Usage: $0 [options] [file] [file] ...\n\n");
|
||||||
print ("Tentacle client v$VERSION. See http://www.openideas.info/wiki for protocol description.\n\n");
|
print ("Tentacle client v$VERSION. See https://pandorafms.com/docs/ for protocol description.\n\n");
|
||||||
print ("Options:\n");
|
print ("Options:\n");
|
||||||
print ("\t-a address\tServer address (default $t_address).\n");
|
print ("\t-a address\tServer address (default $t_address).\n");
|
||||||
print ("\t-b localaddress\tLocal address to bind.\n");
|
print ("\t-b localaddress\tLocal address to bind.\n");
|
||||||
@ -1091,7 +1091,7 @@ This is released under the GNU Lesser General Public License.
|
|||||||
|
|
||||||
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<File::Basename>
|
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<File::Basename>
|
||||||
|
|
||||||
Protocol description and more info at: L<< http://openideas.info/wiki/index.php?title=Tentacle >>
|
Protocol description and more info at: L<< https://pandorafms.com/docs/index.php?title=Pandora:Documentation_en:Tentacle >>
|
||||||
|
|
||||||
=head1 COPYRIGHT
|
=head1 COPYRIGHT
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
||||||
# Copyright (c) 2007-2008 Artica Soluciones Tecnologicas S.L.
|
# Copyright (c) 2007-2008 Artica Soluciones Tecnologicas S.L.
|
||||||
#
|
#
|
||||||
# tentacle_client.pl Tentacle Client. See http://www.openideas.info/wiki for
|
# tentacle_client.pl Tentacle Client. See https://pandorafms.com/docs/ for
|
||||||
# protocol description.
|
# protocol description.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@ -155,7 +155,7 @@ my $t_zip = 0;
|
|||||||
sub print_help {
|
sub print_help {
|
||||||
|
|
||||||
print ("Usage: $0 [options] [file] [file] ...\n\n");
|
print ("Usage: $0 [options] [file] [file] ...\n\n");
|
||||||
print ("Tentacle client v$VERSION. See http://www.openideas.info/wiki for protocol description.\n\n");
|
print ("Tentacle client v$VERSION. See https://pandorafms.com/docs/ for protocol description.\n\n");
|
||||||
print ("Options:\n");
|
print ("Options:\n");
|
||||||
print ("\t-a address\tServer address (default $t_address).\n");
|
print ("\t-a address\tServer address (default $t_address).\n");
|
||||||
print ("\t-b localaddress\tLocal address to bind.\n");
|
print ("\t-b localaddress\tLocal address to bind.\n");
|
||||||
@ -1091,7 +1091,7 @@ This is released under the GNU Lesser General Public License.
|
|||||||
|
|
||||||
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<File::Basename>
|
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<File::Basename>
|
||||||
|
|
||||||
Protocol description and more info at: L<< http://openideas.info/wiki/index.php?title=Tentacle >>
|
Protocol description and more info at: L<< https://pandorafms.com/docs/index.php?title=Pandora:Documentation_en:Tentacle >>
|
||||||
|
|
||||||
=head1 COPYRIGHT
|
=head1 COPYRIGHT
|
||||||
|
|
||||||
|
@ -99,6 +99,12 @@ transfer_mode tentacle
|
|||||||
# Proxy timeout (by default 1s)
|
# Proxy timeout (by default 1s)
|
||||||
# proxy_timeout 1
|
# proxy_timeout 1
|
||||||
|
|
||||||
|
# Address the proxy will listen on.
|
||||||
|
#proxy_address 0.0.0.0
|
||||||
|
|
||||||
|
# Port the proxy will listen on.
|
||||||
|
#proxy_port 41121
|
||||||
|
|
||||||
# User the agent will run as
|
# User the agent will run as
|
||||||
#pandora_user root
|
#pandora_user root
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-agent-unix
|
package: pandorafms-agent-unix
|
||||||
Version: 7.0NG.749-200914
|
Version: 7.0NG.749-200929
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -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.749-200914"
|
pandora_version="7.0NG.749-200929"
|
||||||
|
|
||||||
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
|
||||||
|
@ -6,13 +6,16 @@
|
|||||||
<string>com.pandorafms.pandorafms</string>
|
<string>com.pandorafms.pandorafms</string>
|
||||||
<key>ProgramArguments</key>
|
<key>ProgramArguments</key>
|
||||||
<array>
|
<array>
|
||||||
<string>/usr/bin/pandora_agent</string>
|
<string>/usr/local/bin/pandora_agent</string>
|
||||||
<string>/etc/pandora</string>
|
<string>/etc/pandora</string>
|
||||||
</array>
|
</array>
|
||||||
|
<key>EnvironmentVariables</key>
|
||||||
|
<dict>
|
||||||
|
<key>PATH</key>
|
||||||
|
<string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Library/Apple/bin</string>
|
||||||
|
</dict>
|
||||||
<key>RunAtLoad</key>
|
<key>RunAtLoad</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>ServiceDescription</key>
|
|
||||||
<string>PandoraFMS agent</string>
|
|
||||||
<key>UserName</key>
|
<key>UserName</key>
|
||||||
<string>root</string>
|
<string>root</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
14
pandora_agents/unix/Darwin/dmg/HOWTO.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
### DMG Agent compilation for MacOS
|
||||||
|
|
||||||
|
1. Move to the dmg directory, where build_darwin_dmg.sh is located
|
||||||
|
# cd /<code-path>/pandorafms/pandora_agents/unix/Darwin/dmg/HOWTO.txt
|
||||||
|
|
||||||
|
2. Run the script. It has three optional arguments. In this order:
|
||||||
|
- DMG package name.
|
||||||
|
By default is "Pandora FMS MacOS agent"
|
||||||
|
- DMG package version.
|
||||||
|
It uses the current version by default (e.g. "7.NG.748")
|
||||||
|
- Build path, where temporary files and final .dmg will be created.
|
||||||
|
By default /root/code/pandorafms/pandora_agents/unix/Darwin/dmg (it creates "build" and "buildtmp" folders, deletes buildtmp when finished)
|
||||||
|
|
||||||
|
3. The script should return "SUCCESS: DMG file created at XXXX" when finished.
|
105
pandora_agents/unix/Darwin/dmg/build_darwin_dmg.sh
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Restore the original working directory and exit.
|
||||||
|
function error {
|
||||||
|
popd >/dev/null 2>&1
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Keeping this for future CICD integration
|
||||||
|
if [ "$CI_PROJECT_DIR" != "" ]; then
|
||||||
|
LOCALINST="$CODEHOME/pandora_agents/unix/Darwin/dmg"
|
||||||
|
else
|
||||||
|
LOCALINST="/root/code/pandorafms/pandora_agents/unix/Darwin/dmg"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# DMG package name
|
||||||
|
if [ "$#" -ge 1 ]; then
|
||||||
|
DMGNAME="$1"
|
||||||
|
else
|
||||||
|
DMGNAME="Pandora FMS MacOS agent"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# DMG package version
|
||||||
|
if [ "$#" -ge 2 ]; then
|
||||||
|
VERSION="7.0NG.749"
|
||||||
|
else
|
||||||
|
VERSION="7.0NG.749"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Path for the generated DMG file
|
||||||
|
if [ "$#" -ge 3 ]; then
|
||||||
|
BUILD_PATH="$3"
|
||||||
|
else
|
||||||
|
BUILD_PATH="/root/code/pandorafms/pandora_agents/unix/Darwin/dmg"
|
||||||
|
fi
|
||||||
|
|
||||||
|
BUILD_DMG="$BUILD_PATH/build"
|
||||||
|
BUILD_TMP="$BUILD_PATH/buildtmp"
|
||||||
|
|
||||||
|
FULLNAME="7.0NG.749"
|
||||||
|
echo "VERSION-"$VERSION" NAME-"$DMGNAME
|
||||||
|
pushd .
|
||||||
|
cd $LOCALINST
|
||||||
|
|
||||||
|
# Copy necessary files to installer
|
||||||
|
cp ../com.pandorafms.pandorafms.plist files/pandorafms/
|
||||||
|
cp ../../../../pandora_agents/unix/pandora* files/pandorafms/
|
||||||
|
cp ../../../../pandora_agents/unix/tentacle* files/pandorafms/
|
||||||
|
cp -R ../../../../pandora_agents/unix/plugins files/pandorafms/
|
||||||
|
cp -R ../../../../pandora_agents/unix/man files/pandorafms/
|
||||||
|
cp -R ../../../../pandora_agents/unix/Darwin/pandora_agent.conf files/pandorafms/
|
||||||
|
mkdir $BUILD_DMG
|
||||||
|
mkdir $BUILD_TMP
|
||||||
|
|
||||||
|
# Build pandorafms agent component
|
||||||
|
pkgbuild --root files/pandorafms/ \
|
||||||
|
--identifier com.pandorafms.pandorafms_src \
|
||||||
|
--version $VERSION \
|
||||||
|
--scripts scripts \
|
||||||
|
--install-location /usr/local/share/pandora_agent/ \
|
||||||
|
$BUILD_TMP/pandorafms_src.pdk || error
|
||||||
|
|
||||||
|
# Build pandorafms uninstaller app
|
||||||
|
pkgbuild --root files/pandorafms_uninstall/ \
|
||||||
|
--component-plist extras/pandorafms_uninstall.plist \
|
||||||
|
--install-location /Applications \
|
||||||
|
$BUILD_TMP/pandorafms_uninstall.pdk || error
|
||||||
|
|
||||||
|
# Put it together into a single pkg
|
||||||
|
productbuild --distribution extras/distribution.xml \
|
||||||
|
--package-path $BUILD_TMP \
|
||||||
|
--resources resources \
|
||||||
|
--scripts scripts \
|
||||||
|
--version "$VERSION" \
|
||||||
|
$BUILD_TMP/pandorafms_agent.pkg || error
|
||||||
|
|
||||||
|
# Clean and prepare dmg creation
|
||||||
|
rm $BUILD_TMP/pandorafms_src.pdk
|
||||||
|
rm $BUILD_TMP/pandorafms_uninstall.pdk
|
||||||
|
|
||||||
|
#Create dmg file
|
||||||
|
hdiutil create -volname "Pandora FMS agent installer" \
|
||||||
|
-srcfolder "$BUILD_TMP" \
|
||||||
|
-ov -format UDZO \
|
||||||
|
"$BUILD_DMG/$FULLNAME" || error
|
||||||
|
|
||||||
|
#Change the icon to dmg
|
||||||
|
sips -i extras/pandora_installer.png || error
|
||||||
|
DeRez -only icns extras/pandora_installer.png > tmpicns.rsrc || error
|
||||||
|
Rez -append tmpicns.rsrc -o "$BUILD_DMG/$FULLNAME" || error
|
||||||
|
SetFile -a C "$BUILD_DMG/$FULLNAME" || error
|
||||||
|
|
||||||
|
|
||||||
|
# Copy and clean folder
|
||||||
|
rm -Rf $BUILD_TMP
|
||||||
|
rm -Rf files/pandorafms/*pandora*
|
||||||
|
rm -Rf files/pandorafms/*tentacle*
|
||||||
|
rm -Rf files/pandorafms/plugins
|
||||||
|
rm -Rf files/pandorafms/man
|
||||||
|
rm -f files/pandorafms/README
|
||||||
|
rm -f tmpicns.rsrc
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
printf "\nSUCCESS: DMG file created at \"$BUILD_DMG/$FULLNAME\"\n"
|
33
pandora_agents/unix/Darwin/dmg/extras/distribution.xml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<installer-gui-script minSpecVersion="1">
|
||||||
|
<pkg-ref id="com.pandorafms.pandorafms_src"/>
|
||||||
|
<title>Pandora FMS Agent installer for MacOS</title>
|
||||||
|
<welcome file="text/welcome.html" />
|
||||||
|
<!-- <readme file="text/readme.html" /> -->
|
||||||
|
<license file="text/license.html" />
|
||||||
|
<conclusion file="text/conclusion.html" />
|
||||||
|
<background file="images/pfms_background_darwin.png" alignment="bottomleft" scaling="none" mime-type="image/png" uti="public.png" />
|
||||||
|
<options customize="never" allow-external-scripts="true" rootVolumeOnly="true"/>
|
||||||
|
<!-- <options customize="never" allow-external-scripts="true"/> -->
|
||||||
|
<choices-outline>
|
||||||
|
<line choice="default">
|
||||||
|
<line choice="com.pandorafms.pandorafms_src"/>
|
||||||
|
<line choice="com.pandorafms.pandorafms_uninstall"/>
|
||||||
|
</line>
|
||||||
|
</choices-outline>
|
||||||
|
<choice id="default"/>
|
||||||
|
<choice id="com.pandorafms.pandorafms_src" visible="false">
|
||||||
|
<pkg-ref id="com.pandorafms.pandorafms_src"/>
|
||||||
|
</choice>
|
||||||
|
<pkg-ref id="com.pandorafms.pandorafms_src" version="7.0NG.749" onConclusion="none">pandorafms_src.pdk</pkg-ref>
|
||||||
|
<choice id="com.pandorafms.pandorafms_uninstall" visible="true" customLocation="/Applications">
|
||||||
|
<pkg-ref id="com.pandorafms.pandorafms_uninstall"/>
|
||||||
|
</choice>
|
||||||
|
<pkg-ref id="com.pandorafms.pandorafms_uninstall" version="7.0NG.749" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref>
|
||||||
|
<!-- <installation-check script="check()" />
|
||||||
|
<script>
|
||||||
|
<![CDATA[
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
-->
|
||||||
|
</installer-gui-script>
|
BIN
pandora_agents/unix/Darwin/dmg/extras/pandora_installer.png
Normal file
After Width: | Height: | Size: 33 KiB |
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>BundleHasStrictIdentifier</key>
|
||||||
|
<true/>
|
||||||
|
<key>BundleIsRelocatable</key>
|
||||||
|
<false/>
|
||||||
|
<key>BundleIsVersionChecked</key>
|
||||||
|
<true/>
|
||||||
|
<key>BundleOverwriteAction</key>
|
||||||
|
<string>upgrade</string>
|
||||||
|
<key>RootRelativeBundlePath</key>
|
||||||
|
<string>PandoraFMS agent uninstaller.app</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
</plist>
|
@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/osascript
|
||||||
|
|
||||||
|
set first_time to 1
|
||||||
|
set text_display to "Please set your Pandora FMS IP address:"
|
||||||
|
|
||||||
|
repeat
|
||||||
|
if (first_time = 1) then
|
||||||
|
set text_display to "You can set a specific group for this agent (must exist in Pandora):"
|
||||||
|
end if
|
||||||
|
set my_group to display dialog ¬
|
||||||
|
text_display with title ¬
|
||||||
|
"Target group" default answer "Servers" ¬
|
||||||
|
buttons {"Continue"} ¬
|
||||||
|
default button "Continue"
|
||||||
|
if ((text returned of my_group) = "") then
|
||||||
|
set first_time to 0
|
||||||
|
else
|
||||||
|
exit repeat
|
||||||
|
end if
|
||||||
|
end repeat
|
||||||
|
|
||||||
|
return (text returned of my_group)
|
@ -0,0 +1,23 @@
|
|||||||
|
#!/usr/bin/osascript
|
||||||
|
|
||||||
|
set first_time to 1
|
||||||
|
set text_display to "Enable remote config for this agent?"
|
||||||
|
|
||||||
|
repeat
|
||||||
|
if (first_time = 1) then
|
||||||
|
set text_display to "Enable remote config for this agent? (Enterprise only)"
|
||||||
|
end if
|
||||||
|
set my_remotecfg to display dialog ¬
|
||||||
|
text_display with title ¬
|
||||||
|
"Remote config" ¬
|
||||||
|
buttons {"No", "Yes"} ¬
|
||||||
|
default button "Yes"
|
||||||
|
if (button returned of my_remotecfg) is "Yes" then
|
||||||
|
set remote_config to "1"
|
||||||
|
else
|
||||||
|
set remote_config to "0"
|
||||||
|
end if
|
||||||
|
exit repeat
|
||||||
|
end repeat
|
||||||
|
|
||||||
|
return (remote_config)
|
@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/osascript
|
||||||
|
|
||||||
|
set first_time to 1
|
||||||
|
set text_display to "Please set your Pandora FMS IP address:"
|
||||||
|
|
||||||
|
repeat
|
||||||
|
if (first_time = 1) then
|
||||||
|
set text_display to "Please set your Pandora FMS IP address:"
|
||||||
|
end if
|
||||||
|
set my_serverip to display dialog ¬
|
||||||
|
text_display with title ¬
|
||||||
|
"Pandora FMS Server address" default answer "localhost" ¬
|
||||||
|
buttons {"Continue"} ¬
|
||||||
|
default button "Continue"
|
||||||
|
if ((text returned of my_serverip) = "") then
|
||||||
|
set first_time to 0
|
||||||
|
else
|
||||||
|
exit repeat
|
||||||
|
end if
|
||||||
|
end repeat
|
||||||
|
|
||||||
|
return (text returned of my_serverip)
|
@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
my ($CONF_FILE, $token, $value) = @ARGV;
|
||||||
|
exit unless defined ($value);
|
||||||
|
exit unless -e $CONF_FILE;
|
||||||
|
|
||||||
|
open(my $fh, '<', $CONF_FILE) or die($!);
|
||||||
|
my @lines = <$fh>;
|
||||||
|
close ($fh);
|
||||||
|
|
||||||
|
# Set the new value for the configuration token.
|
||||||
|
my $found = 0;
|
||||||
|
for(my $i = 0; $i < $#lines; $i++) {
|
||||||
|
if ($lines[$i] =~ m/[#\s]*$token/) {
|
||||||
|
$lines[$i] = "$token $value\n";
|
||||||
|
$found = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Append the token to the end if it was not found in the file.
|
||||||
|
if ($found == 0) {
|
||||||
|
push(@lines, "$token $value\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
# Write the changes to the configuration file.
|
||||||
|
open($fh, '>', $CONF_FILE) or die($!);
|
||||||
|
print $fh @lines;
|
||||||
|
close($fh);
|
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>CFBundlePackageType</key><string>APPL</string><key>CFBundleInfoDictionaryVersion</key><string>6.0</string>
|
||||||
|
|
||||||
|
<key>CFBundleName</key> <string>PandoraFMS agent uninstaller</string>
|
||||||
|
<key>CFBundleExecutable</key> <string>uninstall.sh</string>
|
||||||
|
<key>CFBundleIconFile</key> <string>pandorafms.icns</string>
|
||||||
|
<key>CFBundleIdentifier</key> <string>com.pandorafms.pandorafms_uninstall</string>
|
||||||
|
|
||||||
|
<key>CFBundleVersion</key> <string>7.0NG.749</string>
|
||||||
|
<key>CFBundleGetInfoString</key> <string>7.0NG.749 Pandora FMS Agent uninstaller for MacOS by Artica ST on Aug 2020</string>
|
||||||
|
<key>CFBundleShortVersionString</key> <string>7.0NG.749</string>
|
||||||
|
|
||||||
|
<key>NSPrincipalClass</key><string>NSApplication</string>
|
||||||
|
<key>NSMainNibFile</key><string>MainMenu</string>
|
||||||
|
</dict></plist>
|
@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
CONFIRM=`"$(dirname "$0")/../Resources/confirm_uninstall"`
|
||||||
|
if [ "$CONFIRM" -ne "1" ]
|
||||||
|
then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
OUTPUT=`"$(dirname "$0")/../Resources/ask_root"`
|
||||||
|
ERROR="$?"
|
||||||
|
|
||||||
|
if [ "$?" -gt "0" ]
|
||||||
|
then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo $OUTPUT | `sudo -S "$(dirname "$0")/../Resources/uninstall"`
|
@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/osascript
|
||||||
|
|
||||||
|
set my_password to display dialog "Please provide root password to uninstall Pandora FMS agent:" ¬
|
||||||
|
with title "Root confirmation" ¬
|
||||||
|
with icon caution ¬
|
||||||
|
default answer "" ¬
|
||||||
|
buttons {"Cancel", "OK"} default button 2 ¬
|
||||||
|
with hidden answer
|
||||||
|
return (text returned of my_password)
|
@ -0,0 +1,23 @@
|
|||||||
|
#!/usr/bin/osascript
|
||||||
|
|
||||||
|
set first_time to 1
|
||||||
|
set text_display to "Are you sure you want to uninstall Pandora FMS agent?"
|
||||||
|
|
||||||
|
repeat
|
||||||
|
if (first_time = 1) then
|
||||||
|
set text_display to "Are you sure you want to uninstall Pandora FMS agent?"
|
||||||
|
end if
|
||||||
|
set my_remotecfg to display dialog ¬
|
||||||
|
text_display with title ¬
|
||||||
|
"Confirm uninstall" ¬
|
||||||
|
buttons {"No", "Yes"} ¬
|
||||||
|
default button "No"
|
||||||
|
if (button returned of my_remotecfg) is "Yes" then
|
||||||
|
set confirm_uninstall to "1"
|
||||||
|
else
|
||||||
|
set confirm_uninstall to "0"
|
||||||
|
end if
|
||||||
|
exit repeat
|
||||||
|
end repeat
|
||||||
|
|
||||||
|
return (confirm_uninstall)
|
@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Stop the agent process
|
||||||
|
`launchctl stop com.pandorafms.pandorafms`
|
||||||
|
PFMSAGENT=`ps aux | grep pandora_agent | grep -v grep | wc -l`
|
||||||
|
if [ "$PFMSAGENT" -gt "0" ]
|
||||||
|
then
|
||||||
|
PIDAGENT=`ps aux | grep pandora_agent | grep -v grep | awk '{print $2}'`
|
||||||
|
kill $PIDAGENT
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove local files
|
||||||
|
rm -Rf /etc/pandora
|
||||||
|
rm -Rf /usr/local/share/pandora_agent/
|
||||||
|
rm -f /usr/local/bin/pandora_agent
|
||||||
|
rm -f /usr/local/bin/pandora_agent_exec
|
||||||
|
rm -f /usr/local/bin/pandora_revent
|
||||||
|
rm -f /usr/local/bin/tentacle_client
|
||||||
|
rm -f /usr/local/share/man/man1/pandora_agent.1.gz
|
||||||
|
rm -f /usr/local/share/man/man1/tentacle_client.1.gz
|
||||||
|
rm -f /var/log/pandora/pandora_agent.*
|
||||||
|
rm -f /etc/newsyslog.d/pandora_agent.conf
|
||||||
|
|
||||||
|
# Remove everything related with Pandora FMS agent
|
||||||
|
`launchctl remove com.pandorafms.pandorafms`
|
||||||
|
rm -f /Library/LaunchDaemons/com.pandorafms.pandorafms.plist
|
||||||
|
|
||||||
|
# Remove all packages residual files
|
||||||
|
rm -f /private/var/db/receipts/com.pandorafms*
|
||||||
|
|
||||||
|
# Remove the uninstall app too
|
||||||
|
rm -Rf /Applications/PandoraFMS*
|
||||||
|
|
After Width: | Height: | Size: 32 KiB |
@ -0,0 +1,4 @@
|
|||||||
|
Installation complete! Thank you for installing Pandora FMS agent for MacOS.
|
||||||
|
Agent's service has been automatically started. You can manage the service with:
|
||||||
|
sudo launchctl start com.pandorafms.pandorafms to start it, and sudo launchctl
|
||||||
|
stop com.pandorafms.pandorafms to stop it.
|
237
pandora_agents/unix/Darwin/dmg/resources/text/license.html
Normal file
@ -0,0 +1,237 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free
|
||||||
|
Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||||
|
document, but changing it is not allowed. Preamble The licenses for most
|
||||||
|
software are designed to take away your freedom to share and change it. By
|
||||||
|
contrast, the GNU General Public License is intended to guarantee your freedom
|
||||||
|
to share and change free software--to make sure the software is free for all its
|
||||||
|
users. This General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to using it.
|
||||||
|
(Some other Free Software Foundation software is covered by the GNU Library
|
||||||
|
General Public License instead.) You can apply it to your programs, too. When we
|
||||||
|
speak of free software, we are referring to freedom, not price. Our General
|
||||||
|
Public Licenses are designed to make sure that you have the freedom to
|
||||||
|
distribute copies of free software (and charge for this service if you wish),
|
||||||
|
that you receive source code or can get it if you want it, that you can change
|
||||||
|
the software or use pieces of it in new free programs; and that you know you can
|
||||||
|
do these things. To protect your rights, we need to make restrictions that
|
||||||
|
forbid anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it. For example, if you
|
||||||
|
distribute copies of such a program, whether gratis or for a fee, you must give
|
||||||
|
the recipients all the rights that you have. You must make sure that they, too,
|
||||||
|
receive or can get the source code. And you must show them these terms so they
|
||||||
|
know their rights. We protect your rights with two steps: (1) copyright the
|
||||||
|
software, and (2) offer you this license which gives you legal permission to
|
||||||
|
copy, distribute and/or modify the software. Also, for each author's protection
|
||||||
|
and ours, we want to make certain that everyone understands that there is no
|
||||||
|
warranty for this free software. If the software is modified by someone else and
|
||||||
|
passed on, we want its recipients to know that what they have is not the
|
||||||
|
original, so that any problems introduced by others will not reflect on the
|
||||||
|
original authors' reputations. Finally, any free program is threatened
|
||||||
|
constantly by software patents. We wish to avoid the danger that redistributors
|
||||||
|
of a free program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any patent must
|
||||||
|
be licensed for everyone's free use or not licensed at all. The precise terms
|
||||||
|
and conditions for copying, distribution and modification follow. GNU GENERAL
|
||||||
|
PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
0. This License applies to any program or other work which contains a notice
|
||||||
|
placed by the copyright holder saying it may be distributed under the terms of
|
||||||
|
this General Public License. The "Program", below, refers to any such program or
|
||||||
|
work, and a "work based on the Program" means either the Program or any
|
||||||
|
derivative work under copyright law: that is to say, a work containing the
|
||||||
|
Program or a portion of it, either verbatim or with modifications and/or
|
||||||
|
translated into another language. (Hereinafter, translation is included without
|
||||||
|
limitation in the term "modification".) Each licensee is addressed as "you".
|
||||||
|
Activities other than copying, distribution and modification are not covered by
|
||||||
|
this License; they are outside its scope. The act of running the Program is not
|
||||||
|
restricted, and the output from the Program is covered only if its contents
|
||||||
|
constitute a work based on the Program (independent of having been made by
|
||||||
|
running the Program). Whether that is true depends on what the Program does. 1.
|
||||||
|
You may copy and distribute verbatim copies of the Program's source code as you
|
||||||
|
receive it, in any medium, provided that you conspicuously and appropriately
|
||||||
|
publish on each copy an appropriate copyright notice and disclaimer of warranty;
|
||||||
|
keep intact all the notices that refer to this License and to the absence of any
|
||||||
|
warranty; and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program. You may charge a fee for the physical act of
|
||||||
|
transferring a copy, and you may at your option offer warranty protection in
|
||||||
|
exchange for a fee. 2. You may modify your copy or copies of the Program or any
|
||||||
|
portion of it, thus forming a work based on the Program, and copy and distribute
|
||||||
|
such modifications or work under the terms of Section 1 above, provided that you
|
||||||
|
also meet all of these conditions: a) You must cause the modified files to carry
|
||||||
|
prominent notices stating that you changed the files and the date of any change.
|
||||||
|
b) You must cause any work that you distribute or publish, that in whole or in
|
||||||
|
part contains or is derived from the Program or any part thereof, to be licensed
|
||||||
|
as a whole at no charge to all third parties under the terms of this License. c)
|
||||||
|
If the modified program normally reads commands interactively when run, you must
|
||||||
|
cause it, when started running for such interactive use in the most ordinary
|
||||||
|
way, to print or display an announcement including an appropriate copyright
|
||||||
|
notice and a notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under these conditions,
|
||||||
|
and telling the user how to view a copy of this License. (Exception: if the
|
||||||
|
Program itself is interactive but does not normally print such an announcement,
|
||||||
|
your work based on the Program is not required to print an announcement.) These
|
||||||
|
requirements apply to the modified work as a whole. If identifiable sections of
|
||||||
|
that work are not derived from the Program, and can be reasonably considered
|
||||||
|
independent and separate works in themselves, then this License, and its terms,
|
||||||
|
do not apply to those sections when you distribute them as separate works. But
|
||||||
|
when you distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of this
|
||||||
|
License, whose permissions for other licensees extend to the entire whole, and
|
||||||
|
thus to each and every part regardless of who wrote it. Thus, it is not the
|
||||||
|
intent of this section to claim rights or contest your rights to work written
|
||||||
|
entirely by you; rather, the intent is to exercise the right to control the
|
||||||
|
distribution of derivative or collective works based on the Program. In
|
||||||
|
addition, mere aggregation of another work not based on the Program with the
|
||||||
|
Program (or with a work based on the Program) on a volume of a storage or
|
||||||
|
distribution medium does not bring the other work under the scope of this
|
||||||
|
License. 3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of Sections 1
|
||||||
|
and 2 above provided that you also do one of the following: a) Accompany it with
|
||||||
|
the complete corresponding machine-readable source code, which must be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium customarily
|
||||||
|
used for software interchange; or, b) Accompany it with a written offer, valid
|
||||||
|
for at least three years, to give any third party, for a charge no more than
|
||||||
|
your cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be distributed under
|
||||||
|
the terms of Sections 1 and 2 above on a medium customarily used for software
|
||||||
|
interchange; or, c) Accompany it with the information you received as to the
|
||||||
|
offer to distribute corresponding source code. (This alternative is allowed only
|
||||||
|
for noncommercial distribution and only if you received the program in object
|
||||||
|
code or executable form with such an offer, in accord with Subsection b above.)
|
||||||
|
The source code for a work means the preferred form of the work for making
|
||||||
|
modifications to it. For an executable work, complete source code means all the
|
||||||
|
source code for all modules it contains, plus any associated interface
|
||||||
|
definition files, plus the scripts used to control compilation and installation
|
||||||
|
of the executable. However, as a special exception, the source code distributed
|
||||||
|
need not include anything that is normally distributed (in either source or
|
||||||
|
binary form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component itself
|
||||||
|
accompanies the executable. If distribution of executable or object code is made
|
||||||
|
by offering access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as distribution of the
|
||||||
|
source code, even though third parties are not compelled to copy the source
|
||||||
|
along with the object code. 4. You may not copy, modify, sublicense, or
|
||||||
|
distribute the Program except as expressly provided under this License. Any
|
||||||
|
attempt otherwise to copy, modify, sublicense or distribute the Program is void,
|
||||||
|
and will automatically terminate your rights under this License. However,
|
||||||
|
parties who have received copies, or rights, from you under this License will
|
||||||
|
not have their licenses terminated so long as such parties remain in full
|
||||||
|
compliance. 5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or distribute
|
||||||
|
the Program or its derivative works. These actions are prohibited by law if you
|
||||||
|
do not accept this License. Therefore, by modifying or distributing the Program
|
||||||
|
(or any work based on the Program), you indicate your acceptance of this License
|
||||||
|
to do so, and all its terms and conditions for copying, distributing or
|
||||||
|
modifying the Program or works based on it. 6. Each time you redistribute the
|
||||||
|
Program (or any work based on the Program), the recipient automatically receives
|
||||||
|
a license from the original licensor to copy, distribute or modify the Program
|
||||||
|
subject to these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein. You are
|
||||||
|
not responsible for enforcing compliance by third parties to this License. 7.
|
||||||
|
If, as a consequence of a court judgment or allegation of patent infringement or
|
||||||
|
for any other reason (not limited to patent issues), conditions are imposed on
|
||||||
|
you (whether by court order, agreement or otherwise) that contradict the
|
||||||
|
conditions of this License, they do not excuse you from the conditions of this
|
||||||
|
License. If you cannot distribute so as to satisfy simultaneously your
|
||||||
|
obligations under this License and any other pertinent obligations, then as a
|
||||||
|
consequence you may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by all those
|
||||||
|
who receive copies directly or indirectly through you, then the only way you
|
||||||
|
could satisfy both it and this License would be to refrain entirely from
|
||||||
|
distribution of the Program. If any portion of this section is held invalid or
|
||||||
|
unenforceable under any particular circumstance, the balance of the section is
|
||||||
|
intended to apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances. It is not the purpose of this section to induce you to infringe
|
||||||
|
any patents or other property right claims or to contest validity of any such
|
||||||
|
claims; this section has the sole purpose of protecting the integrity of the
|
||||||
|
free software distribution system, which is implemented by public license
|
||||||
|
practices. Many people have made generous contributions to the wide range of
|
||||||
|
software distributed through that system in reliance on consistent application
|
||||||
|
of that system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot impose
|
||||||
|
that choice. This section is intended to make thoroughly clear what is believed
|
||||||
|
to be a consequence of the rest of this License. 8. If the distribution and/or
|
||||||
|
use of the Program is restricted in certain countries either by patents or by
|
||||||
|
copyrighted interfaces, the original copyright holder who places the Program
|
||||||
|
under this License may add an explicit geographical distribution limitation
|
||||||
|
excluding those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates the
|
||||||
|
limitation as if written in the body of this License. 9. The Free Software
|
||||||
|
Foundation may publish revised and/or new versions of the General Public License
|
||||||
|
from time to time. Such new versions will be similar in spirit to the present
|
||||||
|
version, but may differ in detail to address new problems or concerns. Each
|
||||||
|
version is given a distinguishing version number. If the Program specifies a
|
||||||
|
version number of this License which applies to it and "any later version", you
|
||||||
|
have the option of following the terms and conditions either of that version or
|
||||||
|
of any later version published by the Free Software Foundation. If the Program
|
||||||
|
does not specify a version number of this License, you may choose any version
|
||||||
|
ever published by the Free Software Foundation. 10. If you wish to incorporate
|
||||||
|
parts of the Program into other free programs whose distribution conditions are
|
||||||
|
different, write to the author to ask for permission. For software which is
|
||||||
|
copyrighted by the Free Software Foundation, write to the Free Software
|
||||||
|
Foundation; we sometimes make exceptions for this. Our decision will be guided
|
||||||
|
by the two goals of preserving the free status of all derivatives of our free
|
||||||
|
software and of promoting the sharing and reuse of software generally. NO
|
||||||
|
WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||||
|
WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE
|
||||||
|
THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
||||||
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||||
|
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU
|
||||||
|
ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO
|
||||||
|
EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
|
||||||
|
COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
|
||||||
|
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
|
||||||
|
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY
|
||||||
|
TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||||
|
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
|
||||||
|
THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
|
||||||
|
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND
|
||||||
|
CONDITIONS How to Apply These Terms to Your New Programs If you develop a new
|
||||||
|
program, and you want it to be of the greatest possible use to the public, the
|
||||||
|
best way to achieve this is to make it free software which everyone can
|
||||||
|
redistribute and change under these terms. To do so, attach the following
|
||||||
|
notices to the program. It is safest to attach them to the start of each source
|
||||||
|
file to most effectively convey the exclusion of warranty; and each file should
|
||||||
|
have at least the "copyright" line and a pointer to where the full notice is
|
||||||
|
found. <one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C)
|
||||||
|
<year>
|
||||||
|
<name of author>
|
||||||
|
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; either version 2 of the License, or (at your option)
|
||||||
|
any later version. 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. You should have received a copy of the GNU
|
||||||
|
General Public License along with this program; if not, write to the Free
|
||||||
|
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
|
USA Also add information on how to contact you by electronic and paper mail.
|
||||||
|
If the program is interactive, make it output a short notice like this when
|
||||||
|
it starts in an interactive mode: Gnomovision version 69, Copyright (C) year
|
||||||
|
name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
|
||||||
|
type `show w'. This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details. The hypothetical
|
||||||
|
commands `show w' and `show c' should show the appropriate parts of the
|
||||||
|
General Public License. Of course, the commands you use may be called
|
||||||
|
something other than `show w' and `show c'; they could even be mouse-clicks
|
||||||
|
or menu items--whatever suits your program. You should also get your
|
||||||
|
employer (if you work as a programmer) or your school, if any, to sign a
|
||||||
|
"copyright disclaimer" for the program, if necessary. Here is a sample;
|
||||||
|
alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in
|
||||||
|
the program `Gnomovision' (which makes passes at compilers) written by James
|
||||||
|
Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon
|
||||||
|
>, 1 April 1989 Ty Coon, President of Vice This General Public License
|
||||||
|
does not permit incorporating your program into proprietary programs. If
|
||||||
|
your program is a subroutine library, you may consider it more useful to
|
||||||
|
permit linking proprietary applications with the library. If this is what
|
||||||
|
you want to do, use the GNU Library General Public License instead of this
|
||||||
|
License.
|
||||||
|
</signature></name
|
||||||
|
></year
|
||||||
|
>
|
@ -0,0 +1 @@
|
|||||||
|
README
|
@ -0,0 +1,5 @@
|
|||||||
|
Welcome to Pandora FMS agent for MacOS installer. This will install Pandora FMS
|
||||||
|
agent in the root disk of this system, specifically in:
|
||||||
|
/usr/local/share/pandora_agent/ /etc/pandora/ It will also create an Uninstaller
|
||||||
|
at your Applications folder. If you wish to perform a custom installation,
|
||||||
|
please use the Linux tarball installer instead.
|
91
pandora_agents/unix/Darwin/dmg/scripts/postinstall
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
cd /usr/local/share/pandora_agent/
|
||||||
|
|
||||||
|
# Copy daemon file
|
||||||
|
mv com.pandorafms.pandorafms.plist /Library/LaunchDaemons/
|
||||||
|
|
||||||
|
if [ -f /etc/pandora/pandora_agent.conf ]
|
||||||
|
then
|
||||||
|
# Stop the agent process
|
||||||
|
`launchctl stop com.pandorafms.pandorafms`
|
||||||
|
PFMSAGENT=`ps aux | grep pandora_agent | grep -v postinstall | grep -v grep | wc -l`
|
||||||
|
if [ "$PFMSAGENT" -gt "0" ]
|
||||||
|
then
|
||||||
|
PIDAGENT=`ps aux | grep pandora_agent | grep -v postinstall | grep -v grep | awk '{print $2}'`
|
||||||
|
kill $PIDAGENT
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Ask for user and password
|
||||||
|
SERVER=`/usr/local/share/pandora_agent/inst_utilities/get_serverip.scpt`
|
||||||
|
GROUP=`/usr/local/share/pandora_agent/inst_utilities/get_group.scpt`
|
||||||
|
REMOTECFG=`/usr/local/share/pandora_agent/inst_utilities/get_remotecfg.scpt`
|
||||||
|
|
||||||
|
# Write the conf file
|
||||||
|
`/usr/local/share/pandora_agent/inst_utilities/print_conf.pl /usr/local/share/pandora_agent/pandora_agent.conf server_ip $SERVER`
|
||||||
|
`/usr/local/share/pandora_agent/inst_utilities/print_conf.pl /usr/local/share/pandora_agent/pandora_agent.conf group $GROUP`
|
||||||
|
`/usr/local/share/pandora_agent/inst_utilities/print_conf.pl /usr/local/share/pandora_agent/pandora_agent.conf remote_config $REMOTECFG`
|
||||||
|
|
||||||
|
# Create agent directories and files
|
||||||
|
mkdir -p /usr/local/share/pandora_agent/collections
|
||||||
|
mkdir -p /usr/local/share/pandora_agent/commands
|
||||||
|
mkdir -p /etc/pandora/
|
||||||
|
mkdir -p /var/spool/pandora/data_out
|
||||||
|
mkdir -p /var/log/pandora
|
||||||
|
mv pandora_agent.conf /etc/pandora/
|
||||||
|
touch /var/log/pandora/pandora_agent.log
|
||||||
|
|
||||||
|
# Setting permissions to directories and files
|
||||||
|
chmod -R 700 /usr/local/share/pandora_agent/collections
|
||||||
|
chmod -R 700 /usr/local/share/pandora_agent/commands
|
||||||
|
chmod -R 755 /etc/pandora/
|
||||||
|
chmod -R 700 /var/spool/pandora/data_out
|
||||||
|
chmod -R 711 /var/log/pandora
|
||||||
|
chmod 640 /var/log/pandora/pandora_agent.log
|
||||||
|
chmod 640 /etc/pandora/pandora_agent.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copying agent utilities to /usr/local/bin and securing them
|
||||||
|
cp -f pandora_agent /usr/local/bin/
|
||||||
|
chmod 755 /usr/local/bin/pandora_agent
|
||||||
|
chown root:wheel /usr/local/bin/pandora_agent
|
||||||
|
|
||||||
|
cp -f pandora_agent_exec /usr/local/bin/
|
||||||
|
chmod 755 /usr/local/bin/pandora_agent_exec
|
||||||
|
chown root:wheel /usr/local/bin/pandora_agent_exec
|
||||||
|
|
||||||
|
cp -f pandora_revent /usr/local/bin/
|
||||||
|
chmod 755 /usr/local/bin/pandora_revent
|
||||||
|
chown root:wheel /usr/local/bin/pandora_revent
|
||||||
|
|
||||||
|
# Copying tentacle_client to /usr/local/bin and securing it
|
||||||
|
cp -f tentacle_client /usr/local/bin/
|
||||||
|
chmod 755 /usr/local/bin/tentacle_client
|
||||||
|
chown root:wheel /usr/local/bin/tentacle_client
|
||||||
|
|
||||||
|
|
||||||
|
# Create symbolic links in /etc/pandora/
|
||||||
|
ln -s /usr/local/share/pandora_agent/plugins /etc/pandora/plugins
|
||||||
|
ln -s /usr/local/share/pandora_agent/commands /etc/pandora/commands
|
||||||
|
ln -s /usr/local/share/pandora_agent/collections /etc/pandora/collections
|
||||||
|
|
||||||
|
|
||||||
|
# Copy manuals
|
||||||
|
cp -f man/man1/pandora_agent.1.gz /usr/local/share/man/man1
|
||||||
|
chmod 644 /usr/local/share/man/man1/pandora_agent.1.gz
|
||||||
|
cp -f man/man1/tentacle_client.1.gz /usr/local/share/man/man1
|
||||||
|
chmod 644 /usr/local/share/man/man1/tentacle_client.1.gz
|
||||||
|
|
||||||
|
# Create newsyslog entry
|
||||||
|
# logfilename [owner:group] mode count size(KB) when flags [/pid_file] [sig_num]
|
||||||
|
echo "/var/log/pandora/pandora_agent.log : 640 5 2048 * Z" > /etc/newsyslog.d/pandora_agent.conf
|
||||||
|
|
||||||
|
# Install the daemon
|
||||||
|
`launchctl load -wF /Library/LaunchDaemons/com.pandorafms.pandorafms.plist`
|
||||||
|
|
||||||
|
# Launch the daemon
|
||||||
|
`launchctl start com.pandorafms.pandorafms`
|
||||||
|
|
||||||
|
# Clean all install utilites
|
||||||
|
rm -Rf inst_utilities
|
||||||
|
|
||||||
|
exit 0
|
9
pandora_agents/unix/Darwin/dmg/scripts/preinstall
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#Save the existing configuration file
|
||||||
|
#if [ -f /usr/local/share/pandora_agent/pandora_agent.conf ]
|
||||||
|
#then
|
||||||
|
# #mkdir -p /tmp/eh_restore
|
||||||
|
# cp /usr/local/share/pandora_agent/pandora_agent.conf /usr/local/share/pandora_agent/pandora_agent.bak
|
||||||
|
#fi
|
||||||
|
exit 0
|
@ -129,6 +129,12 @@ transfer_mode tentacle
|
|||||||
# Proxy timeout (by default 1s)
|
# Proxy timeout (by default 1s)
|
||||||
# proxy_timeout 1
|
# proxy_timeout 1
|
||||||
|
|
||||||
|
# Address the proxy will listen on.
|
||||||
|
#proxy_address 0.0.0.0
|
||||||
|
|
||||||
|
# Port the proxy will listen on.
|
||||||
|
#proxy_port 41121
|
||||||
|
|
||||||
# Number of threads to execute modules in parallel
|
# Number of threads to execute modules in parallel
|
||||||
#agent_threads 1
|
#agent_threads 1
|
||||||
|
|
||||||
|
@ -142,6 +142,12 @@ remote_config 0
|
|||||||
# Proxy timeout (by default 1s)
|
# Proxy timeout (by default 1s)
|
||||||
#proxy_timeout 1
|
#proxy_timeout 1
|
||||||
|
|
||||||
|
# Address the proxy will listen on.
|
||||||
|
#proxy_address 0.0.0.0
|
||||||
|
|
||||||
|
# Port the proxy will listen on.
|
||||||
|
#proxy_port 41121
|
||||||
|
|
||||||
# Number of threads to execute modules in parallel
|
# Number of threads to execute modules in parallel
|
||||||
#agent_threads 1
|
#agent_threads 1
|
||||||
|
|
||||||
|
@ -101,6 +101,12 @@ transfer_mode tentacle
|
|||||||
# Proxy timeout (by default 1s)
|
# Proxy timeout (by default 1s)
|
||||||
# proxy_timeout 1
|
# proxy_timeout 1
|
||||||
|
|
||||||
|
# Address the proxy will listen on.
|
||||||
|
#proxy_address 0.0.0.0
|
||||||
|
|
||||||
|
# Port the proxy will listen on.
|
||||||
|
#proxy_port 41121
|
||||||
|
|
||||||
# User the agent will run as
|
# User the agent will run as
|
||||||
#pandora_user root
|
#pandora_user root
|
||||||
|
|
||||||
|
@ -148,6 +148,12 @@ remote_config 0
|
|||||||
# Proxy timeout (by default 1s)
|
# Proxy timeout (by default 1s)
|
||||||
# proxy_timeout 1
|
# proxy_timeout 1
|
||||||
|
|
||||||
|
# Address the proxy will listen on.
|
||||||
|
#proxy_address 0.0.0.0
|
||||||
|
|
||||||
|
# Port the proxy will listen on.
|
||||||
|
#proxy_port 41121
|
||||||
|
|
||||||
# Number of threads to execute modules in parallel
|
# Number of threads to execute modules in parallel
|
||||||
#agent_threads 1
|
#agent_threads 1
|
||||||
|
|
||||||
|
@ -110,6 +110,12 @@ transfer_mode tentacle
|
|||||||
# Proxy timeout (by default 1s)
|
# Proxy timeout (by default 1s)
|
||||||
#proxy_timeout 1
|
#proxy_timeout 1
|
||||||
|
|
||||||
|
# Address the proxy will listen on.
|
||||||
|
#proxy_address 0.0.0.0
|
||||||
|
|
||||||
|
# Port the proxy will listen on.
|
||||||
|
#proxy_port 41121
|
||||||
|
|
||||||
# Number of threads to execute modules in parallel
|
# Number of threads to execute modules in parallel
|
||||||
#agent_threads 1
|
#agent_threads 1
|
||||||
|
|
||||||
|
@ -104,6 +104,12 @@ transfer_mode tentacle
|
|||||||
# Proxy timeout (by default 1s)
|
# Proxy timeout (by default 1s)
|
||||||
#proxy_timeout 1
|
#proxy_timeout 1
|
||||||
|
|
||||||
|
# Address the proxy will listen on.
|
||||||
|
#proxy_address 0.0.0.0
|
||||||
|
|
||||||
|
# Port the proxy will listen on.
|
||||||
|
#proxy_port 41121
|
||||||
|
|
||||||
# User the agent will run as
|
# User the agent will run as
|
||||||
#pandora_user root
|
#pandora_user root
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ my $Sem = undef;
|
|||||||
my $ThreadSem = undef;
|
my $ThreadSem = undef;
|
||||||
|
|
||||||
use constant AGENT_VERSION => '7.0NG.749';
|
use constant AGENT_VERSION => '7.0NG.749';
|
||||||
use constant AGENT_BUILD => '200914';
|
use constant AGENT_BUILD => '200929';
|
||||||
|
|
||||||
# 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;
|
||||||
@ -192,6 +192,8 @@ my %DefaultConf = (
|
|||||||
'udp_server_port' => 41122,
|
'udp_server_port' => 41122,
|
||||||
'udp_server_auth_address' => '0.0.0.0',
|
'udp_server_auth_address' => '0.0.0.0',
|
||||||
'udp_server' => 0,
|
'udp_server' => 0,
|
||||||
|
'proxy_address' => '0.0.0.0',
|
||||||
|
'proxy_port' => 41121,
|
||||||
'proxy_mode' => 0,
|
'proxy_mode' => 0,
|
||||||
'proxy_max_connection' => 10,
|
'proxy_max_connection' => 10,
|
||||||
'proxy_timeout' => 1,
|
'proxy_timeout' => 1,
|
||||||
@ -1383,7 +1385,7 @@ sub launch_tentacle_proxy () {
|
|||||||
if ($tentacle_pid == 0) {
|
if ($tentacle_pid == 0) {
|
||||||
|
|
||||||
#Execute tentacle server as a daemon
|
#Execute tentacle server as a daemon
|
||||||
my $new_process = "tentacle_server -b ".$Conf{'server_ip'}." -g ".$Conf{'server_port'}." -c ".$Conf{'proxy_max_connection'}." -t ".$Conf{'proxy_timeout'};
|
my $new_process = "tentacle_server -a ".$Conf{'proxy_address'}." -p ".$Conf{'proxy_port'}." -b ".$Conf{'server_ip'}." -g ".$Conf{'server_port'}." -c ".$Conf{'proxy_max_connection'}." -t ".$Conf{'proxy_timeout'};
|
||||||
|
|
||||||
$new_process .= ' -C' if ($Conf{'server_ssl'} eq '1');
|
$new_process .= ' -C' if ($Conf{'server_ssl'} eq '1');
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.749
|
%define version 7.0NG.749
|
||||||
%define release 200914
|
%define release 200929
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.749
|
%define version 7.0NG.749
|
||||||
%define release 200914
|
%define release 200929
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -10,14 +10,14 @@
|
|||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.749"
|
PI_VERSION="7.0NG.749"
|
||||||
PI_BUILD="200914"
|
PI_BUILD="200929"
|
||||||
OS_NAME=`uname -s`
|
OS_NAME=`uname -s`
|
||||||
|
|
||||||
FORCE=0
|
FORCE=0
|
||||||
LOG_TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"`
|
LOG_TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"`
|
||||||
|
|
||||||
PREFIX=/usr
|
PREFIX=/usr
|
||||||
if [ "$OS_NAME" = "FreeBSD" ] || [ "$OS_NAME" = "NetBSD" ]
|
if [ "$OS_NAME" = "FreeBSD" ] || [ "$OS_NAME" = "NetBSD" ] || [ "$OS_NAME" = "Darwin" ]
|
||||||
then
|
then
|
||||||
PREFIX=/usr/local
|
PREFIX=/usr/local
|
||||||
fi
|
fi
|
||||||
@ -146,6 +146,7 @@ help () {
|
|||||||
uninstall () {
|
uninstall () {
|
||||||
if [ "$OS_NAME" = "Darwin" ]
|
if [ "$OS_NAME" = "Darwin" ]
|
||||||
then
|
then
|
||||||
|
launchctl stop com.pandorafms.pandorafms
|
||||||
launchctl remove com.pandorafms.pandorafms
|
launchctl remove com.pandorafms.pandorafms
|
||||||
rm /Library/LaunchDaemons/com.pandorafms.pandorafms.plist 2> /dev/null
|
rm /Library/LaunchDaemons/com.pandorafms.pandorafms.plist 2> /dev/null
|
||||||
fi
|
fi
|
||||||
@ -162,6 +163,7 @@ uninstall () {
|
|||||||
rm -Rf $PANDORA_BASE$PANDORA_EXEC_BIN 2> /dev/null
|
rm -Rf $PANDORA_BASE$PANDORA_EXEC_BIN 2> /dev/null
|
||||||
rm -Rf $PANDORA_BASE$PANDORA_REVENT_BIN 2> /dev/null
|
rm -Rf $PANDORA_BASE$PANDORA_REVENT_BIN 2> /dev/null
|
||||||
rm -f $DESTDIR/etc/logrotate.d/pandora_agent
|
rm -f $DESTDIR/etc/logrotate.d/pandora_agent
|
||||||
|
rm -f $DESTDIR/etc/newsyslog.d/pandora_agent.conf
|
||||||
|
|
||||||
# Remove systemd service if exists
|
# Remove systemd service if exists
|
||||||
if [ `systemctl --v 2> /dev/null | grep systemd | wc -l` != 0 ]
|
if [ `systemctl --v 2> /dev/null | grep systemd | wc -l` != 0 ]
|
||||||
@ -305,7 +307,7 @@ install () {
|
|||||||
# Backup the configuration file
|
# Backup the configuration file
|
||||||
cp -f "$AGENT_CFG" "${AGENT_CFG}.bak"
|
cp -f "$AGENT_CFG" "${AGENT_CFG}.bak"
|
||||||
|
|
||||||
if [ "$OS_NAME" = "FreeBSD" ] || [ "$OS_NAME" = "NetBSD" ]
|
if [ "$OS_NAME" = "FreeBSD" ] || [ "$OS_NAME" = "NetBSD" ] || [ "$OS_NAME" = "Darwin" ]
|
||||||
then
|
then
|
||||||
sed -e "\|^PATH=|s|=|=$PANDORA_BASE$PREFIX/bin:|" \
|
sed -e "\|^PATH=|s|=|=$PANDORA_BASE$PREFIX/bin:|" \
|
||||||
-e "s|/usr/local/etc/pandora|$PANDORA_BASE$PANDORA_CFG|g" \
|
-e "s|/usr/local/etc/pandora|$PANDORA_BASE$PANDORA_CFG|g" \
|
||||||
@ -503,12 +505,16 @@ install () {
|
|||||||
[ "$MSG" ] && echo "$MSG"
|
[ "$MSG" ] && echo "$MSG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d /etc/logrotate.d ]
|
if [ -d /etc/logrotate.d ] && [ "$OS_NAME" != "Darwin" ]
|
||||||
then
|
then
|
||||||
[ -d $DESTDIR/etc/logrotate.d ] && mkdir -p $DESTDIR/etc/logrotate.d
|
[ -d $DESTDIR/etc/logrotate.d ] && mkdir -p $DESTDIR/etc/logrotate.d
|
||||||
echo "Creating logrotate.d entry for Pandora FMS log management"
|
echo "Creating logrotate.d entry for Pandora FMS log management"
|
||||||
sed -e "s|^/var/log/pandora/pandora_agent.log|$PANDORA_BASE_REAL$PANDORA_LOG_DIR/$PANDORA_LOG|" pandora_agent_logrotate \
|
sed -e "s|^/var/log/pandora/pandora_agent.log|$PANDORA_BASE_REAL$PANDORA_LOG_DIR/$PANDORA_LOG|" pandora_agent_logrotate \
|
||||||
> $DESTDIR/etc/logrotate.d/pandora_agent
|
> $DESTDIR/etc/logrotate.d/pandora_agent
|
||||||
|
elif [ "$OS_NAME" = "Darwin" ]
|
||||||
|
then
|
||||||
|
echo "Creating newsyslog entry for Pandora FMS log management"
|
||||||
|
echo "/var/log/pandora/pandora_agent.log : 640 5 2048 * Z" > $DESTDIR/etc/newsyslog.d/pandora_agent.conf
|
||||||
else
|
else
|
||||||
echo "Please add a log rotation schedule manually to your log rotation daemon (if any)"
|
echo "Please add a log rotation schedule manually to your log rotation daemon (if any)"
|
||||||
fi
|
fi
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
||||||
# Copyright (c) 2007-2008 Artica Soluciones Tecnologicas S.L.
|
# Copyright (c) 2007-2008 Artica Soluciones Tecnologicas S.L.
|
||||||
#
|
#
|
||||||
# tentacle_client.pl Tentacle Client. See http://www.openideas.info/wiki for
|
# tentacle_client.pl Tentacle Client. See https://pandorafms.com/docs/ for
|
||||||
# protocol description.
|
# protocol description.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@ -155,7 +155,7 @@ my $t_zip = 0;
|
|||||||
sub print_help {
|
sub print_help {
|
||||||
|
|
||||||
print ("Usage: $0 [options] [file] [file] ...\n\n");
|
print ("Usage: $0 [options] [file] [file] ...\n\n");
|
||||||
print ("Tentacle client v$VERSION. See http://www.openideas.info/wiki for protocol description.\n\n");
|
print ("Tentacle client v$VERSION. See https://pandorafms.com/docs/ for protocol description.\n\n");
|
||||||
print ("Options:\n");
|
print ("Options:\n");
|
||||||
print ("\t-a address\tServer address (default $t_address).\n");
|
print ("\t-a address\tServer address (default $t_address).\n");
|
||||||
print ("\t-b localaddress\tLocal address to bind.\n");
|
print ("\t-b localaddress\tLocal address to bind.\n");
|
||||||
@ -1091,7 +1091,7 @@ This is released under the GNU Lesser General Public License.
|
|||||||
|
|
||||||
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<File::Basename>
|
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<File::Basename>
|
||||||
|
|
||||||
Protocol description and more info at: L<< http://openideas.info/wiki/index.php?title=Tentacle >>
|
Protocol description and more info at: L<< https://pandorafms.com/docs/index.php?title=Pandora:Documentation_en:Tentacle >>
|
||||||
|
|
||||||
=head1 COPYRIGHT
|
=head1 COPYRIGHT
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# Tentacle Server
|
# Tentacle Server
|
||||||
# See http://www.openideas.info/wiki for protocol description.
|
# See https://pandorafms.com/docs/ for protocol description.
|
||||||
# Tentacle have IANA assigned port tpc/41121 as official port.
|
# Tentacle have IANA assigned port tpc/41121 as official port.
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
|
||||||
# Copyright (c) 2005-2010 Artica Soluciones Tecnologicas S.L
|
# Copyright (c) 2005-2010 Artica Soluciones Tecnologicas S.L
|
||||||
#
|
#
|
||||||
# tentacle_server.pl Tentacle Server. See http://www.openideas.info/wiki for
|
# tentacle_server.pl Tentacle Server. See https://pandorafms.com/docs/ for
|
||||||
# protocol description.
|
# protocol description.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@ -211,7 +211,7 @@ sub print_help {
|
|||||||
$" = ',';
|
$" = ',';
|
||||||
|
|
||||||
print ("Usage: $0 -s <storage directory> [options]\n\n");
|
print ("Usage: $0 -s <storage directory> [options]\n\n");
|
||||||
print ("Tentacle server v$VERSION. See http://www.openideas.info/wiki for protocol description.\n\n");
|
print ("Tentacle server v$VERSION. See https://pandorafms.com/docs/ for protocol description.\n\n");
|
||||||
print ("Options:\n");
|
print ("Options:\n");
|
||||||
print ("\t-a ip_addresses\tIP addresses to listen on (default @t_addresses).\n");
|
print ("\t-a ip_addresses\tIP addresses to listen on (default @t_addresses).\n");
|
||||||
print ("\t \t(Multiple addresses separated by comma can be defined.)\n");
|
print ("\t \t(Multiple addresses separated by comma can be defined.)\n");
|
||||||
@ -1859,7 +1859,7 @@ This is released under the GNU Lesser General Public License.
|
|||||||
|
|
||||||
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<Thread::Semaphore>, L<POSIX>
|
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<Thread::Semaphore>, L<POSIX>
|
||||||
|
|
||||||
Protocol description and more info at: L<< http://openideas.info/wiki/index.php?title=Tentacle >>
|
Protocol description and more info at: L<< https://pandorafms.com/docs/index.php?title=Pandora:Documentation_en:Tentacle >>
|
||||||
|
|
||||||
=head1 COPYRIGHT
|
=head1 COPYRIGHT
|
||||||
|
|
||||||
|
@ -1,53 +1,59 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Fandora FMS - Generate SSH keys step-by-step</title>
|
<title>Fandora FMS - Generate SSH keys step-by-step</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="resource-type" content="document">
|
<meta name="resource-type" content="document" />
|
||||||
<meta name="distribution" content="global">
|
<meta name="distribution" content="global" />
|
||||||
<meta name="author" content="Sancho Lerena, Raul Mateos and others">
|
<meta name="author" content="Sancho Lerena, Raul Mateos and others" />
|
||||||
<meta name="copyright" content="This is GPL software. Created by Sancho Lerena and others">
|
<meta
|
||||||
</head>
|
name="copyright"
|
||||||
<body>
|
content="This is GPL software. Created by Sancho Lerena and others"
|
||||||
<center>
|
/>
|
||||||
<img src="images/logo.png" alt="">
|
</head>
|
||||||
</center>
|
<body>
|
||||||
|
<center>
|
||||||
|
<img src="images/logo.png" alt="" />
|
||||||
|
</center>
|
||||||
|
|
||||||
<h2>Step-by-step generating SSH keys</h2>
|
<h2>Step-by-step generating SSH keys</h2>
|
||||||
|
|
||||||
From
|
From
|
||||||
<a href="http://www.openideas.info/wiki/index.php?title=Pandora:FAQ#How_to_generate_a_pair_of_SSH_keys_for_Pandora_Windows_agent_1.2_.3F">Pandora FMS FAQ</a>.
|
<a
|
||||||
|
href="https://pandorafms.com/docs/index.php?title=Pandora:FAQ#How_to_generate_a_pair_of_SSH_keys_for_Pandora_Windows_agent.3F_.28SSH_Transfer_only.29"
|
||||||
|
>Pandora FMS FAQ</a
|
||||||
|
>.
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li>
|
<li>
|
||||||
Go to <code>.\util</code> of your Pandora FMS agent for Windows
|
Go to <code>.\util</code> of your Pandora FMS agent for Windows and run
|
||||||
and run <code>puttygen.exe</code>.<br>
|
<code>puttygen.exe</code>.<br />
|
||||||
Generate keys, SSH-2_DSA, 1024:<br><br>
|
Generate keys, SSH-2_DSA, 1024:<br /><br />
|
||||||
<img src="images/1.jpg"><br><br>
|
<img src="images/1.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Press Generate<br>
|
Press Generate<br />
|
||||||
Export key to OpenSSH key (Cygwin uses a port of OpenSSH)<br><br>
|
Export key to OpenSSH key (Cygwin uses a port of OpenSSH)<br /><br />
|
||||||
<img src="images/2.jpg"><br><br>
|
<img src="images/2.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
We have no chosen password, so press YES:<br><br>
|
We have no chosen password, so press YES:<br /><br />
|
||||||
<img src="images/3.jpg"><br><br>
|
<img src="images/3.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Save it as <code>c:\pandora\keys\id_dsa:</code><br><br>
|
Save it as <code>c:\pandora\keys\id_dsa:</code><br /><br />
|
||||||
<img src="images/4.jpg"><br><br>
|
<img src="images/4.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Now let's copy the public key to clipboard:<br><br>
|
Now let's copy the public key to clipboard:<br /><br />
|
||||||
<img src="images/5.jpg"><br><br>
|
<img src="images/5.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
and paste it as <code>c:\pandora_agent\keys\id_dsa.pub</code>,
|
and paste it as <code>c:\pandora_agent\keys\id_dsa.pub</code>, and also
|
||||||
and also to the <code>/home/pandora/.ssh/authorized_keys</code> file.
|
to the <code>/home/pandora/.ssh/authorized_keys</code> file.
|
||||||
<br><br>
|
<br /><br />
|
||||||
<img src="images/6.jpg"><br><br>
|
<img src="images/6.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,53 +1,62 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Pandora FMS - Generación de claves SSH en Windows paso por paso</title>
|
<title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
Pandora FMS - Generación de claves SSH en Windows paso por paso
|
||||||
<meta name="resource-type" content="document">
|
</title>
|
||||||
<meta name="distribution" content="global">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="author" content="Sancho Lerena, Raul Mateos y otros">
|
<meta name="resource-type" content="document" />
|
||||||
<meta name="copyright" content="This is GPL software. Created by Sancho Lerena and others">
|
<meta name="distribution" content="global" />
|
||||||
</head>
|
<meta name="author" content="Sancho Lerena, Raul Mateos y otros" />
|
||||||
<body>
|
<meta
|
||||||
<center>
|
name="copyright"
|
||||||
<img src="images/logo.png" alt="">
|
content="This is GPL software. Created by Sancho Lerena and others"
|
||||||
</center>
|
/>
|
||||||
<h2 class="print">Generación de claves SSH en Windows paso por paso</h2>
|
</head>
|
||||||
|
<body>
|
||||||
|
<center>
|
||||||
|
<img src="images/logo.png" alt="" />
|
||||||
|
</center>
|
||||||
|
<h2 class="print">Generación de claves SSH en Windows paso por paso</h2>
|
||||||
|
|
||||||
Extraído de las
|
Extraído de las
|
||||||
<a href="http://www.openideas.info/wiki/index.php?title=Pandora:FAQ_ES#.C2.BF_C.C3.B3mo_puedo_generar_un_par_de_claves_SHH_para_el_agente_para_Windows_1.2_.3F">
|
<a
|
||||||
FAQ</a>.
|
href="https://pandorafms.com/docs/index.php?title=Pandora:FAQ_ES#.C2.BFC.C3.B3mo_puedo_generar_un_par_de_claves_SHH_para_el_agente_para_Windows_.28SSH_Transfer.29_.3F"
|
||||||
|
>
|
||||||
|
FAQ</a
|
||||||
|
>.
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li>
|
<li>
|
||||||
Desde el directorio <code>.\util</code> del agente Pandora FMS para
|
Desde el directorio <code>.\util</code> del agente Pandora FMS para
|
||||||
windows ejecutamos <code>puttygen.exe</code>.<br>
|
windows ejecutamos <code>puttygen.exe</code>.<br />
|
||||||
Generamos claves SSH-2_DSA, 1024:<br><br>
|
Generamos claves SSH-2_DSA, 1024:<br /><br />
|
||||||
<img src="images/1.jpg"><br><br>
|
<img src="images/1.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Pulsamos «Generate»
|
Pulsamos «Generate» para generar la clave.<br />
|
||||||
para generar la clave.<br>
|
Exportamos la clave a formato OpenSSH<br /><br />
|
||||||
Exportamos la clave a formato OpenSSH<br><br>
|
<img src="images/2.jpg" /><br /><br />
|
||||||
<img src="images/2.jpg"><br><br>
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
No elegimos contraseña, con lo cual pulsamos «Sí»:<br><br>
|
No elegimos contraseña, con lo cual pulsamos «Sí»:<br /><br />
|
||||||
<img src="images/3.jpg"><br><br>
|
<img src="images/3.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Guardamos la clave como <code>C:\pandora\keys\id_dsa:</code><br><br>
|
Guardamos la clave como <code>C:\pandora\keys\id_dsa:</code><br /><br />
|
||||||
<img src="images/4.jpg"><br><br>
|
<img src="images/4.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Ahora copiamos la clave pública al portapapeles:<br><br>
|
Ahora copiamos la clave pública al portapapeles:<br /><br />
|
||||||
<img src="images/5.jpg"><br><br>
|
<img src="images/5.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Pegamos la clave en un nuevo fichero <code>C:\pandora_agent\keys\id_dsa.pub</code>,
|
Pegamos la clave en un nuevo fichero
|
||||||
y debemos también añadirla al fichero <code>/home/pandora/.ssh/authorized_keys</code>.
|
<code>C:\pandora_agent\keys\id_dsa.pub</code>, y debemos también
|
||||||
<br><br>
|
añadirla al fichero <code>/home/pandora/.ssh/authorized_keys</code>.
|
||||||
<img src="images/6.jpg"><br><br>
|
<br /><br />
|
||||||
|
<img src="images/6.jpg" /><br /><br />
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</body></html>
|
</body>
|
||||||
|
</html>
|
||||||
|
@ -99,6 +99,12 @@ server_port 41121
|
|||||||
# Proxy timeout (by default 1s)
|
# Proxy timeout (by default 1s)
|
||||||
# proxy_timeout 1
|
# proxy_timeout 1
|
||||||
|
|
||||||
|
# Address the proxy will listen on.
|
||||||
|
#proxy_address 0.0.0.0
|
||||||
|
|
||||||
|
# Port the proxy will listen on.
|
||||||
|
#proxy_port 41121
|
||||||
|
|
||||||
# Enable or disable XML buffer.
|
# Enable or disable XML buffer.
|
||||||
xml_buffer 1
|
xml_buffer 1
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
Version
|
Version
|
||||||
{200914}
|
{200929}
|
||||||
|
|
||||||
ViewReadme
|
ViewReadme
|
||||||
{Yes}
|
{Yes}
|
||||||
|
@ -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.749(Build 200914)")
|
#define PANDORA_VERSION ("7.0NG.749(Build 200929)")
|
||||||
|
|
||||||
string pandora_path;
|
string pandora_path;
|
||||||
string pandora_dir;
|
string pandora_dir;
|
||||||
|
@ -424,7 +424,7 @@ Pandora_Windows_Service::killTentacleProxy() {
|
|||||||
int
|
int
|
||||||
Pandora_Windows_Service::launchTentacleProxy() {
|
Pandora_Windows_Service::launchTentacleProxy() {
|
||||||
string server_ip, server_port, proxy_max_connections, proxy_timeout, server_ssl;
|
string server_ip, server_port, proxy_max_connections, proxy_timeout, server_ssl;
|
||||||
string proxy_cmd;
|
string proxy_cmd, proxy_address, proxy_port;
|
||||||
PROCESS_INFORMATION pi;
|
PROCESS_INFORMATION pi;
|
||||||
STARTUPINFO si;
|
STARTUPINFO si;
|
||||||
|
|
||||||
@ -460,7 +460,19 @@ Pandora_Windows_Service::launchTentacleProxy() {
|
|||||||
proxy_cmd = "tentacle_server.exe";
|
proxy_cmd = "tentacle_server.exe";
|
||||||
}
|
}
|
||||||
|
|
||||||
proxy_cmd += " -b " + server_ip + " -g " + server_port + " -c " + proxy_max_connections + " -t " + proxy_timeout;
|
// Proxy address.
|
||||||
|
proxy_address = conf->getValue("proxy_address");
|
||||||
|
if (proxy_address == "") {
|
||||||
|
proxy_address = "0.0.0.0";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Proxy port.
|
||||||
|
proxy_port = conf->getValue("proxy_port");
|
||||||
|
if (proxy_port == "") {
|
||||||
|
proxy_port = "41121";
|
||||||
|
}
|
||||||
|
|
||||||
|
proxy_cmd += " -b " + server_ip + " -g " + server_port + " -c " + proxy_max_connections + " -t " + proxy_timeout + " -a " + proxy_address + " -p " + proxy_port;
|
||||||
|
|
||||||
ZeroMemory (&si, sizeof (si));
|
ZeroMemory (&si, sizeof (si));
|
||||||
ZeroMemory (&pi, sizeof (pi));
|
ZeroMemory (&pi, sizeof (pi));
|
||||||
|
@ -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.749(Build 200914))"
|
VALUE "ProductVersion", "(7.0NG.749(Build 200929))"
|
||||||
VALUE "FileVersion", "1.0.0.0"
|
VALUE "FileVersion", "1.0.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-console
|
package: pandorafms-console
|
||||||
Version: 7.0NG.749-200914
|
Version: 7.0NG.749-200929
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -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.749-200914"
|
pandora_version="7.0NG.749-200929"
|
||||||
|
|
||||||
package_pear=0
|
package_pear=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -379,7 +379,7 @@ function get_name_xml_resource($hook_enterprise)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$file = $name.'.ptr';
|
$file = io_safe_output($name).'.ptr';
|
||||||
|
|
||||||
return $file;
|
return $file;
|
||||||
}
|
}
|
||||||
|
25
pandora_console/extras/mr/42.sql
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
START TRANSACTION;
|
||||||
|
|
||||||
|
ALTER TABLE tmetaconsole_event ADD INDEX `tme_timestamp_idx` (`timestamp`);
|
||||||
|
ALTER TABLE tmetaconsole_event ADD INDEX `tme_module_status_idx` (`module_status`);
|
||||||
|
ALTER TABLE tmetaconsole_event ADD INDEX `tme_criticity_idx` (`criticity`);
|
||||||
|
ALTER TABLE tmetaconsole_event ADD INDEX `tme_agent_name_idx` (`agent_name`);
|
||||||
|
|
||||||
|
ALTER TABLE tmetaconsole_agent ADD INDEX `tma_id_os_idx` (`id_os`);
|
||||||
|
ALTER TABLE tmetaconsole_agent ADD INDEX `tma_server_name_idx` (`server_name`);
|
||||||
|
|
||||||
|
ALTER TABLE tmetaconsole_event_history ADD INDEX `tmeh_estado_idx` (`estado`);
|
||||||
|
ALTER TABLE tmetaconsole_event_history ADD INDEX `tmeh_timestamp_idx` (`timestamp`);
|
||||||
|
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field16` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field17` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field18` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field19` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field20` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field16_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field17_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field18_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field19_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field20_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
|
|
||||||
|
COMMIT;
|
@ -978,6 +978,10 @@ CREATE TABLE IF NOT EXISTS `tmetaconsole_event` (
|
|||||||
ALTER TABLE `tmetaconsole_event` ADD COLUMN `data` double(22,5) default NULL;
|
ALTER TABLE `tmetaconsole_event` ADD COLUMN `data` double(22,5) default NULL;
|
||||||
ALTER TABLE `tmetaconsole_event` ADD COLUMN `module_status` int(4) NOT NULL default '0';
|
ALTER TABLE `tmetaconsole_event` ADD COLUMN `module_status` int(4) NOT NULL default '0';
|
||||||
ALTER TABLE `tmetaconsole_event` ADD INDEX `server_id` (`server_id`);
|
ALTER TABLE `tmetaconsole_event` ADD INDEX `server_id` (`server_id`);
|
||||||
|
ALTER TABLE `tmetaconsole_event` ADD INDEX `tme_timestamp_idx` (`timestamp`);
|
||||||
|
ALTER TABLE `tmetaconsole_event` ADD INDEX `tme_module_status_idx` (`module_status`);
|
||||||
|
ALTER TABLE `tmetaconsole_event` ADD INDEX `tme_criticity_idx` (`criticity`);
|
||||||
|
ALTER TABLE `tmetaconsole_event` ADD INDEX `tme_agent_name_idx` (`agent_name`);
|
||||||
|
|
||||||
-- ---------------------------------------------------------------------
|
-- ---------------------------------------------------------------------
|
||||||
-- Table `tmetaconsole_event_history`
|
-- Table `tmetaconsole_event_history`
|
||||||
@ -1026,6 +1030,8 @@ CREATE TABLE IF NOT EXISTS `tmetaconsole_event_history` (
|
|||||||
|
|
||||||
ALTER TABLE `tmetaconsole_event_history` ADD COLUMN `data` double(22,5) default NULL;
|
ALTER TABLE `tmetaconsole_event_history` ADD COLUMN `data` double(22,5) default NULL;
|
||||||
ALTER TABLE `tmetaconsole_event_history` ADD COLUMN `module_status` int(4) NOT NULL default '0';
|
ALTER TABLE `tmetaconsole_event_history` ADD COLUMN `module_status` int(4) NOT NULL default '0';
|
||||||
|
ALTER TABLE `tmetaconsole_event_history` ADD INDEX `tmeh_estado_idx` (`estado`);
|
||||||
|
ALTER TABLE `tmetaconsole_event_history` ADD INDEX `tmeh_timestamp_idx` (`timestamp`);
|
||||||
-- ---------------------------------------------------------------------
|
-- ---------------------------------------------------------------------
|
||||||
-- Table `textension_translate_string`
|
-- Table `textension_translate_string`
|
||||||
-- ---------------------------------------------------------------------
|
-- ---------------------------------------------------------------------
|
||||||
@ -1119,7 +1125,9 @@ ALTER TABLE `tmetaconsole_agent` ADD COLUMN `remote` tinyint(1) NOT NULL DEFAULT
|
|||||||
ADD COLUMN `alias` varchar(600) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
ADD COLUMN `alias` varchar(600) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||||
MODIFY COLUMN `update_secondary_groups` tinyint(1) NOT NULL DEFAULT '0',
|
MODIFY COLUMN `update_secondary_groups` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
MODIFY COLUMN `alias_as_name` tinyint(2) NOT NULL DEFAULT '0',
|
MODIFY COLUMN `alias_as_name` tinyint(2) NOT NULL DEFAULT '0',
|
||||||
ADD INDEX `id_tagente_idx` (`id_tagente`);
|
ADD INDEX `id_tagente_idx` (`id_tagente`),
|
||||||
|
ADD INDEX `tma_id_os_idx` (`id_os`),
|
||||||
|
ADD INDEX `tma_server_name_idx` (`server_name`);
|
||||||
|
|
||||||
-- ---------------------------------------------------------------------
|
-- ---------------------------------------------------------------------
|
||||||
-- Table `ttransaction`
|
-- Table `ttransaction`
|
||||||
@ -1308,11 +1316,21 @@ ALTER TABLE talert_actions ADD COLUMN `field12` TEXT NOT NULL DEFAULT "";
|
|||||||
ALTER TABLE talert_actions ADD COLUMN `field13` TEXT NOT NULL DEFAULT "";
|
ALTER TABLE talert_actions ADD COLUMN `field13` TEXT NOT NULL DEFAULT "";
|
||||||
ALTER TABLE talert_actions ADD COLUMN `field14` TEXT NOT NULL DEFAULT "";
|
ALTER TABLE talert_actions ADD COLUMN `field14` TEXT NOT NULL DEFAULT "";
|
||||||
ALTER TABLE talert_actions ADD COLUMN `field15` TEXT NOT NULL DEFAULT "";
|
ALTER TABLE talert_actions ADD COLUMN `field15` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field16` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field17` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field18` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field19` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field20` TEXT NOT NULL DEFAULT "";
|
||||||
ALTER TABLE talert_actions ADD COLUMN `field11_recovery` TEXT NOT NULL DEFAULT "";
|
ALTER TABLE talert_actions ADD COLUMN `field11_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
ALTER TABLE talert_actions ADD COLUMN `field12_recovery` TEXT NOT NULL DEFAULT "";
|
ALTER TABLE talert_actions ADD COLUMN `field12_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
ALTER TABLE talert_actions ADD COLUMN `field13_recovery` TEXT NOT NULL DEFAULT "";
|
ALTER TABLE talert_actions ADD COLUMN `field13_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
ALTER TABLE talert_actions ADD COLUMN `field14_recovery` TEXT NOT NULL DEFAULT "";
|
ALTER TABLE talert_actions ADD COLUMN `field14_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
ALTER TABLE talert_actions ADD COLUMN `field15_recovery` TEXT NOT NULL DEFAULT "";
|
ALTER TABLE talert_actions ADD COLUMN `field15_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field16_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field17_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field18_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field19_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
|
ALTER TABLE talert_actions ADD COLUMN `field20_recovery` TEXT NOT NULL DEFAULT "";
|
||||||
ALTER TABLE `talert_actions` ADD COLUMN `previous_name` text;
|
ALTER TABLE `talert_actions` ADD COLUMN `previous_name` text;
|
||||||
|
|
||||||
ALTER TABLE `talert_actions` MODIFY COLUMN `field11` text NOT NULL,
|
ALTER TABLE `talert_actions` MODIFY COLUMN `field11` text NOT NULL,
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
$stacked = db_get_sql('select stacked from tgraph where id_graph = '.$_GET['data']);
|
$data = (int) get_parameter('data');
|
||||||
$num_items = db_get_sql('select count(*) from tgraph_source where id_graph = '.$_GET['data']);
|
$stacked = db_get_sql('select stacked from tgraph where id_graph = '.$data);
|
||||||
|
$num_items = db_get_sql('select count(*) from tgraph_source where id_graph = '.$data);
|
||||||
echo "$stacked,$num_items";
|
echo "$stacked,$num_items";
|
||||||
|
@ -86,7 +86,7 @@ $login_body_class = '';
|
|||||||
// Overrides the default background with the defined by the user.
|
// Overrides the default background with the defined by the user.
|
||||||
if (!empty($config['login_background'])) {
|
if (!empty($config['login_background'])) {
|
||||||
$background_url = 'images/backgrounds/'.$config['login_background'];
|
$background_url = 'images/backgrounds/'.$config['login_background'];
|
||||||
$login_body_style = "style=\"background:linear-gradient(74deg, #02020255 36%, transparent 36%), url('".$background_url."');\"";
|
$login_body_style = "style=\"background:linear-gradient(74deg, rgba(2, 2, 2, 0.333) 36%, transparent 36%), url('".$background_url."');\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Support for Internet Explorer and Microsoft Edge browsers
|
// Support for Internet Explorer and Microsoft Edge browsers
|
||||||
|
@ -1115,7 +1115,7 @@ if ($update_agent) {
|
|||||||
ui_print_success_message(__('Successfully updated'));
|
ui_print_success_message(__('Successfully updated'));
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Agent management',
|
'Agent management',
|
||||||
'Updated agent '.$alias,
|
'Updated agent '.io_safe_output($alias),
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
$info
|
$info
|
||||||
@ -1650,7 +1650,7 @@ if ($update_module) {
|
|||||||
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Agent management',
|
'Agent management',
|
||||||
"Fail to try update module '".$name."' for agent ".$agent['alias']
|
"Fail to try update module '".io_safe_output($name)."' for agent ".io_safe_output($agent['alias'])
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
if ($prediction_module == 3) {
|
if ($prediction_module == 3) {
|
||||||
@ -1674,7 +1674,7 @@ if ($update_module) {
|
|||||||
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Agent management',
|
'Agent management',
|
||||||
"Updated module '".$name."' for agent ".$agent['alias'],
|
"Updated module '".io_safe_output($name)."' for agent ".io_safe_output($agent['alias']),
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
io_json_mb_encode($values)
|
io_json_mb_encode($values)
|
||||||
@ -1834,7 +1834,7 @@ if ($create_module) {
|
|||||||
$moduletype = $id_module;
|
$moduletype = $id_module;
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Agent management',
|
'Agent management',
|
||||||
"Fail to try added module '".$name."' for agent ".$agent['alias']
|
"Fail to try added module '".io_safe_output($name)."' for agent ".io_safe_output($agent['alias'])
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
if ($prediction_module == 3) {
|
if ($prediction_module == 3) {
|
||||||
@ -1859,7 +1859,7 @@ if ($create_module) {
|
|||||||
$agent = db_get_row('tagente', 'id_agente', $id_agente);
|
$agent = db_get_row('tagente', 'id_agente', $id_agente);
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Agent management',
|
'Agent management',
|
||||||
"Added module '".$name."' for agent ".$agent['alias'],
|
"Added module '".io_safe_output($name)."' for agent ".io_safe_output($agent['alias']),
|
||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
io_json_mb_encode($values)
|
io_json_mb_encode($values)
|
||||||
@ -1894,12 +1894,12 @@ if ($enable_module) {
|
|||||||
if ($result === NOERR) {
|
if ($result === NOERR) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Module management',
|
'Module management',
|
||||||
'Enable #'.$enable_module.' | '.$module_name.' | '.$agent['alias']
|
'Enable #'.$enable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Module management',
|
'Module management',
|
||||||
'Fail to enable #'.$enable_module.' | '.$module_name.' | '.$agent['alias']
|
'Fail to enable #'.$enable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1929,12 +1929,12 @@ if ($disable_module) {
|
|||||||
if ($result === NOERR) {
|
if ($result === NOERR) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Module management',
|
'Module management',
|
||||||
'Disable #'.$disable_module.' | '.$module_name.' | '.$agent['alias']
|
'Disable #'.$disable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Module management',
|
'Module management',
|
||||||
'Fail to disable #'.$disable_module.' | '.$module_name.' | '.$agent['alias']
|
'Fail to disable #'.$disable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2108,7 +2108,7 @@ if ($delete_module) {
|
|||||||
$agent = db_get_row('tagente', 'id_agente', $id_agente);
|
$agent = db_get_row('tagente', 'id_agente', $id_agente);
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Agent management',
|
'Agent management',
|
||||||
"Deleted module '".$module_data['nombre']."' for agent ".$agent['alias']
|
"Deleted module '".io_safe_output($module_data['nombre'])."' for agent ".io_safe_output($agent['alias'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2163,7 +2163,7 @@ if (!empty($duplicate_module)) {
|
|||||||
if ($enable_module) {
|
if ($enable_module) {
|
||||||
$result = modules_change_disabled($enable_module, 0);
|
$result = modules_change_disabled($enable_module, 0);
|
||||||
$modulo_nombre = db_get_row_sql('SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = '.$enable_module.'');
|
$modulo_nombre = db_get_row_sql('SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = '.$enable_module.'');
|
||||||
$modulo_nombre = $modulo_nombre['nombre'];
|
$modulo_nombre = io_safe_output($modulo_nombre['nombre']);
|
||||||
|
|
||||||
if ($result === NOERR) {
|
if ($result === NOERR) {
|
||||||
enterprise_hook('config_agents_enable_module_conf', [$id_agente, $enable_module]);
|
enterprise_hook('config_agents_enable_module_conf', [$id_agente, $enable_module]);
|
||||||
@ -2182,7 +2182,7 @@ if ($enable_module) {
|
|||||||
if ($disable_module) {
|
if ($disable_module) {
|
||||||
$result = modules_change_disabled($disable_module, 1);
|
$result = modules_change_disabled($disable_module, 1);
|
||||||
$modulo_nombre = db_get_row_sql('SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = '.$disable_module.'');
|
$modulo_nombre = db_get_row_sql('SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = '.$disable_module.'');
|
||||||
$modulo_nombre = $modulo_nombre['nombre'];
|
$modulo_nombre = io_safe_output($modulo_nombre['nombre']);
|
||||||
|
|
||||||
if ($result === NOERR) {
|
if ($result === NOERR) {
|
||||||
enterprise_hook('config_agents_disable_module_conf', [$id_agente, $disable_module]);
|
enterprise_hook('config_agents_disable_module_conf', [$id_agente, $disable_module]);
|
||||||
|
@ -115,7 +115,7 @@ if ($agent_to_delete) {
|
|||||||
|
|
||||||
if ($enable_agent) {
|
if ($enable_agent) {
|
||||||
$result = db_process_sql_update('tagente', ['disabled' => 0], ['id_agente' => $enable_agent]);
|
$result = db_process_sql_update('tagente', ['disabled' => 0], ['id_agente' => $enable_agent]);
|
||||||
$alias = agents_get_alias($enable_agent);
|
$alias = io_safe_output(agents_get_alias($enable_agent));
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
// Update the agent from the metaconsole cache.
|
// Update the agent from the metaconsole cache.
|
||||||
@ -137,7 +137,7 @@ if ($enable_agent) {
|
|||||||
|
|
||||||
if ($disable_agent) {
|
if ($disable_agent) {
|
||||||
$result = db_process_sql_update('tagente', ['disabled' => 1], ['id_agente' => $disable_agent]);
|
$result = db_process_sql_update('tagente', ['disabled' => 1], ['id_agente' => $disable_agent]);
|
||||||
$alias = agents_get_alias($disable_agent);
|
$alias = io_safe_output(agents_get_alias($disable_agent));
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
// Update the agent from the metaconsole cache.
|
// Update the agent from the metaconsole cache.
|
||||||
|
@ -382,7 +382,7 @@ if ($disabledBecauseInPolicy) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$table_simple->data[2][0] = __('Warning status');
|
$table_simple->data[2][0] = __('Warning threshold');
|
||||||
if (!modules_is_string_type($id_module_type) || $edit) {
|
if (!modules_is_string_type($id_module_type) || $edit) {
|
||||||
$table_simple->data[2][1] .= '<span id="minmax_warning"><em>'.__('Min. ').'</em>';
|
$table_simple->data[2][1] .= '<span id="minmax_warning"><em>'.__('Min. ').'</em>';
|
||||||
$table_simple->data[2][1] .= html_print_input_text(
|
$table_simple->data[2][1] .= html_print_input_text(
|
||||||
@ -435,7 +435,7 @@ if (!modules_is_string_type($id_module_type) || $edit) {
|
|||||||
$table_simple->data[2][2] = '<svg id="svg_dinamic" width="500" height="300"> </svg>';
|
$table_simple->data[2][2] = '<svg id="svg_dinamic" width="500" height="300"> </svg>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$table_simple->data[3][0] = __('Critical status');
|
$table_simple->data[3][0] = __('Critical threshold');
|
||||||
if (!modules_is_string_type($id_module_type) || $edit) {
|
if (!modules_is_string_type($id_module_type) || $edit) {
|
||||||
$table_simple->data[3][1] .= '<span id="minmax_critical"><em>'.__('Min. ').'</em>';
|
$table_simple->data[3][1] .= '<span id="minmax_critical"><em>'.__('Min. ').'</em>';
|
||||||
$table_simple->data[3][1] .= html_print_input_text(
|
$table_simple->data[3][1] .= html_print_input_text(
|
||||||
|
@ -208,18 +208,21 @@ if ($delete_alert) {
|
|||||||
$agent_alias = agents_get_alias(
|
$agent_alias = agents_get_alias(
|
||||||
db_get_value('id_agente', 'tagente_modulo', 'id_agente_modulo', $id_agent_module)
|
db_get_value('id_agente', 'tagente_modulo', 'id_agente_modulo', $id_agent_module)
|
||||||
);
|
);
|
||||||
|
$unsafe_alert_template_name = io_safe_output($alert_template_name);
|
||||||
|
$unsafe_module_name = io_safe_output($module_name);
|
||||||
|
$unsafe_agent_alias = io_safe_output($agent_alias);
|
||||||
|
|
||||||
$result = alerts_delete_alert_agent_module($id_alert_agent_module);
|
$result = alerts_delete_alert_agent_module($id_alert_agent_module);
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Alert management',
|
'Alert management',
|
||||||
"Deleted alert '$alert_template_name' for module '$module_name' in agent '$agent_alias'"
|
"Deleted alert '$unsafe_alert_template_name' for module '$unsafe_module_name' in agent '$unsafe_agent_alias'"
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Alert management',
|
'Alert management',
|
||||||
"Fail to deleted alert '$alert_template_name' for module '$module_name' in agent '$agent_alias'"
|
"Fail to deleted alert '$unsafe_alert_template_name' for module '$unsafe_module_name' in agent '$unsafe_agent_alias'"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ if ($create_special_day) {
|
|||||||
$same_day = (string) get_parameter('same_day');
|
$same_day = (string) get_parameter('same_day');
|
||||||
$values = [];
|
$values = [];
|
||||||
$values['id_group'] = (string) get_parameter('id_group');
|
$values['id_group'] = (string) get_parameter('id_group');
|
||||||
$values['description'] = (string) get_parameter('description');
|
$values['description'] = io_safe_input(strip_tags(io_safe_output((string) get_parameter('description'))));
|
||||||
|
|
||||||
$aviable_description = true;
|
$aviable_description = true;
|
||||||
if (preg_match('/script/i', $values['description'])) {
|
if (preg_match('/script/i', $values['description'])) {
|
||||||
@ -180,7 +180,7 @@ if ($update_special_day) {
|
|||||||
$date = (string) get_parameter('date');
|
$date = (string) get_parameter('date');
|
||||||
$date_orig = (string) get_parameter('date_orig');
|
$date_orig = (string) get_parameter('date_orig');
|
||||||
$same_day = (string) get_parameter('same_day');
|
$same_day = (string) get_parameter('same_day');
|
||||||
$description = (string) get_parameter('description');
|
$description = io_safe_input(strip_tags(io_safe_output((string) get_parameter('description'))));
|
||||||
$id_group = (string) get_parameter('id_group');
|
$id_group = (string) get_parameter('id_group');
|
||||||
$id_group_orig = (string) get_parameter('id_group_orig');
|
$id_group_orig = (string) get_parameter('id_group_orig');
|
||||||
|
|
||||||
@ -517,7 +517,11 @@ for ($month = 1; $month <= 12; $month++) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Only show description if is filled.
|
||||||
|
if (empty($special_day['description']) === false) {
|
||||||
$cal_table->data[$cal_line][$week] .= ui_print_help_tip($special_day['description'], true);
|
$cal_table->data[$cal_line][$week] .= ui_print_help_tip($special_day['description'], true);
|
||||||
|
}
|
||||||
|
|
||||||
if ($special_day['id_group'] || ($can_manage_group_all && $special_day['id_group'] == 0)) {
|
if ($special_day['id_group'] || ($can_manage_group_all && $special_day['id_group'] == 0)) {
|
||||||
$cal_table->data[$cal_line][$week] .= '<a href="index.php?sec=galertas&sec2=godmode/alerts/configure_alert_special_days&id='.$special_day['id'].'" title=';
|
$cal_table->data[$cal_line][$week] .= '<a href="index.php?sec=galertas&sec2=godmode/alerts/configure_alert_special_days&id='.$special_day['id'].'" title=';
|
||||||
$cal_table->data[$cal_line][$week] .= __('Edit');
|
$cal_table->data[$cal_line][$week] .= __('Edit');
|
||||||
|
@ -472,23 +472,15 @@ $(document).ready (function () {
|
|||||||
$table_macros_field.show();
|
$table_macros_field.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
tinyMCE.init({
|
var added_config = {
|
||||||
selector: 'textarea.tiny-mce-editor',
|
"selector": "textarea.tiny-mce-editor",
|
||||||
theme : "advanced",
|
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
|
||||||
plugins : "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
|
"theme_advanced_buttons1": "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect",
|
||||||
theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select",
|
"theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
|
||||||
theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
|
"valid_children": "+body[style]",
|
||||||
theme_advanced_buttons3 : "",
|
"width": "90%",
|
||||||
theme_advanced_toolbar_location : "top",
|
}
|
||||||
theme_advanced_toolbar_align : "left",
|
defineTinyMCE(added_config);
|
||||||
theme_advanced_resizing : true,
|
|
||||||
theme_advanced_statusbar_location : "bottom",
|
|
||||||
force_p_newlines : false,
|
|
||||||
forced_root_block : '',
|
|
||||||
inline_styles : true,
|
|
||||||
valid_children : "+body[style]",
|
|
||||||
element_format : "html"
|
|
||||||
});
|
|
||||||
|
|
||||||
render_command_preview(original_command);
|
render_command_preview(original_command);
|
||||||
render_command_recovery_preview(original_command);
|
render_command_recovery_preview(original_command);
|
||||||
|
@ -741,7 +741,10 @@ if ($step == 2) {
|
|||||||
1,
|
1,
|
||||||
$min_alerts_reset_counter,
|
$min_alerts_reset_counter,
|
||||||
true,
|
true,
|
||||||
$is_central_policies_on_node
|
$is_central_policies_on_node,
|
||||||
|
'',
|
||||||
|
false,
|
||||||
|
$create_template == 1 ? 'checked=checked' : ''
|
||||||
);
|
);
|
||||||
|
|
||||||
$table->data[4][0] = __('Max. number of alerts');
|
$table->data[4][0] = __('Max. number of alerts');
|
||||||
@ -1507,23 +1510,19 @@ if ($step == 2) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
tinyMCE.init({
|
var added_config = {
|
||||||
selector: 'textarea.tiny-mce-editor',
|
"selector": 'textarea.tiny-mce-editor',
|
||||||
theme : "advanced",
|
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
|
||||||
plugins : "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
|
"theme_advanced_buttons1": "bold,italic,underline,|,cut,copy,paste,|,justifyleft,justifycenter,justifyright,|,forecolor,backcolor,|,formatselect,fontselect,fontsizeselect",
|
||||||
theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select",
|
"theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview",
|
||||||
theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
|
"force_p_newlines" : false,
|
||||||
theme_advanced_buttons3 : "",
|
"forced_root_block" : '',
|
||||||
theme_advanced_toolbar_location : "top",
|
"inline_styles": true,
|
||||||
theme_advanced_toolbar_align : "left",
|
"valid_children": "+body[style]",
|
||||||
theme_advanced_resizing : true,
|
}
|
||||||
theme_advanced_statusbar_location : "bottom",
|
|
||||||
force_p_newlines : false,
|
defineTinyMCE(added_config);
|
||||||
forced_root_block : '',
|
|
||||||
inline_styles : true,
|
|
||||||
valid_children : "+body[style]",
|
|
||||||
element_format : "html"
|
|
||||||
});
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -135,7 +135,7 @@ if (is_ajax()) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($search != '') {
|
if ($search != '') {
|
||||||
$filter['string'] = $search;
|
$filter['aliasRegex'] = $search;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($status_agents != AGENT_STATUS_ALL) {
|
if ($status_agents != AGENT_STATUS_ALL) {
|
||||||
@ -170,6 +170,15 @@ if (is_ajax()) {
|
|||||||
$force_serialized
|
$force_serialized
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$agents_aux = [];
|
||||||
|
foreach ($agents as $key => $value) {
|
||||||
|
if (preg_match('/'.$search.'/', io_safe_output($value))) {
|
||||||
|
$agents_aux[$key] = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$agents = $agents_aux;
|
||||||
|
|
||||||
$agents_disabled = [];
|
$agents_disabled = [];
|
||||||
// Add keys prefix.
|
// Add keys prefix.
|
||||||
if ($keys_prefix !== '') {
|
if ($keys_prefix !== '') {
|
||||||
|
@ -14,7 +14,8 @@
|
|||||||
// Load global vars
|
// Load global vars
|
||||||
check_login();
|
check_login();
|
||||||
|
|
||||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
|
||||||
|
if (!check_acl($config['id_user'], 0, 'UM')) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'ACL Violation',
|
'ACL Violation',
|
||||||
'Trying to access massive profile addition'
|
'Trying to access massive profile addition'
|
||||||
@ -108,7 +109,9 @@ $table->size[2] = '33%';
|
|||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
$data[0] = '<form method="post" id="form_profiles" action="index.php?sec=gmassive&sec2=godmode/massive/massive_operations&tab=massive_users&option=add_profiles">';
|
$data[0] = '<form method="post" id="form_profiles" action="index.php?sec=gmassive&sec2=godmode/massive/massive_operations&tab=massive_users&option=add_profiles">';
|
||||||
$data[0] .= html_print_select(
|
$display_all_group = true;
|
||||||
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
||||||
|
$data[0] .= html_print_select(
|
||||||
profile_get_profiles(),
|
profile_get_profiles(),
|
||||||
'profiles_id[]',
|
'profiles_id[]',
|
||||||
'',
|
'',
|
||||||
@ -121,11 +124,35 @@ $data[0] .= html_print_select(
|
|||||||
'',
|
'',
|
||||||
false,
|
false,
|
||||||
'width: 100%'
|
'width: 100%'
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
$display_all_group = false;
|
||||||
|
$data[0] .= html_print_select(
|
||||||
|
profile_get_profiles(
|
||||||
|
[
|
||||||
|
'pandora_management' => '<> 1',
|
||||||
|
'db_management' => '<> 1',
|
||||||
|
'user_management' => '<> 1',
|
||||||
|
]
|
||||||
|
),
|
||||||
|
'profiles_id[]',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
'',
|
||||||
|
false,
|
||||||
|
'width: 100%'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$data[1] = html_print_select_groups(
|
$data[1] = html_print_select_groups(
|
||||||
$config['id_user'],
|
$config['id_user'],
|
||||||
'UM',
|
'UM',
|
||||||
true,
|
$display_all_group,
|
||||||
'groups_id[]',
|
'groups_id[]',
|
||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
@ -146,8 +173,25 @@ $users_order = [
|
|||||||
'field' => 'id_user',
|
'field' => 'id_user',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$info_users = [];
|
||||||
|
// Is admin or has group permissions all.
|
||||||
|
if (check_acl($config['id_user'], 0, 'PM') || isset($group_um[0])) {
|
||||||
|
$info_users = users_get_info($users_order, 'id_user');
|
||||||
|
} else {
|
||||||
|
$info = [];
|
||||||
|
$group_um = users_get_groups_UM($config['id_user']);
|
||||||
|
foreach ($group_um as $group => $value) {
|
||||||
|
$info = array_merge($info, users_get_users_by_group($group, $value));
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($info as $key => $value) {
|
||||||
|
$info_users[$key] = $value['id_user'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$data[2] .= html_print_select(
|
$data[2] .= html_print_select(
|
||||||
users_get_info($users_order, 'id_user'),
|
$info_users,
|
||||||
'users_id[]',
|
'users_id[]',
|
||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
@ -161,7 +205,6 @@ $data[2] .= html_print_select(
|
|||||||
'width: 100%'
|
'width: 100%'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
array_push($table->data, $data);
|
array_push($table->data, $data);
|
||||||
|
|
||||||
html_print_table($table);
|
html_print_table($table);
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
// Load global vars
|
// Load global vars
|
||||||
check_login();
|
check_login();
|
||||||
|
|
||||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
if (! check_acl($config['id_user'], 0, 'UM')) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'ACL Violation',
|
'ACL Violation',
|
||||||
'Trying to access massive profile deletion'
|
'Trying to access massive profile deletion'
|
||||||
@ -48,37 +48,27 @@ $delete_profiles = (int) get_parameter('delete_profiles');
|
|||||||
if ($delete_profiles) {
|
if ($delete_profiles) {
|
||||||
$profiles_id = get_parameter('profiles_id', -1);
|
$profiles_id = get_parameter('profiles_id', -1);
|
||||||
$groups_id = get_parameter('groups_id', -1);
|
$groups_id = get_parameter('groups_id', -1);
|
||||||
$users_id = get_parameter('users_id', -1);
|
$users = get_parameter('users_id', -1);
|
||||||
|
|
||||||
if ($profiles_id == -1 || $groups_id == -1 || $users_id == -1) {
|
if ($profiles_id == -1 || $groups_id == -1 || $users == -1) {
|
||||||
$result = false;
|
$result = false;
|
||||||
} else {
|
} else {
|
||||||
foreach ($profiles_id as $profile) {
|
foreach ($users as $user) {
|
||||||
foreach ($groups_id as $group) {
|
|
||||||
foreach ($users_id as $id_up) {
|
|
||||||
if ($id_up == 0) {
|
|
||||||
ui_print_error_message(__('Not deleted. You must select an existing user'));
|
|
||||||
$result = '';
|
|
||||||
} else {
|
|
||||||
$user = (string) db_get_value_filter('id_usuario', 'tusuario_perfil', ['id_up' => $id_up]);
|
|
||||||
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
'Deleted profile for user '.io_safe_input($user)
|
'Deleted profile for user '.io_safe_input($user)
|
||||||
);
|
);
|
||||||
|
|
||||||
$result = profile_delete_user_profile($user, $id_up);
|
$result = profile_delete_user_profile_group($user, $profiles_id[0], $groups_id[0]);
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$info = [
|
$info = [
|
||||||
'Profiles' => implode(',', $profiles_id),
|
'Profiles' => implode(',', $profiles_id),
|
||||||
'Groups' => implode(',', $groups_id),
|
'Groups' => implode(',', $groups_id),
|
||||||
'Users' => implode(',', $users_id),
|
'Users' => implode(',', $users),
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
db_pandora_audit('Massive management', 'Delete profile ', false, false, json_encode($info));
|
db_pandora_audit('Massive management', 'Delete profile ', false, false, json_encode($info));
|
||||||
} else {
|
} else {
|
||||||
@ -115,7 +105,9 @@ $table->size[2] = '33%';
|
|||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
$data[0] = '<form method="post" id="form_profiles" action="index.php?sec=gmassive&sec2=godmode/massive/massive_operations&tab=massive_users&option=delete_profiles">';
|
$data[0] = '<form method="post" id="form_profiles" action="index.php?sec=gmassive&sec2=godmode/massive/massive_operations&tab=massive_users&option=delete_profiles">';
|
||||||
$data[0] .= html_print_select(
|
$display_all_group = true;
|
||||||
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
||||||
|
$data[0] .= html_print_select(
|
||||||
profile_get_profiles(),
|
profile_get_profiles(),
|
||||||
'profiles_id[]',
|
'profiles_id[]',
|
||||||
'',
|
'',
|
||||||
@ -128,11 +120,35 @@ $data[0] .= html_print_select(
|
|||||||
'',
|
'',
|
||||||
false,
|
false,
|
||||||
'width: 100%'
|
'width: 100%'
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
$display_all_group = false;
|
||||||
|
$data[0] .= html_print_select(
|
||||||
|
profile_get_profiles(
|
||||||
|
[
|
||||||
|
'pandora_management' => '<> 1',
|
||||||
|
'db_management' => '<> 1',
|
||||||
|
'user_management' => '<> 1',
|
||||||
|
]
|
||||||
|
),
|
||||||
|
'profiles_id[]',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'',
|
||||||
|
false,
|
||||||
|
'width: 100%'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$data[1] = html_print_select_groups(
|
$data[1] = html_print_select_groups(
|
||||||
$config['id_user'],
|
$config['id_user'],
|
||||||
'UM',
|
'UM',
|
||||||
true,
|
$display_all_group,
|
||||||
'groups_id[]',
|
'groups_id[]',
|
||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
@ -153,8 +169,9 @@ $users_order = [
|
|||||||
'field' => 'id_user',
|
'field' => 'id_user',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
|
|
||||||
$data[2] .= html_print_select(
|
$data[2] .= html_print_select(
|
||||||
users_get_info($users_order, 'id_user'),
|
[],
|
||||||
'users_id[]',
|
'users_id[]',
|
||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
@ -168,7 +185,6 @@ $data[2] .= html_print_select(
|
|||||||
'width: 100%'
|
'width: 100%'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
array_push($table->data, $data);
|
array_push($table->data, $data);
|
||||||
|
|
||||||
html_print_table($table);
|
html_print_table($table);
|
||||||
@ -192,11 +208,13 @@ ui_require_jquery_file('pandora.controls');
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* <![CDATA[ */
|
/* <![CDATA[ */
|
||||||
$(document).ready (function () {
|
$(document).ready (function () {
|
||||||
|
update_users();
|
||||||
|
|
||||||
function update_users() {
|
function update_users() {
|
||||||
var $select = $("#users_id").disable ();
|
var $select = $("#users_id").disable ();
|
||||||
$("#users_loading").show ();
|
$("#users_loading").show ();
|
||||||
$("option", $select).remove ();
|
$("option", $select).remove ();
|
||||||
|
console.log($("#groups_id").val());
|
||||||
jQuery.post ("ajax.php",
|
jQuery.post ("ajax.php",
|
||||||
{"page" : "godmode/massive/massive_delete_profiles",
|
{"page" : "godmode/massive/massive_delete_profiles",
|
||||||
"get_users" : 1,
|
"get_users" : 1,
|
||||||
@ -206,7 +224,7 @@ $(document).ready (function () {
|
|||||||
function (data, status) {
|
function (data, status) {
|
||||||
options = "";
|
options = "";
|
||||||
jQuery.each (data, function (id, value) {
|
jQuery.each (data, function (id, value) {
|
||||||
options += "<option value=\""+id+"\">"+value+"</option>";
|
options += "<option value=\""+value+"\">"+value+"</option>";
|
||||||
});
|
});
|
||||||
$("#users_id").append (options);
|
$("#users_id").append (options);
|
||||||
$("#users_loading").hide ();
|
$("#users_loading").hide ();
|
||||||
|
@ -767,7 +767,7 @@ $table->data['edit1'][1] = '<table width="100%">';
|
|||||||
$table->data['edit35'][2] = __('SNMP version');
|
$table->data['edit35'][2] = __('SNMP version');
|
||||||
$table->data['edit35'][3] = html_print_select(
|
$table->data['edit35'][3] = html_print_select(
|
||||||
$snmp_versions,
|
$snmp_versions,
|
||||||
'tcp_send',
|
'snmp_version',
|
||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
__('No change'),
|
__('No change'),
|
||||||
@ -1933,6 +1933,7 @@ function process_manage_edit($module_name, $agents_select=null, $module_status='
|
|||||||
'command_text',
|
'command_text',
|
||||||
'command_credential_identifier',
|
'command_credential_identifier',
|
||||||
'command_os',
|
'command_os',
|
||||||
|
'snmp_version',
|
||||||
];
|
];
|
||||||
$values = [];
|
$values = [];
|
||||||
|
|
||||||
@ -2028,9 +2029,7 @@ function process_manage_edit($module_name, $agents_select=null, $module_status='
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'tcp_send2':
|
case 'tcp_send2':
|
||||||
if ($value != '') {
|
$tcp_send2 = $value;
|
||||||
$values['tcp_send'] = $value;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'plugin_parameter_text':
|
case 'plugin_parameter_text':
|
||||||
@ -2039,6 +2038,10 @@ function process_manage_edit($module_name, $agents_select=null, $module_status='
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'snmp_version':
|
||||||
|
$snmp_version = $value;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if ($value != '') {
|
if ($value != '') {
|
||||||
$values[$field] = $value;
|
$values[$field] = $value;
|
||||||
@ -2096,7 +2099,10 @@ function process_manage_edit($module_name, $agents_select=null, $module_status='
|
|||||||
$modules = db_get_all_rows_filter(
|
$modules = db_get_all_rows_filter(
|
||||||
'tagente_modulo',
|
'tagente_modulo',
|
||||||
$filter_modules,
|
$filter_modules,
|
||||||
['id_agente_modulo']
|
[
|
||||||
|
'id_agente_modulo',
|
||||||
|
'id_tipo_modulo',
|
||||||
|
]
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
if ($module_name == '0') {
|
if ($module_name == '0') {
|
||||||
@ -2104,7 +2110,10 @@ function process_manage_edit($module_name, $agents_select=null, $module_status='
|
|||||||
$modules = db_get_all_rows_filter(
|
$modules = db_get_all_rows_filter(
|
||||||
'tagente_modulo',
|
'tagente_modulo',
|
||||||
['id_agente' => $agents_select],
|
['id_agente' => $agents_select],
|
||||||
['id_agente_modulo']
|
[
|
||||||
|
'id_agente_modulo',
|
||||||
|
'id_tipo_modulo',
|
||||||
|
]
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
$modules = db_get_all_rows_filter(
|
$modules = db_get_all_rows_filter(
|
||||||
@ -2113,7 +2122,10 @@ function process_manage_edit($module_name, $agents_select=null, $module_status='
|
|||||||
'id_agente' => $agents_select,
|
'id_agente' => $agents_select,
|
||||||
'nombre' => $module_name,
|
'nombre' => $module_name,
|
||||||
],
|
],
|
||||||
['id_agente_modulo']
|
[
|
||||||
|
'id_agente_modulo',
|
||||||
|
'id_tipo_modulo',
|
||||||
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2137,6 +2149,21 @@ function process_manage_edit($module_name, $agents_select=null, $module_status='
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach ($modules as $module) {
|
foreach ($modules as $module) {
|
||||||
|
// Set tcp_send value according to module type since the purpose of this field in database varies in case of SNMP modules.
|
||||||
|
if ($module['id_tipo_modulo'] >= 15 && $module['id_tipo_modulo'] <= 18) {
|
||||||
|
if ($snmp_version != '') {
|
||||||
|
$values['tcp_send'] = $snmp_version;
|
||||||
|
} else {
|
||||||
|
unset($values['tcp_send']);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($tcp_send2 != '') {
|
||||||
|
$values['tcp_send'] = $tcp_send2;
|
||||||
|
} else {
|
||||||
|
unset($values['tcp_send']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$result = modules_update_agent_module(
|
$result = modules_update_agent_module(
|
||||||
$module['id_agente_modulo'],
|
$module['id_agente_modulo'],
|
||||||
$values,
|
$values,
|
||||||
|
@ -47,7 +47,7 @@ $options_agents = [
|
|||||||
'delete_agents' => __('Bulk agent delete'),
|
'delete_agents' => __('Bulk agent delete'),
|
||||||
];
|
];
|
||||||
|
|
||||||
if (check_acl($config['id_user'], 0, 'PM')) {
|
if (check_acl($config['id_user'], 0, 'UM')) {
|
||||||
$options_users = [
|
$options_users = [
|
||||||
'add_profiles' => __('Bulk profile add'),
|
'add_profiles' => __('Bulk profile add'),
|
||||||
'delete_profiles' => __('Bulk profile delete'),
|
'delete_profiles' => __('Bulk profile delete'),
|
||||||
@ -263,7 +263,7 @@ $onheader = [];
|
|||||||
$onheader['massive_agents'] = $agentstab;
|
$onheader['massive_agents'] = $agentstab;
|
||||||
$onheader['massive_modules'] = $modulestab;
|
$onheader['massive_modules'] = $modulestab;
|
||||||
$onheader['massive_plugins'] = $pluginstab;
|
$onheader['massive_plugins'] = $pluginstab;
|
||||||
if (check_acl($config['id_user'], 0, 'PM')) {
|
if (check_acl($config['id_user'], 0, 'UM')) {
|
||||||
$onheader['user_agents'] = $userstab;
|
$onheader['user_agents'] = $userstab;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,7 +184,7 @@ if (check_acl($config['id_user'], 0, 'AW')) {
|
|||||||
$sub2['godmode/massive/massive_operations&tab=massive_agents']['text'] = __('Agents operations');
|
$sub2['godmode/massive/massive_operations&tab=massive_agents']['text'] = __('Agents operations');
|
||||||
$sub2['godmode/massive/massive_operations&tab=massive_modules']['text'] = __('Modules operations');
|
$sub2['godmode/massive/massive_operations&tab=massive_modules']['text'] = __('Modules operations');
|
||||||
$sub2['godmode/massive/massive_operations&tab=massive_plugins']['text'] = __('Plugins operations');
|
$sub2['godmode/massive/massive_operations&tab=massive_plugins']['text'] = __('Plugins operations');
|
||||||
if (check_acl($config['id_user'], 0, 'PM')) {
|
if (check_acl($config['id_user'], 0, 'UM')) {
|
||||||
$sub2['godmode/massive/massive_operations&tab=massive_users']['text'] = __('Users operations');
|
$sub2['godmode/massive/massive_operations&tab=massive_users']['text'] = __('Users operations');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,8 +81,8 @@ if (defined('METACONSOLE')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$type = (int) get_parameter('type');
|
$type = (int) get_parameter('type');
|
||||||
$name = (string) get_parameter('name');
|
$name = io_safe_input(strip_tags(io_safe_output((string) get_parameter('name'))));
|
||||||
$description = (string) get_parameter('description');
|
$description = io_safe_input(strip_tags(io_safe_output((string) get_parameter('description'))));
|
||||||
$max = (int) get_parameter('max');
|
$max = (int) get_parameter('max');
|
||||||
$min = (int) get_parameter('min');
|
$min = (int) get_parameter('min');
|
||||||
$tcp_send = (string) get_parameter('tcp_send');
|
$tcp_send = (string) get_parameter('tcp_send');
|
||||||
|
@ -1024,7 +1024,7 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
<td style="">
|
<td style="">
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'last_value',
|
'last_value',
|
||||||
'1',
|
'1',
|
||||||
((int) $period === 0),
|
((int) $period === 0),
|
||||||
@ -1110,7 +1110,7 @@ $class = 'databox filters';
|
|||||||
<td style="font-weight:bold;"><?php echo __('Only display wrong SLAs'); ?></td>
|
<td style="font-weight:bold;"><?php echo __('Only display wrong SLAs'); ?></td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'checkbox_only_display_wrong',
|
'checkbox_only_display_wrong',
|
||||||
1,
|
1,
|
||||||
$only_display_wrong
|
$only_display_wrong
|
||||||
@ -1125,7 +1125,13 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td style="font-weight:bold;">
|
<td style="font-weight:bold;">
|
||||||
<?php html_print_checkbox('current_month', 1, $current_month); ?>
|
<?php
|
||||||
|
html_print_checkbox_switch(
|
||||||
|
'current_month',
|
||||||
|
1,
|
||||||
|
$current_month
|
||||||
|
);
|
||||||
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
@ -1138,46 +1144,60 @@ $class = 'databox filters';
|
|||||||
<table border="0">
|
<table border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Monday');
|
echo __('Monday')."<br>";
|
||||||
html_print_checkbox('monday', 1, $monday);
|
html_print_checkbox_switch('monday', 1, $monday);
|
||||||
?>
|
?>
|
||||||
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Tuesday');
|
echo __('Tuesday')."<br>";
|
||||||
html_print_checkbox('tuesday', 1, $tuesday);
|
html_print_checkbox_switch('tuesday', 1, $tuesday);
|
||||||
?>
|
?>
|
||||||
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Wednesday');
|
echo __('Wednesday')."<br>";
|
||||||
html_print_checkbox('wednesday', 1, $wednesday);
|
html_print_checkbox_switch('wednesday', 1, $wednesday);
|
||||||
?>
|
?>
|
||||||
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Thursday');
|
echo __('Thursday')."<br>";
|
||||||
html_print_checkbox('thursday', 1, $thursday);
|
html_print_checkbox_switch('thursday', 1, $thursday);
|
||||||
?>
|
?>
|
||||||
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Friday');
|
echo __('Friday')."<br>";
|
||||||
html_print_checkbox('friday', 1, $friday);
|
html_print_checkbox_switch('friday', 1, $friday);
|
||||||
?>
|
?>
|
||||||
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Saturday');
|
echo __('Saturday')."<br>";
|
||||||
html_print_checkbox('saturday', 1, $saturday);
|
html_print_checkbox_switch('saturday', 1, $saturday);
|
||||||
?>
|
?>
|
||||||
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Sunday');
|
echo __('Sunday')."<br>";
|
||||||
html_print_checkbox('sunday', 1, $sunday);
|
html_print_checkbox_switch('sunday', 1, $sunday);
|
||||||
?>
|
?>
|
||||||
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -1224,7 +1244,7 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
<td colspan="6">
|
<td colspan="6">
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'compare_work_time',
|
'compare_work_time',
|
||||||
1,
|
1,
|
||||||
$compare_work_time
|
$compare_work_time
|
||||||
@ -1260,7 +1280,7 @@ $class = 'databox filters';
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
echo ' '.__('Recursion').html_print_checkbox(
|
echo ' '.__('Recursion').' '.html_print_checkbox_switch(
|
||||||
'recursion',
|
'recursion',
|
||||||
1,
|
1,
|
||||||
$recursion,
|
$recursion,
|
||||||
@ -1922,6 +1942,7 @@ $class = 'databox filters';
|
|||||||
250
|
250
|
||||||
);
|
);
|
||||||
?>
|
?>
|
||||||
|
<span id="url_warning_text" class="error" style="display: none; font-weight: bold;"><?php echo __('Protocol must be specified in URL (e.g.: "https://")'); ?></span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr id="row_field_separator" style="" class="datos">
|
<tr id="row_field_separator" style="" class="datos">
|
||||||
@ -1974,7 +1995,7 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'checkbox_row_group_by_agent',
|
'checkbox_row_group_by_agent',
|
||||||
1,
|
1,
|
||||||
$group_by_agent
|
$group_by_agent
|
||||||
@ -2078,7 +2099,7 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'time_compare_overlapped',
|
'time_compare_overlapped',
|
||||||
1,
|
1,
|
||||||
$time_compare_overlapped
|
$time_compare_overlapped
|
||||||
@ -2096,7 +2117,14 @@ $class = 'databox filters';
|
|||||||
);
|
);
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
<td><?php html_print_checkbox('fullscale', 1, $fullscale); ?></td>
|
<td><?php
|
||||||
|
html_print_checkbox_switch(
|
||||||
|
'fullscale',
|
||||||
|
1,
|
||||||
|
$fullscale
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr id="row_percentil" style="" class="datos">
|
<tr id="row_percentil" style="" class="datos">
|
||||||
@ -2166,32 +2194,32 @@ $class = 'databox filters';
|
|||||||
<td>
|
<td>
|
||||||
<p style="margin-right:30px;">
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Total time');
|
echo __('Total time')."<br>";
|
||||||
html_print_checkbox('total_time', 1, $total_time);
|
html_print_checkbox_switch('total_time', 1, $total_time);
|
||||||
?>
|
?>
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p style="margin-right:30px;">
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Time failed');
|
echo __('Time failed')."<br>";
|
||||||
html_print_checkbox('time_failed', 1, $time_failed);
|
html_print_checkbox_switch('time_failed', 1, $time_failed);
|
||||||
?>
|
?>
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p style="margin-right:30px;">
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Time in OK status');
|
echo __('Time in OK status')."<br>";
|
||||||
html_print_checkbox('time_in_ok_status', 1, $time_in_ok_status);
|
html_print_checkbox_switch('time_in_ok_status', 1, $time_in_ok_status);
|
||||||
?>
|
?>
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p style="margin-right:30px;">
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Time in unknown status');
|
echo __('Time in unknown status')."<br>";
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'time_in_unknown_status',
|
'time_in_unknown_status',
|
||||||
1,
|
1,
|
||||||
$time_in_unknown_status
|
$time_in_unknown_status
|
||||||
@ -2202,8 +2230,8 @@ $class = 'databox filters';
|
|||||||
<td>
|
<td>
|
||||||
<p style="margin-right:30px;">
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Time of not initialized module');
|
echo __('Time of not initialized module')."<br>";
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'time_of_not_initialized_module',
|
'time_of_not_initialized_module',
|
||||||
1,
|
1,
|
||||||
$time_of_not_initialized_module
|
$time_of_not_initialized_module
|
||||||
@ -2214,8 +2242,8 @@ $class = 'databox filters';
|
|||||||
<td>
|
<td>
|
||||||
<p style="margin-right:30px;">
|
<p style="margin-right:30px;">
|
||||||
<?php
|
<?php
|
||||||
echo __('Time of downtime');
|
echo __('Time of downtime')."<br>";
|
||||||
html_print_checkbox('time_of_downtime', 1, $time_of_downtime);
|
html_print_checkbox_switch('time_of_downtime', 1, $time_of_downtime);
|
||||||
?>
|
?>
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
@ -2348,7 +2376,7 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'show_summary_group',
|
'show_summary_group',
|
||||||
true,
|
true,
|
||||||
$show_summary_group
|
$show_summary_group
|
||||||
@ -2446,7 +2474,7 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'include_extended_events',
|
'include_extended_events',
|
||||||
true,
|
true,
|
||||||
$include_extended_events
|
$include_extended_events
|
||||||
@ -2460,8 +2488,8 @@ $class = 'databox filters';
|
|||||||
<td>
|
<td>
|
||||||
<span id="row_event_graph_by_agent">
|
<span id="row_event_graph_by_agent">
|
||||||
<?php
|
<?php
|
||||||
echo __('By agent');
|
echo __('By agent ');
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'event_graph_by_agent',
|
'event_graph_by_agent',
|
||||||
true,
|
true,
|
||||||
$event_graph_by_agent
|
$event_graph_by_agent
|
||||||
@ -2470,8 +2498,8 @@ $class = 'databox filters';
|
|||||||
</span>
|
</span>
|
||||||
<span id="row_event_graph_by_user">
|
<span id="row_event_graph_by_user">
|
||||||
<?php
|
<?php
|
||||||
echo __('By user validator');
|
echo __('By user validator ');
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'event_graph_by_user_validator',
|
'event_graph_by_user_validator',
|
||||||
true,
|
true,
|
||||||
$event_graph_by_user_validator
|
$event_graph_by_user_validator
|
||||||
@ -2480,8 +2508,8 @@ $class = 'databox filters';
|
|||||||
</span>
|
</span>
|
||||||
<span id="row_event_graph_by_criticity">
|
<span id="row_event_graph_by_criticity">
|
||||||
<?php
|
<?php
|
||||||
echo __('By criticity');
|
echo __('By criticity ');
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'event_graph_by_criticity',
|
'event_graph_by_criticity',
|
||||||
true,
|
true,
|
||||||
$event_graph_by_criticity
|
$event_graph_by_criticity
|
||||||
@ -2490,8 +2518,8 @@ $class = 'databox filters';
|
|||||||
</span>
|
</span>
|
||||||
<span id="row_event_graph_by_validated">
|
<span id="row_event_graph_by_validated">
|
||||||
<?php
|
<?php
|
||||||
echo __('Validated vs unvalidated');
|
echo __('Validated vs unvalidated ');
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'event_graph_validated_vs_unvalidated',
|
'event_graph_validated_vs_unvalidated',
|
||||||
true,
|
true,
|
||||||
$event_graph_validated_vs_unvalidated
|
$event_graph_validated_vs_unvalidated
|
||||||
@ -2512,7 +2540,7 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
<td style="">
|
<td style="">
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox('historical_db_check', 1, $historical_db);
|
html_print_checkbox_switch('historical_db_check', 1, $historical_db);
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -2547,7 +2575,7 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
<td style="">
|
<td style="">
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox(
|
html_print_checkbox_switch(
|
||||||
'show_in_same_row',
|
'show_in_same_row',
|
||||||
'1',
|
'1',
|
||||||
$show_in_same_row,
|
$show_in_same_row,
|
||||||
@ -2683,7 +2711,7 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
<td style="">
|
<td style="">
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox('lapse_calc', 1, $lapse_calc);
|
html_print_checkbox_switch('lapse_calc', 1, $lapse_calc);
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -2783,7 +2811,7 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
<td style="">
|
<td style="">
|
||||||
<?php
|
<?php
|
||||||
html_print_checkbox('uncompressed_module', 1, $item['uncompressed_module'], false, false, '', false);
|
html_print_checkbox_switch('uncompressed_module', 1, $item['uncompressed_module'], false, false, '', false);
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -2794,7 +2822,7 @@ $class = 'databox filters';
|
|||||||
echo __('Show item in landscape format (only PDF)');
|
echo __('Show item in landscape format (only PDF)');
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
<td><?php html_print_checkbox('landscape', 1, $landscape); ?></td>
|
<td><?php html_print_checkbox_switch('landscape', 1, $landscape); ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr id="row_pagebreak" style="" class="datos">
|
<tr id="row_pagebreak" style="" class="datos">
|
||||||
@ -2803,7 +2831,7 @@ $class = 'databox filters';
|
|||||||
echo __('Page break at the end of the item (only PDF)');
|
echo __('Page break at the end of the item (only PDF)');
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
<td><?php html_print_checkbox('pagebreak', 1, $pagebreak); ?></td>
|
<td><?php html_print_checkbox_switch('pagebreak', 1, $pagebreak); ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -3671,6 +3699,18 @@ $(document).ready (function () {
|
|||||||
$("#inventory_modules").html('');
|
$("#inventory_modules").html('');
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$("#text-url").keyup (
|
||||||
|
function () {
|
||||||
|
const user_typed_url = $(this).val();
|
||||||
|
|
||||||
|
if (user_typed_url.match('^.+:\/\/')) {
|
||||||
|
$("#url_warning_text").hide();
|
||||||
|
} else {
|
||||||
|
$("#url_warning_text").show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
$("#combo_group").change (
|
$("#combo_group").change (
|
||||||
function () {
|
function () {
|
||||||
$("#id_agents").html('');
|
$("#id_agents").html('');
|
||||||
@ -3878,7 +3918,6 @@ $(document).ready (function () {
|
|||||||
case 'historical_data':
|
case 'historical_data':
|
||||||
case 'agent_configuration':
|
case 'agent_configuration':
|
||||||
case 'module_histogram_graph':
|
case 'module_histogram_graph':
|
||||||
case 'event_report_log':
|
|
||||||
case 'increment':
|
case 'increment':
|
||||||
if ($("#hidden-id_agent").val() == 0) {
|
if ($("#hidden-id_agent").val() == 0) {
|
||||||
dialog_message('#message_no_agent');
|
dialog_message('#message_no_agent');
|
||||||
@ -3898,6 +3937,12 @@ $(document).ready (function () {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'event_report_log':
|
||||||
|
if ($("#id_agents3").val() == '') {
|
||||||
|
dialog_message('#message_no_agent');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -195,54 +195,21 @@ ui_require_javascript_file('encode_decode_base64');
|
|||||||
id_visual_console = <?php echo $visualConsole['id']; ?>;
|
id_visual_console = <?php echo $visualConsole['id']; ?>;
|
||||||
visual_map_main();
|
visual_map_main();
|
||||||
|
|
||||||
tinyMCE.init({
|
var added_config = {
|
||||||
mode : "exact",
|
"plugins": "noneditable",
|
||||||
elements: "text-label",
|
"elements": "text-label",
|
||||||
convert_urls: false,
|
"theme_advanced_buttons1":
|
||||||
theme : "advanced",
|
"bold,italic,|,justifyleft,justifycenter,justifyright,|,undo,redo,|,image,link,|,fontselect,|,forecolor,fontsizeselect,|,code",
|
||||||
<?php
|
"valid_children": "+body[style]",
|
||||||
if ($config['style'] == 'pandora_legacy') {
|
"theme_advanced_font_sizes": "true",
|
||||||
echo 'content_css: "'.ui_get_full_url('include/styles/pandora_legacy.css', false, false, false).'",'."\n";
|
"content_css": <?php echo '"'.ui_get_full_url('include/styles/pandora.css', false, false, false).'"'; ?>,
|
||||||
} else {
|
"editor_deselector": "noselected",
|
||||||
echo 'content_css: "'.ui_get_full_url('include/styles/pandora.css', false, false, false).'",'."\n";
|
"inline_styles": true,
|
||||||
|
"nowrap": true,
|
||||||
|
"width": "50%",
|
||||||
|
"height": "100%",
|
||||||
}
|
}
|
||||||
?>
|
defineTinyMCE(added_config);
|
||||||
theme_advanced_font_sizes :
|
|
||||||
"4pt=.visual_font_size_4pt, " +
|
|
||||||
"6pt=.visual_font_size_6pt, " +
|
|
||||||
"8pt=.visual_font_size_8pt, " +
|
|
||||||
"10pt=.visual_font_size_10pt, " +
|
|
||||||
"12pt=.visual_font_size_12pt, " +
|
|
||||||
"14pt=.visual_font_size_14pt, " +
|
|
||||||
"18pt=.visual_font_size_18pt, " +
|
|
||||||
"24pt=.visual_font_size_24pt, " +
|
|
||||||
"28pt=.visual_font_size_28pt, " +
|
|
||||||
"36pt=.visual_font_size_36pt, " +
|
|
||||||
"48pt=.visual_font_size_48pt, " +
|
|
||||||
"60pt=.visual_font_size_60pt, " +
|
|
||||||
"72pt=.visual_font_size_72pt, " +
|
|
||||||
"84pt=.visual_font_size_84pt, " +
|
|
||||||
"96pt=.visual_font_size_96pt, " +
|
|
||||||
"116pt=.visual_font_size_116pt, " +
|
|
||||||
"128pt=.visual_font_size_128pt, " +
|
|
||||||
"140pt=.visual_font_size_140pt, " +
|
|
||||||
"154pt=.visual_font_size_154pt, " +
|
|
||||||
"196pt=.visual_font_size_196pt",
|
|
||||||
theme_advanced_toolbar_location : "top",
|
|
||||||
theme_advanced_toolbar_align : "left",
|
|
||||||
theme_advanced_buttons1 : "bold,italic, |, justifyleft, justifycenter, justifyright, |,undo, redo, |, image, link, |, fontselect, |, forecolor, fontsizeselect, |, code",
|
|
||||||
theme_advanced_buttons2 : "",
|
|
||||||
theme_advanced_buttons3 : "",
|
|
||||||
theme_advanced_statusbar_location : "none",
|
|
||||||
width: "400",
|
|
||||||
height: "200",
|
|
||||||
nowrap: true,
|
|
||||||
plugins : "noneditable",
|
|
||||||
inline_styles : true,
|
|
||||||
valid_children : "+body[style]",
|
|
||||||
element_format : "html",
|
|
||||||
editor_deselector : "noselected"
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.item img').each(function(){
|
$('.item img').each(function(){
|
||||||
|
|
||||||
|
@ -711,47 +711,24 @@ ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready (function () {
|
$(document).ready (function () {
|
||||||
|
|
||||||
tinymce.init({
|
var added_config = {
|
||||||
selector: "#tinyMCE_editor",
|
"selector": "#tinyMCE_editor",
|
||||||
theme : "advanced",
|
"elements": "text-label",
|
||||||
<?php
|
"plugins": "noneditable",
|
||||||
if ($config['style'] == 'pandora_legacy') {
|
"theme_advanced_buttons1":
|
||||||
echo 'content_css: "'.ui_get_full_url('include/styles/pandora_legacy.css', false, false, false).'",'."\n";
|
"bold,italic,|,justifyleft,justifycenter,justifyright,|,undo,redo,|,image,link,|,fontselect,|,forecolor,fontsizeselect,|,code",
|
||||||
} else {
|
"valid_children": "+body[style]",
|
||||||
echo 'content_css: "'.ui_get_full_url('include/styles/pandora.css', false, false, false).'",'."\n";
|
"theme_advanced_font_sizes": "true",
|
||||||
|
"content_css":
|
||||||
|
<?php echo '"'.ui_get_full_url('include/styles/pandora.css', false, false, false).'"'; ?>,
|
||||||
|
"editor_deselector": "noselected",
|
||||||
|
"inline_styles": true,
|
||||||
|
"nowrap": true,
|
||||||
|
"width": "400",
|
||||||
|
"height": "200",
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
theme_advanced_font_sizes :
|
defineTinyMCE(added_config);
|
||||||
"4pt=.visual_font_size_4pt, " +
|
|
||||||
"6pt=.visual_font_size_6pt, " +
|
|
||||||
"8pt=.visual_font_size_8pt, " +
|
|
||||||
"10pt=.visual_font_size_10pt, " +
|
|
||||||
"12pt=.visual_font_size_12pt, " +
|
|
||||||
"14pt=.visual_font_size_14pt, " +
|
|
||||||
"18pt=.visual_font_size_18pt, " +
|
|
||||||
"24pt=.visual_font_size_24pt, " +
|
|
||||||
"28pt=.visual_font_size_28pt, " +
|
|
||||||
"36pt=.visual_font_size_36pt, " +
|
|
||||||
"48pt=.visual_font_size_48pt, " +
|
|
||||||
"60pt=.visual_font_size_60pt, " +
|
|
||||||
"72pt=.visual_font_size_72pt, " +
|
|
||||||
"84pt=.visual_font_size_84pt, " +
|
|
||||||
"96pt=.visual_font_size_96pt, " +
|
|
||||||
"116pt=.visual_font_size_116pt, " +
|
|
||||||
"128pt=.visual_font_size_128pt, " +
|
|
||||||
"140pt=.visual_font_size_140pt, " +
|
|
||||||
"154pt=.visual_font_size_154pt, " +
|
|
||||||
"196pt=.visual_font_size_196pt",
|
|
||||||
theme_advanced_toolbar_location : "top",
|
|
||||||
theme_advanced_toolbar_align : "left",
|
|
||||||
theme_advanced_buttons1 : "bold,italic, |, image, link, |, forecolor, fontsizeselect",
|
|
||||||
theme_advanced_buttons2 : "",
|
|
||||||
theme_advanced_buttons3 : "",
|
|
||||||
theme_advanced_statusbar_location : "none",
|
|
||||||
width: "400",
|
|
||||||
height: "200",
|
|
||||||
nowrap: true
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#dialog_label_editor").hide ()
|
$("#dialog_label_editor").hide ()
|
||||||
.dialog ({
|
.dialog ({
|
||||||
|
@ -302,6 +302,7 @@ ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript
|
|||||||
|
|
||||||
// Include tiny for wysiwyg editor
|
// Include tiny for wysiwyg editor
|
||||||
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
|
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
|
||||||
|
ui_require_javascript_file('pandora');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<script language="javascript" type="text/javascript">
|
<script language="javascript" type="text/javascript">
|
||||||
@ -326,19 +327,7 @@ ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
|
|||||||
changeYear: true,
|
changeYear: true,
|
||||||
showAnim: "slideDown"});
|
showAnim: "slideDown"});
|
||||||
|
|
||||||
|
defineTinyMCE({"elements": "textarea_text",});
|
||||||
tinyMCE.init({
|
|
||||||
mode : "exact",
|
|
||||||
elements: "textarea_text",
|
|
||||||
theme : "advanced",
|
|
||||||
theme_advanced_toolbar_location : "top",
|
|
||||||
theme_advanced_toolbar_align : "left",
|
|
||||||
theme_advanced_buttons1 : "bold,italic, |, image, link, |, cut, copy, paste, |, undo, redo, |, forecolor, |, fontsizeselect, |, justifyleft, justifycenter, justifyright, | ,code",
|
|
||||||
theme_advanced_buttons2 : "",
|
|
||||||
theme_advanced_buttons3 : "",
|
|
||||||
convert_urls : false,
|
|
||||||
theme_advanced_statusbar_location : "none"
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#checkbox-expire").click(function() {
|
$("#checkbox-expire").click(function() {
|
||||||
check_expire();
|
check_expire();
|
||||||
|
@ -37,8 +37,8 @@ if ($idOS) {
|
|||||||
$description = $os['description'];
|
$description = $os['description'];
|
||||||
$icon = $os['icon_name'];
|
$icon = $os['icon_name'];
|
||||||
} else {
|
} else {
|
||||||
$name = get_parameter('name', '');
|
$name = io_safe_input(strip_tags(io_safe_output((string) get_parameter('name'))));
|
||||||
$description = get_parameter('description', '');
|
$description = io_safe_input(strip_tags(io_safe_output((string) get_parameter('description'))));
|
||||||
$icon = get_parameter('icon', 0);
|
$icon = get_parameter('icon', 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,8 +91,8 @@ switch ($action) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'update':
|
case 'update':
|
||||||
$name = get_parameter('name', '');
|
$name = io_safe_input(strip_tags(io_safe_output((string) get_parameter('name'))));
|
||||||
$description = get_parameter('description', '');
|
$description = io_safe_input(strip_tags(io_safe_output((string) get_parameter('description'))));
|
||||||
$icon = get_parameter('icon', 0);
|
$icon = get_parameter('icon', 0);
|
||||||
|
|
||||||
$values = [];
|
$values = [];
|
||||||
|
@ -685,8 +685,8 @@ function change_macro_fields() {
|
|||||||
if (value <= 0) {
|
if (value <= 0) {
|
||||||
$("#text-max_macro_fields").val(1);
|
$("#text-max_macro_fields").val(1);
|
||||||
}
|
}
|
||||||
else if (value > 15) {
|
else if (value > 20) {
|
||||||
$("#text-max_macro_fields").val(15);
|
$("#text-max_macro_fields").val(20);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -996,7 +996,7 @@ $row++;
|
|||||||
$table_report->width = '100%';
|
$table_report->width = '100%';
|
||||||
$table_report->class = 'databox filters';
|
$table_report->class = 'databox filters';
|
||||||
$table_report->style[0] = 'font-weight: bold;';
|
$table_report->style[0] = 'font-weight: bold;';
|
||||||
$table_report->size[0] = '50%';
|
$table_report->size[0] = '20%';
|
||||||
|
|
||||||
$table_report->data = [];
|
$table_report->data = [];
|
||||||
|
|
||||||
@ -1097,7 +1097,7 @@ $row++;
|
|||||||
5,
|
5,
|
||||||
15,
|
15,
|
||||||
io_safe_output($config['custom_report_front_header']),
|
io_safe_output($config['custom_report_front_header']),
|
||||||
'style="width: 38em;"',
|
'style="width: 90%; height: 300px !important;"',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1120,7 +1120,7 @@ $row++;
|
|||||||
15,
|
15,
|
||||||
15,
|
15,
|
||||||
$custom_report_front_firstpage,
|
$custom_report_front_firstpage,
|
||||||
'style="width: 38em; height: 20em;"',
|
'style="width: 90%; height: 300px !important;"',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1133,7 +1133,7 @@ $row++;
|
|||||||
5,
|
5,
|
||||||
15,
|
15,
|
||||||
io_safe_output($config['custom_report_front_footer']),
|
io_safe_output($config['custom_report_front_footer']),
|
||||||
'style="width: 38em;"',
|
'style="width: 90%; height: 300px !important;"',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1474,30 +1474,17 @@ function change_servicetree_nodes_padding () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tinyMCE.init({
|
var added_config1 = {
|
||||||
mode : "exact",
|
"elements":"textarea_custom_report_front_header, textarea_custom_report_front_footer",
|
||||||
elements: "textarea_custom_report_front_header, textarea_custom_report_front_footer",
|
}
|
||||||
theme : "advanced",
|
|
||||||
theme_advanced_toolbar_location : "top",
|
|
||||||
theme_advanced_toolbar_align : "left",
|
|
||||||
theme_advanced_buttons1 : "bold,italic, |, image, |, cut, copy, paste, |, undo, redo, |, forecolor, |, fontsizeselect, |, justifyleft, justifycenter, justifyright",
|
|
||||||
theme_advanced_buttons2 : "",
|
|
||||||
theme_advanced_buttons3 : "",
|
|
||||||
theme_advanced_statusbar_location : "none"
|
|
||||||
});
|
|
||||||
|
|
||||||
tinyMCE.init({
|
defineTinyMCE(added_config1);
|
||||||
mode : "exact",
|
|
||||||
elements: "textarea_custom_report_front_firstpage",
|
var added_config2 = {
|
||||||
theme : "advanced",
|
"elements":"textarea_custom_report_front_firstpage",
|
||||||
theme_advanced_toolbar_location : "top",
|
}
|
||||||
theme_advanced_toolbar_align : "left",
|
|
||||||
theme_advanced_buttons1 : "bold,italic, |, image, |, cut, copy, paste, |, undo, redo, |, forecolor, |, fontsizeselect, |, justifyleft, justifycenter, justifyright",
|
defineTinyMCE(added_config2);
|
||||||
theme_advanced_buttons2 : "",
|
|
||||||
theme_advanced_buttons3 : "",
|
|
||||||
convert_urls : false,
|
|
||||||
theme_advanced_statusbar_location : "none"
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).ready (function () {
|
$(document).ready (function () {
|
||||||
|
|
||||||
|
@ -1470,6 +1470,7 @@ if ($create_alert || $update_alert) {
|
|||||||
unset($table);
|
unset($table);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui_require_javascript_file('pandora', 'include/javascript/', true);
|
||||||
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
|
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
|
||||||
?>
|
?>
|
||||||
<script language="javascript" type="text/javascript">
|
<script language="javascript" type="text/javascript">
|
||||||
@ -1575,24 +1576,19 @@ $(document).ready (function () {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
tinyMCE.init({
|
var added_config = {
|
||||||
selector: 'textarea.tiny-mce-editor',
|
"selector": "textarea.tiny-mce-editor",
|
||||||
theme : "advanced",
|
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
|
||||||
plugins : "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
|
"theme_advanced_buttons1" : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select",
|
||||||
theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select",
|
"theme_advanced_buttons2" : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
|
||||||
theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
|
"force_p_newlines": false,
|
||||||
theme_advanced_buttons3 : "",
|
"forced_root_block": '',
|
||||||
theme_advanced_toolbar_location : "top",
|
"inline_styles": true,
|
||||||
theme_advanced_toolbar_align : "left",
|
"valid_children": "+body[style]",
|
||||||
theme_advanced_resizing : true,
|
"element_format": "html",
|
||||||
theme_advanced_statusbar_location : "bottom",
|
}
|
||||||
force_p_newlines : false,
|
|
||||||
forced_root_block : '',
|
|
||||||
inline_styles : true,
|
|
||||||
valid_children : "+body[style]",
|
|
||||||
element_format : "html"
|
|
||||||
});
|
|
||||||
|
|
||||||
|
defineTinyMCE(added_config);
|
||||||
});
|
});
|
||||||
|
|
||||||
function show_add_action_snmp(id_alert_snmp) {
|
function show_add_action_snmp(id_alert_snmp) {
|
||||||
|
@ -179,7 +179,7 @@ if ($id_profile || $new_profile) {
|
|||||||
|
|
||||||
$id_audit = db_pandora_audit(
|
$id_audit = db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
'Edit profile '.$name
|
'Edit profile '.io_safe_output($name)
|
||||||
);
|
);
|
||||||
enterprise_include_once('include/functions_audit.php');
|
enterprise_include_once('include/functions_audit.php');
|
||||||
|
|
||||||
|
@ -101,6 +101,7 @@ $id = get_parameter('id', get_parameter('id_user', ''));
|
|||||||
$pure = get_parameter('pure', 0);
|
$pure = get_parameter('pure', 0);
|
||||||
|
|
||||||
$user_info = get_user_info($id);
|
$user_info = get_user_info($id);
|
||||||
|
$is_err = false;
|
||||||
|
|
||||||
if (! check_acl($config['id_user'], 0, 'UM')) {
|
if (! check_acl($config['id_user'], 0, 'UM')) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
@ -124,7 +125,7 @@ if (is_ajax()) {
|
|||||||
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
'Deleted profile for user '.io_safe_input($id2),
|
'Deleted profile for user '.io_safe_output($id2),
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
'The profile with id '.$id_perfil.' in the group '.$perfilUser['id_grupo']
|
'The profile with id '.$id_perfil.' in the group '.$perfilUser['id_grupo']
|
||||||
@ -145,7 +146,7 @@ if (is_ajax()) {
|
|||||||
if ($result) {
|
if ($result) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
__('Deleted user %s', io_safe_input($id_user))
|
__('Deleted user %s', io_safe_output($id_user))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,7 +168,7 @@ if (is_ajax()) {
|
|||||||
if ($result) {
|
if ($result) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
__('Deleted user %s from metaconsole', io_safe_input($id_user))
|
__('Deleted user %s from metaconsole', io_safe_output($id_user))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -313,7 +314,7 @@ if ($create_user) {
|
|||||||
$password_confirm = (string) get_parameter('password_confirm', '');
|
$password_confirm = (string) get_parameter('password_confirm', '');
|
||||||
$values['email'] = (string) get_parameter('email');
|
$values['email'] = (string) get_parameter('email');
|
||||||
$values['phone'] = (string) get_parameter('phone');
|
$values['phone'] = (string) get_parameter('phone');
|
||||||
$values['comments'] = (string) get_parameter('comments');
|
$values['comments'] = io_safe_input(strip_tags(io_safe_output((string) get_parameter('comments'))));
|
||||||
$values['is_admin'] = $user_is_admin;
|
$values['is_admin'] = $user_is_admin;
|
||||||
$values['language'] = get_parameter('language', 'default');
|
$values['language'] = get_parameter('language', 'default');
|
||||||
$values['timezone'] = (string) get_parameter('timezone');
|
$values['timezone'] = (string) get_parameter('timezone');
|
||||||
@ -370,23 +371,27 @@ if ($create_user) {
|
|||||||
|
|
||||||
if ($id == '') {
|
if ($id == '') {
|
||||||
ui_print_error_message(__('User ID cannot be empty'));
|
ui_print_error_message(__('User ID cannot be empty'));
|
||||||
|
$is_err = true;
|
||||||
$user_info = $values;
|
$user_info = $values;
|
||||||
$password_new = '';
|
$password_new = '';
|
||||||
$password_confirm = '';
|
$password_confirm = '';
|
||||||
$new_user = true;
|
$new_user = true;
|
||||||
} else if (preg_match('/^\s+|\s+$/', io_safe_output($id))) {
|
} else if (preg_match('/^\s+|\s+$/', io_safe_output($id))) {
|
||||||
ui_print_error_message(__('Invalid user ID: leading or trailing blank spaces not allowed'));
|
ui_print_error_message(__('Invalid user ID: leading or trailing blank spaces not allowed'));
|
||||||
|
$is_err = true;
|
||||||
$user_info = $values;
|
$user_info = $values;
|
||||||
$password_new = '';
|
$password_new = '';
|
||||||
$password_confirm = '';
|
$password_confirm = '';
|
||||||
$new_user = true;
|
$new_user = true;
|
||||||
} else if ($password_new == '') {
|
} else if ($password_new == '') {
|
||||||
|
$is_err = true;
|
||||||
ui_print_error_message(__('Passwords cannot be empty'));
|
ui_print_error_message(__('Passwords cannot be empty'));
|
||||||
$user_info = $values;
|
$user_info = $values;
|
||||||
$password_new = '';
|
$password_new = '';
|
||||||
$password_confirm = '';
|
$password_confirm = '';
|
||||||
$new_user = true;
|
$new_user = true;
|
||||||
} else if ($password_new != $password_confirm) {
|
} else if ($password_new != $password_confirm) {
|
||||||
|
$is_err = true;
|
||||||
ui_print_error_message(__('Passwords didn\'t match'));
|
ui_print_error_message(__('Passwords didn\'t match'));
|
||||||
$user_info = $values;
|
$user_info = $values;
|
||||||
$password_new = '';
|
$password_new = '';
|
||||||
@ -422,7 +427,7 @@ if ($create_user) {
|
|||||||
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
'Created user '.io_safe_input($id),
|
'Created user '.io_safe_output($id),
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
$info
|
$info
|
||||||
@ -465,7 +470,7 @@ if ($create_user) {
|
|||||||
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
'Added profile for user '.io_safe_input($id2),
|
'Added profile for user '.io_safe_output($id2),
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
'Profile: '.$profile2.' Group: '.$group2.' Tags: '.$tags
|
'Profile: '.$profile2.' Group: '.$group2.' Tags: '.$tags
|
||||||
@ -500,7 +505,7 @@ if ($update_user) {
|
|||||||
$values['lastname'] = (string) get_parameter('lastname');
|
$values['lastname'] = (string) get_parameter('lastname');
|
||||||
$values['email'] = (string) get_parameter('email');
|
$values['email'] = (string) get_parameter('email');
|
||||||
$values['phone'] = (string) get_parameter('phone');
|
$values['phone'] = (string) get_parameter('phone');
|
||||||
$values['comments'] = (string) get_parameter('comments');
|
$values['comments'] = io_safe_input(strip_tags(io_safe_output((string) get_parameter('comments'))));
|
||||||
$values['is_admin'] = get_parameter('is_admin', 0);
|
$values['is_admin'] = get_parameter('is_admin', 0);
|
||||||
$values['language'] = (string) get_parameter('language');
|
$values['language'] = (string) get_parameter('language');
|
||||||
$values['timezone'] = (string) get_parameter('timezone');
|
$values['timezone'] = (string) get_parameter('timezone');
|
||||||
@ -656,7 +661,7 @@ if ($update_user) {
|
|||||||
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
'Updated user '.io_safe_input($id),
|
'Updated user '.io_safe_output($id),
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
$info
|
$info
|
||||||
@ -724,7 +729,7 @@ if ($add_profile && empty($json_profile)) {
|
|||||||
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
'Added profile for user '.io_safe_input($id2),
|
'Added profile for user '.io_safe_output($id2),
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
'Profile: '.$profile2.' Group: '.$group2.' Tags: '.$tags
|
'Profile: '.$profile2.' Group: '.$group2.' Tags: '.$tags
|
||||||
@ -1143,7 +1148,7 @@ if ($meta) {
|
|||||||
$metaconsole_access_node .= html_print_checkbox('metaconsole_access_node', 1, $user_info['metaconsole_access_node'], true).'</div>';
|
$metaconsole_access_node .= html_print_checkbox('metaconsole_access_node', 1, $user_info['metaconsole_access_node'], true).'</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '<form id="user_profile_form" method="post" autocomplete="off">';
|
echo '<form id="user_profile_form" name="user_profile_form" method="post" autocomplete="off" action="#">';
|
||||||
|
|
||||||
|
|
||||||
if (!$id) {
|
if (!$id) {
|
||||||
@ -1160,13 +1165,17 @@ if (is_metaconsole()) {
|
|||||||
$access_or_pagination = $size_pagination;
|
$access_or_pagination = $size_pagination;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($id != '' && !$is_err) {
|
||||||
|
$div_user_info = '<div class="edit_user_info_left">'.$avatar.$user_id_create.'</div>
|
||||||
|
<div class="edit_user_info_right">'.$user_id_update_view.$full_name.$new_pass.$new_pass_confirm.$global_profile.'</div>';
|
||||||
|
} else {
|
||||||
|
$div_user_info = '<div class="edit_user_info_left">'.$avatar.'</div>
|
||||||
|
<div class="edit_user_info_right">'.$user_id_create.$user_id_update_view.$full_name.$new_pass.$new_pass_confirm.$global_profile.'</div>';
|
||||||
|
}
|
||||||
|
|
||||||
echo '<div id="user_form">
|
echo '<div id="user_form">
|
||||||
<div class="user_edit_first_row">
|
<div class="user_edit_first_row">
|
||||||
<div class="edit_user_info white_box">
|
<div class="edit_user_info white_box">'.$div_user_info.'</div>
|
||||||
<div class="edit_user_info_left">'.$avatar.$user_id_create.'</div>
|
|
||||||
<div class="edit_user_info_right">'.$user_id_update_view.$full_name.$new_pass.$new_pass_confirm.$global_profile.'</div>
|
|
||||||
</div>
|
|
||||||
<div class="edit_user_autorefresh white_box"><p style="font-weight:bold;">Extra info</p>'.$email.$phone.$not_login.$session_time.'</div>
|
<div class="edit_user_autorefresh white_box"><p style="font-weight:bold;">Extra info</p>'.$email.$phone.$not_login.$session_time.'</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="user_edit_second_row white_box">
|
<div class="user_edit_second_row white_box">
|
||||||
@ -1195,30 +1204,44 @@ if (!empty($ehorus)) {
|
|||||||
|
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
||||||
profile_print_profile_table($id);
|
|
||||||
|
|
||||||
echo '<div style="width: 100%" class="action-buttons">';
|
echo '<div style="width: 100%" class="action-buttons">';
|
||||||
if ($config['admin_can_add_user']) {
|
if ($config['admin_can_add_user']) {
|
||||||
html_print_csrf_hidden();
|
html_print_csrf_hidden();
|
||||||
if ($new_user) {
|
if ($new_user) {
|
||||||
html_print_input_hidden('create_user', 1);
|
html_print_input_hidden('create_user', 1);
|
||||||
html_print_submit_button(__('Create'), 'crtbutton', false, 'class="sub wand"');
|
|
||||||
} else {
|
} else {
|
||||||
html_print_input_hidden('update_user', 1);
|
html_print_input_hidden('update_user', 1);
|
||||||
html_print_submit_button(__('Update'), 'uptbutton', false, 'class="sub upd"');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
html_print_input_hidden('json_profile', '');
|
html_print_input_hidden('json_profile', '');
|
||||||
|
|
||||||
echo '</div>';
|
|
||||||
echo '</form>';
|
echo '</form>';
|
||||||
|
|
||||||
|
|
||||||
|
profile_print_profile_table($id);
|
||||||
|
|
||||||
echo '<br />';
|
echo '<br />';
|
||||||
|
|
||||||
|
echo '<div style="width: 100%" class="action-buttons">';
|
||||||
|
if ($config['admin_can_add_user']) {
|
||||||
|
if ($new_user) {
|
||||||
|
html_print_submit_button(__('Create'), 'crtbutton', false, 'class="sub wand" form="user_profile_form"');
|
||||||
|
} else {
|
||||||
|
html_print_submit_button(__('Update'), 'uptbutton', false, 'class="sub upd" form="user_profile_form"');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
|
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
enterprise_hook('close_meta_frame');
|
enterprise_hook('close_meta_frame');
|
||||||
$delete_image = html_print_input_image('del', 'images/cross.png', 1, '', true, ['onclick' => 'delete_profile(event, this)']);
|
$delete_image = html_print_input_image('del', 'images/cross.png', 1, '', true, ['onclick' => 'delete_profile(event, this)']);
|
||||||
|
|
||||||
|
|
||||||
if (!is_metaconsole()) {
|
if (!is_metaconsole()) {
|
||||||
?>
|
?>
|
||||||
|
|
||||||
@ -1289,7 +1312,7 @@ $(document).ready (function () {
|
|||||||
$('#checkbox-ehorus_user_level_enabled').trigger('change');
|
$('#checkbox-ehorus_user_level_enabled').trigger('change');
|
||||||
|
|
||||||
var img_delete = '<?php echo $delete_image; ?>';
|
var img_delete = '<?php echo $delete_image; ?>';
|
||||||
var id_user = '<?php echo $id; ?>';
|
var id_user = '<?php echo io_safe_output($id); ?>';
|
||||||
var data = [];
|
var data = [];
|
||||||
|
|
||||||
$('input:image[name="add"]').click(function (e) {
|
$('input:image[name="add"]').click(function (e) {
|
||||||
@ -1335,7 +1358,7 @@ $(document).ready (function () {
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var rows = $("#table_profiles tr").length;
|
var rows = $("#table_profiles tr").length;
|
||||||
if (rows <= 3) {
|
if (rows <= 3) {
|
||||||
if (!confirm('<?php echo __('Deleting last profile'); ?>' + '. ' + '<?php echo __('Are you sure?'); ?>')) {
|
if (!confirm('<?php echo __('Deleting last profile will delete this user'); ?>' + '. ' + '<?php echo __('Are you sure?'); ?>')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -81,7 +81,7 @@ if ($delete_profile) {
|
|||||||
} else {
|
} else {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Profile management',
|
'Profile management',
|
||||||
'Delete profile '.$profile['name']
|
'Delete profile '.io_safe_output($profile['name'])
|
||||||
);
|
);
|
||||||
ui_print_success_message(__('Successfully deleted'));
|
ui_print_success_message(__('Successfully deleted'));
|
||||||
}
|
}
|
||||||
@ -196,7 +196,7 @@ if ($update_profile) {
|
|||||||
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
'Update profile '.$name,
|
'Update profile '.io_safe_output($name),
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
$info
|
$info
|
||||||
@ -247,7 +247,7 @@ if ($create_profile) {
|
|||||||
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
'Created profile '.$name,
|
'Created profile '.io_safe_output($name),
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
$info
|
$info
|
||||||
|
@ -171,7 +171,7 @@ if (isset($_GET['user_del'])) {
|
|||||||
if ($result) {
|
if ($result) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'User management',
|
'User management',
|
||||||
__('Deleted user %s', io_safe_input($id_user))
|
__('Deleted user %s', io_safe_output($id_user))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -366,16 +366,12 @@ if (!defined('METACONSOLE')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$group_um = users_get_groups_UM($config['id_user']);
|
$group_um = users_get_groups_UM($config['id_user']);
|
||||||
if (isset($group_um[0])) {
|
|
||||||
$group_um_string = implode(',', array_keys(users_get_groups($config['id_user'], 'um', true)));
|
|
||||||
} else {
|
|
||||||
$group_um_string = implode(',', array_keys($group_um));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$info1 = [];
|
$info1 = [];
|
||||||
|
|
||||||
|
$user_is_admin = users_is_admin();
|
||||||
// Is admin or has group permissions all.
|
// Is admin or has group permissions all.
|
||||||
if (users_is_admin() || isset($group_um[0])) {
|
if ($user_is_admin || isset($group_um[0])) {
|
||||||
$info1 = get_users($order);
|
$info1 = get_users($order);
|
||||||
} else {
|
} else {
|
||||||
foreach ($group_um as $group => $value) {
|
foreach ($group_um as $group => $value) {
|
||||||
@ -434,13 +430,13 @@ $rowPair = true;
|
|||||||
$iterator = 0;
|
$iterator = 0;
|
||||||
$cont = 0;
|
$cont = 0;
|
||||||
foreach ($info as $user_id => $user_info) {
|
foreach ($info as $user_id => $user_info) {
|
||||||
if (!users_is_admin() && $user_info['is_admin']) {
|
if (!$user_is_admin && $user_info['is_admin']) {
|
||||||
// If user is not admin then don't display admin users.
|
// If user is not admin then don't display admin users.
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// User profiles.
|
// User profiles.
|
||||||
if (users_is_admin() || $user_id == $config['id_user'] || isset($group_um[0])) {
|
if ($user_is_admin || $user_id == $config['id_user'] || isset($group_um[0])) {
|
||||||
$user_profiles = db_get_all_rows_field_filter('tusuario_perfil', 'id_usuario', $user_id);
|
$user_profiles = db_get_all_rows_field_filter('tusuario_perfil', 'id_usuario', $user_id);
|
||||||
} else {
|
} else {
|
||||||
$user_profiles_aux = users_get_user_profile($user_id);
|
$user_profiles_aux = users_get_user_profile($user_id);
|
||||||
@ -492,7 +488,7 @@ foreach ($info as $user_id => $user_info) {
|
|||||||
|
|
||||||
$iterator++;
|
$iterator++;
|
||||||
|
|
||||||
if (users_is_admin() || $config['id_user'] == $user_info['id_user'] || (!$user_info['is_admin'] && (!isset($user_info['edit']) || isset($group_um[0]) || (isset($user_info['edit']) && $user_info['edit'])))) {
|
if ($user_is_admin || $config['id_user'] == $user_info['id_user'] || (!$user_info['is_admin'] && (!isset($user_info['edit']) || isset($group_um[0]) || (isset($user_info['edit']) && $user_info['edit'])))) {
|
||||||
$data[0] = '<a href="index.php?sec='.$sec.'&sec2=godmode/users/configure_user&pure='.$pure.'&id='.$user_id.'">'.$user_id.'</a>';
|
$data[0] = '<a href="index.php?sec='.$sec.'&sec2=godmode/users/configure_user&pure='.$pure.'&id='.$user_id.'">'.$user_id.'</a>';
|
||||||
} else {
|
} else {
|
||||||
$data[0] = $user_id;
|
$data[0] = $user_id;
|
||||||
@ -560,7 +556,7 @@ foreach ($info as $user_id => $user_info) {
|
|||||||
|
|
||||||
$table->cellclass[][6] = 'action_buttons';
|
$table->cellclass[][6] = 'action_buttons';
|
||||||
$data[6] = '';
|
$data[6] = '';
|
||||||
if (users_is_admin() || $config['id_user'] == $user_info['id_user'] || isset($group_um[0]) || (!$user_info['is_admin'] && (!isset($user_info['edit']) || (isset($user_info['edit']) && $user_info['edit'])))) {
|
if ($user_is_admin || $config['id_user'] == $user_info['id_user'] || isset($group_um[0]) || (!$user_info['is_admin'] && (!isset($user_info['edit']) || (isset($user_info['edit']) && $user_info['edit'])))) {
|
||||||
if (!isset($user_info['not_delete'])) {
|
if (!isset($user_info['not_delete'])) {
|
||||||
if ($user_info['disabled'] == 0) {
|
if ($user_info['disabled'] == 0) {
|
||||||
$data[6] = '<a href="index.php?sec='.$sec.'&sec2=godmode/users/user_list&disable_user=1&pure='.$pure.'&id='.$user_info['id_user'].'">'.html_print_image('images/lightbulb.png', true, ['title' => __('Disable')]).'</a>';
|
$data[6] = '<a href="index.php?sec='.$sec.'&sec2=godmode/users/user_list&disable_user=1&pure='.$pure.'&id='.$user_info['id_user'].'">'.html_print_image('images/lightbulb.png', true, ['title' => __('Disable')]).'</a>';
|
||||||
|
BIN
pandora_console/images/console/background/blackabstract.jpg
Normal file
After Width: | Height: | Size: 286 KiB |
BIN
pandora_console/images/console/background/blueexplosion.png
Normal file
After Width: | Height: | Size: 2.6 MiB |
BIN
pandora_console/images/console/background/cielo.jpg.png
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
pandora_console/images/console/background/circuit.jpg
Normal file
After Width: | Height: | Size: 239 KiB |
BIN
pandora_console/images/console/background/circuit2.jpg
Normal file
After Width: | Height: | Size: 239 KiB |
BIN
pandora_console/images/console/background/digital.jpg
Normal file
After Width: | Height: | Size: 334 KiB |
BIN
pandora_console/images/console/background/icetexture.jpg
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
pandora_console/images/console/background/linentexture.jpg
Normal file
After Width: | Height: | Size: 195 KiB |
BIN
pandora_console/images/console/background/metaltexture.jpg
Normal file
After Width: | Height: | Size: 789 KiB |
BIN
pandora_console/images/console/background/mysql_bg.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
pandora_console/images/console/background/redabstract.jpg
Normal file
After Width: | Height: | Size: 248 KiB |
BIN
pandora_console/images/console/background/whiteabstract.jpg
Normal file
After Width: | Height: | Size: 176 KiB |
BIN
pandora_console/images/console/background/woodtexture.jpg
Normal file
After Width: | Height: | Size: 301 KiB |