diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2011-07-23 14:19:09 +0200 | 
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2011-07-23 14:19:09 +0200 | 
| commit | 320d6733442faffae9b68307655bf4292bb1f94d (patch) | |
| tree | c2c2abca0e7247983419381c24107feecda18361 /src/SemanticScuttle | |
| parent | 0396dee7304c616ecb60c048d4013f917a7087f4 (diff) | |
| download | semanticscuttle-320d6733442faffae9b68307655bf4292bb1f94d.tar.gz semanticscuttle-320d6733442faffae9b68307655bf4292bb1f94d.tar.bz2 | |
Fix bug #3160512: Make SemantiScuttle work with FastCGI
Diffstat (limited to 'src/SemanticScuttle')
| -rw-r--r-- | src/SemanticScuttle/Environment.php | 52 | ||||
| -rw-r--r-- | src/SemanticScuttle/constants.php | 14 | ||||
| -rw-r--r-- | src/SemanticScuttle/header.php | 1 | 
3 files changed, 55 insertions, 12 deletions
| diff --git a/src/SemanticScuttle/Environment.php b/src/SemanticScuttle/Environment.php new file mode 100644 index 0000000..e5fe3de --- /dev/null +++ b/src/SemanticScuttle/Environment.php @@ -0,0 +1,52 @@ +<?php +/** + * SemanticScuttle - your social bookmark manager. + * + * PHP version 5. + * + * @category Bookmarking + * @package  SemanticScuttle + * @author   Christian Weiske <cweiske@cweiske.de> + * @license  AGPL http://www.gnu.org/licenses/agpl.html + * @link     http://sourceforge.net/projects/semanticscuttle + */ + +/** + * Server environment handling methods + * + * @category Bookmarking + * @package  SemanticScuttle + * @author   Christian Weiske <cweiske@cweiske.de> + * @license  AGPL http://www.gnu.org/licenses/agpl.html + * @link     http://sourceforge.net/projects/semanticscuttle + */ +class SemanticScuttle_Environment +{ +    /** +     * Determines the correct $_SERVER['PATH_INFO'] value +     * +     * @return string New value +     */ +    public static function getServerPathInfo() +    { +        /* old code that does not work today. +           if you find that this code helps you, tell us +           and send us the output of var_export($_SERVER); +        // Correct bugs with PATH_INFO (maybe for Apache 1 or CGI) -- for 1&1 host... +        if (isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO'])) { +            if (strlen($_SERVER["PATH_INFO"])<strlen($_SERVER["ORIG_PATH_INFO"])) { +                $_SERVER["PATH_INFO"] = $_SERVER["ORIG_PATH_INFO"]; +            } +            if (strcasecmp($_SERVER["PATH_INFO"], $_SERVER["SCRIPT_NAME"]) == 0) { +                unset($_SERVER["PATH_INFO"]); +            } +            if (strpos($_SERVER["PATH_INFO"], '.php') !== false) { +                unset($_SERVER["PATH_INFO"]); +            } +        } +        */ + +        return $_SERVER['PATH_INFO']; +    } +} +?>
\ No newline at end of file diff --git a/src/SemanticScuttle/constants.php b/src/SemanticScuttle/constants.php index 11ab0da..fcb2d90 100644 --- a/src/SemanticScuttle/constants.php +++ b/src/SemanticScuttle/constants.php @@ -69,16 +69,6 @@ define('PAGE_WATCHLIST', "watchlist");  // installations on the same host server  define('INSTALLATION_ID', md5($GLOBALS['dbname'].$GLOBALS['tableprefix'])); -// Correct bugs with PATH_INFO (maybe for Apache 1 or CGI) -- for 1&1 host... -if (isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO'])) { -    if (strlen($_SERVER["PATH_INFO"])<strlen($_SERVER["ORIG_PATH_INFO"])) { -        $_SERVER["PATH_INFO"] = $_SERVER["ORIG_PATH_INFO"]; -    } -    if (strcasecmp($_SERVER["PATH_INFO"], $_SERVER["SCRIPT_NAME"]) == 0) { -        unset($_SERVER["PATH_INFO"]); -    } -    if (strpos($_SERVER["PATH_INFO"], '.php') !== false) { -        unset($_SERVER["PATH_INFO"]); -    } -} +//currently not needed +//$_SERVER['PATH_INFO'] = SemanticScuttle_Environment::getServerPathInfo();  ?> diff --git a/src/SemanticScuttle/header.php b/src/SemanticScuttle/header.php index 9252300..694df54 100644 --- a/src/SemanticScuttle/header.php +++ b/src/SemanticScuttle/header.php @@ -25,6 +25,7 @@ if ('@data_dir@' == '@' . 'data_dir@') {      //FIXME: when you have multiple installations, the www_dir will be wrong      $wwwdir  = '@www_dir@/SemanticScuttle/';  } +require_once dirname(__FILE__) . '/Environment.php';  require_once dirname(__FILE__) . '/Config.php';  $cfg = new SemanticScuttle_Config(); | 
