Example #1
0
/**
 * find opponents by finder 
 * @param &array $users
 * @param string $finder
 * @return false if $finder already find opponent else true
 *
 */
function findOpponent(&$users, $finder)
{
    foreach ($users as $target => $value) {
        if ($finder != $target && $target[0] == 'g') {
            if ($users->{$finder} >= $value) {
                $chatId = addChat(array($finder, $target));
                dropFromSearch($users, array($finder, $target), $chatId);
                break;
            }
        }
    }
    return true;
}
Example #2
0
function garbageCollector($params)
{
    if (isset($_SESSION['user'])) {
        $users = getJsonFromFile('users.json');
        if (isset($users->{$_SESSION}['user'])) {
            if (isset($_REQUEST['quit'])) {
                $users->{$_SESSION}['user']->online = false;
            } else {
                $users->{$_SESSION}['user']->online = true;
                $users->{$_SESSION}['user']->visited = time();
            }
            setJsonToFile('users.json', $users);
        } else {
            $activeUsers = getJsonFromFile('active_users.json');
            if (isset($activeUsers->{$_SESSION}['user'])) {
                if (isset($_REQUEST['quit'])) {
                    $_SESSION['status'] = 0;
                    dropFromSearch($activeUsers, array($_SESSION['user']));
                    setJsonToFile('active_users.json', $activeUsers);
                    garbageCollector();
                }
            } else {
                $_SESSION['user'] = null;
                garbageCollector();
            }
        }
        return $_SESSION['user'];
    } else {
        return addUser();
    }
}