Exemplo n.º 1
0
 function format_size($bytes)
 {
     // GB
     if ($bytes >= 1073741824) {
         return game::format_number(round($bytes / 1073741824, 3), 3) . " GB";
     }
     // MB
     if ($bytes >= 1048576) {
         return game::format_number(round($bytes / 1048576, 2), 2) . " MB";
     }
     // KB
     if ($bytes >= 1024) {
         return game::format_number(round($bytes / 1024, 2), 2) . " KB";
     }
     // bytes
     return $bytes . " bytes";
 }
Exemplo n.º 2
0
    /**
     * Vis meldinger
     */
    protected function show_messages()
    {
        // hent meldinger
        $pagei = new pagei(pagei::ACTIVE_GET, "side", pagei::PER_PAGE, login::data_get("innboks_per_side", 15));
        $meldinger = $this->inbox->get_messages($pagei, $this->show_deleted);
        $this->css();
        echo '
<div style="margin-top: 1em; font-size: 15px">
	<h1' . ($pagei->active > 1 && ($show_deleted = false ? ' id="scroll_here"' : '')) . ' style="float: left; margin-top: 0">Meldinger</h1>
	<p class="h_right" style="margin: 10px 0 0 0 !important">
		<a href="innboks_ny">Opprett ny melding</a>' . ($pagei->total > 0 ? '
		<a href="' . htmlspecialchars($this->addr(null, null, "innboks_sok")) . '">Søk</a>' : '') . '
	</p>
</div>';
        // ingen meldinger å vise?
        if (!$meldinger) {
            echo '
<p class="clear">Du har ingen meldinger i din innboks eller utboks.</p>
<p>Så fort du sender eller mottar en melding vil den komme opp på denne siden.</p>';
        } else {
            $this->js();
            // flere sider?
            if ($pagei->pages > 1) {
                echo '
<p class="c" style="margin: 25px auto 10px; width: 250px">' . $pagei->pagenumbers() . '</p>';
            }
            echo '
<form action="" method="post">
	<table class="table clear" width="100%" id="meldinger">
		<thead>
			<tr>
				<th>Emne (<a href="#" class="box_handle_toggle" rel="it_id[]">Merk alle</a>)</th>
				<th><abbr title="Antall meldinger i meldingstråden">Ant.</abbr></th>
				<th><abbr title="Antall deltakere utenom deg selv">De.</abbr></th>
				<th>Siste</th>
				<th class="nowrap" colspan="1">Tid siste (<a id="skift_tid">veksle</a>)</th>
			</tr>
		</thead>
		<tbody>';
            $i = 0;
            $c = access::has("crewet");
            foreach ($meldinger as $row) {
                $o = $row['up_prev_other'] ? '<user id="' . $row['up_prev_other']['im_up_id'] . '" /> <span class="im_utg">(utgående)</span>' : ($row['up_prev'] && !$row['up_prev'][0] ? '<user id="' . $row['up_prev'][1] . '" />' : (count($row['receivers']) > 1 ? '<user id="' . $row['receivers'][0]['ir_up_id'] . '" /> <span class="im_utg">(utgående)</span>' : '<span class="dark">Ingen</span>'));
                // låst?
                // TODO: Skal ikke tråden se ut som den er låst når man er i crewet? Man har uansett mulighet til å svare når man går inn i tråden
                $locked = false;
                if (!$row['receivers_ok']) {
                    $locked = true;
                } elseif ($row['ir_up_id'] != $this->inbox->u->player->id || !$this->inbox->u->player->active && !$row['receivers_crew']) {
                    $locked = true;
                }
                echo '
			<tr class="box_handle' . ($row['ir_unread'] > 0 ? ' not_viewed' : (++$i % 2 == 0 ? ' color' : '')) . '">
				<td class="it_e">
					<input type="checkbox" name="it_id[]" value="' . $row['it_id'] . '" />
					<a href="innboks_les?id=' . $row['it_id'] . '" class="it_a">
						<span class="it_t_w">
							<span class="it_t">' . htmlspecialchars($row['it_title']) . '</span>' . ($row['ir_unread'] == 1 ? ' <span class="ny">(Ny!)</span>' : ($row['ir_unread'] > 1 ? ' <span class="ny">(' . $row['ir_unread'] . ' nye!)</span>' : '')) . ($row['ir_deleted'] != 0 ? ' <span class="slettet">(Slettet)</span>' : '') . ($locked ? ' <span class="it_locked">(Låst)</span>' : '') . ($row['ir_marked'] != 0 ? '<span class="ir_marked"> (Til oppfølging)</span>' : '') . '
						</span>' . ($row['id_text'] != "" ? '<br />
						<span class="id_text_w"><span class="id_text">' . $row['id_text'] . '</span> <span class="id_up">(' . ($row['up_prev'][0] ? 'meg' : '<user id="' . $row['up_prev'][1] . '" nolink />') . ')</span></span>' : '') . '
					</a>
				</td>
				<td class="c">' . game::format_number($row['num_messages']) . '</td>
				<td class="c">' . (count($row['receivers']) - 1) . '</td>
				<td class="it_u">
					' . $o . '
					<div class="im_deltakere_det hide" rel="' . $row['it_id'] . ',' . $row['ir_marked'] . '">
						<table class="table">
							<thead>
								<tr>
									<th>Spiller</th>
									<th>Antall</th>
									<th>Uleste</th>' . (access::has("mod") ? '
									<th>Vis</th>' : '') . '
									<th>Status</th>
								</tr>
							</thead>
							<tbody>';
                foreach ($row['receivers'] as $r) {
                    echo '
								<tr>
									<td><user id="' . $r['ir_up_id'] . '" /></td>
									<td class="r">' . $r['num_messages'] . '</td>
									<td class="r">' . ($r['ir_unread'] > 0 ? '<b>' . $r['ir_unread'] . '</b>' : $r['ir_unread']) . '</td>' . (access::has("mod") ? '
									<td>' . $r['ir_views'] . '</td>' : '') . '
									<td>' . ($r['up_access_level'] == 0 ? '<span class="dark">Død' . ($c && $r['u_access_level'] != 0 && $r['u_active_up_id'] == $r['ir_up_id'] ? ', men bruker aktiv' : '') . '</span>' : ($r['ir_deleted'] != 0 ? '<span class="dark">Slettet meldingen</span>' : 'Mottar nye meldinger')) . '</td>
								</tr>';
                }
                echo '
							</tbody>
						</table>
					</div>
				</td>
				<td class="it_dato_w">
					<span class="it_dato_f it_dato_hide">' . ess::$b->date->get($row['ir_restrict_im_time'])->format(date::FORMAT_SEC) . '</span>
					<span class="it_dato_f">' . game::timespan($row['ir_restrict_im_time'], game::TIME_ABS) . '</span>
				</td>
			</tr>';
            }
            echo '
		</tbody>
	</table>
	<p style="float: right; line-height: 25px" class="r red">
		' . show_sbutton("Slett merkede meldinger", 'name="slett" onclick="return confirm(\'Er du sikker på at du vil slette de merkede meldingene?\')"') . '<br />
		' . show_sbutton("Slett alle meldingene", 'name="slettalle"') . '
	</p>
</form>
<form action="" method="post">
	<p style="float: left">
		<select name="ps">';
            $list = array(10, 15, 20, 25, 30, 40, 50, 75, 100);
            if (!in_array($pagei->per_page, $list)) {
                $list[] = $pagei->per_page;
                sort($list);
            }
            foreach ($list as $a) {
                echo ' 
			<option value="' . $a . '"' . ($a == $pagei->per_page ? ' selected="selected"' : '') . '>Vis ' . $a . ' meldinger</option>';
            }
            echo '
		</select>
	</p>
</form>';
            // flere sider?
            if ($pagei->pages > 1) {
                echo '
	<p class="c" style="margin: 13px auto 10px; width: 250px">' . $pagei->pagenumbers() . '</p>';
            }
        }
        $this->load_page();
    }
Exemplo n.º 3
0
				</noscript>
			</div>
			<p>Denne listen viser hvem som har vært aktive i løpet av siste ' . game::timespan($time, game::TIME_FULL) . '</p>
		</form>';
// hent brukerne
$result = \Kofradia\DB::get()->query("SELECT up_id, up_name, up_access_level FROM users_players WHERE up_last_online >= " . (time() - $time) . " ORDER BY up_name");
// sett opp alfabetisk liste
$liste = array();
while ($row = $result->fetch()) {
    $liste[mb_strtolower(mb_substr($row['up_name'], 0, 1))][] = game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level']);
}
echo '
		<table class="table tablemb">
			<thead>
				<tr>
					<th colspan="2">Spillere pålogget - ' . game::format_number($result->rowCount()) . ' spiller' . ($result->rowCount() == 1 ? '' : 'e') . '</th>
				</tr>
			</thead>
			<tbody>';
foreach ($liste as $char => $rows) {
    echo '
				<tr>
					<th>' . htmlspecialchars($char) . '</th>
					<td>' . implode(", ", $rows) . '</td>
				</tr>';
}
echo '
			</tbody>
		</table>
	</div>
