NativeXmlSubmissionFilter::populateObject PHP Méthode

populateObject() public méthode

Populate the submission object from the node
public populateObject ( $submission, $node ) : Submission
$submission Submission
$node DOMElement
Résultat Submission
    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;
    }

Usage Example

 /**
  * Populate the submission object from the node
  * @param $submission Submission
  * @param $node DOMElement
  * @return Submission
  */
 function populateObject($submission, $node)
 {
     $sectionAbbrev = $node->getAttribute('section_ref');
     if ($sectionAbbrev !== '') {
         $sectionDao = DAORegistry::getDAO('SectionDAO');
         $section = $sectionDao->getByAbbrev($sectionAbbrev, $submission->getContextId());
         if (!$section) {
             fatalError('Could not find a section with the path "' . $sectionAbbrev . '"!');
         }
         $submission->setSectionId($section->getId());
     }
     return parent::populateObject($submission, $node);
 }
All Usage Examples Of NativeXmlSubmissionFilter::populateObject