/** * Vis informasjon om betaling for FF */ protected function page_pay_handle() { $pay_info = $this->ff->pay_info(); if (isset($_POST['pay'])) { // har vi ikke gått over tiden if ($pay_info['in_time']) { ess::$b->page->add_message("Du har ikke mulighet til å betale nå."); } elseif (login::$user->player->data['up_cash'] <= $pay_info['price']) { ess::$b->page->add_message("Du har ikke nok penger på hånda."); } else { // utfør betalingen $result = $this->ff->pay_action(); if ($result !== false) { ess::$b->page->add_message("Du har betalt driftskostnaden på <b>" . game::format_cash($result) . "</b>. Neste gang driftskostnaden skal trekkes er " . ess::$b->date->get($this->ff->data['ff_pay_next'])->format() . "."); $this->ff->redirect(); } else { ess::$b->page->add_message("Noe gikk galt ved betaling. Prøv på nytt."); redirect::handle("panel?ff_id={$this->ff->id}&a=pay"); } } } ess::$b->page->add_title("Driftskostnad"); // hent oversikt over medlemmer og vis hvor mye hver av dem har ranket som teller for FF $rank_info = $this->ff->get_rank_info(); ess::$b->page->add_css(' .ff_panel_pay { padding-bottom: 1em } .ff_panel_pay .progressbar p { color: #EEEEEE } .ff_panel_pay .progressbar { margin-bottom: 2px; background-color: #2D2D2D } .ff_panel_pay .progressbar .progress { background-color: #434343 }'); echo ' <div class="section w350 ff_panel_pay"> <h2>Driftskostnad</h2> <p class="h_right"><a href="panel?ff_id=' . $this->ff->id . '">Tilbake</a></p> <boxes /> <p>For at ' . $this->ff->type['refobj'] . ' ikke skal dø ut, må det betales inn et beløp på <u>100 mill</u> i tillegg til kostnad per ekstra medlemsplass til spillet hver 10. dag.</p> <p>Når medlemmene i ' . $this->ff->type['refobj'] . ' ranker, vil beløpet som må innbetales synke med 1 og 1 mill avhengig av hvor mye som rankes.</p> <p>' . ucfirst($this->ff->type['refobj']) . ' mister ikke ranken hvis et medlem forlater ' . $this->ff->type['refobj'] . '.</p> <p>Beløpet vil bli trukket fra banken for ' . $this->ff->type['refobj'] . ' automatisk ved innbetalingstidspunkt. Hvis det ikke er nok penger i banken, vil ' . $this->ff->type['refobj'] . ' få frist på å innbetale beløpet manuelt innen 24 timer. Beløpet vil da øke med 50 %.</p>' . (!$pay_info['in_time'] ? ' <div class="section" style="width: 220px"> <h2>Betaling av driftskostnad</h2> <p class="error_box">' . ucfirst($this->ff->type['refobj']) . ' har overskredet tidspunktet for innbetaling. Betaling må skje manuelt av ' . $this->ff->type['priority'][1] . '/' . $this->ff->type['priority'][2] . '.</p> <dl class="dd_right"> <dt>Betalingsfrist</dt> <dd>' . ess::$b->date->get($pay_info['next'])->format() . '<br />' . game::timespan($pay_info['next'], game::TIME_ABS) . '</dd> <dt>Beløp</dt> <dd>' . game::format_cash($pay_info['price']) . '</dd> </dl>' . ($this->ff->access(2) ? ' <form action="panel?ff_id=' . $this->ff->id . '&a=pay" method="post"> <p class="c">' . show_sbutton("Betal driftskostnaden", 'name="pay"') . '</p> </form>' : '') . ' <p>Hvis beløpet ikke blir betalt innen betalingsfristen vil ' . $this->ff->type['refobj'] . ' bli oppløst.</p> </div>' : ' <dl class="dd_right"> <dt>Neste innbetaling</dt> <dd>' . ess::$b->date->get($pay_info['next'])->format() . '</dd> <dt>Utgangspunkt for beløp (' . fwords("%d eksta spillerplass", "%d ekstra spillerplasser", $pay_info['members_limit']) . ')</dt> <dd>' . game::format_cash($pay_info['price_max']) . '</dd> <dt>Foreløpig beløp</dt> <dd>' . game::format_cash($pay_info['price']) . '</dd> </dl>') . ' <p>Medlemmers bidrag:</p>'; if (count($rank_info['players']) == 0) { echo ' <p>' . ucfirst($this->ff->type['refobj']) . ' har ingen medlemmer.</p>'; } else { foreach ($rank_info['players'] as $info) { echo ' <div class="progressbar"> <div class="progress' . ($info['points'] < 0 ? ' ff_progress_negative' : '') . '" style="width: ' . round($info['percent_bar']) . '%"> <p>' . game::profile_link($info['member']->id, $info['member']->data['up_name'], $info['member']->data['up_access_level']) . ' (' . $info['member']->get_priority_name() . ($info['member']->data['ffm_parent_up_id'] ? ' underordnet <user id="' . $info['member']->data['ffm_parent_up_id'] . '" />' : '') . ') (' . game::format_number($info['percent_text'], 1) . ' %)</p> </div> </div>'; } } if (isset($rank_info['others'])) { echo ' <div class="progressbar"> <div class="progress' . ($rank_info['others']['points'] < 0 ? ' ff_progress_negative' : '') . '" style="width: ' . round($rank_info['others']['percent_bar']) . '%"> <p>Tidligere medlemmer av ' . $this->ff->type['refobj'] . ' (' . game::format_number($rank_info['others']['percent_text'], 1) . ' %)</p> </div> </div>'; } echo ' </div>'; $this->ff->load_page(); }