/** * Process a form submission * * @param array $fields * @return void */ public function process(array $fields) { if (isset($fields['rm_submissions'])) { foreach ($fields['rm_submissions'] as $id) { $fv = \Phire\Fields\Table\FieldValues::findBy(['model_id' => $id]); foreach ($fv->rows() as $value) { $field = \Phire\Fields\Table\Fields::findById($value->field_id); if (isset($field->id) && $field->type == 'file') { $file = json_decode($value->value); if (file_exists($_SERVER['DOCUMENT_ROOT'] . BASE_PATH . CONTENT_PATH . '/files/' . $file)) { unlink($_SERVER['DOCUMENT_ROOT'] . BASE_PATH . CONTENT_PATH . '/files/' . $file); } } } $fv = new \Phire\Fields\Table\FieldValues(); $fv->delete(['model_id' => $id]); $form = Table\FormSubmissions::findById((int) $id); if (isset($form->id)) { $form->delete(); } } } }