コード例 #1
0
function umc_get_lot_owner_age($format = 'string', $oneuser = false, $debug = false)
{
    XMPP_ERROR_trace(__FUNCTION__, func_get_args());
    $playerfilter = "";
    if ($oneuser) {
        $uuid = umc_uuid_getone($oneuser, 'uuid');
        $playerfilter = " AND UUID.uuid = '{$uuid}'";
    }
    //temp fix for wrong userlogin
    umc_uuid_firstlogin_update($uuid);
    $sql = "SELECT username, lastlogin, firstlogin, onlinetime\r\n        FROM minecraft_srvr.UUID\r\n        LEFT JOIN minecraft_worldguard.user ON user.uuid=UUID.uuid\r\n        LEFT JOIN minecraft_worldguard.region_players ON id=user_id\r\n        WHERE owner=1 {$playerfilter}\r\n        GROUP BY username, lastlogin\r\n        ORDER BY lastlogin ASC";
    $R = umc_mysql_fetch_all($sql);
    $users = array();
    $diff_steps = array('y' => 'years', 'm' => 'months', 'd' => 'days', 'h' => 'hours', 'i' => 'minutes', 's' => 'seconds');
    /*
    *
       $now = time(); // or your date as well
       $your_date = strtotime("2013-11-20");
       $datediff = $now - $your_date;
       $alt_days = floor($datediff/(60*60*24));
    */
    // umc_error_notify("Could not get player age: $sql");
    if (count($R) == 0) {
        // umc_error_notify("Error to get user age: $sql");
        return false;
    }
    foreach ($R as $row) {
        $username = strtolower($row['username']);
        $last_time = $row['lastlogin'];
        /* if (!function_exists('umc_datetime')) {
                    umc_error_longmsg("umc_Datetime not found ($sql)");
                    include_once("$UMC_PATH_MC/server/bin/includes/timer.inc.php");
                    if (!function_exists('umc_datetime')) {
                        umc_error_longmsg("Datetime function not found (level2)");
                    }
        
                }*/
        $last_datetime = umc_datetime($last_time);
        $first_time = $row['firstlogin'];
        if ($debug) {
            echo "First_time = {$first_time}\n";
        }
        $first_datetime = umc_datetime($first_time);
        if ($debug) {
            echo "First_datetime = " . var_export($first_datetime, true);
        }
        if ($format == 'string') {
            $last_diff = umc_timer_array_diff($last_datetime);
            $first_diff = umc_timer_array_diff($first_datetime);
            foreach ($diff_steps as $code => $text) {
                $last_val = $last_diff->{$code};
                $users[$uuid]['lastlogin'][$text] = $last_val;
                $first_val = $first_diff->{$code};
                $users[$uuid]['firstlogin'][$text] = $first_val;
            }
        } else {
            // days
            $first_seconds = umc_timer_raw_diff($first_datetime);
            if ($debug) {
                echo "First_seconds = " . var_export($first_seconds, true);
            }
            $first_days = round($first_seconds / 60 / 60 / 24);
            $users[$uuid]['firstlogin']['days'] = $first_days;
            $users[$uuid]['firstlogin']['seconds'] = $first_seconds;
            $last_seconds = umc_timer_raw_diff($last_datetime);
            $last_days = round($last_seconds / 60 / 60 / 24);
            $users[$uuid]['lastlogin']['days'] = $last_days;
            $users[$uuid]['lastlogin']['seconds'] = $last_seconds;
        }
        $users[$uuid]['lastlogin']['full'] = $last_time;
        $users[$uuid]['firstlogin']['full'] = $first_time;
        $users[$uuid]['onlinetime']['seconds'] = $row['onlinetime'];
        $users[$uuid]['onlinetime']['days'] = round($row['onlinetime'] / 60 / 60 / 24);
    }
    return $users;
}
コード例 #2
0
function umc_uuid_userdata($uuid, $username)
{
    $sql_time = "SELECT * FROM minecraft_srvr.UUID WHERE UUID='{$uuid}';";
    $data = umc_mysql_fetch_all($sql_time);
    if (count($data) == 0) {
        $ins_sql = "INSERT INTO minecraft_srvr.UUID (UUID, username) VALUES ('{$uuid}', '{$username}');";
        umc_mysql_query($ins_sql);
        umc_uuid_firstlogin_update($uuid);
        // we cal lthis function again to get the data output;
        umc_uuid_userdata($uuid, $username);
    } else {
        return $data[0];
    }
}