Esempio n. 1
0
 /**
  * Get donations
  * Sorted by newest first
  *
  * @param \pagei $pagei
  * @return array(\Kofradia\Donasjon, ..)
  */
 public static function getDonations(\pagei $pagei = null)
 {
     $q = "\n\t\t\tSELECT d_id, d_up_id, d_time, d_amount\n\t\t\tFROM donations\n\t\t\tORDER BY d_time DESC";
     $result = $pagei ? $pagei->query($q) : DB::get()->query($q);
     $list = array();
     while ($row = $result->fetch()) {
         $list[] = static::load($row);
     }
     return $list;
 }
Esempio n. 2
0
 /**
  * Get polls on the active page
  *
  * @param \pagei
  * @param \user
  * @return array
  */
 public static function getPolls(\pagei $pagei, \user $user = null)
 {
     $time = time();
     $result = $pagei->query("\n\t\t\tSELECT p_id, p_active, p_ft_id, p_title, p_text, p_time_start, p_time_end" . ($user ? ", pv_po_id, pv_time" : "") . "\n\t\t\tFROM polls" . ($user ? "\n\t\t\t\tLEFT JOIN polls_votes ON pv_up_id = " . $user->player->id . " AND pv_p_id = p_id" : "") . "\n\t\t\tWHERE p_active != 0 AND p_time_start < {$time}\n\t\t\tGROUP BY p_id\n\t\t\tORDER BY p_time_end != 0, p_time_end DESC, p_id DESC");
     if ($result->rowCount() == 0) {
         return array();
     }
     $polls = array();
     // les data
     while ($row = $result->fetch()) {
         $polls[$row['p_id']] = static::createFromData($row, $user);
     }
     // hent alternativene
     $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT po_id, po_p_id, po_text, po_votes\n\t\t\tFROM polls_options\n\t\t\tWHERE po_p_id IN (" . implode(",", array_keys($polls)) . ")");
     while ($row = $result->fetch()) {
         new PollOption($row, $polls[$row['po_p_id']]);
     }
     return $polls;
 }
Esempio n. 3
0
    /** Vis henvendelsen */
    protected function show()
    {
        // øk visningstelleren
        $this->increase_view_counter();
        echo '
<h1>Henvendelse</h1>
<p class="c"><a href="./">Tilbake</a></p>
<table class="table center tablemb">
	<tbody>
		<tr>
			<th>Tittel</th>
			<td>' . htmlspecialchars($this->data['su_title']) . '</td>
		</tr>
		<tr>
			<th>Kategori</th>
			<td>' . htmlspecialchars(support::$kategorier[$this->data['su_category']]['name']) . '</td>
		</tr>' . (!$this->own ? '
		<tr>
			<th>Innsender</th>
			<td><user id="' . $this->data['su_up_id'] . '" />' . ($this->data['new_up_id'] != $this->data['su_up_id'] ? '<br />
				(Ny: <user id="' . $this->data['new_up_id'] . '" />)' : '') . '</td>
		</tr>' : '') . '
		<tr>
			<th>Innsendt</th>
			<td>' . ess::$b->date->get($this->data['su_time'])->format(date::FORMAT_SEC) . '<br />' . game::timespan($this->data['su_time'], game::TIME_ABS | game::TIME_PAST) . '</td>
		</tr>
		<tr>
			<th>Status</th>';
        if ($this->solved) {
            echo '
			<td>Avsluttet</td>';
        } else {
            // knapp for å avslutte henvendelsen
            echo '
			<td>
				Åpen / under behandling<br />
				<form action="" method="post">' . show_sbutton("Avslutt henvendelsen", 'name="close" style="margin-top: 3px"') . '</form>
			</td>';
        }
        echo '
		</tr>
	</tbody>
</table>';
        // vis skjema for å svare på henvendelsen
        $this->show_reply_form();
        // hent meldingene
        $pagei = new pagei(pagei::PER_PAGE, 30, pagei::ACTIVE_GET, "side");
        $result = $pagei->query("\n\t\t\tSELECT sum_up_id, sum_time, sum_text\n\t\t\tFROM support_messages\n\t\t\tWHERE sum_su_id = {$this->data['su_id']}\n\t\t\tORDER BY sum_time DESC");
        if ($pagei->pages > 1) {
            echo '
<p class="c">' . $pagei->pagenumbers() . '</p>';
        }
        ess::$b->page->add_css('.profile_link_imgfix img { vertical-align: top; margin-top: -2px }');
        while ($row = $result->fetch()) {
            echo '
<div class="bg1_c" style="width: 500px">
	<h2 class="bg1">
		<span style="float: left" class="profile_link_imgfix"><user id="' . $row['sum_up_id'] . '" /></span>
		<span style="float: right; font-size: 10px">' . ess::$b->date->get($row['sum_time'])->format(date::FORMAT_SEC) . '</span>
		<span class="left2"></span><span class="right2"></span>
	</h2>
	<div class="bg1">
		<div class="p">' . game::format_data($row['sum_text']) . '</div>
	</div>
</div>';
        }
        if ($pagei->pages > 1) {
            echo '
<p class="c">' . $pagei->pagenumbers() . '</p>';
        }
        echo '
<div style="margin-bottom: 50px"></div>';
    }
Esempio n. 4
0
<?php

require "base.php";
global $_base;
$_base->page->add_title("Lotto", "Trekninger");
kf_menu::$data['lotto'] = true;
echo '
<div class="bg1_c xsmall">
	<h1 class="bg1">Lotto: Siste trekninger<span class="left"></span><span class="right"></span></h1>
	<p class="h_left"><a href="lotto">&laquo; Tilbake</a></p>
	<div class="bg1">';
