} } unset($a_field); $newuser = new cls_userinfo(); $newuser->useradd($mainarr['mname'], $mainarr['password'], $mainarr['email'], $mchid); $mid = $newuser->info['mid']; $c_upload->closure(1, $mid, 'members'); $mid || message('memregisterfail', M_REFERER); if ($autocheck == 2) { $confirmid = random(6); $confirmstr = "{$timestamp}\t2\t{$confirmid}"; $subarr['confirmstr'] = $confirmstr; } foreach (array('main', 'sub', 'custom') as $var) { foreach (${$var . 'arr'} as $k => $v) { $newuser->updatefield($k, $v, $var); } } $newuser->autoinit(); $newuser->updatedb(); unset($newuser); cms_spread(empty($_REQUEST['uid']) ? '' : stripslashes($_REQUEST['uid']), 1); if ($autocheck == 1) { msetcookie('userauth', authcode("{$md5_password}\t{$mid}", 'ENCODE')); if ($enable_pptout && !empty($pptout_file) && !empty($pptout_url)) { $action = 'login'; $username = $mname; include M_ROOT . './include/pptout/' . $pptout_file . '.php'; header('location:' . $url); exit; }
$submitstr .= $a_field->submitstr; } } tabfooter('bmemberdetail'); check_submit_func($submitstr); a_guide('memberdetail'); } else { $minfosnew['email'] = empty($minfosnew['email']) ? '' : trim($minfosnew['email']); if (empty($minfosnew['email']) || !isemail($minfosnew['email'])) { amessage('memberemailillegal', M_REFERER); } if (!empty($minfosnew['password']) && strlen($minfosnew['password']) > 15 || $minfosnew['password'] != addslashes($minfosnew['password'])) { amessage('memberpwdillegal', M_REFERER); } $minfosnew['password'] = trim($minfosnew['password']); $actuser->updatefield('email', $minfosnew['email'], 'main'); !empty($minfosnew['password']) && $actuser->updatefield('password', md5(md5($minfosnew['password'])), 'main'); $actuser->updatefield('mtcid', empty($minfosnew['mtcid']) ? 0 : $minfosnew['mtcid'], 'main'); $c_upload = new cls_upload(); $mfields = fields_order($mfields); $a_field = new cls_field(); foreach ($mfields as $k => $v) { if ($v['available'] && !$v['issystem'] && !$v['isfunc']) { $a_field->init(); $a_field->field = $v; if (!$curuser->pmbypmids('field', $a_field->field['pmid'])) { continue; } $a_field->oldvalue = isset($actuser->info[$k]) ? $actuser->info[$k] : ''; $a_field->deal('minfosnew'); if (!empty($a_field->error)) {
foreach ($checkid as $trid) { //????????????????????????????????????????? if (empty($delete) || !in_array($trid, $delete)) { if ($minfos = $db->fetch_one("SELECT * FROM {$tblprefix}mtrans WHERE trid='{$trid}' AND checked='0'")) { $minfos = array_merge($minfos, $minfos['contentarr'] ? unserialize($minfos['contentarr']) : array()); unset($minfos['contentarr']); $actuser->activeuser($minfos['mid'], 2); $omchid = $minfos['fromid']; $mchid = $minfos['toid']; $mchannel = $mchannels[$mchid]; foreach (array('additems') as $var) { ${$var} = $mchannel[$var] ? explode(',', $mchannel[$var]) : array(); } $mfields = read_cache('mfields', $mchid); if (in_array('mtcid', $additems)) { $actuser->updatefield('mtcid', @$minfos['mtcid'], 'main'); } foreach ($grouptypes as $k => $v) { if (!$v['mode'] && in_array("grouptype{$k}", $additems)) { $actuser->updatefield("grouptype{$k}", $minfos["grouptype{$k}"], 'main'); } } foreach ($mfields as $k => $v) { if ($v['available'] && !$v['issystem'] && !$v['isfunc'] && !$v['isadmin'] && in_array($k, $additems)) { $actuser->updatefield($k, @$minfos[$k], $v['tbl']); if ($arr = multi_val_arr(@$minfos[$k], $v)) { foreach ($arr as $x => $y) { $actuser->updatefield($k . '_' . $x, $y, $v['tbl']); } } }
$a_field = new cls_field(); foreach ($values as $k => $v) { $a_field->init(); $a_field->field = read_cache('mfield', $user->info['mchid'], $k); if (!empty($certdata['flags'][$k])) { $a_field->field['cname'] .= ' [<i title="' . lang('memcert_ok') . '">ok</i>]'; } elseif ($k == $memcert['mobile'] && $msgcode_mode == 1) { $a_field->field['cname'] .= ' [<i title="' . lang('msg_code') . '">' . $certdata['codes'][$k] . '</i>]'; } $a_field->oldvalue = $v; $a_field->trfield('memcertnew', '', 'm', $user->info['mchid']); } tabfooter('bmemcertcheck', lang('memcert_modify_cert')); } else { unset($certdata['values']); $user->updatefield('memcert', $record['mcid']); $c_upload = new cls_upload(); $a_field = new cls_field(); foreach ($values as $k => $v) { $a_field->init(); $a_field->field = read_cache('mfield', $user->info['mchid'], $k); if ($curuser->pmbypmids('field', $a_field->field['pmid'])) { $a_field->deal('memcertnew'); if (!empty($a_field->error)) { $c_upload->rollback(); message($a_field->error, M_REFERER); } $user->updatefield($k, $a_field->newvalue, $a_field->field['tbl']); $certdata['flags'][$k] = 1; } }
} if (!$curuser->pmbypmids('cuadd', $mcommu['setting']['apmid'])) { cumessage('younoscorepermis', $forward); } if (!empty($mcommu['setting']['norepeat']) || !empty($mcommu['setting']['repeattime'])) { if (empty($m_cookie['08cms_mcuid_1_' . $mid])) { msetcookie('08cms_mcuid_1_' . $mid, '1', !empty($mcommu['setting']['norepeat']) ? 365 * 24 * 3600 : $mcommu['setting']['repeattime'] * 60); } else { cumessage(empty($mcommu['setting']['norepeat']) ? 'overquick' : 'dontrepeatscore', $forward); } } $actuser = new cls_userinfo(); $actuser->activeuser($mid, 1); if (!$actuser->info['mid']) { cumessage('choosemember', $forward); } $score = empty($score) ? 0 : max(0, intval($score)); $score = max(1, min(5, $score)); //统计原有评分数 $counts = 0; for ($i = 1; $i <= 5; $i++) { $counts += $actuser->info['mscores' . $i]; } $actuser->updatefield('mscores' . $score, $actuser->info['mscores' . $score] + 1, 'sub'); $actuser->updatefield('mavgscore', round(($counts * $actuser->info['mavgscore'] + $score) / ($counts + 1), 2), 'sub'); //平均分 $actuser->updatedb(); cumessage($inajax ? 'succeed' : 'scoresucceed', $forward); } else { include M_ROOT . $mcommu['ucadd']; }
} if (!empty($archivenew['notaclosed'])) { $auser = new cls_userinfo(); $query = $db->query("SELECT * FROM {$tblprefix}answers WHERE aid={$aid}"); while ($item = $db->fetch_array($query)) { if ($item['currency']) { $auser->activeuser($item['mid']); $auser->updatecrids(array($item['crid'] => $item['currency']), 1, lang('answer_reward')); $auser->init(); } } $auser->activeuser($aedit->archive['mid']); $commu = read_cache('commu', $channels[$aedit->archive['chid']]['cuid']); if ($commu['setting']['credit']) { $auser->sub_data(); $auser->updatefield('credits', $auser->info['credits'] + ($aedit->archive['currency'] - $sparenew) * $commu['setting']['credit'], 'sub'); } $auser->updatecrids(array($aedit->archive['crid'] => $sparenew), 1, lang('answer_reward')); unset($auser); $sql_an .= ($sql_an ? ',' : '') . "end=1"; $sql_arcs .= ($sql_arcs ? ',' : '') . "notaclosed=1"; $sparenew = 0; $db->query("DELETE FROM {$tblprefix}notaanswer WHERE aid={$aid}"); } //更新数据库 if ($sparenew != $aedit->archive['spare']) { $sql_arcs .= ($sql_arcs ? ',' : '') . "spare={$sparenew}"; } $sql_arc && $db->query("UPDATE {$tblprefix}archives SET {$sql_arc} WHERE aid={$aid}"); $sql_arcs && $db->query("UPDATE {$tblprefix}archives_sub SET {$sql_arcs} WHERE aid={$aid}"); $sql_an && $db->query("UPDATE {$tblprefix}answers SET {$sql_an} WHERE aid={$aid}");
if (!empty($checkid)) { $actuser = new cls_userinfo(); foreach ($checkid as $trid) { if (empty($delete) || !in_array($trid, $delete)) { if ($minfos = $db->fetch_one("SELECT * FROM {$tblprefix}utrans WHERE trid='{$trid}' AND checked='0'")) { $actuser->activeuser($minfos['mid']); $gtid = $minfos['gtid']; $tugid = $minfos['toid']; $mchid = $actuser->info['mchid']; if (in_array($mchid, explode(',', $grouptypes[$gtid]['mchids']))) { continue; } if ($tugid && (!($usergroup = read_cache('usergroup', $gtid, $tugid)) || !in_array($mchid, explode(',', $usergroup['mchids'])))) { continue; } $actuser->updatefield("grouptype{$gtid}", $tugid, 'main'); $actuser->updatedb(); $db->query("UPDATE {$tblprefix}utrans SET remark='',reply='',checked='1' WHERE trid='{$trid}'"); $actuser->init(); } } } unset($actuser); } adminlog(lang('useraltadm'), lang('useraltlisadmoper')); amessage('useraltopefin', "?entry=utrans&action=utransedit&page={$page}{$filterstr}"); } } elseif ($action == 'utrandetail' && $trid) { if (!($minfos = $db->fetch_one("SELECT * FROM {$tblprefix}utrans WHERE trid='{$trid}'"))) { amessage('choosealtrec'); }