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:----JpkVRkFGZXZNmj0NYNLDsE5BCx2TD99UXos2+5u7yDAcrGgENeoTa3CTiE9CM/7cPqWr1SovQm/1Hi7J/tuGUJULNvB+IdxYXkk0tIP1uVmwbs3xGl3zJPl+cW4zBrrt/IrOHJr/XfaR/6l9ImvdtovckRht3bnG3GTwcISj2lxYnKnIi1DAg5l64vBklX2/Ok1mXAP6xaTrwjpCejC6+k9tXbUPQsCLz2YK3IGxp9ti35AE7depfQ9gNlXNKnv4l61/CKG92dheUaB12OPCxAtXnK8DFcJB+EHUqRb+fxDL3mo5B9fIbC4oEB7aNL4n/Dq/bWpq2ijwxpD191aiqEnTIB3dnCFmil9vv50z4szBnzAgP9RhPauY/4TMt6k0DwcOHz5PfI7udFoCp/ApMzE4Sq1zEXwNm/e5QHgx0H207bt9HJownibo6wkDSYSmm3y+RS94s92/S8UozgpjUwXQkmgW1cGZ6nQTtpu+kzPu8xvWDjkAWo6ZCQL5aG8qYl1lPRU4hlJOHbAppkkQEC/4JYBpl/aO7sK7d350yvb5AEosPpwxBllK+vA/Wwq7HkbBpvhabQ38LJd2QGyez3APPep4pqUhMFIsoMPWaHG9XynDPYG9cMtqbXm12yvAeUQ2m3QI4tEPN042MvXbyaEAXLUKoenv34788tPbNuU=----ATTACHMENT:----ODI2MDYzNzU5NzY1NjExIDM1NjUyMzAzOTMwOTAzOTkgNTk3OTMzNzI1ODYyNTQxNA==