示例#1
0
    /**
     * Behandle forespørsel
     */
    protected function page_handle()
    {
        // kaste ut en spiller?
        if (isset($_POST['kick']) && $this->kick_access) {
            $this->kick_handle();
        }
        // hent liste over spillere som befinner seg i bomberommet
        $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT up_id, up_name, up_access_level, up_brom_expire\n\t\t\tFROM users_players\n\t\t\tWHERE up_brom_ff_id = {$this->ff->id} AND up_brom_expire > " . time() . " AND up_access_level != 0\n\t\t\tORDER BY up_brom_expire DESC");
        $players = array();
        while ($row = $result->fetch()) {
            $players[] = $row;
        }
        // hent kapasiteten
        $cap = $this->ff->get_bomberom_capacity();
        echo '
<div class="bg1_c xsmall">
	<h1 class="bg1">Bomberommet<span class="left2"></span><span class="right2"></span></h1>
	<div class="bg1">' . ($this->fam ? '' : '
		<p>Som medlem av firmaet kan du sette deg i bomberommet uavhengig av antall spillere som befinner seg i det. Du har alltid plass.</p>') . '
		<p>Kapasitet i bomberommet: <b>' . $cap . '</b> spillere.</p>';
        // ingen i bomberommet?
        if (count($players) == 0) {
            echo '
		<p>Ingen spillere befinner seg i bomberommet' . ($this->fam ? ' til broderskapet' : '') . ' for øyeblikket.</p>';
        } else {
            // kan vi kaste ut folk?
            $can_kick = $this->kick_access && !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;
            echo '
		<p>Spillere som befinner seg i bomberommet:</p>
		<form action="" method="post">
			<input type="hidden" name="sid" value="' . login::$info['ses_id'] . '" />
			<table class="table center' . ($this->kick_access ? '' : ' tablemb') . '">
				<thead>
					<tr>
						<th>Spiller</th>
						<th>Varighet</th>
					</tr>
				</thead>
				<tbody>';
            $i = 0;
            foreach ($players as $row) {
                echo '
					<tr' . (!$can_kick ? ++$i % 2 == 0 ? ' class="color"' : '' : ' class="box_handle' . (++$i % 2 == 0 ? ' color' : '') . '"') . '>
						<td>' . (!$can_kick ? '' : '<input type="radio" name="player" value="' . $row['up_id'] . '" />') . game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level']) . '</td>
						<td class="r">' . ess::$b->date->get($row['up_brom_expire'])->format(date::FORMAT_SEC) . '</td>
					</tr>';
            }
            echo '
				</tbody>
			</table>' . (!$this->kick_access ? '' : (!$this->kick_hour_ok ? '
			<p class="c">Det er kun mulig å kaste ut spillere mellom kl. ' . self::KICK_HOUR_START . ' og kl. ' . self::KICK_HOUR_END . '.</p>' : (login::$user->player->fengsel_check() ? '
			<p class="c">Du befinner deg i fengsel og kan ikke kaste ut spillere.</p>' : (login::$user->player->bomberom_check() ? '
			<p class="c">Du befinner deg i bomberom og kan ikke kaste ut spillere.</p>' : (login::$user->player->data['up_b_id'] != $this->ff->data['br_b_id'] ? '
			<p class="c">Du befinner deg i en annen bydel enn bomberommet og kan ikke kaste ut spillere.</p>' : '
			<p class="c">' . show_sbutton("Kast ut spiller", 'name="kick"') . '</p>'))))) . '
		</form>';
        }
        echo '
	</div>
</div>';
    }