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; } }