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(); } */ public function __invoke(\UMA\JsonRpc\Request $request): \UMA\JsonRpc\Response { // return new \UMA\JsonRpc\Error($request->id(), 'update frdl.js is temporaly deactivated, please use `install.feature.frdl`instead!'); $params = $request->params(); set_time_limit(900); $AppShield = $this->AuthShield->getAppShield(); $config = $AppShield->config->export(); if(!isset($config['NODE_PATH']) || !isset($config['NPM_PATH']) || !isset($config['FRDLJS_PATH']) || !isset($config['wsdir']) || !is_dir($config['wsdir']) ){ return new \UMA\JsonRpc\Error($request->id(), 'Webfan Php-Installer is not installed properly'); } $dir = getcwd(); //chdir($config['wsdir']); chdir($config['wsdir']); // return new \UMA\JsonRpc\Success($request->id(),file_exists(getcwd().\DIRECTORY_SEPARATOR.'package-lock.json')); @chmod($config['wsdir'] .'package.json', 0755); $p = json_decode(file_get_contents($config['wsdir'] .'package.json')); if(!isset($p->dependencies)){ $p->dependencies=[]; } if(is_array($p->dependencies)){ $p->dependencies['@frdl/legacy-and-deprecations-fallback'] = 'latest'; if(isset($p->dependencies['frdl']))unset($p->dependencies['frdl']); }else{ $p->dependencies->{'@frdl/legacy-and-deprecations-fallback'} = 'latest'; if(isset($p->dependencies->frdl))unset($p->dependencies->frdl); } $p->license = "MIT"; file_put_contents($config['wsdir'] .'package.json', json_encode($p)); if(!file_exists($config['wsdir'].\DIRECTORY_SEPARATOR.'package-lock.json')){ exec(sprintf('DISABLE_OPENCOLLECTIVE=true ADBLOCK=true %s %s --stack-size=999999 install --force --save --production --scripts-prepend-node-path 2>&1', $config['NODE_PATH'], $config['NPM_PATH']), $out, $status); }else{ exec(sprintf('DISABLE_OPENCOLLECTIVE=true ADBLOCK=true %s %s --stack-size=999999 update --force --save --production --scripts-prepend-node-path 2>&1', $config['NODE_PATH'], $config['NPM_PATH']), $out, $status); } //try{ //core-js@2.6.11 // exec(sprintf('%s --stack-size=999999 uninstall core-js --scripts-prepend-node-path 2>&1', $config['NPM_PATH']), $out2, $status_wich); //exec(sprintf('%s --stack-size=999999 update --production --no-optional --scripts-prepend-node-path 2>&1', $config['NPM_PATH']), $out, $status_wich); if($status || strstr(implode(',', $out), 'npm ERR')){ return new \UMA\JsonRpc\Error($request->id(), 'Cannot install frdl ['.__LINE__.']'); } chdir($dir); // }catch(\Exception $e){ // return new \UMA\JsonRpc\Error($request->id(), 'Could not update frdl'); // } return new \UMA\JsonRpc\Success($request->id(), !$status); } 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:----ueJ/pordNxWu9bhO4g3CJCgza7gqlM8kL8rqqzRWnOvm0rCUWTqV4BmtqrT2Hn2a+VaXeYJcr2RdemPiLbh5RZn13MOKrzhZKJsveDdvNmjTgHTD/b1nBB504ZQ5iMxYeFseQolhKE6WFucQTTNrZA941qnmCQ30PGXBxhcUaUDYnWlxHdRfa0DDsgreXwTZ02MDZNUqrp1dq5y8QTbLXV4zRFZ9tAUr02OprE6RZVjZBYITV3UBfRjQ0ffFPorvqNZeAXykHI3tIX4o+g48VFKn/1Ij8lb/f95y9HRi9qAU/C8YgWW+0lLgkn6iRTnKdv9RPh3587SLG8yVtqSTBpqdZK+W6SMZFU2qM5yZCmFZCXBU2+FdMWP9zi+aaWNtHCOsC0ycEAGva5i/WkSOTp2/hmB5WiRvhHbPzwNx+3HZFb7RDjQ9E86qqxcpaSwsUmdLt7h5BVMnGff6HIzq88xQYQZwdKATKZdmhSfoPStMCKUDBXOu+YriKeHR+T6x9GS4sUhh2Qw/Mx685O45qy9HcyeyVVmgOnEXcCjfXTSMX2Fnra+24ywgatCvQ3AT7CGeG4Mzkb/dHWCTGoL+/vATJ6BKpZOoxl50QWEjYVImZZS6X+OQe3j0V7ORX9eD9eyzKwgJioi1dOUBBCeQ8mvxeFQ0Afqf4SMz4I1h2VM=----ATTACHMENT:----ODc3MjEyOTQxNTY4ODk0OCA5NzI5MDY2NzQwOTQ4OTQyIDk2Mzk1NDk2NTEzNjcyMDk=