示例#1
0
文件: panel.php 项目: Kuzat/kofradia
    /**
     * Behandle endring av medemsgrense
     */
    protected function page_members_limit_handle()
    {
        ess::$b->page->add_title("Medlemsbegrensning");
        redirect::store("panel?ff_id={$this->ff->id}&a=members_limit");
        // hent tall
        $max = $this->ff->members_limit_max_info();
        // øke begrensningen?
        if (isset($_POST['increase']) && validate_sid()) {
            // ingen grense?
            if ($max['active'] == 0) {
                ess::$b->page->add_message("Det er ingen medlemsbegrensning.", "error");
            } elseif ($max['active'] >= $max['max']) {
                ess::$b->page->add_message("Det er ikke mulig å øke medlemsbegrensningen noe mer." . ($this->ff->competition ? ' Etter konkurranseperioden vil det være mulig å øke antall medlemmer ytterligere.' : ''), "error");
            } elseif (postval("count") != $max['active']) {
                ess::$b->page->add_message("Medlemsbegrensningen har endret seg siden du viste siden. Prøv på nytt om du fremdeles ønsker.", "error");
            } else {
                // forsøk å øk begrensningen
                if ($this->ff->members_limit_increase()) {
                    redirect::handle();
                }
            }
        }
        // senke begrensningen?
        if (isset($_POST['decrease']) && validate_sid()) {
            // ingen grense?
            if ($max['active'] == 0) {
                ess::$b->page->add_message("Det er ingen medlemsbegrensning.", "error");
            } elseif ($max['active'] <= $max['min']) {
                ess::$b->page->add_message("Det er ikke mulig å senke medlemsbegrensningen noe mer.", "error");
            } elseif (count($this->ff->members['members']) + count($this->ff->members['invited']) >= $max['active']) {
                ess::$b->page->add_message("Det er for mange medlemmer/inviterte til broderskapet, og medlemsbegrensningen kan ikke senkes mer uten å kaste ut/trekke tilbake invitasjon til en spiller.", "error");
            } elseif (postval("count") != $max['active']) {
                ess::$b->page->add_message("Medlemsbegrensningen har endret seg siden du viste siden. Prøv på nytt om du fremdeles ønsker.", "error");
            } else {
                // forsøk å senk begrensningen
                if ($this->ff->members_limit_decrease()) {
                    redirect::handle();
                }
            }
        }
        // ingen begrensning?
        if ($max['active'] == 0) {
            echo '
<div class="bg1_c xxsmall">
	<h1 class="bg1">Medlemsbegrensning<span class="left"></span><span class="right"></span></h1>
	<div class="bg1">
		<boxes />
		<p>Det er ingen medlemsbegrensning for ' . $this->ff->type['refobj'] . '.</p>
		<p class="c"><a href="panel?ff_id=' . $this->ff->id . '">Tilbake</a></p>
	</div>
</div>';
            $this->ff->load_page();
        }
        echo '
<div class="bg1_c xsmall">
	<h1 class="bg1">Medlemsbegrensning<span class="left"></span><span class="right"></span></h1>
	<div class="bg1 j">
		<boxes />
		<p>Medlemsbegrensningen bestemmer hvor mange medlemmer du kan ha i ' . $this->ff->type['refobj'] . '.</p>
		<dl class="dd_right">
			<dt>Nåværende begrensning</dt>
			<dd><b>' . $max['active'] . '</b></dd>
			<dt>Antall medlemmer og inviterte</dt>
			<dd><b>' . (count($this->ff->members['members']) + count($this->ff->members['invited'])) . '</b></dd>
			<dt>Minste mulige begrensning</dt>
			<dd' . ($max['active'] == $max['min'] ? ' style="color: #F00"' : '') . '>' . $max['min'] . '</dd>
			<dt>Maksimale mulige begrensning</dt>
			<dd' . ($max['active'] == $max['max'] ? ' style="color: #F00"' : '') . '>' . $max['max'] . '</dd>
			<dt>Begrensning for driftskostnad</dt>
			<dd>' . ($max['min'] + $max['extra_max']) . '</dd>
		</dl>' . ($this->ff->competition ? '
		<p>Etter broderskapkonkurransen er ferdig vil du kunne øke medlemsbegrensningen ytterligere.</p>' : '') . '
		<p>Når medlemsbegrensningen øker, vil utgangspunktet til driftskostnaden øke med <b>' . game::format_cash(ff::PAY_COST_INCREASE_FFM) . '</b> per medlem. I tillegg må det betales <b>' . game::format_cash(ff::MEMBERS_LIMIT_INCREASE_COST) . '</b> fra banken til ' . $this->ff->type['refobj'] . ' i det begrensningen økes.</p>
		<p>Når medlemsbegrensningen settes ned må man vente til neste periode for driftskostnad før dette antallet blir satt ned igjen.</p>
		<dl class="dd_right">
			<dt>Penger i <a href="banken?ff_id=' . $this->ff->id . '">banken</a> til ' . $this->ff->type['refobj'] . '</dt>
			<dd>' . game::format_cash($this->ff->data['ff_bank']) . '</dd>
		</dl>
		<form action="" method="post">
			<input type="hidden" name="sid" value="' . login::$info['ses_id'] . '" />
			<input type="hidden" name="count" value="' . $max['active'] . '" />' . ($max['active'] < $max['max'] ? '
			<p class="c">' . show_sbutton("Øk med én plass (" . game::format_cash(ff::MEMBERS_LIMIT_INCREASE_COST) . ")", 'name="increase"') . '</p>' : '') . ($max['active'] > $max['min'] ? '
			<p class="c">' . show_sbutton("Senk med én plass", 'name="decrease"') . '</p>' : '') . '
		</form>
		<p class="c"><a href="panel?ff_id=' . $this->ff->id . '">Tilbake</a></p>
	</div>
</div>';
        $this->ff->load_page();
    }