Browse Source

beatify Apache's info func

experimental/newoperator
Zeev Suraski 28 years ago
parent
commit
dc5ed5a3fb
  1. 36
      ext/apache/apache.c
  2. 30
      ext/standard/info.c
  3. 4
      ext/standard/info.h
  4. 1
      main/main.c
  5. 9
      main/php_ini.c

36
ext/apache/apache.c

@ -36,6 +36,7 @@
#include "php_ini.h"
#include "SAPI.h"
#include "mod_php3.h"
#include "ext/standard/info.h"
#include <stdlib.h>
#if HAVE_UNISTD_H
@ -157,6 +158,7 @@ void php3_apache_note(INTERNAL_FUNCTION_PARAMETERS)
void php3_info_apache(ZEND_MODULE_INFO_FUNC_ARGS)
{
module *modp = NULL;
char output_buf[128];
#if !defined(WIN32) && !defined(WINNT)
char name[64];
char *p;
@ -171,27 +173,36 @@ void php3_info_apache(ZEND_MODULE_INFO_FUNC_ARGS)
serv = ((request_rec *) SG(server_context))->server;
PUTS("<table border=5 width=\"600\">\n");
php_info_print_table_header(2, "Entry", "Value");
#if WIN32|WINNT
PUTS("Apache for Windows 95/NT<br>");
#else
php3_printf("<tt>APACHE_INCLUDE=%s<br>\n", PHP_APACHE_INCLUDE);
php3_printf("APACHE_TARGET=%s<br></tt>\n", PHP_APACHE_TARGET);
php_info_print_table_row(2, "APACHE_INCLUDE", PHP_APACHE_INCLUDE);
php_info_print_table_row(2, "APACHE_TARGET", PHP_APACHE_TARGET);
#endif
php3_printf("Apache Version: <b>%s</b><br>",SERVER_VERSION);
php_info_print_table_row(2, "Apache Version", SERVER_VERSION);
#ifdef APACHE_RELEASE
php3_printf("Apache Release: <b>%d</b><br>",APACHE_RELEASE);
sprintf(output_buf, "%d", APACHE_RELEASE);
php_info_print_table_row(2, "Apache Release", output_buf);
#endif
php3_printf("Apache API Version: <b>%d</b><br>",MODULE_MAGIC_NUMBER);
php3_printf("Hostname/port: <b>%s:%u</b><br>\n",serv->server_hostname,serv->port);
sprintf(output_buf, "%d", MODULE_MAGIC_NUMBER);
php_info_print_table_row(2, "Apache API Version", output_buf);
sprintf(output_buf, "%s:%u", serv->server_hostname,serv->port);
php_info_print_table_row(2, "Hostname/Port", output_buf);
#if !defined(WIN32) && !defined(WINNT)
php3_printf("User/Group: <b>%s(%d)/%d</b><br>\n",user_name,(int)user_id,(int)group_id);
php3_printf("Max Requests: <b>per child: %d &nbsp;&nbsp; keep alive: %s &nbsp;&nbsp; max per connection: %d</b><br>\n",max_requests_per_child,serv->keep_alive ? "on":"off", serv->keep_alive_max);
sprintf(output_buf, "%s(%d)/%d", user_name,(int)user_id,(int)group_id);
php_info_print_table_row(2, "User/Group", output_buf);
sprintf(output_buf, "per child: %d<br>keep alive: %s<br>max per connection: %d",max_requests_per_child,serv->keep_alive ? "on":"off", serv->keep_alive_max);
php_info_print_table_row(2, "Max Requests", output_buf);
#endif
php3_printf("Timeouts: <b>connection: %d &nbsp;&nbsp; keep-alive: %d</b><br>",serv->timeout,serv->keep_alive_timeout);
sprintf(output_buf, "connection: %d<br>keep-alive: %d",serv->timeout,serv->keep_alive_timeout);
php_info_print_table_row(2, "Timeouts", output_buf);
#if !defined(WIN32) && !defined(WINNT)
php3_printf("Server Root: <b>%s</b><br>\n",server_root);
php_info_print_table_row(2, "Server Root", server_root);
PUTS("Loaded modules: ");
PUTS("<tr><td valign=\"top\" bgcolor=\"" PHP_ENTRY_NAME_COLOR "\">Loaded modules</td><td bgcolor=\"" PHP_CONTENTS_COLOR "\">");
for(modp = top_module; modp; modp = modp->next) {
strncpy(name, modp->name, sizeof(name) - 1);
if ((p = strrchr(name, '.'))) {
@ -203,7 +214,8 @@ void php3_info_apache(ZEND_MODULE_INFO_FUNC_ARGS)
}
}
#endif
PUTS("<br></td?</tr>\n");
PUTS("</td></tr>\n");
PUTS("</table>\n");
}
/* This function is equivalent to <!--#include virtual...-->

30
ext/standard/info.c

@ -41,14 +41,10 @@
#define PHP3_CONF_LONG(directive,value1,value2) \
php3_printf("<tr><td bgcolor=\"" ENTRY_NAME_COLOR "\">%s</td><td bgcolor=\"" CONTENTS_COLOR "\">%ld</td><td bgcolor=\"" CONTENTS_COLOR "\">%ld</td></tr>\n",directive,value1,value2);
php3_printf("<tr><td bgcolor=\"" PHP_ENTRY_NAME_COLOR "\">%s</td><td bgcolor=\"" PHP_CONTENTS_COLOR "\">%ld</td><td bgcolor=\"" PHP_CONTENTS_COLOR "\">%ld</td></tr>\n",directive,value1,value2);
#define SECTION(name) PUTS("<hr><h2>" name "</h2>\n")
#define ENTRY_NAME_COLOR "#999999"
#define CONTENTS_COLOR "#DDDDDD"
#define HEADER_COLOR "#00DDDD"
#define CREDIT_LINE(module, authors) php_info_print_table_row(2, module, authors)
@ -115,7 +111,7 @@ PHPAPI void _php3_info(void)
PUTS("<hr><h1>Credits</h1>\n");
PUTS("<table border=5 width=\"600\">\n");
PUTS("<tr><th colspan=\"2\" bgcolor=\"" HEADER_COLOR "\">PHP 4.0 Authors</th></tr>\n");
PUTS("<tr><th colspan=\"2\" bgcolor=\"" PHP_HEADER_COLOR "\">PHP 4.0 Authors</th></tr>\n");
php_info_print_table_header(2, "Module", "Authors");
CREDIT_LINE("Scripting Language Engine", "Andi Gutmans, Zeev Suraski");
CREDIT_LINE("Extension Module API", "Andi Gutmans, Zeev Suraski");
@ -182,7 +178,7 @@ PHPAPI void _php3_info(void)
_php3_hash_internal_pointer_reset((*data)->value.ht);
while (_php3_hash_get_current_data((*data)->value.ht, (void **) &tmp) == SUCCESS) {
convert_to_string(*tmp);
PUTS("<tr><td bgcolor=\"" ENTRY_NAME_COLOR "\">HTTP_GET_VARS[\"");
PUTS("<tr><td bgcolor=\"" PHP_ENTRY_NAME_COLOR "\">HTTP_GET_VARS[\"");
switch (_php3_hash_get_current_key((*data)->value.ht, &string_key, &num_key)) {
case HASH_KEY_IS_STRING:
PUTS(string_key);
@ -192,7 +188,7 @@ PHPAPI void _php3_info(void)
php3_printf("%ld",num_key);
break;
}
PUTS("\"]</td><td bgcolor=\"" CONTENTS_COLOR "\">");
PUTS("\"]</td><td bgcolor=\"" PHP_CONTENTS_COLOR "\">");
PUTS((*tmp)->value.str.val); /* This could be "Array" - too ugly to expand that for now */
PUTS("</td></tr>\n");
_php3_hash_move_forward((*data)->value.ht);
@ -202,7 +198,7 @@ PHPAPI void _php3_info(void)
_php3_hash_internal_pointer_reset((*data)->value.ht);
while (_php3_hash_get_current_data((*data)->value.ht, (void **) &tmp) == SUCCESS) {
convert_to_string(*tmp);
PUTS("<tr><td bgcolor=\"" ENTRY_NAME_COLOR "\">HTTP_POST_VARS[\"");
PUTS("<tr><td bgcolor=\"" PHP_ENTRY_NAME_COLOR "\">HTTP_POST_VARS[\"");
switch (_php3_hash_get_current_key((*data)->value.ht, &string_key, &num_key)) {
case HASH_KEY_IS_STRING:
PUTS(string_key);
@ -212,7 +208,7 @@ PHPAPI void _php3_info(void)
php3_printf("%ld",num_key);
break;
}
PUTS("\"]</td><td bgcolor=\"" CONTENTS_COLOR "\">");
PUTS("\"]</td><td bgcolor=\"" PHP_CONTENTS_COLOR "\">");
PUTS((*tmp)->value.str.val);
PUTS("</td></tr>\n");
_php3_hash_move_forward((*data)->value.ht);
@ -222,7 +218,7 @@ PHPAPI void _php3_info(void)
_php3_hash_internal_pointer_reset((*data)->value.ht);
while (_php3_hash_get_current_data((*data)->value.ht, (void **) &tmp) == SUCCESS) {
convert_to_string(*tmp);
PUTS("<tr><td bgcolor=\"" ENTRY_NAME_COLOR "\">HTTP_COOKIE_VARS[\"");
PUTS("<tr><td bgcolor=\"" PHP_ENTRY_NAME_COLOR "\">HTTP_COOKIE_VARS[\"");
switch (_php3_hash_get_current_key((*data)->value.ht, &string_key, &num_key)) {
case HASH_KEY_IS_STRING:
PUTS(string_key);
@ -232,7 +228,7 @@ PHPAPI void _php3_info(void)
php3_printf("%ld",num_key);
break;
}
PUTS("\"]</td><td bgcolor=\"" CONTENTS_COLOR "\">");
PUTS("\"]</td><td bgcolor=\"" PHP_CONTENTS_COLOR "\">");
PUTS((*tmp)->value.str.val);
PUTS("</td></tr>\n");
_php3_hash_move_forward((*data)->value.ht);
@ -274,7 +270,7 @@ PHPAPI void _php3_info(void)
r = ((request_rec *) SG(server_context));
SECTION("HTTP Headers Information");
PUTS("<table border=5 width=\"600\">\n");
PUTS(" <tr><th colspan=2 bgcolor=\"" HEADER_COLOR "\">HTTP Request Headers</th></tr>\n");
PUTS(" <tr><th colspan=2 bgcolor=\"" PHP_HEADER_COLOR "\">HTTP Request Headers</th></tr>\n");
php_info_print_table_row(2, "HTTP Request", r->the_request);
env_arr = table_elts(r->headers_in);
env = (table_entry *)env_arr->elts;
@ -283,7 +279,7 @@ PHPAPI void _php3_info(void)
php_info_print_table_row(2, env[i].key, env[i].val);
}
}
PUTS(" <tr><th colspan=2 bgcolor=\"" HEADER_COLOR "\">HTTP Response Headers</th></tr>\n");
PUTS(" <tr><th colspan=2 bgcolor=\"" PHP_HEADER_COLOR "\">HTTP Response Headers</th></tr>\n");
env_arr = table_elts(r->headers_out);
env = (table_entry *)env_arr->elts;
for(i = 0; i < env_arr->nelts; ++i) {
@ -335,7 +331,7 @@ PHPAPI void php_info_print_table_header(int num_cols, ...)
if (!row_element || !*row_element) {
row_element = "&nbsp;";
}
php3_printf("<th bgcolor=\"" HEADER_COLOR "\" valign=\"top\">%s</th>", row_element);
php3_printf("<th bgcolor=\"" PHP_HEADER_COLOR "\" valign=\"top\">%s</th>", row_element);
}
php3_printf("</tr>\n");
@ -347,7 +343,7 @@ PHPAPI void php_info_print_table_row(int num_cols, ...)
{
int i;
va_list row_elements;
char *color = ENTRY_NAME_COLOR;
char *color = PHP_ENTRY_NAME_COLOR;
char *row_element;
va_start(row_elements, num_cols);
@ -359,7 +355,7 @@ PHPAPI void php_info_print_table_row(int num_cols, ...)
row_element = "&nbsp;";
}
php3_printf("<td bgcolor=\"%s\" valign=\"top\">%s</td>", color, row_element);
color = CONTENTS_COLOR;
color = PHP_CONTENTS_COLOR;
}
php3_printf("</tr>\n");

