/** * Parse out the issue cover and store it in an issue. * @param DOMElement $node * @param Issue $issue */ function parseIssueCover($node, $issue) { for ($n = $node->firstChild; $n !== null; $n = $n->nextSibling) { if (is_a($n, 'DOMElement')) { switch ($n->tagName) { case 'cover_image': $issue->setCoverImage($n->textContent); break; case 'cover_image_alt_text': $issue->setCoverImageAltText($n->textContent); break; case 'embed': import('classes.file.PublicFileManager'); $publicFileManager = new PublicFileManager(); $filePath = $publicFileManager->getContextFilesPath(ASSOC_TYPE_JOURNAL, $issue->getJournalId()) . '/' . $issue->getCoverImage(); file_put_contents($filePath, base64_decode($n->textContent)); break; } } } }