Example #1
0
 /**
  * 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();
 }
Example #2
0
 /**
  * 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();
 }
Example #3
0
 /**
  * Last inn siden
  */
 public function load_page()
 {
     if ($this->ff) {
         $this->ff->load_page();
     }
     \ess::$b->page->load();
 }
Example #4
0
    /**
     * 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();
    }
Example #5
0
    /**
     * 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 . '&amp;u&amp;ffn=' . $ffn->data['ffn_id'] . '">Vis detaljer</a>' : '') . ' | <a href="avis?ff_id=' . $this->ff->id . '">Tilbake</a></p>' . $data;
    }
Example #6
0
    /**
     * 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();
    }
Example #7
0
    /**
     * 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();
    }
Example #8
0
    /**
     * 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();
    }
Example #9
0
    /**
     * 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 . '&amp;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 . '&amp;stats&amp;reset">Nullstill statistikk</a></p>
	</div>
</div>';
        $this->ff->load_page();
    }