public static function start() { // Include model incFile('modules/profile/system/Model.php'); incFile('../mail/class.phpmailer.php'); // Connect to DB $model = new ProfileModel(); if (getSession('user')) { $id = getSession('user'); } else { $id = getCookie('user'); setSession('user', $id, false); } // $id = (getSession('user')) ? getSession('user') : getCookie('user') ; if ($id) { $uData = array(); // Update user $uData['controller'] = CONTROLLER; $uData['action'] = ACTION; $uData['dateLast'] = time(); $model->updateUserByID($uData, $id); // Get data user Request::setParam('user', $model->getUserByID($id)); // Count new message Request::setParam('countMsg', $model->countMsg($id)); // Count new message Request::setParam('countRequests', $model->countRequests($id)); // Count challenges Request::setParam('countChallenges', $model->countChallengesList($id)); } else { $gip = ip2long($_SERVER['REMOTE_ADDR']); // Null Request::setParam('user', null); // Guest Request::setParam('guest', $model->getGuestByIP($gip)); // Role Request::setRole('guest'); /* // Language if (CONTROLLER == 'page' && ACTION == 'lang') { if (Request::getUri(0) == 'ru' OR Request::getUri(0) == 'en') setMyCookie('lang', Request::getUri(0), time() + 365 * 86400); } $lang = getCookie('lang'); if ($lang == 'ru' OR $lang == 'en') Lang::setLanguage($lang); else Lang::setLanguage(); */ if (Request::getParam('guest')->id) { $gData['count'] = Request::getParam('guest')->count + 1; $gData['time'] = time(); $model->update('guests', $gData, "`id` = '" . Request::getParam('guest')->id . "' LIMIT 1"); } else { $gData['ip'] = $gip; $gData['browser'] = $_SERVER['HTTP_USER_AGENT']; $gData['referer'] = $_SERVER['HTTP_REFERER']; $gData['count'] = 1; $gData['time'] = time(); $model->insert('guests', $gData); } } // Count users online Request::setParam('countUsersOnline', $model->countUsersOnline()); // Count guests online Request::setParam('countGuestsOnline', $model->countGuestsOnline()); }
public function setLoseAction() { $response['error'] = 0; if (isPost()) { $post = allPost(); $model = new ProfileModel(); if ($post['mid']) { $match = $model->getMatchByID($post['mid']); if ($match->blocked && !($match->pwin == "1" && $match->uwin == "2") && !($match->pwin == "2" && $match->uwin == "1")) { if (Request::getParam('user')->id == $match->uid) { $data['uwin'] = '2'; if ($match->pwin == "1") { $data['status'] = 2; $winner = $match->pid; $loser = $match->uid; } } elseif (Request::getParam('user')->id == $match->pid) { $data['pwin'] = '2'; if ($match->uwin == "1") { $data['status'] = 2; $winner = $match->uid; $loser = $match->pid; } } if ($data && $model->updateMatchWL($post['mid'], $data)) { if ($winner && $loser) { if ($winner == Request::getParam('user')->id) { $userW = Request::getParam('user'); $userL = $model->getUserByID($loser); } else { $userW = $model->getUserByID($winner); $userL = Request::getParam('user'); } $countGamesW = $userW->wins + $userW->losses + 1; $countGamesL = $userL->wins + $userL->losses + 1; $eloW = elo($userW->elo, $userL->elo, $countGamesW, 1); $eloL = elo($userL->elo, $userW->elo, $countGamesL, 0); $model->updateWLStat($winner, $loser, $eloW, $eloL); } } else { $response['error'] = Lang::translate("MATCH_DB_ERROR"); } } else { $response['error'] = Lang::translate("MATCH_ENDED"); } } } else { $response['error'] = Lang::translate("MATCH_EMPTY_DATA"); } echo json_encode($response); exit; }