summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/comandos/gestores/gestor_Comandos.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/WebConsole/comandos/gestores/gestor_Comandos.php')
-rw-r--r--admin/WebConsole/comandos/gestores/gestor_Comandos.php59
1 files changed, 45 insertions, 14 deletions
diff --git a/admin/WebConsole/comandos/gestores/gestor_Comandos.php b/admin/WebConsole/comandos/gestores/gestor_Comandos.php
index b2a81b79..943fdac7 100644
--- a/admin/WebConsole/comandos/gestores/gestor_Comandos.php
+++ b/admin/WebConsole/comandos/gestores/gestor_Comandos.php
@@ -20,6 +20,16 @@ include_once("../../includes/RecopilaIpesMacs.php");
//________________________________________________________________________________________________________
include_once("../includes/capturaacciones.php");
//________________________________________________________________________________________________________
+
+define('OG_CMD_ID_WAKEUP', 1);
+define('OG_CMD_ID_POWEROFF', 2);
+define('OG_CMD_ID_REBOOT', 5);
+define('OG_CMD_ID_HARDWARE', 6);
+define('OG_CMD_ID_SOFTWARE', 7);
+define("OG_CMD_ID_SCRIPT", 8);
+define('OG_CMD_ID_SESSION', 9);
+define('OG_CMD_ID_SENDMESSAGE', 16);
+
// Recoge parametros de seguimiento
$sw_ejya="";
$sw_seguimiento="";
@@ -73,7 +83,6 @@ $atributos=str_replace('$',chr(9),$atributos);
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<BODY>
<SCRIPT language="javascript" src="../jscripts/comunescomandos.js"></SCRIPT>
<?php echo '<SCRIPT language="javascript" src="../../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?>
@@ -116,9 +125,25 @@ $cmd->CreaParametro("@ordprocedimiento",0,1);
$cmd->CreaParametro("@ordtarea",0,1);
/* PARCHE UHU heredado de la version 1.1.0: Si la accion a realizar es Arrancar incluimos una pagina para arrancar desde el repo */
-if($funcion == "nfn=Arrancar".chr(13))
- include("wakeonlan_repo.php");
-/**/
+switch ($idcomando) {
+ case OG_CMD_ID_WAKEUP:
+ include("wakeonlan_repo.php");
+ break;
+ case OG_CMD_ID_SESSION:
+ session($cadenaip, $atributos);
+ break;
+ case OG_CMD_ID_POWEROFF:
+ poweroff($cadenaip);
+ break;
+ case OG_CMD_ID_REBOOT:
+ reboot($cadenaip);
+ break;
+ case OG_CMD_ID_HARDWARE:
+ hardware($cadenaip);
+ break;
+ case OG_CMD_ID_SOFTWARE:
+ software($cadenaip);
+}
if($ambito==0){ // Ambito restringido a un subconjuto de ordenadores con formato (idordenador1,idordenador2,etc)
$cmd->ParamSetValor("@restrambito",$idambito);
@@ -174,9 +199,14 @@ if($sw_ejya=='on' || $sw_ejprg=="on" ){
$ValorParametros=extrae_parametros($parametros,chr(13),'=');
$script=@urldecode($ValorParametros["scp"]);
if($sw_ejya=='on'){
- // comando 16 sólo agente nuevo
- if ($idcomando != 16){
- // Envio al servidor
+ if ($idcomando != OG_CMD_ID_SENDMESSAGE &&
+ $idcomando != OG_CMD_ID_WAKEUP &&
+ $idcomando != OG_CMD_ID_SESSION &&
+ $idcomando != OG_CMD_ID_POWEROFF &&
+ $idcomando != OG_CMD_ID_HARDWARE &&
+ $idcomando != OG_CMD_ID_SOFTWARE &&
+ $idcomando != OG_CMD_ID_REBOOT) {
+ // Envío al servidor
$shidra=new SockHidra($servidorhidra,$hidraport);
if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra
$parametros.=$aplicacion;
@@ -199,28 +229,28 @@ if($sw_ejya=='on' || $sw_ejprg=="on" ){
$resulhidra = 1;
}
- // Comprobamos si el comando es soportado por el nuevo ogAgent
+ // Comprobamos si el comando es soportado por el nuevo OGAgent
$numip=0;
$ogAgentNuevo = false;
switch ($idcomando) {
- case 2:
+ case OG_CMD_ID_POWEROFF:
// Apagar
$urlcomando = 'poweroff';
$ogAgentNuevo = true;
break;
- case 5:
+ case OG_CMD_ID_REBOOT:
// Reiniciar
$urlcomando = 'reboot';
$ogAgentNuevo = true;
break;
- case 8:
+ case OG_CMD_ID_SCRIPT:
// Ejecutar script
$urlcomando = 'script';
$ogAgentNuevo = true;
$client = (isset ($_POST['modoejecucion']) && $_POST['modoejecucion'] != '' ) ? $_POST['modoejecucion'] : 'true';
$paramsPost = '{"script":"'.base64_encode($script).'","client":"'.$client.'"}';
break;
- case 16:
+ case OG_CMD_ID_SENDMESSAGE:
// Enviar mensaje
$urlcomando = 'popup';
$ogAgentNuevo = true;
@@ -228,7 +258,7 @@ if($sw_ejya=='on' || $sw_ejprg=="on" ){
break;
}
- // Se envía acción al nuevo ogAgent
+ // Se envía acción al nuevo ogAgent
if ( $ogAgentNuevo ) {
// Send REST requests to new OGAgent clients.
$urls = array();
@@ -241,7 +271,6 @@ if($sw_ejya=='on' || $sw_ejprg=="on" ){
$urls[$ip]['url'] = "https://$ip:8000/opengnsys/$urlcomando";
if (isset($auxKey[$i])) $urls[$ip]['header'] = Array("Authorization: ".$auxKey[$i]);
if (isset($paramsPost)) $urls[$ip]['post'] = $paramsPost;
-
$i++;
}
// Launch concurrent requests.
@@ -384,6 +413,8 @@ if ($resul){
}
}
?>
+</HEAD>
+<BODY>
</BODY>
</HTML>