</div>';
Exemplo n.º 4
0
    $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;
        if (!isset($rounds[$end])) {
            $rounds[$end] = array("time" => $end, "total_lodd" => $row['total_lodd'], "total_users" => $row['total_users'], "users" => array());
        }
        $rounds[$end]['users'][$row['type']] = array($row['lv_up_id'], $row['won']);
    }
    krsort($rounds);
    foreach ($rounds as $round) {
        echo '
		<div class="section">
			<h2>' . $_base->date->get($round['time'])->format() . '</h2>
			<p class="h_right">' . game::format_number($round['total_lodd']) . ' lodd, ' . game::format_number($round['total_users']) . ' spiller' . ($round['total_users'] == 1 ? '' : 'e') . '</p>
			<dl class="dd_right">';
        foreach ($round['users'] as $num => $row) {
            echo '
				<dt>' . $num . ' - <user id="' . $row[0] . '" /></dt>
				<dd>' . game::format_cash($row[1]) . '</dd>';
        }
        echo '
			</dl>
		</div>';
    }
    // vis side
    echo '
		<p class="c">' . $pagei->pagenumbers() . '</p>';
}
echo '
Exemplo n.º 5
0
 function handle_data($cid, $line)
 {
     global $_base;
     $this->debug($cid, "Handling data: {$line}");
     if (!isset($this->sockets[$cid])) {
         $this->debug($cid, "Socket not found. Aborting data check.");
         return;
     }
     #$this->debug($cid, "Data received: " . $line);
     $matches = false;
     if (preg_match('/^:([^ ]+)\\s+(.+?)\\s+(.+?)(?:\\s+:(.+?))?\\r?$/s', $line, $matches)) {
         $from = $matches[1];
         $type = $matches[2];
         $arg = $matches[3];
         $content = isset($matches[4]) ? $matches[4] : '';
         $user = $this->nickinfo($from);
         switch ($type) {
             // nick i bruk
             case "433":
                 $this->handle_error($cid, "Nick is in use..");
                 return;
                 // motd innhold
             // motd innhold
             case "372":
                 $this->debug($cid, "MOTD: " . $content);
                 break;
                 // motd mangler
             // motd mangler
             case "422":
                 #$this->debug($cid, "MOTD mangler");
             #$this->debug($cid, "MOTD mangler");
             case "376":
                 $this->debug($cid, "MOTD avsluttet");
                 // sette som den aktive?
                 if (!$this->connected_cid) {
                     $this->connected_cid = $cid;
                 }
                 // join kanaler
                 foreach ($this->settings['channels'] as $chan) {
                     $args = isset($chan[1]) ? " :" . $chan[1] : "";
                     $this->send_data($cid, "JOIN {$chan[0]}{$args}\n");
                 }
                 // oper
                 if ($this->settings['name'] == "SMAFIA" || $this->settings['name'] == "SMAFIA_BETA") {
                     $this->send_data($cid, "OPER SMAFIA StreetzMafiaBoten\n");
                 }
                 // merk som klar for timers
                 $this->connected = true;
                 break;
                 // invitasjon
             // invitasjon
             case "INVITE":
                 $chan = explode(" ", $arg);
                 if ($chan != "#StreetzMafia" && $chan != "#kofradia") {
                     break;
                 }
                 $this->send_data($cid, "JOIN {$chan[1]}\n");
                 break;
                 // meldinger
             // meldinger
             case "PRIVMSG":
             case "NOTICE":
                 if (($this->settings['name'] == "SMAFIA" || $this->settings['name'] == "SMAFIA_BETA") && $this->irc_info || $this->settings['name'] == "QuakeNet" && $user["nick"] == "henrist" && $user["ident"] == "henrik" && $user["host"] == "hsw.no") {
                     $match = false;
                     $log = true;
                     $break = false;
                     if (substr($content, 0, 3) == ".r ") {
                         $this->send_data($cid, "NOTICE {$user['nick']} :Sending raw data..\n");
                         $this->send_data($cid, substr($content, 3) . "\n");
                         $break = true;
                     } elseif ($content == ".vars") {
                         $this->msg($cid, $arg, "Kofradia Announcer - Loglimit: {$this->loglimit} - Skiptime: " . game::format_number($this->select_delay / 1000, 1) . " ms - Log delay: " . game::format_number($this->timers["CHECKLOG"][1] * 1000) . " ms");
                     } elseif ($content == ".queue") {
                         $w = $this->settings['name'] == "SMAFIA_BETA" ? '1' : " li_network = " . \Kofradia\DB::quote($this->settings['name']);
                         $result = \Kofradia\DB::get()->query("SELECT COUNT(*) FROM log_irc WHERE {$w}");
                         $ant = $result->fetchColumn(0);
                         unset($result);
                         $this->msg($cid, $arg, "Message queue: " . game::format_number($ant));
                     } elseif (preg_match("/^\\.loglimit\\s(\\d+)\$/", $content, $match)) {
                         $num = intval($match[1]);
                         if ($num <= 0) {
                             $msg = "Must be more than 0.";
                         } elseif ($num > 1500) {
                             $msg = "Must be less than or equal to 1500.";
                         } else {
                             $this->loglimit = $num;
                             $msg = "Log limit set to {$num}.";
                         }
                         $this->msg($cid, $arg, $msg);
                     } elseif (preg_match("/^\\.logdelay\\s(\\d+)\$/", $content, $match)) {
                         $num = intval($match[1]);
                         if ($num < 100) {
                             $msg = "Must be more than or equal 100.";
                         } else {
                             $this->timers["CHECKLOG"][1] = $num / 1000;
                             $msg = "Log delay set to " . game::format_number($num / 1000, 1) . " sec.";
                         }
                         $this->msg($cid, $arg, $msg);
                     } elseif ($content == ".logtimer") {
                         $this->timers["CHECKLOG"][2] = 0;
                         $this->next = 0;
                         $msg = "Timer reset.";
                         $this->msg($cid, $arg, $msg);
                     } elseif (preg_match("/^\\.skiptime\\s(\\d+)\$/", $content, $match)) {
                         $num = intval($match[1]);
                         if ($num < 5) {
                             $msg = "Must be more than or equal to 5.";
                         } elseif ($num > 60000) {
                             $msg = "Must be less than or equal to 60000.";
                         } else {
                             $this->select_delay = $num * 1000;
                             $msg = "Skiptime set to {$num}.";
                         }
                         $this->msg($cid, $arg, $msg);
                     } elseif (preg_match("/^\\.s(\\s|\$)/", $content) && ($arg[0] != "#" || $this->connected_cid == $cid)) {
                         if (strstr($content, " ") == " disconnect") {
                             $this->connect = false;
                             $this->msg($cid, $arg, "State set to disconnect.");
                         } else {
                             $this->connect = true;
                             $this->msg($cid, $arg, "State set to connect.");
                         }
                     } elseif (preg_match("/^\\.addbot\\s(.+)\$/", $content, $match) && ($arg[0] != "#" || $this->connected_cid == $cid)) {
                         $info = explode(" ", $match[1], 4);
                         if (count($info) == 4) {
                             $this->clients[] = array("nick" => $info[1], "user" => $info[2], "name" => $info[3], "bind" => $info[0], "tmp" => "");
                             end($this->clients);
                             $key = key($this->clients);
                             $this->msg($cid, $arg, "New bot added to list. (#{$key})");
                         } else {
                             $this->msg($cid, $arg, "Wrong parameter count.");
                         }
                     } elseif (preg_match("/^\\.disconnect (\\d+)\$/", $content, $match)) {
                         if ($cid == $match[1]) {
                             $this->msg($cid, $arg, ":(");
                             $this->debug($cid, "Disconnect command applied.");
                             $this->disconnect($cid);
                             $break = true;
                         }
                     } elseif (preg_match("/^\\.disconnect\$/", $content)) {
                         $this->debug($cid, "Disconnect command applied.");
                         $this->disconnect($cid);
                         $break = true;
                     } elseif (preg_match("/^\\.die\$/", $content)) {
                         $this->debug($cid, "Die!!!");
                         unset($this->clients[$cid]);
                         $this->msg($cid, $arg, "Bye, bye..");
                         $this->disconnect($cid, "Killed in action!");
                         $break = true;
                     } elseif (preg_match("/^\\.die (\\d+)\$/", $content, $match)) {
                         if (isset($this->clients[$match[1]])) {
                             if ($cid != $match[1]) {
                                 $this->msg($cid, $arg, "Lets kill! heaheaha");
                             } else {
                                 $this->msg($cid, $arg, "Bye, bye.. :(");
                             }
                             $this->debug($match[1], "Die!!!");
                             unset($this->clients[$match[1]]);
                             if (isset($this->sockets[$match[1]])) {
                                 $this->disconnect($match[1], "Killed in action!");
                             }
                             if ($cid == $match[1]) {
                                 $break = true;
                             }
                         } else {
                             #$this->msg($cid, $arg, "I don't know that person....?");
                         }
                     } elseif (substr($content, 0, 5) == ".sql " && ($arg[0] != "#" || $this->connected_cid == $cid)) {
                         $query = substr($content, 5);
                         if (strpos($query, ";") !== false || substr($query, 0, 7) != "SELECT ") {
                             $this->send_data($cid, "PRIVMSG {$arg} :Invalid query..\n");
                         } else {
                             //$arg = "mysql --user="******" --pass="******" ".escapeshellarg(DBNAME)." --execute=".escapeshellarg($query);
                             //$val = shell_exec($arg);
                             $this->send_data($cid, "PRIVMSG {$arg} :Executing query..\n");
                             $ok = true;
                             try {
                                 $result = \Kofradia\DB::get()->query($query);
                             } catch (Exception $e) {
                                 $ok = false;
                             }
                             if (!$ok) {
                                 $this->send_data($cid, "PRIVMSG {$arg} :Query failed: " . \Kofradia\DB::get()->errorInfo()[2] . "\n");
                             } else {
                                 if ($result->rowCount() == 0) {
                                     $this->send_data($cid, "PRIVMSG {$arg} :No data in result.\n");
                                 } else {
                                     // list opp feltene
                                     $row = $result->fetch();
                                     $fields = array_keys($row);
                                     $this->send_data($cid, "PRIVMSG {$arg} :Fields: " . implode(", ", $fields) . "\n");
                                     // vis hver rad
                                     $i = 1;
                                     do {
                                         $data = array();
                                         foreach ($row as $value) {
                                             $data[] = preg_replace("/[\r\n]/", "", $value);
                                         }
                                         $this->send_data($cid, "PRIVMSG {$arg} :Row {$i}: " . implode(", ", $data) . "\n");
                                         $i++;
                                     } while ($row = $result->fetch());
                                 }
                                 $this->send_data($cid, "PRIVMSG {$arg} :Query completed..\n");
                             }
                         }
                         $break = true;
                     } else {
                         $log = false;
                     }
                     if ($log) {
                         // logg forespørselen
                         file_put_contents("irclog-" . $this->settings['name'] . ".log", date("r") . " {$user['nick']}!{$user['ident']}@{$user['host']} {$type} {$arg} {$content}\n", FILE_APPEND);
                     }
                     if ($break) {
                         break;
                     }
                 }
                 // ikke kanal melding
                 if (substr($arg, 0, 1) != "#") {
                     if ($user['ident'] != "" && $type == "PRIVMSG") {
                         $this->send_data($cid, "NOTICE {$user['nick']} :Doh?\n");
                     }
                 } else {
                     // aktiv cid?
                     if ($this->connected_cid == $cid) {
                         $info = preg_split("/\\s+/", $content, 2);
                         if (!isset($info[1])) {
                             $info[1] = NULL;
                         }
                         switch ($info[0]) {
                             case "!status":
                                 $time = intval($info[1]);
                                 if ($time == 0 || $time < 0) {
                                     $time = 300;
                                 }
                                 $last = time() - $time;
                                 $result = \Kofradia\DB::get()->query("SELECT COUNT(up_id) FROM users_players WHERE up_last_online >= {$last}");
                                 $ant = game::format_number($result->fetchColumn(0));
                                 unset($result);
                                 $time = game::timespan($time, game::TIME_FULL | game::TIME_NOBOLD);
                                 $this->msg($cid, $arg, "%bAntall pålogget siste {$time}%b: %u{$ant}%u");
                                 break;
                             case "!info":
                                 if ($this->irc_info) {
                                     $this->irc_info->end_node = $arg;
                                     $this->irc_info->parse_request($info[1]);
                                 }
                                 break;
                             case "!search":
                                 $this->node_search($cid, $arg, $info[1]);
                                 break;
                         }
                     }
                 }
                 break;
             default:
                 $this->debug($cid, "UNKNOWN USER DATA: {$line}");
         }
         return;
     }
     $info = explode(" ", $line, 2);
     switch ($info[0]) {
         case "PING":
             $this->debug($cid, "PING PONG");
             $this->send_data($cid, "PONG {$info[1]}");
             break;
         case "ERROR":
             $this->debug($cid, $line);
             $this->handle_error($cid, "Error occured..");
             // koble til på nytt
             #$this->connect($cid);
             break;
         default:
             $this->debug($cid, "UNKNOWN DATA: {$line}");
     }
 }
Exemplo n.º 6
0
                    $td[] = '<td>' . $_base->date->get($row['up_created_time'])->format(date::FORMAT_SEC) . '</td>';
                }
                if (isset($show['email'])) {
                    $td[] = '<td><a href="finn?email=' . urlencode($row['u_email']) . '">' . htmlspecialchars($row['u_email']) . '</a></td>';
                }
                if (isset($show['onlinea'])) {
                    $td[] = '<td>' . $_base->date->get($row['up_last_online'])->format(date::FORMAT_SEC) . '</td>';
                }
                if (isset($show['onliner'])) {
                    $td[] = '<td class="r">' . game::timespan($row['up_last_online'], game::TIME_ABS | game::TIME_SHORT | game::TIME_NOBOLD) . '</td>';
                }
                if (isset($show['hits'])) {
                    $td[] = '<td class="r">' . game::format_number($row['up_hits']) . '</td>';
                }
                if (isset($show['points'])) {
                    $td[] = '<td class="r">' . game::format_number($row['up_points']) . '</td>';
                }
                if (isset($show['cash'])) {
                    $td[] = '<td class="r">' . game::format_cash($row['money']) . '</td>';
                }
                if (isset($show['birth'])) {
                    $birth = explode("-", $row['u_birth']);
                    $td[] = '<td class="r">' . (empty($row['u_birth']) || $row['u_birth'] == "0000-00-00" ? 'Ikke registrert' : intval($birth[2]) . ". " . $_lang['months'][intval($birth[1])] . " " . $birth[0]) . '</td>';
                }
                if (isset($show['banko'])) {
                    $td[] = '<td><input type="radio" name="u1" value="' . $row['up_id'] . '" /></td>';
                    $td[] = '<td><input type="radio" name="u2" value="' . $row['up_id'] . '" /></td>';
                }
                echo '
			<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>
				' . implode("\n\t\t\t\t", $td) . '
Exemplo n.º 7
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>';
    }