// hent trekningene på nåværende side
$pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 12);
$result = $pagei->query("SELECT CEILING((time-900)/1800)*1800+900 FROM smafia_database.lotto_vinnere WHERE time > " . (time() - 259200) . " GROUP BY CEILING((time-900)/1800)*1800+900 ORDER BY time DESC");
if ($result->rowCount() == 0) {
    echo '
		<p class="c">Ingen trekninger har blitt utført.</p>';
} else {
    $row = $result->fetch(\PDO::FETCH_NUM);
    $last = $row[0];
    do {
        $first = $row[0] - 1800;
    } while ($row = $result->fetch(\PDO::FETCH_NUM));
    echo '
		<p class="c">' . $_base->date->get($first + 1800)->format() . ' til ' . $_base->date->get($last)->format() . '</p>';
    // hent vinnerene
    $result = \Kofradia\DB::get()->query("SELECT lv_up_id, time, won, total_lodd, total_users, type FROM smafia_database.lotto_vinnere WHERE time >= {$first} AND time < {$last} ORDER BY type");
    $rounds = array();
    // legg i riktig gruppe
    while ($row = $result->fetch()) {
        $end = ceil(($row['time'] - 900) / 1800) * 1800 + 900;
Esempio n. 5
0
 $sort->append("asc", "Sist pålogget", "up_last_online");
 $sort->append("desc", "Sist pålogget", "up_last_online DESC");
 $sort->append("asc", "Hits", "up_hits");
 $sort->append("desc", "Hits", "up_hits DESC");
 $sort->append("asc", "Rank", "up_points");
 $sort->append("desc", "Rank", "up_points DESC");
 $sort->append("asc", "Penger", "money");
 $sort->append("desc", "Penger", "money DESC");
 $sort->append("asc", "Fødselsdato", "u_birth");
 $sort->append("desc", "Fødselsdato", "u_birth DESC");
 $sort->append("asc", "Spiller ID", "up_id");
 $sort->append("desc", "Spiller ID", "up_id DESC");
 $sort->set_active(getval("sort"), 11);
 $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 100);
 $sort_info = $sort->active();
 $result = $pagei->query("\n\t\t\tSELECT\n\t\t\t\tu_id, u_access_level, u_online_ip, u_email, u_birth, u_online_ip,\n\t\t\t\tup_id, up_name, up_access_level, up_hits, up_points, up_cash+up_bank AS money, up_created_time, up_last_online\n\t\t\tFROM users\n\t\t\t\tJOIN users_players ON up_u_id = u_id\n\t\t\tWHERE " . implode(" OR ", $where) . "\n\t\t\tGROUP BY up_id\n\t\t\tORDER BY {$sort_info['params']}");
 function ip_sessions_link($ip)
 {
     return '<a href="ip_sessions?ip=' . urlencode($ip) . '">' . htmlspecialchars($ip) . '</a> (<a href="http://www.ripe.net/fcgi-bin/whois?form_type=simple&full_query_string=&searchtext=' . urlencode($ip) . '&do_search=Search">RIPE</a>)';
 }
 $list = array();
 if (count($u_id) > 0) {
     $list[] = '<span class="dark">Bruker ID:</span> ' . implode(", ", $u_id);
 }
 if (count($up_id) > 0) {
     $list[] = '<span class="dark">Spiller ID:</span> ' . implode(", ", $up_id);
 }
 if (count($up_name) > 0) {
     $list[] = '<span class="dark">Spiller:</span> ' . (count($up_name) == 0 ? '<i>Ikke valgt.</i>' : implode(", ", array_map("htmlspecialchars", $up_name)));
 }
 if (count($ip) > 0) {
Esempio n. 6
0
     $p->execute($text_parts[2]);
 }
 // hente svarene?
 if ($where[2] && $search_text_reply !== false) {
     $deleted = $search_deleted[$search_deleted_id][2];
     \Kofradia\DB::get()->exec("\n\t\t\t\tCREATE TEMPORARY TABLE temp_results2 (\n\t\t\t\t\ttr_ft_id INT(11) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\ttr_fr_id INT(11) UNSIGNED NOT NULL DEFAULT 0\n\t\t\t\t) ENGINE = MEMORY");
     $p = \Kofradia\DB::get()->prepare("\n\t\t\t\tINSERT INTO temp_results2\n\t\t\t\tSELECT ft_id, fr_id\n\t\t\t\tFROM\n\t\t\t\t\tforum_topics,\n\t\t\t\t\tforum_replies fr\n\t\t\t\tWHERE ft_id = fr.fr_ft_id{$deleted}{$search_forums_query}{$search_from_reply_query}{$search_text_reply}");
     $p->execute($text_parts[2]);
     // legg til i "funnene"
     \Kofradia\DB::get()->exec("\n\t\t\t\tINSERT IGNORE INTO temp_results\n\t\t\t\tSELECT DISTINCT tr_ft_id, tr_fr_id, 'reply'\n\t\t\t\tFROM temp_results2");
 }
 // sortering
 $sort_info = $sort->active();
 $query = "\n\t\t\tSELECT\n\t\t\t\ttr_match_type, tr_fr_id,\n\t\t\t\tft_deleted, ft_id, ft_type, ft_fse_id, ft_title, ft_time, ft_up_id, ft_locked, ft_replies, ft_views, ft_last_reply,\n\t\t\t\tup.up_name, up.up_access_level,\n\t\t\t\trup.up_name r_up_name, rup.up_access_level r_up_access_level,\n\t\t\t\tfr_time, fr_up_id\n\t\t\tFROM\n\t\t\t\ttemp_results tr,\n\t\t\t\tforum_topics t\n\t\t\t\tLEFT JOIN users_players up ON ft_up_id = up.up_id\n\t\t\t\tLEFT JOIN forum_replies r ON ft_last_reply = fr_id\n\t\t\t\tLEFT JOIN users_players rup ON fr_up_id = rup.up_id\n\t\t\tWHERE tr_ft_id = ft_id\n\t\t\tORDER BY {$sort_info['params']}";
 $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 30);
 $result = $pagei->query($query);
 $info = array();
 foreach ($title_parts[1] as $part) {
     $info[] = '<b>Tittel:</b> ' . htmlspecialchars($part);
 }
 foreach ($text_parts[1] as $part) {
     $info[] = '<b>Innhold:</b> ' . htmlspecialchars($part);
 }
 if ($search_from_id == 4) {
     $u = array();
     foreach ($players as $player) {
         $u[] = game::profile_link($player['up_id'], $player['up_name'], $player['up_access_level']);
     }
     $info[] = '<b>Bruker:</b> ' . implode(" eller ", $u);
 }
 if (count($info) == 0) {
Esempio n. 7
0
<div class="bg1_c medium">
	<h1 class="bg1">Lotto: Historie<span class="left"></span><span class="right"></span></h1>
	<p class="h_left"><a href="lotto">&laquo; Tilbake</a></p>
	<div class="bg1">
		<p class="c">Her er en oversikt over alle gangene du har vunnet på lotto!</p>';
// antall vinn og totalt vunnet
$result = \Kofradia\DB::get()->query("SELECT COUNT(id), SUM(won) FROM lotto_vinnere WHERE lv_up_id = {$up_id}");
$row = $result->fetch(\PDO::FETCH_NUM);
$ant = $row[0];
$won = $row[1];
if ($ant == 0) {
    echo '
		<p class="c"><b>Du har aldri vunnet på lotto!</b></p>';
} else {
    $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 15);
    $result = $pagei->query("SELECT l_id, lv_up_id, time, won, total_lodd, total_users, type FROM lotto_vinnere WHERE lv_up_id = {$up_id} ORDER BY id DESC");
    echo '
		<p class="c">Du har vunnet i lotto <b>' . game::format_number($ant) . '</b> gang' . ($ant == 1 ? '' : 'er') . '! Totalt har du vunnet <b>' . game::format_cash($won) . '</b>!</p>
		<table class="table center game" id="lotto_vinn" width="100%">
			<thead>
				<tr>
					<th>Når</th>
					<th>Plassering</th>
					<th>Premie</th>
					<th>Vinnerlodd</th>
					<th>Solgte lodd</th>
					<th>Spillere</th>
				</tr>
			</thead>
			<tbody>';
    $i = 0;
Esempio n. 8
0
}
#profileinfo_right {
	float: right;
	width: 40%;
}
#profile_hr {
	margin-top: 0;
	padding-top: 0;
}');
if (login::$logged_in && login::$user->id != $player->data['up_u_id']) {
    // sørg for at rapporteringslenkene blir prosessert
    ess::$b->page->add_js('sm_scripts.report_links();');
}
// hent andre spillere med samme navn
$pagei_other_up = new pagei(pagei::ACTIVE_GET, "side_up", pagei::PER_PAGE, 10);
$result_other_up = $pagei_other_up->query("\n\tSELECT up_id, up_name, up_access_level, up_created_time, up_last_online, up_points, up_deactivated_time, up_deactivated_dead, upr_rank_pos\n\tFROM users_players\n\t\tLEFT JOIN users_players_rank ON upr_up_id = up_id\n\tWHERE up_name = " . \Kofradia\DB::quote($player->data['up_name']) . " AND up_u_id = {$player->data['up_u_id']}\n\tORDER BY up_last_online DESC");
$has_other_up = $result_other_up->rowCount() > 1;
// antall angrep man har utført
$attacks = $player->data['up_attack_failed_num'] + $player->data['up_attack_damaged_num'] + $player->data['up_attack_killed_num'];
echo '
<div id="profile">
	<div id="profile_left">
		<div class="section">
			<h2>Informasjon</h2>
			<p class="h_right">' . (login::$logged_in && (access::has("mod") || $player->data['up_u_id'] == login::$user->id) ? '
				<a href="' . $__server['relative_path'] . '/min_side?' . (login::$user->player->id != $player->id || !login::$user->player->active ? 'up_id=' . $player->id . '&amp;' : '') . 'a=profil">Rediger</a>' : '') . (isset($_GET['signature']) ? '
				<a href="' . $__server['relative_path'] . '/p/' . rawurlencode($player->data['up_name']) . '/' . $player->id . '">Vis profil</a>' : '
				<a href="' . $__server['relative_path'] . '/p/' . rawurlencode($player->data['up_name']) . '/' . $player->id . '?signature">Vis signatur</a>') . (login::$logged_in && login::$user->id != $player->data['up_u_id'] ? '
				<a href="' . $__server['relative_path'] . '/js" class="report_link" rel="profile,' . $player->id . ',1">Rapporter profil</a>' : '') . '
			</p>
			<div id="profileinfo_left">
Esempio n. 9
0
    /**
     * Reise til en annen bydel
     */
    protected function reise()
    {
        redirect::store("bydeler#b");
        $this->up->fengsel_require_no();
        $this->up->bomberom_require_no();
        // finn bydelen
        $bydel = false;
        foreach ($this->bydeler as $row) {
            if ($row['id'] == 0 || $row['active'] == 0) {
                continue;
            }
            if ($row['name'] == $_POST['reise']) {
                $bydel = $row;
                break;
            }
        }
        if (!$bydel) {
            ess::$b->page->add_message("Fant ikke bydelen.", "error");
            redirect::handle();
        }
        // allerede i bydelen?
        if ($bydel['id'] == $this->up->data['up_b_id']) {
            $this->reise_error_in($bydel);
        }
        // teleportere?
        if (isset($_POST['teleporter']) && access::is_nostat()) {
            // teleporter
            $a = \Kofradia\DB::get()->exec("UPDATE users_players SET up_b_id = {$bydel['id']}, up_b_time = " . time() . " WHERE up_id = " . $this->up->id . " AND up_access_level != 0 AND up_b_id != {$bydel['id']}");
            if ($a == 0) {
                $this->reise_error_in($bydel);
            }
            ess::$b->page->add_message('Du teleporterte til <b>' . htmlspecialchars($bydel['name']) . '</b>.');
            redirect::handle();
        }
        // med bil?
        if (isset($_POST['gta'])) {
            if ($this->gta_count == 0) {
                ess::$b->page->add_message("Du har ingen biler i bydelen du oppholder deg i.", "error");
                redirect::handle();
            }
            if (!$this->gta_garage[$bydel['id']]['garage']) {
                ess::$b->page->add_message('Du har ingen garasje på <b>' . htmlspecialchars($bydel['name']) . '</b> og kan ikke reise dit med bil.', "error");
                redirect::handle();
            }
            if ($this->gta_garage[$bydel['id']]['garage_free'] == 0) {
                ess::$b->page->add_message('Det er ingen ledige plasser i garasjen på <b>' . htmlspecialchars($bydel['name']) . '</b>.', "error");
                redirect::handle();
            }
            // regn ut avstand (km)
            $distance = self::calc_travel_distance($this->up->bydel, $bydel);
            // har vi valgt en bil?
            if (isset($_POST['sel'])) {
                if (!isset($_POST['bil'])) {
                    ess::$b->page->add_message("Du må velge en bil du ønsker å reise med.", "error");
                } else {
                    $this->reise_gta_check($bydel, $distance);
                }
                // TODO
            }
            // vis skjema for å velge en bil å reise med
            ess::$b->page->add_title($bydel['name'], "Reis med bil");
            // hent bilene i garasjen
            $pagei = new pagei(pagei::ACTIVE_POST, "side", pagei::PER_PAGE, 10);
            $result = $pagei->query("\n\t\t\t\tSELECT s.id, s.time, g.brand, g.model, g.img_mini, g.value, s.damage, g.points\n\t\t\t\tFROM users_gta AS s\n\t\t\t\t\tJOIN gta AS g ON s.gtaid = g.id\n\t\t\t\tWHERE ug_up_id = {$this->up->id} AND s.b_id = {$this->up->data['up_b_id']}\n\t\t\t\tORDER BY g.points*(100-s.damage) DESC");
            echo '
<div class="bg1_c xmedium">
	<h1 class="bg1">Reis med bil til ' . htmlspecialchars($bydel['name']) . '<span class="left"></span><span class="right"></span></h1>
	<div class="bg1">
		<p class="c"><a href="bydeler#b">Tilbake</a></p>
		<form action="bydeler#b" method="post">
			<input type="hidden" name="reise" value="' . htmlspecialchars($bydel['name']) . '" />
			<input type="hidden" name="gta" />
			<table class="table center">
				<thead>
					<tr>
						<th colspan="2">Merke/Modell</th>
						<th>Dato anskaffet</th>
						<th>Skade</th>
						<th>Energi</th>
						<th>Utgifter</th>
					</tr>
				</thead>
				<tbody>';
            $i = 0;
            while ($row = $result->fetch()) {
                $price = $distance * self::GTA_PRICE_KM * self::get_gta_factor_points($row['points']) * self::get_gta_factor_damage($row['damage']);
                $energy = self::get_gta_energy($row['damage']);
                echo '
					<tr class="box_handle' . (++$i % 2 == 0 ? ' color' : '') . '">
						<td><input type="radio" id="bil_' . $row['id'] . '" name="bil" value="' . $row['id'] . '"' . (postval("bil") == $row['id'] ? ' checked="checked"' : '') . ' />' . (empty($row['img_mini']) ? '&nbsp;' : '<img src="' . $row['img_mini'] . '" alt="Bilde" />') . '</td>
						<td>' . htmlspecialchars($row['brand']) . '<br /><b>' . htmlspecialchars($row['model']) . '</b></td>
						<td>' . ess::$b->date->get($row['time'])->format() . '</td>
						<td align="right">' . $row['damage'] . ' %</td>
						<td align="right">' . game::format_num($energy / $this->up->data['up_energy_max'] * 100, 1) . ' %</td>
						<td align="right">' . game::format_cash($price) . '</td>
					</tr>';
            }
            echo '
				</tbody>
			</table>' . ($pagei->pages > 1 ? '
			<p class="c">' . $pagei->pagenumbers("input") . '</p>' : '') . '
			<p class="c">' . show_sbutton("Reis til " . htmlspecialchars($bydel['name']), 'name="sel"') . '</p>
		</form>
	</div>
</div>';
            ess::$b->page->load();
        }
        // ta taxi?
        if (isset($_POST['taxi'])) {
            // har vi ikke nok energi?
            if (!$this->up->energy_check(self::TAXI_ENERGY * 1.3)) {
                ess::$b->page->add_message("Du har ikke nok energi for å reise med taxi.", "error");
                redirect::handle();
            }
            // regn ut avstand (km)
            $distance = self::calc_travel_distance($this->up->bydel, $bydel);
            // regn ut pris og rankpoeng
            $price = round($distance * self::TAXI_PRICE_KM);
            $points = round($distance * self::TAXI_POINTS_KM * $this->up->rank['number']);
            // har ikke nok rank?
            if ($this->up->data['up_points'] < $points * 2) {
                ess::$b->page->add_message("Du har ikke nok rank til å reise til " . htmlspecialchars($bydel['name']) . ".", "error");
                redirect::handle();
            }
            // forsøk å reis
            $a = \Kofradia\DB::get()->exec("UPDATE users_players SET up_cash = up_cash - {$price}, up_b_id = {$bydel['id']}, up_b_time = " . time() . " WHERE up_id = " . $this->up->id . " AND up_cash >= {$price} AND up_b_id != {$bydel['id']}");
            // feilet?
            if ($a == 0) {
                // allerede i bydelen?
                $result = \Kofradia\DB::get()->query("SELECT up_b_id FROM users_players WHERE up_id = " . $this->up->id);
                if ($result->fetchColumn(0) == $bydel['id']) {
                    $this->reise_error_in($bydel);
                }
                // hadde ikke råd
                $this->reise_error_cash($bydel);
            }
            // energi
            $this->up->energy_use(self::TAXI_ENERGY);
            // rank
            $this->up->increase_rank(-$points);
            // vellykket
            ess::$b->page->add_message("Du tok taxi til <b>" . htmlspecialchars($bydel['name']) . "</b>. Det kostet deg <b>" . game::format_cash($price) . "</b> og " . game::format_number($points) . " poeng.");
            redirect::handle();
        }
        ess::$b->page->add_message("Ukjent reisemetode.", "error");
        redirect::handle();
    }
