/** * Import pending email as discussion * * @param IncomingMail $incoming_mail * @param Project $project * @param User $user * @return Discussion */ function importPendingEmailAsDiscussion(&$incoming_mail, &$project, &$user) { $discussion = new Discussion(); $discussion->setProjectId($project->getId()); $discussion->setCreatedBy($user); $discussion->setCreatedOn($incoming_mail->getCreatedOn()); $discussion->setVisibility(VISIBILITY_NORMAL); $discussion->setState(STATE_VISIBLE); $discussion->setSource(OBJECT_SOURCE_EMAIL); $discussion->setName($incoming_mail->getSubject()); $discussion->setBody($incoming_mail->getBody()); IncomingMailImporter::attachFilesToProjectObject($incoming_mail, $discussion); $save = $discussion->save(); if ($save && !is_error($save)) { $subscibed_users = array($project->getLeaderId()); if (instance_of($user, 'User')) { $subscibed_users[] = $user->getId(); } // if Subscriptions::subscribeUsers($subscibed_users, $discussion); $discussion->ready(); return $discussion; } // if return $save; }