AuthShield = $AuthShield;
$this->container=(null!==$container) ? $container : $AuthShield->getAppShield()->getContainer();
}
public function auth(\UMA\JsonRpc\Request $request){
return 'admin' === $this->container->get('webfan.app.fsm.user')->getCurrentState()->getName();
}
/**
* {@inheritdoc}
*/
public function __invoke(\UMA\JsonRpc\Request $request): \UMA\JsonRpc\Response
{
$indexPhp = "
echo '
';
exec('which node',\$out, \$status);
echo print_r(\$out, true);
echo '
';
exec('which composer',\$out, \$status);
echo print_r(\$out, true);
echo '
';
echo '
';
exec('which npm',\$out, \$status);
echo print_r(\$out, true);
echo '
';
echo '
';
exec('robo help',\$out, \$status);
echo print_r(\$out, true);
echo '
';
";
$params = $request->params();
exec('which composer',$out_wich_composer, $status_wich_composer);
exec('which node',$out_wich_node, $status_wich_node);
exec('which npm',$out_wich_npm, $status_wich_npm);
$r = [];
$r['devTools'] = [
'composer' => [
'status' => $status_wich_composer,
'which' => $out_wich_composer,
'bin_path' => '',
],
'node' => [
'status' => $status_wich_node,
'which' => $out_wich_node,
'bin_path' => '',
],
'npm' => [
'status' => $status_wich_npm,
'which' => $out_wich_npm,
'bin_path' => '',
],
];
try{
return new \UMA\JsonRpc\Success($request->id(), $r);
}catch(\Exception $e){
return new \UMA\JsonRpc\Error($request->id(), 'Could not test');
}
}
public function getSpec(): ?\stdClass
{
return \json_decode(<<<'JSON'
{
"$schema": "https://json-schema.org/draft-07/schema#",
"type": ["null", "array", "object"],
"properties": {
},
"required" : [],
"additionalProperties": true
}
JSON
);
}
}
__halt_compiler();----SIGNATURE:----aiKC5rNAV3U6wxhH7M6sIxtQRzp5ZCrqG5NmJjY48ltt7FVSqlQO+7gRFaaAYkBnxsKAcps5Vu9s+hqLb9cbUCQ4ztMY3/bSK247MiiuPdW6TeMOVPcI8pov85paKL8iJeIONd/xM9POKaePba3AEV2p+avKUqmS5AwlJrfO2iLm4qE7xk1BRrI1mBvEAv2kkaNPZpC6rsFEdQpT7rOr5e0R+OXIi8aWzKWMFYqL9f02srXpThJetGUWlxoODvpjiA5ZLMdFKSZ9YgamHIqIMhLBjIwPbM0ikd2eE0inlpiVJZHM41cxOYPxLy2TQk4WhlRFunT9J/bhwmmWGxHmr10YoaHd69iOaKgGi/c5gqtYhCLoJtrXoYOFGKeFpK9bn3X6DPkpqj0GKv17UlMsWsxvrvVbGgUd8AXLfa8LY6X2Hhgce0yz8GpuCrM/rsKEFtbSi2QkY/Rht1qOgXBFvL8x9UDoDRUymDLFuAn5H67IebUV8Ug1jAKPf7p9Heupr14iGjflBTyTXkA4k03ws3IBB/D8Y+KkrQv32iHA5Hfs2JrLHTgzfoJZmSw0d1q5twwNKDOWRxa/IFpJstx6brc/EhjxSGbjbDKoO+XeJ9YiCMsZT7sJrrTpuWekvzuOJRQ+hBRaVIzb148zvBeH/cdmIMUEu70XXeMVneC25HE=----ATTACHMENT:----NjYxMzY4MTE3Nzc5NDM0OCA3MjQ5Njk5Nzk0NDU1NzgyIDI2MzAyODI2OTExNTEwODc=