public static function ExportQuarterlyForms() { include_once Core::LibDir() . DS . 'easycsv' . DS . 'EasyCsv.php'; include_once dirname(__DIR__) . DS . 'database' . DS . 'ScheduleDatabase.php'; $db = ScheduleDatabase::GetInstance(); include_once __DIR__ . '/RWAForm.php'; $fieldsNames = array_unique(array_merge(array('id', 'code', 'submitDate', 'formDate'), RWAForm::GetFieldNames('quarterly'))); $csv = EasyCsv::CreateCsv($fieldsNames); $db->iterateAllQuarterlys(function ($record) use(&$csv, $fieldsNames) { $form = get_object_vars(json_decode($record->formData)); $values = array(); foreach ($fieldsNames as $field) { if (key_exists($field, $form)) { $theValue = $form[$field]; if (is_object($theValue) || is_array($theValue)) { $theValue = json_encode($theValue); } $values[] = $theValue; } else { $values[] = ""; } } $values[0] = $record->id; $values[1] = $record->code; $values[2] = $record->submitDate; $values[3] = $record->formDate; EasyCsv::AddRow($csv, $values); }); header('Content-Type: application/csv;'); header('Content-disposition: filename="rwa-export-quarterly-' . date('Y-m-d') . '.csv"'); echo EasyCsv::Write($csv); return; }
/** * @runInSeparateProcess */ public function testFormsMetadata() { $this->_includeScaffolds(); include_once dirname(__DIR__) . '/forms/lib/RWAForm.php'; $formFields = json_decode(file_get_contents(__DIR__ . '/fields.json')); $this->assertEquals(json_encode($formFields->scheduled, JSON_PRETTY_PRINT), json_encode(RWAForm::GetFieldNames('scheduled'), JSON_PRETTY_PRINT)); $this->assertEquals(json_encode($formFields->addendum, JSON_PRETTY_PRINT), json_encode(RWAForm::GetFieldNames('addendum'), JSON_PRETTY_PRINT)); $this->assertEquals(json_encode($formFields->quarterly, JSON_PRETTY_PRINT), json_encode(RWAForm::GetFieldNames('quarterly'), JSON_PRETTY_PRINT)); }
/** * @runInSeparateProcess */ public function testExportFormsMetadata() { $this->_includeCore(); include_once Core::LibDir() . DS . 'easycsv' . DS . 'EasyCsv.php'; include_once dirname(__DIR__) . DS . 'forms/database' . DS . 'ScheduleDatabase.php'; include_once dirname(__DIR__) . DS . 'forms/lib' . DS . 'RWAForm.php'; $db = ScheduleDatabase::GetInstance(); $fieldsNames = RWAForm::GetFieldNames('scheduled'); $fieldValuesArray = array(); $db->iterateAllSchedules(function ($record) use($fieldsNames, &$fieldValuesArray) { $form = get_object_vars(json_decode($record->formData)); $values = array(); foreach ($fieldsNames as $field) { if (key_exists($field, $form)) { $values[] = $form[$field]; } else { $values[] = ""; } } $fieldValuesArray[] = $values; }); echo print_r($fieldsNames, true) . print_r($fieldValuesArray, true) . "\n"; }
include_once __DIR__ . DS . 'lib' . DS . 'Ajax.php'; Ajax::SaveUserData(); return; } elseif (UrlVar('task') == 'user-data') { include_once __DIR__ . DS . 'lib' . DS . 'Ajax.php'; Ajax::GetUserData(); return; } elseif (UrlVar('task') == 'assign-user') { Ajax::AssignFormToUser(); return; } elseif (UrlVar('task') == 'export-formatted') { include_once Core::LibDir() . DS . 'easycsv' . DS . 'EasyCsv.php'; include_once __DIR__ . DS . 'database' . DS . 'ScheduleDatabase.php'; $db = ScheduleDatabase::GetInstance(); include_once __DIR__ . '/lib/RWAForm.php'; $fieldsNames = RWAForm::GetFieldNames('scheduled'); $csv = EasyCsv::CreateCsv($fieldsNames); $db->iterateAllSchedules(function ($record) use(&$csv, $fieldsNames) { $form = get_object_vars(json_decode($record->formData)); $form['id'] = $record->id; $values = array(); foreach ($fieldsNames as $field) { if (key_exists($field, $form)) { $values[] = $form[$field]; } else { $values[] = ""; } } EasyCsv::AddRow($csv, $values); }); //header('Content-Type: application/csv;');