cvs: /php4 LICENSE cgi_main.c php_ini.c /php4/ext/apache apache.c /php4/ext/standard basic_functions.c info.c info.h
| From: | Andi Gutmans | Date: | Wed, 14 Jul 1999 12:02:10 +0000 |
| Subject: | cvs: /php4 LICENSE cgi_main.c php_ini.c /php4/ext/apache apache.c /php4/ext/standard basic_functions.c info.c info.h | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-1997@lists.php.net to get a copy of this message | ||
andi Wed Jul 14 12:02:10 1999 EDT
Modified files:
/php4 LICENSE cgi_main.c php_ini.c
/php4/ext/apache apache.c
/php4/ext/standard basic_functions.c info.c info.h
Log:
- Add a bitwise flag to phpinfo()
- Import a draft of the new PHP license
Index: php4/LICENSE
diff -u php4/LICENSE:1.1 php4/LICENSE:1.2
--- php4/LICENSE:1.1 Wed Apr 7 17:00:26 1999
+++ php4/LICENSE Wed Jul 14 12:02:09 1999
@@ -1,64 +1,63 @@
- --------------------------------------------------------------------
- Copyright (c) 1998 The PHP Development Team. All rights reserved.
- --------------------------------------------------------------------
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Commercial redistribution of larger works derived from, or
- works which bundle PHP, requires written permission from the
- PHP Development Team. You may charge a fee for the physical
- act of transferring a copy, and must make it clear that the
- fee being charged is for the distribution, and not for the
- software itself. You may, at your option, offer warranty
- protection in exchange for a fee.
+--------------------------------------------------------------------
+ The PHP License, version 2.0
+Copyright (c) 1999 The PHP Group. All rights reserved.
+--------------------------------------------------------------------
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
- 2. Redistributions of source code must retain the above copyright
+ 1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- 3. Redistributions in binary form must reproduce the above
+ 2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
-
- 4. All advertising materials mentioning features or use of this
- software must display the following acknowledgment:
- "This product includes software written by the PHP Development
- Team"
-
- 5. The name "PHP" must not be used to endorse or promote products
- derived from this software without prior written permission
- from the PHP Development Team. This does not apply to add-on
- libraries or tools that work in conjunction with PHP. In such
- a case the PHP name may be used to indicate that the product
- supports PHP.
- 6. Redistributions of any form whatsoever must retain the following
+ 3. The name "PHP" must not be used to endorse or promote products
+ derived from this software without prior permission from the
+ PHP Group. This does not apply to add-on libraries or tools
+ that work in conjunction with PHP. In such a case the PHP
+ name may be used to indicate that the product supports PHP.
+
+ 4. The PHP Group reserves the right to modify the PHP license at
+ any time and without prior notice, as long as the changes keep
+ the free and open source nature of PHP.
+
+ 5. Redistributions of any form whatsoever must retain the following
acknowledgment:
- "This product includes software written by the PHP Development
- Team".
-
- THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
- ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
- DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- OF THE POSSIBILITY OF SUCH DAMAGE.
-
- --------------------------------------------------------------------
-
- This software consists of voluntary contributions made by many
- individuals on behalf of the PHP Development Team.
-
- The PHP Development Team can be contacted via Email at core@php.net.
-
- For more information on the PHP Development Team and the PHP
- project, please see <http://www.php.net>.
-
+ "This product includes PHP, freely available from
+ http://www.php.net/".
+
+ 6. Permission to freely distribute and use Zend as an integrated
+ part of PHP is granted, under the conditions of version 0.90
+ of the Zend License.
+ The license is bundled with the Zend engine, and is available
+ at http://www.zend.com/license/0_90.txt, or
by contacting
+ license@zend.com.
+
+
+
+THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
+ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
+DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+--------------------------------------------------------------------
+
+This software consists of voluntary contributions made by many
+individuals on behalf of the PHP Group.
+
+The PHP Group can be contacted via Email at php-group@php.net.
+
+For more information on the PHP Development Group and the PHP
+project, please see <http://www.php.net>.
Index: php4/cgi_main.c
diff -u php4/cgi_main.c:1.21 php4/cgi_main.c:1.22
--- php4/cgi_main.c:1.21 Sat Jun 26 19:21:18 1999
+++ php4/cgi_main.c Wed Jul 14 12:02:09 1999
@@ -310,7 +310,7 @@
}
cgi_started=1;
php3_TreatHeaders();
- _php3_info();
+ _php3_info(0xFFFFFFFF);
exit(1);
break;
case 's':
Index: php4/php_ini.c
diff -u php4/php_ini.c:1.23 php4/php_ini.c:1.24
--- php4/php_ini.c:1.23 Sat Jun 19 15:23:24 1999
+++ php4/php_ini.c Wed Jul 14 12:02:09 1999
@@ -333,9 +333,9 @@
return 0;
}
- PUTS("<tr><td align=\"center\" bgcolor=\"" PHP_ENTRY_NAME_COLOR
"\">");
+ PUTS("<tr><td align=\"center\" bgcolor=\"" PHP_ENTRY_NAME_COLOR
"\"><b>");
PHPWRITE(ini_entry->name, ini_entry->name_length-1);
- PUTS("<td align=\"center\" bgcolor=\"" PHP_CONTENTS_COLOR
"\">");
+ PUTS("</b></td><td align=\"center\" bgcolor=\""
PHP_CONTENTS_COLOR "\">");
php_ini_displayer_cb(ini_entry, PHP_INI_DISPLAY_ACTIVE);
PUTS("</td><td align=\"center\" bgcolor=\"" PHP_CONTENTS_COLOR
"\">");
php_ini_displayer_cb(ini_entry, PHP_INI_DISPLAY_ORIG);
Index: php4/ext/apache/apache.c
diff -u php4/ext/apache/apache.c:1.11 php4/ext/apache/apache.c:1.12
--- php4/ext/apache/apache.c:1.11 Sat May 22 05:24:21 1999
+++ php4/ext/apache/apache.c Wed Jul 14 12:02:10 1999
@@ -29,7 +29,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: apache.c,v 1.11 1999/05/22 09:24:21 zeev Exp $ */
+/* $Id: apache.c,v 1.12 1999/07/14 16:02:10 andi Exp $ */
#include "php.h"
#include "ext/standard/head.h"
#include "php_globals.h"
@@ -172,7 +172,57 @@
SLS_FETCH();
serv = ((request_rec *) SG(server_context))->server;
-
+
+ {
+ register int i;
+ array_header *arr;
+ table_entry *elts;
+ request_rec *r;
+ SLS_FETCH();
+
+ r = ((request_rec *) SG(server_context));
+ arr = table_elts(r->subprocess_env);
+ elts = (table_entry *)arr->elts;
+
+ SECTION("Apache Environment");
+ PUTS("<table border=5 width=\"600\">\n");
+ php_info_print_table_header(2, "Variable", "Value");
+ for (i=0; i < arr->nelts; i++) {
+ php_info_print_table_row(2, elts[i].key, elts[i].val);
+ }
+ PUTS("</table>\n");
+ }
+
+ {
+ array_header *env_arr;
+ table_entry *env;
+ int i;
+ request_rec *r;
+ SLS_FETCH();
+
+ r = ((request_rec *) SG(server_context));
+ SECTION("HTTP Headers Information");
+ PUTS("<table border=5 width=\"600\">\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;
+ for (i = 0; i < env_arr->nelts; ++i) {
+ if (env[i].key) {
+ php_info_print_table_row(2, env[i].key, env[i].val);
+ }
+ }
+ 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) {
+ if (env[i].key) {
+ php_info_print_table_row(2, env[i].key, env[i].val);
+ }
+ }
+ PUTS("</table>\n\n");
+ }
+
PUTS("<table border=5 width=\"600\">\n");
php_info_print_table_header(2, "Entry", "Value");
#if WIN32|WINNT
Index: php4/ext/standard/basic_functions.c
diff -u php4/ext/standard/basic_functions.c:1.41 php4/ext/standard/basic_functions.c:1.42
--- php4/ext/standard/basic_functions.c:1.41 Fri Jul 9 16:45:51 1999
+++ php4/ext/standard/basic_functions.c Wed Jul 14 12:02:10 1999
@@ -381,6 +381,7 @@
test_class_startup();
REGISTER_INI_ENTRIES();
+ register_phpinfo_constants(INIT_FUNC_ARGS_PASSTHRU);
return SUCCESS;
}
Index: php4/ext/standard/info.c
diff -u php4/ext/standard/info.c:1.14 php4/ext/standard/info.c:1.15
--- php4/ext/standard/info.c:1.14 Thu May 20 08:06:45 1999
+++ php4/ext/standard/info.c Wed Jul 14 12:02:10 1999
@@ -58,7 +58,7 @@
}
-PHPAPI void _php3_info(void)
+PHPAPI void _php3_info(int flag)
{
char **env,*tmp1,*tmp2;
char *php3_uname;
@@ -73,93 +73,96 @@
PLS_FETCH();
SLS_FETCH();
+ if (flag & PHP_INFO_GENERAL) {
#if WIN32|WINNT
- // Get build numbers for Windows NT or Win95
- if (dwVersion < 0x80000000){
- dwBuild = (DWORD)(HIWORD(dwVersion));
- snprintf(php3_windows_uname,255,"%s %d.%d build %d","Windows
NT",dwWindowsMajorVersion,dwWindowsMinorVersion,dwBuild);
- } else {
- snprintf(php3_windows_uname,255,"%s %d.%d","Windows
95/98",dwWindowsMajorVersion,dwWindowsMinorVersion);
- }
- php3_uname = php3_windows_uname;
+ // Get build numbers for Windows NT or Win95
+ if (dwVersion < 0x80000000){
+ dwBuild = (DWORD)(HIWORD(dwVersion));
+ snprintf(php3_windows_uname,255,"%s %d.%d build %d","Windows
NT",dwWindowsMajorVersion,dwWindowsMinorVersion,dwBuild);
+ } else {
+ snprintf(php3_windows_uname,255,"%s %d.%d","Windows
95/98",dwWindowsMajorVersion,dwWindowsMinorVersion);
+ }
+ php3_uname = php3_windows_uname;
#else
- php3_uname=PHP_UNAME;
+ php3_uname=PHP_UNAME;
#endif
- php3_printf("<center><h1>PHP Version %s</h1></center>\n",
PHP_VERSION);
+ php3_printf("<center><h1>PHP Version %s</h1></center>\n",
PHP_VERSION);
- PUTS("<hr><a href=\"http://www.php.net/\"><img src=\"");
- if (SG(request_info).request_uri) {
- PUTS(SG(request_info).request_uri);
- }
- PUTS("?=PHPE9568F34-D428-11d2-A769-00AA001ACF42\" border=\"0\"
width=\"100\" height=\"56\" align=\"right\"></a>\n");
- php3_printf("System: %s<br>Build Date: %s\n<br>", php3_uname, __DATE__);
- php3_printf("php3.ini path: %s<br>\n", CONFIGURATION_FILE_PATH);
+ PUTS("<hr><a href=\"http://www.php.net/\"><img src=\"");
+ if (SG(request_info).request_uri) {
+ PUTS(SG(request_info).request_uri);
+ }
+ PUTS("?=PHPE9568F34-D428-11d2-A769-00AA001ACF42\" border=\"0\"
width=\"100\" height=\"56\" align=\"right\"></a>\n");
+ php3_printf("System: %s<br>Build Date: %s\n<br>", php3_uname, __DATE__);
+ php3_printf("php3.ini path: %s<br>\n", CONFIGURATION_FILE_PATH);
- php3_printf("ZEND_DEBUG=%d<br>\n", ZEND_DEBUG);
+ php3_printf("ZEND_DEBUG=%d<br>\n", ZEND_DEBUG);
#ifdef ZTS
- php3_printf("ZTS is defined");
+ php3_printf("ZTS is defined");
#else
- php3_printf("ZTS is undefined");
+ php3_printf("ZTS is undefined");
#endif
- /* Zend Engine */
- PUTS("<hr><a href=\"http://www.zend.com/\"><img src=\"");
- if (SG(request_info).request_uri) {
- PUTS(SG(request_info).request_uri);
+ /* Zend Engine */
+ PUTS("<hr><a href=\"http://www.zend.com/\"><img src=\"");
+ if (SG(request_info).request_uri) {
+ PUTS(SG(request_info).request_uri);
+ }
+ PUTS("?=PHPE9568F35-D428-11d2-A769-00AA001ACF42\" border=\"0\"
width=\"100\" height=\"89\" align=\"right\"></a>\n");
+ php3_printf("This program makes use of the Zend scripting language
engine:<br><pre>%s</pre>", get_zend_version());
+ PUTS("<hr>");
}
- PUTS("?=PHPE9568F35-D428-11d2-A769-00AA001ACF42\" border=\"0\"
width=\"100\" height=\"89\" align=\"right\"></a>\n");
- php3_printf("This program makes use of the Zend scripting language
engine:<br><pre>%s</pre>", get_zend_version());
-
PUTS("<center>");
-
- PUTS("<hr><h1>Credits</h1>\n");
- PUTS("<table border=5 width=\"600\">\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");
- CREDIT_LINE("UNIX Build and Modularization", "Stig Bakken");
- CREDIT_LINE("Win32 Port", "Shane Caraveo, Zeev Suraski");
- CREDIT_LINE("Server API (SAPI) Abstraction Layer", "Andi Gutmans, Shane Caraveo,
Zeev Suraski");
- CREDIT_LINE("Apache SAPI Module", "Rasmus Lerdorf, Zeev Suraski");
- CREDIT_LINE("ISAPI SAPI Module", "Andi Gutmans, Zeev Suraski");
- CREDIT_LINE("CGI SAPI Module", "Rasmus Lerdorf, Stig Bakken");
- PUTS("</table>\n");
-
-
- PUTS("<hr><h1>Configuraton</h1>\n");
- PUTS("<h2>PHP Core</h2>\n");
- display_ini_entries(NULL);
- _php3_hash_apply(&module_registry,(int (*)(void *)) _display_module_info);
-
-#if 0
- /* apache only directives */
- PHP3_CONF_LONG("engine", INI_ORIG_INT("engine"), INI_INT("engine"));
/* apache only */
- PHP3_CONF_LONG("xbithack", INI_ORIG_INT("xbithack"),
INI_INT("xbithack")); /* apache only */
- PHP3_CONF_LONG("last_modified", INI_ORIG_INT("last_modified"),
INI_INT("last_modified")); /* apache only */
- /* end of apache only directives */
-#endif
+ if (flag & PHP_INFO_CREDITS) {
+ PUTS("<h1>Credits</h1>\n");
+
+ PUTS("<table border=5 width=\"600\">\n");
+ PUTS("<tr><th colspan=\"2\" bgcolor=\"" PHP_HEADER_COLOR
"\">PHP 4.0 Authors</th></tr>\n");
+ php_info_print_table_header(2, "Contribution", "Authors");
+ CREDIT_LINE("Zend Scripting Language Engine", "Andi Gutmans, Zeev Suraski");
+ CREDIT_LINE("Extension Module API", "Andi Gutmans, Zeev Suraski");
+ CREDIT_LINE("UNIX Build and Modularization", "Stig Bakken");
+ CREDIT_LINE("Win32 Port", "Shane Caraveo, Zeev Suraski");
+ CREDIT_LINE("Server API (SAPI) Abstraction Layer", "Andi Gutmans, Shane Caraveo,
Zeev Suraski");
+ CREDIT_LINE("Apache SAPI Module", "Rasmus Lerdorf, Zeev Suraski");
+ CREDIT_LINE("ISAPI SAPI Module", "Andi Gutmans, Zeev Suraski");
+ CREDIT_LINE("CGI SAPI Module", "Rasmus Lerdorf, Stig Bakken");
+ PUTS("</table>\n");
+ }
+
- SECTION("Environment");
- PUTS("<table border=5 width=\"600\">\n");
- php_info_print_table_header(2, "Variable", "Value");
- for (env=environ; env!=NULL && *env !=NULL; env++) {
- tmp1 = estrdup(*env);
- if (!(tmp2=strchr(tmp1,'='))) { /* malformed entry? */
+ if (flag & PHP_INFO_CONFIGURATION) {
+ PUTS("<hr><h1>Configuration</h1>\n");
+ PUTS("<h2>PHP Core</h2>\n");
+ display_ini_entries(NULL);
+ }
+
+ if (flag & PHP_INFO_MODULES) {
+ _php3_hash_apply(&module_registry,(int (*)(void *)) _display_module_info);
+ }
+
+ if (flag & PHP_INFO_ENVIRONMENT) {
+ SECTION("Environment");
+ PUTS("<table border=5 width=\"600\">\n");
+ php_info_print_table_header(2, "Variable", "Value");
+ for (env=environ; env!=NULL && *env !=NULL; env++) {
+ tmp1 = estrdup(*env);
+ if (!(tmp2=strchr(tmp1,'='))) { /* malformed entry? */
+ efree(tmp1);
+ continue;
+ }
+ *tmp2 = 0;
+ tmp2++;
+ php_info_print_table_row(2, tmp1, tmp2);
efree(tmp1);
- continue;
}
- *tmp2 = 0;
- tmp2++;
- php_info_print_table_row(2, tmp1, tmp2);
- efree(tmp1);
+ PUTS("</table>\n");
}
- PUTS("</table>\n");
- {
+ if (flag & PHP_INFO_VARIABLES) {
pval **data, **tmp;
char *string_key;
ulong num_key;
@@ -184,7 +187,7 @@
_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=\"" PHP_ENTRY_NAME_COLOR
"\">HTTP_GET_VARS[\"");
+ PUTS("<tr><td bgcolor=\"" PHP_ENTRY_NAME_COLOR
"\"><b>HTTP_GET_VARS[\"");
switch (_php3_hash_get_current_key((*data)->value.ht, &string_key, &num_key)) {
case HASH_KEY_IS_STRING:
PUTS(string_key);
@@ -194,7 +197,7 @@
php3_printf("%ld",num_key);
break;
}
- PUTS("\"]</td><td bgcolor=\"" PHP_CONTENTS_COLOR
"\">");
+ PUTS("\"]</b></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);
@@ -204,7 +207,7 @@
_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=\"" PHP_ENTRY_NAME_COLOR
"\">HTTP_POST_VARS[\"");
+ PUTS("<tr><td bgcolor=\"" PHP_ENTRY_NAME_COLOR
"\"><b>HTTP_POST_VARS[\"");
switch (_php3_hash_get_current_key((*data)->value.ht, &string_key, &num_key)) {
case HASH_KEY_IS_STRING:
PUTS(string_key);
@@ -214,7 +217,7 @@
php3_printf("%ld",num_key);
break;
}
- PUTS("\"]</td><td bgcolor=\"" PHP_CONTENTS_COLOR
"\">");
+ PUTS("\"]</b></td><td bgcolor=\"" PHP_CONTENTS_COLOR
"\">");
PUTS((*tmp)->value.str.val);
PUTS("</td></tr>\n");
_php3_hash_move_forward((*data)->value.ht);
@@ -224,7 +227,7 @@
_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=\"" PHP_ENTRY_NAME_COLOR
"\">HTTP_COOKIE_VARS[\"");
+ PUTS("<tr><td bgcolor=\"" PHP_ENTRY_NAME_COLOR
"\"><b>HTTP_COOKIE_VARS[\"");
switch (_php3_hash_get_current_key((*data)->value.ht, &string_key, &num_key)) {
case HASH_KEY_IS_STRING:
PUTS(string_key);
@@ -234,7 +237,7 @@
php3_printf("%ld",num_key);
break;
}
- PUTS("\"]</td><td bgcolor=\"" PHP_CONTENTS_COLOR
"\">");
+ PUTS("\"]</b></td><td bgcolor=\"" PHP_CONTENTS_COLOR
"\">");
PUTS((*tmp)->value.str.val);
PUTS("</td></tr>\n");
_php3_hash_move_forward((*data)->value.ht);
@@ -243,83 +246,22 @@
PUTS("</table>\n");
}
-#if APACHE
- {
- register int i;
- array_header *arr;
- table_entry *elts;
- request_rec *r;
- SLS_FETCH();
-
- r = ((request_rec *) SG(server_context));
- arr = table_elts(r->subprocess_env);
- elts = (table_entry *)arr->elts;
-
- SECTION("Apache Environment");
- PUTS("<table border=5 width=\"600\">\n");
- php_info_print_table_header(2, "Variable", "Value");
- for (i=0; i < arr->nelts; i++) {
- php_info_print_table_row(2, elts[i].key, elts[i].val);
- }
- PUTS("</table>\n");
- }
-#endif
-
-#if APACHE
- {
- array_header *env_arr;
- table_entry *env;
- int i;
- request_rec *r;
- SLS_FETCH();
-
- r = ((request_rec *) SG(server_context));
- SECTION("HTTP Headers Information");
- PUTS("<table border=5 width=\"600\">\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;
- for (i = 0; i < env_arr->nelts; ++i) {
- if (env[i].key) {
- php_info_print_table_row(2, env[i].key, env[i].val);
- }
- }
- 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) {
- if (env[i].key) {
- php_info_print_table_row(2, env[i].key, env[i].val);
- }
- }
- PUTS("</table>\n\n");
- }
-#endif
-
PUTS("</center>");
- SECTION("PHP License");
- PUTS("<PRE>This program is free software; you can redistribute it and/or
modify\n");
- PUTS("it under the terms of:\n");
- PUTS("\n");
- PUTS("A) the GNU General Public License as published by the Free Software\n");
- PUTS(" Foundation; either version 2 of the License, or (at your option)\n");
- PUTS(" any later version.\n");
- PUTS("\n");
- PUTS("B) the PHP License as published by the PHP Development Team and\n");
- PUTS(" included in the distribution in the file: LICENSE\n");
- PUTS("\n");
- PUTS("This program is distributed in the hope that it will be useful,\n");
- PUTS("but WITHOUT ANY WARRANTY; without even the implied warranty of\n");
- PUTS("MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n");
- PUTS("GNU General Public License for more details.\n");
- PUTS("\n");
- PUTS("You should have received a copy of both licenses referred to here.\n");
- PUTS("If you did not, or have any questions about PHP licensing, please\n");
- PUTS("contact core@php.net.</PRE>\n");
-
+ if (flag & PHP_INFO_LICENSE) {
+ SECTION("PHP License");
+ PUTS("<PRE>This program is free software; you can redistribute it and/or
modify\n");
+ PUTS("it under the terms of the PHP License as published by the PHP Development
Team\n");
+ PUTS("and included in the distribution in the file: LICENSE\n");
+ PUTS("\n");
+ PUTS("This program is distributed in the hope that it will be useful,\n");
+ PUTS("but WITHOUT ANY WARRANTY; without even the implied warranty of\n");
+ PUTS("MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n");
+ PUTS("\n");
+ PUTS("If you did not receive a copy of the PHP license, or have any questions
about\n");
+ PUTS("PHP licensing, please contact license@php.net.</PRE>\n");
+ }
}
@@ -360,7 +302,8 @@
if (!row_element || !*row_element) {
row_element = " ";
}
- php3_printf("<td bgcolor=\"%s\"
valign=\"top\">%s</td>", color, row_element);
+ php3_printf("<td bgcolor=\"%s\"
valign=\"top\">%s%s%s</td>",
+ color, (i==0?"<b>":""), row_element,
(i==0?"</b>":""));
color = PHP_CONTENTS_COLOR;
}
php3_printf("</tr>\n");
@@ -369,11 +312,46 @@
}
+
+void register_phpinfo_constants(INIT_FUNC_ARGS)
+{
+ ELS_FETCH();
+
+ REGISTER_LONG_CONSTANT("INFO_GENERAL", PHP_INFO_GENERAL, CONST_PERSISTENT|CONST_CS);
+ REGISTER_LONG_CONSTANT("INFO_CREDITS", PHP_INFO_CREDITS, CONST_PERSISTENT|CONST_CS);
+ REGISTER_LONG_CONSTANT("INFO_CONFIGURATION", PHP_INFO_CONFIGURATION,
CONST_PERSISTENT|CONST_CS);
+ REGISTER_LONG_CONSTANT("INFO_MODULES", PHP_INFO_MODULES, CONST_PERSISTENT|CONST_CS);
+ REGISTER_LONG_CONSTANT("INFO_ENVIRONMENT", PHP_INFO_ENVIRONMENT,
CONST_PERSISTENT|CONST_CS);
+ REGISTER_LONG_CONSTANT("INFO_VARIABLES", PHP_INFO_VARIABLES, CONST_PERSISTENT|CONST_CS);
+ REGISTER_LONG_CONSTANT("INFO_LICENSE", PHP_INFO_LICENSE, CONST_PERSISTENT|CONST_CS);
+ REGISTER_LONG_CONSTANT("INFO_ALL", PHP_INFO_ALL, CONST_PERSISTENT|CONST_CS);
+}
+
+
/* {{{ proto void phpinfo(void)
Output a page of useful information about PHP and the current request */
PHP_FUNCTION(info)
{
- _php3_info();
+ int flag;
+ zval *flag_arg;
+
+
+ switch (ARG_COUNT(ht)) {
+ case 0:
+ flag = 0xFFFFFFFF;
+ break;
+ case 1:
+ if (getParameters(ht, 1, &flag_arg)==FAILURE) {
+ RETURN_FALSE;
+ }
+ convert_to_long(flag_arg);
+ flag = flag_arg->value.lval;
+ break;
+ default:
+ WRONG_PARAM_COUNT;
+ break;
+ }
+ _php3_info(flag);
RETURN_TRUE;
}
/* }}} */
Index: php4/ext/standard/info.h
diff -u php4/ext/standard/info.h:1.5 php4/ext/standard/info.h:1.6
--- php4/ext/standard/info.h:1.5 Sun May 16 07:19:26 1999
+++ php4/ext/standard/info.h Wed Jul 14 12:02:10 1999
@@ -27,20 +27,32 @@
| Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
-/* $Id: info.h,v 1.5 1999/05/16 11:19:26 sas Exp $ */
+/* $Id: info.h,v 1.6 1999/07/14 16:02:10 andi Exp $ */
#ifndef _INFO_H
#define _INFO_H
-#define PHP_ENTRY_NAME_COLOR "#999999"
+#define PHP_ENTRY_NAME_COLOR "#FFFFFF"
#define PHP_CONTENTS_COLOR "#DDDDDD"
-#define PHP_HEADER_COLOR "#00DDDD"
+#define PHP_HEADER_COLOR "#FFFF99"
+#define PHP_INFO_GENERAL (1<<0)
+#define PHP_INFO_CREDITS (1<<1)
+#define PHP_INFO_CONFIGURATION (1<<2)
+#define PHP_INFO_MODULES (1<<3)
+#define PHP_INFO_ENVIRONMENT (1<<4)
+#define PHP_INFO_VARIABLES (1<<5)
+#define PHP_INFO_LICENSE (1<<6)
+
+#define PHP_INFO_ALL 0xFFFFFFFF
+
PHP_FUNCTION(version);
PHP_FUNCTION(info);
-PHPAPI void _php3_info(void);
+PHPAPI void _php3_info(int flag);
PHPAPI void php_info_print_table_header(int num_cols, ...);
PHPAPI void php_info_print_table_row(int num_cols, ...);
+
+void register_phpinfo_constants(INIT_FUNC_ARGS);
#endif /* _INFO_H */