X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fdisplay_messages.php;h=aae91ed1ce05feb5ed93ff49363bb3c8bc1f489a;hb=43d678b68375c0516121d5a9780d40b6885c4089;hp=adb7acff72e85b8f9d928b4c098912d98abce1d9;hpb=9be8198db452ada405ad990214d7a3b26d129a33;p=squirrelmail.git diff --git a/functions/display_messages.php b/functions/display_messages.php index adb7acff..aae91ed1 100644 --- a/functions/display_messages.php +++ b/functions/display_messages.php @@ -12,6 +12,49 @@ * $Id$ */ +/** + * Find out where squirrelmail lives and try to be smart about it. + * The only problem would be when squirrelmail lives in directories + * called "src", "functions", or "plugins", but people who do that need + * to be beaten with a steel pipe anyway. + * + * @return the base uri of squirrelmail installation. + */ +function sqm_baseuri(){ + global $base_uri, $PHP_SELF; + /** + * If it is in the session, just return it. + */ + if (isset($base_uri)){ + return $base_uri; + } + $dirs = array('|src/.*|', '|plugins/.*|', '|functions/.*|'); + $repl = array('', '', ''); + $base_uri = preg_replace($dirs, $repl, $PHP_SELF); + return $base_uri; +} + +/** + * Find out the top REAL path of the squirrelmail installation. + * + * @return the real installation directory of squirrelmail. + */ + +function sqm_topdir(){ + $topdir = ''; + /** + * $levels is just to avoid a potential infinite loop in case + * things are REALLY broken. Shouldn't really ever happen. + */ + $levels = 0; + while (!(is_dir("$topdir/functions") && is_dir("$topdir/src")) + && $levels < 10){ + $topdir .= '../'; + $levels++; + } + return $topdir; +} + function error_username_password_incorrect() { global $frame_top, $color; /* XXX: Should really not start the HTML before this, or close off more @@ -26,61 +69,30 @@ function error_username_password_incorrect() { '