protected function execute(InputInterface $input, OutputInterface $output) { parent::execute($input, $output); $um = $this->getContainer()->get('fos_user.user_manager'); $locale = $this->getContainer()->getParameter('locale'); $tokenGenrator = $this->getContainer()->get('fos_user.util.token_generator'); $ui = new UserImporter($this->connection, $this->em, $this->logger, $output, $um, $tokenGenrator, $locale); $ii = new IssueImporter($this->connection, $this->em, $this->logger, $output); $ai = new ArticleImporter($this->connection, $this->em, $this->logger, $output, $ui); $oldIssueId = $input->getArgument('id'); $journalId = $input->getArgument('journal'); if (is_numeric($journalId)) { $journal = $this->em->find('OjsJournalBundle:Journal', $journalId); } else { $journal = $this->em->getRepository(Journal::class)->findOneBy(['slug' => $journalId]); } if (!$journal) { $output->writeln('<error>Journal does not exist.</error>'); return; } $sectionRepo = $this->em->getRepository(Section::class); $currentSectionIds = array_column($sectionRepo->getIdsByJournal($journal), 'id'); $ii->importIssues([['issue_id' => $oldIssueId]], $journal->getId(), $currentSectionIds); $mapRepo = $this->em->getRepository(ImportMap::class); if (!$input->getOption('without-articles')) { $sql = "SELECT article_id FROM published_articles WHERE issue_id = ?"; $articleIds = $this->connection->executeQuery($sql, [$oldIssueId])->fetchAll(); $oldSectionIds = $mapRepo->getSectionIds($journal); if (empty($oldSectionIds) && !empty($currentSectionIds)) { $oldSectionIds = $currentSectionIds[0]; } $ai->importArticles($articleIds, $journal->getId(), $oldSectionIds, $mapRepo->getIssueIds($journal)); } }
protected function execute(InputInterface $input, OutputInterface $output) { parent::execute($input, $output); $importer = new ArticleStatisticImporter($this->connection, $this->em, $this->logger, $output); $stopwatch = new Stopwatch(); $stopwatch->start('stats_import'); $importer->importArticleStatistics(); $event = $stopwatch->stop('stats_import'); $output->writeln('Duration: ' . StringHelper::formatMilliseconds($event->getDuration())); }
protected function execute(InputInterface $input, OutputInterface $output) { parent::execute($input, $output); $id = $input->getArgument('id'); $um = $this->getContainer()->get('fos_user.user_manager'); $tokenGenrator = $this->getContainer()->get('fos_user.util.token_generator'); $locale = $this->getContainer()->getParameter('locale'); $importer = new UserImporter($this->connection, $this->em, $this->logger, $output, $um, $tokenGenrator, $locale); $importer->importUser($id); }
protected function execute(InputInterface $input, OutputInterface $output) { parent::execute($input, $output); $locale = $this->getContainer()->getParameter('locale'); $um = $this->getContainer()->get('fos_user.user_manager'); $tokenGenrator = $this->getContainer()->get('fos_user.util.token_generator'); $this->ui = new UserImporter($this->connection, $this->em, $this->logger, $output, $um, $tokenGenrator, $locale); $this->syncIssues($output); $this->syncArticles($output); }
protected function execute(InputInterface $input, OutputInterface $output) { parent::execute($input, $output); $userManager = $this->getContainer()->get('fos_user.user_manager'); $locale = $this->getContainer()->getParameter('locale'); $tokenGenrator = $this->getContainer()->get('fos_user.util.token_generator'); $userImporter = new UserImporter($this->connection, $this->em, $this->logger, $output, $userManager, $tokenGenrator, $locale); $stopwatch = new Stopwatch(); $stopwatch->start('journals_import'); $givenJournalsImporter = new GivenJournalsImporter($this->connection, $this->em, $this->logger, $output, $userImporter); $givenJournalsImporter->importJournals($input->getArgument('ids')); $event = $stopwatch->stop('journals_import'); $output->writeln('Duration: ' . StringHelper::formatMilliseconds($event->getDuration())); }
protected function execute(InputInterface $input, OutputInterface $output) { parent::execute($input, $output); $um = $this->getContainer()->get('fos_user.user_manager'); $locale = $this->getContainer()->getParameter('locale'); $tokenGenrator = $this->getContainer()->get('fos_user.util.token_generator'); $ui = new UserImporter($this->connection, $this->em, $this->logger, $output, $um, $tokenGenrator, $locale); $ai = new ArticleImporter($this->connection, $this->em, $this->logger, $output, $ui); $id = $input->getArgument('id'); $journalId = $input->getArgument('journal'); $issue = $input->getArgument('issue') != 'null' ? $input->getArgument('issue') : null; $section = $input->getArgument('section') != 'null' ? $input->getArgument('section') : null; $journal = is_numeric($journalId) ? $this->em->find('OjsJournalBundle:Journal', $journalId) : $this->em->getRepository(Journal::class)->findOneBy(['slug' => $journalId]); if (!$journal) { $output->writeln('<error>Journal does not exist.</error>'); return; } $ai->importArticle($id, $journal->getId(), $issue, $section); $this->em->flush(); }
protected function execute(InputInterface $input, OutputInterface $output) { parent::execute($input, $output); $importer = new JournalContactImporter($this->connection, $this->em, $this->logger, $output); $journalsSql = 'SELECT journal_id, path FROM journals'; $journalsStatement = $this->connection->executeQuery($journalsSql); $journals = $journalsStatement->fetchAll(); $stopwatch = new Stopwatch(); $stopwatch->start('stats_import'); foreach ($journals as $journal) { $existingJournal = $this->em->getRepository('OjsJournalBundle:Journal')->findOneBy(['slug' => $journal['path']]); if ($existingJournal !== null && $existingJournal->getJournalContacts()->isEmpty()) { $importer->importContacts($existingJournal, $journal['journal_id']); $this->em->persist($existingJournal); $this->em->flush(); } } $event = $stopwatch->stop('stats_import'); $output->writeln('Duration: ' . StringHelper::formatMilliseconds($event->getDuration())); }