getObject($params); $user_reply = $this->IsUserReply($params); return $user_reply && ($object->GetDBField('ReplyStatus') != SUBMISSION_LOG_REPLIED); } /** * Checks, that current log record is mail from client to admin * * @param Array $params * @return bool */ function IsUserReply($params) { /** @var kDBItem $object */ $object = $this->getObject($params); /** @var FormSubmissionHelper $form_submission_helper */ $form_submission_helper = $this->Application->recallObject('FormSubmissionHelper'); $form_submission = $form_submission_helper->getSubmissionFromLog($object); $form =& $form_submission_helper->getForm($form_submission); return $object->GetDBField('ToEmail') == $form->GetDBField('ReplyFromEmail'); } /** * Checks if there is draft for given article * * @param Array $params * @return bool */ function HasDraft($params) { if (!$this->IsNewItem($params)) { // use drafts only for unsent (new) messages return false; } /** @var kDBItem $object */ $object = $this->getObject($params); /** @var kDBItem $draft */ $draft = $this->Application->recallObject('draft', null, Array('skip_autoload' => true)); $load_keys = Array ( 'FormSubmissionId' => $object->GetDBField('FormSubmissionId'), 'CreatedById' => $this->Application->RecallVar('user_id'), ); // get existing draft for given submission and user $draft->Load($load_keys); return $draft->isLoaded(); } /** * Lists all files, uploadeded to given field * * @param Array $params * @return string */ function IterateFiles($params) { /** @var kDBItem $object */ $object = $this->getObject($params); $field = $this->SelectParam($params, 'name,field'); $value = $object->GetDBField($field); if (!$value) { return ''; } $ret = ''; $files = explode('|', $value); $block_params = $this->prepareTagParams($params); $block_params['name'] = $params['render_as']; foreach ($files as $file) { $object->SetDBField($field, $file); $ret .= $this->Application->ParseBlock($block_params); } $object->SetDBField($field, $value); return $ret; } }