function actionRead() { $main = new Templater(); $main->import("interface/news_list.tpl"); $main->setvar("%URL%", "http://" . $GLOBALS['url']); $main->setvar("%STORAGE_TPL_URL%", "/storage/tpl"); $main->setvar("%YEAR%", date("Y")); $main->setvar("%GAME_TITLE%", $GLOBALS['name']); $main->setvar("%STORAGE_STATIC_URL%", "/storage/static"); $array = Database::GetOne("news", array('_id' => toId($_GET['id']))); $html = templater("interface/news_full.tpl", array("%SUBJECT%" => $array['title'], "%DATE%" => $array['date'], "%ANNOUNCE%" => $array['short'], "%TEXT%" => $array['full'], "%ID%" => $array['_id'])); $main->setvar("%CONTENT%", $html); $main->renderEcho(); }
function __call($func, $args) { $func = str_replace("action", "", $func); if ($func != 'index') { $array = Database::GetOne("characters", array("name" => $func)); } else { $array = Database::GetOne("characters", array("_id" => toId($_SESSION['cid']))); $func = $array['name']; } if (!isset($array['name'])) { die("<h1>Персонаж " . $func . " не найден</h1>"); } $params = Database::GetOne("config", array("mod" => "params")); $main = new Templater(); $main->import("interface/playerinfo.tpl"); $main->setvar("%URL%", "http://" . $GLOBALS['url']); $main->setvar("%STORAGE_TPL_URL%", "/storage/tpl"); $main->setvar("%YEAR%", date("Y")); $main->setvar("%CSS%", "<style>" . templater("css/game.css", array("%ROOT%" => "/storage/tpl")) . "</style>"); $main->setvar("%GAME_TITLE%", $GLOBALS['name']); $main->setvar("%STORAGE_STATIC_URL%", "/storage/static"); $main->setvar("%GUI%", template("interface/GUI.tpl")); $main->setvar("%CHATBOX%", template("boxes/chat.tpl")); $params_all = ''; foreach ($array as $key => $value) { if (MongoReserved($key) or MongoReserved($value) or strstr($key, "p_")) { continue; } $main->setvar("%" . $key . "%", $array[$key]); } foreach ($params as $key => $value) { if (!strstr($key, "p_")) { continue; } $v = char(__toString($array['_id']))->getParam($key); $main->setvar("%" . $key . "%", $v); $params_all .= '<p><b>' . $value['name'] . '</b>: ' . $v . '</p>'; } $main->setvar("%PARAMS_ALL%", $params_all); $main->renderEcho(); }
<?php if (isset($_GET['delete'])) { Database::Remove("chat", array("_id" => toId($_GET['delete']))); ob_flush(); echo "Chat message deleted"; } ?> <script> function timeConverter(timestamp) { var d = new Date(timestamp * 1000), // Convert the passed timestamp to milliseconds yyyy = d.getFullYear(), mm = ('0' + (d.getMonth() + 1)).slice(-2), // Months are zero based. Add leading 0. dd = ('0' + d.getDate()).slice(-2), // Add leading 0. hh = d.getHours(), h = hh, min = ('0' + d.getMinutes()).slice(-2), // Add leading 0. ampm = 'AM', time; if (hh > 12) { h = hh - 12; ampm = 'PM'; } else if (hh === 12) { h = 12; ampm = 'PM'; } else if (hh == 0) { h = 12; }
function refresh() { $this->inv = Database::GetOne('characters', array('_id' => toId($this->id)))['inv']; }
} ?> </div> </div> </div> <!-- /.col-sm-4 --> <div class="col-sm-4"> <div class="panel panel-success"> <div class="panel-heading"> <h3 class="panel-title">Персонажи</h3> </div> <div class="panel-body"> <ul> <?php $a1 = Database::Get("characters", array("player" => $_GET['id'])); $a2 = Database::Get("characters", array("player" => toId($_GET['id']))); foreach ($a1 as $array) { echo '<li><a href="/admin/char?id=' . $array['_id'] . '">' . $array['name'] . '</a></li>'; } foreach ($a2 as $array) { echo '<li><a href="/admin/char?id=' . $array['_id'] . '">' . $array['name'] . '</a></li>'; } ?> </ul> </div> </div> <div class="panel panel-info"> <div class="panel-heading"> <h3 class="panel-title">Добавить поле БД</h3> </div> <div class="panel-body">
<form method="POST"><p><button name="new" type="submit" value="1" class="btn btn-xs btn-default">Создать новость</button></p></form> <hr> <?php if (isset($_POST['title'])) { $_POST['_id'] = toId($_GET['edit']); Database::Edit("news", array("_id" => toId($_GET['edit'])), $_POST); echo '<div class="alert alert-success">Новость успешно отредактирована</div>'; } if (isset($_POST['new'])) { $id = new MongoId(); Database::Insert("news", array("_id" => $id, "short" => '', "title" => '', "full" => '', "date" => raptor_date(), "public" => '1')); die("<script>location.href = '/admin/news?edit=" . $id . "';</script>"); } if (isset($_GET['edit'])) { $array = Database::GetOne("news", array("_id" => toId($_GET['edit']))); echo "<form action='' method='POST'>\n\t\t<input class='form-control' name='title' value='" . $array['title'] . "' placeholder='Заголовок'>\n\t\t<textarea rows=15 cols=105 placeholder='Анонс (краткое описание)' name='short'>" . $array['short'] . "</textarea> <br>\n <textarea rows=15 cols=105 placeholder='Полный текст' name='full'>" . $array['full'] . "</textarea> <br>\n <button type='submit' class='btn btn-default'>Сохранить</button>\n </form>\n <hr>"; } ?> <div class="table-responsive"> <table class="table table-bordered table-hover table-striped"> <thead> <tr> <td>Заголовок</td> <td></td> </tr> </thead> <tbody> <?php
public static function changepass($array) { if (!isset($_SESSION['id'])) { $answer = json_encode(array('error' => 'Not logged in')); } Database::Edit("players", array("_id" => toId($_SESSION['id'])), array("password" => md5($array['new']))); $answer = json_encode(array('message' => 'Password changed')); return $answer; }
function onMessage($connect, $data) { $f = explode(";", decode($data)['payload']); if (!is_array($f)) { $f = array($f); } $answer = array(); if ($f[0] == "sid" and isset($f[1])) { $GLOBALS['connects'][$f[1]] = $connect; $sid = $f[1]; $GLOBALS['sess_data'][$f[1]] = Database::GetOne('sessions', array('sess_id' => $sid))['array']; $char_array = Database::GetOne('characters', array('_id' => toId($GLOBALS['sess_data'][$f[1]]['cid']))); $GLOBALS['sess_data'][$f[1]]['name'] = $char_array['name']; $GLOBALS['sess_data'][$f[1]]['player'] = $char_array['player']; $GLOBALS['sess_data'][$f[1]]['x'] = $char_array['x']; $GLOBALS['sess_data'][$f[1]]['y'] = $char_array['y']; $GLOBALS['sess_data'][$f[1]]['dir'] = $char_array['dir']; $GLOBALS['sess_data'][$f[1]]['online'] = $char_array['online']; $GLOBALS['sess_data'][$f[1]]['map'] = $char_array['map']; $GLOBALS['sess_data'][$f[1]]['skin'] = $char_array['skin']; $GLOBALS['sess_data'][$f[1]]['_id'] = $GLOBALS['sess_data'][$f[1]]['cid']; } elseif ($sid = array_search($connect, $GLOBALS['connects'])) { } $answer = apply_ws_query($connect, $sid, $f); fwrite($connect, encode(trim(json_encode($answer, JSON_UNESCAPED_UNICODE), ""))); }
function giveMoney($count, $currency) { if (!strstr($currency, "money_")) { $currency = "money_" . $currency; } $new = (int) $this->__get($currency) + $count; return Database::Edit("characters", array("_id" => toId($this->id)), array($currency => $new)); }
if (empty($_GET['id'])) { $_GET['id'] = $_SESSION['cid']; } if (isset($_POST['change'])) { unset($_POST['change']); Database::Edit("characters", array("_id" => toId($_GET['id'])), $_POST); } if (isset($_POST['make'])) { Database::Edit("characters", array("_id" => toId($_GET['id'])), array($_POST['name'] => 0)); } if (isset($_POST['notes'])) { Database::Edit("characters", array("_id" => toId($_GET['id'])), array("notes" => $_POST['notes'])); } $obj = new Char($_GET['id']); $schar = Database::GetOne("characters", array("_id" => toId($_GET['id']))); if (isset($_GET['give'])) { $obj->inv->giveItem($_GET['give'], $_GET['cnt']); } if (isset($_GET['take'])) { $obj->inv->takeItem($_GET['take'], $_GET['cnt']); } if (empty($schar['_id'])) { echo '<div class="alert alert-danger">Персонаж не найден</div>'; die; } ?> <script> function giveItem(id, count) {
function __get($name) { $array = Database::GetOne("players", array("_id" => toId($this->id))); return $array[$name]; }