1.Upload file with name uploads.rar.
2.look in monthly.../ directory - saved as xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-.ipb, not as xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-uploads.ipb
Fix: add dot (\.) in preg_replace (files.php - _doUpload)
$_upload->out_file_name = md5( uniqid( microtime(), true ) ) . '-' . str_replace( array( " ", "\n", "\r", "\t" ), '_', $this->registry->getClass('idmFunctions')->getFileName( preg_replace( "/[^a-zA-Z0-9\.]/", '-', $_FILES['FILE_UPLOAD']['name'] ) ) );
But you have again forgotten that in the world there are other languages, not only English and names of files can be, for example, in Russian, files save as
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-------------------------------------------------.ipb