예제 #1
0
     }
 }
 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;
     }
예제 #2
0
             $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)) {
예제 #3
0
 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']);
                         }
                     }
                 }
예제 #4
0
     $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;
         }
     }
예제 #5
0
    }
    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'];
}
예제 #6
0
 }
 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}");
예제 #7
0
        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');
    }