try { $user = User::getKV('nickname', $nickname); if (empty($user)) { throw new Exception("No user named '{$nickname}'."); } $group = User_group::getKV('nickname', $groupname); if (empty($group)) { throw new Exception("No group named '{$groupname}'."); } $member = Group_member::pkeyGet(array('group_id' => $group->id, 'profile_id' => $user->id)); if (empty($member)) { $member = new Group_member(); $member->group_id = $group->id; $member->profile_id = $user->id; $member->created = common_sql_now(); if (!$member->insert()) { throw new Exception("Can't add '{$nickname}' to '{$groupname}'."); } } if ($member->is_admin) { throw new Exception("'{$nickname}' is already an admin of '{$groupname}'."); } $orig = clone $member; $member->is_admin = 1; if (!$member->update($orig)) { throw new Exception("Can't make '{$nickname}' admin of '{$groupname}'."); } } catch (Exception $e) { print $e->getMessage() . "\n"; exit(1); }