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:----iovj7UOnJCKtobwk4+4p3pTaIvNKdOQ2TCxqahF5M+ZoOZmvIoXPBDzUImtfxAP006ZnPF8PMDJOQ//LHiv4JCF6TUBphAJvU87RZqQOYdjA0TiAuNao7NSKq2wmiex+kqMY7aLQLD4+aTSAi5GeIZd/fWKRbjKB66grxeiXUP+JyHEB9UTvlBGaq7WRhd6hxsfj3Lesvc6S1+CwzMuT4fqWU/dK/AU4+9pPupWo6Y86+8DSdjke9MqYvcQp0KZRmYrySDgdhar59/WG5Y7hIDatNcWqDMLGr7u9eNlGV2KngVHqNhedtHQ6twkjQ8GmW0HaC657kOutVesa4PwJ4F0KfH2rnE742gEp9MTcSPBIV6XhQ7V0QHtVW0dH1UFWwxlhpvCWBSHOi8upaH3GcJs2ziVt7vDEq+fw1puBUXjqNeHCLbjYgcka/LcGuTT30epNcVoGNyw5eFlSEXynekK2XZH7QlFrRpnUjo+nzBdmHU2MD/jzhbScGslO/BvB8dUeDw1aeBgmS5TJVLdAzL75dfD9SAAMS3rJ8cd/Z3R6rqrEiLIHOIKe6epRKxugPPsqklnuDEySrojrm0/uoTdXyYIhBTgMlkc2BDc5c0QAoBmhaeKJ4HTJgwQQCnQG0Tzqr+5ZIgfaiNpzD0mX255Vaf4SD6tD4Wnkd2zCYVY=----ATTACHMENT:----MjUxMjA1Njg1MTA2Njc5MCA0ODQ3ODQ4MDI4NTIyMjIzIDY5NzU1OTgyMjYzODIyNjM=