Craft\FormBuilder2_EntryService::processSubmissionEntry PHP Method

processSubmissionEntry() public method

Process Submission Entry
public processSubmissionEntry ( craft\FormBuilder2_EntryModel $submission )
$submission craft\FormBuilder2_EntryModel
    public function processSubmissionEntry(FormBuilder2_EntryModel $submission)
    {
        // Fire Before Save Event
        $this->onBeforeSave(new Event($this, array('entry' => $submission)));
        $form = craft()->formBuilder2_form->getFormById($submission->formId);
        $formFields = $form->fieldLayout->getFieldLayout()->getFields();
        $attributes = $form->getAttributes();
        $formSettings = $attributes['formSettings'];
        $submissionRecord = new FormBuilder2_EntryRecord();
        // Build Entry Record
        $submissionRecord->formId = $submission->formId;
        $submissionRecord->title = $submission->title;
        $submissionRecord->files = $submission->files;
        $submissionRecord->submission = $submission->submission;
        $submissionRecord->validate();
        $submission->addErrors($submissionRecord->getErrors());
        // Save To Database
        if (!$submission->hasErrors()) {
            $transaction = craft()->db->getCurrentTransaction() === null ? craft()->db->beginTransaction() : null;
            try {
                if (craft()->elements->saveElement($submission)) {
                    $submissionRecord->id = $submission->id;
                    $submissionRecord->save(false);
                    if ($transaction !== null) {
                        $transaction->commit();
                    }
                    return $submissionRecord->id;
                } else {
                    return false;
                }
            } catch (\Exception $e) {
                if ($transaction !== null) {
                    $transaction->rollback();
                }
                throw $e;
            }
            return true;
        } else {
            return false;
        }
    }