function populateObject($submission, $node)
{
$submissionDao = Application::getSubmissionDAO();
if ($dateSubmitted = $node->getAttribute('date_submitted')) {
$submission->setDateSubmitted(strtotime($dateSubmitted));
}
$submissionDao->updateObject($submission);
// If the date_published was set, add a published submission
if ($datePublished = $node->getAttribute('date_published')) {
$publishedSubmissionDao = $this->getPublishedSubmissionDAO();
$publishedSubmission = $publishedSubmissionDao->newDataObject();
$publishedSubmission->setId($submission->getId());
$publishedSubmission->setDatePublished(strtotime($datePublished));
$publishedSubmission = $this->populatePublishedSubmission($publishedSubmission, $node);
$publishedSubmissionDao->insertObject($publishedSubmission);
// Reload from DB now that some fields may have changed
$submission = $submissionDao->getById($submission->getId());
$submission->setStatus(STATUS_PUBLISHED);
$submissionDao->updateObject($submission);
}
return $submission;
}