Ejemplo n.º 1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $invalidateArchives = $input->getOption('invalidate-archives');
     $timer = new Timer();
     $duplicateActions = $this->duplicateActionRemover->getDuplicateIdActions();
     if (empty($duplicateActions)) {
         $output->writeln("Found no duplicate actions.");
         return;
     }
     $output->writeln("<info>Found " . count($duplicateActions) . " actions with duplicates.</info>");
     list($numberRemoved, $allArchivesAffected) = $this->fixDuplicateActionReferences($duplicateActions, $output);
     $this->deleteDuplicatesFromLogAction($output, $duplicateActions);
     if ($invalidateArchives) {
         $this->invalidateArchivesUsingActionDuplicates($allArchivesAffected, $output);
     } else {
         $this->printAffectedArchives($allArchivesAffected, $output);
     }
     $logActionTable = Common::prefixTable('log_action');
     $this->writeSuccessMessage($output, array("Found and deleted {$numberRemoved} duplicate action entries in the {$logActionTable} table.", "References in log_link_visit_action, log_conversion and log_conversion_item were corrected.", $timer->__toString()));
 }
 public function test_getDuplicateIdActions_ReturnsDuplicateIdActions_AndTreatsLowestIdActionAsOriginal()
 {
     $expectedResult = array(array('name' => 'action1', 'idaction' => 1, 'duplicateIdActions' => array(2, 3)), array('name' => 'ACTION2', 'idaction' => 5, 'duplicateIdActions' => array(7, 11)), array('name' => 'action2', 'idaction' => 4, 'duplicateIdActions' => array(9)), array('name' => 'action4', 'idaction' => 6, 'duplicateIdActions' => array(10, 12)));
     $actualResult = $this->duplicateActionRemover->getDuplicateIdActions();
     $this->assertEquals($expectedResult, $actualResult);
 }