Exemplo n.º 8
0
 /**
  * Sett oppdrag som aktivt
  * 
  * @param integer $o_id
  * @return boolean active
  */
 public function active_set($o_id)
 {
     // allerede satt som aktivt?
     if ($this->active && $this->active['o_id'] == $o_id) {
         return false;
     }
     // finnes ikke oppdraget? (må være hentet først for at vi kan fortsette)
     if (!isset($this->oppdrag[$o_id])) {
         return false;
     }
     $oppdrag =& $this->oppdrag[$o_id];
     // ikke aktivt allerede?
     if ($oppdrag['uo_active'] == 0) {
         // sjekk om noen andre oppdrag er aktive
         $result = \Kofradia\DB::get()->query("SELECT uo_o_id, uo_active_time FROM users_oppdrag WHERE uo_up_id = {$this->up->id} AND uo_active != 0 LIMIT 1");
         if ($result->rowCount() > 0) {
             $uo = $result->fetch();
             // et annet oppdrag?
             if ($uo['uo_o_id'] != $oppdrag['o_id']) {
                 // sett riktig aktivt oppdrag
                 if (!isset($this->oppdrag[$uo['uo_o_id']]) && !$this->oppdrag_loaded) {
                     $this->user_load_all();
                 }
                 $this->active_set($uo['uo_o_id']);
                 // må sette alle andre oppdrag som innaktive før vi kan begynne på et nytt oppdrag
                 return false;
             }
             $oppdrag['uo_active'] = 1;
             $oppdrag['uo_active_time'] = $uo['uo_active_time'];
         } else {
             $oppdrag['uo_active'] = 1;
             $oppdrag['uo_active_time'] = time();
             \Kofradia\DB::get()->exec("UPDATE users_oppdrag SET uo_active = 1, uo_active_time = {$oppdrag['uo_active_time']} WHERE uo_up_id = {$this->up->id} AND uo_o_id = {$oppdrag['o_id']}");
         }
     }
     // sett aktivt oppdrag
     if ($this->up->params->get("oppdrag_id") != $oppdrag['o_id']) {
         $params = new params();
         $params->params = $oppdrag;
         $this->up->params->lock();
         $this->up->params->update("oppdrag", $params->build());
         $this->up->params->update("oppdrag_id", $oppdrag['o_id'], true);
     }
     $this->active =& $oppdrag;
     // sett nye triggere
     $this->link_triggers();
     // sjekk om oppdraget er over tiden sin
     $params = $this->params[$oppdrag['o_id']]['o_params'];
     $time_start = $oppdrag['uo_active_time'];
     $time_limit = $params->get("time_limit", oppdrag::DEFAULT_TIME_LIMIT_ACTIVE);
     if ($time_start + $time_limit < time()) {
         // kontroller trigger
         if (isset($this->triggers_id[$o_id])) {
             $trigger = $this->triggers_id[$o_id];
             switch ($params->get("name")) {
                 case "single_poker":
                     // nådde vi beløpet?
                     if ($trigger['status']->get("chips") >= $trigger['trigger']->get("chips")) {
                         $this->success($o_id, 'Du klarte å spille deg opp til ' . game::format_number($trigger['status']->get("chips")) . ' chips i løpet av ' . game::timespan($time_limit, game::TIME_FULL) . ', noe som var mer enn ' . game::format_number($trigger['trigger']->get("chips")) . ' chips. Oppdraget &laquo;$name&raquo; ble vellykket!');
                     } else {
                         $this->failed($o_id, 'Du spilte deg opp til ' . game::format_number($trigger['status']->get("chips")) . ' chips i løpet av ' . game::timespan($time_limit, game::TIME_FULL) . '. Det var mindre enn ' . game::format_cash($trigger['trigger']->get("chips")) . ' chips. Oppdraget &laquo;$name&raquo; ble mislykket.');
                     }
                     break;
             }
         }
         // hvis oppdraget fortsatt er aktivt, sett det som feilet pga. tid
         if (isset($this->oppdrag[$o_id]) && $this->oppdrag[$o_id]['uo_active'] != 0) {
             $this->failed($o_id, 'Du brukte for lang tid på oppdraget &laquo;$name&raquo; og mislykket.');
         }
         return false;
     }
     return true;
 }
Exemplo n.º 9
0
        echo '
		<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>
			<td rowspan="' . $count . '" valign="top"><a href="finn?ip=' . urlencode($row[0]['u_online_ip']) . '">' . htmlspecialchars($row[0]['u_online_ip']) . '</a><br />(' . $count . ' ' . fword("bruker", "brukere", $count) . ')</td>';
        $e = 0;
        foreach ($row as $player) {
            // ny rad?
            if (++$e > 1) {
                echo '
		</tr>
		<tr' . ($i % 2 == 0 ? ' class="color"' : '') . '>';
            }
            $birth = explode("-", $player['u_birth']);
            echo '
			<td>' . game::profile_link($player['up_id'], $player['up_name'], $player['up_access_level']) . '</td>
			<td><a href="finn?email=' . urlencode($player['u_email']) . '">' . htmlspecialchars($player['u_email']) . '</a></td>
			<td>' . $_base->date->get($player['up_created_time'])->format(date::FORMAT_SEC) . '</td>
			<td>' . $_base->date->get($player['up_last_online'])->format(date::FORMAT_SEC) . '</td>
			<td class="r">' . game::timespan($player['up_last_online'], game::TIME_ABS | game::TIME_SHORT | game::TIME_NOBOLD) . '</td>
			<td class="r">' . game::format_number($player['up_hits']) . '</td>
			<td class="r">' . game::format_number($player['up_points']) . '</td>
			<td class="r">' . game::format_cash($player['money']) . '</td>
			<td class="r">' . (empty($player['u_birth']) || $player['u_birth'] == "0000-00-00" ? 'Ikke registrert' : intval($birth[2]) . ". " . $_lang['months'][intval($birth[1])] . " " . $birth[0]) . '</td>';
        }
        echo '
		</tr>';
    }
    echo '
	</tbody>
</table>';
}
$_base->page->load();
Exemplo n.º 10
0
			<th>Sist pålogget ' . $sort->show_link(4, 5) . '</th>
			<th>Rank</th>
			<th>Plassering ' . $sort->show_link(6, 7) . '</th>
		</tr>
	</thead>
	<tbody>';
        $i = 0;
        while ($row = $result->fetch()) {
            $rank = game::rank_info($row['up_points'], $row['upr_rank_pos'], $row['up_access_level']);
            $rank_name = $rank['name'] . ($rank['orig'] ? ' (' . $rank['orig'] . ')' : '');
            echo '
		<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>
			<td>' . game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level']) . '</td>
			<td class="r">' . game::timespan($row['up_last_online'], game::TIME_ABS) . '</td>
			<td>' . $rank_name . '</td>
			<td class="r">' . game::format_number($row['upr_rank_pos']) . '</td>
		</tr>';
        }
        echo '
	</tbody>
