/** * joins all given tempfiles in given order to a single new tempFile * * @param array of tempfiles arrays $tempFiles * @return array new tempFile */ public function joinTempFiles($tempFilesData) { $tempFileRecords = new Tinebase_Record_RecordSet('Tinebase_Model_TempFile'); foreach ($tempFilesData as $tempFileData) { $record = new Tinebase_Model_TempFile(array(), TRUE); $record->setFromJsonInUsersTimezone($tempFileData); $tempFileRecords->addRecord($record); } $joinedTempFile = Tinebase_TempFile::getInstance()->joinTempFiles($tempFileRecords); return $joinedTempFile->toArray(); }
/** * 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; }