Fix so links with href == content aren't added to links list on html to text conversion (#1490434)

pull/284/head^2
Aleksander Machniak 10 years ago
parent d67d5d921e
commit ff40683404

@ -17,6 +17,7 @@ CHANGELOG Roundcube Webmail
- Fix unintentional messages list page change on page switch in compose addressbook (#1490427)
- Fix race-condition in saving user preferences and loading plugin config (#1490431)
- Fix so plain text signature field uses monospace font (#1490435)
- Fix so links with href == content aren't added to links list on html to text conversion (#1490434)
RELEASE 1.1.2
-------------

@ -509,7 +509,7 @@ class rcube_html2text
* @param string $link URL of the link
* @param string $display Part of the text to associate number with
*/
protected function _build_link_list( $link, $display )
protected function _build_link_list($link, $display)
{
if (!$this->_do_links || empty($link)) {
return $display;
@ -520,6 +520,11 @@ class rcube_html2text
return $display;
}
// skip links with href == content (#1490434)
if ($link === $display) {
return $display;
}
if (preg_match('!^([a-z][a-z0-9.+-]+:)!i', $link)) {
$url = $link;
}

@ -113,4 +113,29 @@ EOF;
$this->assertContains('QUOTED TEXT INNER 1 INNER 2 NO END', $res, 'No quoating on invalid html');
}
function test_links()
{
$html = '<a href="http://test.com">content</a>';
$expected = 'content [1]
Links:
------
[1] http://test.com
';
$ht = new rcube_html2text($html, false, true);
$res = $ht->get_text();
$this->assertSame($expected, $res, 'Links list');
// href == content (#1490434)
$html = '<a href="http://test.com">http://test.com</a>';
$expected = 'http://test.com';
$ht = new rcube_html2text($html, false, true);
$res = $ht->get_text();
$this->assertSame($expected, $res, 'Skip link with href == content');
}
}

Loading…
Cancel
Save