clrghouz/app/Classes/File/Mail.php

48 lines
766 B
PHP

<?php
namespace App\Classes\File;
use Carbon\Carbon;
use App\Classes\FTN\Packet;
class Mail extends Item
{
private Packet $file;
/**
* @throws \Exception
*/
public function __construct(Packet $mail,int $action)
{
switch ($action) {
case self::I_SEND:
$this->file = $mail;
break;
default:
throw new \Exception('Unknown action: '.$action);
}
$this->action = $action;
}
public function __get($key) {
switch ($key) {
case 'file': return $this->file;
default:
return parent::__get($key);
}
}
public function read(int $start,int $length): string
{
return substr((string)$this->file,$start,$length);
}
public function youngest(): Carbon
{
return $this->file->messages->pluck('date')->sort()->last();
}
}