<?php

function getCommand($cmd, $args) {

   # in case someone tries exec'ing other programs, in different directories
   # we'll try and stop them.
   $cmd = str_replace("/", "", $cmd);
   $cmd = str_replace("..", "", $cmd);

   $minervaPath = "/usr/local/minerva";
   $fullCommand ="$minervaPath/bin/$cmd $args";

   return $fullCommand;
}

function marple($cmd, $args) {
   $fullCommand = getCommand($cmd, $args);
   $result = array();

   exec($fullCommand, $result);

   $rts = "";
   foreach ( $result as $v ) {
     $rts .= "$v\n";
   }
   return $rts;
}

$server = new SoapServer(null, array('uri' => "urn://www.minervahome.net/marple"));
$server->addFunction("marple");
$server->handle();
?>
