- replaced some old code to access server variables

This commit is contained in:
Uwe Steinmann 2000-03-10 11:36:27 +00:00
parent 29ed30f77c
commit fc1bc7102f
2 changed files with 22 additions and 7 deletions

View File

@ -590,13 +590,26 @@ char *fnInsAnchorsIntoText(char *text, DLIST *pAnchorList, char **bodytag, char
int laststart=0;
/* The following is very tricky and depends on how rewriting is setup on your webserver.
If you skip the scriptname in the url you will have to map each hyperwave name to http://<hwname>.
This may not always be a good idea. The best solution is probably to provide a prefix for such
a case which is an optional parameter to hw_gettext hw_pipedocument.
If you skip the scriptname in the url you will have to map each hyperwave name
to http://<hwname>. This may not always be a good idea. The best solution is
probably to provide a prefix for such
a case which is an optional parameter to hw_gettext() or hw_pipedocument().
FIXME: Currently, the variable SCRIPT_NAME is empty thouht SCRIPT_URL is
not. In our case this is OK, since as mentioned above it is better to have no
SCRIPT_NAME than to have if rewriting is on.
*/
if(urlprefix) {
scriptname = urlprefix;
} else {
zval **script_name;
if (zend_hash_find(&EG(symbol_table), "SCRIPT_NAME", sizeof("SCRIPT_NAME"), (void **) &script_name)==FAILURE)
scriptname = NULL;
else {
convert_to_string_ex(script_name);
scriptname = (*script_name)->value.str.val;
}
#if 0
#if APACHE
{
int j;
@ -604,13 +617,15 @@ char *fnInsAnchorsIntoText(char *text, DLIST *pAnchorList, char **bodytag, char
table_entry *elts = (table_entry *)arr->elts;
for (j=0; j < arr->nelts; j++) {
if(0 == strcmp(elts[j].key, "SCRIPT_NAME"))
if((0 == strcmp(elts[j].key, "SCRIPT_NAME")) ||
(0 == strcmp(elts[j].key, "SCRIPT_URL")))
break;
}
scriptname = elts[j].val;
}
#else
scriptname = getenv("SCRIPT_FILENAME");
#endif
#endif
}

View File

@ -205,9 +205,9 @@ PHP_MINIT_FUNCTION(hw) {
HwSG(le_document) = register_list_destructors(_free_hw_document,NULL);
hw_module_entry.type = type;
// REGISTER_LONG_CONSTANT("HW_ATTR_LANG", HW_ATTR_LANG, CONST_CS | CONST_PERSISTENT);
// REGISTER_LONG_CONSTANT("HW_ATTR_NR", HW_ATTR_NR, CONST_CS | CONST_PERSISTENT);
// REGISTER_LONG_CONSTANT("HW_ATTR_NONE", HW_ATTR_NONE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("HW_ATTR_LANG", HW_ATTR_LANG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("HW_ATTR_NR", HW_ATTR_NR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("HW_ATTR_NONE", HW_ATTR_NONE, CONST_CS | CONST_PERSISTENT);
return SUCCESS;
}