| | |
| | | | | |
| | | | This file is part of the Roundcube Webmail client | |
| | | | Copyright (C) 2009, The Roundcube Dev Team | |
| | | | Licensed under the GNU GPL | |
| | | | | |
| | | | Licensed under the GNU General Public License version 3 or | |
| | | | any later version with exceptions for skins & plugins. | |
| | | | See the README file for a full license statement. | |
| | | | | |
| | | | PURPOSE: | |
| | | | Handle string replacements based on preg_replace_callback | |
| | |
| | | +-----------------------------------------------------------------------+ |
| | | | Author: Thomas Bruederli <roundcube@gmail.com> | |
| | | +-----------------------------------------------------------------------+ |
| | | |
| | | $Id$ |
| | | |
| | | */ |
| | | |
| | | |
| | |
| | | { |
| | | // Simplified domain expression for UTF8 characters handling |
| | | // Support unicode/punycode in top-level domain part |
| | | $utf_domain = '[^?&@"\'\\/()\s\r\t\n]+\\.([^\\x00-\\x40\\x5b-\\x60\\x7b-\\x7f]{2,}|xn--[a-z0-9]{2,})'; |
| | | $url1 = '.:;'; |
| | | $url2 = 'a-z0-9%=#@+?&\\/_~\\[\\]-'; |
| | | $utf_domain = '[^?&@"\'\\/()\s\r\t\n]+\\.([^\\x00-\\x2f\\x3b-\\x40\\x5b-\\x60\\x7b-\\x7f]{2,}|xn--[a-z0-9]{2,})'; |
| | | $url1 = '.:;,'; |
| | | $url2 = 'a-z0-9%=#@+?!&\\/_~\\[\\]{}-'; |
| | | |
| | | $this->link_pattern = "/([\w]+:\/\/|\Wwww\.)($utf_domain([$url1]?[$url2]+)*)/i"; |
| | | $this->mailto_pattern = "/(" |
| | |
| | | $i = $this->add($prefix . html::a(array( |
| | | 'href' => $url_prefix . $url, |
| | | 'target' => '_blank' |
| | | ), Q($url)) . $suffix); |
| | | ), rcmail::Q($url)) . $suffix); |
| | | } |
| | | |
| | | // Return valid link for recognized schemes, otherwise, return the unmodified string for unrecognized schemes. |
| | |
| | | |
| | | $i = $this->add(html::a(array( |
| | | 'href' => 'mailto:' . $href, |
| | | 'onclick' => "return ".JS_OBJECT_NAME.".command('compose','".JQ($href)."',this)", |
| | | ), Q($href)) . $suffix); |
| | | 'onclick' => "return ".rcmail::JS_OBJECT_NAME.".command('compose','".rcmail::JQ($href)."',this)", |
| | | ), rcmail::Q($href)) . $suffix); |
| | | |
| | | return $i >= 0 ? $this->get_replacement($i) : ''; |
| | | } |