16 require(dirname(dirname(dirname(dirname(__FILE__)))) .
'/tools/bootstrap.inc.php');
25 parent::__construct(
$argv);
27 if (!
sizeof($this->argv)) {
39 echo
"Parse and save submission(s) citations.\n"
41 .
"{$this->scriptName} all\n"
42 .
"{$this->scriptName} context context_id [...]\n"
43 .
"{$this->scriptName} submission submission_id [...]\n";
54 switch(array_shift($this->parameters)) {
56 $contexts = $contextDao->getAll();
57 while ($context = $contexts->next()) {
58 $submissions = $submissionDao->getByContextId($context->getId());
59 while ($submission = $submissions->next()) {
60 $this->_parseSubmission($submission);
65 foreach($this->parameters as $contextId) {
66 $context = $contextDao->getById($contextId);
67 if(!isset($context)) {
68 printf(
"Error: Skipping $contextId. Unknown context.\n");
71 $submissions = $submissionDao->getByContextId($contextId);
72 while ($submission = $submissions->next()) {
73 $this->_parseSubmission($submission);
78 foreach($this->parameters as $submissionId) {
79 $submission = $submissionDao->getById($submissionId);
80 if(!isset($submission)) {
81 printf(
"Error: Skipping $submissionId. Unknown submission.\n");
84 $this->_parseSubmission($submission);
97 private function _parseSubmission($submission) {
98 foreach ((array) $submission->getData(
'publications') as $publication) {
99 if (!empty($publication->getData(
'citationsRaw'))) {
100 DAORegistry::getDAO(
'CitationDAO')->importCitations($publication->getId(), $publication->getData(
'citationsRaw'));