<?php namespace App\Console\Commands; use Illuminate\Console\Command; use App\Classes\FTNPacket; class FtnPkt extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'ftn:pkt {file : Fidonet Packet File PKT} {--dump : Dump packet} {--detail : Dump Detail}'; /** * The console command description. * * @var string */ protected $description = 'Import Packet into Database'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { $pkt = new FTNPacket($this->argument('file')); $this->info(sprintf('Packet: %s has %s messages. Addr: %s->%s (Date: %s)', $pkt->filename, $pkt->messages->count(), $pkt->pktsrc, $pkt->pktdst, $pkt->date )); foreach ($pkt->messages as $o) { $this->warn(sprintf('-- From: %s(%s)->%s(%s), Type: %s, Size: %d', $o->from, $o->fqfa, $o->to, $o->fqda, $o->type, strlen($o->message) )); if ($o->unknown->count()) $this->error(sprintf('?? %s Unknown headers',$o->unknown->count())); } if ($this->option('detail')) dd($o); if ($this->option('dump')) echo $pkt->dump(); } }