X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fdisplay_messages.php;h=cce8e1109b95c1f0477630ca4e634e1e608899ff;hb=fe2a5f768f2c3458c6d0545a9d64c7e2f16593be;hp=2fe6bd4a6a14dd4d0358fea35cc08acc7a498cda;hpb=76b684a5e8035dd5781262fab912c18ef2998ec9;p=squirrelmail.git diff --git a/functions/display_messages.php b/functions/display_messages.php index 2fe6bd4a..cce8e110 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() { '