Esempio n. 10
0
$sort->append("asc", "Sist aktiv", "ses_last_time");
$sort->append("desc", "Sist aktiv", "ses_last_time DESC");
$sort->append("asc", "Hits", "ses_hits");
$sort->append("desc", "Hits", "ses_hits DESC");
$sort->append("asc", "Rank", "ses_points");
$sort->append("desc", "Rank", "ses_points DESC");
$sort->set_active(getval("sort"), 7);
function like_search($value)
{
    return strtr($value, array('_' => '\\_', '%' => '\\%', '*' => '%', '?' => '_'));
}
$wc = mb_strpos($ip, "*") !== false || mb_strpos($ip, "?") !== false;
// hent data
$pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 200);
$sort_info = $sort->active();
$result = $pagei->query("SELECT ses_id, ses_u_id, ses_active, ses_created_time, ses_last_time, ses_logout_time, ses_hits, ses_points, ses_last_ip, u_email, u_access_level, ses_browsers, up_name, up_id, up_access_level FROM sessions LEFT JOIN users ON u_id = ses_u_id LEFT JOIN users_players ON up_id = u_active_up_id WHERE ses_last_ip LIKE " . like_search(\Kofradia\DB::quote($ip)) . " ORDER BY {$sort_info['params']}");
// ingen treff?
if ($result->rowCount() == 0) {
    echo '
<p>Ingen treff.</p>';
} else {
    echo '
<p>Antall treff: ' . $pagei->total . '</p>
<table class="table nowrap" width="100%" style="font-size: 11px">
	<thead>
		<tr>
			<th>Økt ID ' . $sort->show_link(0, 1) . '</th>
			<th>Bruker ID ' . $sort->show_link(2, 3) . '</th>' . ($wc ? '
			<th>IP-adresse ' . $sort->show_link(4, 5) . '</th>' : '') . '
			<th>Brukerens aktive spiller</th>
			<th>Aktiv</th>
Esempio n. 11
0
    /**
     * Vis detaljer
     */
    protected function show_details()
    {
        if (empty($_GET['up_id']) || !access::has("mod")) {
            redirect::handle("etterlyst");
        }
        // last inn spiller
        $up_id = (int) $_GET['up_id'];
        $up = player::get($up_id);
        if (!$up) {
            ess::$b->page->add_message("Ingen spiller med id {$up_id}.", "error");
            redirect::handle("etterlyst");
        }
        $pagei = new pagei(pagei::PER_PAGE, 30, pagei::ACTIVE_GET, 'side');
        $result = $pagei->query("SELECT hl_id, hl_up_id, hl_by_up_id, hl_time, hl_amount, hl_amount_valid FROM hitlist WHERE hl_up_id = {$up->id} AND hl_amount_valid > 0 ORDER BY hl_time DESC");
        echo '
<div class="bg1_c medium">
	<h1 class="bg1">
		Etterlyst - ' . $up->data['up_name'] . '
		<span class="left"></span><span class="right"></span>
	</h1>
	<p class="h_left"><a href="etterlyst">&laquo; Tilbake</a></p>
	<div class="bg1">
		<p>Denne listen viser info om alle som har lagt til dusør på spilleren ' . $up->profile_link() . '.</p>';
        if ($pagei->total == 0) {
            echo '
		<p><b>Det er ingen som har satt dusør på denne spilleren.</b></p>';
        } else {
            echo '
		<table class="table center' . ($pagei->pages == 1 ? ' tablemb' : '') . '">
			<thead>
				<tr>
					<th>Satt av</th>
					<th>Tid</th>
					<th>Opprinnelig dusør</th>
					<th>Gjenstående dusør</th>
				</tr>
			</thead>
			<tbody>';
            $i = 0;
            while ($row = $result->fetch()) {
                echo '
				<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>
					<td><user id="' . $row['hl_by_up_id'] . '" /></td>
					<td>' . ess::$b->date->get($row['hl_time'])->format() . '</td>
					<td class="r">' . game::format_cash($row['hl_amount']) . '</td>
					<td class="r">' . game::format_cash($row['hl_amount_valid']) . '</td>
				</tr>';
            }
            echo '
			</tbody>
		</table>';
            if ($pagei->pages > 1) {
                echo '
		<p class="c">' . $pagei->pagenumbers() . '</p>';
            }
        }
        echo '
	</div>
</div>';
    }
Esempio n. 12
0
// 90 dager
$s_2 = 2880 * 3600;
// 120 dager
$s_3 = 4320 * 3600;
// 180 dager
$expire_1 = $time - $s_1;
$expire_2 = $time - $s_2;
$expire_3 = $time - $s_3;
\Kofradia\DB::get()->exec("\n\tINSERT INTO temp_results (temp_up_id, temp_points)\n\t\tSELECT lc_a_up_id, IF(d1.lcd_data_int = 1,\n\t\t\t{$m_1} * (1 - ({$time} - lc_time) / {$s_1}),\n\t\t\tIF (d1.lcd_data_int = 3,\n\t\t\t\t{$m_3} * (1 - ({$time} - lc_time) / {$s_3}),\n\t\t\t\t{$m_2} * (1 - ({$time} - lc_time) / {$s_2})\n\t\t\t)) AS points\n\t\tFROM log_crew\n\t\t\tJOIN log_crew_data d1 ON d1.lcd_lc_id = lc_id AND d1.lcd_lce_id = {$lcd_lce_id_priority}\n\t\t\tLEFT JOIN log_crew_data d2 ON d2.lcd_lc_id = lc_id AND d2.lcd_lce_id = {$lcd_lce_id_invalidated}\n\t\tWHERE lc_lca_id = {$lca_id} AND lc_time > {$expire} AND (d2.lcd_data_int IS NULL OR d2.lcd_data_int = 0)\n\tON DUPLICATE KEY UPDATE temp_points = temp_points + VALUES(temp_points)");
// vis oversikt
echo '
<div class="bg1_c xsmall">
	<h1 class="bg1">Oversikt over brukere med høy advarselpoeng<span class="left"></span><span class="right"></span></h1>
	<div class="bg1">';
$pagei = new pagei(pagei::PER_PAGE, 30, pagei::ACTIVE_GET, "side");
$result = $pagei->query("\n\tSELECT SUM(temp_points) AS points, active.up_id\n\tFROM temp_results\n\t\tJOIN users_players ref ON temp_up_id = ref.up_id\n\t\tJOIN users ON u_id = ref.up_u_id\n\t\tJOIN users_players active ON u_active_up_id = active.up_id\n\tWHERE u_access_level != 0\n\tGROUP BY active.up_id\n\tORDER BY points DESC");
if ($result->rowCount() == 0) {
    echo '
		<p>Fant ingen spillere.</p>';
} else {
    echo '
		<table class="table tablemt center">
			<thead>
				<tr>
					<th>Aktiv spiller</th>
					<th>Antall poeng</th>
				</tr>
			</thead>
			<tbody>';
    while ($row = $result->fetch()) {
        echo '
Esempio n. 13
0
    /**
     * Vis auksjonen
     */
    protected function show()
    {
        // hent budet som leder, evt. vant
        $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT ab_up_id, ab_bid, ab_time\n\t\t\tFROM auksjoner_bud\n\t\t\tWHERE ab_a_id = {$this->auksjon->id} AND ab_active != 0\n\t\t\tORDER BY ab_time DESC\n\t\t\tLIMIT 1");
        $bud_lead = $result->fetch();
        // hent alle budene
        $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 30);
        $result = $pagei->query("\n\t\t\tSELECT ab_up_id, ab_bid, ab_time, ab_active\n\t\t\tFROM auksjoner_bud\n\t\t\tWHERE ab_a_id = {$this->auksjon->id}\n\t\t\tORDER BY ab_time DESC");
        $bud = array();
        while ($row = $result->fetch()) {
            $bud[] = $row;
        }
        // sjekk om vi har bud
        $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT ab_bid, ab_time\n\t\t\tFROM auksjoner_bud\n\t\t\tWHERE ab_a_id = {$this->auksjon->id} AND ab_up_id = {$this->up->id} AND ab_active != 0");
        $bud_own = $result->fetch();
        $bud_own_locked = $this->auksjon->data['a_type'] == auksjon::TYPE_KULER || time() > $bud_own['ab_time'] + auksjon::MAX_TIME_REMOVE;
        $type = auksjon_type::get($this->auksjon->data['a_type']);
        // beregn minstepris
        $minstepris = $bud_lead ? bcadd($bud_lead['ab_bid'], $this->auksjon->data['a_bid_jump']) : $this->auksjon->data['a_bid_start'];
        // sett opp tittel/beskrivelse
        $title = htmlspecialchars($this->auksjon->data['a_title']);
        // firma/familie?
        if ($this->auksjon->data['a_type'] == auksjon::TYPE_FIRMA) {
            $ff_id = $this->auksjon->params->get("ff_id");
            if ($ff_id) {
                $title = '<a href="' . ess::$s['relative_path'] . '/ff/?ff_id=' . $ff_id . '">' . $title . '</a>';
            }
        }
        echo '
<div class="col2_w" style="margin: 40px"> 
	<div class="col_w left" style="width: 45%">
		<div class="col" style="margin-right: 20px">
			<div class="bg1_c">
				<h1 class="bg1">Auksjon<span class="left"></span><span class="right"></span></h1>
				<div class="bg1">
					<p class="c"><a href="auksjoner?t=' . $this->auksjon->data['a_type'] . '">Tilbake til oversikt</a></p>
					<dl class="dd_right">
						<dt>Beskrivelse</dt>
						<dd>' . $title . '</dd>' . ($type->have_up ? '
						<dt>Spiller</dt>
						<dd>' . ($this->auksjon->data['a_up_id'] ? '<user id="' . $this->auksjon->data['a_up_id'] . '" />' : 'Ingen spiller') . '</dd>' : '');
        // ikke startet?
        if ($this->auksjon->status == auksjon::STATUS_WAIT) {
            echo '
						<dt>Auksjonsstart</dt>
						<dd>' . ess::$b->date->get($this->auksjon->data['a_start'])->format(date::FORMAT_SEC) . '<br />' . game::counter($this->auksjon->data['a_start'] - time(), true) . '</dd>
						<dt>Auksjonslutt</dt>
						<dd>' . ess::$b->date->get($this->auksjon->data['a_end'])->format(date::FORMAT_SEC) . '</dd>';
        } else {
            echo '
						<dt>Auksjonslutt</dt>
						<dd>' . ess::$b->date->get($this->auksjon->data['a_end'])->format(date::FORMAT_SEC) . ($this->auksjon->status == auksjon::STATUS_ACTIVE ? '<br />' . game::counter($this->auksjon->data['a_end'] - time(), true) : '') . '</dd>';
        }
        // vis info
        echo '
						<dt>Budstart</dt>
						<dd>' . game::format_cash($this->auksjon->data['a_bid_start']) . '</dd>
						<dt>Minste budøkning</dt>
						<dd>' . game::format_cash($this->auksjon->data['a_bid_jump']) . '</dd>';
        // status
        if ($this->auksjon->status == auksjon::STATUS_WAIT) {
            // ikke startet
            echo '
						<dt>Status</dt>
						<dd>Ikke startet</dd>';
        } elseif ($this->auksjon->status == auksjon::STATUS_FINISHED) {
            // ferdig
            echo '
						<dt>Status</dt>
						<dd>Avsluttet</dd>
						<dt>Vunnet av</dt>';
            // vinnerbudet
            if ($bud_lead) {
                echo '
						<dd><user id="' . $bud_lead['ab_up_id'] . '" /></dd>';
            } else {
                echo '
						<dd>Ingen vinner</dd>';
            }
        } else {
            // pågår
            echo '
						<dt>Status</dt>
						<dd>Pågår nå</dd>';
        }
        echo '
					</dl>';
        // mer info?
        if (!empty($this->auksjon->data['a_info'])) {
            echo '
					<p>' . game::bb_to_html($this->auksjon->data['a_info']) . '</p>';
        }
        echo '
				</div>
			</div>
		</div>
	</div>
	<div class="col_w right" style="width: 55%">
		<div class="col" style="margin-left: 20px">
			<div class="bg1_c">
				<h1 class="bg1">Bud<span class="left"></span><span class="right"></span></h1>
				<div class="bg1">';
        // auksjon pågår -- legg til nye bud
        if ($this->auksjon->status == auksjon::STATUS_ACTIVE) {
            $own = $this->auksjon->data['a_up_id'] == $this->up->id;
            if (!$own) {
                // første budet?
                if (!$bud_lead) {
                    echo '
					<p>Dette er det første budet på denne auksjonen. Du må derfor by minimum ' . game::format_cash($this->auksjon->data['a_bid_start']) . '.</p>';
                } else {
                    echo '
					<p>Du må by minimum ' . game::format_cash($this->auksjon->data['a_bid_jump']) . ' høyere enn ' . ($bud_lead['ab_up_id'] == $this->up->id ? 'ditt forrige bud' : 'det forrige budet til <user id="' . $bud_lead['ab_up_id'] . '" />') . ' på ' . game::format_cash($bud_lead['ab_bid']) . '.</p>';
                }
                // bud på kuler kan ikke trekkes tilbake
                // TODO: om noe kan trekkes tilbake bør bestemmes av auksjonen, ikke logikken i koden her
                if ($this->auksjon->data['a_type'] == auksjon::TYPE_KULER) {
                    echo '
					<p><b>Budet er bindende og kan ikke trekkes tilbake!</b></p>
					<p>Dersom noen byr over deg, vil budet ditt bli inaktivt og du får pengene igjen.</p>';
                } else {
                    echo '
					<p>Du kan trekke tilbake budet ditt innen det har gått ' . game::timespan(auksjon::MAX_TIME_REMOVE, game::TIME_FULL) . '. Etter ' . game::timespan(auksjon::MAX_TIME_REMOVE, game::TIME_FULL | game::TIME_NOBOLD) . ' er budet ditt bindende og det kan ikke trekkes tilbake.</p>
					<p>Dersom noen byr over deg, vil budet ditt bli inaktivt og du får pengene igjen etter at budet har stått i ' . game::timespan(auksjon::MAX_TIME_REMOVE, game::TIME_FULL | game::TIME_NOBOLD) . '.</p>';
                }
            }
            // har vi bydd?
            if ($bud_own) {
                // gått ut på tid?
                if ($bud_own_locked) {
                    echo '
					<p>Du har bydd på denne auksjonen og ditt bud er bindende.</p>';
                } else {
                    // kan trekke budet
                    echo '
					<p>Du har bydd på denne auksjonen og kan fortsatt trekke tilbake ditt bud.</p>';
                }
                // vis budøkning
                echo '
					<form action="" method="post">
						<dl class="dd_right">
							<dt>Øk bud til</dt>
							<dd><input class="styled w100 r" type="text" name="amount" value="' . game::format_cash($minstepris) . '" /></dd>
						</dl>
						<p class="c">' . show_sbutton("Øk bud", 'name="raise_bid"') . (!$bud_own_locked ? ' ' . show_sbutton("Slett bud", 'name="del_bid"') : '') . '</p>
					</form>';
            } elseif (!$own) {
                // har ikke noe våpen?
                if ($this->auksjon->data['a_type'] == auksjon::TYPE_KULER && !$this->up->weapon) {
                    echo '
					<p>Du har ikke noe våpen og kan ikke delta i denne auksjonen.</p>';
                } elseif ($this->auksjon->data['a_type'] == auksjon::TYPE_FIRMA && $this->up->get_health_percent() < player::FF_HEALTH_LOW * 100) {
                    echo '
					<p>Du har for lav helse til å kunne by på et firma.</p>';
                } else {
                    echo '
					<form action="" method="post">
						<dl class="dd_right">
							<dt>Legg inn bud</dt>
							<dd><input class="styled w100 r" type="text" name="amount" value="' . game::format_cash($minstepris) . '" /></dd>
						</dl>
						<p class="c">' . show_sbutton("Legg inn bud", 'name="place_bid"') . '</p>
					</form>';
                }
            }
        }
        // vis budene
        if (count($bud) == 0) {
            if ($this->auksjon->status != auksjon::STATUS_WAIT) {
                echo '
					<p class="c">Ingen bud er lagt inn i denne auksjonen.</p>';
            }
        } else {
            ess::$b->page->add_css('.bud_inactive { text-decoration: line-through; color: #888 }');
            echo '
					<dl class="dd_right">';
            // gå gjennom alle budene
            foreach ($bud as $row) {
                echo '
						<dt' . ($row['ab_active'] == 0 ? ' class="bud_inactive"' : '') . '>' . ess::$b->date->get($row['ab_time'])->format("H:i:s") . ': <user id="' . $row['ab_up_id'] . '" /></dt>
						<dd' . ($row['ab_active'] == 0 ? ' class="bud_inactive"' : '') . '>' . game::format_cash($row['ab_bid']) . '</dd>';
            }
            echo '
					</dl>';
            if ($pagei->pages > 1) {
                echo '
					<p class="c">' . $pagei->pagenumbers() . '</p>';
            }
        }
        echo '
				</div>
			</div>
		</div>
	</div>
</div>';
    }
Esempio n. 14
0
    /**
     * Sett opp innhold til en enhet i noden
     * @param array $unit
     */
    public static function content_build($unit)
    {
        switch ($unit['ni_type']) {
            case 1:
                // bb
                $content = '
<div class="p">' . game::format_data($unit['nir_content']) . '</div>';
                break;
            case 2:
                // html
            // html
            case 3:
                // htmleditor
                $content = '
' . $unit['nir_content'];
                break;
            case 5:
                // gallery_section
                $content = '
<p>Not implementet.</p>';
                break;
            case 6:
                // gallery_item
                $content = '
<p>Not implementet.</p>';
                break;
            case 7:
                // news
                $params = new params($unit['nir_params']);
                // hvilke tags?
                $tags = new container($params->get("tags"));
                $page_name = "ni_s_{$unit['ni_id']}";
                $pageinfo = new pagei(PAGEI_ACTIVE_GET, $page_name, PAGEI_PER_PAGE, max(1, min(50, $params->get("per_page", 15))));
                // hent nyhetene
                if (count($tags->items) > 0) {
                    $tags_db = array_map(array(ess::$b->db, "quote"), $tags->items);
                    // filter via tags
                    $query = "n_id, n_title, n_content, n_userid, n_time, n_visible, n_type FROM news, news_tags WHERE n_visible > 0 AND n_id = nt_n_id AND nt_tagname IN (" . implode(", ", $tags_db) . ") GROUP BY n_id ORDER BY n_time DESC";
                } else {
                    $query = "n_id, n_title, n_intro, LEFT(n_content, 5) AS n_content, n_userid, n_time, n_visible, n_type FROM news WHERE n_visible > 0 ORDER BY n_time DESC";
                }
                $result = $pageinfo->query($query);
                $content = '';
                if ($result->rowCount() == 0) {
                    $content .= '
<p>Ingen nyheter.</p>';
                } else {
                    while ($row = $result->fetch()) {
                        $content .= '
<h2>' . htmlspecialchars($row['n_title']) . '</h2>
<p class="h_right">' . ess::$b->date->get($row['n_time'])->format() . '</p>
<div class="p">' . game::format_data($row['n_intro']) . '</div>';
                        // mer info?
                        if (mb_strlen($row['n_content']) > 0) {
                            $content .= '
<p><a href="' . game::address(PHP_SELF, $_GET, array(), array("show_n" => $row['n_id'])) . '">Les mer &raquo;</a></p>';
                        }
                    }
                    if (!$params->get("hide_select_page") && $pageinfo->pages > 1) {
                        $content .= '
<p>' . game::pagenumbers(game::address(PHP_SELF, $_GET, array($page_name)), game::address(PHP_SELF, $_GET, array($page_name), array($page_name => true)) . "=", $pageinfo->pages, $pageinfo->active) . '</p>';
                    }
                }
                break;
            case 8:
                // php include
                $content = '
<p>Not implementet.</p>';
                break;
            default:
                // plaintext
                $content = '
<p>' . htmlspecialchars($unit['nir_content']) . '</p>';
        }
        return $content;
    }
Esempio n. 15
0
    /**
     * Vis pokerhistorikk
     */
    protected function show_stats()
    {
        ess::$b->page->add_title("Historikk");
        ess::$b->page->add_css('
.poker_results tbody td { text-align: center }
.poker_results .vi { color: #F9E600 }
.poker_results .ta { color: #FF0000 }');
        // sideinformasjon - startede runder
        $pagei_s = new pagei(pagei::ACTIVE_GET, "side_s", pagei::PER_PAGE, 15);
        $result_s = $pagei_s->query("\n\t\t\tSELECT poker_id, poker_challenger_up_id, poker_starter_cards, poker_challenger_cards, poker_time_start, poker_time_challenge, poker_cash, poker_state, poker_prize\n\t\t\tFROM poker\n\t\t\tWHERE poker_starter_up_id = {$this->up->id} AND poker_state = 4\n\t\t\tORDER BY poker_time_challenge DESC");
        // sideinformasjon - utfordrede runder
        $pagei_u = new pagei(pagei::ACTIVE_GET, "side_u", pagei::PER_PAGE, 15);
        $result_u = $pagei_u->query("\n\t\t\tSELECT poker_id, poker_starter_up_id, poker_starter_cards, poker_challenger_cards, poker_time_start, poker_time_challenge, poker_cash, poker_state, poker_prize\n\t\t\tFROM poker\n\t\t\tWHERE poker_challenger_up_id = {$this->up->id} AND poker_state = 4\n\t\t\tORDER BY poker_time_challenge DESC");
        // antall totalt
        $total = $pagei_s->total + $pagei_u->total;
        putlog("PROFILVIS", "%c7%bVIS-POKER-HISTORIE:%b%c %u" . login::$user->player->data['up_name'] . "%u viste pokerhistorien ({$_SERVER['REQUEST_URI']})");
        echo '
<div class="bg1_c small">
	<h1 class="bg1">Din pokerhistorie<span class="left"></span><span class="right"></span></h1>
	<p class="h_left"><a href="poker">&laquo; Tilbake</a></p>
	<div class="bg1">
		<p class="c">Pokerstatistikken viser kun pokerrunder ca. 90 dager tilbake i tid.</p>';
        // ingen runder?
        if ($total == 0) {
            echo '
		<p class="c">Ingen pokerrunder er registrert på deg.</p>';
        } else {
            echo '
		<p class="c">Totalt finnes det <b>' . game::format_number($total) . '</b> pokerrunde' . ($total == 1 ? '' : 'r') . '.</p>';
        }
        echo '
	</div>
</div>';
        if ($total > 0) {
            // startede pokerrunder
            echo '
	<div class="bg1_c xlarge">
		<h2 class="bg1" id="startede">Mine startede pokerrunder<span class="left2"></span><span class="right2"></span></h2>
		<div class="bg1">';
            if ($pagei_s->total == 0) {
                echo '
			<p class="c">Du har ikke aldri startet noen pokerrunder.</p>';
            } else {
                echo '
			<p class="c">Du har totalt startet <b>' . game::format_number($pagei_s->total) . '</b> pokerrunde' . ($pagei_s->total == 1 ? '' : 'r') . '.</p>
			<table class="table center poker_results" width="100%">
				<thead>
					<tr>
						<th>Motstander</th>
						<th>Tid</th>
						<th>Din/motstanderens kombinasjon</th>
						<th>Beløp</th>
						<th>Resultat</th>
					</tr>
				</thead>
				<tbody>';
                $i = 0;
                while ($row = $result_s->fetch()) {
                    echo $this->stats_row($row, true, ++$i);
                }
                echo '
				</tbody>
			</table>
			<p class="c">' . $pagei_s->pagenumbers(game::address("poker", $_GET, array("side_s")) . "#startede", game::address("poker", $_GET, array("side_s"), array("side_s" => "_pageid_")) . "#startede") . '</p>';
            }
            echo '
		</div>
	</div>';
            // startede pokerrunder
            echo '
	<div class="bg1_c xlarge">
		<h2 class="bg1" id="utfordrede">Mine utfordrede pokerrunder<span class="left2"></span><span class="right2"></span></h2>
		<div class="bg1">';
            if ($pagei_u->total == 0) {
                echo '
			<p class="c">Du har ikke aldri utfordret noen pokerrunder.</p>';
            } else {
                echo '
			<p class="c">Du har totalt utfordret <b>' . game::format_number($pagei_u->total) . '</b> pokerrunde' . ($pagei_u->total == 1 ? '' : 'r') . '.</p>
			<table class="table center poker_results" width="100%">
				<thead>
					<tr>
						<th>Motstander</th>
						<th>Tid</th>
						<th>Din/motstanderens kombinasjon</th>
						<th>Beløp</th>
						<th>Resultat</th>
					</tr>
				</thead>
				<tbody>';
                $i = 0;
                while ($row = $result_u->fetch()) {
                    echo $this->stats_row($row, false, ++$i);
                }
                echo '
				</tbody>
			</table>
			<p class="c">' . $pagei_u->pagenumbers(game::address("poker", $_GET, array("side_u")) . "#utfordrede", game::address("poker", $_GET, array("side_u"), array("side_u" => "_pageid_")) . "#utfordrede") . '</p>';
            }
            echo '
		</div>
	</div>';
        }
    }
Esempio n. 16
0
    /**
     * Vis fengsel
     */
    protected function show()
    {
        // er vi i fengsel nå?
        if ($wait = $this->up->fengsel_wait()) {
            ess::$b->page->add_js_domready('$("fengsel_dusor").focus();');
            echo '
<div class="bg1_c xsmall">
	<h1 class="bg1">Du er i fengsel<span class="left"></span><span class="right"></span></h1>
	<p class="h_right"><a href="node/16">Hjelp</a></p>
	<div class="bg1">
		<p>Du befinner deg for øyeblikket i fengsel og slipper ut om ' . game::counter($wait, true) . '.</p>' . (!$this->up->is_nostat() ? '
		<form action="" method="post">
			<input type="hidden" name="sid" value="' . login::$info['ses_id'] . '" />
			<input type="hidden" name="expire" value="' . $this->up->data['up_fengsel_time'] . '" />
			<dl class="dd_right">
				<dt>Dusør for å bryte deg ut</dt>
				<dd><input type="text" class="styled w80" name="amount" id="fengsel_dusor" value="' . game::format_cash($this->up->data['up_fengsel_dusor']) . '" /></dd>
			</dl>
			<p class="c">' . show_sbutton($this->up->data['up_fengsel_dusor'] > 0 ? "Endre dusør" : "Sett dusør", 'name="dusor"') . '</p>
			<p class="c">Spilleren som bryter ut mottar kun ' . self::DUSOR_PROFIT * 100 . ' % av dusøren.</p>
		</form>' : '') . '
	</div>
</div>';
        }
        // sortering
        $sort = new sorts("sort");
        $sort->append("asc", "Spiller", "up_name");
        $sort->append("desc", "Spiller", "up_name DESC");
        $sort->append("asc", "Wanted nivå", "up_wanted_level, up_fengsel_time DESC");
        $sort->append("desc", "Wanted nivå", "up_wanted_level DESC, up_fengsel_time DESC");
        $sort->append("asc", "Tid igjen", "up_fengsel_time");
        $sort->append("desc", "Tid igjen", "up_fengsel_time DESC");
        $sort->set_active(requestval("sort"), 5);
        // hent folk i fengsel
        $sort_info = $sort->active();
        $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 15);
        $result = $pagei->query("\n\t\t\tSELECT up_id, up_name, up_access_level, up_fengsel_time, up_fengsel_num, up_fengsel_dusor, ROUND(up_fengsel_dusor * " . self::DUSOR_PROFIT . ") up_fengsel_dusor_get, up_wanted_level\n\t\t\tFROM users_players\n\t\t\tWHERE up_fengsel_time > " . time() . " AND up_access_level != 0\n\t\t\tORDER BY {$sort_info['params']}");
        $num = $result->rowCount();
        echo '
<div class="bg1_c ' . ($num == 0 ? 'xsmall' : 'xlarge') . '">
	<h1 class="bg1">Fengsel<span class="left"></span><span class="right"></span></h1>
	<p class="h_right"><a href="node/16">Hjelp</a></p>
	<div class="bg1">
		<form action="" method="post">
			<p class="c dark">Ditt wanted nivå er på ' . game::format_number($this->up->data['up_wanted_level'] / 10, 1) . ' %.</p>';
        if ($num == 0) {
            echo '
			<p class="c dark">Ingen er i fengselet for øyeblikket.</p>
			<p class="c"><a href="' . htmlspecialchars(game::address("fengsel", $_GET)) . '" class="button">Oppdater</a></p>';
        } else {
            echo '
			<table class="table center" width="100%">
				<thead>
					<tr>
						<th>Spiller ' . $sort->show_link(0, 1) . '</th>
						<th>Wanted<br />nivå ' . $sort->show_link(2, 3) . '</th>
						<th>Utbrytning<br />sannsynlighet</th>
						<th>Ca. poeng</th>
						<th>Dusør</th>
						<th>Tid igjen ' . $sort->show_link(4, 5) . '</th>
					</tr>
				</thead>
				<tbody>';
            $i = 0;
            while ($row = $result->fetch()) {
                $prefix = "";
                $attr = new attr("class");
                if (++$i % 2 == 0) {
                    $attr->add("color");
                }
                if (!$this->up->fengsel_check()) {
                    $attr->add("box_handle");
                    $prefix = '<input type="radio" name="up_id" value="' . $row['up_id'] . '_' . $row['up_fengsel_time'] . '_' . $row['up_fengsel_dusor'] . '" /> ';
                }
                $time = $row['up_fengsel_time'] - time();
                $prob = self::calc_prob($time, $row['up_wanted_level'] / 10);
                $points = self::calc_points($prob);
                echo '
					<tr' . $attr->build() . '>
						<td>' . $prefix . game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level']) . '</td>
						<td class="c">' . game::format_number($row['up_wanted_level'] / 10, 1) . ' %</td>
						<td class="c">' . game::format_number($prob, 1) . ' %</td>
						<td class="c">' . game::format_num($points) . '</td>
						<td class="r nowrap">' . game::format_cash($row['up_fengsel_dusor_get']) . '</td>
						<td class="r">' . game::counter($time) . '</td>
					</tr>';
            }
            echo '
				</tbody>
			</table>
			<p class="c">' . (($wait = $this->up->fengsel_wait()) == 0 ? '
				' . show_sbutton("Bryt ut", 'name="brytut"') : '
				Du er i fengsel og slipper ut om ' . game::counter($wait, true) . '.
			</p>
			<p class="c">') . '
				<a href="' . htmlspecialchars(game::address("fengsel", $_GET)) . '" class="button">Oppdater</a>
			</p>';
            // flere sider?
            if ($pagei->pages > 1) {
                echo '
			<div class="hr"></div>
			<p class="c">
				' . $pagei->pagenumbers() . '
			</p>';
            }
        }
        echo '
		</form>
	</div>
</div>';
        // testing
        if (!MAIN_SERVER || access::is_nostat() && access::has("mod")) {
            echo '
<div class="bg1_c xxsmall bg1_padding">
	<h1 class="bg1">' . (MAIN_SERVER ? 'No-stat' : 'Testing') . '<span class="left"></span><span class="right"></span></h1>
	<div class="bg1">
		<form action="" method="post">' . ($this->up->fengsel_check() ? '
			<p class="c">' . show_sbutton("Gå ut av fengsel", 'name="remove"') . '</p>' : '
			<dl class="dd_right dl_2x">
				<dt>Tid</dt>
				<dd><input type="text" name="time" value="' . htmlspecialchars(postval("time", 20)) . '" class="styled w40" /> sekunder</dd>
			</dl>
			<p class="c">' . show_sbutton("Gå inn i fensgel") . '</p>') . '
		</form>
	</div>
</div>';
        }
    }
Esempio n. 17
0
$data = "";
if (postval("a") == "to") {
    $data .= '
<p class="c">Andre brukere som har rapportert denne brukeren.</p>';
    $where = " AND r_up_id = up_id";
} elseif (postval("a") == "from") {
    $data .= '
<p class="c">Rapporteringer som brukeren selv har opprettet.</p>';
    $where = " AND r_source_up_id = up_id";
} else {
    $data .= '
<p class="c">Alle rapporteringer denne brukeren er involvert i.</p>';
    $where = " AND (r_source_up_id = up_id OR r_up_id = up_id)";
}
$pagei = new pagei(pagei::ACTIVE_POST, "s", pagei::PER_PAGE, 10);
$result = $pagei->query("\n\tSELECT r_id, r_source_up_id, r_up_id, r_type, r_type_id, r_time, r_note, r_state, r_crew_up_id, r_crew_note, r_crew_time\n\tFROM rapportering, users_players\n\tWHERE up_u_id = {$user->id}{$where}\n\tORDER BY IFNULL(r_crew_time, r_time) DESC");
if ($pagei->total == 0) {
    ajax::html(parse_html($data . '
<p class="c">Ingen oppføringer ble funnet.</p>'));
}
$raps = array();
while ($row = $result->fetch()) {
    $raps[] = $row;
}
rapportering::generate_prerequisite($raps);
$data .= '
<p class="c">' . $pagei->pagenumbers_ajax() . '</p>';
foreach ($raps as $row) {
    $data .= '
<div class="rap_wrap">
	<p class="rap_time">Innsendt <span>' . ess::$b->date->get($row['r_time'])->format() . '</span></p>
Esempio n. 18
0
    /**
     * Vis logg
     */
    protected function show()
    {
        $ff_reset = $this->ff->data['ff_time_reset'] && !$this->ff->mod ? " AND ffl_time > {$this->ff->data['ff_time_reset']}" : "";
        // finn ut hva som er tilgjengelig
        $result = \Kofradia\DB::get()->query("SELECT DISTINCT ffl_type FROM ff_log WHERE ffl_ff_id = {$this->ff->id}{$ff_reset}");
        $in_use = array();
        while ($row = $result->fetch()) {
            $in_use[] = $row['ffl_type'];
        }
        $tilgjengelig = array();
        foreach (ff::$log_id as $id => $name) {
            if (in_array($id, $in_use)) {
                $tilgjengelig[] = $id;
            }
        }
        $i_bruk = $tilgjengelig;
        // filter
        $filter = array();
        $matches = false;
        foreach ($_GET as $name => $val) {
            if (preg_match("/^f([0-9]+)\$/Du", $name, $matches) && in_array($matches[1], $tilgjengelig)) {
                $filter[] = $matches[1];
            }
        }
        if (count($filter) == 0) {
            $filter = false;
        } else {
            $i_bruk = $filter;
            $filter = true;
            ess::$b->page->add_message("Du har aktivert et filter og viser kun bestemte enheter.");
        }
        if ($filter) {
            ess::$b->page->add_css('.filter_inactive { display: none }');
        } else {
            ess::$b->page->add_css('.filter_active { display: none }');
        }
        if (count($tilgjengelig) > 0) {
            echo '
<form action="" method="get">
	<input type="hidden" name="ff_id" value="' . $this->ff->id . '" />
	<div class="section" style="width: 400px" id="filteroptions">
		<h2>Filter</h2>
		<p class="h_right">
			<span class="logg_filters filter_active"><a href="#" class="box_handle_toggle" rel="f[]">Merk alle</a> <a href="javascript:void(0)" onclick="toggle_display(\'.logg_filters\', event)">Skjul filteralternativer</a></span>
			<span class="logg_filters filter_inactive"><a href="#" onclick="toggle_display(\'.logg_filters\', event)">Vis filteralternativer</a></span>
		</p>
		<div class="logg_filters filter_active">
			<table class="table center tablemt" width="100%">
				<tbody>';
            $tbody = new tbody(min(3, count($tilgjengelig)));
            // 3 kolonner
            foreach ($tilgjengelig as $id) {
                $title = ff::$log[ff::$log_id[$id]][1];
                $aktivt = in_array($id, $i_bruk) && $filter;
                $tbody->append('<input type="checkbox" name="f' . $id . '" rel="f[]" value=""' . ($aktivt ? ' checked="checked"' : '') . ' />' . htmlspecialchars($title), 'class="box_handle"');
            }
            $tbody->clean();
            echo '
				</tbody>
			</table>
			<p class="c">' . show_sbutton("Oppdater") . '</p>
		</div>
	</div>
</form>';
        }
        $where = $ff_reset;
        if ($filter) {
            $where .= ' AND ffl_type IN (' . implode(",", $i_bruk) . ')';
        }
        // sideinformasjon - hent radene på denne siden
        $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 30);
        $result = $pagei->query("SELECT SQL_CALC_FOUND_ROWS ffl_id, ffl_time, ffl_type, ffl_data, ffl_extra FROM ff_log WHERE ffl_ff_id = {$this->ff->id}{$where} ORDER BY ffl_time DESC, ffl_id DESC");
        if ($result->rowCount() == 0) {
            echo '
<p class="c">
	Ingen logg meldinger ble funnet.
</p>';
        } else {
            // css
            ess::$b->page->add_css('
.ffl_time {
	color: #AAA;
}');
            // logg meldingene
            $logs = array();
            while ($row = $result->fetch()) {
                $day = ess::$b->date->get($row['ffl_time'])->format(date::FORMAT_NOTIME);
                $data = $this->ff->format_log($row['ffl_id'], $row['ffl_time'], $row['ffl_type'], $row['ffl_data'], $row['ffl_extra']);
                $logs[$day][] = '<span class="ffl_time">' . ess::$b->date->get($row['ffl_time'])->format("H:i") . ':</span> ' . $data;
            }
            foreach ($logs as $day => $items) {
                echo '
<div class="section" style="width: 400px">
	<h2>' . $day . '</h2>';
                foreach ($items as $item) {
                    echo '
	<p>' . $item . '</p>';
                }
                echo '
</div>';
            }
            echo '
<p class="c">
	Viser ' . $pagei->count_page . ' av ' . $pagei->total . ' logg melding' . ($pagei->total == 1 ? '' : 'er');
            if ($pagei->pages > 1) {
                echo '<br />
	' . $pagei->pagenumbers(game::address("logg", $_GET, array("side")) . "#logg", game::address("logg", $_GET, array("side"), array("side" => "_pageid_")) . "#logg");
            }
            echo '
</p>';
        }
    }
Esempio n. 19
0
    /**
     * Vise publiserte utgivelser
     */
    protected function published()
    {
        ess::$b->page->add_title("Utgivelser");
        // hent publiserte utvivelser
        $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 10);
        $ffnp_q = login::$logged_in ? "ffnp_ffn_id = ffn_id AND ffnp_up_id = " . login::$user->player->id : "FALSE";
        $result = $pagei->query("SELECT ffn_id, ffn_published_time, ffn_cost, ffn_title, ffn_sold, ffn_description, ffnp_time FROM ff_newspapers LEFT JOIN ff_newspapers_payments ON {$ffnp_q} WHERE ffn_ff_id = {$this->ff->id} AND ffn_published != 0 ORDER BY ffn_published_time DESC");
        echo '
<p class="c">Utgivelser</p>';
        // ingen publiserte utgivelser?
        if ($result->rowCount() == 0) {
            echo '
<p class="c">Ingen utgivelser er publisert.</p>';
        } else {
            echo '
<p class="c">' . $pagei->total . ' utgivelse' . ($pagei->total == 1 ? '' : 'r') . ' er publisert:</p>';
            #$i = $pagei->total - ($pagei->per_page*($pagei->active-1));
            while ($row = $result->fetch()) {
                echo '
<div class="section center w200">
	<h2><a href="avis?ff_id=' . $this->ff->id . '&amp;ffn=' . $row['ffn_id'] . '">' . htmlspecialchars($row['ffn_title']) . '</a></h2>
	<dl class="dd_right">
		<dt>Publisert</dt>
		<dd>' . ess::$b->date->get($row['ffn_published_time'])->format() . '</dd>
		<dt>Solgte utgivelser</dt>
		<dd>' . game::format_number($row['ffn_sold']) . '</dd>
		<dt>Pris</dt>
		<dd>' . game::format_cash($row['ffn_cost']) . '</dd>
		<dt>Kjøpt?</dt>
		<dd>' . ($row['ffnp_time'] ? '<a href="avis?ff_id=' . $this->ff->id . '&amp;ffn=' . $row['ffn_id'] . '">Ja</a> (' . ess::$b->date->get($row['ffnp_time'])->format() . ')' : 'Nei [<a href="avis?ff_id=' . $this->ff->id . '&amp;ffn=' . $row['ffn_id'] . '">Kjøp</a>]') . (access::is_nostat() ? ' (nostat)' : '') . '</dd>
	</dl>
	<div class="p">' . $this->ff->format_description($row['ffn_description']) . '</div>
</div>';
                #$i--;
            }
            // flere sider?
            if ($pagei->pages > 1) {
                echo '
<p class="c">Navigasjon: ' . $pagei->pagenumbers() . '</p>';
            }
        }
    }
Esempio n. 20
0
		<form action="" method="post">
			<dl class="dd_right">
				<dt>Tittel</dt>
				<dd><input type="text" name="title" class="styled w300" value="' . htmlspecialchars(postval("title")) . '" /></dd>
				<dt>Beskrivelse</dt>
				<dd><textarea name="description" rows="10" cols="30" class="w300">' . htmlspecialchars(postval("description")) . '</textarea></dd>
			</dl>
			<p class="c">' . show_sbutton("Legg til") . ' <a href="' . PHP_SELF . '">Avbryt</a></p>
		</form>
	</div>
</div>';
    $_base->page->load();
}
// hent alle
$pagei = new pagei(pagei::ACTIVE_GET, "side");
$result = $pagei->query("SELECT ag_id, ag_title, ag_description, ag_up_id, ag_time FROM available_group ORDER BY ag_time DESC");
echo '
<div class="bg1_c small">
	<h1 class="bg1">Avstemninger<span class="left"></span><span class="right"></span></h1>
	<div class="bg1">';
if ($result->rowCount() == 0) {
    echo '
		<p>Ingen avstemninger er opprettet.</p>';
} else {
    echo '
		<table class="table tablemt" style="width: 100%">
			<thead>
				<tr>
					<th>Tittel</th>
					<th>Beskrivelse</th>
					<th>Opprettet</th>
Esempio n. 21
0
    /**
     * Vis deaktiverte spillere
     */
    protected static function vis_spillere()
    {
        global $__server;
        ess::$b->page->add_title("Deaktiverte brukere");
        // hente listen over brukere
        $pagei = new pagei(pagei::PER_PAGE, 20, pagei::ACTIVE_GET, "side");
        $result = $pagei->query("\n\t\t\tSELECT\n\t\t\t\tu_id, u_email, u_access_level, u_deactivated_time, u_deactivated_up_id, u_deactivated_reason, u_deactivated_note,\n\t\t\t\tup_id, up_name, up_access_level, up_deactivated_time, up_deactivated_up_id, up_deactivated_reason, up_deactivated_note\n\t\t\tFROM\n\t\t\t\tusers\n\t\t\t\tJOIN users_players ON u_id = up_u_id\n\t\t\tWHERE\n\t\t\t\tup_access_level = 0 AND (u_access_level != 0 OR u_deactivated_time != up_deactivated_time)\n\t\t\tORDER BY up_deactivated_time DESC");
        echo '
<h1>Deaktiverte spillere</h1>
<p>Merk: Denne listen viser ikke spillere som har blitt deaktivert samtidig som brukeren ble deaktivert.</p>';
        self::table_header();
        while ($row = $result->fetch()) {
            if ($row['u_access_level'] == 0) {
                echo '
		<tr>
			<td>' . game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level'], true, $__server['relative_path'] . '/min_side?up_id=' . $row['up_id']) . '</td>
			<td class="nowrap r">' . ess::$b->date->get($row['up_deactivated_time'])->format() . '</td>
			<td' . ($row['up_deactivated_up_id'] == $row['up_id'] ? ' class="pcd_self">Ja' : ' class="pcd_crew">Nei') . '</td>
			<td>' . game::format_data($row['up_deactivated_reason']) . '</td>
		</tr>';
            }
        }
        self::table_footer($pagei);
    }
Esempio n. 22
0
<?php

require "config.php";
global $_base, $__server;
$_base->page->add_title("Aktive blokkeringer");
// hent liste
$pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 50);
$result = $pagei->query("SELECT u_id, up_id, up_name, up_access_level, ub_type, ub_time_added, ub_time_expire, ub_reason, ub_note FROM users, users_players, users_ban WHERE u_id = ub_u_id AND u_active_up_id = up_id AND ub_time_expire > " . time() . " ORDER BY ub_time_expire");
echo '
<h1>Aktive blokkeringer</h1>
<p>Denne oversikten viser alle blokkeringer som er satt.</p>';
if ($result->rowCount() == 0) {
    echo '
<p>Ingen blokkeringer for øyeblikket satt.</p>';
} else {
    echo '
<table class="table">
	<thead>
		<tr>
			<th>Bruker/spiller</th>
			<th>Type blokkering</th>
			<th>Ble utestengt</th>
			<th>Utestengt til</th>
			<th>Begrunnelse</th>
			<th>Intern info</th>
		</tr>
	</thead>
	<tbody>';
    $i = 0;
    while ($row = $result->fetch()) {
        $access = access::has(blokkeringer::$types[$row['ub_type']]['access']);
Esempio n. 23
0
    /**
     * Vise komplett liste
     */
    protected function all()
    {
        echo '
<div class="bg1_c medium">
	<h1 class="bg1">Rangeringsoversikt<span class="left"></span><span class="right"></span></h1>
	<div class="bg1">
		<p class="c"><a href="ranklist">&laquo; Vis kun topp-plaseringene</a></p>';
        if (isset($_GET['show_nsu'])) {
            $nsu = "";
            ess::$b->page->add_message("Du viser også brukere som ikke vises på vanlig statistikk!");
        } else {
            $nsu = "up_access_level < " . ess::$g['access_noplay'] . " AND ";
        }
        // finn ut antall spillere
        $result = \Kofradia\DB::get()->query("SELECT COUNT(up_id) FROM users_players WHERE {$nsu}up_access_level != 0");
        $antall_spillere = $result->fetchColumn(0);
        if ($antall_spillere == 0) {
            echo '
		<p>
			Det finnes ingen spillere...?!
		</p>';
        } else {
            // sideoppsett
            $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 50);
            // hent folka..
            $result = $pagei->query("\n\t\t\t\tSELECT up_id, up_name, up_access_level, up_points, up_last_online, upr_rank_pos\n\t\t\t\tFROM users_players\n\t\t\t\t\tLEFT JOIN users_players_rank ON upr_up_id = up_id\n\t\t\t\tWHERE {$nsu}up_access_level != 0\n\t\t\t\tORDER BY up_points DESC");
            $colspan = access::has("mod") ? 6 : 4;
            $e = 0;
            echo '
		<table class="table tablem" width="100%">
			<thead>
				<tr>
					<th>#</th>
					<th>Spillernavn</th>
					<th>Rank</th>
					<th>Sist pålogget</th>' . (access::has("mod") ? '
					<th>Rankpoeng</th>
					<th>&nbsp;</th>' : '') . '
				</tr>
			</thead>
			<tbody>
				<tr>
					<td colspan="' . $colspan . '" class="c">' . $pagei->pagenumbers() . '</td>
				</tr>';
            // startverdi
            $i = $pagei->start;
            $last_rank = 0;
            while ($row = $result->fetch()) {
                $rank = game::rank_info($row['up_points'], $row['upr_rank_pos'], $row['up_access_level']);
                echo '
				<tr' . (++$e % 2 == 0 ? ' class="color"' : '') . '>
					<td class="r">' . ($last_rank != $row['upr_rank_pos'] ? '#' . game::format_number($row['upr_rank_pos']) : '<span style="color: #666">#' . game::format_number($row['upr_rank_pos']) . '</span>') . '</td>
					<td>' . game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level']) . '</td>
					<td class="c">' . $rank['name'] . '</td>
					<td class="r">' . game::timespan($row['up_last_online'], game::TIME_ABS) . '</td>' . (access::has("mod") ? '
					<td class="r">' . game::format_number($row['up_points']) . '</td>
					<td><a href="admin/brukere/finn?up_id=' . $row['up_id'] . '">IP-sjekk</a></td>' : '') . '
				</tr>';
                $last_rank = $row['upr_rank_pos'];
            }
            echo '
				<tr' . (++$e % 2 == 0 ? ' class="color"' : '') . '>
					<td colspan="' . $colspan . '" class="c">' . $pagei->pagenumbers() . '</td>
				</tr>
			</tbody>
		</table>';
        }
        echo '
	</div>
</div>';
    }
