mirror of
https://abf.rosa.ru/djam/php7.git
synced 2025-02-22 22:32:48 +00:00
75 lines
2.3 KiB
Diff
75 lines
2.3 KiB
Diff
--- php-7.0.1/sapi/apache2handler/php_functions.c.apache2-filters.droplet 2015-12-16 11:41:55.000000000 +0100
|
|
+++ php-7.0.1/sapi/apache2handler/php_functions.c 2015-12-29 00:12:07.202603653 +0100
|
|
@@ -216,6 +216,63 @@ PHP_FUNCTION(apache_response_headers)
|
|
}
|
|
/* }}} */
|
|
|
|
+/* {{{ proto array apache_get_output_filters()
|
|
+ Get All Active Output filters */
|
|
+PHP_FUNCTION(apache_get_output_filters)
|
|
+{
|
|
+ ap_filter_t* ff;
|
|
+ php_struct *ctx;
|
|
+
|
|
+ if (ZEND_NUM_ARGS() != 0) {
|
|
+ WRONG_PARAM_COUNT;
|
|
+ }
|
|
+
|
|
+ if(array_init(return_value) != SUCCESS)
|
|
+ {
|
|
+ RETURN_NULL();
|
|
+ }
|
|
+
|
|
+ ctx = SG(server_context);
|
|
+
|
|
+ ff = ctx->r->output_filters;
|
|
+
|
|
+ do {
|
|
+ add_next_index_string(return_value, ff->frec->name);
|
|
+ ff = ff->next ;
|
|
+ } while (ff);
|
|
+
|
|
+}
|
|
+/* }}} */
|
|
+
|
|
+/* {{{ proto bool apache_add_output_filter(string filter_name)
|
|
+ Add an output filter to this request */
|
|
+PHP_FUNCTION(apache_add_output_filter)
|
|
+{
|
|
+ php_struct *ctx;
|
|
+ int arg_count = ZEND_NUM_ARGS();
|
|
+ char *filter_name;
|
|
+ ap_filter_rec_t* ap_filter;
|
|
+
|
|
+ if (arg_count != 1 ||
|
|
+ zend_parse_parameters(arg_count TSRMLS_CC, "s", &filter_name) == FAILURE) {
|
|
+ WRONG_PARAM_COUNT;
|
|
+ }
|
|
+
|
|
+ ctx = SG(server_context);
|
|
+
|
|
+ ap_filter = ap_get_output_filter_handle(filter_name);
|
|
+
|
|
+ /* requested output filter was not found */
|
|
+ if(ap_filter == NULL) {
|
|
+ RETURN_FALSE;
|
|
+ }
|
|
+ else {
|
|
+ ap_add_output_filter_handle(ap_filter, NULL, ctx->r, ctx->r->connection);
|
|
+ RETURN_TRUE;
|
|
+ }
|
|
+}
|
|
+/* }}} */
|
|
+
|
|
/* {{{ proto string apache_note(string note_name [, string note_value])
|
|
Get and set Apache request notes */
|
|
PHP_FUNCTION(apache_note)
|
|
@@ -520,6 +579,8 @@ ZEND_END_ARG_INFO()
|
|
static const zend_function_entry apache_functions[] = {
|
|
PHP_FE(apache_lookup_uri, arginfo_apache2handler_lookup_uri)
|
|
PHP_FE(virtual, arginfo_apache2handler_virtual)
|
|
+ PHP_FE(apache_get_output_filters, NULL)
|
|
+ PHP_FE(apache_add_output_filter, NULL)
|
|
PHP_FE(apache_request_headers, arginfo_apache2handler_getallheaders)
|
|
PHP_FE(apache_response_headers, arginfo_apache2handler_response_headers)
|
|
PHP_FE(apache_setenv, arginfo_apache2handler_setenv)
|