validate_postdata($request); $confirm = apply_filters('alchemyst_forms:validate_entry', $confirm, $form_id, $dom, $request); // Ready the result if ($confirm !== true) { $response = array( 'error' => true, 'result' => $confirm, ); return $response; } $submission_action = get_post_meta($form_id, '_alchemyst_forms-submission-action', true); // Build the responses. if (!$submission_action || $submission_action == 'show-success-message') { $response = array( 'success' => true, 'action' => 'show_success_message', 'request' => $request, 'message' => Alchemyst_Forms_Messages::get_message('success', $form_id), 'notifications' => Alchemyst_Forms_Notifications::get_notifications($form_id), 'files' => $file_results, ); } elseif ($submission_action == 'redirect') { $redirect_location = get_post_meta($form_id, '_alchemyst_forms-redirect-url', true); if (!$redirect_location) { $response = array( 'error' => true, 'result' => array( 'field' => false, 'message' => Alchemyst_Forms_Messages::get_message('configuration-error') ) ); } else { $redirect_location = apply_filters('alchemyst_forms:submission-redirect-url', $redirect_location, $form_id, $request, $file_results, $dom); $response = array( 'success' => true, 'action' => 'redirect', 'redirect' => $redirect_location, 'file_results' => $file_results ); } } // Save to entries $request = apply_filters('alchemyst_forms:pre-save-entry', $request, $form_id, $file_results, $dom); $entry_id = Alchemyst_Forms_Entries::save_entry($form_id, $request, $file_results, $dom); $notification_processor = new Alchemyst_Forms_Notification_Processor($form_id, $request, $file_results, $entry_id, $dom); try { $notification_processor->do_notifications(); } catch (Exception $e) { $response = array( 'error' => true, 'result' => array( 'field' => false, 'message' => $e->getMessage() ) ); } $response = apply_filters('alchemyst_forms:submission-response', $response, $form_id, $request, $file_results, $dom); return $response; } }