Esempio n. 24
0
 // finn ut delene av spørringen
 $user_parts = search_query($user_search, false);
 $text_parts = search_query($text_search);
 // sett opp søkespørringen
 $search = "";
 if (count($user_parts[0]) > 0) {
     $search .= " AND up_name" . implode(" AND up_name", $user_parts[0]);
 }
 if (count($text_parts[0]) > 0) {
     $search .= " AND up_profile_text" . implode(" AND up_profile_text", $text_parts[0]);
 }
 // sortering
 $sort_info = $sort->active();
 $query = "up_id, up_name, up_last_online, up_access_level, up_points, upr_rank_pos FROM users_players LEFT JOIN users_players_rank ON upr_up_id = up_id WHERE 1{$search_online[$search_online_id][1]}{$search_status[$search_status_id][1]}{$search}{$search_ranks_query} ORDER BY {$sort_info['params']}";
 $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 50);
 $result = $pagei->query($query, array_merge($user_parts[2], $text_parts[2]));
 $info = array();
 foreach ($user_parts[1] as $part) {
     $info[] = '<b>Spiller:</b> ' . htmlspecialchars($part);
 }
 foreach ($text_parts[1] as $part) {
     $info[] = '<b>Profiltekst:</b> ' . htmlspecialchars($part);
 }
 if (count($search_ranks_active) > 0 && count($search_ranks_active) != count($search_ranks)) {
     if (count($search_ranks_active) == 1) {
         $info[] = '<b>Rank:</b> ' . htmlspecialchars($search_ranks[$search_ranks_active[0]][0]);
     } else {
         $l = array();
         foreach ($search_ranks_active as $key) {
             $l[] = htmlspecialchars($search_ranks[$key][0]);
         }
Esempio n. 25
0
    /**
     * Vis logger
     */
    protected function show_logs()
    {
        $filters = "";
        if ($this->filter_actions) {
            $filters .= " AND lc_lca_id IN (" . implode(",", $this->filter_actions) . ")";
        }
        if ($this->filter_time_before) {
            $filters .= " AND lc_time <= {$this->filter_time_before}";
        }
        if ($this->filter_time_after) {
            $filters .= " AND lc_time >= {$this->filter_time_after}";
        }
        if ($this->filter_by_up) {
            $filters .= " AND lc_up_id" . (isset($_POST['by_invert']) ? ' NOT' : '') . " IN (" . $this->get_full_up_list($this->filter_by_up) . ")";
        }
        if ($this->filter_a_up) {
            $filters .= " AND lc_a_up_id" . (isset($_POST['a_invert']) ? ' NOT' : '') . " IN (" . $this->get_full_up_list($this->filter_a_up) . ")";
        }
        $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::ACTIVE_POST, "side", pagei::PER_PAGE, 100);
        $result = $pagei->query("\n\t\t\tSELECT lc_id, lc_up_id, lc_time, lc_lca_id, lc_a_up_id, lc_log\n\t\t\tFROM log_crew\n\t\t\tWHERE 1{$filters}\n\t\t\tORDER BY lc_time DESC");
        $rows = array();
        while ($row = $result->fetch()) {
            $rows[$row['lc_id']] = $row;
        }
        $data = crewlog::load_summary_data($rows);
        $logs = array();
        foreach ($data as $row) {
            // hent sammendrag
            $summary = crewlog::make_summary($row);
            $day = ess::$b->date->get($row['lc_time'])->format(date::FORMAT_NOTIME);
            $logs[$day][] = '<p><span class="time"><a href="' . ess::$s['relative_path'] . '/crew/crewlogg?lc_id=' . $row['lc_id'] . '">' . ess::$b->date->get($row['lc_time'])->format("H:i") . '</a>:</span> ' . $summary . '</p>';
        }
        ess::$b->page->add_css('
		h1.crewlog { margin: 30px auto 20px }
		div.crewlog { margin: 0 30px }
		.crewlog .time { color: #888888; padding-right: 5px }
		');
        if ($this->filters_active) {
            echo '
		<p class="c">Fant ' . fwords("%d oppføring", "%d oppføringer", $pagei->total) . ' som passet til filteret.</p>';
        }
        echo '
		<p class="c">' . $pagei->pagenumbers($this->filters_active ? "input" : null) . '</p>
		<div class="crewlog">';
        foreach ($logs as $day => $items) {
            echo '
			<div class="bg1_c">
				<h1 class="bg1">' . $day . '<span class="left2"></span><span class="right2"></span></h1>
				<div class="bg1">
					' . implode('
					', $items) . '
				</div>
			</div>';
        }
        echo '
			<p class="c">' . $pagei->pagenumbers($this->filters_active ? "input" : null) . '</p>
		</div>';
    }
Esempio n. 26
0
 /**
  * Get events
  *
  * @param \pagei
  * @return array(\Kofradia\GitHub\Event, ..)
  */
 public static function getEvents(\pagei $pagei)
 {
     $result = $pagei->query("\n\t\t\tSELECT gl_id, gl_time, gl_event_type, gl_contents, gl_log_count\n\t\t\tFROM github_log\n\t\t\tORDER BY gl_id DESC");
     return static::parseResult($result);
 }
Esempio n. 27
0
        if (!empty($row['so_preinfo'])) {
            echo '
			<div class="p">' . game::bb_to_html($row['so_preinfo']) . '</div>';
        }
        echo '
			<p>Søknadsfrist: ' . $_base->date->get($row['so_expire'])->format(date::FORMAT_SEC) . '</p>
			<p><a href="soknader_vis?so_id=' . $row['so_id'] . '">Vis søknad &raquo;</a></p>
		</div>';
    }
}
echo '
	</div>
</div>';
// hent lukkede søknader
$pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, 20);
$result = $pagei->query("SELECT so_id, so_title, so_expire, so_status FROM soknader_oversikt WHERE so_expire <= " . time() . " AND so_status != 0 ORDER BY so_expire DESC, so_title");
if ($result->rowCount() > 0) {
    echo '
<div class="bg1_c small">
	<h1 class="bg1">
		Tidligere søknader
		<span class="left"></span>
		<span class="right"></span>
	</h1>
	<div class="bg1">
		<dl class="dd_right">';
    $statuses = array(0 => "Inaktiv", 1 => "Ubehandlet", 2 => "Behandles", 3 => "Avsluttet");
    while ($row = $result->fetch()) {
        echo '
			<dt><a href="soknader_vis?so_id=' . $row['so_id'] . '">' . htmlspecialchars($row['so_title']) . '</a> <span class="dark">[' . $statuses[$row['so_status']] . ']</span></dt>
			<dd>Søknadsfrist: ' . $_base->date->get($row['so_expire'])->format(date::FORMAT_SEC) . '</dd>';
Esempio n. 28
0
    /**
     * Spillere tilhørende brukeren
     */
    protected static function page_up()
    {
        // hent spillerene tilhørende denne personen
        $pagei = new pagei(pagei::ACTIVE_GET, "side_up", pagei::PER_PAGE, 15);
        $result = $pagei->query("\n\t\t\tSELECT up_id, up_name, up_access_level, up_created_time, up_points, up_deactivated_time, up_hits, up_cash+up_bank money, upr_rank_pos\n\t\t\tFROM users_players\n\t\t\t\tLEFT JOIN users_players_rank ON upr_up_id = up_id\n\t\t\tWHERE up_u_id = " . page_min_side::$active_user->id . "\n\t\t\tORDER BY up_last_online DESC");
        echo '
		<div class="bg1_c">
			<h1 class="bg1">Spillere tilhørende brukeren<span class="left2"></span><span class="right2"></span></h1>
			<div class="bg1">
				<table class="table ' . ($pagei->pages == 1 ? 'tablem' : 'tablemt') . '" style="width: 100%">
					<thead>
						<tr>
							<th>Spiller</th>
							<th>Opprettet</th>
							<th>Rank</th>
							<th>Penger</th>
							<th>Visninger</th>
							<th>Status</th>
						</tr>
					</thead>
					<tbody>';
        while ($row = $result->fetch()) {
            $rank = game::rank_info($row['up_points'], $row['upr_rank_pos'], $row['up_access_level']);
            echo '
						<tr>
							<td>' . game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level'], true, 'min_side?up_id=' . $row['up_id']) . '</td>
							<td>' . ess::$b->date->get($row['up_created_time'])->format() . '</td>
							<td>' . $rank['name'] . ($rank['orig'] ? '<br />(' . $rank['orig'] . ')' : '') . '</td>
							<td class="r">' . game::format_cash($row['money']) . '</td>
							<td class="r">' . game::format_number($row['up_hits']) . '</td>
							<td>' . ($row['up_access_level'] == 0 ? 'Deaktivert:<br />' . ess::$b->date->get($row['up_deactivated_time'])->format() : 'Status: I live') . '</td>
						</tr>';
        }
        echo '
					</tbody>
				</table>' . ($pagei->pages > 1 ? '
				<p class="c">' . $pagei->pagenumbers() . '</p>' : '') . '
			</div>
		</div>';
    }
