$serendipity['serendipityUserlevel']) {
echo '
 . ')
' . CREATE_NOT_AUTHORIZED_USERLEVEL . '
';
} elseif (empty($_POST['username'])) {
echo ' . ')
' . USERCONF_CHECK_USERNAME_ERROR . '
';
} elseif (!empty($_POST['password']) && $_POST['check_password'] != $_SESSION['serendipityPassword'] && md5($_POST['check_password']) != $_SESSION['serendipityPassword']) {
echo ' . ')
' . USERCONF_CHECK_PASSWORD_ERROR . '
';
} else {
$valid_groups = serendipity_getGroups($serendipity['authorid'], true);
foreach($config as $category) {
foreach ($category['items'] as $item) {
if (in_array('groups', $item['flags'])) {
if (serendipity_checkPermission('adminUsersMaintainOthers')) {
// Void, no fixing neccessarry
} 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 ' . ')
' . WARNING_NO_GROUPS_SELECTED . '
';
} else {
serendipity_updateGroups($_POST[$item['var']], $serendipity['authorid'], false);
}
*/
continue;
}
// Moved to group administration:
if ($item['var'] == 'userlevel') continue;
if ($item['view'] == 'dangerous') continue;
if (serendipity_checkConfigItemFlags($item, 'local')) {
serendipity_set_user_var($item['var'], $_POST[$item['var']], $serendipity['authorid'], true);
}
if (serendipity_checkConfigItemFlags($item, 'configuration')) {
serendipity_set_config_var($item['var'], $_POST[$item['var']], $serendipity['authorid']);
}
}
$pl_data = array(
'id' => $serendipity['POST']['authorid'],
'authorid' => $serendipity['POST']['authorid'],
'username' => $_POST['username'],
'realname' => $_POST['realname'],
'email' => $_POST['email']
);
serendipity_updatePermalink($pl_data, 'author');
serendipity_plugin_api::hook_event('backend_users_edit', $pl_data);
}
if ($serendipity['authorid'] === $_SESSION['serendipityAuthorid']) {
if (is_null($serendipity['detected_lang'])) {
$_SESSION['serendipityLanguage'] = $serendipity['lang'];
}
}
$from = $_POST;
?>
true);
serendipity_plugin_api::hook_event('backend_sidebar_entries_event_display_profiles', $from, $add);
/* vim: set sts=4 ts=4 expandtab : */