id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,focuses
22946,Default filter erroneously turns FTP hostnames into HTTP links,DavidAnderson,,"The function _make_web_ftp_clickable_cb in wp-includes/formatting.php is invoked upon any hostname matching ""www."" or ""ftp."" at the beginning. It pre-pends 'http://' and makes the link clickable (i.e. wraps it in ).
As a default that makes sense for things beginning www. - but not for everything beginning ftp.
In my case, I was using the plugin WP Better Emails, and sent out an email with this line (approx):
'Here is the FTP server: ftp.example.com'
WP, by default, ""helpfully"" totally mangles this into:
'Here is the FTP server: http://ftp.example.com'
The recipient of my email now believes that I was sending him an HTTP link, and is confused that it does not work. But in fact I never sent such a link - that was WordPress mangling what I did send.
Sure, some FTP servers will also have HTTP listening. But by default WordPress assumes that they all do, which is crazy.
Proposed solution: on line 1471 of wp-includes/formatting.php (as found in 3.4.2), change:
$ret = preg_replace_callback( '#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]+)#is', '_make_web_ftp_clickable_cb', $ret );
by removing the ""ftp"" case, hence:
$ret = preg_replace_callback( '#([\s>])((www)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]+)#is', '_make_web_ftp_clickable_cb', $ret );
The function _make_web_ftp_clickable_cb should then be renamed by removing ftp_, since the case of turning FTP hostnames into clickable HTTP links would have been removed.",defect (bug),new,normal,Awaiting Review,General,trunk,normal,,,,