Modul 8 oppgave 5

master
Eirik Th S 2021-11-24 16:26:12 +01:00
parent 0d09e76c73
commit 23f98c2fcf
2 changed files with 96 additions and 41 deletions

View File

@ -0,0 +1,60 @@
<?php
include '../common.php';
// Installert FPDF og FPDI gjennom Composer.
use setasign\Fpdi\Fpdi;
require __DIR__ . '/../vendor/autoload.php';
// Hvis ingen navn er gitt, send til liste over medlemmer
if(!isset($_GET['navn'])){
header("Location: index8_5.php");
}
// Definerer variablene som skal inn i pdf-en
$navn = $_GET['navn'];
$sted = "Øyslebø";
// Logger for oppgave 2
include 'logger.inc.php';
Logger::log("Lager pdf for ".$navn);
// Åpne et blankt PDF-dokument
$pdf = new Fpdi();
// Legg til en side på pdf-en
$pdf->AddPage();
// Fyll siden med innholdet fra malen
$pdf->setSourceFile('Innlevering 8_velkomstbrev.pdf');
// ... da side 1 fra malen
$tplIdx = $pdf->importPage(1);
// Faktisk sett malen inn i pdf-en
$pdf->useTemplate($tplIdx);
// Skriv tekst inn i pdf-en
$pdf->SetFont('Arial', '', 11);
$pdf->SetTextColor(48, 48, 48);
// Sett inn navn på mottaker
$pdf->SetXY(35, 101.8);
$pdf->Write(0, utf8_decode($navn));
// Sett inn by
$pdf->SetXY(25, 270);
$pdf->Write(0, utf8_decode($sted));
// Sett inn dato
$pdf->SetXY(25, 275);
$pdf->Write(0, (new DateTime())->format('d.m.y'));
// Sett inn bilde av lederen (her en tilfeldig person)
// For lokalt bilde kan det bare settes inn med lokal referanse (da kan også bredde og type tas vekk)
$pdf->Image('https://www.thispersondoesnotexist.com/image',125,225,60,0,'JPEG');
//$pdf->Image('medlemmer/3.jpg',125,225,60);
// Send pdf til klienten
$pdf->Output('','velkommen.pdf');

View File

@ -1,41 +1,12 @@
<?php
use setasign\Fpdi\Fpdi;
include '../common.php';
require __DIR__ . '/../vendor/autoload.php';
// Bruker samme tilkoblingsinformasjon som er brukt i Modul 6.
include '../modul6/forberedelser.php';
ini_set('error_reporting', 1);
ini_set('display_errors',1);
include 'logger.inc.php';
Logger::log("Lastet modul 8 oppgave 5");
// initiate FPDI
$pdf = new Fpdi();
// add a page
$pdf->AddPage();
// set the source file
$pdf->setSourceFile('Innlevering 8_velkomstbrev.pdf');
// import page 1
$tplIdx = $pdf->importPage(1);
$pdf->useTemplate($tplIdx);
// now write some text above the imported page
$pdf->SetFont('Arial', '', 11);
$pdf->SetTextColor(48, 48, 48);
$pdf->SetXY(35, 101.8);
$pdf->Write(0, utf8_decode('Jens Jenssen'));
$pdf->SetXY(25, 270);
$pdf->Write(0, utf8_decode('Oslo'));
$pdf->SetXY(25, 275);
$pdf->Write(0, (new DateTime())->format('d.m.y'));
$pdf->Image('https://www.thispersondoesnotexist.com/image',125,225,60,0,'JPEG');
$pdf->Output('I', 'generated.pdf');
$medlemsBildeMappe = "medlemmer/";
?><!DOCTYPE html>
<html lang="no">
@ -48,17 +19,41 @@ $pdf->Output('I', 'generated.pdf');
<div class="container">
<h1><?=title();?></h1>
<h4><?=getNavigation();?></h4>
<h2>Lese informasjon om filer</h2>
<h2>Medlemsliste</h2>
</div>
<div style="text-align: center; margin-bottom: 50px;">
<?php
// Scan nåværende mappe med scandir();
$katalog = array_diff( scandir("./"), array('..','.'));
// Henter medlemmer fra modul 6. (Og spør om du vil lage dem i databasen din hvis tabellen ikke finnes)
$medlemmer = hentMedlemmer($_GET['size'] ?? 20, $_GET['page'] ?? 1);
foreach ($katalog as $fil){
echo "<p>$fil</p>";
}
// Lag tabell for medlemmer
if(!empty($medlemmer)){
?>
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Fornavn</th>
<th>Etternavn</th>
</tr>
</thead>
<tbody>
<?php
foreach ($medlemmer as $medlemID => $medlem){
echo "<tr>\n";
echo " <td>".($medlem->dbid)."</td>\n";
echo " <td>".($medlem->fornavn ?? '')."</td>\n";
echo " <td>".($medlem->etternavn ?? '')."</td>\n";
echo " <td><a href='index8_5-velkommen.php?navn=".urlencode($medlem->fornavn." ".$medlem->etternavn)."' download><button>Last ned velkomstbrev..</button></a></td>\n";
echo "</tr>\n";
}
?>
</tbody>
</table>
<?php } ?>
?>
<p>Merk at hvis linkene ikke fungerer kan det hende referansen til Composer fikses !</p>
</div>
</body>