public function restartExport(AmForms_ExportModel $export)
{
// Get the form
$form = craft()->amForms_forms->getFormById($export->formId);
if (!$form) {
throw new Exception(Craft::t('No form exists with the ID “{id}”.', array('id' => $export->formId)));
}
// Delete old export
if (IOHelper::fileExists($export->file)) {
IOHelper::deleteFile($export->file);
}
// Reset finished
$export->finished = false;
if (!$export->submissions) {
// Set total records to export
$export->total = craft()->db->createCommand()->select('COUNT(*)')->from('amforms_submissions')->where('formId=:formId', array(':formId' => $export->formId))->queryScalar();
}
// Create a new export file
$export->file = $this->_createExportFile($export, $form);
// Save export and start export!
if ($this->saveExport($export)) {
// Start task
$params = array('exportId' => $export->id, 'batchSize' => craft()->amForms_settings->getSettingsValueByHandleAndType('exportRowsPerSet', AmFormsModel::SettingExport, 100));
craft()->tasks->createTask('AmForms_Export', Craft::t('{form} export', array('form' => $form->name)), $params);
// Notify user
craft()->userSession->setNotice(Craft::t('Export started.'));
}
}