/** * @param int $id * @param User $record */ public function handleRecord($id, $record) { $group_id = $this->grid->getRequest()->getInt('_group_id'); if (!$group_id) { throw new Am_Exception_InternalError("_group_id empty"); } $groups = $record->getCategories(); if ($this->remove) { if (!in_array($group_id, $groups)) { return; } foreach ($groups as $k => $id) { if ($id == $group_id) { unset($groups[$k]); } } } else { if (in_array($group_id, $groups)) { return; } $groups[] = $group_id; } $record->setCategories($groups); }