Esempio n. 1
0
function umc_map_menu($worlds, $current_world, $freeswitch)
{
    global $UMC_DOMAIN, $UMC_PATH_MC;
    $freevalue = 'false';
    if ($freeswitch) {
        $freevalue = 'true';
    }
    $this_uc_map = ucwords($current_world);
    $menu = "\n<!-- Menu -->\n<strong>Uncovery {$this_uc_map} map</strong>\n <button type='button' onclick='find_spawn()'>Find Spawn</button>\n" . " <button type='button' onclick='toggleLotDisplay()'>Display mode</button>\n" . " Choose world:\n <form action=\"{$UMC_DOMAIN}/admin/\" method=\"get\" style=\"display:inline;\">\n    <div style=\"display:inline;\">" . "        <input type='hidden' name='freeonly' value='{$freevalue}'>\n" . "        <input type='hidden' name='function' value='create_map'>\n" . "        <select name=\"world\" style=\"display:inline;\" onchange='this.form.submit()'>\n";
    foreach ($worlds as $worldname) {
        $uc_worldname = ucwords($worldname);
        $selected = '';
        if ($worldname == $current_world) {
            $selected = ' selected';
        }
        $menu .= "            <option value=\"{$worldname}\"{$selected}>{$uc_worldname}</option>\n";
    }
    $menu .= "        </select>\n    </div></form>\n " . "<a id='link_3d_maps' href=\"{$UMC_DOMAIN}/dynmap/#\">3D Maps</a>\n ";
    /* heatmap is disabled
       if ($lag) {
           $menu .= "<a href=\"$UMC_DOMAIN/admin/index.php?function=create_map&amp;world=$world\">Normal Map</a>\n | ";
       } else {
           $menu .= "<a href=\"$UMC_DOMAIN/admin/index.php?function=create_map&amp;world=$world&amp;lag=true\">Heatmap</a>\n | ";
       }
       */
    $menu .= umc_read_markers_file('scrollto', $current_world);
    // get file date
    $image = "{$UMC_PATH_MC}/server/maps/{$current_world}.jpg";
    $date_obj = $datetime = DateTime::createFromFormat('U', filemtime($image));
    $date_diff = umc_timer_format_diff($date_obj);
    $menu .= " <small>({$current_world} map image was updated {$date_diff} ago)</small>";
    return $menu;
}
Esempio n. 2
0
function umc_wp_forum_get_postlink($P)
{
    $user = get_userdata($P->post_author);
    $uuid = get_user_meta($user->ID, 'minecraft_uuid', true);
    $icon_url = umc_user_get_icon_url($uuid);
    $date_obj = umc_datetime($P->post_date);
    $time_ago = umc_timer_format_diff($date_obj);
    $link = $P->guid;
    $post_title = $P->post_title;
    $html = "<a class=\"bbp-reply-topic-title\" href=\"{$link}\" title=\"{$post_title}\">{$post_title}</a><br>by\r\n        <a href=\"http://uncovery.me/forums/users/{$user->user_login}/\" title=\"View {$user->display_name}&#039;s profile\"\r\n        class=\"bbp-author-avatar\" rel=\"nofollow\"><img alt='' src='{$icon_url}' class='avatar avatar-14 photo' height='14' width='14' /></a>&nbsp;\r\n        <a href=\"http://uncovery.me/forums/users/{$user->user_login}/\" title=\"View {$user->display_name}&#039;s profile\" class=\"bbp-author-name\" rel=\"nofollow\">\r\n        {$user->display_name}</a><br>{$time_ago} ago";
    return $html;
}
Esempio n. 3
0
function umc_get_todays_users()
{
    XMPP_ERROR_trace(__FUNCTION__, func_get_args());
    $online_users = umc_read_markers_file('array');
    $sql = "SELECT username, lastlogin, uuid FROM minecraft_srvr.UUID " . "WHERE lastlogin >= now() - INTERVAL 1 DAY ORDER BY lastlogin DESC";
    $data = umc_mysql_fetch_all($sql);
    $json = false;
    $json_arr = array();
    $s_get = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING);
    if (isset($s_get['json'])) {
        $json = true;
    }
    $out = "<div id=\"todays_users\">";
    $count = count($data);
    $opacity_step = 1 / $count;
    $opacity = 1;
    foreach ($data as $user) {
        $url = umc_user_get_icon_url($user['uuid'], false);
        if (!$url) {
            // we do not update here, only when people login
            continue;
        }
        $time = $user['lastlogin'];
        $datetime = umc_datetime($time);
        $timestamp = $datetime->getTimestamp();
        $date_text = umc_timer_format_diff($datetime);
        if (isset($online_users[strtolower($user['username'])])) {
            $label = "{$user['username']} (Online since {$date_text})";
            $class = " online_user";
            $online = 'online';
        } else {
            $class = ' offline_user';
            $label = "{$user['username']} ({$date_text} ago)";
            $online = 'offline';
        }
        if ($json) {
            $json_arr[] = array($user['username'], $timestamp, $url, $online);
        }
        $out .= "<span class=\"today_user_icon{$class}\"><img style=\"opacity:{$opacity};\" src=\"{$url}\" title=\"{$user['username']}\"><label class=\"today_user_label\">{$label}</label></span>\n";
        $opacity = round($opacity - $opacity_step, 4);
    }
    $out .= "</div>";
    if ($json) {
        $json_data = json_encode($json_arr);
        return $json_data;
    } else {
        echo $out;
    }
}
function umc_vanity_check($report = true)
{
    // check remaining days
    global $UMC_USER;
    $player = $UMC_USER['username'];
    $current_title = umc_vanity_get_title();
    $uuid = umc_user2uuid($player);
    $date_out = umc_timer_get($player, 'custom_title');
    if (!$date_out && $current_title) {
        // if there is an expired timer AND an existing title
        umc_exec_command("pex user {$uuid} suffix \"\"", 'asConsole');
        if ($report) {
            umc_echo('Your title has expired. Use /vanity to get a new one!');
        }
    } else {
        if (!$current_title) {
            umc_echo('You do not have a title set. Use /vanity to get a new one!');
        } else {
            if ($report) {
                $date_today = umc_datetime();
                $time_out = $date_out->format('Y-m-d H:i:s');
                $diff_str = umc_timer_format_diff($date_today, $date_out);
                umc_echo("Your title will expire on {$time_out} (in {$diff_str})!");
            }
        }
    }
}
Esempio n. 5
0
function umc_info_who()
{
    global $UMC_USER;
    $args = $UMC_USER['args'];
    // we predefine the array to make sure proper sorting
    $out_arr = array('Guest' => array(), 'Settler' => array(), 'Citizen' => array(), 'Architect' => array(), 'Designer' => array(), 'Master' => array(), 'Elder' => array(), 'Owner' => array());
    $user_worlds = false;
    if (isset($args[2]) && $args[2] == 'where') {
        $user_worlds = umc_read_markers_file('array');
    } else {
        if (isset($args[2])) {
            // single player info
            $user = umc_check_user($args[2]);
            if ($user) {
                $user_info = umc_get_userinfo($user);
                umc_header("User info for {$user}");
                $data_text = '';
                foreach ($user_info as $desc => $data) {
                    if ($desc == 'Last Seen') {
                        if (isset($UMC_USER['player_data'][$user_info['uuid']])) {
                            $data_text = "{$user} is currently online";
                        } else {
                            $datetime = umc_datetime($data);
                            $diff = umc_timer_format_diff($datetime);
                            $data_text = $diff . " ago";
                        }
                    } else {
                        $data_text = $data;
                    }
                    umc_echo("{green}{$desc}: {white}{$data_text}");
                }
                umc_footer();
                return;
            } else {
                umc_echo("{red}Error: Command/user not recognized");
            }
        }
    }
    $players_data = $UMC_USER['player_data'];
    $count = count($players_data);
    foreach ($players_data as $uuid => $players_details) {
        $level = umc_get_uuid_level($uuid);
        $player = $players_details['Name'];
        if (strstr($level, "DonatorPlus")) {
            $new_lvl = substr($level, 0, -11);
            $new_player = "{$player}{yellow}++{white}";
        } else {
            if (strstr($level, "Donator")) {
                $new_lvl = substr($level, 0, -7);
                $new_player = "{$player}{yellow}+{white}";
            } else {
                $new_lvl = $level;
                $new_player = $player;
            }
        }
        $lower_username = strtolower($player);
        if ($user_worlds && isset($user_worlds[$lower_username])) {
            $new_player .= " {grey}({$user_worlds[$lower_username]['world']}){white}";
        }
        $out_arr[$new_lvl][] = $new_player;
    }
    umc_header("{$count} users online:");
    foreach ($out_arr as $level => $players) {
        if (count($players) > 0) {
            umc_echo("{green}{$level}: {white}" . implode(", ", $players));
        }
    }
    umc_footer();
    if ($user_worlds) {
        umc_echo("{blue}Try {grey}/who <player>{blue} for user details");
    } else {
        umc_echo("{blue}Try {grey}/where{blue} or {grey}/who <player>{blue} for more info");
    }
}