本文整理汇总了PHP中access::is_nostat方法的典型用法代码示例。如果您正苦于以下问题:PHP access::is_nostat方法的具体用法?PHP access::is_nostat怎么用?PHP access::is_nostat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类access
的用法示例。
在下文中一共展示了access::is_nostat方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* Construct
*/
public function __construct()
{
$this->ff = ff::get_ff();
$this->ff->needaccess(2, "Du har ikke tilgang til denne banken.");
$this->priority_write = $this->ff->get_bank_write_priority();
if (false && !access::has("admin")) {
echo '
<div class="bg1_c xsmall">
<h1 class="bg1">' . ucfirst($this->ff->type['type']) . 'bank stengt<span class="left"></span><span class="right"></span></h1>
<div class="bg1">
<p>' . ucfirst($this->ff->type['type']) . 'banken er stengt for å unngå distribusjon av penger. Pengenivået vil bli justert til å være ihht. verdiene ved midnatt.</p>
</div>
</div>';
$this->ff->load_page();
}
redirect::store("banken?ff_id={$this->ff->id}");
ess::$b->page->add_title("Banken");
$this->nostat = access::is_nostat() && login::$user->player->id != 1;
// kontroller at vi har bankkonto
if (!login::$user->player->user->data['u_bank_auth']) {
ess::$b->page->add_message("Banken for {$this->ff->type['refobj']} benytter seg av passordet i din vanlige bank. For å få tilgang til den må du først opprette et passord. Etter du har opprettet et passord kan du gå tilbake til banken til {$this->ff->type['refobj']}.");
redirect::handle("banken", redirect::ROOT);
}
// kontroller at vi er logget inn i banken
$this->auth_verify();
// gi/fjerne tilgang for medeier?
if ((isset($_POST['pri2_wt']) || isset($_POST['pri2_wf'])) && validate_sid()) {
$this->pri2_access();
}
// vise statistikk
if (isset($_GET['stats'])) {
$this->stats();
}
// sette inn penger?
if (isset($_POST['bank_inn']) && !$this->nostat && $this->ff->access($this->priority_write)) {
$this->sett_inn();
}
// ta ut penger
if (isset($_POST['bank_ut']) && !$this->nostat && $this->ff->access($this->priority_write)) {
$this->ta_ut();
}
// vis banken
$this->show();
$this->ff->load_page();
}
示例2: getPlayersCriterias
/**
* Get criterias for player match
*
* @param int Cash to retrieve
* @return array(string statement, array prepared_data)
*/
protected function getPlayersCriterias($cash)
{
$p = array();
// players to ignore
$up_ignore = $this->getFFPlayers();
$up_ignore[] = $this->ut->up->id;
// limit by time online
$time_limit = time() - 604800 * 2;
// ranklimits
$ranks = $this->getRankLimits();
// criterias for finding player
$where = "up_access_level != 0";
$where .= " AND up_last_online >= ?";
$p[] = $time_limit;
$where .= " AND up_b_id = ?";
$p[] = $this->ut->up->data['up_b_id'];
$where .= " AND up_fengsel_time < ?";
$p[] = time();
$where .= " AND up_brom_expire < ?";
$p[] = time();
$where .= " AND up_points >= ?";
$p[] = $ranks[0]->points;
// upper rank limit
if ($ranks[1]) {
$where .= " AND up_points < ?";
$p[] = $ranks[1]->points;
}
if ($this->result->success) {
$where .= " AND (up_cash >= ? OR up_bank >= ?)";
$p[] = $cash;
$p[] = $cash;
} else {
$where .= " AND up_cash < {$cash}";
}
$where .= " AND up_id NOT IN (" . implode(",", $up_ignore) . ")";
if (MAIN_SERVER) {
$where .= \access::is_nostat() ? " AND up_access_level >= " . \ess::$g['access_noplay'] : " AND up_access_level < " . \ess::$g['access_noplay'];
}
return array($where, $p);
}
示例3: putlog
});');
}
// loggfør visning
if (!login::$logged_in) {
putlog("PROFILVIS", "%c6%bVIS-PROFIL:%b%c Ikke-innlogget-person viste profilen til %u{$player->data['up_name']}%u (up_id: " . $player->id . ")");
} elseif (login::$user->player->id != $player->id) {
putlog("PROFILVIS", "%c6%bVIS-PROFIL:%b%c %u" . login::$user->player->data['up_name'] . "%u viste profilen til %u{$player->data['up_name']}%u (up_id: " . $player->id . ")");
}
// legg til som besøkende til denne profilen
if (!login::$logged_in || !access::is_nostat() && login::$user->id != $player->data['up_u_id']) {
// anonym
if (!login::$logged_in) {
$siste = $player->data['up_profile_anon_time'];
$player->data['up_profile_anon_time'] = time();
\Kofradia\DB::get()->exec("UPDATE users_players SET up_profile_anon_time = {$player->data['up_profile_anon_time']} WHERE up_id = {$player->id}");
} elseif (!access::is_nostat() && login::$user->id != $player->data['up_u_id']) {
// når besøkte vi profilen sist?
$siste = 0;
$result = \Kofradia\DB::get()->query("SELECT time FROM users_views WHERE uv_up_id = {$player->id} AND uv_visitor_up_id = " . login::$user->player->id);
if ($result->rowCount()) {
$siste = $result->fetchColumn(0);
}
\Kofradia\DB::get()->exec("\n\t\t\tINSERT INTO users_views SET uv_up_id = {$player->id}, uv_visitor_up_id = " . login::$user->player->id . ", time = " . time() . "\n\t\t\tON DUPLICATE KEY UPDATE time = " . time());
}
// oppdater antall visninger -- kun hvis det er en annen bruker som viser profilen
// oppdater kun hvis det har gått mer enn 90 sekunder siden forrige visning (30 sekunder for anonyme)
if ($siste + (login::$logged_in ? 90 : 30) < time()) {
\Kofradia\DB::get()->exec("UPDATE users_players SET up_profile_hits = up_profile_hits + 1 WHERE up_id = {$player->id}");
$player->data['up_profile_hits']++;
}
}
示例4: published
/**
* Vise publiserte utgivelser
*/
protected function published()
{
ess::$b->page->add_title("Utgivelser");
// hent publiserte utvivelser
$pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 10);
$ffnp_q = login::$logged_in ? "ffnp_ffn_id = ffn_id AND ffnp_up_id = " . login::$user->player->id : "FALSE";
$result = $pagei->query("SELECT ffn_id, ffn_published_time, ffn_cost, ffn_title, ffn_sold, ffn_description, ffnp_time FROM ff_newspapers LEFT JOIN ff_newspapers_payments ON {$ffnp_q} WHERE ffn_ff_id = {$this->ff->id} AND ffn_published != 0 ORDER BY ffn_published_time DESC");
echo '
<p class="c">Utgivelser</p>';
// ingen publiserte utgivelser?
if ($result->rowCount() == 0) {
echo '
<p class="c">Ingen utgivelser er publisert.</p>';
} else {
echo '
<p class="c">' . $pagei->total . ' utgivelse' . ($pagei->total == 1 ? '' : 'r') . ' er publisert:</p>';
#$i = $pagei->total - ($pagei->per_page*($pagei->active-1));
while ($row = $result->fetch()) {
echo '
<div class="section center w200">
<h2><a href="avis?ff_id=' . $this->ff->id . '&ffn=' . $row['ffn_id'] . '">' . htmlspecialchars($row['ffn_title']) . '</a></h2>
<dl class="dd_right">
<dt>Publisert</dt>
<dd>' . ess::$b->date->get($row['ffn_published_time'])->format() . '</dd>
<dt>Solgte utgivelser</dt>
<dd>' . game::format_number($row['ffn_sold']) . '</dd>
<dt>Pris</dt>
<dd>' . game::format_cash($row['ffn_cost']) . '</dd>
<dt>Kjøpt?</dt>
<dd>' . ($row['ffnp_time'] ? '<a href="avis?ff_id=' . $this->ff->id . '&ffn=' . $row['ffn_id'] . '">Ja</a> (' . ess::$b->date->get($row['ffnp_time'])->format() . ')' : 'Nei [<a href="avis?ff_id=' . $this->ff->id . '&ffn=' . $row['ffn_id'] . '">Kjøp</a>]') . (access::is_nostat() ? ' (nostat)' : '') . '</dd>
</dl>
<div class="p">' . $this->ff->format_description($row['ffn_description']) . '</div>
</div>';
#$i--;
}
// flere sider?
if ($pagei->pages > 1) {
echo '
<p class="c">Navigasjon: ' . $pagei->pagenumbers() . '</p>';
}
}
}
示例5: show_full_page
//.........这里部分代码省略.........
echo '
<div class="bydeler_uplassert_boks">
<a href="' . $__server['relative_path'] . '/ff/?ff_id=' . $row['ff_id'] . '" class="bydeler_ressurs ' . $class . '">
<img class="bydeler_ressurs_graphic" src="' . htmlspecialchars(ff::get_logo_path_static($row['ff_id'], $row['ff_logo_path'])) . '" alt="" />
<span class="bydeler_ressurs_tekst">
' . htmlspecialchars($row['ff_name']) . '<span class="bydeler_owner"><br />
' . $eier . '</span>
</span>
<img class="bydeler_ressurs_t" src="' . htmlspecialchars($type['bydeler_graphic']) . '" alt="' . htmlspecialchars($type['bydeler_alt_pre']) . htmlspecialchars($row['ff_name']) . '" />
</a>
</div>';
}
echo '
</div>';
}
echo '
<div class="bydeler_kart bydeler_steder">
<img src="' . STATIC_LINK . '/themes/kofradia/drammen_stor.gif" class="bydeler_bg" />';
foreach ($this->bydeler as $bydel) {
if ($bydel['active'] == 0) {
continue;
}
if ($this->up) {
$distance = self::calc_travel_distance($this->up->bydel, $bydel);
$taxi_price = round($distance * self::TAXI_PRICE_KM);
$taxi_points = round($distance * self::TAXI_POINTS_KM * $this->up->rank['number']);
}
echo '
<div class="map_unit' . ($this->up && $this->up->bydel['id'] == $bydel['id'] ? ' map_active' : '') . '" style="left: ' . $bydel['bydel_x'] . '%; top: ' . $bydel['bydel_y'] . '%" id="map_link_' . $bydel['id'] . '">
<div class="map_title">
<p class="map_link"><b><b><b>' . htmlspecialchars($bydel['name']) . '</b></b></b></p>
<div class="bydeler_sted">
<div class="bydeler_sted_info">
<dl class="dd_right">
<dt>Spillere</dt>
<dd>' . game::format_number($bydel['num_players']) . '</dd>
<dt>Penger i omløp</dt>
<dd>' . game::format_cash($bydel['sum_money']) . '</dd>
</dl>';
if (!$this->up) {
} elseif ($this->up->bydel['id'] == $bydel['id']) {
echo '
<p>Du befinner deg i denne bydelen.</p>';
} elseif ($this->up->fengsel_check()) {
echo '
<p>Du er i fengsel og kan ikke reise.</p>';
} elseif ($this->up->bomberom_check()) {
echo '
<p>Du er i bomberom og kan ikke reise.</p>';
} else {
echo '
<div class="bydeler_reise c">
<form action="bydeler" method="post">
<input type="hidden" name="reise" value="' . htmlspecialchars($bydel['name']) . '" />';
// taxi
if (!$this->up->energy_check(self::TAXI_ENERGY * 1.3)) {
echo '
<p>Du har ikke nok energi til å ta taxi hit.</p>';
} elseif ($this->up->data['up_points'] < $taxi_points * 2) {
echo '
<p>Du har ikke høy nok rank til å ta taxi hit.</p>';
} else {
echo '
<p>' . show_sbutton("Ta taxi (" . game::format_cash($taxi_price) . ", " . game::format_number(round($taxi_points)) . " poeng)", 'name="taxi"') . '</p>';
}
// gta
if ($this->gta_count == 0) {
echo '
<p>Du har ingen biler i bydelen du oppholder deg i for å reise med.</p>';
} elseif (!$this->gta_garage[$bydel['id']]['garage']) {
echo '
<p>Det er ingen garasje i denne bydelen.</p>';
} elseif ($this->gta_garage[$bydel['id']]['garage_free'] == 0) {
echo '
<p>Det er ingen ledige plasser i garasjen i denne bydelen.</p>';
} else {
echo '
<p>' . show_sbutton("Kjør egen bil", 'name="gta"') . '</p>';
}
// teleportere
if (access::is_nostat()) {
echo '
<p>' . show_sbutton("Teleporter hit (nostat)", 'name="teleporter"') . '</p>';
}
echo '
</form>
</div>';
}
echo '
</div>
</div>
</div>
</div>';
}
echo '
</div>';
echo '
</div>';
ess::$b->page->load();
}
示例6: show
/**
* Vis fengsel
*/
protected function show()
{
// er vi i fengsel nå?
if ($wait = $this->up->fengsel_wait()) {
ess::$b->page->add_js_domready('$("fengsel_dusor").focus();');
echo '
<div class="bg1_c xsmall">
<h1 class="bg1">Du er i fengsel<span class="left"></span><span class="right"></span></h1>
<p class="h_right"><a href="node/16">Hjelp</a></p>
<div class="bg1">
<p>Du befinner deg for øyeblikket i fengsel og slipper ut om ' . game::counter($wait, true) . '.</p>' . (!$this->up->is_nostat() ? '
<form action="" method="post">
<input type="hidden" name="sid" value="' . login::$info['ses_id'] . '" />
<input type="hidden" name="expire" value="' . $this->up->data['up_fengsel_time'] . '" />
<dl class="dd_right">
<dt>Dusør for å bryte deg ut</dt>
<dd><input type="text" class="styled w80" name="amount" id="fengsel_dusor" value="' . game::format_cash($this->up->data['up_fengsel_dusor']) . '" /></dd>
</dl>
<p class="c">' . show_sbutton($this->up->data['up_fengsel_dusor'] > 0 ? "Endre dusør" : "Sett dusør", 'name="dusor"') . '</p>
<p class="c">Spilleren som bryter ut mottar kun ' . self::DUSOR_PROFIT * 100 . ' % av dusøren.</p>
</form>' : '') . '
</div>
</div>';
}
// sortering
$sort = new sorts("sort");
$sort->append("asc", "Spiller", "up_name");
$sort->append("desc", "Spiller", "up_name DESC");
$sort->append("asc", "Wanted nivå", "up_wanted_level, up_fengsel_time DESC");
$sort->append("desc", "Wanted nivå", "up_wanted_level DESC, up_fengsel_time DESC");
$sort->append("asc", "Tid igjen", "up_fengsel_time");
$sort->append("desc", "Tid igjen", "up_fengsel_time DESC");
$sort->set_active(requestval("sort"), 5);
// hent folk i fengsel
$sort_info = $sort->active();
$pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 15);
$result = $pagei->query("\n\t\t\tSELECT up_id, up_name, up_access_level, up_fengsel_time, up_fengsel_num, up_fengsel_dusor, ROUND(up_fengsel_dusor * " . self::DUSOR_PROFIT . ") up_fengsel_dusor_get, up_wanted_level\n\t\t\tFROM users_players\n\t\t\tWHERE up_fengsel_time > " . time() . " AND up_access_level != 0\n\t\t\tORDER BY {$sort_info['params']}");
$num = $result->rowCount();
echo '
<div class="bg1_c ' . ($num == 0 ? 'xsmall' : 'xlarge') . '">
<h1 class="bg1">Fengsel<span class="left"></span><span class="right"></span></h1>
<p class="h_right"><a href="node/16">Hjelp</a></p>
<div class="bg1">
<form action="" method="post">
<p class="c dark">Ditt wanted nivå er på ' . game::format_number($this->up->data['up_wanted_level'] / 10, 1) . ' %.</p>';
if ($num == 0) {
echo '
<p class="c dark">Ingen er i fengselet for øyeblikket.</p>
<p class="c"><a href="' . htmlspecialchars(game::address("fengsel", $_GET)) . '" class="button">Oppdater</a></p>';
} else {
echo '
<table class="table center" width="100%">
<thead>
<tr>
<th>Spiller ' . $sort->show_link(0, 1) . '</th>
<th>Wanted<br />nivå ' . $sort->show_link(2, 3) . '</th>
<th>Utbrytning<br />sannsynlighet</th>
<th>Ca. poeng</th>
<th>Dusør</th>
<th>Tid igjen ' . $sort->show_link(4, 5) . '</th>
</tr>
</thead>
<tbody>';
$i = 0;
while ($row = $result->fetch()) {
$prefix = "";
$attr = new attr("class");
if (++$i % 2 == 0) {
$attr->add("color");
}
if (!$this->up->fengsel_check()) {
$attr->add("box_handle");
$prefix = '<input type="radio" name="up_id" value="' . $row['up_id'] . '_' . $row['up_fengsel_time'] . '_' . $row['up_fengsel_dusor'] . '" /> ';
}
$time = $row['up_fengsel_time'] - time();
$prob = self::calc_prob($time, $row['up_wanted_level'] / 10);
$points = self::calc_points($prob);
echo '
<tr' . $attr->build() . '>
<td>' . $prefix . game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level']) . '</td>
<td class="c">' . game::format_number($row['up_wanted_level'] / 10, 1) . ' %</td>
<td class="c">' . game::format_number($prob, 1) . ' %</td>
<td class="c">' . game::format_num($points) . '</td>
<td class="r nowrap">' . game::format_cash($row['up_fengsel_dusor_get']) . '</td>
<td class="r">' . game::counter($time) . '</td>
</tr>';
}
echo '
</tbody>
</table>
<p class="c">' . (($wait = $this->up->fengsel_wait()) == 0 ? '
' . show_sbutton("Bryt ut", 'name="brytut"') : '
Du er i fengsel og slipper ut om ' . game::counter($wait, true) . '.
</p>
<p class="c">') . '
<a href="' . htmlspecialchars(game::address("fengsel", $_GET)) . '" class="button">Oppdater</a>
</p>';
//.........这里部分代码省略.........
示例7: page_default
//.........这里部分代码省略.........
<div class="col_w right">
<div class="col">';
// deaktivert?
if (page_min_side::$active_user->data['u_access_level'] == 0) {
// deaktivert av seg selv?
$deact_self = false;
if (!empty(page_min_side::$active_user->data['u_deactivated_up_id'])) {
$result = \Kofradia\DB::get()->query("SELECT u_id FROM users JOIN users_players ON u_id = up_u_id WHERE up_id = " . page_min_side::$active_user->data['u_deactivated_up_id']);
$row = $result->fetch();
unset($result);
if ($row && $row['u_id'] == page_min_side::$active_user->id) {
$deact_self = true;
}
}
echo '
<div class="bg1_c">
<h1 class="bg1">Deaktivert<span class="left2"></span><span class="right2"></span></h1>' . (access::has("mod") ? '
<p class="h_right"><a href="' . htmlspecialchars(page_min_side::addr("cdeact")) . '">rediger</a> <a href="' . htmlspecialchars(page_min_side::addr("activate")) . '">aktiver</a></p>' : '') . '
<div class="bg1">' . ($deact_self ? '
<p>Denne brukeren deaktiverte seg selv ' . ess::$b->date->get(page_min_side::$active_user->data['u_deactivated_time'])->format(date::FORMAT_SEC) . '.</p>' : '
<p>Denne brukeren ble deaktivert ' . ess::$b->date->get(page_min_side::$active_user->data['u_deactivated_time'])->format(date::FORMAT_SEC) . ' av ' . (empty(page_min_side::$active_user->data['u_deactivated_up_id']) ? 'en ukjent bruker' : '<user id="' . page_min_side::$active_user->data['u_deactivated_up_id'] . '" />') . '.</p>') . '
<div class="p"><b>Begrunnelse:</b> ' . (empty(page_min_side::$active_user->data['u_deactivated_reason']) ? 'Ingen begrunnelse oppgitt.' : game::bb_to_html(page_min_side::$active_user->data['u_deactivated_reason'])) . '</div>' . (!$deact_self || !empty(page_min_side::$active_user->data['u_deactivated_note']) ? '
<div class="p"><b>Intern informasjon:</b> ' . (access::has("mod") ? empty(page_min_side::$active_user->data['u_deactivated_note']) ? 'Ingen intern informasjon oppgitt.' : game::bb_to_html(page_min_side::$active_user->data['u_deactivated_note']) : 'Du har ikke tilgang til å se intern informasjon.') . '</div>' : '') . '
</div>
</div>';
} elseif (page_min_side::$active_user->lock_state && access::has("crewet")) {
echo '
<div class="bg1_c">
<h1 class="bg1">Begrenset tilgang<span class="left2"></span><span class="right2"></span></h1>
<div class="bg1">
<p>Denne brukeren har begrenset tilgang fordi:</p>
<ul class="spacer">';
foreach (page_min_side::$active_user->lock as $l) {
switch ($l) {
case "birth":
echo '
<li>Brukeren har ikke lagt inn fødselsdatoen.</li>';
break;
case "player":
echo '
<li>Brukeren har ingen levende spiller.</li>';
break;
}
}
echo '
</ul>
</div>
</div>';
}
// vis liste over spillere kun for spillerne selv eller en moderator
if ($mod || page_min_side::$active_own) {
// hent spillerene tilhørende denne personen
$pagei = new pagei(pagei::ACTIVE_GET, "side_up", pagei::PER_PAGE, 7);
$result = $pagei->query("\n\t\t\t\tSELECT up_id, up_name, up_access_level, up_created_time, up_last_online, up_points, up_deactivated_time, upr_rank_pos\n\t\t\t\tFROM users_players\n\t\t\t\t\tLEFT JOIN users_players_rank ON upr_up_id = up_id\n\t\t\t\tWHERE up_u_id = " . page_min_side::$active_user->id . "\n\t\t\t\tORDER BY up_last_online DESC");
echo '
<div class="bg1_c">
<h1 class="bg1">Spillere tilhørende brukeren<span class="left2"></span><span class="right2"></span></h1>' . (access::is_nostat() || page_min_side::$active_own ? '
<p class="h_right">' . page_min_side::link("Mer info »", "up") . '</p>' : '') . '
<div class="bg1">
<table class="table ' . ($pagei->pages == 1 ? 'tablem' : 'tablemt') . '" style="width: 100%">
<thead>
<tr>
<th>Spiller</th>
<th>Status</th>
</tr>
</thead>
<tbody>';
while ($row = $result->fetch()) {
$rank = game::rank_info($row['up_points'], $row['upr_rank_pos'], $row['up_access_level']);
echo '
<tr>
<td>' . game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level'], true, 'min_side?up_id=' . $row['up_id']) . '<br /><span style="font-size: 10px">' . $rank['name'] . '</span></td>
<td style="font-size: 10px">
Opprettet: ' . ess::$b->date->get($row['up_created_time'])->format() . '<br />' . ($row['up_access_level'] == 0 ? '
Deaktivert: ' . ess::$b->date->get($row['up_deactivated_time'])->format() : '
Status: I live<br />
Sist pålogget: ' . ess::$b->date->get($row['up_last_online'])->format()) . '
</td>
</tr>';
}
echo '
</tbody>
</table>' . ($pagei->pages > 1 ? '
<p class="c">' . $pagei->pagenumbers() . '</p>' : '') . '
</div>
</div>';
} else {
echo '
<div class="bg1_c">
<h1 class="bg1">Spillere tilhørende brukeren<span class="left2"></span><span class="right2"></span></h1>
<div class="bg1">
<p>Du har ikke tilgang til å vise denne oversikten.</p>
</div>
</div>';
}
echo '
</div>
</div>
</div>';
}
示例8: __construct
/**
* Construct: Hent detaljer
* @param int $ff_id
*/
public function __construct($ff_id, $new = null)
{
$this->id = (int) $ff_id;
// hente info?
if ($this->id) {
$result = \Kofradia\DB::get()->query("\n\t\t\t\tSELECT ff_id, ff_date_reg, ff_bank, ff_name, ff_is_crew, ff_params, br_b_id\n\t\t\t\tFROM ff\n\t\t\t\t\tLEFT JOIN bydeler_resources ON ff_br_id = br_id\n\t\t\t\tWHERE ff_id = {$this->id} AND ff_type = 3 AND ff_inactive = 0");
$this->data = $result->fetch();
if ($this->data) {
// ikke crew?
if (!$this->data['ff_is_crew'] || !$new || access::is_nostat()) {
$this->params = new params($this->data['ff_params']);
$this->overforingstap = (double) $this->params->get("bank_overforing_tap", 0);
}
return;
}
}
$this->data = null;
}
示例9: show_add_player
/**
* Sette dusør på en spiller
*/
protected function show_add_player()
{
ess::$b->page->add_title("Sett dusør");
echo '
<div class="bg1_c xxsmall">
<h1 class="bg1">Etterlyst - sett dusør<span class="left2"></span><span class="right2"></span></h1>
<div class="bg1"><boxes />';
// har vi valgt en spiller?
$player = false;
if (isset($_GET['up_id']) || isset($_POST['up_id']) || isset($_POST['up_name'])) {
$by_id = isset($_GET['up_id']) ? (int) $_GET['up_id'] : (isset($_POST['up_id']) ? (int) $_POST['up_id'] : false);
// finn spilleren
$search = "";
if ($by_id !== false) {
$search = "up_id = {$by_id}";
} else {
$search = "up_name = " . \Kofradia\DB::quote($_POST['up_name']) . " ORDER BY up_access_level = 0, up_last_online DESC LIMIT 1";
}
$result = \Kofradia\DB::get()->query("SELECT up_id, up_name, up_access_level FROM users_players WHERE {$search}");
$player = $result->fetch();
// fant ikke?
if (!$player) {
ess::$b->page->add_message("Fant ikke spilleren.", "error");
if ($by_id !== false) {
redirect::handle("etterlyst?add");
}
}
// død spiller?
if ($player && $player['up_access_level'] == 0) {
ess::$b->page->add_message('Spilleren <user id="' . $player['up_id'] . '" /> er død og kan ikke etterlyses.', "error");
if ($by_id !== false) {
redirect::handle("etterlyst?add");
}
$player = false;
}
// seg selv?
if ($player && $player['up_id'] == $this->up->id) {
ess::$b->page->add_message("Du kan ikke sette dusør på deg selv.", "error");
if ($by_id !== false) {
redirect::handle("etterlyst?add");
}
$player = false;
}
// nostat?
if ($player['up_access_level'] >= ess::$g['access_noplay'] && !access::is_nostat()) {
ess::$b->page->add_message("Du kan ikke sette dusør på en nostat.", "error");
if ($by_id !== false) {
redirect::handle("etterlyst?add");
}
$player = false;
}
// er nostat og prøver å sette dusør på en spiller som ikke er nostat?
if (access::is_nostat() && $player['up_access_level'] < ess::$g['access_noplay'] && !access::has("sadmin")) {
ess::$b->page->add_message("Du er nostat og kan ikke sette dusør på en vanlig spiller.", "error");
if ($by_id !== false) {
redirect::handle("etterlyst?add");
}
$player = false;
}
}
// bestemme dusør?
if ($player) {
// hent eventuelle aktive dusører på spilleren
$result = \Kofradia\DB::get()->query("\n\t\t\t\tSELECT SUM(hl_amount_valid) AS sum_hl_amount_valid\n\t\t\t\tFROM hitlist\n\t\t\t\tWHERE hl_up_id = {$player['up_id']}");
$a = $result->fetchColumn(0);
// må vi vente?
$wait = false;
if ($a == 0 && !access::has("admin")) {
// sjekk når siste hitlist ble utført
$last = $this->up->params->get("hitlist_last_new", false);
if ($last && $last + etterlyst::WAIT_TIME > time()) {
$wait = $last + etterlyst::WAIT_TIME - time();
}
}
// legge til dusøren?
if (isset($_POST['amount']) && !$wait) {
$amount = game::intval($_POST['amount']);
// høy nok dusør?
if ($amount < etterlyst::MIN_AMOUNT_SET) {
ess::$b->page->add_message("Dusøren må være på minimum " . game::format_cash(etterlyst::MIN_AMOUNT_SET) . ".", "error");
} else {
\Kofradia\DB::get()->beginTransaction();
// forsøk å trekk fra pengene
$a = \Kofradia\DB::get()->exec("UPDATE users_players SET up_cash = up_cash - {$amount} WHERE up_id = " . $this->up->id . " AND up_cash >= {$amount}");
if ($a == 0) {
ess::$b->page->add_message("Du har ikke nok penger på hånda.", "error");
} else {
// vellykket
\Kofradia\DB::get()->exec("INSERT INTO hitlist SET hl_up_id = {$player['up_id']}, hl_by_up_id = " . $this->up->id . ", hl_time = " . time() . ", hl_amount = {$amount}, hl_amount_valid = {$amount}");
\Kofradia\DB::get()->commit();
// legg til i loggen til spilleren
player::add_log_static("etterlyst_add", NULL, $amount, $player['up_id']);
putlog("LOG", "ETTERLYST: " . $this->up->data['up_name'] . " la til dusør for UP_ID={$player['up_id']} på " . game::format_cash($amount) . '.');
putlog("INFO", "ETTERLYST: En spiller la til en dusør for {$player['up_name']} på " . game::format_cash($amount) . " " . ess::$s['path'] . "/etterlyst");
ess::$b->page->add_message('Du la til ' . game::format_cash($amount) . ' som dusør for spilleren <user id="' . $player['up_id'] . '" />.');
$this->up->params->update("hitlist_last_new", time(), true);
redirect::handle("etterlyst");
//.........这里部分代码省略.........
示例10: bid
/**
* Øke eller legge til bud
*/
protected function bid()
{
// nostat?
if (access::is_nostat() && $this->up->id != 1) {
ess::$b->page->add_message("Du er nostatuser og har ikke tilgang til å by på auksjoner.", "error");
redirect::handle();
}
$amount = game::intval(postval("amount"));
// auksjonen avsluttet?
if ($this->auksjon->status == auksjon::STATUS_FINISHED) {
ess::$b->page->add_message("Denne auksjonen er avsluttet.", "error");
redirect::handle();
}
// firma og for lite helse?
if ($this->auksjon->data['a_type'] == auksjon::TYPE_FIRMA && $this->up->get_health_percent() < player::FF_HEALTH_LOW * 100) {
ess::$b->page->add_message("Du har for lav helse til å kunne by på et firma.", "error");
redirect::handle();
}
// over maks?
/*if (bccomp($amount, auksjon::MAKS_BUD) == 1)
{
ess::$b->page->add_message("Du kan ikke by mer enn ".game::format_cash(auksjon::MAKS_BUD).".", "error");
redirect::handle();
}*/
// sjekk minste bud vi kan sette
$result = \Kofradia\DB::get()->query("SELECT ab_bid + {$this->auksjon->data['a_bid_jump']} AS ab_bid FROM auksjoner_bud WHERE ab_a_id = {$this->auksjon->id} AND ab_active != 0 ORDER BY ab_bid DESC LIMIT 1");
$bud = $result->fetch();
$min_bud = $bud ? $bud['ab_bid'] : $this->auksjon->data['a_bid_start'];
// under min?
if (bccomp($amount, $min_bud) == -1) {
ess::$b->page->add_message("Du må by minimum " . game::format_cash($min_bud) . ".", "error");
redirect::handle();
}
// hent tidligere bud
$result = \Kofradia\DB::get()->query("SELECT ab_id, ab_bid, ab_time FROM auksjoner_bud WHERE ab_a_id = {$this->auksjon->id} AND ab_up_id = {$this->up->id} AND ab_active != 0");
$bud = $result->fetch();
$update = false;
// økte bud?
if ($bud && isset($_POST['raise_bid'])) {
// er dette det siste budet?
$result = \Kofradia\DB::get()->query("SELECT ab_id FROM auksjoner_bud WHERE ab_a_id = {$this->auksjon->id} AND ab_active != 0 AND ab_time >= " . (time() - auksjon::MAX_TIME_REMOVE) . " ORDER BY ab_time DESC LIMIT 1");
$row = $result->fetch();
if ($row && $row['ab_id'] == $bud['ab_id']) {
$update = true;
}
// start transaksjon
\Kofradia\DB::get()->beginTransaction();
// trekk fra pengene
$a = \Kofradia\DB::get()->exec("UPDATE users_players SET up_cash = up_cash - {$amount} + {$bud['ab_bid']} WHERE up_id = {$this->up->id} AND up_cash >= {$amount} - {$bud['ab_bid']}");
} elseif (!$bud && isset($_POST['place_bid'])) {
// behandle forskjellige auksjonstyper
switch ($this->auksjon->data['a_type']) {
// firma
case auksjon::TYPE_FIRMA:
// har vi bud på en annen auksjon?
$result = \Kofradia\DB::get()->query("\n\t\t\t\t\t\tSELECT ab_id\n\t\t\t\t\t\tFROM auksjoner, auksjoner_bud\n\t\t\t\t\t\tWHERE ab_a_id = a_id AND a_completed = 0 AND a_active != 0 AND a_type = " . auksjon::TYPE_FIRMA . " AND ab_up_id = {$this->up->id} AND ab_active != 0");
if ($result->rowCount() > 0) {
ess::$b->page->add_message("Du har allerede bydd på en annen auksjon. Du kan ikke by på flere auksjoner samtidig.", "error");
redirect::handle();
}
break;
// kuler
// kuler
case auksjon::TYPE_KULER:
// har vi ikke noe våpen?
if (!$this->up->weapon) {
redirect::handle();
}
// sjekk at vi har plass til flere kuler
$kuler = (int) $this->auksjon->params->get("bullets");
if ($kuler) {
if ($this->up->data['up_weapon_bullets'] + $this->up->data['up_weapon_bullets_auksjon'] + $kuler > $this->up->weapon->data['bullets']) {
ess::$b->page->add_message("Du har ikke plass til flere kuler.", "error");
redirect::handle();
}
}
break;
}
// start transaksjon
\Kofradia\DB::get()->beginTransaction();
// trekk fra pengene
$a = \Kofradia\DB::get()->exec("UPDATE users_players SET up_cash = up_cash - {$amount} WHERE up_id = {$this->up->id} AND up_cash >= {$amount}");
} else {
redirect::handle();
}
// ikke nok penger
if ($a == 0) {
ess::$b->page->add_message("Du har ikke nok penger på hånda.", "error");
\Kofradia\DB::get()->rollback();
redirect::handle();
}
// behandle forskjellige auksjonstyper
if (!$bud) {
switch ($this->auksjon->data['a_type']) {
// kuler
case auksjon::TYPE_KULER:
// oppdater antall kuler vi kjøper via auksjoner
//.........这里部分代码省略.........
示例11: lodd_kjop
/**
* Kjøpe lodd
*/
protected function lodd_kjop()
{
// nostat?
if (access::is_nostat() && !access::has("sadmin") && MAIN_SERVER) {
ess::$b->page->add_message("Du har ikke tilgang til å spille lotto. (NoStat)", "error");
redirect::handle();
}
if (!$this->form->validateHashOrAlert(null, ($this->last > 0 ? "Previous=" . game::timespan($this->last, game::TIME_ABS | game::TIME_SHORT | game::TIME_NOBOLD) . ";" : "First;") . ($this->active ? "Active;" : "NOT-ACTIVE;") . ($this->wait ? "%c11Ventetid=" . game::timespan($this->wait, game::TIME_SHORT | game::TIME_NOBOLD) . "%c" : "%c9No-wait%c"))) {
return;
}
if (isset($_POST['b'])) {
global $__server;
putlog("ABUSE", "Trolig bot: " . login::$user->player->data['up_name'] . " - Skjult skjema sendt (Lotto) SID=" . login::$info['ses_id'] . " " . $__server['path'] . "/min_side?up_id=" . login::$user->player->id);
}
// ikke aktiv?
if (!$this->active) {
ess::$b->page->add_message("Lottoen er ikke aktiv for øyeblikket!", "error");
redirect::handle();
}
// ventetid?
if ($this->wait > 0) {
ess::$b->page->add_message('Du må vente ' . game::counter($this->wait, true) . ' før du kan kjøpe nye lodd!', "error");
redirect::handle();
}
$lodd = intval($_POST['lodd']);
// ikke gyldig?
if ($lodd < 1) {
ess::$b->page->add_message("Du må minimum kjøpe ett lodd!", "error");
redirect::handle();
}
// for mange lodd?
if ($lodd > lotto::$lodd_maks_om_gangen) {
ess::$b->page->add_message("Du kan maks kjøpe " . game::format_number(lotto::$lodd_maks_om_gangen) . " lodd på en gang!", "error");
redirect::handle();
}
// kan vi kjøpe så mange lodd?
if ($lodd > lotto::$lodd_maks - $this->info['antall_lodd']) {
ess::$b->page->add_message("Du kan ikke kjøpe så mange lodd!", "error");
redirect::handle();
}
$lodd_price = lotto::get_lodd_price();
$cost = $lodd * $lodd_price;
// trekk fra pengene
$a = \Kofradia\DB::get()->exec("UPDATE users_players SET up_cash = up_cash - ({$lodd} * " . $lodd_price . ") WHERE up_id = " . login::$user->player->id . " AND up_cash >= ({$lodd} * " . $lodd_price . ")");
if ($a == 0) {
ess::$b->page->add_message("Du har ikke nok penger på hånda!", "error");
redirect::handle();
}
// gi loddene til brukeren
$q = array();
$time = time();
for ($i = 0; $i < $lodd; $i++) {
$q[] = "(" . login::$user->player->id . ", {$time})";
}
\Kofradia\DB::get()->exec("INSERT INTO lotto (l_up_id, time) VALUES " . implode(",", $q));
// energi
login::$user->player->energy_use(self::ENERGY);
ess::$b->page->add_message("Du har kjøpt <b>" . game::format_number($lodd) . "</b> lottolodd for <b>" . game::format_cash($lodd * $lodd_price) . "</b>!");
$this->antibot->increase_counter();
redirect::handle();
}
示例12: challenge
/**
* Utfordre en spiller
*/
protected function challenge()
{
if (!isset($_POST['utfordre']) || !isset($_POST['id'])) {
return;
}
// finn utfordringen
$id = (int) $_POST['id'];
$result = \Kofradia\DB::get()->query("\n\t\t\tSELECT poker_id, poker_starter_up_id, poker_starter_cards, poker_time_start, poker_cash\n\t\t\tFROM poker\n\t\t\tWHERE poker_id = {$id} AND poker_state = 2 AND poker_starter_up_id != " . $this->up->id);
$row = $result->fetch();
if (!$row) {
ess::$b->page->add_message("Fant ikke utfordringen. Noen kan ha kommet før deg!", "error");
redirect::handle();
}
// ikke råd?
if (bccomp($row['poker_cash'], $this->up->data['up_cash']) == 1) {
ess::$b->page->add_message("Du har ikke så mye penger på hånda.", "error");
redirect::handle();
}
// nostatuser?
if (bccomp($row['poker_cash'], 10000) == 1 && MAIN_SERVER && (access::is_nostat() && $this->up->data['up_u_id'] != 1)) {
ess::$b->page->add_message("Nostat kan ikke spille poker med beløp over 10 000 kr.", "error");
redirect::handle();
}
// sett opp pokerhånd
$poker1 = new CardsPoker(explode(",", $row['poker_starter_cards']));
$poker2 = new CardsPoker();
$poker2->remove_cards($poker1->get_cards());
$poker2->new_cards(5);
// oppdater utfordringen
$a = \Kofradia\DB::get()->exec("UPDATE poker SET poker_state = 3, poker_challenger_up_id = " . $this->up->id . ", poker_challenger_cards = '" . implode(",", $poker2->get_cards()) . "', poker_time_challenge = '" . time() . "' WHERE poker_id = {$row['poker_id']} AND poker_state = 2");
if ($a == 0) {
ess::$b->page->add_message("Fant ikke utfordringen. Noen kan ha kommet før deg!", "error");
redirect::handle();
}
// trekk fra pengene fra brukeren
$a = \Kofradia\DB::get()->exec("UPDATE users_players SET up_cash = up_cash - {$row['poker_cash']} WHERE up_id = " . $this->up->id . " AND up_cash >= {$row['poker_cash']}");
// ble ikke brukeren oppdatert?
if ($a == 0) {
ess::$b->page->add_message("Du har ikke så mye penger på hånda.", "error");
// fjern challenge
\Kofradia\DB::get()->exec("UPDATE poker SET poker_state = 2, poker_challenger_up_id = 0, poker_challenger_cards = '', poker_time_challenge = 0 WHERE poker_id = {$row['poker_id']}");
redirect::handle();
}
poker_round::update_cache();
redirect::handle();
}
示例13: page_donate_handle
/**
* Behandle donasjon
*/
protected function page_donate_handle()
{
$amount = game::intval($_POST['donate']);
$note = trim(postval("note"));
// nostat?
if (access::is_nostat()) {
ess::$b->page->add_message("Du er nostat og har ikke tilgang til å donere til {$this->ff->type['refobj']}.", "error");
} elseif ($amount < 0) {
ess::$b->page->add_message("Beløpet kan ikke være negativt..", "error");
} elseif ($amount < 15000) {
ess::$b->page->add_message("Minstebeløp å donere er 15 000 kr.", "error");
} else {
// finn ut når vi donerte siste gang - kan ikke donere oftere enn en gang i timen
$result = \Kofradia\DB::get()->query("SELECT ffbl_time FROM ff_bank_log WHERE ffbl_ff_id = {$this->ff->id} AND ffbl_type = 3 AND ffbl_up_id = " . login::$user->player->id . " ORDER BY ffbl_time DESC LIMIT 1");
$last = $result->fetch();
if ($last && $last['ffbl_time'] + 3600 > time()) {
ess::$b->page->add_message("Du kan ikke donere oftere enn én gang per time. Du må vente " . game::counter($last['ffbl_time'] + 3600 - time()) . " før du kan donere på nytt.", "error");
} elseif ($amount > login::$user->player->data['up_cash']) {
ess::$b->page->add_message("Du har ikke nok penger på hånda til å donere " . game::format_cash($amount) . " til {$this->ff->type['refobj']}.", "error");
} elseif (isset($_POST['approve']) && validate_sid(false)) {
// forsøk å donere
$a = \Kofradia\DB::get()->exec("UPDATE ff, users_players SET ff_bank = ff_bank + {$amount}, up_cash = up_cash - {$amount} WHERE ff_id = {$this->ff->id} AND up_id = " . login::$user->player->id . " AND up_cash >= {$amount}");
// hadde ikke nok penger?
if ($a == 0) {
ess::$b->page->add_message("Du har ikke nok penger på hånda til å donere " . game::format_cash($amount) . " til {$this->ff->type['refobj']}.", "error");
} else {
// finn balanse
$result = \Kofradia\DB::get()->query("SELECT ff_bank FROM ff WHERE ff_id = {$this->ff->id}");
$balance = $result->fetchColumn(0);
// legg til logg
\Kofradia\DB::get()->exec("INSERT INTO ff_bank_log SET ffbl_ff_id = {$this->ff->id}, ffbl_type = 3, ffbl_amount = {$amount}, ffbl_up_id = " . login::$user->player->id . ", ffbl_time = " . time() . ", ffbl_balance = {$balance}, ffbl_note = " . \Kofradia\DB::quote($note));
// legg til i spillerinfo
\Kofradia\DB::get()->exec("UPDATE ff_members SET ffm_donate = ffm_donate + {$amount} WHERE ffm_up_id = " . login::$user->player->id . " AND ffm_ff_id = {$this->ff->id} AND ffm_status = 1");
ess::$b->page->add_message("Du donerte " . game::format_cash($amount) . " til {$this->ff->type['refobj']}.");
// legg til daglig stats
$this->ff->stats_update("money_in", $amount, true);
redirect::handle();
}
} elseif (!isset($_POST['skip'])) {
ess::$b->page->add_title("Donér til {$this->ff->type['refobj']}");
// vis skjema for godkjenning
echo '
<!-- donasjon -->
<div class="section w200">
<h2>Donér til ' . $this->ff->type['refobj'] . '</h2>
<p>Du er i ferd med å donére til ' . $this->ff->type['refobj'] . '.</p>
<p>Beløp: ' . game::format_cash($amount) . '</p>
<p>Melding/notat: ' . game::format_data($note, "bb-opt", "Uten melding") . '</p>
<form action="" method="post">
<input type="hidden" name="donate" value="' . $amount . '" />
<input type="hidden" name="note" value="' . htmlspecialchars($note) . '" />
<input type="hidden" name="sid" value="' . login::$info['ses_id'] . '" />
<p class="c">
' . show_sbutton("Utfør donasjon", 'name="approve"') . '
' . show_sbutton("Avbryt", 'name="skip"') . '
</p>
</form>
</div>';
$this->ff->load_page();
}
}
}