Exemplo n.º 1
0
function api_output_rabx($arr)
{
    $out = '';
    rabx_wire_wr($arr, $out);
    if (get_http_var('verbose')) {
        $out = str_replace(',', ",\n", $out);
    }
    return $out;
}
Exemplo n.º 2
0
function auth_token_store($scope, $data)
{
    $token = auth_random_token();
    $ser = '';
    rabx_wire_wr($data, $ser);
    db_query('
            insert into token (scope, token, data, created)
            values (?, ?, ?, ms_current_timestamp())', array($scope, $token, $ser));
    return $token;
}
Exemplo n.º 3
0
function stash_redirect($key, $email = NULL, $function = NULL)
{
    list($method, $url, $post_data, $old_email) = db_getRow_list('select method, url, post_data, email from requeststash where key = ?', $key);
    if ($email && $old_email) {
        // For if they changed email address on login screen
        $post_data = pg_unescape_bytea($post_data);
        $pos = 0;
        $params = rabx_wire_rd(&$post_data, &$pos);
        if (rabx_is_error($params)) {
            err("Bad serialised POST data in stash_redirect('{$key}')");
        }
        $params = call_user_func($function, $params, $old_email, $email);
        $new_post_data = '';
        rabx_wire_wr($params, $new_post_data);
        if ($post_data != $new_post_data) {
            $post_data = $new_post_data;
            db_query('update requeststash set post_data = ? where key = ?', $post_data, $key);
            db_commit();
        }
    }
    if (is_null($method)) {
        err(_("If you got the email more than a year ago, then your request has probably expired.  Please try doing what you were doing from the beginning."), E_USER_NOTICE);
    }
    if (headers_sent()) {
        err("Headers have already been sent in stash_redirect('{$key}')");
    }
    if ($method == 'GET') {
        /* should we ob_clean here? */
        header("Location: {$url}");
        exit;
    } else {
        // POST
        /* add token on end so can pull out POST params after redirect */
        $url .= strstr($url, "?") ? '&' : '?';
        $url .= "stashpost={$key}";
        header("Location: {$url}");
        #print "Going to $url";
        exit;
    }
}
Exemplo n.º 4
0
function rabx_serialise(&$x)
{
    $ser = '';
    rabx_wire_wr($x, $ser);
    return $ser;
}