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; }
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) . '}'; }