' . PHP_EOL, $argv[0]); exit(1); } try { $pathToICSFile = trim($argv[1]); $pathToDrupalConfig = trim($argv[2]); $icsReader = new ICSFileReader($pathToICSFile); $drupalReader = new DrupalConfigFileReader($pathToDrupalConfig); echo sprintf('Reading iCal data from %s' . PHP_EOL, $icsReader->getPath()); echo sprintf('Using Drupal connection details from %s' . PHP_EOL, $drupalReader->getPath()); echo '---' . PHP_EOL; $events = $icsReader->getEvents(); echo sprintf('%d event%s found' . PHP_EOL, count($events), count($events) == 1 ? '' : 's'); echo '---' . PHP_EOL; /** @var Event $event */ $index = 0; foreach ($events as $event) { echo sprintf('%d: %s | %s' . PHP_EOL, $index, $event->getUid(), $event->getStartDate()->format('H:i:s d/M/Y')); echo $event->getTitle() . PHP_EOL; if (strlen($event->getDescription())) { echo PHP_EOL . $event->getDescription() . PHP_EOL; } echo '---' . PHP_EOL; $index++; } echo PHP_EOL . '*** Imported ICS file ***' . PHP_EOL; if (count($events) == 0) { exit(0); } echo '*** Ready to upload to Drupal ***' . PHP_EOL . PHP_EOL; $character = readline('Do you want to continue? '); if (strtolower($character) !== 'y') { exit(0); } echo PHP_EOL; $target = new DrupalDatabaseEventWriter($drupalReader); $target->open(); $numberCompleted = 0; /** @var Event $event */ foreach ($events as $event) { echo sprintf('Uploading event %s ... ', $event->getUid()); try { $target->upload($event); echo 'OK' . PHP_EOL; } catch (\Exception $e) { echo 'failed' . PHP_EOL; throw $e; } $numberCompleted++; } echo sprintf('%d event%s added successfully, disconnecting...' . PHP_EOL, $numberCompleted, $numberCompleted == 1 ? '' : 's'); $target->close(); echo 'Done' . PHP_EOL; } catch (\Exception $e) { echo sprintf('Caught exception: %s' . PHP_EOL, $e->getMessage()); echo $e->getTraceAsString(); }