/** * * @return \Gems_Task_TaskRunnerBatch */ protected function getExportBatch($load = true) { if ($this->_batch) { return $this->_batch; } $this->_batch = $this->loader->getTaskRunnerBatch('track_export_' . $this->trackEngine->getTrackId()); if (!$load || $this->_batch->isFinished()) { return $this->_batch; } if (!$this->_batch->isLoaded()) { $filename = \MUtil_File::createTemporaryIn(GEMS_ROOT_DIR . '/var/tmp/export/track'); $trackId = $this->trackEngine->getTrackId(); $this->_batch->setSessionVariable('filename', $filename); $this->_batch->addTask('Tracker\\Export\\MainTrackExportTask', $this->trackEngine->getTrackId(), $this->formData['orgs']); // \MUtil_Echo::track($this->formData['fields']); foreach ($this->formData['fields'] as $fieldId) { $this->_batch->addTask('Tracker\\Export\\TrackFieldExportTask', $trackId, $fieldId); } $model = $this->getModel(); foreach ($model->getCol('surveyId') as $surveyId) { $this->_batch->addTask('Tracker\\Export\\TrackSurveyExportTask', $trackId, $surveyId); } foreach ($this->formData['rounds'] as $roundId) { $this->_batch->addTask('Tracker\\Export\\TrackRoundExportTask', $trackId, $roundId); } } else { $filename = $this->_batch->getSessionVariable('filename'); } $this->_batch->setVariable('file', fopen($filename, 'a')); return $this->_batch; }