/**
  * create new temp file
  * 
  * @param string $_path
  * @param string $_name
  * @param string $_type
  * @param double $_size
  * @param integer $_error
  * @return Tinebase_Model_TempFile
  */
 public function createTempFile($_path, $_name = 'tempfile.tmp', $_type = 'unknown', $_size = 0, $_error = 0)
 {
     // sanitize filename (convert to utf8)
     $filename = Tinebase_Helper::mbConvertTo($_name);
     $id = Tinebase_Model_TempFile::generateUID();
     $tempFile = new Tinebase_Model_TempFile(array('id' => $id, 'session_id' => Tinebase_Core::getSessionId(false), 'time' => Tinebase_DateTime::now()->get(Tinebase_Record_Abstract::ISO8601LONG), 'path' => $_path, 'name' => $filename, 'type' => !empty($_type) ? $_type : 'unknown', 'error' => !empty($_error) ? $_error : 0, 'size' => !empty($_size) ? (double) $_size : (double) filesize($_path)));
     if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
         Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . " tempfile data: " . print_r($tempFile->toArray(), TRUE));
     }
     $this->create($tempFile);
     return $tempFile;
 }