protected function saveFileLists() { foreach ($this->standardAttachmentTypes as $listName => $listInfo) { foreach ($this->fileList[$listName] as $index => $record) { if (empty($record['_inactive'])) { $record['recordType'] = $this->getRecordType(); $record['recordId'] = $this->record['id']; $record['filePosition'] = $listName; $record['fileCategory'] = $listInfo['fileCategory']; $uploadStruct = $this->form->getField($listName . '[' . $index . '][_fileUpload]')->getValue(); $this->fileDAO->save($record, $uploadStruct); } elseif (!empty($record['id'])) { $this->fileDAO->delete($record); } } } }
/** * Usuwa te rekordy z tabeli _tmpRecord, dla których sesja już na pewno wygasła. * Usuwa też przypisane do tych rekordów pliki. */ public function clean() { $calendar = new Calendar(); $time = $calendar->addSeconds(CoreUtils::getDateTime(), -CoreConfig::get('Cron', 'tmpRecordOldAgeSeconds')); $tmpRecordDAO = new TmpRecordDAO(); $oldRecords = $tmpRecordDAO->getOldRecords($time, CoreConfig::get('Cron', 'tmpRecordsToDeletePerExecution')); $fileDAO = new FileDAO(); foreach ($oldRecords as $record) { if ($this->isForDeletion($record)) { $files = $fileDAO->getListByRecord('_tmpRecord', $record['id']); foreach ($files as $file) { $fileDAO->delete($file); } $tmpRecordDAO->delete($record); } } }
/** * Ta funkcja nie poprawia fileOrder w pozostałych plikach, * dziury nam tak bardzo nie wadzą */ protected function deleteFileRecord() { $this->fileDAO->delete($this->fileRecord); }