$hesk_settings['attachments']['max_size']) { return hesk_fileError(sprintf($hesklang['file_too_large'], $file_realname)); } else { $file_size = $_FILES['attachment']['size'][$i]; } /* Generate a random file name */ $useChars='AEUYBDGHJLMNPQRSTVWXZ123456789'; $tmp = uniqid(); for($j=1;$j<10;$j++) { $tmp .= $useChars{mt_rand(0,29)}; } if (defined('KB')) { $file_name = substr(md5($tmp . $file_realname), 0, 200) . $ext; } else { $file_name = substr($trackingID . '_' . md5($tmp . $file_realname), 0, 200) . $ext; } // Does the temporary file exist? If not, probably server-side configuration limits have been reached // Uncomment this for debugging purposes /* if ( ! file_exists($_FILES['attachment']['tmp_name'][$i]) ) { return hesk_fileError($hesklang['fnuscphp']); } */ /* If upload was successful let's create the headers */ if ( ! move_uploaded_file($_FILES['attachment']['tmp_name'][$i], dirname(dirname(__FILE__)).'/'.$hesk_settings['attach_dir'].'/'.$file_name)) { return hesk_fileError($hesklang['cannot_move_tmp']); } $info = array( 'saved_name'=> $file_name, 'real_name' => $file_realname, 'size' => $file_size ); return $info; } // End hesk_uploadFile() function hesk_fileError($error) { global $hesk_settings, $hesklang, $trackingID; global $hesk_error_buffer; $hesk_error_buffer['attachments'] = $error; return false; } // End hesk_fileError() function hesk_removeAttachments($attachments) { global $hesk_settings, $hesklang; $hesk_settings['server_path'] = dirname(dirname(__FILE__)).'/'.$hesk_settings['attach_dir'].'/'; foreach ($attachments as $myatt) { hesk_unlink($hesk_settings['server_path'].$myatt['saved_name']); } return true; } // End hesk_removeAttachments()