$serendipity['serendipityUserlevel']) { $data['not_authorized'] = true; } elseif (empty($_POST['username'])) { $data['empty_username'] = true; } elseif ( (!empty($_POST['password']) && !empty($_POST['check_password']) && $_POST['check_password'] != $_SESSION['serendipityPassword'] && serendipity_passwordhash($_POST['check_password']) != $_SESSION['serendipityPassword']) || (!empty($_POST['password']) && empty($_POST['check_password']) && $_POST['password'] != $_SESSION['serendipityPassword'] && serendipity_passwordhash($_POST['password']) != $_SESSION['serendipityPassword']) ) { $data['password_check_fail'] = true; } else { $valid_groups = serendipity_getGroups($serendipity['authorid'], true); $data['realname'] = $_POST['realname']; foreach($config as $category) { foreach ($category['items'] as $item) { if (in_array('groups', $item['flags'])) { if (serendipity_checkPermission('adminUsersMaintainOthers')) { // Void, no fixing necessarry } elseif (serendipity_checkPermission('adminUsersMaintainSame')) { if (!is_array($_POST[$item['var']])) { continue; } // Check that no user may assign groups he's not allowed to. foreach($_POST[$item['var']] AS $groupkey => $groupval) { if (in_array($groupval, $valid_groups)) { continue; } elseif ($groupval == 2 && in_array(3, $valid_groups)) { // Admin is allowed to assign users to chief editors continue; } elseif ($groupval == 1 && in_array(2, $valid_groups)) { // Chief is allowed to assign users to editors continue; } unset($_POST[$item['var']][$groupkey]); } } else { continue; } /* if (count($_POST[$item['var']]) < 1) { echo '