48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
<?php
 | 
						|
 | 
						|
namespace App\Efz;
 | 
						|
 | 
						|
use App\Member\Member;
 | 
						|
use App\Pdf\Sender;
 | 
						|
use Zoomyboy\Tex\Document;
 | 
						|
use Zoomyboy\Tex\Engine;
 | 
						|
use Zoomyboy\Tex\Template;
 | 
						|
 | 
						|
class EfzDocument extends Document
 | 
						|
{
 | 
						|
    public string $name;
 | 
						|
    public string $slug;
 | 
						|
    public string $secondLine;
 | 
						|
    public string $now;
 | 
						|
    public Sender $sender;
 | 
						|
 | 
						|
    public function __construct(public Member $member)
 | 
						|
    {
 | 
						|
        $this->name = $member->fullname;
 | 
						|
        $this->slug = $member->slug;
 | 
						|
        $this->secondLine = "geb. am {$member->birthday->format('d.m.Y')}, wohnhaft in {$member->location}";
 | 
						|
        $this->now = now()->format('d.m.Y');
 | 
						|
        $this->sender = $member->toSender();
 | 
						|
    }
 | 
						|
 | 
						|
    public function basename(): string
 | 
						|
    {
 | 
						|
        return "efz-fuer-{$this->slug}";
 | 
						|
    }
 | 
						|
 | 
						|
    public function getEngine(): Engine
 | 
						|
    {
 | 
						|
        return Engine::PDFLATEX;
 | 
						|
    }
 | 
						|
 | 
						|
    public function template(): Template
 | 
						|
    {
 | 
						|
        return Template::make('tex.templates.efz');
 | 
						|
    }
 | 
						|
 | 
						|
    public function view(): string
 | 
						|
    {
 | 
						|
        return 'tex.efz';
 | 
						|
    }
 | 
						|
}
 |