Hi,
if you upload a file with more dots in the filename the first one gets triggered because of using "explode()" to extract the file extension.
steps to reproduce:
1. allow only pdf upload
2. try to upload a pdf with dots in the filename e.g. "testfile-2.3.pdf"
(should be the same behaviour for other extensions)
alert: "Please upload only pdf"
A quick fix (plug_cbfilefield/cb.filefield.php:
about line 124 replace this
[code:1]$uploaded_file = explode( '.', $value );
$uploaded_name = preg_replace( '/[^-a-zA-Z0-9_]/', '', $uploaded_file[0] );
$uploaded_ext = preg_replace( '/[^-a-zA-Z0-9_]/', '', $uploaded_file[1] );[/code:1]
with this:
[code:1]$file_parts = pathinfo($value);
$uploaded_name = preg_replace( '/[^-a-zA-Z0-9_]/', '', $file_parts );
$uploaded_ext = preg_replace( '/[^-a-zA-Z0-9_]/', '', $file_parts );[/code:1]
and about line 207 replace this:
[code:1]$uploaded_file = explode( '.', $value );
$uploaded_ext = preg_replace( '/[^-a-zA-Z0-9_]/', '', $uploaded_file[1] );[/code:1]
with this:
[code:1]$file_parts = pathinfo( $value );
$uploaded_ext = preg_replace( '/[^-a-zA-Z0-9_]/', '', $file_parts );[/code:1]
Greets
Post edited by: ndee, at: 2010/05/05 23:01
Post edited by: ndee, at: 2010/05/05 23:04