/**
  * Execute command
  * @param  InputInterface  $input  Input
  * @param  OutputInterface $output Output
  * @return void
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $session = new \CaptainTrain\Session($input->getArgument('email'), $input->getArgument('password'));
     foreach ($session->getTrips() as $trip) {
         $output->writeln($trip->departureStation->name . ' - ' . $trip->arrivalStation->name . ':' . PHP_EOL . '    ' . $trip->departureDate->format('r') . ' - ' . $trip->arrivalDate->format('r'));
     }
 }
Ejemplo n.º 2
0
<?php

/**
 * Export iCalendar feed with Captain Train trips
 *
 * PHP version 5.6
 *
 * @category CaptainTrainIcalendar
 * @package  CaptainTrainIcalendar
 * @author   Pierre Rudloff <*****@*****.**>
 * @license  GPL https://www.gnu.org/licenses/gpl.html
 * @link     https://github.com/Rudloff/captaintrain-icalendar
 */
require_once 'vendor/autoload.php';
use CaptainTrainIcalendar\Config;
use Eluceo\iCal\Component\Calendar;
use Eluceo\iCal\Component\Event;
$config = Config::getInstance();
if (isset($_GET['token']) && $_GET['token'] == $config->token) {
    $session = new \CaptainTrain\Session($config->email, $config->password);
    $vCalendar = new Calendar('captaintrain-icalendar');
    foreach ($session->getTrips() as $trip) {
        $vEvent = new Event();
        $vEvent->setDtStart($trip->departureDate)->setDtEnd($trip->arrivalDate)->setSummary($trip->departureStation->name . ' - ' . $trip->arrivalStation->name)->setUseTimezone(true)->setUrl('https://www.captaintrain.com/tickets');
        $vCalendar->addComponent($vEvent);
    }
    header('Content-Type: text/calendar');
    echo $vCalendar->render();
} else {
    http_response_code(403);
}