iliaa Fri Dec 27 17:47:07 2002 EDT Modified files: /php4/sapi/apache php_apache.c /php4/sapi/apache2filter php_functions.c /php4/sapi/apache_hooks php_apache.c Log: Added apache_get_version() & apache_get_modules() to Apache 1.X & Apache Hooks sapis. Made the module listing in Apache 2 not show the '.c' portion, to be consistent with Apache 1.X. Index: php4/sapi/apache/php_apache.c diff -u php4/sapi/apache/php_apache.c:1.70 php4/sapi/apache/php_apache.c:1.71 --- php4/sapi/apache/php_apache.c:1.70 Thu Dec 5 18:18:28 2002 +++ php4/sapi/apache/php_apache.c Fri Dec 27 17:47:06 2002 @@ -17,7 +17,7 @@ | David Sklar <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: php_apache.c,v 1.70 2002/12/05 23:18:28 helly Exp $ */ +/* $Id: php_apache.c,v 1.71 2002/12/27 22:47:06 iliaa Exp $ */ #include "php_apache_http.h" @@ -35,6 +35,7 @@ #define SECTION(name) PUTS("<h2>" name "</h2>\n") extern module *top_module; +extern module **ap_loaded_modules; PHP_FUNCTION(virtual); PHP_FUNCTION(apache_request_headers); @@ -44,6 +45,8 @@ PHP_FUNCTION(apache_lookup_uri); PHP_FUNCTION(apache_child_terminate); PHP_FUNCTION(apache_setenv); +PHP_FUNCTION(apache_get_version); +PHP_FUNCTION(apache_get_modules); PHP_MINFO_FUNCTION(apache); @@ -55,6 +58,8 @@ PHP_FE(apache_child_terminate, NULL) PHP_FE(apache_setenv, NULL) PHP_FE(apache_response_headers, NULL) + PHP_FE(apache_get_version, NULL) + PHP_FE(apache_get_modules, NULL) PHP_FALIAS(getallheaders, apache_request_headers, NULL) {NULL, NULL, NULL} }; @@ -497,6 +502,34 @@ ap_destroy_sub_req(rr); } #endif + +/* {{{ proto string apache_get_version(void) + Fetch Apache version */ +PHP_FUNCTION(apache_get_version) +{ + RETURN_STRING(SERVER_VERSION, 1); +} +/* }}} */ + +/* {{{ proto array apache_get_modules(void) + Get a list of loaded Apache modules */ +PHP_FUNCTION(apache_get_modules) +{ + int n; + char *p; + + array_init(return_value); + + for (n = 0; ap_loaded_modules[n]; ++n) { + char *s = (char *) ap_loaded_modules[n]->name; + if ((p = strchr(s, '.'))) { + add_next_index_stringl(return_value, s, (p - s), 1); + } else { + add_next_index_string(return_value, s, 1); + } + } +} +/* }}} */ /* * Local variables: Index: php4/sapi/apache2filter/php_functions.c diff -u php4/sapi/apache2filter/php_functions.c:1.32 php4/sapi/apache2filter/php_functions.c:1.33 --- php4/sapi/apache2filter/php_functions.c:1.32 Fri Dec 27 17:02:17 2002 +++ php4/sapi/apache2filter/php_functions.c Fri Dec 27 17:47:06 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_functions.c,v 1.32 2002/12/27 22:02:17 iliaa Exp $ */ +/* $Id: php_functions.c,v 1.33 2002/12/27 22:47:06 iliaa Exp $ */ #include "php.h" #include "ext/standard/php_smart_str.h" @@ -314,11 +314,17 @@ PHP_FUNCTION(apache_get_modules) { int n; + char *p; array_init(return_value); for (n = 0; ap_loaded_modules[n]; ++n) { - add_next_index_string(return_value, (char *) ap_loaded_modules[n]->name, 1); + char *s = (char *) ap_loaded_modules[n]->name; + if ((p = strchr(s, '.'))) { + add_next_index_stringl(return_value, s, (p - s), 1); + } else { + add_next_index_string(return_value, s, 1); + } } } /* }}} */ @@ -328,9 +334,15 @@ char *apv = php_apache_get_version(); smart_str tmp1 = {0}; int n; + char *p; for (n = 0; ap_loaded_modules[n]; ++n) { - smart_str_appends(&tmp1, ap_loaded_modules[n]->name); + char *s = (char *) ap_loaded_modules[n]->name; + if ((p = strchr(s, '.'))) { + smart_str_appendl(&tmp1, s, (p - s)); + } else { + smart_str_appends(&tmp1, s); + } smart_str_appendc(&tmp1, ' '); } @@ -338,7 +350,7 @@ if (apv && *apv) { php_info_print_table_row(2, "Apache Version", apv); } - php_info_print_table_row(2, "Loaded Apache Modules", tmp1.c); + php_info_print_table_row(2, "Loaded Modules", tmp1.c); smart_str_free(&tmp1); php_info_print_table_end(); } Index: php4/sapi/apache_hooks/php_apache.c diff -u php4/sapi/apache_hooks/php_apache.c:1.5 php4/sapi/apache_hooks/php_apache.c:1.6 --- php4/sapi/apache_hooks/php_apache.c:1.5 Tue Dec 10 15:16:30 2002 +++ php4/sapi/apache_hooks/php_apache.c Fri Dec 27 17:47:06 2002 @@ -17,7 +17,7 @@ | David Sklar <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: php_apache.c,v 1.5 2002/12/10 20:16:30 iliaa Exp $ */ +/* $Id: php_apache.c,v 1.6 2002/12/27 22:47:06 iliaa Exp $ */ #include "php_apache_http.h" @@ -40,6 +40,7 @@ #define offsetof(s_type,field) ((size_t)&(((s_type*)0)->field)) extern module *top_module; +extern module **ap_loaded_modules; static int le_apachereq; static zend_class_entry *apacherequest_class_entry; @@ -53,6 +54,8 @@ PHP_FUNCTION(apache_lookup_uri); PHP_FUNCTION(apache_child_terminate); PHP_FUNCTION(apache_setenv); +PHP_FUNCTION(apache_get_version); +PHP_FUNCTION(apache_get_modules); PHP_MINFO_FUNCTION(apache); @@ -65,6 +68,8 @@ PHP_FE(apache_child_terminate, NULL) PHP_FE(apache_setenv, NULL) PHP_FE(apache_response_headers, NULL) + PHP_FE(apache_get_version, NULL) + PHP_FE(apache_get_modules, NULL) PHP_FALIAS(getallheaders, apache_request_headers, NULL) {NULL, NULL, NULL} }; @@ -1906,6 +1911,34 @@ ap_destroy_sub_req(rr); } #endif + +/* {{{ proto string apache_get_version(void) + Fetch Apache version */ +PHP_FUNCTION(apache_get_version) +{ + RETURN_STRING(SERVER_VERSION, 1); +} +/* }}} */ + +/* {{{ proto array apache_get_modules(void) + Get a list of loaded Apache modules */ +PHP_FUNCTION(apache_get_modules) +{ + int n; + char *p; + + array_init(return_value); + + for (n = 0; ap_loaded_modules[n]; ++n) { + char *s = (char *) ap_loaded_modules[n]->name; + if ((p = strchr(s, '.'))) { + add_next_index_stringl(return_value, s, (p - s), 1); + } else { + add_next_index_string(return_value, s, 1); + } + } +} +/* }}} */ /* * Local variables:
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php