From 472c8d948816c5f330c2d05cabe7c692a468939e Mon Sep 17 00:00:00 2001 From: David Beniamine <david.beniamine@tetras-libre.fr> Date: Mon, 12 Aug 2019 15:10:58 +0200 Subject: [PATCH] Rewrite --- wol/www/index.php | 66 +++++++++++++++++++---------------------------- 1 file changed, 27 insertions(+), 39 deletions(-) diff --git a/wol/www/index.php b/wol/www/index.php index ba7fe36..1a77e9c 100644 --- a/wol/www/index.php +++ b/wol/www/index.php @@ -186,15 +186,19 @@ if(!isset($action)){ <?php }else{ - $lines = array(); - $run=false; - $emptymsg="<p>Not implemented yet</p><p>Cette action n'affiche pas de message.<br />Vous pouvez demander les logs depuis <a href='/wol/'>la page principale<a></p>"; if(!isset($name)){ $name=""; } echo "<h2> Action demandée : $action $name</h2>"; - switch($action){ - case "wake" : + $allowedActions = [ + 'upgradeAll', + 'upgradeAllApt', + 'getLogAll', + 'upgradeApt', + 'upgrade', + 'getLog', + ]; + if($action == "wake"){ echo "<div id='result'><p>Démarrage demandé pour la machine $mac, veuillez patienter</p></div>"; ?> <script language="javascript"> @@ -225,41 +229,25 @@ if(!isset($action)){ sendpost(24); </script> <?php - break; - case "upgradeAllApt" : - $run=true; - break; - case "upgradeAll" : - echo "Todo see log"; - $run=true; - break; - case "getLogAll" : - $emptymsg="<p>Pas de log globaux disponibles</p>"; - $run=true; - break; - case "upgradeAPT" : - $run=true; - break; - case "upgrade" : - $run=true; - break; - case "getLog" : - $emptymsg="<p>Pas de log disponibles pour $name</p>"; - $run=true; - break; - } - if($run){ - exec("../scripts/actions.sh .".escapeshellarg($action)." " - .escapeshellarg($name), $lines, $code); - echo "<p>Action effectuée, code : $code</p>"; - if(!empty($lines)){ - echo "<pre>"; - foreach($lines as $line){ - echo "$line\n"; + }else{ + if(in_array($action, $allowedActions)){ + $lines = array(); + exec("../scripts/actions.sh .".escapeshellarg($action)." " + .escapeshellarg($name), $lines, $code); + echo "<p>Action effectuée, code : $code</p>"; + if(!empty($lines)){ + echo "<pre>"; + foreach($lines as $line){ + echo "$line\n"; + } + echo "</pre>"; + }else{ + if(preg_match('/^getLog/', $action)){ + echo "<p>Pas de log globaux disponibles</p>"; + }else{ + echo "<p>Not implemented yet</p><p>Cette action n'affiche pas de message.<br />Vous pouvez demander les logs depuis <a href='/wol/'>la page principale<a></p>"; + } } - echo "</pre>"; - }else{ - echo $emptymsg; } } } -- GitLab