</table>';
        // flere sider?
        if ($pagei->pages > 1) {
            echo '
<div class="hr"></div>
<p class="c">
	' . $pagei->pagenumbers() . '
</p>';
        }
    }
}
Exemplo n.º 11
0
    // er kontakt?
    $is_contact = isset(login::$info['contacts'][1][$player['up_id']]) ? 1 : 0;
    // er blokkert?
    $is_block = isset(login::$info['contacts'][2][$player['up_id']]) ? 1 : 0;
}
// som html?
if (isset($_POST['html'])) {
    header("Content-Type: text/html; charset=utf-8");
    echo '<div class="profile_box_wrap">
	<div class="profile_box_left">
		<div class="profile_box_status">
			<p>' . $player['up_name'] . ($mod ? ' <span class="profile_box_type">(' . $player['up_id'] . ')</span>' : '') . ($status == "" ? '' : ' ' . $status) . '</p>
		</div>
		<div class="profile_box_info">
			<p><span class="profile_box_type">Rank:</span> <span class="profile_box_value">' . htmlspecialchars($rank['name'] . ($rank['orig'] ? ' (' . $rank['orig'] . ')' : '')) . '</span></p>' . ($player['up_access_level'] != 0 ? '
			<p><span class="profile_box_type">Wanted nivå:</span> <span class="profile_box_value">' . game::format_number($player['up_wanted_level'] / 10, 1) . ' %</span></p>' : '') . '
			<p><span class="profile_box_type">Sist aktiv:</span> <span class="profile_box_value">' . game::timespan($player['up_last_online'], game::TIME_ABS | game::TIME_PAST | game::TIME_FULL) . '</span></p>
		</div>' . ($mod ? '
		<div class="profile_box_info">
			<p><span class="profile_box_type">Penger:</span> <span class="profile_box_value">' . game::format_cash($player['money']) . '</span></p>
			<p><span class="profile_box_type">E-post:</span> <span class="profile_box_value"><a href="' . $__server['relative_path'] . '/admin/brukere/finn?email=' . urlencode($player['u_email']) . '" title="Finn brukere med denne e-posten">' . htmlspecialchars($player['u_email']) . '</a></span></p>
		</div>' : '') . '
		<div class="profile_box_links">
			<ul>
				<li><a href="' . $__server['relative_path'] . '/p/' . rawurlencode($player['up_name']) . '/' . $player['up_id'] . '">Vis profil</a></li>' . (access::has("crewet") ? '
				<li>Min side: <a href="' . $__server['relative_path'] . '/min_side?u_id=' . $player['up_u_id'] . '&amp;a=crew">bruker</a> | <a href="' . $__server['relative_path'] . '/min_side?up_id=' . $player['up_id'] . '&amp;a=crew">spiller</a> | <a href="' . $__server['relative_path'] . '/min_side?u_id=' . $player['up_u_id'] . '&amp;a=crew&amp;b=warning">ny advarsel</a></li>' : '') . ($is_contact != -1 ? '
				<li><a href="' . $__server['relative_path'] . '/innboks_ny?mottaker=' . urlencode($player['up_name']) . '">Send melding</a></li>' : '');
    if ($is_contact != -1) {
        if ($is_contact == 1) {
            echo '
				<li><a href="' . $__server['relative_path'] . '/kontakter/delete/' . $player['up_id'] . '?sid=' . login::$info['ses_id'] . '">Fjern fra kontaktlisten</a></li>';
Exemplo n.º 12
0
access::need("admin");
access::need_nostat();
$_base->page->add_title("Skaff ressurser!");
if (isset($_POST['rankpoeng'])) {
    $points = intval($_POST['rankpoeng']);
    if ($points != 0) {
        login::$user->player->increase_rank($points);
        $_base->page->add_message("Ranken din ble endret med <b>" . game::format_number($points) . "</b> rankpoeng.");
    }
}
if (isset($_POST['rankpoeng_abs'])) {
    $points = intval($_POST['rankpoeng_abs']);
    if ($points >= 0) {
        $points = $points - login::$user->player->data['up_points'];
        login::$user->player->increase_rank($points);
        $_base->page->add_message("Ranken din ble endret med <b>" . game::format_number($points) . "</b> rankpoeng.");
    }
}
if ($_SERVER['REQUEST_METHOD'] == "POST") {
    redirect::handle();
}
echo '
<h1>Skaff ressurser</h1>

<form aciont="" method="post">
	<table class="table center tablemb">
		<tbody>
			<tr>
				<th>Rank</th>
				<td><input type="text" name="rankpoeng" class="styled w80" value="0" /></td>
			</tr>
Exemplo n.º 13
0
 /**
  * Lagre logg over angrep
  */
 protected function attack_log($ret, $attack_type, $vitner_log, player $up)
 {
     // sett opp vitner
     $vitner = count($vitner_log) > 0 ? \Kofradia\DB::quote(serialize($vitner_log)) : 'NULL';
     // sett opp liste over FF
     $ff_defend = array();
     $list = $this->get_ff_list();
     foreach ($list as $row) {
         if ($row['ff_is_crew'] != 0) {
             continue;
         }
         $type = ff::$types[$row['ff_type']];
         $ff_defend[] = array($row['ff_type'], $row['ff_id'], $type['refobj'], $row['ff_name'], $row['ffm_priority'], $type['priority'][$row['ffm_priority']], $row['ffm_status']);
     }
     $ff_defend = count($ff_defend) > 0 ? \Kofradia\DB::quote(serialize($ff_defend)) : 'NULL';
     // sett opp liste over FF for angriper
     $ff_attack = array();
     $list = $up->get_ff_list();
     foreach ($list as $row) {
         if ($row['ff_is_crew'] != 0) {
             continue;
         }
         $type = ff::$types[$row['ff_type']];
         $ff_attack[] = array($row['ff_type'], $row['ff_id'], $type['refobj'], $row['ff_name'], $row['ffm_priority'], $type['priority'][$row['ffm_priority']], $row['ffm_status']);
     }
     $ff_attack = count($ff_attack) > 0 ? \Kofradia\DB::quote(serialize($ff_attack)) : 'NULL';
     // legg til i loggen
     $cash = isset($ret['penger']) ? $ret['penger'] : 0;
     if (isset($ret['penger_bank'])) {
         $cash = bcadd($cash, $ret['penger_bank']);
     }
     $hitlist = isset($ret['hitlist']) ? $ret['hitlist'] : 0;
     \Kofradia\DB::get()->exec("INSERT INTO drapforsok SET df_attack_up_id = {$up->id}, df_defend_up_id = {$this->id}, df_time = " . time() . ", df_b_id = " . $up->data['up_b_id'] . ", df_outcome = " . ($ret['drept'] ? 1 : 0) . ", df_rankpoints = {$ret['rankpoeng']}, df_type = {$attack_type}, df_cash = {$cash}, df_hitlist = {$hitlist}, df_vitner = {$vitner}, df_attack_ff_list = {$ff_attack}, df_defend_ff_list = {$ff_defend}, df_bullets = {$ret['bullets']}");
     if ($ret['drept']) {
         // logg
         if ($attack_type == self::ATTACK_TYPE_UTPRESSING) {
             putlog("DF", "%c4UTPRESSING DREPT%c: {$up->data['up_name']} ({$up->rank['name']}) presset {$this->data['up_name']} ({$this->rank['name']}). " . $this->generate_minside_url());
         } else {
             putlog("DF", "ANGREP %c4DREPT%c: {$up->data['up_name']} ({$up->rank['name']}) angrep%c3 {$this->data['up_name']}%c ({$this->rank['name']}) med " . $up->weapon->data['name'] . " (" . game::format_number($up->data['up_weapon_training'] * 100, 2) . " % våpentrening) med " . fwords("%d kule", "%d kuler", $ret['bullets']) . ". " . $this->generate_minside_url());
             putlog("DF", " - Angrepstyrke: " . game::format_number($ret['attack_skade'][0] * 100, 2) . ", beskyttelsestyrke: " . game::format_number($ret['attack_skade'][1] * 100, 2) . ", skadeprosent: " . game::format_number($ret['skadeprosent'] * 100, 2) . " % av " . weapon::MAX_ATTACK_HEALTH . " helsepoeng");
         }
         putlog("DF", " - Helse: Hadde " . game::format_number($this->get_health_percent(), 3) . " %");
         putlog("DF", " - Energi: Hadde " . game::format_number($this->get_energy_percent(), 3) . " %");
         if (!$this->protection->data) {
             putlog("DF", " - Hadde ingen beskyttelse");
         } else {
             putlog("DF", " - Beskyttelse: Hadde {$this->protection->data['name']} med " . game::format_number($this->data['up_protection_state'] * 100, 2) . " % styrke");
         }
         putlog("DF", " - Rankpoeng: {$up->data['up_name']} fikk " . game::format_number($ret['rankpoeng']) . " rankpoeng (" . game::format_rank($ret['rankpoeng'], "all") . " % rank) " . $up->generate_minside_url());
         if (count($ret['vitner']) == 0) {
             putlog("DF", " - Ingen vitner");
         } else {
             foreach ($ret['vitner'] as $vitne) {
                 putlog("DF", " - Vitne: {$vitne['up']->data['up_name']} (" . ($vitne['visible'] ? 'ble oppdaget' : 'ble IKKE oppdaget') . ') ' . $vitne['up']->generate_minside_url());
             }
         }
         putlog("DF", " - Penger fra hånda: " . game::format_cash($ret['penger']));
         if (isset($ret['penger_bank'])) {
             putlog("DF", " - Penger fra banken: " . game::format_cash($ret['penger_bank']));
         }
         putlog("DF", " - Penger fra hitlist: " . game::format_cash($ret['hitlist']));
         foreach ($ret['ffm'] as $ffm) {
             putlog("DF", " - Var " . $ffm->get_priority_name() . " i " . $ffm->ff->data['ff_name'] . " " . ess::$s['path'] . "/ff/?ff_id={$ffm->ff->id}");
         }
     } elseif ($attack_type == self::ATTACK_TYPE_KILL) {
         // logg
         putlog("DF", "ANGREP %c8SKADET%c: {$up->data['up_name']} ({$up->rank['name']}) angrep%c3 {$this->data['up_name']}%c ({$this->rank['name']}) med " . $up->weapon->data['name'] . " (" . game::format_number($up->data['up_weapon_training'] * 100, 2) . " % våpentrening) med " . fwords("%d kule", "%d kuler", $ret['bullets']) . ". " . $this->generate_minside_url());
         putlog("DF", " - Angrepstyrke: " . game::format_number($ret['attack_skade'][0] * 100, 2) . ", beskyttelsestyrke: " . game::format_number($ret['attack_skade'][1] * 100, 2) . ", skadeprosent: " . game::format_number($ret['skadeprosent'] * 100, 2) . " % av " . weapon::MAX_ATTACK_HEALTH . " helsepoeng");
         putlog("DF", " - Helse: Mistet " . game::format_number($ret['health_lost_p'] * 100, 3) . " % ({$ret['health_lost']}) og har nå%c4 " . game::format_number($ret['health_new_p'] * 100, 3) . " %");
         putlog("DF", " - Energi: Mistet " . game::format_number($ret['energy_lost_p'] * 100, 3) . " % ({$ret['energy_lost']}) og har nå%c12 " . game::format_number($ret['energy_new_p'] * 100, 3) . " %");
         if ($ret['protection_replaced']) {
             putlog("DF", " - Beskyttelsen ble erstattet med " . $this->protection->data['name']);
         } elseif ($ret['protection_lost_p'] == "") {
             putlog("DF", " - Hadde ingen beskyttelse");
         } else {
             putlog("DF", " - Beskyttelse: Mistet " . game::format_number($ret['protection_lost_p'] * 100, 3) . " % og har nå " . game::format_number($ret['protection_new_p'] * 100, 3) . " %");
         }
         putlog("DF", " - Rankpoeng: {$up->data['up_name']} fikk " . game::format_num($ret['rankpoeng']) . " rankpoeng (offeret mistet " . game::format_num($ret['rankpoeng_lost']) . ") " . $up->generate_minside_url());
         if (count($ret['vitner']) == 0) {
             putlog("DF", " - Ingen vitner");
         } else {
             foreach ($ret['vitner'] as $vitne) {
                 putlog("DF", " - Vitne: {$vitne['up']->data['up_name']} (" . ($vitne['visible'] ? 'ble oppdaget' : 'ble IKKE oppdaget') . ') ' . $vitne['up']->generate_minside_url());
             }
         }
         putlog("DF", " - Penger fra hånda: " . game::format_cash($ret['penger']));
         putlog("DF", " - Penger fra hitlist: " . game::format_cash($ret['hitlist']));
     }
 }
Exemplo n.º 14
0
 /** Formatere hendelser i loggen */
 public function format_log($id, $time, $action, $data, $extra)
 {
     global $__server;
     // sett opp data
     switch (self::$log_id[$action]) {
         // Forum: Ny forumtråd
         case "forum_topic_add":
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> opprettet <a href="' . $__server['relative_path'] . '/forum/topic?id=' . $info[1] . '">' . htmlspecialchars(urldecode($info[2])) . '</a> i forumet.';
             break;
             // Forum: Forumtråd slettet
         // Forum: Forumtråd slettet
         case "forum_topic_delete":
             $info = explode(":", $data);
             $title = $this->mod ? '<a href="' . $__server['relative_path'] . '/forum/topic?id=' . $info[1] . '">' . htmlspecialchars(urldecode($info[2])) . '</a>' : htmlspecialchars(urldecode($info[2]));
             $data = '<user id="' . $info[0] . '" /> slettet ' . $title . ' fra forumet.';
             break;
             // Forum: Forumtråd gjenopprettet
         // Forum: Forumtråd gjenopprettet
         case "forum_topic_restore":
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> gjenopprettet <a href="' . $__server['relative_path'] . '/forum/topic?id=' . $info[1] . '">' . htmlspecialchars(urldecode($info[2])) . '</a> i forumet.';
             break;
             // Forum: Forumtråd redigert
         // Forum: Forumtråd redigert
         case "forum_topic_edit":
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> redigerte <a href="' . $__server['relative_path'] . '/forum/topic?id=' . $info[1] . '">' . htmlspecialchars(urldecode($info[2])) . '</a> i forumet.';
             break;
             // Medlem: Inviter spiller
         // Medlem: Inviter spiller
         case "member_invite":
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> inviterte <user id="' . $info[1] . '" /> til ' . $this->refstring . ' som <b>' . htmlspecialchars(urldecode($info[2])) . (!empty($info[3]) ? ' underordnet <user id="' . $info[3] . '" />' : '') . '</b>.';
             break;
             // Medlem: Godta invitasjon
         // Medlem: Godta invitasjon
         case "member_invite_accept":
             $data = '<user id="' . $data . '" /> godtok invitasjonen og er nå medlem av ' . $this->refstring . '.';
             break;
             // Medlem: Avslå invitasjon
         // Medlem: Avslå invitasjon
         case "member_invite_decline":
             $data = '<user id="' . $data . '" /> avslo invitasjonen til ' . $this->refstring . '.';
             break;
             // Medlem: Tilbaketrukket invitasjon
         // Medlem: Tilbaketrukket invitasjon
         case "member_invite_pullback":
             $info = explode(":", $data);
             if ($info[0]) {
                 $data = '<user id="' . $info[0] . '" /> trakk tilbake invitasjonen til <user id="' . $info[1] . '" />.';
             } else {
                 $data = 'Invitasjonen til <user id="' . $info[1] . '" /> ble trukket tilbake.';
             }
             break;
             // Medlem: Foreslå medlem
         // Medlem: Foreslå medlem
         case "member_suggest":
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> foreslo <user id="' . $info[1] . '" /> som medlem av ' . $this->refstring . ' som <b>' . htmlspecialchars(urldecode($info[2])) . '</b>.';
             break;
             // Medlem: Godta forslag
         // Medlem: Godta forslag
         case "member_suggest_accept":
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> godtok forslaget' . ($info[3] ? ' til <user id="' . $info[3] . '" />' : '') . ' om å invitere <user id="' . $info[1] . '" /> til ' . $this->refstring . ' som <b>' . htmlspecialchars(urldecode($info[2])) . '</b>. <user id="' . $info[1] . '" /> er nå invitert.';
             break;
             // Medlem: Avslå forslag
         // Medlem: Avslå forslag
         case "member_suggest_decline":
             $info = explode(":", $data);
             if ($info[0]) {
                 $data = '<user id="' . $info[0] . '" /> avslo forslaget om å invitere <user id="' . $info[1] . '" />.';
             } else {
                 $data = 'Forslaget om å invitere <user id="' . $info[1] . '" /> ble avslått.';
             }
             break;
             // Medlem: Forlat
         // Medlem: Forlat
         case "member_leave":
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> forlot ' . $this->refstring . (isset($info[1]) ? ' fra sin posisjon som <b>' . htmlspecialchars(urldecode($info[1])) . '</b>' : '') . '.';
             break;
             // Medlem: Drept/for lav helse
         // Medlem: Drept/for lav helse
         case "member_deactivated":
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> fikk for lite helse til å kunne opprettholde sitt medlemskap.' . (isset($info[1]) ? ' Hadde posisjonen <b>' . htmlspecialchars(urldecode($info[1])) . '</b>' : '') . '.';
             break;
             // Medlem: Sparket
         // Medlem: Sparket
         case "member_kicked":
             $info = explode(":", $data);
             $note = $note = empty($info[3]) ? '' : ' Begrunnelse: ' . game::bb_to_html(urldecode($info[3]));
             $data = '<user id="' . $info[0] . '" /> sparket <user id="' . $info[1] . '" /> fra ' . $this->refstring . ' og sin posisjon som <b>' . htmlspecialchars(urldecode($info[2])) . '</b>.' . $note;
             break;
             // Medlem: Posisjon
         // Medlem: Posisjon
         case "member_priority":
             $info = explode(":", $data);
             if ($info[0]) {
                 $data = '<user id="' . $info[0] . '" /> endret posisjonen til <user id="' . $info[1] . '" /> fra <b>' . htmlspecialchars(urldecode($info[2])) . '</b>' . (!empty($info[4]) ? ' underordnet <user id="' . $info[4] . '" />' : '') . ' til <b>' . htmlspecialchars(urldecode($info[3])) . '</b>' . (!empty($info[5]) ? ' underordnet <user id="' . $info[5] . '" />' : '') . '.';
             } else {
                 // anonym
                 $data = 'Posisjonen til <user id="' . $info[1] . '" /> ble endret fra <b>' . htmlspecialchars(urldecode($info[2])) . '</b>' . (!empty($info[4]) ? ' underordnet <user id="' . $info[4] . '" />' : '') . ' til <b>' . htmlspecialchars(urldecode($info[3])) . '</b>' . (!empty($info[5]) ? ' underordnet <user id="' . $info[5] . '" />' : '') . '.';
             }
             break;
             // Medlem Overordnet capo
         // Medlem Overordnet capo
         case "member_parent":
             $info = explode(":", $data);
             if ($info[0]) {
                 $data = '<user id="' . $info[0] . '" /> endret overordnet til <user id="' . $info[1] . '" /> fra <user id="' . $info[2] . '" /> til <user id="' . $info[3] . '" />.';
             } else {
                 // anonym
                 $data = 'Overordnet til <user id="' . $info[1] . '" /> ble endret fra <user id="' . $info[2] . '" /> til <user id="' . $info[3] . '" />.';
             }
             break;
             // Sett en spiller til en bestemt posisjon
         // Sett en spiller til en bestemt posisjon
         case "member_set_priority":
             // syntax: up_id:priority_name:parent_up_id
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> ble satt som <b>' . htmlspecialchars(urldecode($info[1])) . '</b>' . (!empty($info[2]) ? ' underordnet <user id="' . $info[2] . '" />' : '') . '.';
             break;
             // Ny logo
         // Ny logo
         case "logo":
             if (empty($data)) {
                 $data = "Logoen ble fjernet.";
             } else {
                 $info = explode(":", $data);
                 $data = isset($info[1]) && $info[1] == "removed" ? '<user id="' . $info[0] . '" /> fjernet logoen' : '<user id="' . $info[0] . '" /> lastet opp' . (!empty($extra) ? ' ny logo' : ' en logo');
                 $data .= ' for ' . $this->type['refobj'] . '.';
             }
             if (!empty($extra)) {
                 $data .= ' Gammel logo: <img src="' . ess::$s['rpath'] . '/ff/_logo?ff_id=' . $this->id . '&amp;log_id=' . $id . '" alt="Gammel logo" />';
             }
             break;
             // Endre beskrivelse
         // Endre beskrivelse
         case "description":
             $data = '<user id="' . $data . '" /> redigerte beskrivelsen for ' . $this->refstring . '.';
             break;
             // Salg
         // Salg
         case "sell":
             $info = explode(":", $data);
             switch ($info[0]) {
                 // starter salget:
                 // {TYPE=init}:BOSS:UBOSS:FEE:AMOUNT
                 case "init":
                     $data = '<user id="' . $info[1] . '" /> åpnet salg av ' . $this->refstring . ' til <user id="' . $info[2] . '" /> for ' . game::format_cash($info[4]) . '.';
                     break;
                     // avbryter salget (trekker det tilbake)
                     // {TYPE=abort}:BOSS:UBOSS:FEE:AMOUNT
                 // avbryter salget (trekker det tilbake)
                 // {TYPE=abort}:BOSS:UBOSS:FEE:AMOUNT
                 case "abort":
                     $data = '<user id="' . $info[1] . '" /> trakk tilbake salg av ' . $this->refstring . ' til <user id="' . $info[2] . '" /> for ' . game::format_cash($info[4]) . '.';
                     break;
                     // godtar kjøpet (mottakeren)
                     // {TYPE=approve}:BOSS:UBOSS:FEE:AMOUNT
                 // godtar kjøpet (mottakeren)
                 // {TYPE=approve}:BOSS:UBOSS:FEE:AMOUNT
                 case "approve":
                     $data = '<user id="' . $info[2] . '" /> godtok salget av ' . $this->refstring . ' og har nå overtatt som ' . htmlspecialchars($this->type['priority'][1]) . '. <user id="' . $info[1] . '" /> har blitt satt som ' . htmlspecialchars($this->type['priority'][2]) . '. Gebyr: ' . game::format_cash($info[3]) . '. Salgsbeløp: ' . game::format_cash($info[4]) . '.';
                     break;
                     // avslår kjøpet (mottakeren)
                     // {TYPE=reject}:UBOSS:FEE:AMOUNT
                 // avslår kjøpet (mottakeren)
                 // {TYPE=reject}:UBOSS:FEE:AMOUNT
                 case "reject":
                     $data = '<user id="' . $info[2] . '" /> avslo salget av ' . $this->refstring . ' for ' . game::format_cash($info[4]) . '.';
                     break;
             }
             break;
             // Nytt navn
         // Nytt navn
         case "name":
             // syntax: gammelt navn:nytt navn:spiller som sendte søknad:innvilget av
             // syntax (abstrakt): ff_name:ff_name:up_id:up_id
             $info = explode(":", $data);
             $data = 'Navnet på ' . $this->refstring . ' ble endret fra ' . htmlspecialchars(urldecode($info[0])) . ' til <b>' . htmlspecialchars(urldecode($info[1])) . '</b>.';
             break;
         case "bank_overforing_tap_change":
             $info = explode(":", $data);
             $data = 'Overføringsgebyret endret seg med ' . game::format_number($info[1] * 100, 2) . ' % til <b>' . game::format_number(($info[0] + $info[1]) * 100, 2) . ' %</b>.';
             break;
         case "article_edited":
             // data: fna_id,up_id,fna_up_id,fna_title_org,fna_title_new,fna_text_old,fna_text_new
             $info = array_map("urldecode", explode(":", $data));
             $data = '<user id="' . $info[1] . '" /> redigerte <a href="' . $__server['relative_path'] . '/ff/avis?ff_id=' . $this->id . '&amp;a&amp;ffna=' . $info[0] . '">artikkelen</a> til <user id="' . $info[2] . '" />.';
             break;
             // kastet ut spiller fra bomberommet
         // kastet ut spiller fra bomberommet
         case "bomberom_kick":
             // syntax: up_id(som utfører handlingen):up_id(som ble kastet ut):up_brom_expire(når vi egentlig skulle gå ut av bomberommet)
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> kastet ut <user id="' . $info[1] . '" /> fra bomberommet, som egentlig skulle sittet til ' . ess::$b->date->get($info[2])->format() . '.';
             break;
             // oppløst
         // oppløst
         case "dissolve":
             // syntax: up_id(som utfører handlingen):up_id(som ble kastet ut):up_brom_expire(når vi egentlig skulle gå ut av bomberommet)
             $info = explode(":", $data);
             $data = ucfirst($this->type['refobj']) . ' ble oppløst.';
             break;
             // kuler inn
         // kuler inn
         case "bullets_in":
             // syntax: up_id:num
             $info = explode(":", $data);
             $data = '<user id="' . $info[0] . '" /> satt inn ' . fwords("%d kule", "%d kuler", $info[1]) . ' i kulelageret.';
             break;
             // kuler ut
         // kuler ut
         case "bullets_out":
             // syntax: up_id:num[:action_up]
             $info = explode(":", $data);
             if (isset($info[2])) {
                 $data = '<user id="' . $info[2] . '" /> tok ut ' . fwords("%d kule", "%d kuler", $info[1]) . ' fra kulelageret og gav de til <user id="' . $info[0] . '" />.';
             } else {
                 $data = '<user id="' . $info[0] . '" /> tok ut ' . fwords("%d kule", "%d kuler", $info[1]) . ' fra kulelageret.';
             }
             break;
             // informasjon
         // informasjon
         case "info":
             // behold data urørt
             break;
             // Dummy
         // Dummy
         case "dummy":
             $data = $time;
             break;
         default:
             $data = htmlspecialchars($data);
     }
     return $data;
 }
Exemplo n.º 15
0
			<th>Nettlesere</th>
		</tr>
	</thead>
	<tbody>';
    $i = 0;
    while ($row = $result->fetch()) {
        echo '
		<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>
			<td class="r">' . $row['ses_id'] . '</td>
			<td class="r">' . $row['ses_u_id'] . '</td>' . ($wc ? '
			<td>' . $row['ses_last_ip'] . '</td>' : '') . '
			<td>' . game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level']) . '</td>
			<td>' . ($row['ses_active'] == 0 ? 'Nei' : '<b>Ja</b>') . '</td>
			<td>' . $_base->date->get($row['ses_created_time'])->format(date::FORMAT_SEC) . '</td>
			<td>' . $_base->date->get($row['ses_last_time'])->format(date::FORMAT_SEC) . '</td>
			<td>' . ($row['ses_logout_time'] == 0 ? '<b>Nei</b>' : $_base->date->get($row['ses_logout_time'])->format(date::FORMAT_SEC)) . '</td>
			<td class="r">' . game::format_number($row['ses_hits']) . '</td>
			<td class="r">' . game::format_number($row['ses_points']) . '</td>
			<td>' . (empty($row['ses_browsers']) ? '<i>Mangler</i>' : strtr(htmlspecialchars($row['ses_browsers']), "\n", "<br />")) . '</td>
		</tr>';
    }
    echo '
	</tbody>
</table>';
    // flere sider?
    if ($pagei->pages > 1) {
        echo '
<p>Navigasjon: ' . $pagei->pagenumbers() . '</p>';
    }
}
$_base->page->load();
Exemplo n.º 16
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>';
            }
        }
    }
