static void php_info_pi3web(ZEND_MODULE_INFO_FUNC_ARGS) { char variable_buf[PI3WEB_SERVER_VAR_BUF_SIZE]; DWORD variable_len; LPCONTROL_BLOCK lpCB = (LPCONTROL_BLOCK) SG(server_context); PIDB *pDB = (PIDB *)lpCB->GetVariableNames(lpCB->ConnID); PIDBIterator *pIter = PIDB_getIterator( pDB, PIDBTYPE_STRING, 0, 0 ); PUTS("<table border=0 cellpadding=3 cellspacing=1 width=600 align=center>\n"); PUTS("<tr><th colspan=2 bgcolor=\"" PHP_HEADER_COLOR "\">Pi3Web Server Information</th></tr>\n"); php_info_print_table_header(2, "Information Field", "Value"); php_info_print_table_row(2, "Pi3Web SAPI module version", "$Id: pi3web_sapi.c 306939 2011-01-01 02:19:59Z felipe $"); php_info_print_table_row(2, "Server Name Stamp", HTTPCore_getServerStamp()); snprintf(variable_buf, 511, "%d", HTTPCore_debugEnabled()); php_info_print_table_row(2, "Debug Enabled", variable_buf); PIPlatform_getCurrentDirectory( variable_buf, PI3WEB_SERVER_VAR_BUF_SIZE); php_info_print_table_row(2, "Current Path", variable_buf); if (lpCB->GetServerVariable(lpCB->ConnID, "SERVER_NAME", variable_buf, &variable_len) && variable_buf[0]) { php_info_print_table_row(2, "Main Virtual Hostname", variable_buf); }; snprintf(variable_buf, 511, "%d", PIPlatform_getProcessId()); php_info_print_table_row(2, "Server PID", variable_buf); php_info_print_table_row(2, "Server Platform", PIPlatform_getDescription()); PUTS("</table><br />"); PUTS("<table border=0 cellpadding=3 cellspacing=1 width=600 align=center>\n"); PUTS("<tr><th colspan=2 bgcolor=\"" PHP_HEADER_COLOR "\">HTTP Request Information</th></tr>\n"); php_info_print_table_row(2, "HTTP Request Line", lpCB->lpszReq); PUTS("<tr><th colspan=2 bgcolor=\"" PHP_HEADER_COLOR "\">HTTP Headers</th></tr>\n"); php_info_print_table_header(2, "Server Variable", "Value"); /* --- loop over all registered server variables --- */ for(; pIter && PIDBIterator_atValidElement( pIter ); PIDBIterator_next( pIter ) ) { PCHAR pKey; PIDBIterator_current( pIter, &pKey ); if ( !pKey ) { /* sanity */ continue; }; variable_len = PI3WEB_SERVER_VAR_BUF_SIZE; if (lpCB->GetServerVariable(lpCB->ConnID, pKey, variable_buf, &variable_len) && variable_buf[0]) { php_info_print_table_row(2, pKey, variable_buf); } else if (PIPlatform_getLastError() == PIAPI_EINVAL) { char *tmp_variable_buf; tmp_variable_buf = (char *) emalloc(variable_len); if (lpCB->GetServerVariable(lpCB->ConnID, pKey, tmp_variable_buf, &variable_len) && variable_buf[0]) { php_info_print_table_row(2, pKey, tmp_variable_buf); } efree(tmp_variable_buf); } } PUTS("</table>"); }
static void php_info_pi3web(ZEND_MODULE_INFO_FUNC_ARGS) { char **p = pi3web_server_variables; char variable_buf[PI3WEB_SERVER_VAR_BUF_SIZE]; DWORD variable_len; LPCONTROL_BLOCK lpCB; SLS_FETCH(); lpCB = (LPCONTROL_BLOCK) SG(server_context); PUTS("<table border=0 cellpadding=3 cellspacing=1 width=600 align=center>\n"); PUTS("<tr><th colspan=2 bgcolor=\"" PHP_HEADER_COLOR "\">Pi3Web Server Information</th></tr>\n"); php_info_print_table_header(2, "Information Field", "Value"); php_info_print_table_row(2, "Pi3Web SAPI module version", "$Id$"); php_info_print_table_row(2, "Server Name Stamp", HTTPCore_getServerStamp()); snprintf(variable_buf, 511, "%d", HTTPCore_debugEnabled()); php_info_print_table_row(2, "Debug Enabled", variable_buf); PIPlatform_getCurrentDirectory( variable_buf, PI3WEB_SERVER_VAR_BUF_SIZE); php_info_print_table_row(2, "Current Path", variable_buf); if (lpCB->GetServerVariable(lpCB->ConnID, "SERVER_NAME", variable_buf, &variable_len) && variable_buf[0]) { php_info_print_table_row(2, "Main Virtual Hostname", variable_buf); }; snprintf(variable_buf, 511, "%d", PIPlatform_getProcessId()); php_info_print_table_row(2, "Server PID", variable_buf); php_info_print_table_row(2, "Server Platform", PIPlatform_getDescription()); PUTS("</table><BR>"); PUTS("<table border=0 cellpadding=3 cellspacing=1 width=600 align=center>\n"); PUTS("<tr><th colspan=2 bgcolor=\"" PHP_HEADER_COLOR "\">HTTP Request Information</th></tr>\n"); php_info_print_table_row(2, "HTTP Request Line", lpCB->lpszReq); PUTS("<tr><th colspan=2 bgcolor=\"" PHP_HEADER_COLOR "\">HTTP Headers</th></tr>\n"); php_info_print_table_header(2, "Server Variable", "Value"); while (*p) { variable_len = PI3WEB_SERVER_VAR_BUF_SIZE; if (lpCB->GetServerVariable(lpCB->ConnID, *p, variable_buf, &variable_len) && variable_buf[0]) { php_info_print_table_row(2, *p, variable_buf); } else if (PIPlatform_getLastError() == PIAPI_EINVAL) { char *tmp_variable_buf; tmp_variable_buf = (char *) emalloc(variable_len); if (lpCB->GetServerVariable(lpCB->ConnID, *p, tmp_variable_buf, &variable_len) && variable_buf[0]) { php_info_print_table_row(2, *p, tmp_variable_buf); } efree(tmp_variable_buf); } p++; } PUTS("</table>"); }