4
ext/standard/info.h

@ -32,6 +32,10 @@
#ifndef _INFO_H
#define _INFO_H
#define PHP_ENTRY_NAME_COLOR "#999999"
#define PHP_CONTENTS_COLOR "#DDDDDD"
#define PHP_HEADER_COLOR "#00DDDD"
void php3_version(INTERNAL_FUNCTION_PARAMETERS);
void php3_info(INTERNAL_FUNCTION_PARAMETERS);
PHPAPI void _php3_info(void);

1
main/main.c

@ -921,7 +921,6 @@ int _php3_hash_environment(PLS_D ELS_DC)
case 'g':
case 'G':
if (!_gpc_flags[2]) {
printf("Parsing GET data: '%s'\n", SG(request_info).query_string);
php3_treat_data(PARSE_GET, NULL); /* GET Data */
_gpc_flags[2]=1;
}

9
main/php_ini.c

@ -36,9 +36,6 @@
#include "php_globals.h"
#include "ext/standard/info.h"
#define ENTRY_NAME_COLOR "#999999"
#define CONTENTS_COLOR "#DDDDDD"
static HashTable known_directives;
@ -320,11 +317,11 @@ static int php_ini_displayer(php_ini_entry *ini_entry, int module_number)
return 0;
}
PUTS("<tr><td align=\"center\" bgcolor=\"" ENTRY_NAME_COLOR "\">");
PUTS("<tr><td align=\"center\" bgcolor=\"" PHP_ENTRY_NAME_COLOR "\">");
PHPWRITE(ini_entry->name, ini_entry->name_length-1);
PUTS("<td align=\"center\" bgcolor=\"" CONTENTS_COLOR "\">");
PUTS("<td align=\"center\" bgcolor=\"" PHP_CONTENTS_COLOR "\">");
php_ini_displayer_cb(ini_entry, PHP_INI_DISPLAY_ACTIVE);
PUTS("</td><td align=\"center\" bgcolor=\"" CONTENTS_COLOR "\">");
PUTS("</td><td align=\"center\" bgcolor=\"" PHP_CONTENTS_COLOR "\">");
php_ini_displayer_cb(ini_entry, PHP_INI_DISPLAY_ORIG);
PUTS("</td></tr>\n");
return 0;

Loading…
Cancel
Save