/** * method: documentRoot * * todo: write documentation */ public static function documentRoot($docroot = NULL) { if ($docroot && is_string($docroot) && strlen($docroot)) { $docroot = Amslib_String::reduceSlashes($docroot); } else { if (isset($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { $docroot = $_SERVER["CONTEXT_DOCUMENT_ROOT"]; if (isset($_SERVER["CONTEXT_PREFIX"])) { $docroot = Amslib_String::rchop($docroot, $_SERVER["CONTEXT_PREFIX"]); } } else { if (isset($_SERVER["DOCUMENT_ROOT"])) { $docroot = $_SERVER["DOCUMENT_ROOT"]; } else { Amslib_Debug::log("Not sure how to obtain the docroot on this platform", $docroot, $_SERVER); // NOTE: ADD DEBUGGING CODE HERE AND UPDATE WHEN YOU FIND A SCENARIO WHICH WORKS //die(__METHOD__.Amslib_Debug::vdump(array("docroot"=>$docroot,"server"=>$_SERVER))); return false; } } } self::$docroot = $docroot; self::$docroot = realpath(self::$docroot); self::$docroot = self::win2unix(self::$docroot); return self::$docroot; }