function handleImport(&$context, &$doc, &$errors, &$issues, &$articles, $isCommandLine) { $errors = array(); $issues = array(); $articles = array(); $user =& $context['user']; $journal =& $context['journal']; $rootNodeName = $this->getRootNodeName($doc); $this->import('NativeImportDom'); switch ($rootNodeName) { case 'issues': return NativeImportDom::importIssues($journal, $doc->children, $issues, $errors, $user, $isCommandLine); break; case 'issue': $dependentItems = array(); $result = NativeImportDom::importIssue($journal, $doc, $issue, $errors, $user, $isCommandLine, $dependentItems); if ($result) { $issues = array($issue); } return $result; break; case 'articles': $section =& $context['section']; $issue =& $context['issue']; return NativeImportDom::importArticles($journal, $doc->children, $issue, $section, $articles, $errors, $user, $isCommandLine); break; case 'article': $section =& $context['section']; $issue =& $context['issue']; $result = NativeImportDom::importArticle($journal, $doc, $issue, $section, $article, $errors, $user, $isCommandLine); if ($result) { $articles = array($article); } return $result; break; default: $errors[] = array('plugins.importexport.native.import.error.unsupportedRoot', array('rootName' => $rootNodeName)); return false; break; } }