Esempio n. 29
0
 // sett opp søkespørringen
 $search = "";
 if (count($title_parts[0]) > 0) {
     $search .= " AND it_title" . implode(" AND it_title", $title_parts[0]);
 }
 if (count($text_parts[0]) > 0) {
     $search .= " AND id_text" . implode(" AND id_text", $text_parts[0]);
 }
 // søke i slettede meldinger?
 $deleted = $show_deleted ? " AND im_deleted = 0" : " AND ir_deleted = 0";
 // sortering
 $sort_info = $sort->active();
 $per_page = login::data_get("innboks_per_side", 15);
 $pagei = new pagei(pagei::ACTIVE_POST, "side", pagei::PER_PAGE, $per_page);
 //  AND it_id = im_it_id{$search_where[$search_where_id][1]}
 $result = $pagei->query("\n\t\t\tSELECT it_id, it_title, ir_up_id, ir_unread, ir_unread, ir_deleted, ir_marked, im_id, im_up_id, im_time, id_text, up.up_name, up.up_access_level\n\t\t\tFROM inbox_threads, inbox_rel, users_players up_ref, inbox_data, inbox_messages LEFT JOIN users_players up ON up.up_id = im_up_id\n\t\t\tWHERE\n\t\t\t\tup_ref.up_u_id = {$user->id}\n\t\t\t\tAND ir_up_id = up_ref.up_id{$deleted}\n\t\t\t\tAND it_id = ir_it_id\n\t\t\t\tAND im_it_id= it_id{$search_from[$search_from_id][1]}\n\t\t\t\tAND im_time <= ir_restrict_im_time\n\t\t\t\tAND im_id = id_im_id{$search}\n\t\t\tORDER BY {$sort_info['params']}", array_merge($title_parts[2], $text_parts[2]));
 $info = array();
 foreach ($title_parts[1] as $part) {
     $info[] = '<b>Tittel:</b> ' . htmlspecialchars($part);
 }
 foreach ($text_parts[1] as $part) {
     $info[] = '<b>Innhold:</b> ' . htmlspecialchars($part);
 }
 if ($search_from_id == 4) {
     if (count($search_from[4][2]) == 1) {
         $info[] = '<b>Avsender:</b> <user="******" />';
     } else {
         $u = array();
         foreach ($search_from[4][2] as $name) {
             $u[] = '<user="******" />';
         }
Esempio n. 30
0
    /**
     * Informasjon for avisfirma
     */
    protected function type_avis()
    {
        // hent publiserte utvivelser
        $pagei = new pagei(pagei::ACTIVE, 1, pagei::PER_PAGE, 2);
        $ffnp_q = $this->up ? "ffnp_ffn_id = ffn_id AND ffnp_up_id = " . $this->up->id : "FALSE";
        $result = $pagei->query("\n\t\t\tSELECT ffn_id, ffn_published_time, ffn_cost, ffn_title, ffn_sold, ffn_description, ffnp_time\n\t\t\tFROM ff_newspapers LEFT JOIN ff_newspapers_payments ON {$ffnp_q}\n\t\t\tWHERE ffn_ff_id = {$this->ff->id} AND ffn_published != 0\n\t\t\tORDER BY ffn_published_time DESC");
        // ingen publiserte utgivelser?
        if ($result->rowCount() == 0) {
            echo '
<p class="c">Ingen avisutgivelser er publisert.</p>';
        } else {
            echo '
<p class="c">' . $pagei->total . ' utgivelse' . ($pagei->total == 1 ? '' : 'r') . ' er publisert:</p>';
            while ($row = $result->fetch()) {
                echo '
<div class="section center w200">
	<h2><a href="avis?ff_id=' . $this->ff->id . '&amp;ffn=' . $row['ffn_id'] . '">' . htmlspecialchars($row['ffn_title']) . '</a></h2>
	<dl class="dd_right">
		<dt>Publisert</dt>
		<dd>' . ess::$b->date->get($row['ffn_published_time'])->format() . '</dd>
		<dt>Solgte utgaver</dt>
		<dd>' . game::format_number($row['ffn_sold']) . '</dd>
		<dt>Pris</dt>
		<dd>' . game::format_cash($row['ffn_cost']) . '</dd>
		<dt>Kjøpt?</dt>
		<dd>' . ($row['ffnp_time'] ? '<a href="avis?ff_id=' . $this->ff->id . '&amp;ffn=' . $row['ffn_id'] . '">Ja</a> (' . ess::$b->date->get($row['ffnp_time'])->format() . ')' : 'Nei [<a href="avis?ff_id=' . $this->ff->id . '&amp;ffn=' . $row['ffn_id'] . '">Kjøp</a>]') . '</dd>
	</dl>
	<div class="p">' . $this->ff->format_description($row['ffn_description']) . '</div>
</div>';
            }
            echo '
<p class="c"><a href="avis?ff_id=' . $this->ff->id . '">Vis alle publiserte utgivelser</a></p>';
        }
        echo '
<div class="hr fhr"><hr /></div>';
    }