Aleksander Machniak
2013-04-22 17fb6ee98640b23175d20d4ceffb941c520bd3e8
Fix incorrect handling of some specific links (#1489060)

Conflicts:

program/lib/Roundcube/rcube_string_replacer.php
3 files modified
7 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_string_replacer.php 4 ●●●● patch | view | raw | blame | history
tests/Framework/StringReplacer.php 2 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix incorrect handling of some specific links (#1489060)
- Fix incorrect handling of leading spaces in text wrapping
- Fix unintentional messages list jumps on click in Internet Explorer (#1489056)
- Fix list of required configuration options (#1489055)
program/lib/Roundcube/rcube_string_replacer.php
@@ -89,7 +89,7 @@
        if ($url) {
            $suffix = $this->parse_url_brackets($url);
            $i = $this->add($prefix . html::a(array(
            $i = $this->add(html::a(array(
                'href'   => $url_prefix . $url,
                'target' => '_blank'
            ), rcube::Q($url)) . $suffix);
@@ -97,7 +97,7 @@
        // Return valid link for recognized schemes, otherwise
        // return the unmodified string for unrecognized schemes.
        return $i >= 0 ? $this->get_replacement($i) : $matches[0];
        return $i >= 0 ? $prefix . $this->get_replacement($i) : $matches[0];
    }
    /**
tests/Framework/StringReplacer.php
@@ -37,6 +37,8 @@
            array('http://link.com?(link)', '<a href="http://link.com?(link)" target="_blank">http://link.com?(link)</a>'),
            array('http://<test>', 'http://<test>'),
            array('http://', 'http://'),
            array('1@1.com www.domain.tld', '<a href="mailto:1@1.com">1@1.com</a> <a href="http://www.domain.tld" target="_blank">www.domain.tld</a>'),
            array(' www.domain.tld ', ' <a href="http://www.domain.tld" target="_blank">www.domain.tld</a> '),
        );
    }