function save() { global $option, $mainframe; $accessLevels = array('id' => JRequest::getINT('id'), 'name' => JRequest::getWord('name')); $tableAccessLevels = JTable::getInstance('accesslevels', 'table'); $tableAccessLevels->bind($accessLevels); $tableAccessLevels->check(); if (!$tableAccessLevels->store()) { $msg = JText::_('NOIXACL_VIEW_ACCESSLEVELS_SAVE_ERROR'); } $tableGroupLevels = JTable::getInstance('grouplevel', 'table'); $tableGroupLevels->remove(intval($tableAccessLevels->id)); $groups = JRequest::getVar('multigroups'); if (!empty($groups)) { foreach ($groups as $group) { $tableGroupLevels = JTable::getInstance('grouplevel', 'table'); $tableGroupLevels->bind($group, $tableAccessLevels->id); $tableGroupLevels->save(); } } switch ($this->getTask()) { case 'save': if (isset($msg)) { $msg = JText::sprintf('NOIXACL_VIEW_ACCESSLEVELS_SAVE_SUCCESS', $groupName); } $url = "index.php?option={$option}&controller=accesslevels"; break; case 'apply': if ($msg) { $msg = JText::sprintf('NOIXACL_VIEW_ACCESSLEVELS_APPLY_SUCCESS') . " " . $groupName; } $url = "index.php?option={$option}&controller=accesslevels&task=edit&cid[]={$tableAccessLevels->id}"; break; } $this->setRedirect($url, $msg); }