$group->save(); if ($group->getName() == 'group') { //have to update any users who have this group designate. $groupname = $group->getUser(); foreach ($admins as $admin) { if ($admin['valid']) { $hisgroups = explode(',', $admin['group']); if (in_array($groupname, $hisgroups)) { $user = Zenphoto_Authority::newAdministrator($admin['user'], $admin['valid']); user_groups::merge_rights($user, $hisgroups); $user->save(); } } } //user assignments: first clear out existing ones Zenphoto_Authority::updateAdminField('group', NULL, array('`valid`>=' => '1', '`group`=' => $groupname)); //then add the ones marked $target = 'user_' . $i . '-'; foreach ($_POST as $item => $username) { $item = sanitize(postIndexDecode($item)); if (strpos($item, $target) !== false) { $username = substr($item, strlen($target)); $user = Zenphoto_Authority::getAnAdmin(array('`user`=' => $username, '`valid`>=' => 1)); $user->setRights($group->getRights()); $user->setObjects($group->getObjects()); $user->setGroup($groupname); $user->setCustomData($group->getCustomData()); $user->save(); } } }