$formdata = array(); $sep = '___'; $sepkey = 'general' . $sep . $container; foreach ($_REQUEST as $key2 => $value2) { if (substr($key2, 0, strlen($sepkey)) == $sepkey) { $formdata[$key2] = $value2; } } $formarray = formToArray($formdata); if (isset($formarray['general'][$container])) { $data = $formarray['general'][$container]; // TODO: to be better... $ret = null; $todel = Abstract_UserGroup_Preferences::loadByUserGroupId($group->getUniqueID(), 'general', $container); foreach ($todel as $key2 => $value2) { $ret = Abstract_UserGroup_Preferences::delete($group->getUniqueID(), 'general', $container, $value2->element_id); if ($ret !== true) { break; } } foreach ($data as $element_id => $value) { $ugp = new UserGroup_Preferences($group->getUniqueID(), 'general', $container, $element_id, $value); $ret = Abstract_UserGroup_Preferences::save($ugp); if ($ret !== true) { break; } } } } } }
public function users_group_settings_remove($group_id_, $container_, $setting_) { $this->check_authorized('manageUsersGroups'); $userGroupDB = UserGroupDB::getInstance(); $group = $userGroupDB->import($group_id_); if (!is_object($group)) { return false; } $prefs = Preferences::getInstance(); $session_settings_defaults = $prefs->getElements('general', $container_); if (!array_key_exists($setting_, $session_settings_defaults)) { return false; } $ret = Abstract_UserGroup_Preferences::delete($group->getUniqueID(), 'general', $container_, $setting_); if (!$ret) { return false; } $this->log_action('users_group_settings_remove', array('group' => $group->name, $container_ . '_' . $setting_ => null)); return true; }