/** * A handler of each state. * @param int state code */ public function state($state) { eval(USER); $cm = new ContestModel(); $contest = $cm->getCurrentContest(); $contest = $contest[0]; $qm = new QuizModel(); $this->assign('contestname', $contest['name']); $this->assign('contest', $contest); $team = DBModel::getTeamDetail(DBModel::getTeamByUser(session('userid'))); $states = DBModel::selectDB('cernet_statepage'); $this->assign('statepage', $states[$state - 1]['html']); switch ($state) { case 1: // dump($qm); $this->assign('total', $qm->getTotalOnce()); $this->assign('pass', $qm->getPass()); break; case 2: $conf = array(); $conf['user_id'] = session('userid'); $conf['statecode'] = 0; $model = D('cernet_teammate'); $invitations = $model->where($conf)->select(); $list = array(); foreach ($invitations as $invitation) { array_push($list, DBModel::getFullInvitation($invitation)); } $this->assign('list', $list); $this->assign('invitation', json_encode($invitations)); case 3: // invitation $conf = array(); $conf['user_id'] = session('userid'); $conf['statecode'] = 0; $model = D('cernet_teammate'); $invitations = $model->where($conf)->select(); $teamsize = $cm->getTeamSize(); $list = array(); foreach ($invitations as $invitation) { array_push($list, DBModel::getFullInvitation($invitation)); } $this->assign('list', $list); $this->assign('invitation', json_encode($invitations)); // inteam $this->assign('inteam', DBModel::inteam(session('userid')) ? 1 : ''); // get the team $this->assign('teamname', $team['team']['name']); $this->assign('leadername', getNameById('cernet_user', $team['team']['leader'])); $this->assign('isleader', DBModel::isLeader(session('userid'))); $this->assign('teamsize', $teamsize); $contest = $cm->getCurrentContest(); $contest = $contest[0]; $model = D('cernet_user'); $team_id = DBModel::getTeamByUser(session('userid')); $map['cernet_teammate.statecode'] = array(array('neq', 1), array('exp', 'is NULL'), 'OR'); $map['cernet_teammate.team_id'] = array(array('neq', $team_id), array('exp', 'is NULL'), 'OR'); $map['cernet_user.statecode'] = array(array('gt', 1), array('lt', 4)); // $map['cernet_user.statecode'] = 3; $userlist = $model->join('LEFT JOIN cernet_teammate ON cernet_user.id = cernet_teammate.user_id')->where($map)->field('cernet_teammate.statecode,id,name')->select(); $model = D('cernet_teammate'); unset($map['cernet_teammate.statecode']); $map['cernet_teammate.team_id'] = $team_id; $map['cernet_user.id'] = array('NEQ', session('userid')); $candidate = $model->join('LEFT JOIN cernet_user ON cernet_user.id = cernet_teammate.user_id')->field('cernet_teammate.statecode,id,name')->where($map)->select(); // dump($map); // dump($candidate); // die(); $team = DBModel::getTeamDetail($team_id); $this->assign('banner', $cm->getBanner()); $this->assign('team', $team); $this->assign('userlist', json_encode($userlist)); $this->assign('candidate', json_encode($candidate)); $this->assign('teamsize', $cm->getTeamSize()); $this->assign('contest', $contest); $this->assign("less", "buildteam" . ".less"); break; case 4: $this->assign('team', $team); $this->assign('mates', $team['teammate']); break; case 5: $team_id = DBModel::getTeamByUser(session('userid')); $teamdetail = DBModel::getTeamDetail($team_id)['team']; $post['post_time'] = $teamdetail['post_time']; $post['post_company'] = $teamdetail['post_company']; $post['post_id'] = $teamdetail['post_id']; $post['post_status'] = $teamdetail['post_status']; $this->assign('post', $post); $this->assign('team', $team['team']); break; case 6: break; case 8: $this->assign('prize', $team['team']['prize']); break; case 7: $this->assign('team', $team); $this->assign('mates', $team['teammate']); break; } }
/** * Password find back handle function. * Usertype: Student */ public function nopassword_() { try { require 'powerdream/Common/Mail.class.php'; $cond['email'] = xassert(safepost('email'), Error('post')); $random = rand(0, 100) . ' This is a salt.'; $pwd = substr(encrypt($random), 0, 8); $data['password'] = encrypt($pwd); if (!DBModel::existUser('cernet_user', $cond)) { $this->error(Error('email'), lastpage()); } else { DBModel::updateDB('cernet_user', $cond, $data); $user = DBModel::selectDB('cernet_user', $cond); $user = $user[0]; $mailto = $cond['email']; $replace['[#password]'] = $pwd; $replace['[#username]'] = $user['username']; $content = Mail::contentTemplate('nopassword'); Mail::autosend($mailto, $content, $replace); $this->success(Success('nopassword'), '__ROOT__'); } } catch (Exception $e) { bassert($this, false, $e->getMessage()); } }
public static function getDetailByUserId($userid) { $cond['id'] = $userid; $msg = DBModel::selectDB('cernet_user', $cond); return $msg; }
/** * Edit state content. */ public function publish_state() { eval(ADMIN); $states = DBModel::selectDB('cernet_statepage'); $this->assign('states', json_encode($states)); eval(NDSP); }