<?php
##
## this file name is 'func.globals.php'
##
## globlas functions
##
## [author]
##  - Chilbong Kim<san2(at)linuxchannel.net>
##
## [changes]
##  - 2003.07.02 : realuri() bug fixed
##  - 2003.03.17 : realuri() bug fixed
##  - 2003.03.06 : new build
##
## [references]
##
## [usage]
##
## [example]
##

## if you using the PHP/4.0.x
## http://www.php.net/ChangeLog-4.php
##
function _globals()
{
  global 
$_SERVER// add user vars for 4.0.x

  
if(preg_match('/^4\.0/',PHP_VERSION))
  {
    
$GLOBALS[_SERVER]  = array_merge($GLOBALS[HTTP_SERVER_VARS],$_SERVER);
    
$GLOBALS[_GET]       = $GLOBALS[HTTP_GET_VARS];
    
$GLOBALS[_POST]       = $GLOBALS[HTTP_POST_VARS];
    
$GLOBALS[_COOKIE]  = $GLOBALS[HTTP_COOKIE_VARS];
    
$GLOBALS[_SESSION] = $GLOBALS[HTTP_SESSION_VARS];
    
$GLOBALS[_ENV]       = $GLOBALS[HTTP_ENV_VARS];
    
$GLOBALS[_FILES]   = $GLOBALS[HTTP_POST_FILES]; // ???
    
$GLOBALS[_REQUEST] = array_merge($_GET,$_COOKIE);
  }
}

## this alias
##
function _global()
{
  return 
_globals();
}

## get $_SERVER[_URI] and $_SERVER[_PHP_SELF] (for includes)
##
function realuri($_PWD)
{
  global 
$_SERVER// add user vars for 4.0.x

  
if(!$_SERVER_globals(); // re-check PHP version

  
$GLOBALS[_SERVER][_PWD] = $_PWD realpath($_PWD); // it's override
  
$GLOBALS[_SERVER][_PHP_SELF] = $_SERVER[SCRIPT_NAME];

  if(
$_SERVER[_URI]) return; // it's not override

  ## for system account user
  ##
  
if(preg_match(';^/~;',$_SERVER[REQUEST_URI]))
  {
    
$_S[_SNAME] = realpath($_SERVER[SCRIPT_FILENAME]);
    
$_S[_FNAME] = preg_replace(';^/~[^/]+;','',$_SERVER[SCRIPT_NAME]);
    
$_S[_UURI] = str_replace($_S[_FNAME],'',$_SERVER[SCRIPT_NAME]);
    
$_S[_DOCUMENT_ROOT] = str_replace($_S[_FNAME],'',$_S[_SNAME]);
    
$_S[_DOCUMENT_PATH] = str_replace($_S[_DOCUMENT_ROOT],'',$_PWD);
    
$_URI $_S[_UURI] . $_S[_DOCUMENT_PATH];
  } else
  {
    if(
preg_match(";^$_SERVER[DOCUMENT_ROOT];",$_PWD))
    {
        
$_URI str_replace($_SERVER[DOCUMENT_ROOT],'',$_PWD);
    } else
    {
        
$_URI str_replace($_SERVER[DOCUMENT_ROOT],'',$_SERVER[SCRIPT_FILENAME]);
        
$_URI dirname($_URI);
    }
  }

  
$GLOBALS[_SERVER][_URI] = $_URI// it's not override
}

?>