public function save(Context $context) { $response = new JsonResponse(); try { $id = (int) $context->request()->post('id'); $type = $context->request()->post('type'); $data = $context->request()->post('data'); if (Arrays::contains(['js', 'css'], $type)) { throw new Exception(_('Tipo de recurso inválido')); } $modulo = $this->find($id); if (!$modulo) { throw new Exception(_('Módulo inválido')); } $filename = $type == 'css' ? '/public/css/style.css' : '/public/js/script.js'; $filename = $modulo->getRealPath() . $filename; if (!is_writable($filename)) { throw new Exception(_('Permissão negada')); } file_put_contents($filename, $data); $response->success = true; } catch (Exception $e) { $response->success = false; $response->message = $e->getMessage(); } return $response; }