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';
 | |
|     }
 | |
| }
 |