Exemplo n.º 1
0
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);
}