SubmissionNativeXmlFilter::addMetadata PHP Method

addMetadata() public method

Add the submission metadata for a submission to its DOM element.
public addMetadata ( $doc, $submissionNode, $submission )
$doc DOMDocument
$submissionNode DOMElement
$submission Submission
    function addMetadata($doc, $submissionNode, $submission)
    {
        $this->createLocalizedNodes($doc, $submissionNode, 'title', $submission->getTitle(null, false));
        $this->createLocalizedNodes($doc, $submissionNode, 'prefix', $submission->getPrefix(null));
        $this->createLocalizedNodes($doc, $submissionNode, 'subtitle', $submission->getSubtitle(null));
        $this->createLocalizedNodes($doc, $submissionNode, 'abstract', $submission->getAbstract(null));
        $this->createLocalizedNodes($doc, $submissionNode, 'coverage', $submission->getCoverage(null));
        $this->createLocalizedNodes($doc, $submissionNode, 'type', $submission->getType(null));
        $this->createLocalizedNodes($doc, $submissionNode, 'source', $submission->getSource(null));
        $this->createLocalizedNodes($doc, $submissionNode, 'rights', $submission->getRights(null));
        // add controlled vocabularies
        // get the supported locale keys
        $supportedLocales = array_keys(AppLocale::getSupportedFormLocales());
        $controlledVocabulariesMapping = $this->_getControlledVocabulariesMappings();
        foreach ($controlledVocabulariesMapping as $controlledVocabulariesNodeName => $mappings) {
            $dao = DAORegistry::getDAO($mappings[0]);
            $getFunction = $mappings[1];
            $controlledVocabularyNodeName = $mappings[2];
            $controlledVocabulary = $dao->{$getFunction}($submission->getId(), $supportedLocales);
            $this->addControlledVocabulary($doc, $submissionNode, $controlledVocabulariesNodeName, $controlledVocabularyNodeName, $controlledVocabulary);
        }
        $this->createOptionalNode($doc, $submissionNode, 'comments_to_editor', $submission->getCommentsToEditor());
    }