/** * Construct */ public function __construct() { $this->ff = ff::get_ff(); $this->ff->needaccess(true); ess::$b->page->add_title("Logg"); $this->show(); $this->ff->load_page(); }
/** * Construct */ public function __construct() { $this->ff = ff::get_ff(); $this->ff->needtype("bank"); $this->ff->needaccess(3); redirect::store("bank?ff_id={$this->ff->id}"); ess::$b->page->add_title("Bankkontroll"); $this->page_handle(); $this->ff->load_page(); }
/** * Last inn siden */ public function load_page() { if ($this->ff) { $this->ff->load_page(); } \ess::$b->page->load(); }
/** * Vis informasjon om medlemmene */ protected function page_members_handle() { ess::$b->page->add_title("Medlemsdetaljer"); // ingen medlemmer? if (count($this->ff->members['members']) == 0) { redirect::handle(); } // sett opp medlemsliste og hent utvidet informasjon $members_id = array(); foreach ($this->ff->members['members'] as $member) { $members_id[] = $member->id; } $members = array(); $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT up_id, up_health, up_health_max, up_b_id, up_brom_expire\n\t\t\tFROM users_players\n\t\t\tWHERE up_id IN (" . implode(",", $members_id) . ")"); while ($row = $result->fetch()) { $members[$row['up_id']] = $row; } echo ' <div class="bg1_c xmedium"> <h1 class="bg1">Medlemsdetaljer<span class="left2"></span><span class="right2"></span></h1> <div class="bg1"> <table class="table tablem center"> <thead> <tr> <th>Spiller</th> <th>Sist pålogget</th> <th>Plassering</th> <th>I bomberom?</th> <th>Helse</th> </tr> </thead> <tbody>'; // vis oversikt over medlemmene $i = 0; foreach ($this->ff->members['members'] as $member) { $info = $members[$member->id]; $brom = $info['up_brom_expire'] > time() ? 'Ja (til ' . ess::$b->date->get($info['up_brom_expire'])->format(date::FORMAT_SEC) . ')' : 'Nei'; $helse_p = $info['up_health'] / $info['up_health_max']; $helse = $helse_p > 0.9 ? 'Over 90 %' : ($helse_p < 0.1 ? 'Under 10 %' : ($helse_p < 0.5 ? 'Under 50 %' : 'Over 50 %')); echo ' <tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '> <td>' . game::profile_link($member->id, $member->data['up_name'], $member->data['up_access_level']) . '<br /><b>' . ucfirst($member->get_priority_name()) . '</b></td> <td class="r">' . ess::$b->date->get($member->data['up_last_online'])->format() . '<br />' . game::timespan($member->data['up_last_online'], game::TIME_ABS) . '</td> <td>' . htmlspecialchars(game::$bydeler[$info['up_b_id']]['name']) . '</td> <td>' . $brom . '</td> <td class="r">' . $helse . '</td> </tr>'; } echo ' </tbody> </table> </div> </div>'; $this->ff->load_page(); }
/** * Vis en bestemt utgivelse */ protected function specific_publication() { // hent informasjon $ffn = ff_avis_utgivelse::get(intval(getval("ffn")), $this->ff); // fant ikke? if (!$ffn) { ess::$b->page->add_message("Fant ikke utgivelsen.", "error"); $this->ff->load_page(); } redirect::store("avis?ff_id={$this->ff->id}&ffn={$ffn->id}"); ess::$b->page->add_title($ffn->data['ffn_title']); // hent kjøpsinformasjon $ffnp = null; if (login::$logged_in) { $result = \Kofradia\DB::get()->query("SELECT ffnp_cost, ffnp_time FROM ff_newspapers_payments WHERE ffnp_ffn_id = {$ffn->id} AND ffnp_up_id = " . login::$user->player->id); $ffnp = $result->fetch(); } // ikke publisert? if ($ffn->data['ffn_published'] == 0) { if (!$this->ff->access(3)) { ess::$b->page->add_message("Fant ikke utgivelsen.", "error"); $this->ff->load_page(); } redirect::handle("avis?ff_id={$this->ff->id}&u&ffn={$ffn->id}"); } // må vi kjøpe avisutgivelsen? if ($this->ff->active && (!login::$logged_in || !$this->ff->access() && !access::is_nostat() && !$ffnp)) { // har ikke kjøpt avisen, men avisen er gratis? if (login::$logged_in && (!$ffnp && $ffn->data['ffn_cost'] == 0)) { // opprett rad for betaling \Kofradia\DB::get()->exec("INSERT INTO ff_newspapers_payments SET ffnp_ffn_id = {$ffn->id}, ffnp_up_id = " . login::$user->player->id . ", ffnp_cost = {$ffn->data['ffn_cost']}, ffnp_time = " . time()); // oppdater utgivelsen \Kofradia\DB::get()->exec("UPDATE ff_newspapers SET ffn_sold = ffn_sold + 1, ffn_income = ffn_income + {$ffn->data['ffn_cost']} WHERE ffn_id = {$ffn->id}"); redirect::handle(); } else { ess::$b->page->add_title("Kjøp utgivelse"); // kjøpe? if (login::$logged_in && isset($_POST['buy'])) { $sid = postval("sid"); $price = postval("price"); if ($sid != login::$info['ses_id']) { ess::$b->page->add_message("Ugyldig.", "error"); } elseif ($price != $ffn->data['ffn_cost']) { ess::$b->page->add_message("Prisen har endret seg. Du må utføre handlingen på nytt.", "error"); } elseif (login::$user->player->data['up_cash'] < $ffn->data['ffn_cost']) { ess::$b->page->add_message("Du har ikke nok penger på hånda.", "error"); } else { // trekk fra pengene fra brukeren if ($ffn->data['ffn_cost'] != 0) { $a = \Kofradia\DB::get()->exec("UPDATE users_players SET up_cash = up_cash - {$ffn->data['ffn_cost']} WHERE up_id = " . login::$user->player->id . " AND up_cash >= {$ffn->data['ffn_cost']}"); } // mislykket if ($ffn->data['ffn_cost'] != 0 && $a == 0) { ess::$b->page->add_message("Du har ikke nok penger på hånda.", "error"); } else { // legg til oppføring \Kofradia\DB::get()->exec("INSERT INTO ff_newspapers_payments SET ffnp_ffn_id = {$ffn->id}, ffnp_up_id = " . login::$user->player->id . ", ffnp_cost = {$ffn->data['ffn_cost']}, ffnp_time = " . time()); // gi pengene til firmaet \Kofradia\DB::get()->exec("UPDATE ff SET ff_bank = ff_bank + {$ffn->data['ffn_cost']} WHERE ff_id = {$this->ff->id}"); // stats for firmaet $ffn->ff->stats_update("money_in", $ffn->data['ffn_cost']); // oppdater utgivelsen \Kofradia\DB::get()->exec("UPDATE ff_newspapers SET ffn_sold = ffn_sold + 1, ffn_income = ffn_income + {$ffn->data['ffn_cost']} WHERE ffn_id = {$ffn->id}"); ess::$b->page->add_message("Du har kjøpt utgivelsen for " . game::format_cash($ffn->data['ffn_cost']) . "."); redirect::handle(); } } } echo ' <p class="c">' . htmlspecialchars($ffn->data['ffn_title']) . ' | Kjøp utgivelse | <a href="avis?ff_id=' . $this->ff->id . '">Tilbake</a></p> <div class="section center w200"> <h2>Utgivelseinformasjon</h2> <dl class="dd_right"> <dt>Publisert</dt> <dd>' . ess::$b->date->get($ffn->data['ffn_published_time'])->format() . '</dd> <dt>Solgt utgivelser</dt> <dd>' . game::format_number($ffn->data['ffn_sold']) . '</dd> </dl> <p>Artikler:</p>'; // hent artiklene $result = \Kofradia\DB::get()->query("SELECT ffna_title FROM ff_newspapers_articles WHERE ffna_ffn_id = {$ffn->id} ORDER BY ffna_title"); // ingen artikler? if ($result->rowCount() == 0) { echo ' <p>Ingen artikler.</p>'; } else { echo ' <ul>'; while ($row = $result->fetch()) { echo ' <li>' . htmlspecialchars($row['ffna_title']) . '</li>'; } echo ' </ul>'; } echo ' </div>'; if (login::$logged_in) { echo ' <form action="" method="post"> <input type="hidden" name="sid" value="' . login::$info['ses_id'] . '" /> <input type="hidden" name="price" value="' . $ffn->data['ffn_cost'] . '" /> <div class="section center w200"> <h2>Kjøp utgivelse</h2> <p>Før du får tilgang til denne utgivelsen må du kjøpe den.</p> <dl class="dd_right"> <dt>Pris</dt> <dd>' . game::format_cash($ffn->data['ffn_cost']) . '</dd> </dl> <p class="c">' . show_sbutton("Kjøp utgivelse", 'name="buy"') . '</p> </div> </form>'; } else { echo ' <p class="c">Du må <a href="&rpath;/">logge inn</a> for å kjøpe og lese denne utgivelsen.</p>'; } $this->ff->load_page(); } } // hent data $data = $ffn->build_avis_html(); echo ' <p class="c">' . htmlspecialchars($ffn->data['ffn_title']) . ($this->ff->access(3) ? ' | <a href="avis?ff_id=' . $this->ff->id . '&u&ffn=' . $ffn->data['ffn_id'] . '">Vis detaljer</a>' : '') . ' | <a href="avis?ff_id=' . $this->ff->id . '">Tilbake</a></p>' . $data; }
/** * Plukk ut en parent * @param array $priority * @param array $members spillerene som skal flyttes * @param array $player (enten $member eller $player må sendes med, den andre null) * @param string $back_link (skal være html safe) */ protected function pick_parent($priority, $members = null, $player, $back_link, $form_html = null, $invite = false) { // ikke pri4 eller parent aktivert? if ($priority['priority'] != 4 || !$this->ff->type['parent']) { return null; } $parent = null; // har vi valgt pri3? if (isset($_POST['parent'])) { $ok = true; // gyldig pri3? $pri3_id = (int) $_POST['parent']; if (!isset($this->ff->members['members_priority'][3][$pri3_id])) { ess::$b->page->add_message("Fant ikke valgt {$this->ff->type['priority'][3]}.", "error"); $ok = false; } // kontroller at det er en gyldig pri3 og om ingen parents endret? if ($ok && $members) { $changed = false; foreach ($members as $member) { if (!$changed && ($priority['priority'] != $member->data['ffm_priority'] || $pri3_id != $member->data['ffm_parent_up_id'])) { $changed = true; } // seg selv? if ($member->id == $pri3_id) { ess::$b->page->add_message("Du kan ikke velge en spiller du skal flytte.", "error"); $ok = false; break; } } if (!$changed) { ess::$b->page->add_message(fword("Medlemmet", "Medlemmene", count($members)) . " er allerede underordnet denne {$this->ff->type['priority'][3]}.", "error"); $ok = false; } } if ($ok) { return $pri3_id; } } // vis oversikt over pri3 man kan velge mellom ess::$b->page->add_title("Velg overordnet {$this->ff->type['priority'][3]}"); $text = ""; $up_ids = array(); if (!$members || count($members) == 1) { $member = $members ? $members[0] : null; $up_ids[] = $member ? $member->id : $player['up_id']; $text = ' <p>Du må velge en ' . $this->ff->type['priority'][3] . ' som skal være overordnet for ' . ($member ? game::profile_link($member->id, $member->data['up_name'], $member->data['up_access_level']) : game::profile_link($player['up_id'], $player['up_name'], $player['up_access_level'])) . ' som vil ' . ($invite ? 'invitert' : 'få posisjonen') . ' som ' . $this->ff->type['priority'][4] . '.' . ($member ? ' (Nåværende posisjon: ' . ucfirst($member->get_priority_name()) . ($member->data['ffm_parent_up_id'] ? ' underordnet <user id="' . $member->data['ffm_parent_up_id'] . '" />' : '') . ')' : '') . '</p>'; } else { $list = array(); foreach ($members as $member) { $up_ids[] = $member->id; $list[] = '<li><user id="' . $member->id . '" /> (' . $member->get_priority_name() . ($member->data['ffm_parent_up_id'] ? ' underordnet <user id="' . $member->data['ffm_parent_up_id'] . '" />' : '') . ')</li>'; } $text = ' <p>Du må velge en ' . $this->ff->type['priority'][3] . ' som skal være overordnet for følgende spillere:</p> <ul>' . implode("", $list) . '</ul>'; } echo ' <div class="section" style="width: 400px"> <h1>Velg overordnet ' . $this->ff->type['priority'][3] . '</h1> <p class="h_right"><a href="' . $back_link . '">Tilbake</a></p> <boxes /> <form action="" method="post">' . $form_html . ' <input type="hidden" name="up_id' . ($members ? 's' : '') . '" value="' . ($members ? implode(",", $up_ids) : $player['up_id']) . '" /> <input type="hidden" name="priority" value="' . $priority['priority'] . '" />' . $text . ' <table class="table center"> <thead> <tr> <th>' . ucfirst($this->ff->type['priority'][3]) . '</th> <th>Sist pålogget</th> <th>' . ucfirst($this->ff->type['priority'][4]) . '</th> <th>Inviterte ' . $this->ff->type['priority'][4] . '</th> </tr> </thead> <tbody>'; $i = 0; foreach ($this->ff->members['members_priority'][3] as $member_parent) { if ($members && in_array($member_parent->id, $up_ids)) { continue; } echo ' <tr class="box_handle' . (++$i % 2 == 0 ? ' color' : '') . '"> <td><input type="radio" name="parent" value="' . $member_parent->id . '" /> ' . game::profile_link($member_parent->id, $member_parent->data['up_name'], $member_parent->data['up_access_level']) . '</td> <td class="r">' . ess::$b->date->get($member_parent->data['up_last_online'])->format() . '</td> <td class="r">' . (isset($this->ff->members['members_parent'][$member_parent->id]) ? count($this->ff->members['members_parent'][$member_parent->id]) : 0) . '</td> <td class="r">' . (isset($this->ff->members['invited_parent'][$member_parent->id]) ? count($this->ff->members['invited_parent'][$member_parent->id]) : 0) . '</td> </tr>'; } echo ' </tbody> </table> <p class="c"> ' . show_sbutton("Velg {$this->ff->type['priority'][3]}") . ' <a href="' . $back_link . '">Tilbake</a> </p> </form> </div>'; $this->ff->load_page(); }
/** * Kaste ut en spiller */ protected function kick_handle() { // valider sid validate_sid(); // kan vi ikke kaste ut noen spillere nå? if (login::$user->player->fengsel_check() || login::$user->player->bomberom_check() || login::$user->player->data['up_b_id'] != $this->ff->data['br_b_id'] || !$this->kick_hour_ok) { redirect::handle(); } // mangler spillervalg? if (!isset($_POST['player'])) { ess::$b->page->add_message("Du må velge en spiller du vil kaste ut.", "error"); redirect::handle(); } // er ikke spilleren i bomberommet? $up_id = (int) $_POST['player']; $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT u_email, up_id, up_name, up_access_level, up_brom_expire\n\t\t\tFROM users_players JOIN users ON up_u_id = u_id\n\t\t\tWHERE up_id = {$up_id} AND up_brom_ff_id = {$this->ff->id} AND up_brom_expire > " . time() . " AND up_access_level != 0"); $cost = $this->fam ? self::KICK_PLAYER_COST_FAMILIE : self::KICK_PLAYER_COST; $up = $result->fetch(); if (!$up) { ess::$b->page->add_message("Fant ikke spilleren.", "error"); redirect::handle(); } // sett opp skjema $form = \Kofradia\Form::getByDomain("other", login::$user); // har vi bekreftet ønsket om å kaste ut en spiller? if (isset($_POST['confirm']) && $form->validateHashOrAlert(null, "Kast ut spiller fra bomberom")) { \Kofradia\DB::get()->beginTransaction(); // forsøk å trekk fra pengene if (!$this->ff->bank(ff::BANK_BETALING, $cost, "Kaste ut spilleren [user id={$up['up_id']}] fra bomberommet")) { ess::$b->page->add_message("Det er ikke nok penger i " . ($this->fam ? "broderskapbanken" : "firmabanken") . ".", "error"); \Kofradia\DB::get()->commit(); } else { // finn en tilfeldig bydel å plassere spilleren $result = \Kofradia\DB::get()->query("SELECT id, name FROM bydeler WHERE active != 0 ORDER BY RAND() LIMIT 1"); $b_id = $result->fetchColumn(0); // forsøk å trekk ut spilleren fra bomberommet $a = \Kofradia\DB::get()->exec("\n\t\t\t\t\tUPDATE users_players\n\t\t\t\t\tSET up_brom_expire = 0, up_b_id = {$b_id}\n\t\t\t\t\tWHERE up_id = {$up['up_id']} AND up_brom_ff_id = {$this->ff->id} AND up_brom_expire = {$up['up_brom_expire']} AND up_access_level != 0"); // feilet? if ($a == 0) { // avbryt transaksjon \Kofradia\DB::get()->rollback(); ess::$b->page->add_message("Kunne ikke kaste ut spilleren fra bomberommet.", "error"); } else { // legg til hendelse hos spilleren player::add_log_static("bomberom_kicked", login::$user->player->id . ":" . urlencode($this->ff->data['ff_name']) . ":{$up['up_brom_expire']}", $this->ff->id, $up['up_id']); // send e-post til spilleren $email = new email(); $email->text = 'Hei, Din spiller ble kastet ut fra bomberommet av ' . ($this->fam ? 'broderskapet' : 'firmaet') . ' som styrer bomberommet. -- www.kofradia.no'; $email->send($up['u_email'], "Kastet ut av bomberom"); // firmalogg $this->ff->add_log("bomberom_kick", login::$user->player->id . ":{$up['up_id']}:{$up['up_brom_expire']}"); // logg putlog("DF", "BOMBEROM: {$up['up_name']} ble kastet ut av bomberommet {$this->ff->data['ff_name']} av " . login::$user->player->data['up_name'] . " " . ess::$s['spath'] . "/min_side?up_id={$up['up_id']}"); ess::$b->page->add_message('Du kastet ut <user id="' . $up['up_id'] . '" /> fra bomberommet. ' . ($this->fam ? 'Broderskapet' : 'Firmaet') . ' betalte et gebyr på ' . game::format_cash($cost) . '.'); \Kofradia\DB::get()->commit(); redirect::handle(); } } } ess::$b->page->add_title("Kaste ut spiller"); // vis informasjon echo ' <div class="bg1_c xsmall"> <h1 class="bg1">Kaste ut spiller fra bomberommet<span class="left2"></span><span class="right2"></span></h1> <div class="bg1"> <p>Du er i ferd med å kaste ut ' . game::profile_link($up['up_id'], $up['up_name'], $up['up_access_level']) . ' fra bomberommet.</p> <p>Spilleren skal i utgangspunktet sitte i bomberommet til ' . ess::$b->date->get($up['up_brom_expire'])->format(date::FORMAT_SEC) . ' (' . game::counter($up['up_brom_expire'] - time()) . ' gjenstår).</p> <p>For å kaste ut spilleren må det betales en avgift på <b>' . game::format_cash($cost) . '</b> som betales fra ' . ($this->fam ? 'broderskapkontoen' : 'firmakontoen') . '.</p>'; // har vi ikke nok penger i firmakontoen? if ($this->ff->data['ff_bank'] < $cost) { echo ' <p>' . ($this->fam ? 'Broderskapet' : 'Firmaet') . ' har for øyeblikket kun ' . game::format_cash($this->ff->data['ff_bank']) . ' på konto, noe som ikke er nok. ' . ($this->ff->access(1) ? '<a href="' . ess::$s['relative_path'] . '/ff/banken?ff_id=' . $this->ff->id . '">Sett inn penger på ' . ($this->fam ? 'broderskapkontoen' : 'firmakontoen') . '</a>' : '<a href="' . ess::$s['relative_path'] . '/ff/panel?ff_id=' . $this->ff->id . '">Donér til ' . ($this->fam ? 'broderskapet' : 'firmaet') . '</a>') . ' først for å kunne kaste ut spilleren.</p> <p class="c"><a href="bomberom?ff_id=' . $this->ff->id . '">Tilbake</a></p>'; } else { echo ' <p>' . ($this->fam ? 'Broderskapet' : 'Firmaet') . ' har for øyeblikket ' . game::format_cash($this->ff->data['ff_bank']) . ' på konto.</p> <form action="" method="post"> ' . $form->getHTMLInput() . ' <input type="hidden" name="sid" value="' . login::$info['ses_id'] . '" /> <input type="hidden" name="player" value="' . $up['up_id'] . '" /> <input type="hidden" name="kick" /> <p class="c">' . show_sbutton("Bekreft, kast ut spilleren", 'name="confirm"') . ' <a href="bomberom?ff_id=' . $this->ff->id . '">Avbryt</a></p> </form>'; } echo ' </div> </div>'; $this->ff->load_page(); }
/** * Endre leiepris */ protected function type_garasjeutleie_price($price) { // nylig endret? $last = $this->ff->params->get("garasje_time_change"); $expire = time() - 86400 * 3; if ($last > $expire && !access::has("mod")) { ess::$b->page->add_message("Leieprisen ble sist forandret " . ess::$b->date->get($last)->format() . ". Du må vente " . game::counter($last - $expire, true) . " før leieprisen kan endres på nytt."); $this->ff->redirect(); } // valgt pris? if (isset($_POST['price'])) { $price_new = game::intval($_POST['price']); if ($price_new == $price) { ess::$b->page->add_message("Du må skrive inn en ny pris.", "error"); } elseif ($price_new < ff::GTA_GARAGE_PRICE_LOW) { ess::$b->page->add_message("Leieprisen kan ikke være under " . game::format_cash(ff::GTA_GARAGE_PRICE_LOW) . ".", "error"); } elseif ($price_new > ff::GTA_GARAGE_PRICE_HIGH) { ess::$b->page->add_message("Leieprisen kan ikke være over " . game::format_cash(ff::GTA_GARAGE_PRICE_HIGH) . ".", "error"); } else { // lagre ny pris $this->ff->params->update("garasje_price", $price_new); if (!access::has("mod")) { $this->ff->params->update("garasje_time_change", time(), true); } else { $this->ff->params->commit(); } ess::$b->page->add_message("Leieprisen ble endret til " . game::format_cash($price_new) . "."); $this->ff->redirect(); } } echo ' <div class="bg1_c xxsmall" style="width: 280px"> <h1 class="bg1">Leiepris for garasje<span class="left2"></span><span class="right2"></span></h1> <div class="bg1"> <boxes /> <form action="" method="post"> <dl class="dd_right"> <dt>Nåværende pris per plass</dt> <dd>' . game::format_cash($price) . '</dd> <dt>Ny leiepris per plass</dt> <dd><input type="text" class="styled w80" name="price" value="' . game::format_cash(game::intval(postval("price", $price))) . '" /></dd> </dl> <p class="c">' . show_sbutton("Lagre ny pris") . ' <a href="./?ff_id=' . $this->ff->id . '">Tilbake</a></p> <p>Leieprisen kan settes fra ' . game::format_cash(ff::GTA_GARAGE_PRICE_LOW) . ' til ' . game::format_cash(ff::GTA_GARAGE_PRICE_HIGH) . ' og kan kun justeres hver 3. time</p> </form> </div> </div>'; $this->ff->load_page(); }
/** * Vis statistikk for FF */ protected function stats() { ess::$b->page->add_title("Statistikk"); redirect::store("banken?ff_id={$this->ff->id}&stats"); // nullstille? if (isset($_GET['reset'])) { // bekreftet? if (isset($_POST['confirm']) && validate_sid()) { $this->ff->reset_bank_stats(); ess::$b->page->add_message("Statistikken ble nullstilt."); redirect::handle(); } // vis skjema for å bekrefte echo ' <div class="bg1_c xxsmall"> <h1 class="bg1">Nullstille Statistikk<span class="left"></span><span class="right"></span></h1> <div class="bg1"> <p>Du er i ferd med å nullstille statistikken over pengeflyten i ' . $this->ff->type['refobj'] . '.</p> <p>Når du nullstiller statistikken vil du beholde en totaloversikt fra ' . $this->ff->type['refobj'] . ' ble opprettet og frem til nå.</p> <p>Etter at statistikken blir nullstilt vil det være to oversikter, som hver viser statistikk før og etter nullstillingen.</p> <p>Det kan kanskje være ønskelig å ta en kopi av statistikken nå for å kunne sammenlikne senere.</p> <form action="" method="post"> <input type="hidden" name="sid" value="' . login::$info['ses_id'] . '" /> <p class="c">' . show_sbutton("Ja, nullstill statistikk", 'name="confirm"') . '</p> <p class="c"><a href="banken?ff_id=' . $this->ff->id . '&stats">Avbryt</a></p> </form> </div> </div>'; $this->ff->load_page(); } // har vi nullstilt? $reset = $this->ff->data['ff_money_reset_time'] ?: null; // sett opp data $stats = array(ff::BANK_INNSKUDD => 0, ff::BANK_UTTAK => 0, ff::BANK_DONASJON => 0, ff::BANK_BETALING => 0, ff::BANK_TILBAKEBETALING => 0, "in" => 0, "out" => 0); $stats = array("before" => $stats, "after" => $stats); ess::$b->page->add_css(' .ff_bank_tot { font-weight: bold; color: #555; border-bottom: 1px solid #333333; margin-bottom: 2px; padding-bottom: 2px } .ff_bank_profit { font-weight: bold; color: #888; border-bottom: 2px solid #333333; padding-bottom: 2px }'); // hent statistikk $this->stats_get($stats['before'], $reset); $this->stats_get($stats['after'], $reset, true); echo ' <div class="bg1_c xsmall"> <h1 class="bg1">Statistikk over pengeflyt i ' . $this->ff->type['refobj'] . '<span class="left"></span><span class="right"></span></h1> <div class="bg1">'; if ($reset) { echo ' <p>Statistikken ble nullstilt ' . ess::$b->date->get($reset)->format() . '. Etter dette tidspunktet er følgende gjeldende:</p>'; } $this->stats_show($stats['after']); if ($reset) { echo ' <p>Før statistikken ble nullstilt:</p>'; $this->stats_show($stats['before']); } echo ' <p>Fortjenesten tar ikke med innskudd og uttak.</p> <p class="c"><a href="banken?ff_id=' . $this->ff->id . '">Tilbake</a> | <a href="banken?ff_id=' . $this->ff->id . '&stats&reset">Nullstill statistikk</a></p> </div> </div>'; $this->ff->load_page(); }