From b2a86c7df7d5a473e80034832a01b21444fa50e6 Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Sun, 6 Mar 2022 00:48:14 +0100 Subject: Refactor --- src/Controllers/SubmissionController.php | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/Controllers/SubmissionController.php (limited to 'src/Controllers/SubmissionController.php') diff --git a/src/Controllers/SubmissionController.php b/src/Controllers/SubmissionController.php new file mode 100644 index 0000000..f2c4c80 --- /dev/null +++ b/src/Controllers/SubmissionController.php @@ -0,0 +1,49 @@ +buildFields(); + + // run through validation + $result = $validator->validateRequest($fields); + + $content['data'] = $result['fields']; + + // if there were no validation errors then add entry + if (empty($result['error'])) { + $date = new \Datetime(); + $entry = [ + 'fields' => $_POST, + 'date' => $date->format('c'), + ]; + + $entryBuilder = new TomlBuilder(); + $entryBuilder->addValue('date', $entry['date']); + $entryBuilder->addTable('fields'); + foreach ($entry['fields'] as $entryKey => $entryValue) { + $entryBuilder->addValue($entryKey, $entryValue); + } + + $entryDirectory = $formPath . '/entries/' . $date->format('Y/m/d'); + @mkdir($entryDirectory, 0774, true); + $entryFilename = $date->format('Ymd_Hi_') . hash('adler32', serialize($entry)) . '.toml'; + file_put_contents( + $entryDirectory . '/' . $entryFilename, + $entryBuilder->getTomlString() + ); + } + else { + $content['error'] = $result['error']; + } + + return $content; + } +} -- cgit v1.2.3