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; }
<?php include_once dirname(__DIR__) . DS . 'lib' . DS . 'Localize.php'; include_once Core::LibDir() . DS . 'easycsv' . DS . 'EasyCsv.php'; $language = array(); $languageFilePath = dirname(__DIR__) . DS . 'language.csv'; if (file_exists($languageFilePath)) { $csv = EasyCsv::OpenCsv($languageFilePath); $cleaned = EasyCsv::CreateCsv(array('English', 'French')); //echo '<pre>'; EasyCsv::IterateRows_Assoc($csv, function ($row, $i) use(&$language, &$cleaned) { if (!empty($row['English'])) { $language[$row['English']] = $row['French']; EasyCsv::AddRow($cleaned, array($row['English'], $row['French'])); } }); file_put_contents(dirname(__DIR__) . DS . 'language.json', json_encode($language, JSON_PRETTY_PRINT)); file_put_contents(dirname(__DIR__) . DS . 'localize.csv', EasyCsv::Write($cleaned)); } else { $language = get_object_vars(json_decode(file_get_contents(__DIR__ . DS . 'words.json'))); } Behavior('ajax'); Localize(function () { Scaffold('button.create.scheduled'); }, $language); IncludeJS(dirname(__DIR__) . DS . 'js' . DS . 'UIFormManager.js'); IncludeJS(dirname(__DIR__) . DS . 'js' . DS . 'UIUsersFormsList.js'); IncludeJS(dirname(__DIR__) . DS . 'js' . DS . 'Language.js'); $keys = array_keys($language); usort($keys, function ($a, $b) { return strlen($b) - strlen($a);
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;'); //header('Content-disposition: filename="rwa-export-scheduled-' . date('Y-m-d') . '.csv"');