diff --git a/administrator/components/com_config/src/Controller/ComponentController.php b/administrator/components/com_config/src/Controller/ComponentController.php index ea289de08d81e..4d33683687beb 100644 --- a/administrator/components/com_config/src/Controller/ComponentController.php +++ b/administrator/components/com_config/src/Controller/ComponentController.php @@ -69,7 +69,7 @@ public function save($key = null, $urlVar = null) $id = $this->input->get('id', null, 'INT'); $option = $this->input->get('component'); $user = $this->app->getIdentity(); - $context = "$this->option.edit.$this->context"; + $context = "$this->option.edit.$this->context.$option"; /** @var \Joomla\Component\Config\Administrator\Model\ComponentModel $model */ $model = $this->getModel('Component', 'Administrator'); @@ -197,7 +197,7 @@ public function save($key = null, $urlVar = null) public function cancel($key = null) { // Clear session data. - $this->app->setUserState("$this->option.edit.$this->context.data", null); + $this->app->setUserState("$this->option.edit.$this->context.$option.data", null); $component = $this->input->get('component'); $this->setRedirect(Route::_('index.php?option=' . $component, false)); diff --git a/administrator/components/com_config/src/Model/ComponentModel.php b/administrator/components/com_config/src/Model/ComponentModel.php index 8c4ea9b8c514a..4546f6d82c946 100644 --- a/administrator/components/com_config/src/Model/ComponentModel.php +++ b/administrator/components/com_config/src/Model/ComponentModel.php @@ -112,8 +112,10 @@ public function getForm($data = array(), $loadData = true) */ protected function loadFormData() { + $option = $this->getState()->get('component.option'); + // Check the session for previously entered form data. - $data = Factory::getApplication()->getUserState('com_config.edit.component.data', []); + $data = Factory::getApplication()->getUserState('com_config.edit.component.' . $option . '.data', []); if (empty($data)) {