예제 #1
0
function prep_page($template, $title = null, $local_vars = array(), $options = null)
{
    // Updates the quickstat via javascript if requested.
    $quickstat = @$options['quickstat'];
    $quickstat = $quickstat ? $quickstat : @$local_vars['quickstat'];
    $body_classes = isset($options['body_classes']) ? $options['body_classes'] : (isset($local_vars['body_classes']) ? $local_vars['body_classes'] : null);
    $is_index = @$options['is_index'];
    // *** Initialize the template object ***
    $tpl = new NWTemplate();
    $tpl->assignArray($local_vars);
    $user_id = self_char_id();
    // Character id.
    $public_char_info = public_self_info();
    // Char info to pass to javascript.
    $tpl->assign('logged_in', $user_id);
    $tpl->assign('user_id', $user_id);
    $tpl->assign('title', $title);
    $tpl->assign('quickstat', $quickstat);
    $tpl->assign('is_index', $is_index);
    $tpl->assign('json_public_char_info', $public_char_info ? json_encode($public_char_info) : null);
    $tpl->assign('body_classes', $body_classes);
    $tpl->assign('main_template', $template);
    return $tpl;
}
예제 #2
0
function json_index()
{
    DatabaseConnection::getInstance();
    $player = public_self_info();
    $events = array();
    $messages = array();
    $user_id = $player['player_id'];
    $unread_messages = null;
    $unread_events = null;
    if ($user_id) {
        $events = DatabaseConnection::$pdo->prepare("SELECT event_id, message AS event, date, send_to, send_from, unread, uname AS sender FROM events JOIN players ON player_id = send_from WHERE send_to = :userID and unread = 1 ORDER BY date DESC");
        $events->bindValue(':userID', $user_id);
        $events->execute();
        $unread_events = $events->rowCount();
        $messages = DatabaseConnection::$pdo->prepare("SELECT message_id, message, date, send_to, send_from, unread, uname AS sender FROM messages JOIN players ON player_id = send_from WHERE send_to = :userID1 AND send_from != :userID2 and unread = 1 ORDER BY date DESC");
        $messages->bindValue(':userID1', $user_id);
        $messages->bindValue(':userID2', $user_id);
        $messages->execute();
        $unread_messages = $messages->rowCount();
    }
    return '{"player":' . json_encode($player) . ',
				"member_counts":' . json_member_count() . ',
	            "unread_messages_count":' . json_encode($unread_messages) . ',
				"message":' . json_encode(!empty($messages) ? $messages->fetch() : null) . ',
				"inventory":{"inv":1,"items":' . json_encode(query_array("SELECT item.item_display_name as item, amount FROM inventory join item on inventory.item_type = item.item_id WHERE owner = :user_id ORDER BY item_display_name", array(':user_id' => $user_id))) . ',"hash":"' . md5(strtotime("now")) . '"},
				"unread_events_count":' . json_encode($unread_events) . ',
				"event":' . json_encode(!empty($events) ? $events->fetch() : null) . '}';
}