protected function resolveContactWebFormEntry(ContactWebForm $contactWebForm, ContactWebFormsModelForm $contactWebFormModelForm) { $postVariableName = get_class($contactWebFormModelForm); $contactFormAttributes = $_POST[$postVariableName]; $contactFormAttributes = ContactWebFormsUtil::resolveHiddenAttributesForContactWebFormEntryModel($contactFormAttributes, $contactWebForm); $contactFormAttributes['owner'] = $contactWebForm->defaultOwner->id; $contactFormAttributes['state'] = $contactWebForm->defaultState->id; if ($contactWebFormModelForm->validate()) { $contactWebFormEntryStatus = ContactWebFormEntry::STATUS_SUCCESS; $contactWebFormEntryMessage = ContactWebFormEntry::STATUS_SUCCESS_MESSAGE; } else { $contactWebFormEntryStatus = ContactWebFormEntry::STATUS_ERROR; $contactWebFormEntryMessage = ContactWebFormEntry::STATUS_ERROR_MESSAGE; } if (isset($contactWebFormModelForm->getModel()->id) && intval($contactWebFormModelForm->getModel()->id) > 0) { $contactWebFormEntryContact = $contactWebFormModelForm->getModel(); } else { $contactWebFormEntryContact = null; } $hashIndex = Yii::app()->getRequest()->getPost(ContactWebFormEntry::HASH_INDEX_HIDDEN_FIELD); $contactWebFormEntry = ContactWebFormEntry::getByHashIndex($hashIndex); if ($contactWebFormEntry === null) { $contactWebFormEntry = new ContactWebFormEntry(); } $contactWebFormEntry->serializedData = serialize($contactFormAttributes); $contactWebFormEntry->status = $contactWebFormEntryStatus; $contactWebFormEntry->message = $contactWebFormEntryMessage; $contactWebFormEntry->contactWebForm = $contactWebForm; $contactWebFormEntry->contact = $contactWebFormEntryContact; $contactWebFormEntry->hashIndex = $hashIndex; $contactWebFormEntry->save(); }