Thomas Bruederli
2015-02-07 2f8b1036da42ec3d15a51c6b17a473f9f4df71d3
program/lib/Roundcube/rcube_base_replacer.php
@@ -61,9 +61,6 @@
     */
    public static function absolute_url($path, $base_url)
    {
        $host_url = $base_url;
        $abs_path = $path;
        // check if path is an absolute URL
        if (preg_match('/^[fhtps]+:\/\//', $path)) {
            return $path;
@@ -73,6 +70,9 @@
        if (strpos($path, 'cid:') === 0) {
            return $path;
        }
        $host_url = $base_url;
        $abs_path = $path;
        // cut base_url to the last directory
        if (strrpos($base_url, '/') > 7) {
@@ -89,9 +89,10 @@
            $path = preg_replace('/^\.\//', '', $path);
            if (preg_match_all('/\.\.\//', $path, $matches, PREG_SET_ORDER)) {
                foreach ($matches as $a_match) {
                    if (strrpos($base_url, '/')) {
                        $base_url = substr($base_url, 0, strrpos($base_url, '/'));
                $cnt = count($matches);
                while ($cnt--) {
                    if ($pos = strrpos($base_url, '/')) {
                        $base_url = substr($base_url, 0, $pos);
                    }
                    $path = substr($path, 3);
                }