X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_functions.c;h=0462c3b760b24aea0b31bd10ac51dea9e5f050a8;hp=0dfb68bcf9747e9554d7392a21a8814f0d839087;hb=50343c32560e80c491911b107fab8217a35850eb;hpb=614f707afdcca47e4cc6cdd5eb8926c363be909f diff --git a/http_functions.c b/http_functions.c index 0dfb68b..0462c3b 100644 --- a/http_functions.c +++ b/http_functions.c @@ -55,7 +55,7 @@ PHP_FUNCTION(http_date) } if (t == -1) { - t = (long) HTTP_GET_REQUEST_TIME(); + t = HTTP_G->request.time; } RETURN_STRING(http_date(t), 0); @@ -430,7 +430,7 @@ PHP_FUNCTION(http_send_last_modified) } if (t == -1) { - t = (long) HTTP_GET_REQUEST_TIME(); + t = HTTP_G->request.time; } RETURN_SUCCESS(http_send_last_modified(t)); @@ -510,7 +510,7 @@ PHP_FUNCTION(http_match_modified) // current time if not supplied (senseless though) if (t == -1) { - t = (long) HTTP_GET_REQUEST_TIME(); + t = HTTP_G->request.time; } if (for_range) { @@ -565,7 +565,7 @@ PHP_FUNCTION(http_match_etag) * Returns FALSE on failure, or *exits* with "304 Not Modified" if the entity is cached. * * A log entry will be written to the cache log if the INI entry - * http.cache_log is set and the cache attempt was successful. + * http.log.cache is set and the cache attempt was successful. */ PHP_FUNCTION(http_cache_last_modified) { @@ -578,7 +578,7 @@ PHP_FUNCTION(http_cache_last_modified) HTTP_CHECK_HEADERS_SENT(RETURN_FALSE); - t = (long) HTTP_GET_REQUEST_TIME(); + t = HTTP_G->request.time; /* 0 or omitted */ if (!last_modified) { @@ -605,7 +605,7 @@ PHP_FUNCTION(http_cache_last_modified) /* {{{ proto bool http_cache_etag([string etag]) * * Attempts to cache the sent entity by its ETag, either supplied or generated - * by the hash algorithm specified by the INI setting "http.etag_mode". + * by the hash algorithm specified by the INI setting "http.etag.mode". * * If the clients "If-None-Match" header matches the supplied/calculated * ETag, the body is considered cached on the clients side and @@ -614,7 +614,7 @@ PHP_FUNCTION(http_cache_last_modified) * Returns FALSE on failure, or *exits* with "304 Not Modified" if the entity is cached. * * A log entry is written to the cache log if the INI entry - * "http.cache_log" is set and the cache attempt was successful. + * "http.log.cache" is set and the cache attempt was successful. */ PHP_FUNCTION(http_cache_etag) { @@ -634,7 +634,7 @@ PHP_FUNCTION(http_cache_etag) /* {{{ proto string ob_etaghandler(string data, int mode) * * For use with ob_start(). Output buffer handler generating an ETag with - * the hash algorithm specified with the INI setting "http.etag_mode". + * the hash algorithm specified with the INI setting "http.etag.mode". */ PHP_FUNCTION(ob_etaghandler) { @@ -713,7 +713,7 @@ PHP_FUNCTION(http_throttle) * Returns FALSE on failure, or *exits* on success. * * A log entry will be written to the redirect log, if the INI entry - * "http.redirect_log" is set and the redirect attempt was successful. + * "http.log.redirect" is set and the redirect attempt was successful. */ PHP_FUNCTION(http_redirect) { @@ -1089,7 +1089,7 @@ PHP_FUNCTION(http_parse_cookie) } } -/* {{{ proto object http_parse_params(string param) +/* {{{ proto object http_parse_params(string param[, int flags = HTTP_PARAMS_DEFAULT]) * * Parse parameter list. */ @@ -1098,14 +1098,15 @@ PHP_FUNCTION(http_parse_params) char *param; int param_len; zval *params; + long flags = HTTP_PARAMS_DEFAULT; - if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶m, ¶m_len)) { + if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", ¶m, ¶m_len, &flags)) { RETURN_FALSE; } params = ecalloc(1, sizeof(zval)); array_init(params); - if (SUCCESS != http_parse_params(param, Z_ARRVAL_P(params))) { + if (SUCCESS != http_parse_params(param, flags, Z_ARRVAL_P(params))) { zval_dtor(params); FREE_ZVAL(params); RETURN_FALSE; @@ -1248,9 +1249,8 @@ PHP_FUNCTION(http_match_request_header) * - cookies: array, list of cookies as associative array * like array("cookie" => "value") * - encodecookies: bool, whether to urlencode the cookies (default: true) - * - resetcookies: bool, wheter to reset the cookies * - cookiestore: string, path to a file where cookies are/will be stored - * - cookiesession: bool, accept (true) or reset (false) sessioncookies + * - cookiesession: bool, don't load session cookies from cookiestore if TRUE * - resume: int, byte offset to start the download from; * if the server supports ranges * - range: array, array of arrays, each containing two integers, @@ -1670,6 +1670,7 @@ PHP_FUNCTION(http_request) } /* }}} */ +#ifdef HAVE_CURL_GETFORMDATA static char *file_get_contents(char *file, size_t *len TSRMLS_DC) { php_stream *s = NULL; @@ -1763,6 +1764,7 @@ PHP_FUNCTION(http_request_body_encode) break; } } +#endif /* HAVE_CURL_GETFORMDATA */ #endif /* HTTP_HAVE_CURL */ /* }}} HAVE_CURL */