Exemplo n.º 17
0
					<dt>Forumtråder</dt>
					<dd>' . game::format_number($player->data['up_forum_num_topics']) . ($player->data['up_forum_ff_num_topics'] > 0 ? ' (<abbr title="Firma/broderskap">+' . game::format_number($player->data['up_forum_ff_num_topics']) . '</abbr>)' : '') . '</dd>
					
					<dt>Forumsvar</dt>
					<dd>' . game::format_number($player->data['up_forum_num_replies']) . ($player->data['up_forum_ff_num_replies'] > 0 ? ' (<abbr title="Firma/broderskap">+' . game::format_number($player->data['up_forum_ff_num_replies']) . '</abbr>)' : '') . '</dd>
					
					<dt>Meldinger (opprettet)</dt>
					<dd>' . game::format_number($player->data['up_inbox_num_threads']) . '</dd>
					
					<dt>Meldinger (svar)</dt>
					<dd>' . game::format_number($player->data['up_inbox_num_messages']) . '</dd>
					
					<dd>&nbsp;</dd>
					
					<dt>Antall spillere vervet</dt>
					<dd>' . game::format_number($num_recruited) . '</dd>
				</dl>
			</div>
			<div class="clear"></div>
		</div>';
if ($has_other_up) {
    if (!isset($_GET['side_up'])) {
        ess::$b->page->add_js_domready('
	$("vis_spillerhistorie").addEvent("click", function()
	{
		$("spillerhistorie").removeClass("hide");
		this.getParent("div").dispose();
	});');
    }
    echo '
		<div id="spillerhistorie" class="section' . (isset($_GET['side_up']) ? '' : ' hide') . '">
Exemplo n.º 18
0
    /**
     * Vis banken
     */
    protected function show()
    {
        ess::$b->page->add_js('
var user_bank = ' . js_encode(game::format_cash($this->up->data['up_bank'])) . ';
var user_cash = ' . js_encode(game::format_cash($this->up->data['up_cash'])) . ';');
        ess::$b->page->add_js_domready('
	$$(".bank_amount_set").each(function(elm)
	{
		var amount = elm.get("rel").substring(0, 4) == "bank" ? user_bank : user_cash;
		var e_id = elm.get("rel").substring(5);
		elm
			.appendText(" (")
			.grab(new Element("a", {"text":"alt"}).addEvent("click", function()
			{
				$(e_id).set("value", amount);
			}))
			.appendText(")");
	});');
        echo '
<div class="bg1_c small" style="width: 420px">
	<h1 class="bg1">
		Banken
		<span class="left"></span><span class="right"></span>
	</h1>
	<p class="h_left">
		<a href="' . ess::$s['rpath'] . '/node/31">Hjelp</a>
	</p>
	<p class="h_right">' . (!isset(login::$extended_access['authed']) ? '
		<a href="banken?logout">Logg ut av banken</a>' : '') . '
		<a href="banken?authc">Endre pass</a>
	</p>
	<div class="bg1" style="padding: 0 15px">
		<!-- bankkonto informasjon -->
		<div style="width: 50%; margin-left: -5px; float: left">
			<h2 class="bg1">Bankkonto informasjon<span class="left2"></span><span class="right2"></span></h2>
			<div class="bg1">
				<dl class="dd_right">
					<dt>Kontoeier</dt>
					<dd>' . game::profile_link() . '</dd>
					<dt>Bankfirma</dt>
					<dd><a href="ff/?ff_id=' . $this->bank->id . '">' . htmlspecialchars($this->bank->data['ff_name']) . '</a></dd>
					<dt><abbr title="Overføringstap">Overf.tap</abbr></dt>
					<dd>' . $this->bank->overforingstap * 100 . ' %</dd>
					<dt>Plassering</dt>
					<dd>' . (!isset(game::$bydeler[$this->bank->data['br_b_id']]) ? '<span style="color: #777777">Ukjent</span>' : htmlspecialchars(game::$bydeler[$this->bank->data['br_b_id']]['name'])) . '</dd>
					<dt>Balanse</dt>
					<dd>' . game::format_cash($this->up->data['up_bank']) . '</dd>
				</dl>
				<p class="c">
					<a href="javascript:void(0)" onclick="this.parentNode.style.display=\'none\'; document.getElementById(\'bank_stats\').style.display=\'block\'">Vis statistikk</a>
				</p>
				<div id="bank_stats" style="display: none">
					<dl class="dd_right">
						<dt>Sendt</dt>
						<dd>' . game::format_number($this->up->data['up_bank_num_sent']) . ' stk</dd>
						<dd>' . game::format_cash($this->up->data['up_bank_sent']) . '</dd>
					</dl>
					<dl class="dd_right">
						<dt>Mottatt</dt>
						<dd>' . game::format_number($this->up->data['up_bank_num_received']) . ' stk</dd>
						<dd>' . game::format_cash($this->up->data['up_bank_received']) . '</dd>
					</dl>
					<dl class="dd_right">
						<dt>Overskudd</dt>
						<dd>' . game::format_cash($this->up->data['up_bank_profit']) . '</dd>
					</dl>
					<dl class="dd_right">
						<dt><abbr title="Overføringstap">Overf.tap</abbr></dt>
						<dd>' . game::format_cash($this->up->data['up_bank_charge']) . '</dd>
					</dl>
					<dl class="dd_right">
						<dt>Renter</dt>
						<dd>' . game::format_number($this->up->data['up_interest_num']) . ' stk</dd>
						<dd>' . game::format_cash($this->up->data['up_interest_total']) . '</dd>
					</dl>
				</div>
				<form action="" method="post">
					<p class="c">' . show_sbutton("Bytt bank", 'name="switch"') . '</p>
				</form>
			</div>
		</div>
		
		<!-- send penger -->
		<div style="width: 50%; margin-right: -5px; float: right">
			<h2 class="bg1">Send penger<span class="left2"></span><span class="right2"></span></h2>
			<div class="bg1">
				<form action="" method="post">
					<input type="hidden" name="sid" value="' . login::$info['ses_id'] . '" />
					<input type="hidden" name="a" value="send" />
					<dl class="dd_right dl_2x">
						<dt>Mottaker</dt>
						<dd><input type="text" name="mottaker" value="' . htmlspecialchars(postval("mottaker")) . '" class="styled w100" /></dd>
		
						<dt>Kontakt?</dt>
						<dd>
							<select onchange="if(this.value==\'\')var name=prompt(\'Brukernavn?\');else var name=this.value;if(name)document.getElementsByName(\'mottaker\')[0].value=name;this.selectedIndex=0" style="width: 110px; overflow: hidden">
								<option>Velg kontakt</option>';
        foreach (login::$info['contacts'][1] as $row) {
            echo '
								<option value="' . htmlspecialchars($row['up_name']) . '">' . htmlspecialchars($row['up_name']) . '</option>';
        }
        echo '
								<option value="">Egendefinert..</option>
							</select>
						</dd>
		
						<dt class="bank_amount_set" rel="bank,transf_amount">Beløp</dt>
						<dd><input type="text" id="transf_amount" name="amount" class="styled w100" value="' . game::format_cash(postval("amount", 0)) . '" /></dd>
		
						<dt>Melding?</dt>
						<dd><input type="text" name="note" value="' . htmlspecialchars(postval("note")) . '" class="styled w100" maxlength="100" /></dd>';
        // hoppe over overføringsgebyret?
        if (access::is_nostat()) {
            echo '
						<dt>Uten gebyr?</dt>
						<dd><input type="checkbox" name="skip_bog"' . (isset($_POST['skip_bog']) ? ' checked="checked"' : '') . ' /></dd>';
        }
        echo '
					</dl>
					<p class="c">' . show_sbutton("Fortsett") . '</p>
				</form>
			</div>
		</div>
		<div class="clear"></div>
		
		<!-- sett inn penger -->
		<div style="width: 50%; margin-left: -5px; float: left">
			<h2 class="bg1">Sett inn penger<span class="left2"></span><span class="right2"></span></h2>
			<div class="bg1">
				<form action="" method="post">
					<dl class="dd_right">
						<dt class="bank_amount_set" rel="cash,bank_sett_inn">Beløp</dt>
						<dd><input type="text" name="sett_inn" id="bank_sett_inn" class="styled w100" value="0" /></dd>
					</dl>
					<p class="c">' . show_sbutton("Sett inn") . '</p>
				</form>
			</div>
		</div>
		
		<!-- ta ut penger -->
		<div style="width: 50%; margin-right: -5px; float: right">
			<h2 class="bg1">Ta ut penger<span class="left2"></span><span class="right2"></span></h2>
			<div class="bg1">
				<form action="" method="post">
					<dl class="dd_right">
						<dt class="bank_amount_set" rel="bank,bank_ta_ut">Beløp</dt>
						<dd><input type="text" name="ta_ut" id="bank_ta_ut" class="styled w100" value="0" /></dd>
					</dl>
					<p class="c">' . show_sbutton("Ta ut") . '</p>
				</form>
			</div>
		</div>
		<div class="clear"></div>
	</div>
</div>

<div class="bg1_c large" style="margin-top: 40px">
	<h1 class="bg1">Oversikt<span class="left"></span><span class="right"></span></h1>
	<div class="bg1" style="padding: 0 15px">
		<!-- sendte penger -->
		<div style="width: 50%; margin-left: -5px; float: left">
			<h2 class="bg1">Sendte penger<span class="left2"></span><span class="right2"></span></h2>
			<div class="bg1">';
        // sideinformasjon - hent sendte overføringer
        $pagei = new pagei(pagei::ACTIVE_GET, "side_sendte", pagei::PER_PAGE, 8, pagei::TOTAL, $this->up->data['up_bank_num_sent']);
        $result = \Kofradia\DB::get()->query("SELECT bl_receiver_up_id, amount, time FROM bank_log WHERE bl_sender_up_id = " . $this->up->id . " ORDER BY time DESC LIMIT {$pagei->start}, {$pagei->per_page}");
        if ($result->rowCount() == 0) {
            echo '
				<p>
					Ingen sendte overføringer.
				</p>';
        } else {
            echo '
				<table class="table tablemt" width="100%">
					<thead>
						<tr>
							<th>Mottaker</th>
							<th>Beløp</th>
							<th>Tidspunkt</th>
						</tr>
					</thead>
					<tbody>';
            $i = 0;
            while ($row = $result->fetch()) {
                $date = ess::$b->date->get($row['time']);
                echo '
						<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>
							<td><user id="' . $row['bl_receiver_up_id'] . '" /></td>
							<td class="r">' . game::format_cash($row['amount']) . '</td>
							<td class="c" style="font-size: 10px">' . $date->format(date::FORMAT_NOTIME) . '<br />' . $date->format("H:i:s") . '</td>
						</tr>';
            }
            echo '
					</tbody>
				</table>
				<p class="c">' . $pagei->pagenumbers(game::address("banken", $_GET, array("side_sendte")) . "#sendte", game::address("banken", $_GET, array("side_sendte"), array("side_sendte" => "_pageid_")) . "#sendte") . '</p>';
        }
        echo '
			</div>
		</div>
		
		<!-- mottatte penger -->
		<div style="width: 50%; margin-right: -5px; float: right">
			<h2 class="bg1">Mottatte penger<span class="left2"></span><span class="right2"></span></h2>
			<div class="bg1">';
        // sideinformasjon - hent mottatte overføringer
        $pagei = new pagei(pagei::ACTIVE_GET, "side_mottatte", pagei::PER_PAGE, 8, pagei::TOTAL, $this->up->data['up_bank_num_received']);
        $result = \Kofradia\DB::get()->query("SELECT bl_sender_up_id, amount, time FROM bank_log WHERE bl_receiver_up_id = " . $this->up->id . " ORDER BY time DESC LIMIT {$pagei->start}, {$pagei->per_page}");
        if ($result->rowCount() == 0) {
            echo '
				<p>
					Ingen mottatte overføringer.
				</p>';
        } else {
            echo '
				<table class="table tablemt" width="100%">
					<thead>
						<tr>
							<th>Sender</th>
							<th>Beløp</th>
							<th>Tidspunkt</th>
						</tr>
					</thead>
					<tbody>';
            $i = 0;
            while ($row = $result->fetch()) {
                $date = ess::$b->date->get($row['time']);
                echo '
						<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>
							<td><user id="' . $row['bl_sender_up_id'] . '" /></td>
							<td class="r">' . game::format_cash($row['amount']) . '</td>
							<td class="c" style="font-size: 10px">' . $date->format(date::FORMAT_NOTIME) . '<br />' . $date->format("H:i:s") . '</td>
						</tr>';
            }
            echo '
					</tbody>
				</table>
				<p class="c">' . $pagei->pagenumbers(game::address("banken", $_GET, array("side_mottatte")) . "#mottatte", game::address("banken", $_GET, array("side_mottatte"), array("side_mottatte" => "_pageid_")) . "#mottatte") . '</p>';
        }
        echo '
			</div>
		</div>
		<div class="clear"></div>
	</div>
</div>';
    }
Exemplo n.º 19
0
					<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;
    while ($row = $result->fetch()) {
        $end = ceil(($row['time'] - 900) / 1800) * 1800 + 900;
        echo '
				<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>
					<td class="c">' . $_base->date->get($end)->format() . '<br /><span style="color: #888888">(' . $_base->date->get($row['time'])->format() . ')</a></td>
					<td class="r">' . ($row['type'] == 1 ? '<b>' . $row['type'] . '. plass</b>' : $row['type'] . '. plass') . '</td>
					<td class="r">' . game::format_cash($row['won']) . '</td>
					<td class="c">' . game::format_number($row['l_id']) . '</td>
					<td class="c">' . game::format_number($row['total_lodd']) . '</td>
					<td class="c">' . game::format_number($row['total_users']) . '</td>
				</tr>';
    }
    echo '
			</tbody>
		</table>
		<p class="c">' . $pagei->pagenumbers(game::address("lotto_vinn", $_GET, array("side")) . "#lotto_vinn", game::address("lotto_vinn", $_GET, array("side"), array("side" => "_pageid_")) . "#lotto_vinn") . '</p>';
}
echo '
	</div>
</div>';
$_base->page->load();
Exemplo n.º 20
0
 /**
  * Utfør kriminalitet
  */
 protected function utfor()
 {
     // form sjekking
     if (!$this->form->validateHashOrAlert(null, ($this->krim->last ? "Siste=" . game::timespan($this->krim->last['last'], game::TIME_ABS | game::TIME_SHORT | game::TIME_NOBOLD) . ";" : "First;") . ($this->krim->wait ? "%c11Ventetid=" . game::timespan($this->krim->wait, game::TIME_SHORT | game::TIME_NOBOLD) . "%c" : "%c9No-wait%c"))) {
         return;
     }
     // kontroller at vi ikke har noe ventetid
     if ($this->krim->wait) {
         redirect::handle();
     }
     // finn id
     $id = intval(postval("theid"));
     if (!$id) {
         $found = false;
         foreach ($_POST as $name => $val) {
             $matches = false;
             if (preg_match("/^id([1-9]+|[1-9][0-9]+)\$/Du", $name, $matches)) {
                 $id = $matches[1];
             }
         }
     }
     // har ikke oppføringen?
     if (!isset($this->krim->options[$id])) {
         ess::$b->page->add_message("Ugyldig valg.", "error");
         redirect::handle();
     }
     // lagre valget
     ess::session_put("krim_last_id", $id);
     // utfør kriminalitet
     $result = $this->krim->utfor($id);
     $fengsel_msg = $result['wanted_change'] > 0 ? ' Wanted nivået økte med ' . game::format_number($result['wanted_change'] / 10, 1) . ' %.' : '';
     $msg = $result['success'] ? $this->krim->get_random_message($id, true, $result['cash'], $result['rank']) : $this->krim->get_random_message($id, false);
     ess::$b->page->add_message($msg . $fengsel_msg);
     // oppdater anti-bot
     $this->antibot->increase_counter();
     // oppdater siden
     redirect::handle();
 }
Exemplo n.º 21
0
.f_sticky .info { color: #CCFF00 }
.f_lock { color: #FFFFFF }
.f_u a span { color: #FFFFFF; text-decoration: none }
.f_u a:hover span { text-decoration: underline }
.f_time { color: #AAAAAA }
.f_deld { color: #FFF; font-size: 11px }');
        // vis hver topic
        $i = 0;
        while ($row = $result->fetch()) {
            echo '
				<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>
					<td><a href="forum?id=' . $row['ft_fse_id'] . '">' . htmlspecialchars($sections[$row['ft_fse_id']]['name']) . '</a></td>
					<td class="l' . ($row['ft_type'] == 3 ? ' f_viktig' : ($row['ft_type'] == 2 ? ' f_sticky' : '')) . '"><a href="topic?id=' . $row['ft_id'] . '">' . htmlspecialchars($row['ft_title']) . '</a>' . ($row['ft_type'] == 3 ? ' <span class="info">(Viktig)</span>' : ($row['ft_type'] == 2 ? ' <span class="info">(Sticky)</span>' : '')) . ($row['ft_locked'] == 1 ? ' <span class="f_lock">(låst)</span>' : '') . ($row['ft_deleted'] != 0 ? ' <span class="f_deld">(Slettet)</span>' : '') . '</td>
					<td class="f_u">' . game::profile_link($row['ft_up_id'], $row['up_name'], $row['up_access_level']) . '<br /><span class="f_time">' . $_base->date->get($row['ft_time'])->format() . '</span></td>
					<td>' . game::format_number($row['ft_replies']) . '</td>
					<td>' . game::format_number($row['ft_views']) . '</td>
					<td class="f_u">' . ($row['fr_time'] ? game::profile_link($row['fr_up_id'], $row['r_up_name'], $row['r_up_access_level']) . '<br /><span class="f_time">' . game::timespan($row['fr_time'], game::TIME_ABS) . '</span>' : '<span style="color: #AAA">Ingen</span>') . '</td>
					<td>' . ($row['tr_match_type'] == 'subject' ? 'Tittel' : ($row['tr_match_type'] == 'topic' ? 'Hoved' : '<a href="topic?id=' . $row['ft_id'] . '&amp;replyid=' . $row['tr_fr_id'] . '">Svar &raquo;</a>')) . '</td>
				</tr>';
        }
        echo '
			</tbody>
		</table>';
        // flere sider?
        if ($pagei->pages > 1) {
            echo '
		<p class="c">' . $pagei->pagenumbers() . '</p>';
        }
    }
    echo '
	</div>
Exemplo n.º 22
0
<?php

// slett logg meldingene som ble slettet for mer enn 10 min siden
$expire = time() - 900;
$ant = \Kofradia\DB::get()->exec("DELETE FROM log_irc WHERE li_deleted = 1 AND li_deleted_time < {$expire}");
// infomelding
putlog("LOG", "log_irc: Antall oppføringer fjernet: " . game::format_number($ant));
Exemplo n.º 23
0
						<th>Alder</th>
						<th>Sendt inn</th>
						<th><abbr title="Rating / ca. total lengde for feltene">R/L</abbr></th>
						<th>Kommentar</th>
						<th>&nbsp;</th>
					</tr>
				</thead>
				<tbody>';
                }
                $i++;
                echo '
					<tr' . ($sa_id == $row['sa_id'] ? ' class="highlightred"' : ($i % 2 == 0 ? ' class="color"' : '')) . '>
						<td>' . game::profile_link($row['sa_up_id'], $row['up_name'], $row['up_access_level']) . '</td>
						<td' . ($first ? ' width="25"' : '') . ' class="r" title="' . htmlspecialchars($row['u_birth']) . '">' . $age . '</td>
						<td' . ($first ? ' width="95"' : '') . ' class="c" style="font-size: 10px">' . $_base->date->get($row['sa_updated'])->format(date::FORMAT_NOTIME) . '<br />' . $_base->date->get($row['sa_updated'])->format("H:i:s") . $extra . '</td>
						<td' . ($first ? ' width="35"' : '') . ' class="r"><span class="dark">' . $rating . '</span><br />' . game::format_number($row['total_length']) . '</td>
						<td' . ($first ? ' width="120"' : '') . ' class="c" style="font-size: 10px">' . ($row['sa_verified'] == 0 ? 'Ingen' : $comment . '<br />' . $_base->date->get($row['sa_verified'])->format(date::FORMAT_NOTIME) . ' ' . $_base->date->get($row['sa_verified'])->format("H:i:s")) . '</td>
						<td' . ($first ? ' width="25"' : '') . ' class="c">' . ($sa_id == $row['sa_id'] ? 'Valgt' : '<a href="soknader?admin&amp;so_id=' . $soknad['so_id'] . '&amp;sa_id=' . $row['sa_id'] . '">Vis</a>') . '</td>
					</tr>';
            }
            echo '
				</tbody>
			</table>
			</div>';
            if ($hidden > 0) {
                echo '
			<p class="negative_soknader11"><a href="#" onclick="handleClass(\'.negative_soknader10\', \'.negative_soknader11\', event)">Vis søknadene med negative verdier (' . $hidden . ' stk) &raquo</a></p>
			<p class="negative_soknader10 hide"><a href="#" onclick="handleClass(\'.negative_soknader11\', \'.negative_soknader10\', event)">Skjul søknadene med negative verdier (' . $hidden . ' stk) &raquo</a></p>';
            }
        }
        echo '
Exemplo n.º 24
0
function gevinster()
{
    global $gevinster;
    $stats = array();
    // hent total statistikk
    $result = \Kofradia\DB::get()->query("SELECT subname, count, count2 FROM stats WHERE area = 'poker' AND name = 'alt' AND stats_up_id = 0");
    while ($row = $result->fetch()) {
        $stats[$row['subname']]['total'] = $row['count'];
        $stats[$row['subname']]['total_cash'] = $row['count2'];
    }
    // hent bruker statistikk
    $result = \Kofradia\DB::get()->query("SELECT subname, count, count2 FROM stats WHERE area = 'poker' AND name = 'alt' AND stats_up_id = " . login::$user->player->id);
    while ($row = $result->fetch()) {
        $stats[$row['subname']]['count'] = $row['count'];
        $stats[$row['subname']]['cash'] = $row['count2'];
    }
    // skriv tabell
    $ret = '
<h1>Statistikk</h1>
<table class="table game" id="poker_info">
	<thead>
		<tr>
			<th>Navn</th>
			<th>Penger</th>
			<th>Stats</th>
		</tr>
	</thead>
	<tbody>';
    $i = 0;
    $totalt_cash_1 = 0;
    $totalt_cash_2 = 0;
    $totalt_stat_1 = 0;
    $totalt_stat_2 = 0;
    foreach ($gevinster as $gevinst) {
        if (isset($stats[$gevinst[0]])) {
            $totalt_stat_1 += $stats[$gevinst[0]]['count'];
            $totalt_stat_2 += $stats[$gevinst[0]]['total'];
            $stat = '<b>' . game::format_number($stats[$gevinst[0]]['count']) . '</b> (' . game::format_number($stats[$gevinst[0]]['total']) . ')';
            $cash_total = $stats[$gevinst[0]]['total_cash'];
            $cash = $stats[$gevinst[0]]['cash'];
        } else {
            $stat = '<b>0</b> (0)';
            $cash_total = 0;
            $cash = 0;
        }
        if ($gevinst[0] == 0) {
            $cash = $cash * -1;
            $cash_total = $cash_total * -1;
        }
        $totalt_cash_1 += $cash;
        $totalt_cash_2 += $cash_total;
        $cash = game::format_cash($cash) . ' (' . game::format_cash($cash_total) . ')';
        $ret .= '
		<tr' . (is_int(++$i / 2) ? ' class="color"' : '') . '>
			<td>' . htmlspecialchars(ucfirst($gevinst[1])) . '</td>
			<td align="right"><span style="color: #999">Innsats *</span> ' . game::format_number($gevinst[2], 2) . '</td>
			<td align="right" title="' . $cash . '">' . $stat . '</td>
		</tr>';
    }
    if (isset($stats[0])) {
        $stat = '<b>' . game::format_number($stats[0]['count']) . '</b> (' . game::format_number($stats[0]['total']) . ')';
        $cash_total = $stats[0]['total_cash'];
        $cash = $stats[0]['cash'];
    } else {
        $stats = '<b>0</b> (0)';
        $cash_total = 0;
        $cash = 0;
    }
    $cash = game::format_cash($cash) . ' (' . game::format_cash($cash_total) . ')';
    $stat = '<b>' . game::format_number($totalt_stat_1) . '</b> (' . game::format_number($totalt_stat_2) . ')';
    $cash = game::format_cash($totalt_cash_1) . ' (' . game::format_cash($totalt_cash_2) . ')';
    $ret .= '
		<tr class="spacer"><td colspan="3">&nbsp;</td></tr>
		<tr' . (is_int($i / 2) ? ' class="color"' : '') . '>
			<td><b>Totalt</b></td>
			<td>&nbsp;</td>
			<td align="right" title="' . $cash . '">' . $stat . '</td>
		</tr>
		<tr class="spacer"><td colspan="3">&nbsp;</td></tr>
		<tr' . (is_int(++$i / 2) ? ' class="color"' : '') . '>
			<td colspan="3"><b>Tips</b>: Hold musa over stats feltet for å se pengestats!</td>
		</tr>
	</tbody>
</table>';
    return $ret;
}
Exemplo n.º 25
0
        case 2:
            if ($won[1]) {
                echo '
					<p>Dere fikk samme kombinasjon, men motstanderen din hadde høyere highcard. Du <u>tapte</u> <b>' . game::format_number($status->get("bet")) . '</b> chips.</p>';
                break;
            }
            echo '
					<p>Motstanderen fikk bedre kombinasjon enn deg. Du <u>tapte</u> <b>' . game::format_number($status->get("bet")) . '</b> chips.</p>';
    }
    echo '
				</div>' . ($chips <= 0 ? '
				<div class="warning">
					<p>Du har ingen flere chips igjen. Oppdraget ble mislykket.</p>
				</div>' : ($success ? '
				<div class="information">
					<p>Du klarte å spille deg opp til ' . game::format_number($chips) . ' chips og nådde derfor målet på ' . game::format_number($target) . ' chips. Oppdraget ble vellykket!</p>
				</div>' : '')) . '
				<p><b>Dine kort:</b><br />' . $poker->solve_text($solve) . '</p>
				<p>';
    foreach ($poker->active as $key => $card) {
        echo sprintf('
					<img src="%s" alt="%s" title="%s" class="spillekort%s" />', htmlspecialchars(sprintf(KORT_URL, $card->num + 1, $card->group['name'])), ucfirst(htmlspecialchars($card->group['title'])) . ' ' . $card->sign(), ucfirst(htmlspecialchars($card->group['title'])) . ' ' . $card->sign(), isset($solve[2][$key]) ? ' result' : ' noresult');
    }
    echo '
				</p>
				<p><b>Motstanderens kort:</b><br />' . $poker_pc->solve_text($solve_pc) . '</p>
				<p>';
    foreach ($poker_pc->active as $key => $card) {
        echo sprintf('
					<img src="%s" alt="%s" title="%s" class="spillekort%s" />', htmlspecialchars(sprintf(KORT_URL, $card->num + 1, $card->group['name'])), ucfirst(htmlspecialchars($card->group['title'])) . ' ' . $card->sign(), ucfirst(htmlspecialchars($card->group['title'])) . ' ' . $card->sign(), isset($solve_pc[2][$key]) ? ' result' : ' noresult');
    }
Exemplo n.º 26
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>';
    }
Exemplo n.º 27
0
		<input type="submit" value="VIS" />
	</p>
</form>
<table class="table center tablemb">
	<thead>
		<tr>
			<th>&nbsp;</th>
			<th>Når</th>
			<th>Dato</th>
			<th>Antall brukere</th>
			<th>Antall hits</th>
		</tr>
	</thead>
	<tbody>';
$i = 0;
while ($row = $result->fetch()) {
    $i++;
    $time = floor((time() - $row['timestamp']) / 86400);
    echo '
		<tr>
			<td align="right">#' . $i . '</td>
			<td align="right">' . ($time == 1 ? '<b>I går</b>' : ($time > 0 ? '<b>' . $time . '</b> dager' : '<b>I dag</b>')) . '</td>
			<td>' . $row['date'] . '</td>
			<td align="right">' . game::format_number($row['users']) . '</td>
			<td align="right">' . game::format_number($row['hits']) . '</td>
		</tr>';
}
echo '
	</tbody>
</table>';
$_base->page->load();
Exemplo n.º 28
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>';
        }
    }
Exemplo n.º 29
0
 /** Hent statistikk info */
 public function stat_info($field)
 {
     // seperator?
     if ($field == "-") {
         return array("&nbsp;", "&nbsp;");
     }
     // ukjent?
     if (!isset($this->xml->{$field})) {
         return array("ukjent", "ukjent felt: " . htmlspecialchars($field));
     }
     global $_base, $_whatpulse;
     // har vi tittel?
     if (isset($_whatpulse['fields_text'][$field])) {
         $title = htmlspecialchars($_whatpulse['fields_text'][$field]);
     } else {
         $title = htmlspecialchars($field);
     }
     // finn verdi
     $value = $this->xml->{$field};
     $types = $_whatpulse['types'];
     $type = isset($types[$field]) ? $types[$field] : 0;
     switch ($type) {
         // Number
         case 1:
             $value = game::format_number($value);
             break;
             // DateTime
         // DateTime
         case 2:
             $value = $_base->date->get(strtotime($value))->format();
             break;
             // Date
         // Date
         case 3:
             $value = $_base->date->get(strtotime($value))->format(date::FORMAT_NOTIME);
             break;
             // Precision (2)
         // Precision (2)
         case 4:
             $value = game::format_number($value, 2);
             break;
             // Miles
         // Miles
         case 5:
             $value = game::format_number($value * 1.609344, 1) . " km";
             break;
             // TeamName
         // TeamName
         case 6:
             $value = $this->xml->Team->Name;
             // Tekst
         // Tekst
         default:
             $value = htmlspecialchars($value);
     }
     return array($title, $value);
 }
Exemplo n.º 30
0
    /**
     * Vis side med kart
     */
    public function show_full_page()
    {
        global $__server;
        // hent familierangering
        $ff_list = ff::get_fam_points_rank();
        // deaktiver høyre side
        //define("DISABLE_RIGHT_COL", true);
        ess::$b->page->add_css('
#default_main { overflow: visible }');
        ess::$b->page->add_js_domready('
	sm_scripts.load_hm();
	window.HM.addEvent("f-changed", function(data) {
		//$$(".bydeler_filter a").removeClass("active");
		$$(".bydeler_ressurs").setStyle("display", "none");
		$$(".bydeler_ressurs_"+data).setStyle("display", "block");
		//$("f_"+data).addClass("active");
	});
	window.HM.addEvent("f-removed", function() {
		//$$(".bydeler_filter a").removeClass("active");
		//$("f_").addClass("active");
		$$(".bydeler_ressurs").setStyle("display", "block");
	});
	window.HM.addEvent("b-added", function() {
		//$$(".bydeler_alt a").removeClass("active");
		//$("v_b").addClass("active");
		$$(".bydeler_br").setStyle("display", "none");
		$$(".bydeler_steder").setStyle("display", "block");
	});
	window.HM.addEvent("b-removed", function() {
		//$$(".bydeler_alt a").removeClass("active");
		//$("v_").addClass("active");
		$$(".bydeler_br").setStyle("display", "block");
		$$(".bydeler_steder").setStyle("display", "none");
	});
	
	$$(".bydeler_steder").setStyle("display", "none");
	$$(".bydeler_alt a").addEvent("click", function(e)
	{
		window.HM.remove("f");
		window.HM.set("b", "");
		e.stop();
	});
	
	$$(".bydeler_filter a").addEvent("click", function(e)
	{
		window.HM.remove("b");
		if (this.get("id") == "f_") window.HM.remove("f");
		else window.HM.set("f", this.get("id").substring(2));
		e.stop();
	});
	
	window.HM.recheck();
');
        // sett opp alle FF og sorter dem i y-retning
        $data = array();
        $pos_x = array();
        $pos_y = array();
        foreach ($this->bydeler as $id => $bydel) {
            if ($id == 0) {
                continue;
            }
            foreach ($bydel['ff'] as $row) {
                $pos_x[] = $row['br_pos_x'];
                $pos_y[] = $row['br_pos_y'];
                $type = ff::$types[$row['ff_type']];
                // familie
                if ($row['ff_type'] == 1) {
                    $eier = count($row['eier']) == 0 ? 'Ingen leder av broderskapet' : 'Styres av ' . self::list_players($row['eier']);
                    $class = "bydeler_ressurs_familie";
                    // antall poeng
                    if (isset($ff_list[$row['ff_id']]) && $ff_list[$row['ff_id']]->data['ff_is_crew'] == 0) {
                        $eier .= '<br />' . game::format_num($ff_list[$row['ff_id']]->data['ff_points_sum']) . ' poeng';
                    }
                } else {
                    if ($type['type'] == "bomberom") {
                        $eier = count($row['eier']) == 0 ? 'Ingen styrer bomberommet' : 'Styres av ' . self::list_players($row['eier']);
                    } else {
                        $eier = count($row['eier']) == 0 ? 'Ingen eier av firmaet' : 'Eies av ' . self::list_players($row['eier']);
                    }
                    $class = "bydeler_ressurs_firma bydeler_ressurs_{$type['type']}firma";
                }
                $data[] = '
		<a href="' . $__server['relative_path'] . '/ff/?ff_id=' . $row['ff_id'] . '" class="bydeler_ressurs ' . $class . '" style="left: ' . $row['br_pos_x'] . '%; top: ' . $row['br_pos_y'] . '%">
			<img class="bydeler_ressurs_t" src="' . htmlspecialchars($type['bydeler_graphic']) . '" alt="' . htmlspecialchars($type['bydeler_alt_pre']) . htmlspecialchars($row['ff_name']) . '" />
			<span class="bydeler_ressurs_tekst">
				' . htmlspecialchars($row['ff_name']) . '<span class="bydeler_owner"><br />
				' . $eier . '</span>
			</span>
			<img class="bydeler_ressurs_graphic" src="' . htmlspecialchars(ff::get_logo_path_static($row['ff_id'], $row['ff_logo_path'])) . '" alt="" />
		</a>';
            }
        }
        array_multisort($pos_y, $pos_x, $data);
        $bydeler_0 = $this->bydeler[0];
        unset($this->bydeler[0]);
        // sorter bydelene i y-retning
        $bydeler_x = array();
        $bydeler_y = array();
        foreach ($this->bydeler as $id => $bydel) {
            $bydeler_x[] = $bydel['bydel_x'];
            $bydeler_y[] = $bydel['bydel_y'];
        }
        array_multisort($bydeler_x, $bydeler_y, $this->bydeler);
        // invitasjoner til FF
        if (count($this->ff_invites) > 0) {
            echo '
<div class="bg1_c small">
	<h1 class="bg1">Invitasjoner<span class="left2"></span><span class="right2"></span></h1>
	<div class="bg1">';
            foreach ($this->ff_invites as $row) {
                $type = ff::$types[$row['ff_type']];
                echo '
		<p>Du er invitert til ' . $type['refobj'] . ' <a href="' . $__server['relative_path'] . '/ff/?ff_id=' . $row['ff_id'] . '">' . htmlspecialchars($row['ff_name']) . '</a> som ' . $type['priority'][$row['ffm_priority']] . ' (' . ess::$b->date->get($row['ffm_date_join'])->format(date::FORMAT_NOTIME) . ') - <a href="' . $__server['relative_path'] . '/ff/?ff_id=' . $row['ff_id'] . '">Godta/avslå</a></p>';
            }
            echo '
	</div>
</div>';
        }
        if (count($this->fff) > 0) {
            echo '
<div class="bg1_c medium bydeler_br bydeler_ressurs bydeler_ressurs_familie">
	<h1 class="bg1">Konkurranse om å danne broderskap<span class="left2"></span><span class="right2"></span></h1>
	<div class="bg1">
		<table class="table center tablem">
			<thead>
				<tr>
					<th>Avsluttes</th>
					<th>Gjenstår</th>
					<th>Antall broderskap</th>
					<th>Gjenstående broderskap</th>
					<th>&nbsp;</th>
				</tr>
			</thead>
			<tbody class="r">';
            $i = 0;
            $free = 0;
            foreach ($this->fff as $row) {
                if ($row['ff_count'] < ff::MAX_FFF_FF_COUNT) {
                    $free += ff::MAX_FFF_FF_COUNT - $row['ff_count'];
                }
                echo '
				<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>
					<td>' . ess::$b->date->get($row['fff_time_expire'])->format(date::FORMAT_SEC) . '</td>
					<td>' . game::timespan(max(time(), $row['fff_time_expire']), game::TIME_ABS) . '</td>
					<td>' . $row['ff_count'] . '</td>
					<td>' . $row['ff_count_active'] . '</td>
					<td><a href="' . $__server['relative_path'] . '/ff/?fff_id=' . $row['fff_id'] . '">Vis &raquo;</a></td>
				</tr>';
            }
            $create_link = login::$logged_in ? $this->up->rank['number'] < ff::$types[1]['priority_rank'][1] ? ' - Du har ikke høy nok rank til å opprette et broderskap' : ' - Du har høy nok rank - <a href="' . $__server['relative_path'] . '/ff/?create">Opprett broderskap &raquo;</a>' : '';
            echo '
			</tbody>
		</table>' . ($free > 0 ? '
		<p class="c" style="margin-top: 0">Det er ' . $free . ' ' . fword("ledig konkurranseplass", "ledige konkurranseplasser", $free) . $create_link . '</p>' : '
		<p class="c" style="margin-top: 0">Ingen ledige konkurranseplasser.</p>') . '
	</div>
</div>';
        }
        // topp rangerte familier
        if (count($ff_list) > 0) {
            echo '
<div class="bg1_c xxsmall bydeler_br bydeler_ressurs bydeler_ressurs_familie">
	<h1 class="bg1">Topp rangerte broderskap<span class="left"></span><span class="right"></span></h1>
	<div class="bg1">
		<dl class="dd_right">';
            $i = 0;
            foreach ($ff_list as $ff) {
                $title = "For rank til medlemmer: " . $ff->data['ff_points_up'] . " - For firma til medlemmer: " . $ff->data['ff_points_ff'] . " - For drap: " . $ff->data['ff_points_kill'];
                echo '
			<dt><a href="' . ess::$s['rpath'] . '/ff/?ff_id=' . $ff->id . '">' . htmlspecialchars($ff->data['ff_name']) . '</a></dt>
			<dd title="' . $title . '">' . game::format_num($ff->data['ff_points_sum']) . ' poeng</dd>';
                // vis kun 3 beste familiene
                if (++$i == 3) {
                    break;
                }
            }
            echo '
		</dl>
		<p class="c"><a href="' . ess::$s['rpath'] . '/node/19">Poenginformasjon</a></p>
	</div>
</div>';
        }
        kf_menu::$data['bydeler_menu'] = true;
        echo '
<h1 class="bydeler">Bydeler</h1>
<div class="bydeler">
	<div class="bydeler_kart bydeler_br">
		<img src="' . STATIC_LINK . '/themes/kofradia/drammen_stor.gif" class="bydeler_bg" />
		' . implode('', $data) . '
	</div>';
        // har vi noen FF som ikke er plassert?
        if ($bydeler_0['active']) {
            echo '
	<div class="bydeler_uplassert bydeler_br">';
            foreach ($bydeler_0['ff'] as $row) {
                $type = ff::$types[$row['ff_type']];
                // familie
                if ($row['ff_type'] == 1) {
                    $eier = count($row['eier']) == 0 ? 'Ingen leder av broderskapet' : 'Styres av ' . self::list_players($row['eier']);
                    $class = "bydeler_ressurs_familie";
                } else {
                    if ($type['type'] == "bomberom") {
                        $eier = count($row['eier']) == 0 ? 'Ingen styrer bomberommet' : 'Styres av ' . self::list_players($row['eier']);
                    } else {
                        $eier = count($row['eier']) == 0 ? 'Ingen eier av firmaet' : 'Eies av ' . self::list_players($row['eier']);
                    }
                    $class = "bydeler_ressurs_firma bydeler_ressurs_{$type['type']}firma";
                }
                echo '
		<div class="bydeler_uplassert_boks">
			<a href="' . $__server['relative_path'] . '/ff/?ff_id=' . $row['ff_id'] . '" class="bydeler_ressurs ' . $class . '">
				<img class="bydeler_ressurs_graphic" src="' . htmlspecialchars(ff::get_logo_path_static($row['ff_id'], $row['ff_logo_path'])) . '" alt="" />
				<span class="bydeler_ressurs_tekst">
					' . htmlspecialchars($row['ff_name']) . '<span class="bydeler_owner"><br />
					' . $eier . '</span>
				</span>
				<img class="bydeler_ressurs_t" src="' . htmlspecialchars($type['bydeler_graphic']) . '" alt="' . htmlspecialchars($type['bydeler_alt_pre']) . htmlspecialchars($row['ff_name']) . '" />
			</a>
		</div>';
            }
            echo '
	</div>';
        }
        echo '
	<div class="bydeler_kart bydeler_steder">
		<img src="' . STATIC_LINK . '/themes/kofradia/drammen_stor.gif" class="bydeler_bg" />';
        foreach ($this->bydeler as $bydel) {
            if ($bydel['active'] == 0) {
                continue;
            }
            if ($this->up) {
                $distance = self::calc_travel_distance($this->up->bydel, $bydel);
                $taxi_price = round($distance * self::TAXI_PRICE_KM);
                $taxi_points = round($distance * self::TAXI_POINTS_KM * $this->up->rank['number']);
            }
            echo '
		<div class="map_unit' . ($this->up && $this->up->bydel['id'] == $bydel['id'] ? ' map_active' : '') . '" style="left: ' . $bydel['bydel_x'] . '%; top: ' . $bydel['bydel_y'] . '%" id="map_link_' . $bydel['id'] . '">
			<div class="map_title">
				<p class="map_link"><b><b><b>' . htmlspecialchars($bydel['name']) . '</b></b></b></p>
				<div class="bydeler_sted">
					<div class="bydeler_sted_info">
						<dl class="dd_right">
							<dt>Spillere</dt>
							<dd>' . game::format_number($bydel['num_players']) . '</dd>
							<dt>Penger i omløp</dt>
							<dd>' . game::format_cash($bydel['sum_money']) . '</dd>
						</dl>';
            if (!$this->up) {
            } elseif ($this->up->bydel['id'] == $bydel['id']) {
                echo '
						<p>Du befinner deg i denne bydelen.</p>';
            } elseif ($this->up->fengsel_check()) {
                echo '
						<p>Du er i fengsel og kan ikke reise.</p>';
            } elseif ($this->up->bomberom_check()) {
                echo '
						<p>Du er i bomberom og kan ikke reise.</p>';
            } else {
                echo '
						<div class="bydeler_reise c">
							<form action="bydeler" method="post">
								<input type="hidden" name="reise" value="' . htmlspecialchars($bydel['name']) . '" />';
                // taxi
                if (!$this->up->energy_check(self::TAXI_ENERGY * 1.3)) {
                    echo '
								<p>Du har ikke nok energi til å ta taxi hit.</p>';
                } elseif ($this->up->data['up_points'] < $taxi_points * 2) {
                    echo '
								<p>Du har ikke høy nok rank til å ta taxi hit.</p>';
                } else {
                    echo '
								<p>' . show_sbutton("Ta taxi (" . game::format_cash($taxi_price) . ", " . game::format_number(round($taxi_points)) . " poeng)", 'name="taxi"') . '</p>';
                }
                // gta
                if ($this->gta_count == 0) {
                    echo '
								<p>Du har ingen biler i bydelen du oppholder deg i for å reise med.</p>';
                } elseif (!$this->gta_garage[$bydel['id']]['garage']) {
                    echo '
								<p>Det er ingen garasje i denne bydelen.</p>';
                } elseif ($this->gta_garage[$bydel['id']]['garage_free'] == 0) {
                    echo '
								<p>Det er ingen ledige plasser i garasjen i denne bydelen.</p>';
                } else {
                    echo '
								<p>' . show_sbutton("Kjør egen bil", 'name="gta"') . '</p>';
                }
                // teleportere
                if (access::is_nostat()) {
                    echo '
								<p>' . show_sbutton("Teleporter hit (nostat)", 'name="teleporter"') . '</p>';
                }
                echo '
							</form>
						</div>';
            }
            echo '
					</div>
				</div>
			</div>
		</div>';
        }
        echo '
	</div>';
        echo '
</div>';
        ess::$b->page->load();
    }