Index: core/units/forms/submission_log/submission_log_eh.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- core/units/forms/submission_log/submission_log_eh.php (revision 15682) +++ core/units/forms/submission_log/submission_log_eh.php (revision ) @@ -329,11 +329,10 @@ $this->_generateVerificationCode($object); } - $form_submission =& $this->_getFormSubmission($object); - $form_submission_helper = $this->Application->recallObject('FormSubmissionHelper'); /* @var $form_submission_helper FormSubmissionHelper */ + $form_submission = $form_submission_helper->getSubmissionFromLog($object); $form =& $form_submission_helper->getForm($form_submission); $send_params = Array ( @@ -454,11 +453,11 @@ $object = $event->getObject(); /* @var $object kDBItem */ - $form_submission =& $this->_getFormSubmission($object); - $form_submission_helper = $this->Application->recallObject('FormSubmissionHelper'); /* @var $form_submission_helper FormSubmissionHelper */ + $form_submission = $form_submission_helper->getSubmissionFromLog($object); + $form =& $form_submission_helper->getForm($form_submission); $reply_email = $form->GetDBField('ReplyFromEmail'); @@ -520,29 +519,6 @@ } /** - * Returns form submission by given event of submission log - * - * @param kDBItem $object - * @return kDBItem - */ - function &_getFormSubmission(&$object) - { - $submission_id = $object->GetDBField('FormSubmissionId'); - - $form_submission = $this->Application->recallObject('formsubs.-item', null, Array ('skip_autoload' => true)); - /* @var $form_submission kDBItem */ - - if ($form_submission->isLoaded() && ($form_submission->GetID() == $submission_id)) { - // already loaded AND has needed id - return $form_submission; - } - - $form_submission->Load($submission_id); - - return $form_submission; - } - - /** * Sets last updated field for form submission * * @param kEvent $event @@ -552,8 +528,11 @@ $object = $event->getObject(); /* @var $object kDBItem */ - $form_submission =& $this->_getFormSubmission($object); + $form_submission_helper = $this->Application->recallObject('FormSubmissionHelper'); + /* @var $form_submission_helper FormSubmissionHelper */ + $form_submission = $form_submission_helper->getSubmissionFromLog($object); + // 1. set last updated $last_updated = max ($object->GetDBField('SentOn'), $object->GetDBField('RepliedOn')); @@ -564,9 +543,6 @@ } // 2. update submission status - $form_submission_helper = $this->Application->recallObject('FormSubmissionHelper'); - /* @var $form_submission_helper FormSubmissionHelper */ - $form =& $form_submission_helper->getForm($form_submission); $client_responce = $form->GetDBField('ReplyFromEmail') == $object->GetDBField('ToEmail'); $replied = $object->GetDBField('ReplyStatus') == SUBMISSION_LOG_REPLIED; \ No newline at end of file Index: core/units/forms/submission_log/submission_log_tp.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- core/units/forms/submission_log/submission_log_tp.php (revision 15682) +++ core/units/forms/submission_log/submission_log_tp.php (revision ) @@ -43,9 +43,13 @@ $object = $this->getObject($params); /* @var $object kDBItem */ - $reply_email = $this->Application->ConfigValue('SubmissionReplyFromEmail'); + $form_submission_helper = $this->Application->recallObject('FormSubmissionHelper'); + /* @var $form_submission_helper FormSubmissionHelper */ - return $object->GetDBField('ToEmail') == $reply_email; + $form_submission = $form_submission_helper->getSubmissionFromLog($object); + $form =& $form_submission_helper->getForm($form_submission); + + return $object->GetDBField('ToEmail') == $form->GetDBField('ReplyFromEmail'); } /** \ No newline at end of file Index: core/units/helpers/form_submission_helper.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- core/units/helpers/form_submission_helper.php (revision 15682) +++ core/units/helpers/form_submission_helper.php (revision ) @@ -121,4 +121,27 @@ return $form; } + + /** + * Returns form submission based on given submission log + * + * @param kDBItem $submission_log + * @return kDBItem + * @access public + */ + public function getSubmissionFromLog($submission_log) + { + $submission_id = $submission_log->GetDBField('FormSubmissionId'); + + $form_submission = $this->Application->recallObject('formsubs.-item', null, Array ('skip_autoload' => true)); + /* @var $form_submission kDBItem */ + + if ( $form_submission->isLoaded() && ($form_submission->GetID() == $submission_id) ) { + return $form_submission; + } + + $form_submission->Load($submission_id); + + return $form_submission; + } } \ No newline at end of file