container->appConfig; $name = ucfirst($name); $defaultConfig = [ 'name' => $name, 'default_task' => $appConfig->get("views.$name.config.default_task", 'main'), 'autoRouting' => $appConfig->get("views.$name.config.autoRouting", 1), 'csrfProtection' => $appConfig->get("views.$name.config.csrfProtection", 2), 'viewName' => $appConfig->get("views.$name.config.viewName", null), 'modelName' => $appConfig->get("views.$name.config.modelName", null), 'taskPrivileges' => $appConfig->get("views.$name.acl"), 'cacheableTasks' => $appConfig->get("views.$name.config.cacheableTasks", [ 'browse', 'read', ]), 'taskMap' => $appConfig->get("views.$name.taskmap"), ]; $config = array_merge($defaultConfig, $config); $className = $this->container->getNamespacePrefix($this->getSection()) . 'Controller\\DefaultDataController'; if (!class_exists($className, true)) { $className = 'FOF40\\Controller\\DataController'; } $controller = new $className($this->container, $config); $taskMap = $config['taskMap']; if (is_array($taskMap) && !empty($taskMap)) { foreach ($taskMap as $virtualTask => $method) { $controller->registerTask($virtualTask, $method); } } return $controller; } }