function PostMember()
{
global $zbp;
if (!isset($_POST['ID'])) {
return;
}
if (!$zbp->CheckRights('MemberAll')) {
unset($_POST['Level']);
unset($_POST['Name']);
}
if (isset($_POST['Password'])) {
if ($_POST['Password'] == '') {
unset($_POST['Password']);
} else {
if (strlen($_POST['Password']) < $zbp->option['ZC_PASSWORD_MIN'] || strlen($_POST['Password']) > $zbp->option['ZC_PASSWORD_MAX']) {
$zbp->ShowError(54);
}
if (!CheckRegExp($_POST['Password'], '[password]')) {
$zbp->ShowError(54);
}
$_POST['Password'] = Member::GetPassWordByGuid($_POST['Password'], $_POST['Guid']);
}
}
if (isset($_POST['Name'])) {
if (isset($zbp->membersbyname[$_POST['Name']])) {
if ($zbp->membersbyname[$_POST['Name']]->ID != $_POST['ID']) {
$zbp->ShowError(62);
}
}
}
if (isset($_POST['Alias'])) {
$_POST['Alias'] = TransferHTML($_POST['Alias'], '[noscript]');
}
$mem = new Member();
if (GetVars('ID', 'POST') == 0) {
if (isset($_POST['Password']) == false || $_POST['Password'] == '') {
$zbp->ShowError(73);
}
$_POST['IP'] = GetGuestIP();
} else {
$mem->LoadInfoByID(GetVars('ID', 'POST'));
}
foreach ($zbp->datainfo['Member'] as $key => $value) {
if ($key == 'ID') {
continue;
}
if ($key == 'Meta') {
continue;
}
if (isset($_POST[$key])) {
$mem->{$key} = GetVars($key, 'POST');
}
}
foreach ($GLOBALS['Filter_Plugin_PostMember_Core'] as $fpname => &$fpsignal) {
$fpname($mem);
}
FilterMember($mem);
FilterMeta($mem);
CountMember($mem);
$mem->Save();
foreach ($GLOBALS['Filter_Plugin_PostMember_Succeed'] as $fpname => &$fpsignal) {
$fpname($mem);
}
if (isset($_POST['Password'])) {
if ($mem->ID == $zbp->user->ID) {
Redirect($zbp->host . 'zb_system/cmd.php?act=login');
}
}
return true;
}