function b1n_sessionGC($life_time) { global $ses_sql; if (isset($_REQUEST['PHPSESSID'])) { $ses_id = $_REQUEST['PHPSESSID']; } else { $ses_id = ''; } $query = "\n SELECT\n ses_id, ses_ip,\n ses_data, ses_last_updated\n FROM\n session\n WHERE\n (CURRENT_TIMESTAMP - ses_last_updated)::interval >\n '" . $life_time . "'::interval"; $rs = $ses_sql->sqlQuery($query); if (is_array($rs)) { // Logging off foreach ($rs as $p) { if (strstr($p['ses_data'], 'pla_id')) { $pla_id = ereg_replace('.*:"pla_id";s:[0-9]+:"([0-9]+)";.*', '\\1', $p['ses_data']); if (!empty($pla_id)) { $aux = "'" . $p['ses_last_updated'] . "'::timestamp + "; $aux .= "'" . $life_time / 2 . " seconds'::interval"; b1n_logAction('logoff', array(), $pla_id, 0, $aux); if (b1n_cmp($ses_id, $p['ses_id'])) { global $lang; b1n_retMsg($lang['session_has_expired']); if (!b1n_cmp($_SERVER['REMOTE_ADDR'], $p['ses_ip'])) { b1n_retMsg($lang['log_cheater']); } } } } } } $query = "\n DELETE FROM session WHERE\n (CURRENT_TIMESTAMP - ses_last_updated)::interval >\n '" . $life_time . "'::interval"; $ses_sql->sqlQuery($query); return true; }
function b1n_playerChangePasswd($data) { global $sql, $lang; if (b1n_cmp($data['newpasswd'], $data['newpasswd2'])) { b1n_retMsg($lang['player_password_mismatch']); return false; } $query = ' UPDATE player SET pla_passwd = ' . b1n_inBd(b1n_crypt($data['newpasswd'])) . ' WHERE pla_login = '******'pla_login']) . ' AND pla_passwd = ' . b1n_inBd(b1n_crypt($data['curpasswd'])); if ($sql->sqlQuery($query)) { b1n_retMsg($lang['player_password_success'], array(), b1n_SUCCESS); } else { b1n_retMsg($lang['player_password_wrong']); } }
$inc[] = $data['page'] . '/index.php'; } } else { b1n_getVar('login', $data['login']); b1n_getVar('passwd', $data['passwd']); b1n_getVar('seccode', $data['seccode']); b1n_getVar('master', $data['master']); b1n_getVar('email', $data['email']); // The player is not logged if (b1n_cmp($data['page'], 'login')) { if (b1n_cmp($data['action'], 'login')) { if (b1n_doLogin($data['login'], $data['passwd'], $data['seccode'])) { header('Location: ' . b1n_URL); exit; } } elseif (b1n_cmp($data['action'], 'newplayer')) { if (b1n_permNewPlayer($data['login'], $data['passwd'], $data['email'], $data['seccode'], $data['master'])) { if (b1n_doLogin($data['login'], $data['passwd'], $data['seccode'])) { header('Location: ' . b1n_URL); exit; } } } } $inc[] = b1n_PATH_INC . '/login.inc.php'; } // Header require b1n_PATH_INC . '/header.inc.php'; // Returned Messages if (sizeof($ret_msgs)) { require b1n_PATH_INC . '/ret.inc.php';
function b1n_permNewPlayer($login, $passwd, $email, $seccode, $master) { global $sql, $lang; $seccode = b1n_crypt($seccode); if (!b1n_cmp($seccode, $_SESSION['seccode'])) { $msg = b1n_decrypt($seccode); $msg .= ' != '; $msg .= b1n_decrypt($_SESSION['seccode']); b1n_retMsg($lang['login_err_wrong_code'], array('{code}' => $msg)); return false; } if (b1n_permCheckNewPlayer($login, $passwd, $email, $master)) { $query = ' SELECT func_newPlayer( ' . b1n_inBd($login) . ', ' . b1n_inBd(b1n_crypt($passwd)) . ', ' . b1n_inBd($email) . ', ' . b1n_inBd($master) . ') AS ret'; $rs = $sql->sqlSingleQuery($query); $rs['ret'] = b1n_checkTrue($rs['ret']); if ($rs['ret']) { b1n_retMsg($lang['unexpected']); } return $rs['ret']; } return false; }
function b1n_checkTrue($str) { return b1n_cmp($str, 't'); }
function b1n_mapBuildBank($action) { global $sql, $lang; $ret = "<form name='f_bank' action='" . b1n_URL . "' method='post'>"; $ret .= "<input type='hidden' name='page' value='map' />"; $ret .= "<select class='i_select' name='action'> "; $ret .= "<option value=''>---</option>"; $ret .= "<option value='deposit_money'" . (b1n_cmp($action, 'deposit_money') ? ' selected="selected"' : '') . ">" . $lang['bank_deposit'] . "</option>"; $ret .= "<option value='withdraw_money'" . (b1n_cmp($action, 'withdraw_money') ? ' selected="selected"' : '') . ">" . $lang['bank_withdraw'] . "</option>"; $ret .= "</select> "; $ret .= "<input type='text' name='money' class='i_text' size='5' maxlength='5' /> "; $ret .= "<input type='submit' value='" . $lang['ok'] . "' class='i_button' /><br />"; $ret .= "</form>"; $ret .= "<script type='text/javascript'>document.f_bank.money.focus();</script>"; if (!empty($_SESSION['player']['pla_bank_money'])) { $ret .= '(' . str_replace('{money}', b1n_formatCurrency($_SESSION['player']['pla_bank_money']), $lang['bank_money']) . ')<br />'; } $ret .= '(' . str_replace('{money}', b1n_formatCurrency($_SESSION['player']['pla_money']), $lang['map_label_money']) . ')'; return $ret; }
<?php // $Id: history.php,v 1.2 2004/04/12 00:34:26 mmr Exp $ if (is_array($history)) { echo '<table><tr><td> </td><td> </td></tr>'; foreach ($history as $h) { echo '<tr>'; echo '<td><nobr>' . b1n_formatDateHourShow($h['log_add_dt']) . '</nobr></td>'; $msg = $lang['log_' . $h['log_action']]; $vars = ''; if (!empty($h['log_vars'])) { $vars = explode(';', $h['log_vars']); if (is_array($vars)) { foreach ($vars as $var) { list($k, $v) = explode(':', $var); if (b1n_cmp($k, 'money')) { $v = b1n_formatCurrency($v); } $msg = str_replace('{' . $k . '}', $v, $msg); } } } echo '<td>' . $msg . '</td>'; echo '</tr>'; } echo "</table>"; }
function b1n_calcGetValues($ini, $fin, $dates) { global $sql; $ini = b1n_formatDate($ini); $fin = b1n_formatDate($fin); $ret = array(); $query = "\n SELECT\n 1 AS number,\n data\n FROM\n sena\n WHERE\n data BETWEEN '{$ini}' AND '{$fin}' AND (\n d1 = 1 OR d2 = 1 OR d3 = 1 OR d4 = 1 OR d5 = 1 OR d6 = 1)"; for ($i = 2; $i <= 60; $i++) { $query .= "\n UNION (\n SELECT\n {$i} AS number,\n data\n FROM\n sena\n WHERE\n data BETWEEN '{$ini}' AND '{$fin}' AND (\n d1 = {$i} OR d2 = {$i} OR d3 = {$i} OR d4 = {$i} OR d5 = {$i} OR d6 = {$i}))"; } $ret = $sql->sqlQuery($query); $d = array(); $aux = $dates; $last = array_shift($aux); foreach ($ret as $x) { $aux = $x['number']; $d[$aux][$last] = 100; foreach ($dates as $y) { if (b1n_cmp($x['data'], $y)) { $v = round(sizeof($d[$aux]) / 3); } else { $v = round(sizeof($d[$aux]) / 3) * -1; } $d[$aux][$y] = $d[$aux][$last] + $v; $last = $y; } } return $d; }