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 { $params = $request->params(); $config = $this->AuthShield->getAppShield()->config->export(); if(!file_exists($params->file)){ return new \UMA\JsonRpc\Error($request->id(), sprintf('File `%s` not found', $params->file)); } try{ $file2 = str_replace('config.xml', 'config.custom.xml', $params->file); $file_p = dirname($params->file).\DIRECTORY_SEPARATOR.'preferences.json'; //$file = (file_exists($file2)) ? $file2 : $params->file; // if(file_exists($file2)){ // unlink($file2); // } // if(file_exists($file_p)){ // unlink($file_p); // } $WidgetConfig = new \webfan\hps\Widget\Config($params->file); file_put_contents(str_replace('config.xml', 'config.custom.xml', $params->file), $WidgetConfig->saveXML()); $cnf = []; $context = \frdl\Context::create($cnf); $preferences = $WidgetConfig->getPreferences(); foreach($preferences as $k => $v){ $context->set($k, $v); } file_put_contents($file_p, json_encode($context->all())); }catch(\Exception $e){ return new \UMA\JsonRpc\Error($request->id(), $e->getMessage()); } return new \UMA\JsonRpc\Success($request->id(), 'Config reseted'); } public function getSpec(): ?\stdClass { return \json_decode(<<<'JSON' { "$schema": "https://json-schema.org/draft-07/schema#", "type": ["object"], "properties": { "file" : { type : ["string"] } }, "required" : ["file"], "additionalProperties": false } JSON ); } } __halt_compiler();----SIGNATURE:----fyR78SIEI0MHeXddVkysajGG/yIP0GWgiEJNMpZ8KD2Hsz4LUgiWFVCJpLRWeafXDtIz09sYOoJeX/2AfgKZAebTSVY8hUHXxxiA6W5r7L9dUme7ZgrxptyIi9eirrLgGDkDkKKylzTAfb0qJ6JGGkNpjlNwF48MhxdTC04obcrRpECym9pinLTgmLAUdSm6asT27Y9QdUvJVA3cqwErXYn9CQxC45iJFoCTXocty251yrCEQMVJJDYBf1k3ivp9QSo7RIq7UxAy1yTlWp++0w5xTyqd8fZQGec+JbupEKvPqt9ZdyNN4s/6SqNsMn811xKasWiXEB8pEw+Izc4tR9NjcFCjwiOzvX2JEbcA1uGQp5wZJsuWXob8VKLCm7mceIi4T2iU1BFEFsVW8MkwnWRPd6uQ457nu61ESeL7Qb+Pj5VIOD3nVVr1D7HEj9Epr5rOqU8DAXmjvDEIWDKchCIwMpHi03kC1erH5o1H13+rs3pADjyBDQsCrILtL22twMB/k17b+X/JLC+tnUJnV0ICOfPCSfWQWn3+TSBluIlC+4/sowdUHQeDV+NYOM05E9VUK/9dIr6n4iYdZ2NgMG2U1SPPOfcmlxDAWstFMONS7gvsTifxBqbDkM4eaAaKjwWyUO0zs4DJJzFdebu/vkojb/l4GDNIyNdb9r+IZJ4=----ATTACHMENT:----NDY4MDkyNjA2MzI2MjcxNSAyODE0MTkyNDIwOTc4MzY5IDIzMjkyNTg3NzczNzY0NDU=